Blame SOURCES/xinetd-2.3.15-udp-wait.patch
|
|
cc156f |
Resolves: #1567227
|
|
|
cc156f |
|
|
|
cc156f |
--- a/xinetd/confparse.c 2018-05-04 11:00:11.019748833 +0200
|
|
|
cc156f |
+++ b/xinetd/confparse.c 2018-05-04 11:49:26.519996478 +0200
|
|
|
cc156f |
@@ -860,6 +860,14 @@ static status_e check_entry( struct serv
|
|
|
cc156f |
}
|
|
|
cc156f |
}
|
|
|
cc156f |
|
|
|
cc156f |
+ if ( SC_SOCKET_TYPE(scp) == SOCK_DGRAM && !SC_WAITS(scp) )
|
|
|
cc156f |
+ {
|
|
|
cc156f |
+ msg( LOG_ERR, func,
|
|
|
cc156f |
+ "Service %s has socket_type dgram, but does not wait",
|
|
|
cc156f |
+ SC_NAME(scp) );
|
|
|
cc156f |
+ return FAILED;
|
|
|
cc156f |
+ }
|
|
|
cc156f |
+
|
|
|
cc156f |
if ( service_attr_check( scp ) == FAILED )
|
|
|
cc156f |
return( FAILED ) ;
|
|
|
cc156f |
|
|
|
cc156f |
--- a/xinetd/main.c 2018-05-04 10:02:11.999315632 +0200
|
|
|
cc156f |
+++ b/xinetd/main.c 2018-05-04 10:03:44.124500979 +0200
|
|
|
cc156f |
@@ -296,6 +296,7 @@ static void find_bad_fd(void)
|
|
|
cc156f |
SVC_ID( sp ) ) ;
|
|
|
cc156f |
svc_deactivate( sp ) ;
|
|
|
cc156f |
found = TRUE ;
|
|
|
cc156f |
+ bad_fd_count++ ;
|
|
|
cc156f |
break ;
|
|
|
cc156f |
}
|
|
|
cc156f |
}
|
|
|
cc156f |
@@ -303,6 +304,7 @@ static void find_bad_fd(void)
|
|
|
cc156f |
{
|
|
|
cc156f |
#ifdef HAVE_POLL
|
|
|
cc156f |
ps.rws.pfd_array[fd].events = 0;
|
|
|
cc156f |
+ ps.rws.pfd_array[fd].fd = -1;
|
|
|
cc156f |
#else
|
|
|
cc156f |
FD_CLR( fd, &ps.rws.socket_mask ) ;
|
|
|
cc156f |
#endif
|