Oswald Buddenhagen
121ce76e46
make response code parse failure of untagged OK/NO/BYE/BAD non-fatal
...
as such, it does not disrupt the data stream
12 years ago
Oswald Buddenhagen
4d4de6e275
remove redundant use_ssl variables
...
just use the presence of an SSL object as an indicator. if something
goes wrong during the ssl handshake or certificate validation, the
socket must be immediately closed anyway.
13 years ago
Oswald Buddenhagen
17dc64b414
after [TRYCREATE], just resend the same command instead of cloning it
13 years ago
Oswald Buddenhagen
83efbe327d
use return values from correct set in get_cmd_result()
...
DRV_OK == RESP_OK, so this worked by accident
13 years ago
Oswald Buddenhagen
99cc328f17
do away with the dreaded rcaps hack
...
don't pretend that the server has no literal+ for the time of the
first relevant command's synchronous execution. instead, enable the
lower layer to do the processing by telling it for which commands
trashnc ("trash's existence not confirmed") is relevant.
13 years ago
Oswald Buddenhagen
1545ed90a0
purge imap_store_t::currentnc vestiges
...
we always actually open the mailbox before appending to it, so we
obviously know that it exists - that's why the code was already
commented out. changing this assumption would significantly complicate
matters for little gain, so let's just assume it won't happen.
consequently, also don't set param.create when appending to regular
mailboxes.
13 years ago
Oswald Buddenhagen
c66afdc0a8
move setting of ctx->listed outside the drivers
...
it's essentially an external state flag
13 years ago
Oswald Buddenhagen
61d98c5a1d
fix a bunch of warnings
13 years ago
Oswald Buddenhagen
4afd31a457
avoid preprocessor warnings on missing features: #if => #ifdef
14 years ago
Oswald Buddenhagen
cf6a7b4d18
less bizarre code
...
we know that there is only one command in progress, so there
is no need to employ tricks to access the last command.
14 years ago
Oswald Buddenhagen
7e1c16ae02
make cram() sane
...
- don't silently fail in release mode (expression with side effects
inside assert())
- save some redundand strlen()s by not throwing away known lengths
- reorganize the code for legibility
14 years ago
Oswald Buddenhagen
2c729bf9e6
don't leak SSL objects
14 years ago
Oswald Buddenhagen
d637772339
turns out, free(NULL) is just fine ...
14 years ago
Oswald Buddenhagen
e1fa867423
fix UIDNEXT handling
...
UIDNEXT *can* be legally zero, so deal with it.
-REFMAIL: 4CA62BA1.4020104@lemma.co.uk
14 years ago
Oswald Buddenhagen
5ade279839
don't hang after failed start_tls()
...
we'd send a LOGOUT command in plain text while the server was already
expecting an encrypted command, which would typically lead to waiting
for more data and thus an indefinite hang.
so close the socket immediately instead of letting the normal shutdown
path take care of it.
inspired by a patch by Steven Flintham.
-REFMAIL: 4C9AB98E.3000400@lemma.co.uk
14 years ago
Oswald Buddenhagen
70e87eb99e
remove useless message
...
don't complain about missing greeting response - we already complained
about an unexpected EOF anyway.
14 years ago
Oswald Buddenhagen
90a38ea810
assert valid file handles
...
i've seen error logs of the type
SSL_write: Bad file descriptor
and i simply can't nail it, so go for some more drastic measures.
14 years ago
Oswald Buddenhagen
72fd2aafb7
formatting
14 years ago
Oswald Buddenhagen
122e09fe60
beautify error messages
...
don't print the error number - we print the error string anyway, so it
adds no value.
add some whitespace to the messages as well.
14 years ago
Oswald Buddenhagen
db2bbbfef8
fix uninitialized variable read
...
this is basically a security fix for nonsensical configurations:
if the specified CertificateFile did not contain any certificates,
we *might* have accepted an arbitrary server certificate.
15 years ago
Oswald Buddenhagen
da39690aec
fix compile with SSL on Mac OS X
...
patch by Remko Tronçon <remko@el-tramo.be>
BUG: 2126899
15 years ago
Oswald Buddenhagen
e6a356ffc7
add extra verbose mode which dumps the message contents
...
i needed that to debug the line ending issues. maybe it will find other
uses as well ...
15 years ago
Oswald Buddenhagen
ce45692ca5
refactoring. main part is killing struct imap_cmd_cb as such.
...
issue_imap_cmd is split into new_imap_cmd and submit_imap_cmd, so the
command can be parametrized after it was instanciated.
16 years ago
Oswald Buddenhagen
92914b37cc
deal with UIDVALIDITY of 0 properly.
...
-REF: 20080822094543.GA3528@ugly.local
16 years ago
Oswald Buddenhagen
0d8bce1675
give the implicitly created imap account config the name of the store.
17 years ago
Oswald Buddenhagen
262999d092
make ssl certificate handling much more useful:
...
- system-wide ca certs are auto-loaded
- private certs are accepted even if they are self-signed
17 years ago
Oswald Buddenhagen
06521da30d
- accept unset CertificateFile
...
- print the certificate's fingerprint
- make the certificate acceptance prompt much less scary
17 years ago
Oswald Buddenhagen
89519e343c
ignore system flag extensions (\X-...)
17 years ago
Oswald Buddenhagen
2b37288e8d
don't use #ifdef inside htons() arguments - it can be a macro.
...
-REF: <lyy7ezyjah.fsf@gfn.org>
CCMAIL: Scott Gifford <sgifford@suspectclass.com>
17 years ago
Oswald Buddenhagen
625f592fb7
fix crash due to uninited var when parsing IMAPServer. Thanks to
...
CCMAIL: Antoine Reilles <tonio@NetBSD.org>
REF: <20070118182534.GA22288@arcelot.loria.fr>
18 years ago
Oswald Buddenhagen
023d3ee577
fix error paths wrt sync drivers
18 years ago
Oswald Buddenhagen
617d1a6e49
memmove for overlapping mem copies.
19 years ago
Oswald Buddenhagen
4bf58c3e97
don't crash in imap driver when Host is not specified.
19 years ago
Oswald Buddenhagen
dbbab78881
un-document "Host imaps:[...]" syntax and introduce new option UseIMAPS
...
instead.
apply ted's patch to support UseIMAPS in conjunction with Tunnel.
document that SSLv2 is No Good (TM).
19 years ago
Oswald Buddenhagen
67b714ee0e
move assigning default port to the place of use
19 years ago
Oswald Buddenhagen
168e5f3282
make the driver model, sync_chans() and sync_boxes() fully async.
...
async drivers to follow ...
19 years ago
Oswald Buddenhagen
b7389cb36f
do not repeatedly get namespace from server.
19 years ago
Oswald Buddenhagen
340bfcc4a8
handle socket() failure and correctly report gethostbyname() failure.
19 years ago
Oswald Buddenhagen
3e3cf3ac9a
update copyrights
19 years ago
Oswald Buddenhagen
7f9ece8e7e
move whole responsibility for recycling open stores/server connections
...
to the drivers.
19 years ago
Oswald Buddenhagen
47e592b603
keep the result of driver->list() and a flag whether it is valid in the store.
19 years ago
Oswald Buddenhagen
492ca8d332
whitespace and code verbosity
19 years ago
Oswald Buddenhagen
31fc41a32c
merge imap_t into imap_store_t - there is really no point in having them
...
separated.
19 years ago
Oswald Buddenhagen
d7126dca5e
"fprintf( stderr," => "error(". new functions debugn() and infon()
...
for messages with missing newline; warn() and error() act upon this.
19 years ago
Oswald Buddenhagen
bb7bbcf5b1
make config parsing more robust against bogus input and report errors
...
more clearly.
19 years ago
Oswald Buddenhagen
1453e61840
update fsf's postal address. i think it's sort of useless nowadays
...
anyway, but heck ...
19 years ago
Oswald Buddenhagen
850addecd5
wrap message storing into transactions. nice side effect: drivers don't
...
need to deal with line end conversion any move.
19 years ago
Oswald Buddenhagen
a1a5a817bb
merge Quiet, Verbose & Debug into DFlags
19 years ago
Oswald Buddenhagen
a1c402678c
split driver->prepare into ->prepare_opts and ->prepare_paths
19 years ago
Oswald Buddenhagen
4e983506d3
#include limits.h (for INT_MAX)
...
REF: <a8e45e1b0601241753j1e14cc1cm3fc3c65c7acb0c1b@mail.gmail.com>
19 years ago