Of course there was a regexp error in what I intended to be STABLE
release...  /Matti Aarnio <[email protected]> <[email protected]>

--- 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 : "<NUL>",
+                       rc, (! mxh[0].host) ? (char*)mxh[0].host : "<NUL>",
                       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) {