truk        2004/03/05 15:35:52

  Modified:    jk/native2/common jk_channel_un.c
  Log:
  Calculate length for bind() in a portable way that works for
  sockaddr_un structs with and without sun_len.
  
  Revision  Changes    Path
  1.19      +7 -2      jakarta-tomcat-connectors/jk/native2/common/jk_channel_un.c
  
  Index: jk_channel_un.c
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_channel_un.c,v
  retrieving revision 1.18
  retrieving revision 1.19
  diff -u -r1.18 -r1.19
  --- jk_channel_un.c   24 Feb 2004 08:44:40 -0000      1.18
  +++ jk_channel_un.c   5 Mar 2004 23:35:51 -0000       1.19
  @@ -58,6 +58,12 @@
       int listenSocket;
   } jk_channel_un_private_t;
   
  +#ifndef SUN_LEN
  +/* actual length of an initialized sockaddr_un */
  +#define SUN_LEN(su) \
  +        (sizeof(*(su)) - sizeof((su)->sun_path) + strlen((su)->sun_path))
  +#endif
  +
   static int JK_METHOD jk2_channel_un_close(jk_env_t *env, jk_channel_t *ch,
                                             jk_endpoint_t *endpoint);
   
  @@ -162,8 +168,7 @@
           
           rc=bind(socketInfo->listenSocket,
                   (struct sockaddr *)& socketInfo->unix_addr,
  -                strlen( socketInfo->unix_addr.sun_path ) +
  -                sizeof( socketInfo->unix_addr.sun_family) );
  +                SUN_LEN(&(socketInfo->unix_addr)) );
           
           umask(omask); /* can't fail, so can't clobber errno */
           
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to