SOURCES: xinetd-ssize_t.patch (NEW), xinetd-label.patch (NEW), xinetd-conte...

arekm arekm at pld-linux.org
Mon Jun 16 18:34:12 CEST 2008


Author: arekm                        Date: Mon Jun 16 16:34:11 2008 GMT
Module: SOURCES                       Tag: HEAD
---- Log message:
- new from fc (listen on ipv6, too; labeled networking; ssize_t fixes

---- Files affected:
SOURCES:
   xinetd-ssize_t.patch (NONE -> 1.1)  (NEW), xinetd-label.patch (NONE -> 1.1)  (NEW), xinetd-contextconf.patch (NONE -> 1.1)  (NEW), xinetd-bind-ipv6.patch (NONE -> 1.1)  (NEW)

---- Diffs:

================================================================
Index: SOURCES/xinetd-ssize_t.patch
diff -u /dev/null SOURCES/xinetd-ssize_t.patch:1.1
--- /dev/null	Mon Jun 16 18:34:12 2008
+++ SOURCES/xinetd-ssize_t.patch	Mon Jun 16 18:34:05 2008
@@ -0,0 +1,660 @@
+--- xinetd-2.3.14/libs/src/sio/impl.h.ssize_t	2006-10-27 12:33:29.000000000 -0400
++++ xinetd-2.3.14/libs/src/sio/impl.h	2006-10-27 12:40:21.000000000 -0400
+@@ -142,9 +142,9 @@
+  * Internal functions that are visible
+  */
+ int __sio_writef( __sio_od_t *odp, int fd ) ;
+-int __sio_extend_buffer( __sio_id_t *idp, int fd, int b_left ) ;
++ssize_t __sio_extend_buffer( __sio_id_t *idp, int fd, ssize_t b_left ) ;
+ int __sio_init( __sio_descriptor_t *dp, int fd, enum __sio_stream stream_type );
+-int __sio_more( __sio_id_t *idp, int fd ) ;
++ssize_t __sio_more( __sio_id_t *idp, int fd ) ;
+ sio_status_e __sio_switch( __sio_id_t *idp, int fd ) ;
+ 
+ 
+--- xinetd-2.3.14/libs/src/sio/siosup.c.ssize_t	2003-09-06 10:41:59.000000000 -0400
++++ xinetd-2.3.14/libs/src/sio/siosup.c	2006-10-27 12:40:23.000000000 -0400
+@@ -599,9 +599,9 @@
+  *       If it does not return SIO_ERR, it sets start, nextb, end
+  *         If it returns SIO_ERR, it does not change anything
+  */
+-static int __sio_readf( __sio_id_t *idp, int fd )
++static ssize_t __sio_readf( __sio_id_t *idp, int fd )
+ {
+-   int cc ;
++   ssize_t cc ;
+ 
+    /*
+     * First check for a tied fd and flush the stream if necessary
+@@ -634,7 +634,7 @@
+          {
+             if ( __sio_switch( idp, fd ) == FAILURE )
+                return( SIO_ERR ) ;
+-            cc = -1 ;
++            cc = (ssize_t)-1 ;
+          }
+       }
+       else
+@@ -680,7 +680,7 @@
+    for ( ;; )
+    {
+       cc = read( fd, idp->buf, (int) idp->buffer_size ) ;
+-      if ( cc == -1 )
++      if ( cc == (ssize_t)-1 )
+          if ( errno == EINTR )
+             continue ;
+          else
+@@ -705,9 +705,9 @@
+  *    auxiliary buffer)
+  *      Also, if successful, idp->nextb is set to idp->buf, idp->end is modified.
+  */
+-int __sio_extend_buffer( __sio_id_t *idp, int fd, int b_left )
++ssize_t __sio_extend_buffer( __sio_id_t *idp, int fd, ssize_t b_left )
+ {
+-   int b_read ;
++   ssize_t b_read ;
+ 
+    /*
+     * copy to auxiliary buffer
+@@ -733,10 +733,10 @@
+  *
+  * Return value: the number of bytes read.
+  */
+-int __sio_more( __sio_id_t *idp, int fd )
++ssize_t __sio_more( __sio_id_t *idp, int fd )
+ {
+    int b_left = &idp->buf[ idp->buffer_size ] - idp->end ;
+-   int cc ;
++   ssize_t cc ;
+ 
+    if ( b_left <= 0 )
+       return( 0 ) ;
+--- xinetd-2.3.14/libs/src/sio/sprint.c.ssize_t	2006-10-27 13:14:49.000000000 -0400
++++ xinetd-2.3.14/libs/src/sio/sprint.c	2006-10-27 13:14:51.000000000 -0400
+@@ -18,7 +18,7 @@
+ typedef unsigned long long 		u_wide_int ;
+ typedef int 				bool_int ;
+ 
+-static char *conv_10( wide_int num, bool_int is_unsigned, bool_int *is_negative, char *buf_end, int *len );
++static char *conv_10( wide_int num, bool_int is_unsigned, bool_int *is_negative, char *buf_end, size_t *len );
+ 
+ #define S_NULL_LEN 			6
+ static char S_NULL[S_NULL_LEN+1] = "(null)";
+@@ -69,7 +69,7 @@
+ 	}							\
+ 	if ( __SIO_MUST_FLUSH( *odp, c ) && fd >= 0 )		\
+ 	{							\
+-		int b_in_buffer = sp - odp->start ;		\
++		ssize_t b_in_buffer = sp - odp->start ;		\
+ 								\
+ 		odp->nextb = sp ;				\
+ 		if ( __sio_writef( odp, fd ) != b_in_buffer )	\
+@@ -122,11 +122,11 @@
+  *     - all floating point arguments are passed as doubles
+  */
+ /* VARARGS2 */
+-int Sprint( int fd, const char *fmt, ...) 
++ssize_t Sprint( int fd, const char *fmt, ...) 
+ {
+ 	__sio_descriptor_t *dp ;
+ 	__sio_od_t *odp ;
+-	int cc ;
++	ssize_t cc ;
+ 	va_list ap ;
+ 
+ 	if( sio_setup( fd, &dp, __SIO_OUTPUT_STREAM ) == SIO_ERR )
+@@ -143,7 +143,7 @@
+ /*
+  * This is the equivalent of vfprintf for SIO
+  */
+-int Sprintv( int fd, const char *fmt, va_list ap)
++ssize_t Sprintv( int fd, const char *fmt, va_list ap)
+ {
+ 	__sio_descriptor_t *dp ;
+ 	__sio_od_t *odp ;
+@@ -162,7 +162,7 @@
+  * in buf).
+  */
+ static char *conv_fp( char format, double num, boolean_e add_dp, 
+-   int precision, bool_int *is_negative, char buf[], int *len )
++   size_t precision, bool_int *is_negative, char buf[], size_t *len )
+ 	/* always add decimal point if YES */
+ {
+ 	char *s = buf ;
+@@ -220,7 +220,7 @@
+ 	if ( format != 'f' )
+ 	{
+ 		char temp[ EXPONENT_LENGTH ] ;		/* for exponent conversion */
+-		int t_len ;
++		size_t t_len ;
+ 		bool_int exponent_is_negative ;
+ 
+ 		*s++ = format ;		/* either e or E */
+@@ -261,7 +261,7 @@
+  * which is a pointer to the END of the buffer + 1 (i.e. if the buffer
+  * is declared as buf[ 100 ], buf_end should be &buf[ 100 ])
+  */
+-static char *conv_p2( u_wide_int num, int nbits, char format, char *buf_end, int *len )
++static char *conv_p2( u_wide_int num, int nbits, char format, char *buf_end, size_t *len )
+ {
+ 	int mask = ( 1 << nbits ) - 1 ;
+ 	char *p = buf_end ;
+@@ -292,7 +292,7 @@
+  * which is a pointer to the END of the buffer + 1 (i.e. if the buffer
+  * is declared as buf[ 100 ], buf_end should be &buf[ 100 ])
+  */
+-static char *conv_10( wide_int num, bool_int is_unsigned, bool_int *is_negative, char *buf_end, int *len )
++static char *conv_10( wide_int num, bool_int is_unsigned, bool_int *is_negative, char *buf_end, size_t *len )
+ {
+ 	char *p = buf_end ;
+ 	u_wide_int magnitude ;
+@@ -346,19 +346,19 @@
+  * Do format conversion placing the output in odp.
+  * Note: we do not support %n for security reasons.
+  */
+-int __sio_converter( __sio_od_t *odp, int fd, const char *fmt, va_list ap )
++ssize_t __sio_converter( __sio_od_t *odp, int fd, const char *fmt, va_list ap )
+ {
+ 	char *sp = NULL;
+ 	char *bep = NULL;
+-	int cc = 0 ;
+-	int i ;
++	ssize_t cc = 0 ;
++	size_t i ;
+ 
+ 	char *s = NULL;
+ 	char *q = NULL;
+-	int s_len ;
++	size_t s_len ;
+ 
+ 	int min_width = 0 ;
+-	int precision = 0 ;
++	size_t precision = 0 ;
+ 	enum { LEFT, RIGHT } adjust ;
+ 	char pad_char ;
+ 	char prefix_char ;
+--- xinetd-2.3.14/libs/src/sio/sio.c.ssize_t	2006-10-27 12:35:12.000000000 -0400
++++ xinetd-2.3.14/libs/src/sio/sio.c	2006-10-27 13:28:09.000000000 -0400
+@@ -28,17 +28,17 @@
+ /*
+  * Stream write call: arguments same as those of write(2)
+  */
+-int Swrite( int fd, const char *addr, unsigned int nbytes )
++ssize_t Swrite( int fd, const char *addr, size_t nbytes )
+ {
+ 	__sio_descriptor_t *dp ;
+ 	__sio_od_t *odp ;
+-	unsigned int b_transferred ;
+-	unsigned int b_avail ;
+-	int total_b_transferred ;
+-	int b_written ;
+-	int b_in_buffer ;
++	size_t b_transferred ;
++	size_t b_avail ;
++	ssize_t total_b_transferred ;
++	ssize_t b_written ;
++	ssize_t b_in_buffer ;
+ 
+-	if ( nbytes > INT_MAX )
++	if ( nbytes > SSIZE_MAX )
+ 		return( SIO_ERR );
+ 	if( sio_setup( fd, &dp, __SIO_OUTPUT_STREAM ) == SIO_ERR )
+ 		return( SIO_ERR );
+@@ -62,7 +62,7 @@
+ 	b_in_buffer = odp->buf_end - odp->start ;
+ 	b_written = __sio_writef( odp, fd ) ;
+ 	if ( b_written != b_in_buffer )
+-		return( (b_written >= (int)nbytes) ? (int)nbytes : b_written ) ;
++		return( (b_written >= (ssize_t)nbytes) ? (ssize_t)nbytes : b_written ) ;
+ 	
+ 	total_b_transferred = b_transferred ;
+ 	addr += b_transferred ;
+@@ -83,7 +83,7 @@
+ 		 * the buffer is full
+ 		 */
+ 		b_written = __sio_writef( odp, fd ) ;
+-		if ( b_written != (int)odp->buffer_size )
++		if ( b_written != (ssize_t)odp->buffer_size )
+ 		{
+ 			if ( b_written != SIO_ERR )
+ 			{
+@@ -157,8 +157,8 @@
+ 	__sio_id_t *idp ;
+ 	char *cp ;
+ 	char *line_start ;
+-	int b_left ;
+-	int extension ;
++	ssize_t b_left ;
++	ssize_t extension ;
+ 
+ 	if( sio_setup( fd, &dp, __SIO_INPUT_STREAM ) == SIO_ERR )
+ 		return( NULL );
+@@ -361,7 +361,7 @@
+ 
+ #ifndef sio_memscan
+ 
+-static char *sio_memscan( const char *from, int how_many, char ch )
++static char *sio_memscan( const char *from, size_t how_many, char ch )
+ {
+    char *p ;
+    char *last = from + how_many ;
+@@ -377,7 +377,7 @@
+ 
+ #ifdef NEED_MEMCOPY
+ 
+-void __sio_memcopy( const char *from, char *to, int nbytes )
++void __sio_memcopy( const char *from, char *to, size_t nbytes )
+ {
+    while ( nbytes-- )
+       *to++ = *from++ ;
+--- xinetd-2.3.14/xinetd/udpint.c.ssize_t	2005-10-05 13:20:11.000000000 -0400
++++ xinetd-2.3.14/xinetd/udpint.c	2006-10-27 12:17:10.000000000 -0400
+@@ -226,7 +226,7 @@
+ {
+    char   *p ;
+    int   left ;
+-   int   cc ;
++   ssize_t   cc ;
+    const char   *func = "send_data" ;
+ 
+    for ( p = buf, left = len ; left > 0 ; left -= cc, p+= cc )
+@@ -236,7 +236,7 @@
+       else
+          cc = sendto( sd, p, left, 0, SA( addr ), sizeof( *addr ) ) ;
+ 
+-      if ( cc == -1 ) {
++      if ( cc == (ssize_t)-1 ) {
+          if ( errno == EINTR )
+          {
+             cc = 0 ;
+@@ -264,12 +264,12 @@
+ 
+    for ( ;; )
+    {
+-      int cc ;
++      ssize_t cc ;
+ 
+       from_len = sizeof( pp->from ) ;
+       cc = recvfrom( INT_REMOTE( ip ), pp->data, pp->size,
+                                     0, SA( &pp->from ), &from_len ) ;
+-      if ( cc == -1 )
++      if ( cc == (ssize_t)-1 )
+       {
+          if ( errno != EINTR )
+          {
+@@ -306,14 +306,14 @@
+ static status_e udp_local_to_remote( channel_s *chp )
+ {
+    char   buf[ MAX_DATAGRAM_SIZE ] ;
+-   int    cc ;
++   ssize_t    cc ;
+    const char   *func = "udp_local_to_remote" ;
+ 
+    for ( ;; )
+    {
+       cc = recv( chp->ch_local_socket, buf, sizeof( buf ), 0 ) ;
+    
+-      if ( cc == -1 )
++      if ( cc == (ssize_t)-1 )
+       {
+          if ( errno != EINTR ) 
+          {
+--- xinetd-2.3.14/xinetd/service.c.ssize_t	2006-10-27 12:17:10.000000000 -0400
++++ xinetd-2.3.14/xinetd/service.c	2006-10-27 12:17:10.000000000 -0400
+@@ -610,7 +610,7 @@
+    /* print the banner regardless of access control */
+    if ( SC_BANNER(scp) != NULL ) {
+       char tmpbuf[TMPSIZE];
+-      int retval;
++      ssize_t retval;
+       int bannerfd = open(SC_BANNER(scp), O_RDONLY);
+ 
+       if( bannerfd < 0 ) {
+@@ -620,7 +620,7 @@
+       }
+ 
+       while( (retval = read(bannerfd, tmpbuf, sizeof(tmpbuf))) ) {
+-         if (retval == -1)
++         if (retval == (ssize_t)-1)
+          {
+             if (errno == EINTR)
+                continue;
+--- xinetd-2.3.14/xinetd/signals.c.ssize_t	2003-12-23 10:30:10.000000000 -0500
++++ xinetd-2.3.14/xinetd/signals.c	2006-10-27 12:17:10.000000000 -0400
+@@ -402,7 +402,7 @@
+  */
+ static void my_handler( int sig )
+ {
+-   int ret_val;
++   ssize_t ret_val;
+    int saved_errno = errno;
+ #if NSIG < 256
+    unsigned char sig_byte;
+@@ -412,13 +412,13 @@
+    do
+    {
+       ret_val = write(signals_pending[1], &sig_byte, 1);
+-   } while (ret_val == -1 && errno == EINTR);
++   } while (ret_val == (ssize_t)-1 && errno == EINTR);
+ #else
+    if (signals_pending[1] < 0) return;
+    do
+    {
+       ret_val = write(signals_pending[1], &sig, sizeof(int));
+-   } while (ret_val == -1 && errno == EINTR);
++   } while (ret_val == (ssize_t)-1 && errno == EINTR);
+ #endif
+    errno = saved_errno;
+ }
+@@ -470,12 +470,12 @@
+ #endif
+ 
+    while( --i >= 0 ) {
+-      int ret_val;
++      ssize_t ret_val;
+       do
+       {
+          ret_val = read(signals_pending[0], &sig, sizeof(sig));
+-      } while (ret_val == -1 && errno == EINTR);
+-      if (ret_val != sizeof(sig) ) {
++      } while (ret_val == (ssize_t)-1 && errno == EINTR);
++      if (ret_val != (ssize_t)sizeof(sig) ) {
+          msg(LOG_ERR, func, "Error retrieving pending signal: %m");
+          return;
+       }
+--- xinetd-2.3.14/xinetd/connection.c.ssize_t	2005-10-05 13:20:11.000000000 -0400
++++ xinetd-2.3.14/xinetd/connection.c	2006-10-27 12:17:10.000000000 -0400
+@@ -96,13 +96,15 @@
+       if ( SVC_SOCKET_TYPE( sp ) == SOCK_DGRAM )
+       {
+          char t_ch ;
++	 ssize_t val;
+ 
+          /*
+           * This trick is done to get the remote address.
+           * select(2) guaranteed that we won't block on the recvfrom
+           */
+-         if ( recvfrom( SVC_FD( sp ), &t_ch, 1, MSG_PEEK,
+-                              &cp->co_remote_address.sa, &sin_len ) == -1 )
++	 val = recvfrom( SVC_FD( sp ), &t_ch, 1, MSG_PEEK,
++                              &cp->co_remote_address.sa, &sin_len );
++         if ( val == (ssize_t)-1 )
+          {
+             msg( LOG_ERR, func, "service %s, recvfrom: %m", SVC_ID( sp ) ) ;
+             return( FAILED ) ;
+--- xinetd-2.3.14/xinetd/util.c.ssize_t	2005-10-05 17:45:41.000000000 -0400
++++ xinetd-2.3.14/xinetd/util.c	2006-10-27 12:17:10.000000000 -0400
+@@ -198,7 +198,8 @@
+  */
+ status_e write_buf( int fd, const char *buf, int len )
+ {
+-   int cc, i ;
++   int i ;
++   ssize_t cc;
+ 
+    for ( i = 0 ; len > 0 ; i += cc, len -= cc )
+    {
+@@ -234,7 +235,7 @@
+ void drain( int sd )
+ {
+    char buf[ 256 ] ; /* This size is arbitrarily chosen */
+-   int ret ;
++   ssize_t ret ;
+    int old_val ;
+ 
+    /* Put in non-blocking mode so we don't hang. */
+--- xinetd-2.3.14/xinetd/redirect.c.ssize_t	2003-08-06 02:12:10.000000000 -0400
++++ xinetd-2.3.14/xinetd/redirect.c	2006-10-27 12:17:10.000000000 -0400
+@@ -58,7 +58,8 @@
+    struct service *sp = SERVER_SERVICE( serp );
+    struct service_config *scp = SVC_CONF( sp );
+    int RedirDescrip = SERVER_FD( serp );
+-   int maxfd, num_read, num_wrote=0, ret=0;
++   int maxfd;
++   ssize_t num_read, num_wrote=0, ret=0;
+    unsigned int sin_len = 0;
+    unsigned long bytes_in = 0, bytes_out = 0;
+    int no_to_nagle = 1;
+@@ -156,7 +157,7 @@
+             do {
+                num_read = read(RedirDescrip,
+                   buff, sizeof(buff));
+-               if (num_read == -1 && errno == EINTR)
++               if (num_read == (ssize_t)-1 && errno == EINTR)
+                   continue;
+                if (num_read <= 0)
+                   goto REDIROUT;
+--- xinetd-2.3.14/xinetd/tcpint.c.ssize_t	2005-10-05 13:20:11.000000000 -0400
++++ xinetd-2.3.14/xinetd/tcpint.c	2006-10-27 12:17:10.000000000 -0400
+@@ -273,7 +273,7 @@
+ static stream_status_e tcp_local_to_remote( channel_s *chp )
+ {
+    char  buf[ DATAGRAM_SIZE ] ;
+-   int   rcc, wcc ;
++   ssize_t   rcc, wcc ;
+    char *p ;
+    int   left ;
+    const char *func = "tcp_local_to_remote" ;
+@@ -283,7 +283,7 @@
+       rcc = recv( chp->ch_local_socket, buf, sizeof( buf ), 0 ) ;
+       if ( rcc == 0 )
+          return( S_SERVER_ERR ) ;
+-      else if ( rcc == -1 )
++      else if ( rcc == (ssize_t)-1 )
+       {
+          if ( errno != EINTR )
+          {
+@@ -300,7 +300,7 @@
+       wcc = send( chp->ch_remote_socket, p, left, 0 ) ;
+       if ( wcc == 0 )
+          return( S_CLIENT_ERR ) ;
+-      else if ( wcc == -1 )
++      else if ( wcc == (ssize_t)-1 )
+       {
+          if ( errno == EINTR )
+             wcc = 0 ;
+@@ -326,7 +326,7 @@
+ static stream_status_e tcp_remote_to_local( channel_s *chp )
+ {
+    char  buf[ DATAGRAM_SIZE ] ;
+-   int   rcc, wcc ;
++   ssize_t   rcc, wcc ;
+    int   left ;
+    char *p ;
+    const char *func = "tcp_remote_to_local" ;
+@@ -336,7 +336,7 @@
+       rcc = recv( chp->ch_remote_socket, buf, sizeof( buf ), 0 ) ;
+       if ( rcc == 0 )
+          return( S_CLIENT_ERR ) ;
+-      else if ( rcc == -1 )
++      else if ( rcc == (ssize_t)-1 )
+       {
+          if ( errno != EINTR )
+          {
+@@ -353,7 +353,7 @@
+       wcc = send( chp->ch_local_socket, p, left, 0 ) ;
+       if ( wcc == 0 ) {
+          return( S_SERVER_ERR ) ;
+-      } else if ( wcc == -1 ) {
++      } else if ( wcc == (ssize_t)-1 ) {
+          if ( errno == EINTR ) {
+             rcc = 0 ;
+          } else {
+--- xinetd-2.3.14/xinetd/builtins.c.ssize_t	2005-10-06 11:38:04.000000000 -0400
++++ xinetd-2.3.14/xinetd/builtins.c	2006-10-27 12:17:10.000000000 -0400
+@@ -129,7 +129,7 @@
+ static void stream_echo( const struct server *serp )
+ {
+    char   buf[ BUFFER_SIZE ] ;
+-   int    cc ;
++   ssize_t    cc ;
+    int    descriptor = SERVER_FD( serp ) ;
+    struct service *svc = SERVER_SERVICE( serp ) ;;
+ 
+@@ -149,7 +149,7 @@
+       cc = read( descriptor, buf, sizeof( buf ) ) ;
+       if ( cc == 0 )
+          break ;
+-      if ( cc == -1 ) {
++      if ( cc == (ssize_t)-1 ) {
+          if ( errno == EINTR )
+             continue ;
+          else
+@@ -167,7 +167,7 @@
+ {
+    char            buf[ DATAGRAM_SIZE ] ;
+    union xsockaddr lsin;
+-   int             cc ;
++   ssize_t             cc ;
+    socklen_t       sin_len = 0;
+    int             descriptor = SERVER_FD( serp ) ;
+    const char     *func = "dgram_echo";
+@@ -178,15 +178,15 @@
+       sin_len = sizeof( struct sockaddr_in6 );
+ 
+    cc = recvfrom( descriptor, buf, sizeof( buf ), 0, SA( &lsin ), &sin_len ) ;
+-   if ( cc != -1 ) {
+-      (void) sendto( descriptor, buf, cc, 0, SA( &lsin ), sizeof( lsin ) ) ;
++   if ( cc != (ssize_t)-1 ) {
++      (void) sendto( descriptor, buf, (size_t)cc, 0, SA( &lsin ), sizeof( lsin ) ) ;
+    }
+ }
+ 
+ static void stream_discard( const struct server *serp )
+ {
+    char  buf[ BUFFER_SIZE ] ;
+-   int   cc ;
++   ssize_t   cc ;
+    int    descriptor = SERVER_FD( serp ) ;
+    struct service *svc = SERVER_SERVICE( serp ) ;;
+ 
+@@ -204,7 +204,7 @@
+    for ( ;; )
+    {
+       cc = read( descriptor, buf, sizeof( buf ) ) ;
+-      if ( (cc == 0) || ((cc == -1) && (errno != EINTR)) )
++      if ( (cc == 0) || ((cc == (ssize_t)-1) && (errno != EINTR)) )
+          break ;
+    }
+    if( SVC_WAITS( svc ) ) /* Service forks, so close it */
+@@ -293,14 +293,16 @@
+    unsigned int    buflen      = sizeof( time_buf ) ;
+    int             descriptor  = SERVER_FD( serp ) ;
+    const char     *func       = "dgram_daytime";
++   ssize_t         val;
+ 
+    if ( SC_IPV4( SVC_CONF( SERVER_SERVICE( serp ) ) ) ) 
+       sin_len = sizeof( struct sockaddr_in );
+    else if ( SC_IPV6( SVC_CONF( SERVER_SERVICE( serp ) ) ) ) 
+       sin_len = sizeof( struct sockaddr_in6 );
+ 
+-   if ( recvfrom( descriptor, time_buf, sizeof( time_buf ), 0,
+-            SA( &lsin ), &sin_len ) == -1 )
++   val = recvfrom( descriptor, time_buf, sizeof( time_buf ), 0,
++            SA( &lsin ), &sin_len );
++   if ( val == (ssize_t)-1 )
+       return ;
+ 
+    daytime_protocol( time_buf, &buflen ) ;
+@@ -359,13 +361,15 @@
+    socklen_t       sin_len = 0 ;
+    int             fd      = SERVER_FD( serp ) ;
+    const char     *func    = "dgram_daytime";
++   ssize_t         val;
+ 
+    if ( SC_IPV4( SVC_CONF( SERVER_SERVICE( serp ) ) ) ) 
+       sin_len = sizeof( struct sockaddr_in );
+    else if ( SC_IPV6( SVC_CONF( SERVER_SERVICE( serp ) ) ) ) 
+       sin_len = sizeof( struct sockaddr_in6 );
+ 
+-   if ( recvfrom( fd, buf, sizeof( buf ), 0, SA( &lsin ), &sin_len ) == -1 )
++   val = recvfrom( fd, buf, sizeof( buf ), 0, SA( &lsin ), &sin_len );
++   if ( val == (ssize_t)-1 )
+       return ;
+ 
+    time_protocol( time_buf ) ;
+@@ -465,13 +469,15 @@
+    int             fd      = SERVER_FD( serp ) ;
+    unsigned int    left    = sizeof( buf ) ;
+    const char     *func    = "dgram_chargen";
++   ssize_t         val;
+ 
+    if ( SC_IPV4( SVC_CONF( SERVER_SERVICE( serp ) ) ) ) 
+       sin_len = sizeof( struct sockaddr_in );
+    else if ( SC_IPV6( SVC_CONF( SERVER_SERVICE( serp ) ) ) ) 
+       sin_len = sizeof( struct sockaddr_in6 );
+ 
+-   if ( recvfrom( fd, buf, sizeof( buf ), 0, SA( &lsin ), &sin_len ) == -1 )
++   val = recvfrom( fd, buf, sizeof( buf ), 0, SA( &lsin ), &sin_len );
++   if ( val == (ssize_t)-1 )
+       return ;
+ 
<<Diff was trimmed, longer than 597 lines>>


More information about the pld-cvs-commit mailing list