diff -ur ./qmail-1.03-orig/qmail-local.c ./qmail-1.03/qmail-local.c
--- ./qmail-1.03-orig/qmail-local.c	1998-06-15 06:52:55.000000000 -0400
+++ ./qmail-1.03/qmail-local.c	2003-03-05 12:51:49.000000000 -0500
@@ -653,6 +653,7 @@
 	 if (i) break;
          strerr_die1x(111,"Uh-oh: first line of .qmail file is blank. (#4.2.1)");
        case '#':
+       case ':':
          break;
        case '.':
        case '/':
@@ -671,6 +672,46 @@
          if (flagdoit) mailprogram(cmds.s + i + 1);
          else sayit("program ",cmds.s + i + 1,k - i - 1);
          break;
+       case '?':
+         ++i;
+         {
+           int l;
+           for (l = i;l < k;++l)
+             if (cmds.s[l] == ' ' || cmds.s[l] == '\t') {
+               cmds.s[l] = 0;
+               for (++l;l < k;++l)
+                 if (cmds.s[l] != ' ' && cmds.s[l] != '\t') {
+                   ++count_program;
+                   if (flagforwardonly) strerr_die1x(111,"Uh-oh: .qmail has prog delivery but has x bit set. (#4.7.0)");
+                   if (flagdoit) mailprogram(cmds.s + l);
+                   else sayit("program ",cmds.s + l,k - l);
+                   break;
+                 }
+               break;
+             }
+           if (l == k || flag99) {
+             flag99 = 0;
+             cmds.s[j] = '\n';
+             for (;j + 1 < cmds.len;++j)
+               if (cmds.s[j] == '\n' && cmds.s[j + 1] == ':') {
+                 j += 2;
+                 l = j;
+                 for (; j < cmds.len;++j) {
+                   if (cmds.s[j] == 0) break;
+                   if (cmds.s[j] == '\t') break;
+                   if (cmds.s[j] == '\n') break;
+                   if (cmds.s[j] == ' ') break;
+                 }
+                 if (!str_diffn(cmds.s + i,cmds.s + l,j - l)) {
+                   for (; j < cmds.len;++j)
+                     if (cmds.s[j] == '\n') break;
+                   break;
+                 }
+                 --j;
+               }
+           }
+         }
+         break;
        case '+':
 	 if (str_equal(cmds.s + i + 1,"list"))
 	   flagforwardonly = 1;
