aboutsummaryrefslogtreecommitdiffstats
path: root/driver.c
Commit message (Collapse)AuthorAgeFilesLines
* struct method: introduce con-/destructorsMatthias Andree2021-08-271-0/+11
| | | | | | | These can be used before setting up or after closing down a socket for protocol-specific initialisiation or cleanup, and are required to cleanly fix up the IMAP-loses-protocol-version regression without too many temporary hacks in the code.
* SECURITY: IMAP: PREAUTH->abort if STARTTLS neededMatthias Andree2021-08-261-0/+8
| | | | | | | | | | On --sslproto auto (or other nonempty values), when receiving IMAP PREAUTH state, abort the connection, rather than continuing with cleartext. --ssl is unaffected because it always negotiates TLS. See fetchmail-SA-2021-02.txt for details.
* fetchmail no longer reports System error during SSL_connect(): Success.Matthias Andree2019-08-051-1/+1
| | | | Fixes Debian Bug#928916, reported by Paul Kimoto.
* In-depth robustness.Matthias Andree2019-05-141-2/+3
| | | | Reported by: clang static analyzer (clang-8)
* Do not translate header tags such as "Subject:".Matthias Andree2014-05-201-26/+26
| | | | Reported by Gonzalo Pérez de Olaguer Córdoba, Debian Bug#744907.
* fetchmail workaround for a bug in Microsoft ExchangeSunil Shetye2012-05-101-3/+22
| | | | | | | treat missing header in response to a FETCH command as a transient error (Reported by John Connett) if there are too many transient errors, log it.
* Fix missed disabling of alarm when SSL-wrapped connect failed.Matthias Andree2011-05-261-0/+1
|
* Do not print "skipping message" for old messages even in verbose mode.Sunil Shetye2011-05-111-18/+10
|
* Remove unused code.Matthias Andree2011-04-291-19/+0
|
* Allow linking Hesiod on Fedora 14 when compiled with g++.Matthias Andree2010-12-111-0/+6
|
* Refer user to FAQ item #R15 on authfail with automatic scheme selection.Matthias Andree2010-09-251-0/+3
|
* Apply timeout to getauth() methods.Matthias Andree2010-08-051-0/+2
| | | | | | | This is to fix detecting timeouts during TLS negotiation, which is part of getauth() in STARTTLS-like modes. Reported by Thomas Jarosch.
* Also run Kerberos errors through sdump().Matthias Andree2010-04-291-6/+10
| | | | | | This allows us to get rid of the %*s/%s difference between Heimdal/MIT Kerberos translations, and prevents from server-provided data to be dumped directly on screen.
* Add --sslcertfile option and FETCHMAIL_NO_DEFAULT_X509_PATHS env var,Matthias Andree2010-04-181-1/+2
| | | | and always load the default X.509 trust stores, unless the latter is set.
* Fix lots of warnings, most around string literals...Matthias Andree2010-03-181-4/+7
| | | | | | | ...that were converted to char* when they should have been converted to const char *. Use braces for empty if/else statements.
* Remove unused assignments/initializations found with llvm-clang.Matthias Andree2010-02-281-1/+0
|
* Cleanup: change " \n" to "\n" where appropriate.Matthias Andree2010-02-101-2/+2
|
* Fix error reporting for GSSAPI on Heimdal krb5 (extra * in format string).Matthias Andree2009-08-191-1/+1
| | | | svn path=/branches/BRANCH_6-3/; revision=5422
* Merge and extend Redhat's AI_ADDRCONFIG patch.Matthias Andree2009-06-141-0/+3
| | | | svn path=/branches/BRANCH_6-3/; revision=5357
* Treat permanent delivery errors as temporary (configurable).Matthias Andree2009-05-241-8/+9
| | | | | | | | | | | | | | | | Fetchmail no longer drops permanently undelivered messages by default, to match historic documentation. It does this by adding a new "softbounce" option, see below. Fixes Debian Bug#471283, demotes Debian Bug#494418 to wishlist. There is a new "softbounce" global option that prevents the deletion of messages that have not been forwarded. It defaults to "true" for fetchmail 6.3.X in order to match historic documentation. This may change its default in the next major release. NOTE: untested. svn path=/branches/BRANCH_6-3/; revision=5315
* Revert incompatible pre/post-connect cmd fix part.Matthias Andree2009-05-041-2/+2
| | | | | | ...and postpone for fetchmail 6.4. svn path=/branches/BRANCH_6-3/; revision=5296
* Major progress ticker bugfix/overhaul.Matthias Andree2009-05-041-24/+29
| | | | | | | | | | | | | | Progress tickers had been used inconsistently for a long time, and documentation was outdated, too. Factor out common code to ease maintenance, use the report_flush() function, and add and use a macro (want_progress()) to determine if progress ticker output is desired. This makes for a much more consistent look on screen and in logfiles and should be much easier to fix later on. TODO: test syslog output. svn path=/branches/BRANCH_6-3/; revision=5290
* Fix pre-/post-connect error/signal reporting.Matthias Andree2009-04-091-5/+12
| | | | svn path=/branches/BRANCH_6-3/; revision=5267
* Fix Debian Bug#508667: do not lose PS_MAXFETCH (13) exit status.Matthias Andree2008-12-151-2/+4
| | | | | | Reported by Michelle Konzack. svn path=/branches/BRANCH_6-3/; revision=5255
* FIXME: (driver.c::fetchmessages) mark wholesize and separatefetchbody to be ↵Matthias Andree2008-06-131-0/+3
| | | | | | unified. svn path=/branches/BRANCH_6-3/; revision=5192
* Merge Daniel Richard G.'s --sslcommonname option.Matthias Andree2008-03-071-4/+6
| | | | | | | | Exception from no-features policy on 6.3.X is made to keep people away from doing more dangerous things in order to get rid of CommonName mismatch warnings. svn path=/branches/BRANCH_6-3/; revision=5165
* Fix pluralization in oversized-messages warning.Matthias Andree2007-02-181-2/+4
| | | | svn path=/branches/BRANCH_6-3/; revision=5039
* Drop PS_TRUNCATED (27), which is never returned.Matthias Andree2006-12-161-2/+0
| | | | svn path=/branches/BRANCH_6-3/; revision=4991
* When the server name cannot be canonicalized, log the gai_strerror value.Matthias Andree2006-09-261-2/+3
| | | | svn path=/branches/BRANCH_6-3/; revision=4916
* Add IMAP AUTH=EXTERNAL support. BerliOS Patch #1095.Matthias Andree2006-08-141-1/+1
| | | | | | | Courtesy of Götz 'nimrill' Babin-Ebell. This patch also makes --sslproto arguments case insensitive. svn path=/branches/BRANCH_6-3/; revision=4896
* Wrap getaddrinfo() and block SIGALRM where needed.Matthias Andree2006-08-141-4/+4
| | | | | | Also wrap freeaddrinfo() without added functionality. svn path=/branches/BRANCH_6-3/; revision=4895
* Ignore SIGPIPE, EPIPE must suffice as error.Matthias Andree2006-08-141-22/+5
| | | | | | Calling longjmp() from a signal handler is unsafe. svn path=/branches/BRANCH_6-3/; revision=4893
* switch setjmp/longjmp to sigsetjmp/siglongjmpMatthias Andree2006-08-131-15/+4
| | | | svn path=/branches/BRANCH_6-3/; revision=4892
* Freeaddrinfo() fix for Uli Zappe's bug.Matthias Andree2006-08-071-1/+11
| | | | | | This might fix Debian Bug#294547 and Bug#377135. svn path=/branches/BRANCH_6-3/; revision=4880
* Keep all non-error syslog messages on one line per downloaded message.Matthias Andree2006-08-011-5/+3
| | | | svn path=/branches/BRANCH_6-3/; revision=4874
* * IMAP4 patch by Sunil Shetye:Matthias Andree2006-05-211-3/+3
| | | | | | | - do not depend on server updating RECENT counts at all - also enter IDLE loop when messages are present on the server. svn path=/branches/BRANCH_6-3/; revision=4847
* Consistency: rename preprocessor label.Matthias Andree2006-05-101-1/+1
| | | | svn path=/branches/BRANCH_6-3/; revision=4821
* Document that qmail-pop3d miscalculates the message sizes.Matthias Andree2006-05-081-0/+3
| | | | svn path=/branches/BRANCH_6-3/; revision=4817
* Add folder information to headers in tracepoll mode. Matthias Andree2006-04-011-0/+2
| | | | | | Reported by Terry Brown. svn path=/branches/BRANCH_6-3/; revision=4764
* Work around C libraries that return a NULL in getaddrinfo()'s ai_canonname Matthias Andree2006-03-211-1/+9
| | | | | | | record, to avoid a segfault. Affects, for instance, FreeBSD 4.11. Reported and patched by "Voldemar" via fetchmail-users@. svn path=/branches/BRANCH_6-3/; revision=4750
* Further cleanups to compile with C++ compiler.Matthias Andree2006-03-151-7/+6
| | | | svn path=/branches/BRANCH_6-3/; revision=4744
* Fix lost if ().Matthias Andree2006-03-141-0/+1
| | | | svn path=/branches/BRANCH_6-3/; revision=4738
* Fix more compiler warnings.Matthias Andree2006-03-141-18/+21
| | | | svn path=/branches/BRANCH_6-3/; revision=4736
* merge Mirek's fetchmail-signed.patchMatthias Andree2006-03-141-3/+2
| | | | svn path=/branches/BRANCH_6-3/; revision=4734
* Rename a methods and some variables to steer clear of C++ namespace.Matthias Andree2006-03-131-10/+10
| | | | svn path=/branches/BRANCH_6-3/; revision=4733
* Stop printing blank lines in verbose syslog mode.Matthias Andree2006-03-031-2/+2
| | | | svn path=/branches/BRANCH_6-3/; revision=4715
* Fix a few compiler warnings through casts.Matthias Andree2006-01-111-2/+2
| | | | | | Make MD5Update argument const. svn path=/branches/BRANCH_6-3/; revision=4621
* Drop line from 6.4.0 patch that accidentally hit the branch.Matthias Andree2005-12-131-1/+0
| | | | svn path=/branches/BRANCH_6-3/; revision=4542
* Merge patch by Sunil Sheteye to fix five bugs:Matthias Andree2005-12-131-12/+46
| | | | | | | | | | | | * Close SMTP sockets early, to reduce resource usage, trigger earlier delivery with some MTAs and avoid SIGPIPE (SIG 13) when the SMTP listener gets bored and drops the connection after timeout. * Don't treat hitting a fetch limit (PS_MAXFETCH) as error. * Fix negative "messages left on server" on idle/repoll with fetchlimit. * Properly track logout stage (STAGE_LOGOUT). * Preserve error conditions across postconnect script. svn path=/branches/BRANCH_6-3/; revision=4541
* Plug potential memory and socket leak when polling multiple folders or when ↵Matthias Andree2005-12-081-1/+3
| | | | | | the upstream sends bogus message sizes. Patch by Sunil Shetye. svn path=/branches/BRANCH_6-3/; revision=4527