#include #include #include #include #include #ifdef LOG_SYSLOG # include #endif int main() { char *user = getenv("SMTPAUTHUSER"); char *meth, *rip, *smtps, *tls, *session, *p; pid_t ppid = getppid(); if (user != NULL && strlen(user) > 0) { meth = getenv("SMTPAUTHMETHOD"); rip = getenv("TCPREMOTEIP"); smtps = getenv("SMTPS"); tls = getenv("SMTPSECURED"); session = getenv("SMTPSESSION"); if (meth != NULL) { meth = strdup(meth); for(p = meth; (*p = toupper(*p)); p++); } fprintf(stderr, "smtp-login: Login: user=<%s>, method=%s, rip=%s, pid=%d%s, session=<%s>\n", user, meth, rip, ppid, (tls) ? ((smtps) ? ", SSL" : ", TLS") : "", session); #ifdef LOG_SYSLOG openlog("smtp", LOG_NDELAY, LOG_MAIL); syslog(LOG_INFO, "smtp-login: Login: user=<%s>, method=%s, rip=%s, pid=%d%s, session=<%s>", user, meth, rip, ppid, (tls) ? ((smtps) ? ", SSL" : ", TLS") : "", session); closelog(); #endif if (meth != NULL) free(meth); } return 0; }