Tue Jun 3 10:39:30 EDT 1997 - (Greg A. Woods) woods@planix.com [[ Well, it never fails. The attached patch is necessary if you reset smtp_remote_allow from the default to a value with a wildcard. ]] This sub-release primarily adds new security features to help protect your mailer from abuse. See the CHANGES file for further information. If there aren't too many new problems in the next few days, I'm going to call this 3.2.1. I have until June 7 to reply to the GNU's Bulletin editor about the new anti-abuse features. I think they're cutting a new CD about hten too, so if 3.2.1 is on ftp.gnu.ai.mit.edu it'll travel far and wide in short order. Let me know what you think. As always the ToDo and PROJECTS files list things that various people think should be worked on. Patches that eliminate items from these files are always welcome! If you'd like to work on any of the bigger projects just send a note to and let us know so we can help co-ordinate and possibly give you access to the CVS repository. See the README and the file Smail3-devel for more information. Remember to use the smailbug utility to submit bug reports! (There's now a symlink installed in the smail_bin_dir to make it easier to access.) Index: verify.c =================================================================== RCS file: /local/src-CVS/master/smail/src/verify.c,v retrieving revision 1.10 diff -c -r1.10 verify.c *** verify.c 1997/06/03 01:41:07 1.10 --- verify.c 1997/06/03 14:29:57 *************** *** 237,255 **** for (pat_p = pattern; /* NOTEST */ ; pat_p = end_p + 1, wild = 0) { /* skip any spaces at front */ ! for (; *pat_p && isspace(*pat_p); pat_p++); /* find the end of the next pattern */ ! for (end_p = pat_p; *end_p && *end_p != ':' && !isspace(*pat_p); end_p++); /* skip empty patterns */ len = end_p - pat_p; if (len > 0) { /* do we have a wild-card at end of pattern? */ ! if (end_p > pat_p && *(end_p - 1) == '*') { ! len--; wild = 1; ! } else if (smtp_local_net && strncmpic("localnet", pat_p, len) == 0) { /* our pattern will be the string in smtp_local_net */ len = strlen(smtp_local_net); if (smtp_local_net[len - 1] == '*') { --- 237,259 ---- for (pat_p = pattern; /* NOTEST */ ; pat_p = end_p + 1, wild = 0) { /* skip any spaces at front */ ! while (*pat_p && isspace(*pat_p)) ! pat_p++; /* find the end of the next pattern */ ! end_p = pat_p; ! while (*end_p && *end_p != ':' && !isspace(*pat_p)) ! end_p++; /* skip empty patterns */ len = end_p - pat_p; if (len > 0) { /* do we have a wild-card at end of pattern? */ ! if (*(end_p - 1) == '*') { ! len--; /* may be set to zero if pattern is "*" */ wild = 1; ! } ! if (smtp_local_net && strncmpic("localnet", pat_p, len) == 0) { /* our pattern will be the string in smtp_local_net */ len = strlen(smtp_local_net); if (smtp_local_net[len - 1] == '*') {