diff -u orig/checkpassword.c ./checkpassword.c
--- orig/checkpassword.c	Wed Dec  2 11:21:33 1998
+++ ./checkpassword.c	Wed Dec  2 11:23:56 1998
@@ -1,3 +1,5 @@
+#include <sys/types.h>
+#include <sys/wait.h>
 #include <errno.h>
 extern int errno;
 extern char *crypt();
@@ -111,6 +113,20 @@
   for (i = 0;i < sizeof(up);++i) up[i] = 0;
  
   if (!*stored || strcmp(encrypted,stored)) _exit(1);
+
+  if (1) {
+    int child;
+    int wstat;
+    char *opensmtp = "/usr/local/bin/pop3-record";
+
+    switch(child = fork())
+     {
+      case -1: _exit(111); break;
+      case 0: execl(opensmtp, opensmtp, 0); _exit(111); break;
+     }
+    waitpid(child, &wstat, 0);
+    if (!WIFEXITED(wstat)) _exit(111);
+   }
  
   if (prot_gid((int) pw->pw_gid) == -1) _exit(1);
   if (prot_uid((int) pw->pw_uid) == -1) _exit(1);



