The OpenNET Project / Index page

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

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

"Как заставить popa3d писать в лог ip-шник юзера?"
Сообщение от Andre Искать по авторуВ закладки on 04-Янв-03, 10:17  (MSK)
subj
  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

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

1. "RE: Как заставить popa3d писать в лог ip-шник юзера?"
Сообщение от Varran emailИскать по авторуВ закладки on 04-Янв-03, 10:28  (MSK)
>subj

А у Вас как лог ведется? Я тут задавал такой вопрос да вот ответа не получил. Извините что не в тему.

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

2. "RE: Как заставить popa3d писать в лог ip-шник юзера?"
Сообщение от Bart Simpson emailИскать по авторуВ закладки on 04-Янв-03, 10:44  (MSK)
>>subj
>
>А у Вас как лог ведется? Я тут задавал такой вопрос да
>вот ответа не получил. Извините что не в тему.


Так ить через xinetd не катит?

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

3. "RE: Как заставить popa3d писать в лог ip-шник юзера?"
Сообщение от Andre Искать по авторуВ закладки on 04-Янв-03, 10:59  (MSK)
>Так ить через xinetd не катит?

Так как? Ткините пальцем плз

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

4. "RE: Как заставить popa3d писать в лог ip-шник юзера?"
Сообщение от Varran emailИскать по авторуВ закладки on 04-Янв-03, 11:32  (MSK)
>>>subj
>>
>>А у Вас как лог ведется? Я тут задавал такой вопрос да
>>вот ответа не получил. Извините что не в тему.
>
>
>Так ить через xinetd не катит?

Думал может что нибудь специализированное есть.

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

5. "RE: Как заставить popa3d писать в лог ip-шник юзера?"
Сообщение от Andre Искать по авторуВ закладки on 04-Янв-03, 12:04  (MSK)
>>Так ить через xinetd не катит?

Помогите разобраться
xinetd запускается с ключами
-stayalive -reuse -filelog /var/log/messages -pidfile /var/run/xinetd.pid

/etc/xinetd.conf :

defaults
{
        instances               = 60
        log_type                = SYSLOG authpriv
        log_on_success          = HOST PID
        log_on_failure          = HOST
        cps                     = 25 30
}

includedir /etc/xinetd.d
############################################################3


/etc/xinetd.d/popa3d :
service pop3
{
        disable = no
        socket_type             = stream
        wait                    = no
        user                    = root
        server                  =  /usr/local/sbin/popa3d
        log_on_success          += USERID HOST
        log_on_failure          += USERID HOST
}

И в логах никаких записей от xinetd


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

6. "RE: Как заставить popa3d писать в лог ip-шник юзера?"
Сообщение от Varran emailИскать по авторуВ закладки on 04-Янв-03, 12:49  (MSK)
так и смотри /var/log/messages там все должно быть...
  Рекомендовать в FAQ | Cообщить модератору | Наверх

7. "RE: Как заставить popa3d писать в лог ip-шник юзера?"
Сообщение от Andre Искать по авторуВ закладки on 04-Янв-03, 13:04  (MSK)
>так и смотри /var/log/messages там все должно быть...
В том - то и дело что ничего нет

Jan  4 12:00:09 host popa3d[4969]: Authentication passed for andrey
Jan  4 12:00:09 host popa3d[4969]: 0 messages (0 bytes) loaded
Jan  4 12:00:09 host popa3d[4969]: 0 (0) deleted, 0 (0) left
и все :-((

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

8. "RE: Как заставить popa3d писать в лог ip-шник юзера?"
Сообщение от Varran Искать по авторуВ закладки on 04-Янв-03, 15:59  (MSK)
>>так и смотри /var/log/messages там все должно быть...
>В том - то и дело что ничего нет
>
>Jan  4 12:00:09 host popa3d[4969]: Authentication passed for andrey
>Jan  4 12:00:09 host popa3d[4969]: 0 messages (0 bytes) loaded
>Jan  4 12:00:09 host popa3d[4969]: 0 (0) deleted, 0 (0) left
>
> и все :-((

Извиняюсь! Сейчас заглянул к себе в лог, та же хрень это я с Postfix'овым логом попутал. Действительно как тогда быть?

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

9. "RE: Как заставить popa3d писать в лог ip-шник юзера?"
Сообщение от uldus Искать по авторуВ закладки on 04-Янв-03, 16:10  (MSK)
>subj

Патчить popa3d.
См. http://www.opennet.me/tips/info/346.shtml
Далее:

--- pop_auth_old.c   Thu Sep  6 05:52:35 2001
+++ pop_auth.c Mon Oct  7 13:52:18 2002
@@ -6,6 +6,7 @@
#include <unistd.h>
#include <string.h>
#include <syslog.h>
+#include <stdlib.h>

#include "misc.h"
#include "params.h"
@@ -83,7 +84,7 @@
   }
#endif
   syslog(result == AUTH_OK ? SYSLOG_PRI_LO : SYSLOG_PRI_HI,
-       "Authentication %s for %s",
+       "Authentication %s for %s (%s)",
        result == AUTH_OK ? "passed" : "failed",
-       user ? user : "UNKNOWN USER");
+       user ? user : "UNKNOWN USER", getenv("REMOTE_ADDR"));
}

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

10. "RE: Как заставить popa3d писать в лог ip-шник юзера?"
Сообщение от Varran Искать по авторуВ закладки on 04-Янв-03, 17:08  (MSK)
>   syslog(result == AUTH_OK ? SYSLOG_PRI_LO : SYSLOG_PRI_HI,
>-       "Authentication %s for %s",
>+       "Authentication %s for %s (%s)",
>
>        result == AUTH_OK ?
>"passed" : "failed",
>-       user ? user : "UNKNOWN
>USER");
>+       user ? user : "UNKNOWN
>USER", getenv("REMOTE_ADDR"));
> }

Сделал так, не совсем понятно со скобками.
И при компиляции ругается: ...wrong type argument to unary minus ,
потом так же ругается на плюс, и в конце говорит
implicint declaration of function 'getenv'
или я не правильно понял и это делается не руками а патчем?

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

11. "RE: Как заставить popa3d писать в лог ip-шник юзера?"
Сообщение от Varran Искать по авторуВ закладки on 04-Янв-03, 17:12  (MSK)
Не-е-ет! Я не то что бы неправильно понял я совсем не понял!
Здесь, что надо изменять все, что в твоем куске приведено? Извини я в си слабоват.
  Рекомендовать в FAQ | Cообщить модератору | Наверх

12. "RE: Как заставить popa3d писать в лог ip-шник юзера?"
Сообщение от lavr emailИскать по авторуВ закладки on 04-Янв-03, 17:40  (MSK)
> Не-е-ет! Я не то что бы неправильно понял я совсем не
>понял!
>Здесь, что надо изменять все, что в твоем куске приведено? Извини я
>в си слабоват.

man diff
man patch

был приведен конкретно патч-файл, например обзываем его как patch-popa3d
затем
cd sources_proftpd
cp /path/patch-popa3d .
patch < patch-popa3d

если сие неизвестно, то следуя приведенному патчу, нужно строки отмеченные
"-" заменить на новый вариант - на строки отмеченные "+"

"-" и "+" - это служебный комментарий который показывает разницу - изменения между двумя версиями файлов в той или иной части этих файлов

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

13. "RE: Как заставить popa3d писать в лог ip-шник юзера?"
Сообщение от lavr emailИскать по авторуВ закладки on 04-Янв-03, 18:23  (MSK)
>> Не-е-ет! Я не то что бы неправильно понял я совсем не
>>понял!
>>Здесь, что надо изменять все, что в твоем куске приведено? Извини я
>>в си слабоват.
>
>man diff
>man patch
>
>был приведен конкретно патч-файл, например обзываем его как patch-popa3d
>затем
>cd sources_proftpd

конечно же
cd sources_popa3d

>cp /path/patch-popa3d .
>patch < patch-popa3d
>
>если сие неизвестно, то следуя приведенному патчу, нужно строки отмеченные
>"-" заменить на новый вариант - на строки отмеченные "+"
>
>"-" и "+" - это служебный комментарий который показывает разницу - изменения
>между двумя версиями файлов в той или иной части этих файлов
>

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

14. "RE: Как заставить popa3d писать в лог ip-шник юзера?"
Сообщение от HAN Искать по авторуВ закладки on 05-Янв-03, 03:28  (MSK)
>>"-" и "+" - это служебный комментарий который показывает разницу - изменения
>>между двумя версиями файлов в той или иной части этих файлов
>>


Hi!
Скажите, народ, а это у кого-то работает? У нас вместо IP пишет в лог ((null)).
Что может быть?

Удачи!
HAN

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

15. "RE: Как заставить popa3d писать в лог ip-шник юзера?"
Сообщение от pLYM0rph emailИскать по авторуВ закладки on 05-Янв-03, 11:32  (MSK)
>>>"-" и "+" - это служебный комментарий который показывает разницу - изменения
>>>между двумя версиями файлов в той или иной части этих файлов
>>>
>
>
>Hi!
>Скажите, народ, а это у кого-то работает? У нас вместо IP пишет
>в лог ((null)).
>Что может быть?
>
>Удачи!
>HAN
# man 3 getenv
if the variable REMOTE_ADDR (в данном случае) is not in the current environment,
a null pointer is returned.
  Рекомендовать в FAQ | Cообщить модератору | Наверх

16. "RE: Как заставить popa3d писать в лог ip-шник юзера?"
Сообщение от HAN Искать по авторуВ закладки on 05-Янв-03, 14:01  (MSK)
># man 3 getenv
>if the variable REMOTE_ADDR (в данном случае) is not in the current
>environment,
>a null pointer is returned.

Hi!
А может это быть связано с тем, что по рекомендациям установки popa3d создан пользователь с шеллом /dev/null и с  home-директорий /dev/null ?
Может это из-за этого?
У кого это работает - какие свойства у юзера popa3d или его можно и не создавать?

Удачи!
HAN

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

17. "RE: Как заставить popa3d писать в лог ip-шник юзера?"
Сообщение от pLYM0rph emailИскать по авторуВ закладки on 05-Янв-03, 14:52  (MSK)
>># man 3 getenv
>>if the variable REMOTE_ADDR (в данном случае) is not in the current
>>environment,
>>a null pointer is returned.
>
>Hi!
>А может это быть связано с тем, что по рекомендациям установки popa3d
>создан пользователь с шеллом /dev/null и с  home-директорий /dev/null ?
>
>Может это из-за этого?
>У кого это работает - какие свойства у юзера popa3d или его
>можно и не создавать?
>
>Удачи!
>HAN
>
У нас (ISP) на сервере есть только пользователь pop...
А popa3d от кого запускается?
  Рекомендовать в FAQ | Cообщить модератору | Наверх

18. "RE: Как заставить popa3d писать в лог ip-шник юзера?"
Сообщение от HAN Искать по авторуВ закладки on 05-Янв-03, 15:18  (MSK)
>>># man 3 getenv
>>>if the variable REMOTE_ADDR (в данном случае) is not in the current
>>>environment,
>>>a null pointer is returned.
>>
>>Hi!
>>А может это быть связано с тем, что по рекомендациям установки popa3d
>>создан пользователь с шеллом /dev/null и с  home-директорий /dev/null ?
>>
>>Может это из-за этого?
>>У кого это работает - какие свойства у юзера popa3d или его
>>можно и не создавать?
>>
>>Удачи!
>>HAN
>>
>У нас (ISP) на сервере есть только пользователь pop...
>А popa3d от кого запускается?


Hi!
Вот что на этого юзера (popa3d) есть:
inetd.conf
----
pop3    stream  tcp     nowait  root    /usr/sbin/popa3d        popa3d
----

hosts.allow
----
popa3d  : ALL : setenv REMOTE_ADDR %a : allow
popa3d  : ALL : setenv REMOTE_ADDR %h : allow
----

passwd
----
popa3d:*:1026:2003:pop3:/dev/null:/dev/null
----

Сам inetd запущен с такими ключами /usr/sbin/inetd -wW -l -R 1024

Запускается popa3d (как процесс по ps waux) от имени пользователя который смотрит свой почтовый ящик (причем пробовали юзеров с разными шеллами (sh/csh))
Какие есть соображения?

Удачи!
HAN

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

19. "RE: Как заставить popa3d писать в лог ip-шник юзера?"
Сообщение от pLYM0rph Искать по авторуВ закладки on 05-Янв-03, 15:48  (MSK)
>>>># man 3 getenv
>>>>if the variable REMOTE_ADDR (в данном случае) is not in the current
>>>>environment,
>>>>a null pointer is returned.
>>>
>>>Hi!
>>>А может это быть связано с тем, что по рекомендациям установки popa3d
>>>создан пользователь с шеллом /dev/null и с  home-директорий /dev/null ?
>>>
>>>Может это из-за этого?
>>>У кого это работает - какие свойства у юзера popa3d или его
>>>можно и не создавать?
>>>
>>>Удачи!
>>>HAN
>>>
>>У нас (ISP) на сервере есть только пользователь pop...
>>А popa3d от кого запускается?
>
>
>Hi!
>Вот что на этого юзера (popa3d) есть:
>inetd.conf
>----
>pop3    stream  tcp     nowait
> root    /usr/sbin/popa3d      
>  popa3d
>----
>
>hosts.allow
>----
>popa3d  : ALL : setenv REMOTE_ADDR %a : allow
>popa3d  : ALL : setenv REMOTE_ADDR %h : allow
>----
>
>passwd
>----
>popa3d:*:1026:2003:pop3:/dev/null:/dev/null
>----
>
>Сам inetd запущен с такими ключами /usr/sbin/inetd -wW -l -R 1024
>
>Запускается popa3d (как процесс по ps waux) от имени пользователя который смотрит
>свой почтовый ящик (причем пробовали юзеров с разными шеллами (sh/csh))
>Какие есть соображения?
>
>Удачи!
>HAN
А если вместо setenv REMOTE_ADDR %a написать (REMOTE_ADDR=%a; export REMOTE_ADDR)
  Рекомендовать в FAQ | Cообщить модератору | Наверх

20. "RE: Как заставить popa3d писать в лог ip-шник юзера?"
Сообщение от HAN Искать по авторуВ закладки on 05-Янв-03, 16:56  (MSK)
>А если вместо setenv REMOTE_ADDR %a написать (REMOTE_ADDR=%a; export REMOTE_ADDR)

Нет, без изменений. Будем еще копать в сторону setenv...

Удачи!
HAN


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

21. "RE: Как заставить popa3d писать в лог ip-шник юзера?"
Сообщение от HAN Искать по авторуВ закладки on 05-Янв-03, 20:48  (MSK)
>>А если вместо setenv REMOTE_ADDR %a написать (REMOTE_ADDR=%a; export REMOTE_ADDR)
>
>Нет, без изменений. Будем еще копать в сторону setenv...
>
>Удачи!
>HAN

Hi!
Вобщем народ проблема решена. Была неточность в hosts.allow из-за которой не отрабатывало условие для popa3d. Теперь все работает :)

Удачи!
HAN

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

22. "RE: Как заставить popa3d писать в лог ip-шник юзера?"
Сообщение от Andre Искать по авторуВ закладки on 06-Янв-03, 12:37  (MSK)
>>Скажите, народ, а это у кого-то работает? У нас вместо IP пишет
>>в лог ((null)).
>>Что может быть?

Тоже самое.
Но у меня используется xinetd. В host.allow строчки написал. Что еще надо прописать?

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

23. "RE: Как заставить popa3d писать в лог ip-шник юзера?"
Сообщение от HAN Искать по авторуВ закладки on 06-Янв-03, 16:27  (MSK)
>>>Скажите, народ, а это у кого-то работает? У нас вместо IP пишет
>>>в лог ((null)).
>>>Что может быть?
>
>Тоже самое.
>Но у меня используется xinetd. В host.allow строчки написал. Что еще надо
>прописать?

Hi!
Посмотри в файле hosts.allow нет ли правил которые отрабатывают _раньше_ вставленных тобой правил для popa3d.

Удачи!
HAN

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

24. "RE: Как заставить popa3d писать в лог ip-шник юзера?"
Сообщение от Andre Искать по авторуВ закладки on 08-Янв-03, 14:08  (MSK)

>Посмотри в файле hosts.allow нет ли правил которые отрабатывают _раньше_ вставленных тобой
>правил для popa3d.
>
>Удачи!
>HAN

hosts.allow:

popa3d: ALL : setenv REMOTE_ADDR %a : ALLOW
popa3d: ALL : setenv REMOTE_ADDR %h : ALLOW
ALL: ALL

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

25. "RE: Как заставить popa3d писать в лог ip-шник юзера?"
Сообщение от HAN Искать по авторуВ закладки on 08-Янв-03, 15:12  (MSK)
>
>>Посмотри в файле hosts.allow нет ли правил которые отрабатывают _раньше_ вставленных тобой
>>правил для popa3d.
>>
>>Удачи!
>>HAN
>
>hosts.allow:
>
>popa3d: ALL : setenv REMOTE_ADDR %a : ALLOW
>popa3d: ALL : setenv REMOTE_ADDR %h : ALLOW
>ALL: ALL

Hi!
Т.е. выше ничего нет? Вторую строку кстати можешь убрать - это одно и тоже просто будет выводиться имя хоста.
А покажи как у тебя сервис pop3 в inetd.conf заявлен?
Сам сервис работает нормально (почта отдается)?
Popa3d (пропатченный) скомпилировался нормально? Можешь еще попробовать перед компиляцией удалить в этой директории файлы *.o и снова сделать make.
Проинсталлить его и еще погонять сервис pop3.

Удачи!
HAN


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

26. "RE: Как заставить popa3d писать в лог ip-шник юзера?"
Сообщение от Ivan Искать по авторуВ закладки on 08-Янв-03, 15:55  (MSK)

>>hosts.allow:
>>
>>popa3d: ALL : setenv REMOTE_ADDR %a : ALLOW
>>popa3d: ALL : setenv REMOTE_ADDR %h : ALLOW
>>ALL: ALL
>
>Hi!
>Т.е. выше ничего нет? Вторую строку кстати можешь убрать - это одно
>и тоже просто будет выводиться имя хоста.

Выше ничего нет.
Вторую строку убрал.

>А покажи как у тебя сервис pop3 в inetd.conf заявлен?

У меня popa3d запускается через xinetd
/etc/xinetd.d/popa3d:

service pop3
{
        disable = no
        socket_type             = stream
        wait                    = no
        user                    = root
        server                  =  /usr/local/sbin/popa3d
        log_on_success          += USERID HOST
        log_on_failure          += USERID HOST
}

>Сам сервис работает нормально (почта отдается)?

Нормально
В логах
Jan  8 14:47:30 my_domain popa3d[8496]: Authentication passed for roma((null))
Jan  8 14:47:30 my_domain popa3d[8496]: 0 messages (0 bytes) loaded

>Popa3d (пропатченный) скомпилировался нормально? Можешь еще попробовать перед компиляцией удалить в этой
>директории файлы *.o и снова сделать make.
>Проинсталлить его и еще погонять сервис pop3.

Пропатчился и скомпилировался нормально и судя по тому что в лог стал писать после имени ((null)) - все ок, только getenv(REMOTE_ADDR) не получает переменной.
Скорее всего дело в xinetd - но как исправить?  

.

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

27. "RE: Как заставить popa3d писать в лог ip-шник юзера?"
Сообщение от HAN Искать по авторуВ закладки on 08-Янв-03, 16:41  (MSK)
>>А покажи как у тебя сервис pop3 в inetd.conf заявлен?
>
>У меня popa3d запускается через xinetd
>/etc/xinetd.d/popa3d:
>
>service pop3
>{
>        disable = no
>        socket_type    
>         = stream
>
>        wait    
>          
>     = no
>        user    
>          
>     = root
>        server    
>          
>   =  /usr/local/sbin/popa3d
>        log_on_success    
>      += USERID HOST
>        log_on_failure    
>      += USERID HOST
>}

Hi!
А почему через xinetd? Мы вообще-то без иксов работаем, поэтому тут тонкости я не знаю :(
Может еще вот что - какой шелл используется у тебя для запуска xinetd? какой шелл у рута? дело в том что команда setenv работает в csh, в sh ее нет. Пока такие соображения.

Удачи!
HAN

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

28. "RE: Как заставить popa3d писать в лог ip-шник юзера?"
Сообщение от Ivan Искать по авторуВ закладки on 08-Янв-03, 17:28  (MSK)

>А почему через xinetd? Мы вообще-то без иксов работаем, поэтому тут тонкости
>я не знаю :(
>Может еще вот что - какой шелл используется у тебя для запуска
>xinetd? какой шелл у рута? дело в том что команда setenv
>работает в csh, в sh ее нет. Пока такие соображения.

xinetd к иксам отношения не имеет - это тоже что и inetd только более новый.
шел у рута bash

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

29. "RE: Как заставить popa3d писать в лог ip-шник юзера?"
Сообщение от HAN Искать по авторуВ закладки on 08-Янв-03, 17:53  (MSK)
>
>>А почему через xinetd? Мы вообще-то без иксов работаем, поэтому тут тонкости
>>я не знаю :(
>>Может еще вот что - какой шелл используется у тебя для запуска
>>xinetd? какой шелл у рута? дело в том что команда setenv
>>работает в csh, в sh ее нет. Пока такие соображения.
>
>xinetd к иксам отношения не имеет - это тоже что и inetd
>только более новый.
>шел у рута bash

Hi!
А ты можешь пока для теста запустить все через inetd? Посмотреть результат. может попробовать шелл поменять и тоже что будет. Конечно с возможностью откатиться назад :) Это я просто как вариант все же найти хотя бы точнее _где_ проблема. Мы например искали немного в другом направлении и путем перебора возможных вариантов - вычислили.
Кстати а вот еще один вариант - пока _запрети_ popa3d в xinetd и что будет - работает ли это правило (те. в этой же строке поставь deny)

Удачи!
HAN


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

30. "RE: Как заставить popa3d писать в лог ip-шник юзера?"
Сообщение от uldus Искать по авторуВ закладки on 09-Янв-03, 10:56  (MSK)
>У меня popa3d запускается через xinetd
>/etc/xinetd.d/popa3d:

Чтож ты тогда hosts.allow правишь, ковыряй конфиг xinetd (ключ env) или popa3d через tcpd враппер запускай:

server       =  /usr/sbin/tcpd
server_args  =  /usr/local/sbin/popa3d

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

31. "RE: Как заставить popa3d писать в лог ip-шник юзера?"
Сообщение от Ivan Искать по авторуВ закладки on 09-Янв-03, 14:05  (MSK)
>>У меня popa3d запускается через xinetd
>>/etc/xinetd.d/popa3d:
>
>Чтож ты тогда hosts.allow правишь, ковыряй конфиг xinetd (ключ env) или popa3d
>через tcpd враппер запускай:
>
>server       =  /usr/sbin/tcpd
>server_args  =  /usr/local/sbin/popa3d

Я уже наверное всех достал но все-же ....

через tctd popa3d запускается но висит.
В ps -ax видно
21905 ?        R      0:14 tcpd /usr/local/sbin/popa3d
netstat показывает соединение
tcp        0      0 ххх.ххх.ххх.ххх:110      192.168.0.2:34340       ESTABLISHED
при этом почта не получается процесы залипают пока не прибьешь

А если через env - что писать параметром?

env           = REMOTE_ADDR=???????

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

32. "RE: Как заставить popa3d писать в лог ip-шник юзера?"
Сообщение от uldus Искать по авторуВ закладки on 09-Янв-03, 16:24  (MSK)
>через tctd popa3d запускается но висит.

Замени в popa3d патче getenv(...) на getpeername(...), тогда вообще переменной окружения не понадобится.

примерно так:

struct sockaddr addr_name;
socklen_t *addr_len;

if (getpeername(0, &addr_name, &addr_len) >= 0){                          
  // выплевываем адрес в sprintf через inet_ntoa(addr_name->sin_addr)
}                                                                  

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

33. "RE: Как заставить popa3d писать в лог ip-шник юзера?"
Сообщение от lavr emailИскать по авторуВ закладки on 09-Янв-03, 17:04  (MSK)
>>через tctd popa3d запускается но висит.
>
>Замени в popa3d патче getenv(...) на getpeername(...), тогда вообще переменной окружения не
>понадобится.
>
>примерно так:
>
>struct sockaddr addr_name;
>socklen_t *addr_len;
>
>if (getpeername(0, &addr_name, &addr_len) >= 0){                          
>  // выплевываем адрес в sprintf через inet_ntoa(addr_name->sin_addr)
>}

uldus - ты попал... ;)

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

34. "RE: Как заставить popa3d писать в лог ip-шник юзера?"
Сообщение от uldus Искать по авторуВ закладки on 10-Янв-03, 10:58  (MSK)
>>>через tctd popa3d запускается но висит.
>>
>>Замени в popa3d патче getenv(...) на getpeername(...), тогда вообще переменной окружения не
>>понадобится.
>>
>>примерно так:
>>
>>struct sockaddr addr_name;
>>socklen_t *addr_len;
>>
>>if (getpeername(0, &addr_name, &addr_len) >= 0){                          
>>  // выплевываем адрес в sprintf через inet_ntoa(addr_name->sin_addr)
>>}
>
>uldus - ты попал... ;)

Что поделаешь - копировал начало из man'а, а конец из кода. Всего-то не к месту употребил ссылку для addr_len и забыл

bzero(&name, sizeof(name));
addr_len = sizeof(addr_name);

перед if поставить :-)

Итого получилось:
struct sockaddr addr_name;
socklen_t addr_len;

addr_len = sizeof(addr_name);
bzero(&addr_name, sizeof(addr_name));

if (getpeername(0, &addr_name, &addr_len) >= 0){                          

  // выплевываем адрес в printf через inet_ntoa(addr_name->sin_addr)
}

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

35. "RE: Как заставить popa3d писать в лог ip-шник юзера?"
Сообщение от lavr emailИскать по авторуВ закладки on 10-Янв-03, 11:14  (MSK)
>>>>через tctd popa3d запускается но висит.
>>>
>>>Замени в popa3d патче getenv(...) на getpeername(...), тогда вообще переменной окружения не
>>>понадобится.
>>>
>>>примерно так:
>>>
>>>struct sockaddr addr_name;
>>>socklen_t *addr_len;
>>>
>>>if (getpeername(0, &addr_name, &addr_len) >= 0){                          
>>>  // выплевываем адрес в sprintf через inet_ntoa(addr_name->sin_addr)
>>>}
>>
>>uldus - ты попал... ;)
>
>Что поделаешь - копировал начало из man'а, а конец из кода. Всего-то
>не к месту употребил ссылку для addr_len и забыл
>
>bzero(&name, sizeof(name));
>addr_len = sizeof(addr_name);
>
>перед if поставить :-)
>
>Итого получилось:
>struct sockaddr addr_name;
>socklen_t addr_len;
>
>addr_len = sizeof(addr_name);
>bzero(&addr_name, sizeof(addr_name));
>
>if (getpeername(0, &addr_name, &addr_len) >= 0){                          
>
>  // выплевываем адрес в printf через inet_ntoa(addr_name->sin_addr)
>}

да я не о том, код можно самостоятельно дописать, я о поговорке:

"дал рожна, дай ложку" :) (заставили таки полностью расписать решение) ;)

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

36. "RE: Как заставить popa3d писать в лог ip-шник юзера?"
Сообщение от Varran emailИскать по авторуВ закладки on 13-Янв-03, 11:43  (MSK)
Пардон я тут отвлекся, так что приведенный патч с xinetd работать не будет?
И не совсем понял насчет "выплевываем"...
  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

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




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

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