diff options
author | Matthias Andree <matthias.andree@gmx.de> | 2005-11-10 01:35:23 +0000 |
---|---|---|
committer | Matthias Andree <matthias.andree@gmx.de> | 2005-11-10 01:35:23 +0000 |
commit | 0456a78a265f6eef6607a42bf5afef22178cd5a0 (patch) | |
tree | a68d31f11546ef7faa4b0e6f8c8001d6eb65ba15 | |
parent | 49fcd4b33bea7a4afc515dfbcac4d49a8e22196a (diff) | |
download | fetchmail-0456a78a265f6eef6607a42bf5afef22178cd5a0.tar.gz fetchmail-0456a78a265f6eef6607a42bf5afef22178cd5a0.tar.bz2 fetchmail-0456a78a265f6eef6607a42bf5afef22178cd5a0.zip |
Unbreak --smtphost default, reported and different patch suggested by
Sunil Shetye. Broken since r4382 v6.2.9-rc7.
svn path=/trunk/; revision=4402
-rw-r--r-- | fetchmail.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/fetchmail.c b/fetchmail.c index 6104d1c8..8ded6474 100644 --- a/fetchmail.c +++ b/fetchmail.c @@ -922,7 +922,7 @@ static void optmerge(struct query *h2, struct query *h1, int force) * - false if servers found on the command line */ static int load_params(int argc, char **argv, int optind) { - int implicitmode, st; + int implicitmode, st, use_kerberos; struct passwd *pw; struct query def_opts, *ctl; struct stat rcstat; @@ -1070,18 +1070,20 @@ static int load_params(int argc, char **argv, int optind) * If we're using Kerberos for authentication, we need * the FQDN in order to generate capability keys. */ + use_kerberos = 0; + /* use_kerberos is saved until later to properly set the invisible + * --smtphost (aka. smtphunt) default */ for (ctl = querylist; ctl; ctl = ctl->next) if (ctl->active && (ctl->server.protocol==P_ETRN || ctl->server.protocol==P_ODMR || ctl->server.authenticate == A_KERBEROS_V4 || ctl->server.authenticate == A_KERBEROS_V5)) { - fetchmailhost = host_fqdn(1); + use_kerberos = 1; break; } - if (!ctl) /* list exhausted */ - fetchmailhost = host_fqdn(0); + fetchmailhost = host_fqdn(use_kerberos); /* this code enables flags to be turned off */ #define DEFAULT(flag, dflt) if (flag == FLAG_TRUE)\ @@ -1156,7 +1158,7 @@ static int load_params(int argc, char **argv, int optind) * Make sure we have a nonempty host list to forward to. */ if (!ctl->smtphunt) - save_str(&ctl->smtphunt, fetchmailhost, FALSE); + save_str(&ctl->smtphunt, use_kerberos ? fetchmailhost : "localhost", FALSE); /* * Make sure we have a nonempty list of domains to fetch from. |