From 077b355833f623241d5d145810b91da60e4c260c Mon Sep 17 00:00:00 2001 From: Dan Harkless Date: Sat, 4 Mar 2000 00:02:46 +0000 Subject: [PATCH 1/1] Changed the new "plussed_user" option to mts.conf's "masquerade:" to "username_extension" after getting feedback from qmail users, who use '-' as a separator rather than '+'. Removed checking of $USERPLUS variable. Now check $USERNAME_EXTENSION, which needs to include the appropriate separator for your MTA ('-', '+', or whatever) as its first character. --- ChangeLog | 9 +++++++++ etc/mts.conf.in | 2 +- man/mh-tailor.man | 29 ++++++++++++++++------------- man/post.man | 26 ++++++++++++++------------ zotnet/mts/mts.c | 23 ++++++++++++----------- 5 files changed, 52 insertions(+), 37 deletions(-) diff --git a/ChangeLog b/ChangeLog index deb6163..9a29c0f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +Fri Mar 03 16:07:33 2000 Dan Harkless + + * Changed the new "plussed_user" option to mts.conf's + "masquerade:" to "username_extension" after getting feedback from + qmail users, who use '-' as a separator rather than '+'. Removed + checking of $USERPLUS variable. Now check $USERNAME_EXTENSION, + which needs to include the appropriate separator for your MTA + ('-', '+', or whatever) as its first character. + Thu Mar 02 23:04:30 2000 Dan Harkless * Added a new "boolean" type to mh.h and TRUE and FALSE constants. diff --git a/etc/mts.conf.in b/etc/mts.conf.in index 6f1af4f..4151d65 100644 --- a/etc/mts.conf.in +++ b/etc/mts.conf.in @@ -15,7 +15,7 @@ hostable: %etcdir%/hosts # Uncomment the following line to allow username masquerading. Any or all of # the three types of masquerading may be used (see mh-tailor(5) for details). -#masquerade: draft_from mmailid plussed_user +#masquerade: draft_from mmailid username_extension # Default location of mail drops. If this option is # set, but empty, the user's home directory is used. diff --git a/man/mh-tailor.man b/man/mh-tailor.man index ff767b0..53c0875 100644 --- a/man/mh-tailor.man +++ b/man/mh-tailor.man @@ -103,7 +103,8 @@ masquerade: .br This directive controls three different types of email address masquerading. The three possible values, which may be specified in any combination on the -line, are "draft_from", "mmailid", and "plussed_user". +line, separated by spaces, are "draft_from", "mmailid", and +"username_extension". "mmailid" was the only type of masquerading in the original MH package, and apparently stands for "masquerade mail identification". This type of @@ -124,16 +125,18 @@ the case, the GECOS field for each user should look like: .ti +.5i First [Middle] Last -"plussed_user", when specified on the "masquerade:" line, allows a second type -of username masquerading. If the user sets the \fB$USERPLUS\fR environment -variable, its value will be tacked onto the actual login name, following a '+' -sign. For instance, if I am dan@company.com, and I set \fB$USERPLUS\fR to -"www", my mail will appear to come from "dan+www@company.com". This feature is -meant to interact with MTA features like the one in sendmail that automatically -delivers all mail sent to \fIuser\fR+\fIstring\fR to \fIuser\fR. One can use -different email addresses in different situations (to aid in automatic mail -filtering or in determining where spammers got your address) while only actually -having a single account. +"username_extension", when specified on the "masquerade:" line, allows a second +type of username masquerading. If the user sets the \fB$USERNAME_EXTENSION\fR +environment variable, its value will be appended to the actual login name. For +instance, if I am dan@company.com, and I set \fB$USERNAME_EXTENSION\fR to +"\-www", my mail will appear to come from "dan\-www@company.com". This is meant +to interact with qmail's "user\-extension" feature, where mail sent to +\fIuser\fR\-\fIstring\fR will be delivered to \fIuser\fR. Likewise, those using +versions of sendmail for which "plussed user" processing is active can set +\fB$USERNAME_EXTENSION\fR to "+\fIstring\fR". These MTA features are useful +because they allow one to use different email addresses in different situations +(to aid in automatic mail filtering or in determining where spammers got one's +address) while only actually having a single account. "draft_from" controls the most powerful type of address masquerading. Normally, when a user explicitly specifies a "From:" header in a draft, \fInmh\fR uses it @@ -144,8 +147,8 @@ address specified in the draft, and there will be no "Sender:" header. This is useful when a user wants to pretend to be sending mail "directly" from a remote POP3 account, or when remote mail robots incorrectly use the envelope "From:" in preference to the body "From:" (or refuse to take action when the two don't -match). Note that your MTA may still reveal the user's real identity (e.g. -sendmail's "X-Authentication-Warning:" header). +match). Note that the MTA may still reveal the user's real identity (e.g. +sendmail's "X\-Authentication\-Warning:" header). .ti -.5i maildelivery: %libdir%/maildelivery diff --git a/man/post.man b/man/post.man index c344043..4526177 100644 --- a/man/post.man +++ b/man/post.man @@ -75,13 +75,13 @@ delivery). Under normal circumstances, \fIpost\fR constructs the "From:" line of the message from the user's login name, the full name from the GECOS field of the -passwd file, and the fully-qualified name of the local machine (or the value of +passwd file, and the fully\-qualified name of the local machine (or the value of "localname" in mts.conf, if set). An example is "From: Dan Harkless ". There are four ways to override these values, -however. Note that they apply equally to "Resent-From:" lines in messages sent +however. Note that they apply equally to "Resent\-From:" lines in messages sent with \fIdist\fR. -The first way is GECOS-based username masquerading. If the "masquerade:" line +The first way is GECOS\-based username masquerading. If the "masquerade:" line in mts.conf contains "mmailid", this processing is activated. If a user's GECOS field in the passwd file is of the form "Full Name " then "fakename" will be used in place of the real username. For instance, a GECOS field of "Dan @@ -92,16 +92,18 @@ instance, "Dan.Harkless" to "dan". The second way to override default construction of "From:" is to set the \fB$SIGNATURE\fR environment variable. This variable overrides the full name -from the GECOS field, even if GECOS-based masquerading is being done. This +from the GECOS field, even if GECOS\-based masquerading is being done. This processing is always active, and does not need to be enabled from mts.conf. -The third way is controlled by the "plussed_user" value of "masquerade:" line of -mts.conf. When that's turned on, setting the $USERPLUS environment variable -will result in its value being tacked onto the user's login name, following -a '+' sign. For instance, if I set $USERPLUS to "www", my "From:" line will -contain "Dan Harkless " (or "Dan.Harkless+www" if -I'm using mmailid masquerading as well). Recent versions of sendmail -automatically deliver all mail sent to \fIuser\fR+\fIstring\fR to \fIuser\fR. +The third way is controlled by the "user_extension" value of "masquerade:" line +of mts.conf. When that's turned on, setting the \fB$USERNAME_EXTENSION\fR +environment variable will result in its value being appended the user's login +name. For instance, if I set \fB$USERNAME_EXTENSION\fR to "+www", my "From:" +line will contain "Dan Harkless " (or +"Dan.Harkless+www" if I'm using mmailid masquerading as well). Recent versions +of sendmail automatically deliver all mail sent to \fIuser\fR+\fIstring\fR to +\fIuser\fR. qmail has a similar feature which uses '\-' as the delimiter by +default, but can use other characters as well. The fourth method of address masquerading is to specify a "From:" line manually in the message draft. It will be used as provided (after alias substitution), @@ -112,7 +114,7 @@ will use the address given in the draft "From:", and there will be no "Sender:" header. This is useful in pretending to send mail "directly" from a remote POP3 account, or when remote email robots give improper precedence to the envelope "From:". Note that your MTA may still reveal your real identity (e.g. -sendmail's "X-Authentication-Warning:" header). +sendmail's "X\-Authentication\-Warning:" header). .Fi ^%etcdir%/mts.conf~^nmh mts configuration file diff --git a/zotnet/mts/mts.c b/zotnet/mts/mts.c index 0951c4c..9194404 100644 --- a/zotnet/mts/mts.c +++ b/zotnet/mts/mts.c @@ -63,7 +63,7 @@ static char fullname[BUFSIZ]; /* Variables for username masquerading: */ boolean draft_from_masquerading = FALSE; /* also used from post.c */ static boolean mmailid_masquerading = FALSE; -static boolean plussed_user_masquerading = FALSE; +static boolean username_extension_masquerading = FALSE; static char* masquerade = ""; @@ -207,8 +207,8 @@ mts_init (char *name) if (strstr(masquerade, "mmailid") != NULL) mmailid_masquerading = TRUE; - if (strstr(masquerade, "plussed_user") != NULL) - plussed_user_masquerading = TRUE; + if (strstr(masquerade, "username_extension") != NULL) + username_extension_masquerading = TRUE; } @@ -496,15 +496,16 @@ getuserinfo (void) if (!mmailid_masquerading || *np == '\0') strncpy (username, pw->pw_name, sizeof(username)); - if (plussed_user_masquerading) { - /* Tack on '+' and $USERPLUS environment variable to actual username. - Presumably the local MTA (e.g. sendmail) has been set up to deliver - all mail sent to + to . */ - char* plussed_user_addon = getenv("USERPLUS"); + if (username_extension_masquerading) { + char* username_extension = getenv("USERNAME_EXTENSION"); - if (plussed_user_addon != NULL && *plussed_user_addon != '\0') - snprintf(username, sizeof(username), "%s+%s", - username, plussed_user_addon); + if (username_extension != NULL && *username_extension != '\0') + /* $USERNAME_EXTENSION environment variable has been set, so tack on + its value to the actual username. This is meant to interact with + qmail's "user-extension" feature and sendmail's "plussed user" + feature. */ + snprintf(username, sizeof(username), "%s%s", + username, username_extension); } /* The $SIGNATURE environment variable overrides the GECOS field's idea of -- 1.7.10.4