Of course there was a regexp error in what I intended to be STABLE release... /Matti Aarnio --- zmailer-2.99.48/proto/cf/rrouter.cf~ Thu Apr 24 19:39:43 1997 +++ zmailer-2.99.48/proto/cf/rrouter.cf Fri Apr 25 00:49:16 1997 @@ -28,7 +28,7 @@ tsift "$address" in # See that it does not start with a pipe ... - |.+ # Looks like a pipe... Don't mutilate it! + [|].+ # Looks like a pipe... Don't mutilate it! break ;; # Now make canonical (.*)<(.*) --- zmailer-2.99.48/transports/smtp/smtp.c~ Thu Apr 24 18:45:17 1997 +++ zmailer-2.99.48/transports/smtp/smtp.c Fri Apr 25 11:38:39 1997 @@ -2174,7 +2174,7 @@ else fprintf(SS->verboselog, " rc=%d, mxh[0].host=%.200s (host=%.200s) mxcnt=%d\n", - rc, (mxh[0].host == NULL) ? mxh[0].host : "", + rc, (! mxh[0].host) ? (char*)mxh[0].host : "", host, mxcnt); hp = NULL; /* Ruined 'hp' datas within getmxrr() */ switch (rc) { --- zmailer-2.99.48/proto/cf/aliases.cf~ Tue Feb 18 10:50:05 1997 +++ zmailer-2.99.48/proto/cf/aliases.cf Fri Apr 25 19:56:47 1997 @@ -359,7 +359,7 @@ if [ -n "$pobox" ]; then db add expansions "$key" pobox - priv=$(login2uid $user) + priv=$(login2uid "$user") return (((local "pob:$user" "$pobox$plustail$domain" $(newattribute $attr privilege $priv)))) fi --- zmailer-2.99.48/proto/cf/server.cf~ Wed Jan 3 10:14:16 1996 +++ zmailer-2.99.48/proto/cf/server.cf Fri Apr 25 20:27:10 1997 @@ -5,24 +5,39 @@ #| This is a prettyprinter for address quads. What it prints is what someone #| doing a VRFY or EXPN query to the SMTP server will see. - local text + local text user user2 + user="$(user $quad)" case $(channel $quad) in - local) sift "$(user $quad)" in + local) ssift "$user" in [|/].* text="local delivery for" + break ;; - .* text=$(login2uid $(user $quad)) # ignore return value - if text="$(fullname $(user $quad))"; then + .* + user2="$user" + ssift "$user2" in + (.*)@([^@]+) # FQDN format address ? + user2="\1" ;; + .* ;; + tfiss + ssift "$user2" in + (.*)\+(.*) # A "+" in the name ? + user2="\1" ;; + .* ;; + tfiss + + text="$(login2uid "$user2")" # ignore return value + if text="$(fullname "$user2")"; then text="$text" else - if text="$(fullname $(recase -l $(user $quad)))"; then + if text="$(fullname "$(recase -l "$user2")")"; then text="$text" else text="550 no such user:" fi fi ;; - tfis + tfiss ;; usenet) text="newsgroup:" ;; *) text="$(channel $quad) delivery" @@ -32,7 +47,7 @@ esac ;; esac - echo "$text <$(user $quad)>" + echo "$text <$user>" } server (key) {