Главная страница


ru.linux

 
 - RU.LINUX ---------------------------------------------------------------------
 From : Andrey Khavryuchenko                 2:5020/400     24 Feb 2002  00:02:21
 To : Eugene B. Berdnikov
 Subject : Re: непонятки с getpeername в ipop3d
 -------------------------------------------------------------------------------- 
 
 Eugene,
 
 "EBB" == Eugene B Berdnikov wrote:
 
  EBB> Andrey Khavryuchenko <akhavr@kds.com.ua> wrote:
  AK> С некоторого очередного обновления у меня в логах стали появляться такие
  AK> сообщения:
  AK> 
  AK> Feb 23 08:35:51 netmaster ipop3d[5800]: pop3 service init from 10.0.2.2
  AK> Feb 23 08:35:51 netmaster ipop3d[5800]: Login user=sbelinsk
  AK> host=sveta.kds.priv [10.0.2.3] nmsgs=0/0 Feb 23 08:35:51 netmaster
  AK> ipop3d[5800]: Logout user=sbelinsk host=sveta.kds.priv [10.0.2.3] nmsgs=0
  AK> ndele=0 Вопрос в источнике, выдающем адрес 10.0.2.2 в первой строке (адрес 
  AK> сервера).
 
  EBB> Подозреваю, что первая строчка содержит выдачу getsockname(),
  EBB> а 2я и 3я - выдачу getpeername(). Т.е. это разные сущности.
 
 Увы, нет.  Вхождение 'service init from' есть только в этой функции:
 
 /* Initialize server
  * Accepts: server name for syslog or NIL
  *     /etc/services service name or NIL
  *     alternate /etc/services service name or NIL
  *     SASL service name or NIL
  *     clock interrupt handler
  *     kiss-of-death interrupt handler
  *     hangup interrupt handler
  *     termination interrupt handler
  */
 
 void server_init (char *server,char *service,char *sslservice,char *sasl,
                   void *clkint,void *kodint,void *hupint,void *trmint)
 {
                                 /* only do this if for init call */
   if (server && service && sslservice && sasl) {
     long port;
     struct servent *sv;
     struct sockaddr_in sin;
     int i = sizeof (struct sockaddr_in);
     /* Don't use tcp_clienthost() since reverse DNS problems may slow down the
      * greeting message and cause the client to time out.
      */
     char *client =
       getpeername (0,(struct sockaddr *) &sin,(void *) &i) ? "UNKNOWN" :
         ((sin.sin_family == AF_INET) ? inet_ntoa (sin.sin_addr) : "NON-IPv4");
                                 /* set server name in syslog */
     openlog (server,LOG_PID,LOG_MAIL);
     fclose (stderr);            /* possibly save a process ID */
     dorc (NIL,NIL);             /* do systemwide configuration */
     /* Use SSL if SSL service, or if server starts with "s" and not service */
     if (((port = tcp_serverport ()) >= 0)) {
       if ((sv = getservbyname (service,"tcp")) && (port == ntohs (sv->s_port)))
         syslog (LOG_DEBUG,"%s service init from %s",service,client);
 [...]
 
 Где C-шным по фону написано, что client берется из getpeername.
 
 Щось я не втну :(
 
 -- 
 Andrey V Khavryuchenko          http://www.kds.com.ua/
 Offshore Software Development
 --- ifmail v.2.15dev5
  * Origin: KDS Software Group (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 непонятки с getpeername в ipop3d   Andrey Khavryuchenko   23 Feb 2002 11:02:23 
 Re: непонятки с getpeername в ipop3d   Eugene B. Berdnikov   23 Feb 2002 19:03:08 
 Re: непонятки с getpeername в ipop3d   Andrey Khavryuchenko   24 Feb 2002 00:02:21 
 Re: непонятки с getpeername в ipop3d   Eugene B. Berdnikov   24 Feb 2002 15:03:33 
 Re: непонятки с getpeername в ipop3d   Andrey Khavryuchenko   24 Feb 2002 17:22:27 
Архивное /ru.linux/180263dd15623.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional