This is a simple patch that adds the --enable-logging=v option. Since "p" logged bad passwords but not successful connections, and "y" logged successful connections but not bad passwords, I always had to edit the source to log both. I finally made a formal patch (against 4.9.8, but may work for earlier versions). It updates the FAQ, too, which didn't mention the "p" option. Now it mentions the "p" and "v" options. Hope someone else finds this useful. -Bill Shupp diff -c ../tar/vpopmail-4.9.8/FAQ ./FAQ *** ../tar/vpopmail-4.9.8/FAQ Tue Jan 2 10:19:04 2001 --- ./FAQ Fri Jan 19 15:44:21 2001 *************** *** 305,310 **** --- 305,312 ---- y means log all successful and unsucessful attemps and fatal errors n means don't log anything e means only log errors and fatal errors + p means include passwords in errors + v means log everything, including passwords in errors By default we set it up to only log errors and fatal errors. Common subdirectories: ../tar/vpopmail-4.9.8/cdb and ./cdb diff -c ../tar/vpopmail-4.9.8/configure ./configure *** ../tar/vpopmail-4.9.8/configure Tue Jan 2 14:52:42 2001 --- ./configure Fri Jan 19 15:39:58 2001 *************** *** 22,28 **** ac_help="$ac_help --enable-relay-clear-minutes=180 expire time for roaming users after pop authentication." ac_help="$ac_help ! --enable-logging=e|y|n|p Turn on (y) or off (n) logging to syslog, (e) only log errors, include passwords in errors (p) " ac_help="$ac_help --enable-sqwebmail-pass=y|n Turn off support for sqwebmail passwords (y) or off (n) " ac_help="$ac_help --- 22,28 ---- ac_help="$ac_help --enable-relay-clear-minutes=180 expire time for roaming users after pop authentication." ac_help="$ac_help ! --enable-logging=e|y|n|p|v Turn on (y) or off (n) logging to syslog, (e) only log errors, include passwords in errors (p), (v) log everything (including passwords in errors) " ac_help="$ac_help --enable-sqwebmail-pass=y|n Turn off support for sqwebmail passwords (y) or off (n) " ac_help="$ac_help diff -c ../tar/vpopmail-4.9.8/configure.in ./configure.in *** ../tar/vpopmail-4.9.8/configure.in Tue Jan 2 14:50:33 2001 --- ./configure.in Fri Jan 19 15:41:38 2001 *************** *** 82,88 **** AC_ARG_ENABLE(logging, ! [ --enable-logging=e|y|n|p Turn on (y) or off (n) logging to syslog, (e) only log errors, include passwords in errors (p) ], ENABLE_LOGGING=$enableval, [ ENABLE_LOGGING=e --- 82,88 ---- AC_ARG_ENABLE(logging, ! [ --enable-logging=e|y|n|p|v Turn on (y) or off (n) logging to syslog, (e) only log errors, include passwords in errors (p), (v) log everything (including passwords in errors) ], ENABLE_LOGGING=$enableval, [ ENABLE_LOGGING=e *************** *** 99,104 **** --- 99,108 ---- ;; p*|P*) ENABLE_LOGGING=3 + AC_DEFINE_UNQUOTED(ENABLE_LOGGING,$ENABLE_LOGGING) + ;; + v*|V*) + ENABLE_LOGGING=4 AC_DEFINE_UNQUOTED(ENABLE_LOGGING,$ENABLE_LOGGING) ;; *) Common subdirectories: ../tar/vpopmail-4.9.8/contrib and ./contrib Common subdirectories: ../tar/vpopmail-4.9.8/doc and ./doc diff -c ../tar/vpopmail-4.9.8/vchkpw.c ./vchkpw.c *** ../tar/vpopmail-4.9.8/vchkpw.c Wed Jan 3 14:59:55 2001 --- ./vchkpw.c Fri Jan 19 15:42:52 2001 *************** *** 139,145 **** log_pass_exit(LOG_NOTICE, 53, "pop access denied", GLuser, GLhost, IpAddr, passwd); ! if ( ENABLE_LOGGING == 1 ) log_info(LOG_INFO, "vchkpw login", GLuser, GLhost, IpAddr); tmpstr = vget_assign(GLhost, Dir, 156, &uid, &gid ); --- 139,145 ---- log_pass_exit(LOG_NOTICE, 53, "pop access denied", GLuser, GLhost, IpAddr, passwd); ! if ( ENABLE_LOGGING == 1 || ENABLE_LOGGING == 4 ) log_info(LOG_INFO, "vchkpw login", GLuser, GLhost, IpAddr); tmpstr = vget_assign(GLhost, Dir, 156, &uid, &gid ); *************** *** 203,209 **** GLuser, GLhost, IpAddr, passwd); } ! if ( ENABLE_LOGGING == 1 ) { switch (x) { case 1: scopy(buf,"APOP",sizeof(buf)); break; case 2: scopy(buf,"POP",sizeof(buf)); break; --- 203,209 ---- GLuser, GLhost, IpAddr, passwd); } ! if ( ENABLE_LOGGING == 1 || ENABLE_LOGGING == 4 ) { switch (x) { case 1: scopy(buf,"APOP",sizeof(buf)); break; case 2: scopy(buf,"POP",sizeof(buf)); break; *************** *** 435,441 **** if ( ENABLE_LOGGING == 2 || ENABLE_LOGGING == 1 ) { sprintf(tmpstr,"%s %s@%s:%s", mess, user, host, ip); ! } else if ( ENABLE_LOGGING == 3 ) { sprintf(tmpstr,"%s %s@%s:%s %s", mess, user, host, ip, pass); } syslog(syslog_level, tmpstr ); --- 435,441 ---- if ( ENABLE_LOGGING == 2 || ENABLE_LOGGING == 1 ) { sprintf(tmpstr,"%s %s@%s:%s", mess, user, host, ip); ! } else if ( ENABLE_LOGGING == 3 || ENABLE_LOGGING == 4 ) { sprintf(tmpstr,"%s %s@%s:%s %s", mess, user, host, ip, pass); } syslog(syslog_level, tmpstr );