diff -urN ../qmail-1.03-zftoaster.08/qmail-control.9 ./qmail-control.9
--- ../qmail-1.03-zftoaster.08/qmail-control.9	2003-08-22 12:17:07.000000000 +0200
+++ ./qmail-control.9	2003-09-16 18:52:03.000000000 +0200
@@ -32,7 +32,9 @@
 
 The following table lists all control files
 other than
-.IR me .
+.IR me 
+(rows marked by [*] are provided by patches).
+
 See the corresponding man pages for further details.
 
 .RS
@@ -41,10 +43,11 @@
 control	default	used by
 
 .I badmailfrom	\fR(none)	\fRqmail-smtpd
+.I badmailto	\fR(none) [*]	\fRqmail-smtpd
 .I bouncefrom	\fRMAILER-DAEMON	\fRqmail-send
 .I bouncehost	\fIme	\fRqmail-send
-.I clientca.pem	\fR(none)	\fRqmail-smtpd
-.I clientcert.pem	\fR(none)	\fRqmail-remote
+.I clientca.pem	\fR(none) [*]	\fRqmail-smtpd
+.I clientcert.pem	\fR(none) [*]	\fRqmail-remote
 .I concurrencylocal	\fR10	\fRqmail-send
 .I concurrencyremote	\fR20	\fRqmail-send
 .I defaultdomain	\fIme	\fRqmail-inject
@@ -57,24 +60,26 @@
 .I idhost	\fIme	\fRqmail-inject
 .I localiphost	\fIme	\fRqmail-smtpd
 .I locals	\fIme	\fRqmail-send
-.I mfcheck	\fR0	\fRqmail-smtpd
+.I mfcheck	\fR0 [*]	\fRqmail-smtpd
 .I morercpthosts	\fR(none)	\fRqmail-smtpd
 .I percenthack	\fR(none)	\fRqmail-send
 .I plusdomain	\fIme	\fRqmail-inject
 .I qmqpservers	\fR(none)	\fRqmail-qmqpc
 .I queuelifetime	\fR604800	\fRqmail-send
 .I rcpthosts	\fR(none)	\fRqmail-smtpd
-.I rsa512.pem	\fR(none)	\fRqmail-smtpd
-.I servercert.pem	\fR(none)	\fRqmail-smtpd
+.I rsa512.pem	\fR(none) [*]	\fRqmail-smtpd
+.I servercert.pem	\fR(none) [*]	\fRqmail-smtpd
 .I smtpgreeting	\fIme	\fRqmail-smtpd
 .I smtproutes	\fR(none)	\fRqmail-remote
+.I tarpitcount	\fR0 [*]	\fRqmail-smtpd
+.I tarpitdelay	\fR5 [*]	\fRqmail-smtpd
 .I timeoutconnect	\fR60	\fRqmail-remote
 .I timeoutremote	\fR1200	\fRqmail-remote
 .I timeoutsmtpd	\fR1200	\fRqmail-smtpd
-.I tlsclients	\fR(none)	\fRqmail-smtpd
-.I tlsclientciphers	\fR(none)	\fRqmail-remote
-.I tlshosts/FQDN.pem	\fR(none)	\fRqmail-remote
-.I tlsserverciphers	\fR(none)	\fRqmail-smtpd
+.I tlsclients	\fR(none) [*]	\fRqmail-smtpd
+.I tlsclientciphers	\fR(none) [*]	\fRqmail-remote
+.I tlshosts/FQDN.pem	\fR(none) [*]	\fRqmail-remote
+.I tlsserverciphers	\fR(none) [*]	\fRqmail-smtpd
 .I virtualdomains	\fR(none)	\fRqmail-send
 .fi
 .RE
diff -urN ../qmail-1.03-zftoaster.08/qmail-showctl.c ./qmail-showctl.c
--- ../qmail-1.03-zftoaster.08/qmail-showctl.c	1998-06-15 12:53:16.000000000 +0200
+++ ./qmail-showctl.c	2003-09-16 19:27:35.000000000 +0200
@@ -215,8 +215,25 @@
   }
 
   do_lst("badmailfrom","Any MAIL FROM is allowed.",""," not accepted in MAIL FROM.");
+  do_lst("badmailto","Any RCPT TO is allowed.",""," not accepted in RCPT TO.");
   do_str("bouncefrom",0,"MAILER-DAEMON","Bounce user name is ");
   do_str("bouncehost",1,"bouncehost","Bounce host name is ");
+
+  struct stat stcca;
+  substdio_puts(subfdout,"\nclientca.pem: ");
+  if (stat("clientca.pem",&stcca) == -1) 
+    substdio_puts(subfdout,"(Default.) No client CA pem file.\n"); 
+  else 
+    substdio_puts(subfdout,"client CA pem file exists.\n"); 
+
+  struct stat stccert;
+  substdio_puts(subfdout,"\nclientcert.pem: ");
+  if (stat("clientcert.pem",&stccert) == -1) 
+    substdio_puts(subfdout,"(Default.) No client certificate pem file.\n"); 
+  else 
+    substdio_puts(subfdout,"client certificate pem file exists.\n"); 
+
+
   do_int("concurrencylocal","10","Local concurrency is ","");
   do_int("concurrencyremote","20","Remote concurrency is ","");
   do_int("databytes","0","SMTP DATA limit is "," bytes");
@@ -230,6 +247,7 @@
   do_str("localiphost",1,"localiphost","Local IP address becomes ");
   do_lst("locals","Messages for me are delivered locally.","Messages for "," are delivered locally.");
   do_str("me",0,"undefined! Uh-oh","My name is ");
+  do_int("mfcheck","0","MAIL FROM DNS check is set to "," (0=disable, 1=enable)");
   do_lst("percenthack","The percent hack is not allowed.","The percent hack is allowed for user%host@",".");
   do_str("plusdomain",1,"plusdomain","Plus domain name is ");
   do_lst("qmqpservers","No QMQP servers.","QMQP server: ",".");
@@ -255,11 +273,30 @@
       else
         substdio_puts(subfdout,"Modified recently enough; hopefully up to date.\n");
 
+  struct stat strsa;
+  substdio_puts(subfdout,"\nrsa512.pem: ");
+  if (stat("rsa512.pem",&strsa) == -1) 
+    substdio_puts(subfdout,"(Default.) No 512 RSA key provided.\n"); 
+  else 
+    substdio_puts(subfdout,"512 RSA key exists.\n"); 
+
+  struct stat stscert;
+  substdio_puts(subfdout,"\nservercert.pem: ");
+  if (stat("servercert.pem",&stscert) == -1) 
+    substdio_puts(subfdout,"(Default.) No server certificate pem file.\n"); 
+  else 
+    substdio_puts(subfdout,"server certificate pem file exists.\n"); 
+
   do_str("smtpgreeting",1,"smtpgreeting","SMTP greeting: 220 ");
   do_lst("smtproutes","No artificial SMTP routes.","SMTP route: ","");
+  do_int("tarpitcount","0",""," RCPT TOs before tarpitting (0=off)");
+  do_int("tarpitdelay","5","tarpit delay is "," seconds");
   do_int("timeoutconnect","60","SMTP client connection timeout is "," seconds");
   do_int("timeoutremote","1200","SMTP client data timeout is "," seconds");
   do_int("timeoutsmtpd","1200","SMTP server data timeout is "," seconds");
+  do_lst("tlsclients","No TLS clients","TLS client: ","");
+  do_lst("tlsclientciphers","No TLS client ciphers","TLS client cipher:","");
+  do_lst("tlsserverciphers","No TLS server ciphers","TLS server cipher:","");
   do_lst("virtualdomains","No virtual domains.","Virtual domain: ","");
 
   while (d = readdir(dir)) {
@@ -268,8 +305,9 @@
     if (str_equal(d->d_name,"bouncefrom")) continue;
     if (str_equal(d->d_name,"bouncehost")) continue;
     if (str_equal(d->d_name,"badmailfrom")) continue;
-    if (str_equal(d->d_name,"bouncefrom")) continue;
-    if (str_equal(d->d_name,"bouncehost")) continue;
+    if (str_equal(d->d_name,"badmailto")) continue;
+    if (str_equal(d->d_name,"clientca.pem")) continue;
+    if (str_equal(d->d_name,"clientcert.pem")) continue; 
     if (str_equal(d->d_name,"concurrencylocal")) continue;
     if (str_equal(d->d_name,"concurrencyremote")) continue;
     if (str_equal(d->d_name,"databytes")) continue;
@@ -283,6 +321,7 @@
     if (str_equal(d->d_name,"localiphost")) continue;
     if (str_equal(d->d_name,"locals")) continue;
     if (str_equal(d->d_name,"me")) continue;
+    if (str_equal(d->d_name,"mfcheck")) continue;
     if (str_equal(d->d_name,"morercpthosts")) continue;
     if (str_equal(d->d_name,"morercpthosts.cdb")) continue;
     if (str_equal(d->d_name,"percenthack")) continue;
@@ -290,11 +329,18 @@
     if (str_equal(d->d_name,"qmqpservers")) continue;
     if (str_equal(d->d_name,"queuelifetime")) continue;
     if (str_equal(d->d_name,"rcpthosts")) continue;
+    if (str_equal(d->d_name,"rsa512.pem")) continue;
+    if (str_equal(d->d_name,"servercert.pem")) continue;
     if (str_equal(d->d_name,"smtpgreeting")) continue;
     if (str_equal(d->d_name,"smtproutes")) continue;
+    if (str_equal(d->d_name,"tarpitcount")) continue; 
+    if (str_equal(d->d_name,"tarpitdelay")) continue; 
     if (str_equal(d->d_name,"timeoutconnect")) continue;
     if (str_equal(d->d_name,"timeoutremote")) continue;
     if (str_equal(d->d_name,"timeoutsmtpd")) continue;
+    if (str_equal(d->d_name,"tlsclients")) continue;
+    if (str_equal(d->d_name,"tlsclientciphers")) continue;
+    if (str_equal(d->d_name,"tlsserverciphers")) continue;
     if (str_equal(d->d_name,"virtualdomains")) continue;
     substdio_puts(subfdout,"\n");
     substdio_puts(subfdout,d->d_name);
