The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Тем кто пишет в С"
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"Тем кто пишет в С"
Сообщение от drv Искать по авторуВ закладки on 13-Май-03, 17:12  (MSK)
Помогите пропатчить popa3d v 0.6.3 чтоб в логи писал ip клиента.
Искал на форуме - есть советы, но под inetd а у меня xinetd - патч не подходит.
Сам в С слабоват. Помогите.
  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "Тем кто пишет в С"
Сообщение от and emailИскать по авторуВ закладки on 13-Май-03, 17:13  (MSK)
насколько я знаю xinetd это сам умеет. посмотри в опциях!
  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "Тем кто пишет в С"
Сообщение от drv Искать по авторуВ закладки on 14-Май-03, 11:09  (MSK)
>насколько я знаю 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);
}

вместо адреса печатает какойто бред в символьном виде
помогите


  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2026 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру