>насколько я знаю xinetd это сам умеет. посмотри в опциях!
умеет, я пробовал - но в логах читать не удобно.
т.е. xinetd пишет что такой-то ip соеденился с popa3d
причем пишет както пачками и не сразу и при большой активности не поймешь какая запись относится к какому ящику.
а пропатченый popa3d пишет удобно:
popa3d : Authentication passed for user(192.168.1.2)
нужно внести какие-то изменения в pop_auth.c
я не знаю С (долго воевал с geetpeername - ничего не вышло).
вот кусок кода
void log_pop_auth(int result, char *user)
{
if (result == AUTH_NONE) {
syslog(SYSLOG_PRI_LO, "Didn't attempt authentication");
return;
}
#if POP_VIRTUAL
if (virtual_domain) {
syslog(result == AUTH_OK ? SYSLOG_PRI_LO : SYSLOG_PRI_HI,
"Authentication %s for %s@%s",
result == AUTH_OK ? "passed" : "failed",
user ? user : "UNKNOWN USER",
virtual_domain);
return;
}
#endif
bzero(&addr, sizeof(addr));
sock_len = sizeof(addr);
getpeername(0, &addr, &sock_len);
syslog(result == AUTH_OK ? SYSLOG_PRI_LO : SYSLOG_PRI_HI,
"Authentication %s for %s(%d)",
result == AUTH_OK ? "passed" : "failed",
user ? user : "UNKNOWN USER", addr.sin_addr);
}
вместо адреса печатает какойто бред в символьном виде
помогите