aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Makefile.in2
-rw-r--r--NEWS7
-rw-r--r--driver.c28
-rw-r--r--fetchmail.man6
4 files changed, 23 insertions, 20 deletions
diff --git a/Makefile.in b/Makefile.in
index df406e36..28f53838 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -3,7 +3,7 @@
# If you're running QNX, we can't assume a working autoconf.
# So just uncomment all the lines marked QNX.
-VERS=4.4.3
+VERS=4.4.4
# Ultrix 2.2 make doesn't expand the value of VPATH.
srcdir = @srcdir@
diff --git a/NEWS b/NEWS
index e92de415..c05edd46 100644
--- a/NEWS
+++ b/NEWS
@@ -14,11 +14,12 @@
Release Notes:
------------------------------------------------------------------------------
-fetchmail-4.4.4 ():
+fetchmail-4.4.4 (Wed May 6 10:08:15 EDT 1998):
* Francois Wautier's fix for qvirtual.
* Willem Hengeveld's fix for UID initialization.
-* Strip out qvirtual prefix *before* doing name mapping (Mike McCallister
- <mccallis@netcom.com>)
+* Strip out qvirtual prefix *before* doing name mapping or localdomain check.
+
+There are 270 people on fetchmail-friends and 199 on fetchmail-announce.
fetchmail-4.4.3 (Sun Apr 19 18:22:00 EDT 1998):
* Back out one of the changes to the null Return-Path handling, as it caused
diff --git a/driver.c b/driver.c
index 5fec2a3c..84a968aa 100644
--- a/driver.c
+++ b/driver.c
@@ -261,18 +261,6 @@ struct idlist **xmit_names; /* list of recipient names parsed out */
int sl;
int off = 0;
- /*
- * If the name of the user begins with a
- * qmail virtual domain prefix, remove
- * the prefix.
- */
- if (ctl->server.qvirtual)
- {
- sl = strlen(ctl->server.qvirtual);
- if (!strncasecmp(name,ctl->server.qvirtual,sl))
- off = sl;
- }
-
lname = idpair_find(&ctl->localnames, name+off);
if (!lname && ctl->wildcard)
lname = name+off;
@@ -304,6 +292,20 @@ struct idlist **xmit_names; /* list of recipient names parsed out */
{
char *atsign;
+ /*
+ * If the name of the user begins with a qmail virtual
+ * domain prefix, ignore the prefix. Doing this here
+ * means qvirtual will work either with ordinary name
+ * mapping or with a localdomains option.
+ */
+ if (ctl->server.qvirtual)
+ {
+ int sl = strlen(ctl->server.qvirtual);
+
+ if (!strncasecmp(cp, ctl->server.qvirtual, sl))
+ cp += sl;
+ }
+
if ((atsign = strchr(cp, '@'))) {
struct idlist *idp;
@@ -355,7 +357,7 @@ struct idlist **xmit_names; /* list of recipient names parsed out */
static char *parse_received(struct query *ctl, char *bufp)
/* try to extract real address from the Received line */
/* If a valid Received: line is found, we return the full address in
- * a buffer wich can be parsed from nxtaddr(). This is to ansure that
+ * a buffer which can be parsed from nxtaddr(). This is to ansure that
* the local domain part of the address can be passed along in
* find_server_names() if it contains one.
* Note: We should return a dummy header containing the address
diff --git a/fetchmail.man b/fetchmail.man
index 122d85d3..45783e94 100644
--- a/fetchmail.man
+++ b/fetchmail.man
@@ -388,10 +388,10 @@ in the \fI.fetchmailrc\fR file.
.TP
.B -Q, --qvirtual
(Keyword: qvirtual)
-The string assigned to this option will be removed from the user
+The string prefix assigned to this option will be removed from the user
name found in the header specified with the \fIenvelope\fR option
-(\fIbefore\fR doing multidrop name mapping, if applicable).
-This option is useful if you are using
+(\fIbefore\fR doing multidrop name mapping or localdomain checking,
+if either is applicable). This option is useful if you are using
.I fetchmail
to collect the mail for an entire domain and your ISP (or your mail
redirection provider) is using qmail.