From 57ba0dd877bcafc0dfda11b4feef73af5328bb5c Mon Sep 17 00:00:00 2001 From: overweight <5324761+overweight@user.noreply.gitee.com> Date: Mon, 30 Sep 2019 11:20:12 -0400 Subject: [PATCH] Package init --- ...-pointer-dereference-before-NULL-che.patch | 33 + inet.c-avoid-using-pointer-after-free.patch | 61 + sconf.c-fix-possible-memleak.patch | 28 + ...e.c-avoid-dereferencing-NULL-pointer.patch | 27 + tcpint.c-fix-memleak.patch | 52 + xinetd-2.3.14-autoconf.patch | 251 ++++ xinetd-2.3.14-bind-ipv6.patch | 29 + xinetd-2.3.14-clean-pfd.patch | 10 + xinetd-2.3.14-file-limit.patch | 126 ++ xinetd-2.3.14-fix-type-punned-ptr.patch | 22 + xinetd-2.3.14-ident-bind.patch | 42 + xinetd-2.3.14-instances.patch | 22 + xinetd-2.3.14-ipv6confusion.patch | 17 + xinetd-2.3.14-leaking-fds-2a.patch | 41 + xinetd-2.3.14-leaking-fds.patch | 52 + xinetd-2.3.14-man-section.patch | 16 + xinetd-2.3.14-many-services.patch | 27 + xinetd-2.3.14-poll.patch | 1202 +++++++++++++++++ xinetd-2.3.14-readable-debuginfo.patch | 77 ++ xinetd-2.3.14-realloc-remove.patch | 134 ++ ...14-retry-svc-activate-in-cps-restart.patch | 54 + xinetd-2.3.14-rpc-specific-port.patch | 30 + xinetd-2.3.14-signal-log-hang.patch | 27 + xinetd-2.3.14-tcpmux.patch | 16 + xinetd-2.3.14-udp-reconfig.patch | 12 + xinetd-2.3.15-add-pie.patch | 22 + xinetd-2.3.15-bad-port-check.patch | 106 ++ xinetd-2.3.15-context-exepath.patch | 11 + xinetd-2.3.15-creds.patch | 15 + xinetd-2.3.15-pie.patch | 22 + ...15-tcpmux-nameinargs-disable-service.patch | 50 + xinetd-2.3.15-udp-wait.patch | 37 + xinetd-2.3.15.tar.gz | Bin 0 -> 309774 bytes xinetd.service | 16 + xinetd.spec | 117 ++ 35 files changed, 2804 insertions(+) create mode 100644 connection.c-fix-pointer-dereference-before-NULL-che.patch create mode 100644 inet.c-avoid-using-pointer-after-free.patch create mode 100644 sconf.c-fix-possible-memleak.patch create mode 100644 service.c-avoid-dereferencing-NULL-pointer.patch create mode 100644 tcpint.c-fix-memleak.patch create mode 100644 xinetd-2.3.14-autoconf.patch create mode 100644 xinetd-2.3.14-bind-ipv6.patch create mode 100644 xinetd-2.3.14-clean-pfd.patch create mode 100644 xinetd-2.3.14-file-limit.patch create mode 100644 xinetd-2.3.14-fix-type-punned-ptr.patch create mode 100644 xinetd-2.3.14-ident-bind.patch create mode 100644 xinetd-2.3.14-instances.patch create mode 100644 xinetd-2.3.14-ipv6confusion.patch create mode 100644 xinetd-2.3.14-leaking-fds-2a.patch create mode 100644 xinetd-2.3.14-leaking-fds.patch create mode 100644 xinetd-2.3.14-man-section.patch create mode 100644 xinetd-2.3.14-many-services.patch create mode 100644 xinetd-2.3.14-poll.patch create mode 100644 xinetd-2.3.14-readable-debuginfo.patch create mode 100644 xinetd-2.3.14-realloc-remove.patch create mode 100644 xinetd-2.3.14-retry-svc-activate-in-cps-restart.patch create mode 100644 xinetd-2.3.14-rpc-specific-port.patch create mode 100644 xinetd-2.3.14-signal-log-hang.patch create mode 100644 xinetd-2.3.14-tcpmux.patch create mode 100644 xinetd-2.3.14-udp-reconfig.patch create mode 100644 xinetd-2.3.15-add-pie.patch create mode 100644 xinetd-2.3.15-bad-port-check.patch create mode 100644 xinetd-2.3.15-context-exepath.patch create mode 100644 xinetd-2.3.15-creds.patch create mode 100644 xinetd-2.3.15-pie.patch create mode 100644 xinetd-2.3.15-tcpmux-nameinargs-disable-service.patch create mode 100644 xinetd-2.3.15-udp-wait.patch create mode 100644 xinetd-2.3.15.tar.gz create mode 100644 xinetd.service create mode 100644 xinetd.spec diff --git a/connection.c-fix-pointer-dereference-before-NULL-che.patch b/connection.c-fix-pointer-dereference-before-NULL-che.patch new file mode 100644 index 0000000..b844c15 --- /dev/null +++ b/connection.c-fix-pointer-dereference-before-NULL-che.patch @@ -0,0 +1,33 @@ +From 316adda751b9a871da0fd447210512723ee9814b Mon Sep 17 00:00:00 2001 +From: Jan Synacek +Date: Wed, 16 May 2012 08:55:08 +0200 +Subject: [PATCH 04/16] connection.c: fix pointer dereference before NULL check + +--- + xinetd/connection.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/xinetd/connection.c b/xinetd/connection.c +index f01ae0d..7ba6261 100644 +--- a/xinetd/connection.c ++++ b/xinetd/connection.c +@@ -165,13 +165,15 @@ connection_s *conn_new( struct service *sp ) + */ + void conn_free( connection_s *cp, int release_mem ) + { +- struct service *sp = cp->co_sp ; ++ struct service *sp ; + + if( cp == NULL ) + return; + if( debug.on ) + msg( LOG_INFO, "conn_free", "freeing connection") ; + ++ sp = cp->co_sp ; ++ + if( (SVC_SOCKET_TYPE( sp ) == SOCK_DGRAM) && (SVC_IS_ACTIVE( sp )) ) + drain( cp->co_descriptor ) ; + +-- +2.19.1 + diff --git a/inet.c-avoid-using-pointer-after-free.patch b/inet.c-avoid-using-pointer-after-free.patch new file mode 100644 index 0000000..8d82dbe --- /dev/null +++ b/inet.c-avoid-using-pointer-after-free.patch @@ -0,0 +1,61 @@ +From dd00d6d0710dd3b644ac112b5c98b90f4cae5ac9 Mon Sep 17 00:00:00 2001 +From: Jan Synacek +Date: Wed, 16 May 2012 09:22:21 +0200 +Subject: [PATCH 06/16] inet.c: avoid using pointer after free + +--- + xinetd/inet.c | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/xinetd/inet.c b/xinetd/inet.c +index 1cb2ba2..4e1237e 100644 +--- a/xinetd/inet.c ++++ b/xinetd/inet.c +@@ -190,7 +190,7 @@ static int get_next_inet_entry( int fd, pset_h sconfs, + nvp = nv_find_value( service_types, "RPC" ); + if ( nvp == NULL ) + { +- parsemsg( LOG_WARNING, func, "inetd.conf - Bad foo %s", name ) ; ++ parsemsg( LOG_WARNING, func, "inetd.conf - Bad foo %s", SC_NAME(scp) ) ; + pset_destroy(args); + sc_free(scp); + return -1; +@@ -281,7 +281,7 @@ static int get_next_inet_entry( int fd, pset_h sconfs, + nvp = nv_find_value( service_types, "INTERNAL" ); + if ( nvp == NULL ) + { +- parsemsg( LOG_WARNING, func, "inetd.conf - Bad foo %s", name ) ; ++ parsemsg( LOG_WARNING, func, "inetd.conf - Bad foo %s", SC_NAME(scp) ) ; + pset_destroy(args); + sc_free(scp); + return -1; +@@ -359,7 +359,7 @@ static int get_next_inet_entry( int fd, pset_h sconfs, + nvp = nv_find_value( service_flags, "REUSE" ); + if ( nvp == NULL ) + { +- parsemsg( LOG_WARNING, func, "inetd.conf - Bad foo %s", name ) ; ++ parsemsg( LOG_WARNING, func, "inetd.conf - Bad foo %s", SC_NAME(scp) ) ; + pset_destroy(args); + sc_free(scp); + return -1; +@@ -370,7 +370,7 @@ static int get_next_inet_entry( int fd, pset_h sconfs, + nvp = nv_find_value( service_flags, "NOLIBWRAP" ); + if ( nvp == NULL ) + { +- parsemsg( LOG_WARNING, func, "inetd.conf - Bad foo %s", name ) ; ++ parsemsg( LOG_WARNING, func, "inetd.conf - Bad foo %s", SC_NAME(scp) ) ; + pset_destroy(args); + sc_free(scp); + return -1; +@@ -381,7 +381,7 @@ static int get_next_inet_entry( int fd, pset_h sconfs, + nvp = nv_find_value( service_flags, "NAMEINARGS" ); + if ( nvp == NULL ) + { +- parsemsg( LOG_WARNING, func, "inetd.conf - Bad foo %s", name ) ; ++ parsemsg( LOG_WARNING, func, "inetd.conf - Bad foo %s", SC_NAME(scp) ) ; + pset_destroy(args); + sc_free(scp); + return (-1); +-- +2.19.1 + diff --git a/sconf.c-fix-possible-memleak.patch b/sconf.c-fix-possible-memleak.patch new file mode 100644 index 0000000..148690b --- /dev/null +++ b/sconf.c-fix-possible-memleak.patch @@ -0,0 +1,28 @@ +From 2df8f29306ea5d9d96f9c7a2313ae04cbdd1f54c Mon Sep 17 00:00:00 2001 +From: Jan Synacek +Date: Thu, 24 May 2012 08:43:22 +0200 +Subject: [PATCH 11/16] sconf.c: fix possible memleak + +--- + xinetd/sconf.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/xinetd/sconf.c b/xinetd/sconf.c +index 71b6a30..c874d24 100644 +--- a/xinetd/sconf.c ++++ b/xinetd/sconf.c +@@ -153,6 +153,11 @@ struct service_config *sc_make_special( const char *service_name, + if ( SC_ID(scp) == NULL ) + { + out_of_memory( func ) ; ++ /* ++ * Since we're returning instead of exiting, it's probably a good idea to ++ * free scp ++ */ ++ sc_free( scp ); + return( NULL ) ; + } + SC_SPECIFY( scp, A_ID ) ; +-- +2.19.1 + diff --git a/service.c-avoid-dereferencing-NULL-pointer.patch b/service.c-avoid-dereferencing-NULL-pointer.patch new file mode 100644 index 0000000..6e1d3d7 --- /dev/null +++ b/service.c-avoid-dereferencing-NULL-pointer.patch @@ -0,0 +1,27 @@ +From 14842a4a7b6c14a9713cce45b8a699bfb54775be Mon Sep 17 00:00:00 2001 +From: Jan Synacek +Date: Wed, 23 May 2012 13:43:07 +0200 +Subject: [PATCH 07/16] service.c: avoid dereferencing NULL pointer + +--- + xinetd/service.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/xinetd/service.c b/xinetd/service.c +index 5e4d406..cd02857 100644 +--- a/xinetd/service.c ++++ b/xinetd/service.c +@@ -984,7 +984,10 @@ void close_all_svc_descriptors(void) + /* Have to close all other descriptors here */ + iter = psi_create( SERVICES( ps ) ) ; + if ( iter == NULL ) ++ { + out_of_memory( "close_all_svc_descriptors" ) ; ++ exit( 1 ); ++ } + + for ( osp = SP( psi_start( iter ) ) ; osp ; osp = SP( psi_next( iter ) ) ) + { +-- +2.19.1 + diff --git a/tcpint.c-fix-memleak.patch b/tcpint.c-fix-memleak.patch new file mode 100644 index 0000000..eb343e1 --- /dev/null +++ b/tcpint.c-fix-memleak.patch @@ -0,0 +1,52 @@ +From e75406018196636b0d96ec67ac0b3951c7b7d374 Mon Sep 17 00:00:00 2001 +From: Jan Synacek +Date: Wed, 16 May 2012 09:11:56 +0200 +Subject: [PATCH 05/16] tcpint.c: fix memleak + +--- + xinetd/tcpint.c | 13 ++++++++----- + 1 file changed, 8 insertions(+), 5 deletions(-) + +diff --git a/xinetd/tcpint.c b/xinetd/tcpint.c +index cd6474f..34a2ca9 100644 +--- a/xinetd/tcpint.c ++++ b/xinetd/tcpint.c +@@ -134,7 +134,7 @@ static void si_mux(void) + #endif + + if ( n_ready == -1 ) +- return ; ++ goto free_iter ; + + #ifdef HAVE_POLL + if ( pfd_array[0].revents & ( POLLIN | POLLOUT ) ) +@@ -193,9 +193,9 @@ static void si_mux(void) + #else + if ( handle_io( iter, chp, &socket_mask, tcp_local_to_remote ) == FAILED ) + #endif +- return ; ++ goto free_iter ; + if ( --n_ready == 0 ) +- break ; ++ goto free_iter ; + } + + #ifdef HAVE_POLL +@@ -216,12 +216,15 @@ static void si_mux(void) + if ( handle_io( iter, chp, + &socket_mask, tcp_remote_to_local ) == FAILED ) + #endif +- return ; ++ goto free_iter ; + if ( --n_ready == 0 ) +- break ; ++ goto free_iter ; + } + } + } ++free_iter: ++ psi_destroy( iter ) ; ++ return ; + } + + diff --git a/xinetd-2.3.14-autoconf.patch b/xinetd-2.3.14-autoconf.patch new file mode 100644 index 0000000..7ce2276 --- /dev/null +++ b/xinetd-2.3.14-autoconf.patch @@ -0,0 +1,251 @@ +--- xinetd-2.3.14/configure.in 2009-07-27 13:27:59.000000000 +0200 ++++ xinetd-2.3.14-mod/configure.in 2009-07-29 10:05:44.000000000 +0200 +@@ -20,34 +20,34 @@ AC_CHECK_FUNCS(ecvt, , + AC_CHECK_FUNCS(gcvt, , + AC_CHECK_LIB(m, gcvt)) + +-AC_CHECK_FUNC(strerror, [AC_DEFINE(HAVE_STRERROR)]) +-AC_CHECK_FUNC(strcasecmp, [AC_DEFINE(HAVE_STRCASECMP)]) ++AC_CHECK_FUNC(strerror, [AC_DEFINE(HAVE_STRERROR, 1, "")]) ++AC_CHECK_FUNC(strcasecmp, [AC_DEFINE(HAVE_STRCASECMP, 1, "")]) + AC_CHECK_FUNC(socket, , + AC_CHECK_LIB(socket, socket, , + AC_CHECK_LIB(nsl, socket))) + AC_CHECK_FUNC(inet_aton, , + AC_CHECK_LIB(nsl, inet_aton, , + AC_CHECK_LIB(socket, inet_aton, , +- AC_CHECK_LIB(resolv, inet_aton, ,[AC_DEFINE(NO_INET_ATON)])))) +-AC_CHECK_FUNC(setenv,[AC_DEFINE(HAVE_SETENV)]) +-AC_CHECK_FUNC(strsignal, [AC_DEFINE(HAVE_STRSIGNAL)]) +-AC_CHECK_LIB(c, sys_siglist, [AC_DEFINE(HAVE_SYS_SIGLIST)]) +-AC_CHECK_FUNC(gai_strerror,[AC_DEFINE(HAVE_GAI_STRERROR)]) +-AC_CHECK_FUNC(freeaddrinfo,[AC_DEFINE(HAVE_FREEADDRINFO)]) +-AC_CHECK_FUNC(getaddrinfo,[AC_DEFINE(HAVE_GETADDRINFO)]) ++ AC_CHECK_LIB(resolv, inet_aton, ,[AC_DEFINE(NO_INET_ATON, 1, "")])))) ++AC_CHECK_FUNC(setenv,[AC_DEFINE(HAVE_SETENV, 1, "")]) ++AC_CHECK_FUNC(strsignal, [AC_DEFINE(HAVE_STRSIGNAL, 1, "")]) ++AC_CHECK_LIB(c, sys_siglist, [AC_DEFINE(HAVE_SYS_SIGLIST, 1, "")]) ++AC_CHECK_FUNC(gai_strerror,[AC_DEFINE(HAVE_GAI_STRERROR, 1, "")]) ++AC_CHECK_FUNC(freeaddrinfo,[AC_DEFINE(HAVE_FREEADDRINFO, 1, "")]) ++AC_CHECK_FUNC(getaddrinfo,[AC_DEFINE(HAVE_GETADDRINFO, 1, "")]) + + AC_CHECK_HEADERS(sys/types.h sys/termios.h termios.h sys/ioctl.h sys/select.h rpc/rpc.h rpc/rpcent.h sys/file.h ftw.h machine/reg.h netdb.h) +-AC_CHECK_HEADER(sys/resource.h, [AC_DEFINE(HAVE_SYS_RESOURCE_H)]) +-AC_CHECK_HEADER(arpa/inet.h, [AC_DEFINE(HAVE_ARPA_INET_H)]) +-AC_CHECK_HEADER(grp.h, [AC_DEFINE(HAVE_GRP_H)]) +-AC_CHECK_HEADER(rpc/pmap_clnt.h, [AC_DEFINE(HAVE_RPC_PMAP_CLNT_H)]) +-AC_CHECK_HEADER(sys/socket.h, [AC_DEFINE(HAVE_SYS_SOCKET_H)]) +-AC_CHECK_HEADER(sys/signal.h, [AC_DEFINE(HAVE_SYS_SIGNAL_H)]) +-AC_CHECK_HEADER(crypt.h, [AC_DEFINE(HAVE_CRYPT_H)]) +-AC_CHECK_HEADER(stdint.h, [AC_DEFINE(HAVE_STDINT_H)]) +-AC_CHECK_HEADER(stdbool.h, [AC_DEFINE(HAVE_STDBOOL_H)]) +-AC_CHECK_HEADER(sys/filio.h, [AC_DEFINE(HAVE_SYS_FILIO_H)]) +-AC_CHECK_HEADER(DNSServiceDiscovery/DNSServiceDiscovery.h, [AC_DEFINE(HAVE_DNSREGISTRATION) AC_DEFINE(HAVE_MDNS)]) ++AC_CHECK_HEADER(sys/resource.h, [AC_DEFINE(HAVE_SYS_RESOURCE_H, 1, "")]) ++AC_CHECK_HEADER(arpa/inet.h, [AC_DEFINE(HAVE_ARPA_INET_H, 1, "")]) ++AC_CHECK_HEADER(grp.h, [AC_DEFINE(HAVE_GRP_H, 1, "")]) ++AC_CHECK_HEADER(rpc/pmap_clnt.h, [AC_DEFINE(HAVE_RPC_PMAP_CLNT_H, 1, "")]) ++AC_CHECK_HEADER(sys/socket.h, [AC_DEFINE(HAVE_SYS_SOCKET_H, 1, "")]) ++AC_CHECK_HEADER(sys/signal.h, [AC_DEFINE(HAVE_SYS_SIGNAL_H, 1, "")]) ++AC_CHECK_HEADER(crypt.h, [AC_DEFINE(HAVE_CRYPT_H, 1, "")]) ++AC_CHECK_HEADER(stdint.h, [AC_DEFINE(HAVE_STDINT_H, 1, "")]) ++AC_CHECK_HEADER(stdbool.h, [AC_DEFINE(HAVE_STDBOOL_H, 1, "")]) ++AC_CHECK_HEADER(sys/filio.h, [AC_DEFINE(HAVE_SYS_FILIO_H, 1, "")]) ++AC_CHECK_HEADER(DNSServiceDiscovery/DNSServiceDiscovery.h, [AC_DEFINE(HAVE_DNSREGISTRATION, 1, "") AC_DEFINE(HAVE_MDNS, 1, "")]) + + AC_ARG_WITH(howl, [ --with-howl=PATH Compile in howl support. + PATH is the prefix where howl is installed, +@@ -56,7 +56,7 @@ AC_ARG_WITH(howl, [ --with-howl=PATH + OLDLDFLAGS=$LDFLAGS; LDFLAGS="-L$withval/lib/ $LDFLAGS"; + OLDCPPFLAGS=$CPPFLAGS; CPPFLAGS="-I$withval/include/howl/ $CPPFLAGS"; + AC_CHECK_HEADER($withval/include/howl/howl.h, +- [AC_DEFINE(HAVE_HOWL) AC_DEFINE(HAVE_MDNS)], ++ [AC_DEFINE(HAVE_HOWL, 1, "") AC_DEFINE(HAVE_MDNS, 1, "")], + [CFLAGS=$OLDCFLAGS; LDFLAGS=$OLDLDFLAGS; CPPFLAGS=$OLDCPPFLAGS;]) + AC_CHECK_LIB(howl, sw_discovery_publish, [LIBS="-lhowl $LIBS"], [ + OLDLIBS=$LIBS; LIBS="-lpthread $LIBS"; +@@ -88,7 +88,7 @@ AC_CACHE_CHECK([for struct addrinfo], ac + ) + ]) + if test "x$ac_cv_have_struct_addrinfo" = "xyes" ; then +- AC_DEFINE(HAVE_STRUCT_ADDRINFO) ++ AC_DEFINE(HAVE_STRUCT_ADDRINFO, 1, "") + fi + + AC_CACHE_CHECK([for struct in6_addr], ac_cv_have_struct_in6_addr, [ +@@ -103,7 +103,7 @@ AC_CACHE_CHECK([for struct in6_addr], ac + ) + ]) + if test "x$ac_cv_have_struct_in6_addr" = "xyes" ; then +- AC_DEFINE(HAVE_STRUCT_IN6_ADDR) ++ AC_DEFINE(HAVE_STRUCT_IN6_ADDR, 1, "") + fi + + AC_CACHE_CHECK([for struct sockaddr_in6], ac_cv_have_struct_sockaddr_in6, [ +@@ -118,7 +118,7 @@ AC_CACHE_CHECK([for struct sockaddr_in6] + ) + ]) + if test "x$ac_cv_have_struct_sockaddr_in6" = "xyes" ; then +- AC_DEFINE(HAVE_STRUCT_SOCKADDR_IN6) ++ AC_DEFINE(HAVE_STRUCT_SOCKADDR_IN6, 1, "") + fi + + AC_CACHE_CHECK([for struct sockaddr_storage], ac_cv_have_struct_sockaddr_storage, [ +@@ -133,15 +133,15 @@ AC_CACHE_CHECK([for struct sockaddr_stor + ) + ]) + if test "x$ac_cv_have_struct_sockaddr_storage" = "xyes" ; then +- AC_DEFINE(HAVE_STRUCT_SOCKADDR_STORAGE) ++ AC_DEFINE(HAVE_STRUCT_SOCKADDR_STORAGE, 1, "") + fi + + + case "$target_os" in + + solaris*) +- AC_DEFINE(N0_SIGLIST) +- AC_DEFINE(solaris) ++ AC_DEFINE(N0_SIGLIST, 1, "") ++ AC_DEFINE(solaris, 1, "") + + AC_MSG_CHECKING(whether to compile in loadavg) + AC_ARG_WITH(loadavg, +@@ -153,12 +153,12 @@ solaris*) + yes) + AC_MSG_RESULT(yes) + AC_CHECK_LIB(kstat, main) +- AC_CHECK_HEADER(kstat.h, [AC_DEFINE(HAVE_KSTAT_H)]) +- AC_DEFINE(HAVE_LOADAVG) ++ AC_CHECK_HEADER(kstat.h, [AC_DEFINE(HAVE_KSTAT_H, 1, "")]) ++ AC_DEFINE(HAVE_LOADAVG, 1, "") + ;; + *) + AC_MSG_RESULT(yes) +- AC_DEFINE(HAVE_LOADAVG) ++ AC_DEFINE(HAVE_LOADAVG, 1, "") + ;; + esac ], AC_MSG_RESULT(no) ) + ;; +@@ -172,11 +172,11 @@ osf*) + ;; + yes) + AC_MSG_RESULT(yes) +- AC_DEFINE(HAVE_LOADAVG) ++ AC_DEFINE(HAVE_LOADAVG, 1, "") + ;; + *) + AC_MSG_RESULT(yes) +- AC_DEFINE(HAVE_LOADAVG) ++ AC_DEFINE(HAVE_LOADAVG, 1, "") + ;; + esac ], AC_MSG_RESULT(no)) + ;; +@@ -191,18 +191,18 @@ linux*|freebsd*) + ;; + yes) + AC_MSG_RESULT(yes) +- AC_DEFINE(HAVE_LOADAVG) ++ AC_DEFINE(HAVE_LOADAVG, 1, "") + ;; + *) + AC_MSG_RESULT(yes) +- AC_DEFINE(HAVE_LOADAVG) ++ AC_DEFINE(HAVE_LOADAVG, 1, "") + ;; + esac ], AC_MSG_RESULT(no)) + ;; + darwin* | "Mac OS"*) + ac_cv_prog_RANLIB="ranlib" + # AC_CHECK_FUNCS doesn't look in the proper header file... +- AC_DEFINE(HAVE_ISATTY) ++ AC_DEFINE(HAVE_ISATTY, 1, "") + CFLAGS="$CFLAGS -no-cpp-precomp" + AC_MSG_CHECKING(whether to compile in loadavg) + AC_ARG_WITH(loadavg,, +@@ -212,11 +212,11 @@ darwin* | "Mac OS"*) + ;; + yes) + AC_MSG_RESULT(yes) +- AC_DEFINE(HAVE_LOADAVG) ++ AC_DEFINE(HAVE_LOADAVG, 1, "") + ;; + *) + AC_MSG_RESULT(yes) +- AC_DEFINE(HAVE_LOADAVG) ++ AC_DEFINE(HAVE_LOADAVG, 1, "") + ;; + esac ], AC_MSG_RESULT(no)) + ;; +@@ -229,13 +229,13 @@ darwin* | "Mac OS"*) + ;; + yes) + AC_MSG_RESULT(yes) +- AC_DEFINE(bsdi) +- AC_DEFINE(HAVE_LOADAVG) ++ AC_DEFINE(bsdi, 1, "") ++ AC_DEFINE(HAVE_LOADAVG, 1, "") + ;; + *) + AC_MSG_RESULT(yes) +- AC_DEFINE(bsdi) +- AC_DEFINE(HAVE_LOADAVG) ++ AC_DEFINE(bsdi, 1, "") ++ AC_DEFINE(HAVE_LOADAVG, 1, "") + ;; + esac ], AC_MSG_RESULT(no)) + ;; +@@ -245,7 +245,7 @@ esac + AC_CHECK_LIB(c, crypt, [:], [ + AC_CHECK_LIB(crypt, crypt, [ + LIBS="-lcrypt $LIBS" +- AC_DEFINE(HAVE_LIBCRYPT) ], []) ]) ++ AC_DEFINE(HAVE_LIBCRYPT, 1, "") ], []) ]) + + AC_CHECK_LIB(m, log10, [ LIBS="-lm $LIBS" ], []) + +@@ -263,16 +263,16 @@ AC_ARG_WITH(libwrap, + yes) + AC_MSG_RESULT(yes) + AC_CHECK_LIB(wrap, request_init, [ +- AC_DEFINE(LIBWRAP) ++ AC_DEFINE(LIBWRAP, 1, "") + WRAPLIBS="-lwrap" +- AC_DEFINE(HAVE_LIBWRAP) ]) ++ AC_DEFINE(HAVE_LIBWRAP, 1, "") ]) + AC_CHECK_LIB(nsl, yp_get_default_domain, [ + WRAPLIBS="$WRAPLIBS -lnsl" ]) + LIBS="$WRAPLIBS $LIBS" + ;; + *) + AC_MSG_RESULT(yes) +- AC_DEFINE(LIBWRAP) ++ AC_DEFINE(LIBWRAP, 1, "") + if test -d "$withval"; then + WRAPLIBS="-L$withval -lwrap" + else +@@ -299,13 +299,13 @@ AC_ARG_WITH(labeled-networking, + yes) + AC_MSG_RESULT(yes) + AC_CHECK_LIB(selinux, setexeccon, [ +- AC_DEFINE(LABELED_NET) ++ AC_DEFINE(LABELED_NET, 1, "") + LABELLIBS="-lselinux" ]) + LIBS="$LABELLIBS $LIBS" + ;; + *) + AC_MSG_RESULT(yes) +- AC_DEFINE(LABELED_NET) ++ AC_DEFINE(LABELED_NET, 1, "") + if test -d "$withval"; then + LABELLIBS="-L$withval -lselinux" + else +--- xinetd-2.3.14/aclocal.m4 2003-02-19 18:29:27.000000000 +0100 ++++ xinetd-2.3.14-mod/aclocal.m4 2009-07-29 10:10:03.000000000 +0200 +@@ -22,6 +22,6 @@ AC_CACHE_VAL(xinetd_cv_type_$1, + #endif], xinetd_cv_type_$1=yes, xinetd_cv_type_$1=no)])dnl + AC_MSG_RESULT($xinetd_cv_type_$1) + if test $xinetd_cv_type_$1 = no; then +- AC_DEFINE($1, $2) ++ AC_DEFINE($1, $2, "") + fi + ]) diff --git a/xinetd-2.3.14-bind-ipv6.patch b/xinetd-2.3.14-bind-ipv6.patch new file mode 100644 index 0000000..4bce76f --- /dev/null +++ b/xinetd-2.3.14-bind-ipv6.patch @@ -0,0 +1,29 @@ +--- xinetd-2.3.14/xinetd/service.c.old 2007-05-16 15:33:41.000000000 +0200 ++++ xinetd-2.3.14/xinetd/service.c 2007-05-16 15:29:53.000000000 +0200 +@@ -335,6 +335,15 @@ + + if ( SVC_FD(sp) == -1 ) + { ++ if (SC_BIND_ADDR(scp) == NULL && SC_IPV6( scp )) ++ { ++ /* there was no bind address configured and IPv6 fails. Try IPv4 */ ++ msg( LOG_NOTICE, func, "IPv6 socket creation failed for service %s, trying IPv4", SC_ID( scp ) ) ; ++ M_CLEAR(SC_XFLAGS(scp), SF_IPV6); ++ M_SET(SC_XFLAGS(scp), SF_IPV4); ++ return svc_activate(sp); ++ } ++ + msg( LOG_ERR, func, + "socket creation failed (%m). service = %s", SC_ID( scp ) ) ; + return( FAILED ) ; +--- xinetd-2.3.14/xinetd/confparse.c.old 2007-05-16 15:33:26.000000000 +0200 ++++ xinetd-2.3.14/xinetd/confparse.c 2007-05-16 15:15:22.000000000 +0200 +@@ -245,7 +245,7 @@ + M_SET(SC_XFLAGS(scp), SF_IPV6); + } + else +- M_SET(SC_XFLAGS(scp), SF_IPV4); ++ M_SET(SC_XFLAGS(scp), SF_IPV6); /*try bind IPv6 by default*/ + } + + if (SC_ORIG_BIND_ADDR(scp)) diff --git a/xinetd-2.3.14-clean-pfd.patch b/xinetd-2.3.14-clean-pfd.patch new file mode 100644 index 0000000..2509848 --- /dev/null +++ b/xinetd-2.3.14-clean-pfd.patch @@ -0,0 +1,10 @@ +--- xinetd-2.3.14/xinetd/service.c.orig 2010-03-18 17:09:20.000000000 +0100 ++++ xinetd-2.3.14/xinetd/service.c 2010-03-18 17:09:37.000000000 +0100 +@@ -470,6 +470,7 @@ void svc_deactivate( struct service *sp + { + #ifdef HAVE_POLL + SVC_EVENTS( sp ) = 0; ++ SVC_FD( sp ) = 0; + #else + FD_CLR( SVC_FD( sp ), &ps.rws.socket_mask ) ; + #endif /* HAVE_POLL */ diff --git a/xinetd-2.3.14-file-limit.patch b/xinetd-2.3.14-file-limit.patch new file mode 100644 index 0000000..b5a8e3a --- /dev/null +++ b/xinetd-2.3.14-file-limit.patch @@ -0,0 +1,126 @@ +diff -Nurp xinetd-2.3.14-orig/xinetd/attr.h xinetd-2.3.14-files/xinetd/attr.h +--- xinetd-2.3.14-orig/xinetd/attr.h 2005-10-05 19:15:33.000000000 +0200 ++++ xinetd-2.3.14-files/xinetd/attr.h 2009-10-20 13:08:45.000000000 +0200 +@@ -61,12 +61,13 @@ + #define A_DISABLED 43 + #define A_MDNS 44 + #define A_LIBWRAP 45 ++#define A_RLIMIT_FILES 46 + + /* + * SERVICE_ATTRIBUTES is the number of service attributes and also + * the number from which defaults-only attributes start. + */ +-#define SERVICE_ATTRIBUTES ( A_MDNS + 1 ) ++#define SERVICE_ATTRIBUTES ( A_MDNS + 2 ) + + /* + * Mask of attributes that must be specified. +diff -Nurp xinetd-2.3.14-orig/xinetd/child.c xinetd-2.3.14-files/xinetd/child.c +--- xinetd-2.3.14-orig/xinetd/child.c 2009-10-20 13:07:34.000000000 +0200 ++++ xinetd-2.3.14-files/xinetd/child.c 2009-10-20 13:10:16.000000000 +0200 +@@ -109,6 +109,10 @@ void exec_server( const struct server *s + + + #ifdef RLIMIT_NOFILE ++ if ( SC_RLIM_FILES( scp )) ++ { ++ ps.ros.max_descriptors = SC_RLIM_FILES( scp ); ++ } + rl.rlim_max = rl.rlim_cur = ps.ros.max_descriptors ; + (void) setrlimit( RLIMIT_NOFILE, &rl ) ; + #endif +diff -Nurp xinetd-2.3.14-orig/xinetd/parse.c xinetd-2.3.14-files/xinetd/parse.c +--- xinetd-2.3.14-orig/xinetd/parse.c 2005-10-05 19:15:33.000000000 +0200 ++++ xinetd-2.3.14-files/xinetd/parse.c 2009-10-20 13:08:45.000000000 +0200 +@@ -92,6 +92,9 @@ static const struct attribute service_at + #ifdef RLIMIT_DATA + { "rlimit_data", A_RLIMIT_DATA, 1, rlim_data_parser }, + #endif ++#ifdef RLIMIT_NOFILE ++ { "rlimit_files", A_RLIMIT_FILES, 1, rlim_files_parser }, ++#endif + #ifdef RLIMIT_RSS + { "rlimit_rss", A_RLIMIT_RSS, 1, rlim_rss_parser }, + #endif +diff -Nurp xinetd-2.3.14-orig/xinetd/parsers.c xinetd-2.3.14-files/xinetd/parsers.c +--- xinetd-2.3.14-orig/xinetd/parsers.c 2005-10-05 23:45:41.000000000 +0200 ++++ xinetd-2.3.14-files/xinetd/parsers.c 2009-10-20 13:08:45.000000000 +0200 +@@ -1415,6 +1415,29 @@ status_e rlim_data_parser( pset_h values + } + #endif + ++#ifdef RLIMIT_NOFILE ++status_e rlim_files_parser( pset_h values, ++ struct service_config *scp, ++ enum assign_op op ) ++{ ++ char *mem = (char *) pset_pointer( values, 0 ) ; ++ const char *func = "rlim_files_parser" ; ++ ++ if ( EQ( mem, "UNLIMITED" ) ) ++ SC_RLIM_FILES(scp) = (rlim_t)RLIM_INFINITY ; ++ else ++ { ++ if ( get_limit ( mem, &SC_RLIM_FILES(scp)) ) ++ { ++ parsemsg( LOG_ERR, func, ++ "Max files limit is invalid: %s", mem ) ; ++ return( FAILED ) ; ++ } ++ } ++ return( OK ) ; ++} ++#endif ++ + #ifdef RLIMIT_RSS + status_e rlim_rss_parser( pset_h values, + struct service_config *scp, +diff -Nurp xinetd-2.3.14-orig/xinetd/parsers.h xinetd-2.3.14-files/xinetd/parsers.h +--- xinetd-2.3.14-orig/xinetd/parsers.h 2005-10-05 19:15:33.000000000 +0200 ++++ xinetd-2.3.14-files/xinetd/parsers.h 2009-10-20 13:08:45.000000000 +0200 +@@ -57,6 +57,9 @@ status_e rlim_cpu_parser(pset_h, struct + #ifdef RLIMIT_DATA + status_e rlim_data_parser(pset_h, struct service_config *, enum assign_op) ; + #endif ++#ifdef RLIMIT_NOFILE ++status_e rlim_files_parser(pset_h, struct service_config *, enum assign_op) ; ++#endif + #ifdef RLIMIT_RSS + status_e rlim_rss_parser(pset_h, struct service_config *, enum assign_op) ; + #endif +diff -Nurp xinetd-2.3.14-orig/xinetd/sconf.h xinetd-2.3.14-files/xinetd/sconf.h +--- xinetd-2.3.14-orig/xinetd/sconf.h 2009-10-20 13:07:34.000000000 +0200 ++++ xinetd-2.3.14-files/xinetd/sconf.h 2009-10-20 13:08:45.000000000 +0200 +@@ -143,6 +143,7 @@ struct service_config + rlim_t sc_rlim_as; + rlim_t sc_rlim_cpu; + rlim_t sc_rlim_data; ++ rlim_t sc_rlim_files; + rlim_t sc_rlim_rss; + rlim_t sc_rlim_stack; + mode_t sc_umask; +@@ -191,6 +192,7 @@ struct service_config + #define SC_RLIM_AS( scp ) (scp)->sc_rlim_as + #define SC_RLIM_CPU( scp ) (scp)->sc_rlim_cpu + #define SC_RLIM_DATA( scp ) (scp)->sc_rlim_data ++#define SC_RLIM_FILES( scp ) (scp)->sc_rlim_files + #define SC_RLIM_RSS( scp ) (scp)->sc_rlim_rss + #define SC_RLIM_STACK( scp ) (scp)->sc_rlim_stack + #define SC_TYPE( scp ) (scp)->sc_type +diff -Nurp xinetd-2.3.14-orig/xinetd/xinetd.conf.man xinetd-2.3.14-files/xinetd/xinetd.conf.man +--- xinetd-2.3.14-orig/xinetd/xinetd.conf.man 2009-10-20 13:07:34.000000000 +0200 ++++ xinetd-2.3.14-files/xinetd/xinetd.conf.man 2009-10-20 13:08:45.000000000 +0200 +@@ -569,6 +569,12 @@ is implemented, it is more useful to set + rlimit_rss and rlimit_stack. This resource limit is only implemented on + Linux systems. + .TP ++.B rlimit_files ++Sets the maximum number of open files that the service may use. ++One parameter is required, which is a positive integer representing ++the number of open file descriptors. Practical limit of this number ++is around 1024000. ++.TP + .B rlimit_cpu + Sets the maximum number of CPU seconds that the service may use. + One parameter is required, which is either a positive integer representing diff --git a/xinetd-2.3.14-fix-type-punned-ptr.patch b/xinetd-2.3.14-fix-type-punned-ptr.patch new file mode 100644 index 0000000..993169f --- /dev/null +++ b/xinetd-2.3.14-fix-type-punned-ptr.patch @@ -0,0 +1,22 @@ +diff --git a/sensor.c b/sensor.c +index 09d0877..e65018c 100644 +--- a/xinetd/sensor.c ++++ b/xinetd/sensor.c +@@ -100,14 +100,15 @@ void process_sensor( const struct service *sp, const union xsockaddr *addr) + { + /* Here again, eh?...update time stamp. */ + char *exp_time; +- time_t stored_time; ++ int stored_time; + + item_matched--; /* Is # plus 1, to even get here must be >= 1 */ + exp_time = pset_pointer( global_no_access_time, item_matched ) ; + if (exp_time == NULL) + return ; + +- if ( parse_base10(exp_time, (int *)&stored_time) ) ++ /* FIXME: Parse (long int) instead of (int) prior to possible Y2K38 bug. */ ++ if ( parse_base10(exp_time, &stored_time ) ) + { /* if never let them off, bypass */ + if (stored_time != -1) + { diff --git a/xinetd-2.3.14-ident-bind.patch b/xinetd-2.3.14-ident-bind.patch new file mode 100644 index 0000000..2df97ea --- /dev/null +++ b/xinetd-2.3.14-ident-bind.patch @@ -0,0 +1,42 @@ +448069: xinetd: socket bind: Invalid argument (errno = 22) when using USERID on ipv6 + +Use right size of addresses in bind() call. Also use getpeername addresses when +connecting to ident service to prevent address family mismatch between socket(), +bind() and connect() calls. + +Author: Jan Safranek +Reviewed-By: Adam Tkac + +diff -up xinetd-2.3.14/xinetd/ident.c.orig xinetd-2.3.14/xinetd/ident.c +--- xinetd-2.3.14/xinetd/ident.c.orig 2008-05-29 16:30:19.000000000 +0200 ++++ xinetd-2.3.14/xinetd/ident.c 2008-05-29 16:29:57.000000000 +0200 +@@ -97,7 +98,13 @@ idresult_e log_remote_user( const struct + } + + CLEAR( sin_contact ); +- sin_remote = *CONN_XADDRESS( SERVER_CONNECTION( serp ) ) ; ++ ++ sin_len = sizeof( sin_remote ); ++ if ( getpeername( SERVER_FD( serp ), &sin_remote.sa, &sin_len ) == -1 ) ++ { ++ msg( LOG_ERR, func, "(%d) getpeername: %m", getpid() ) ; ++ return( IDR_ERROR ) ; ++ } + sin_contact = sin_remote; + memcpy( &sin_bind, &sin_local, sizeof(sin_bind) ) ; + local_port = 0; +@@ -121,7 +128,13 @@ idresult_e log_remote_user( const struct + msg( LOG_ERR, func, "socket creation: %m" ) ; + return( IDR_ERROR ) ; + } +- if ( bind(sd, &sin_bind.sa, sizeof(sin_bind.sa)) == -1 ) ++ ++ if ( sin_bind.sa.sa_family == AF_INET ) ++ sin_len = sizeof( sin_bind.sa_in ) ; ++ else ++ sin_len = sizeof( sin_bind.sa_in6 ) ; ++ ++ if ( bind(sd, &sin_bind.sa, sin_len) == -1 ) + { + msg( LOG_ERR, func, "socket bind: %m" ) ; + (void) Sclose( sd ) ; diff --git a/xinetd-2.3.14-instances.patch b/xinetd-2.3.14-instances.patch new file mode 100644 index 0000000..6def242 --- /dev/null +++ b/xinetd-2.3.14-instances.patch @@ -0,0 +1,22 @@ +--- xinetd-2.3.14/xinetd/access.c 2005-10-05 19:15:33.000000000 +0200 ++++ xinetd-2.3.14-mod/xinetd/access.c 2012-03-05 14:54:30.935416926 +0100 +@@ -73,6 +73,7 @@ static void cps_service_restart(void) + unsigned int i; + time_t nowtime; + const char *func = "cps_service_restart"; ++ int rs; + + nowtime = time(NULL); + for( i=0; i < pset_count( SERVICES(ps) ); i++ ) { +@@ -84,8 +85,11 @@ static void cps_service_restart(void) + if( SVC_STATE(sp) == SVC_DISABLED ) { + scp = SVC_CONF( sp ); + if ( SC_TIME_REENABLE(scp) <= nowtime ) { ++ rs = SVC_RUNNING_SERVERS(sp); + /* re-enable the service */ + if( svc_activate(sp) == OK ) { ++ /* remember running servers after restart */ ++ SVC_RUNNING_SERVERS(sp) = rs; + msg(LOG_ERR, func, + "Activating service %s", SC_NAME(scp)); + } else { diff --git a/xinetd-2.3.14-ipv6confusion.patch b/xinetd-2.3.14-ipv6confusion.patch new file mode 100644 index 0000000..5f0b431 --- /dev/null +++ b/xinetd-2.3.14-ipv6confusion.patch @@ -0,0 +1,17 @@ +--- xinetd-2.3.14/xinetd/ident.c.jw 2010-03-10 17:49:53.000000000 +1100 ++++ xinetd-2.3.14/xinetd/ident.c 2010-03-10 17:50:30.000000000 +1100 +@@ -108,12 +108,12 @@ + memcpy( &sin_bind, &sin_local, sizeof(sin_bind) ) ; + local_port = 0; + remote_port = 0; +- if( sin_remote.sa.sa_family == AF_INET ) { ++ if( sin_remote.sa.sa_family == AF_INET6 ) { + local_port = ntohs( sin_local.sa_in6.sin6_port ) ; + remote_port = ntohs( sin_remote.sa_in6.sin6_port ) ; + sin_contact.sa_in6.sin6_port = htons( IDENTITY_SERVICE_PORT ) ; + sin_bind.sa_in.sin_port = 0 ; +- } else if( sin_remote.sa.sa_family == AF_INET6 ) { ++ } else if( sin_remote.sa.sa_family == AF_INET ) { + local_port = ntohs( sin_local.sa_in.sin_port ) ; + remote_port = ntohs( sin_remote.sa_in.sin_port ) ; + sin_contact.sa_in.sin_port = htons( IDENTITY_SERVICE_PORT ) ; diff --git a/xinetd-2.3.14-leaking-fds-2a.patch b/xinetd-2.3.14-leaking-fds-2a.patch new file mode 100644 index 0000000..90901e5 --- /dev/null +++ b/xinetd-2.3.14-leaking-fds-2a.patch @@ -0,0 +1,41 @@ +diff -Naur xinetd-2.3.14-dist/xinetd/service.c xinetd-2.3.14/xinetd/service.c +--- xinetd-2.3.14-dist/xinetd/service.c 2012-04-03 08:59:19.000000000 +0200 ++++ xinetd-2.3.14/xinetd/service.c 2012-04-03 09:02:34.588160317 +0200 +@@ -366,12 +366,24 @@ + + msg( LOG_ERR, func, + "socket creation failed (%m). service = %s", SC_ID( scp ) ) ; ++#ifdef HAVE_POLL ++ SVC_EVENTS( sp ) = 0; ++ SVC_FD( sp ) = 0; ++#else ++ FD_CLR( SVC_FD( sp ), &ps.rws.socket_mask ) ; ++#endif /* HAVE_POLL */ + return( FAILED ) ; + } + + if ( set_fd_modes( sp ) == FAILED ) + { + (void) Sclose( SVC_FD(sp) ) ; ++#ifdef HAVE_POLL ++ SVC_EVENTS( sp ) = 0; ++ SVC_FD( sp ) = 0; ++#else ++ FD_CLR( SVC_FD( sp ), &ps.rws.socket_mask ) ; ++#endif /* HAVE_POLL */ + return( FAILED ) ; + } + +@@ -385,6 +397,12 @@ + if ( status == FAILED ) + { + (void) Sclose( SVC_FD(sp) ) ; ++#ifdef HAVE_POLL ++ SVC_EVENTS( sp ) = 0; ++ SVC_FD( sp ) = 0; ++#else ++ FD_CLR( SVC_FD( sp ), &ps.rws.socket_mask ) ; ++#endif /* HAVE_POLL */ + return( FAILED ) ; + } + diff --git a/xinetd-2.3.14-leaking-fds.patch b/xinetd-2.3.14-leaking-fds.patch new file mode 100644 index 0000000..bc1b919 --- /dev/null +++ b/xinetd-2.3.14-leaking-fds.patch @@ -0,0 +1,52 @@ +diff -up xinetd-2.3.14-dist/xinetd/service.c xinetd-2.3.14/xinetd/service.c +--- xinetd-2.3.14-dist/xinetd/service.c 2012-01-11 11:50:43.438650900 +0100 ++++ xinetd-2.3.14/xinetd/service.c 2012-01-16 08:18:09.462620084 +0100 +@@ -88,6 +88,7 @@ struct service *svc_new( struct service_ + CLEAR( *sp ) ; + + SVC_CONF(sp) = scp ; ++ sp->svc_pfd_index = -1; + return( sp ) ; + } + +@@ -346,7 +347,16 @@ status_e svc_activate( struct service *s + ps.rws.pfds_last)*sizeof(struct pollfd)); + ps.rws.pfd_array = tmp; + } +- SVC_POLLFD( sp ) = &ps.rws.pfd_array[ps.rws.pfds_last++] ; ++ if ( sp->svc_pfd_index >= 0 ) ++ { ++ SVC_POLLFD( sp ) = &ps.rws.pfd_array[sp->svc_pfd_index] ; ++ } ++ else ++ { ++ sp->svc_pfd_index = ps.rws.pfds_last ; ++ SVC_POLLFD( sp ) = &ps.rws.pfd_array[ps.rws.pfds_last++] ; ++ } ++ + #endif /* HAVE_POLL */ + + if( SC_IPV4( scp ) ) { +@@ -433,6 +443,11 @@ status_e svc_activate( struct service *s + static void deactivate( const struct service *sp ) + { + (void) Sclose( SVC_FD( sp ) ) ; ++#ifdef HAVE_POLL ++ SVC_FD( sp ) = 0; ++#else ++ FD_CLR( SVC_FD( sp ), &ps.rws.socket_mask ) ; ++#endif + + #ifdef HAVE_MDNS + xinetd_mdns_deregister(SVC_CONF(sp)); +diff -up xinetd-2.3.14-dist/xinetd/service.h xinetd-2.3.14/xinetd/service.h +--- xinetd-2.3.14-dist/xinetd/service.h 2012-01-11 11:50:43.418650925 +0100 ++++ xinetd-2.3.14/xinetd/service.h 2012-01-16 08:02:59.667553008 +0100 +@@ -47,6 +47,7 @@ struct service + { + state_e svc_state ; + int svc_ref_count ; /* # of pters to this struct */ ++ int svc_pfd_index; /* index of pfd in pfd_array */ + struct service_config *svc_conf ; /* service configuration */ + + #ifdef HAVE_POLL diff --git a/xinetd-2.3.14-man-section.patch b/xinetd-2.3.14-man-section.patch new file mode 100644 index 0000000..03f1914 --- /dev/null +++ b/xinetd-2.3.14-man-section.patch @@ -0,0 +1,16 @@ +117746: xinetd.log man page in wrong section + +Put xinetd.log to the right man section. + +diff -up xinetd-2.3.13/Makefile.in.orig xinetd-2.3.13/Makefile.in +--- xinetd-2.3.13/Makefile.in.orig 2007-12-06 10:58:32.000000000 +0100 ++++ xinetd-2.3.13/Makefile.in 2008-01-15 13:39:38.000000000 +0100 +@@ -80,7 +80,7 @@ install: build + $(INSTALL_CMD) -m 755 xinetd/itox $(DAEMONDIR) + $(INSTALL_CMD) -m 755 $(SRCDIR)/xinetd/xconv.pl $(DAEMONDIR) + $(INSTALL_CMD) -m 644 $(SRCDIR)/xinetd/xinetd.conf.man $(MANDIR)/man5/xinetd.conf.5 +- $(INSTALL_CMD) -m 644 $(SRCDIR)/xinetd/xinetd.log.man $(MANDIR)/man8/xinetd.log.8 ++ $(INSTALL_CMD) -m 644 $(SRCDIR)/xinetd/xinetd.log.man $(MANDIR)/man5/xinetd.log.5 + $(INSTALL_CMD) -m 644 $(SRCDIR)/xinetd/xinetd.man $(MANDIR)/man8/xinetd.8 + $(INSTALL_CMD) -m 644 $(SRCDIR)/xinetd/itox.8 $(MANDIR)/man8/itox.8 + $(INSTALL_CMD) -m 644 $(SRCDIR)/xinetd/xconv.pl.8 $(MANDIR)/man8/xconv.pl.8 diff --git a/xinetd-2.3.14-many-services.patch b/xinetd-2.3.14-many-services.patch new file mode 100644 index 0000000..8459b6c --- /dev/null +++ b/xinetd-2.3.14-many-services.patch @@ -0,0 +1,27 @@ +--- xinetd-2.3.14-dist/xinetd/defs.h 2012-01-16 12:20:54.739041678 +0100 ++++ xinetd-2.3.14/xinetd/defs.h 2012-01-17 08:06:56.800762230 +0100 +@@ -115,8 +115,9 @@ union xsockaddr { + */ + + #ifdef HAVE_POLL +-#define INIT_POLLFDS 1024 +-#define MAX_POLLFDS 8192 ++#define INIT_POLLFDS 4096 ++/* FIXME: not used */ ++#define MAX_POLLFDS 16384 + #endif + + /* +--- xinetd-2.3.14-dist/xinetd/service.c 2012-01-16 12:20:54.741041678 +0100 ++++ xinetd-2.3.14/xinetd/service.c 2012-01-17 08:07:28.872746991 +0100 +@@ -343,9 +343,9 @@ status_e svc_activate( struct service *s + out_of_memory( func ); + return( FAILED ); + } ++ ps.rws.pfd_array = tmp; + memset(&ps.rws.pfd_array[ps.rws.pfds_last], 0, (ps.rws.pfds_allocated- + ps.rws.pfds_last)*sizeof(struct pollfd)); +- ps.rws.pfd_array = tmp; + } + if ( sp->svc_pfd_index >= 0 ) + { diff --git a/xinetd-2.3.14-poll.patch b/xinetd-2.3.14-poll.patch new file mode 100644 index 0000000..bd87ae5 --- /dev/null +++ b/xinetd-2.3.14-poll.patch @@ -0,0 +1,1202 @@ +diff -Nurp xinetd-2.3.14-orig/config.h.in xinetd-2.3.14-poll/config.h.in +--- xinetd-2.3.14-orig/config.h.in 2009-07-27 13:27:59.000000000 +0200 ++++ xinetd-2.3.14-poll/config.h.in 2009-09-02 11:30:27.000000000 +0200 +@@ -106,6 +106,8 @@ + + #undef HAVE_HOWL + ++#undef HAVE_POLL ++ + /* OS specific */ + #undef solaris + +diff -Nurp xinetd-2.3.14-orig/configure.in xinetd-2.3.14-poll/configure.in +--- xinetd-2.3.14-orig/configure.in 2009-09-02 11:32:54.000000000 +0200 ++++ xinetd-2.3.14-poll/configure.in 2009-09-02 11:30:27.000000000 +0200 +@@ -35,6 +35,7 @@ AC_CHECK_LIB(c, sys_siglist, [AC_DEFINE( + AC_CHECK_FUNC(gai_strerror,[AC_DEFINE(HAVE_GAI_STRERROR, 1, "")]) + AC_CHECK_FUNC(freeaddrinfo,[AC_DEFINE(HAVE_FREEADDRINFO, 1, "")]) + AC_CHECK_FUNC(getaddrinfo,[AC_DEFINE(HAVE_GETADDRINFO, 1, "")]) ++AC_CHECK_FUNC(poll, [AC_DEFINE(HAVE_POLL, 1, "")]) + + AC_CHECK_HEADERS(sys/types.h sys/termios.h termios.h sys/ioctl.h sys/select.h rpc/rpc.h rpc/rpcent.h sys/file.h ftw.h machine/reg.h netdb.h) + AC_CHECK_HEADER(sys/resource.h, [AC_DEFINE(HAVE_SYS_RESOURCE_H, 1, "")]) +diff -Nurp xinetd-2.3.14-orig/xinetd/conf.c xinetd-2.3.14-poll/xinetd/conf.c +--- xinetd-2.3.14-orig/xinetd/conf.c 2003-12-30 14:44:09.000000000 +0100 ++++ xinetd-2.3.14-poll/xinetd/conf.c 2009-09-02 11:30:27.000000000 +0200 +@@ -209,8 +209,13 @@ unsigned cnf_start_services( struct conf + pset_clear( sconfs ) ; + + if ( debug.on ) ++#ifdef HAVE_POLL ++ msg( LOG_DEBUG, func, "pfds_last = %d, services_started = %d", ++ ps.rws.pfds_last, services_started ) ; ++#else + msg( LOG_DEBUG, func, "mask_max = %d, services_started = %d", + ps.rws.mask_max, services_started ) ; ++#endif + + return( services_started ) ; + } +diff -Nurp xinetd-2.3.14-orig/xinetd/defs.h xinetd-2.3.14-poll/xinetd/defs.h +--- xinetd-2.3.14-orig/xinetd/defs.h 2005-03-29 17:50:34.000000000 +0200 ++++ xinetd-2.3.14-poll/xinetd/defs.h 2009-09-02 11:30:27.000000000 +0200 +@@ -111,6 +111,15 @@ union xsockaddr { + #define LISTEN_BACKLOG 64 + + /* ++ * constants for limiting ps.rws.fd_list ++ */ ++ ++#ifdef HAVE_POLL ++#define INIT_POLLFDS 1024 ++#define MAX_POLLFDS 8192 ++#endif ++ ++/* + * When explicit values are given for enum's, that is because the structures + * that the enum's are in may be initialized by a memory clear operation. + */ +diff -Nurp xinetd-2.3.14-orig/xinetd/child.c xinetd-2.3.14-poll/xinetd/child.c +--- xinetd-2.3.14-orig/xinetd/child.c 2003-09-06 16:41:59.000000000 +0200 ++++ xinetd-2.3.14-poll/xinetd/child.c 2009-09-02 11:30:27.000000000 +0200 +@@ -109,8 +109,7 @@ void exec_server( const struct server *s + + + #ifdef RLIMIT_NOFILE +- rl.rlim_max = ps.ros.orig_max_descriptors ; +- rl.rlim_cur = ps.ros.max_descriptors ; ++ rl.rlim_max = rl.rlim_cur = ps.ros.max_descriptors ; + (void) setrlimit( RLIMIT_NOFILE, &rl ) ; + #endif + #ifdef RLIMIT_AS +diff -Nurp xinetd-2.3.14-orig/xinetd/init.c xinetd-2.3.14-poll/xinetd/init.c +--- xinetd-2.3.14-orig/xinetd/init.c 2003-09-06 16:41:59.000000000 +0200 ++++ xinetd-2.3.14-poll/xinetd/init.c 2009-09-02 11:30:27.000000000 +0200 +@@ -17,7 +17,7 @@ + #include + #include + #include +- ++#include + #include "sio.h" + #include "init.h" + #include "defs.h" +@@ -140,7 +140,6 @@ static void set_fd_limit(void) + { + #ifdef RLIMIT_NOFILE + struct rlimit rl ; +- rlim_t maxfd ; + + /* + * Set the soft file descriptor limit to the hard limit. +@@ -151,25 +150,9 @@ static void set_fd_limit(void) + exit( 1 ) ; + } + +- maxfd = rl.rlim_max; + if ( rl.rlim_max == RLIM_INFINITY ) + rl.rlim_max = FD_SETSIZE; + +- /* XXX: a dumb way to prevent fd_set overflow possibilities; the rest +- * of xinetd should be changed to use an OpenBSD inetd-like fd_grow(). */ +- if ( rl.rlim_max > FD_SETSIZE ) +- rl.rlim_max = FD_SETSIZE; +- +- rl.rlim_cur = rl.rlim_max ; +- if ( setrlimit( RLIMIT_NOFILE, &rl ) == -1 ) +- { +- syscall_failed("setrlimit(RLIMIT_NOFILE)"); +- ps.ros.max_descriptors = FD_SETSIZE; +- ps.ros.orig_max_descriptors = FD_SETSIZE; +- return ; +- } +- +- ps.ros.orig_max_descriptors = maxfd ; + ps.ros.max_descriptors = rl.rlim_max ; + #else /* ! RLIMIT_NOFILE */ + ps.ros.max_descriptors = getdtablesize() ; +@@ -292,15 +275,27 @@ static pset_h new_table( unsigned size ) + */ + static void init_rw_state( void ) + { ++ const char *func = "init_rw_state" ; + SERVERS( ps ) = new_table( 0 ) ; + RETRIES( ps ) = new_table( 0 ) ; + SERVICES( ps ) = new_table( 0 ) ; + + ps.rws.descriptors_free = ps.ros.max_descriptors - DESCRIPTORS_RESERVED ; + ++#ifdef HAVE_POLL ++ ps.rws.pfds_allocated = INIT_POLLFDS ; ++ ps.rws.pfd_array = (struct pollfd *) ++ malloc( sizeof( struct pollfd ) * ps.rws.pfds_allocated ) ; ++ if ( ps.rws.pfd_array == NULL ) ++ { ++ out_of_memory(func); ++ exit( 1 ) ; ++ } ++ ps.rws.pfds_last = 0 ; ++#else + FD_ZERO( &ps.rws.socket_mask ) ; + ps.rws.mask_max = 0 ; +- ++#endif /* HAVE_POLL */ + } + + +diff -Nurp xinetd-2.3.14-orig/xinetd/intcommon.c xinetd-2.3.14-poll/xinetd/intcommon.c +--- xinetd-2.3.14-orig/xinetd/intcommon.c 2003-08-06 08:12:10.000000000 +0200 ++++ xinetd-2.3.14-poll/xinetd/intcommon.c 2009-09-03 16:15:49.000000000 +0200 +@@ -14,6 +14,9 @@ + #include + #include + #include ++#ifdef HAVE_POLL ++#include ++#endif + + #include "intcommon.h" + #include "msg.h" +@@ -36,27 +39,38 @@ void int_fail( const struct intercept_s + /* + * Returns either a positive number or -1 + */ ++#ifdef HAVE_POLL ++int int_poll( int pfds_last, struct pollfd *pfd_array ) ++{ ++ const char *func = "int_poll" ; ++#else + int int_select( int max, fd_set *read_mask ) + { + const char *func = "int_select" ; ++#endif + + for ( ;; ) + { + int n_ready ; + +- n_ready = select( max+1, read_mask, +- FD_SET_NULL, FD_SET_NULL, TIMEVAL_NULL ) ; ++ do { ++#ifdef HAVE_POLL ++ n_ready = poll( pfd_array, pfds_last, -1 ); ++#else ++ n_ready = select( max+1, read_mask, ++ FD_SET_NULL, FD_SET_NULL, TIMEVAL_NULL ) ; ++#endif ++ } while (n_ready == -1 && errno == EINTR); ++ ++ + if ( n_ready > 0 ) + return( n_ready ) ; +- else if ( n_ready == -1 ) { +- if ( errno == EINTR ) +- continue ; +- else +- { +- msg( LOG_ERR, func, "select: %m" ) ; +- return( -1 ) ; +- } +- } ++#ifdef HAVE_POLL ++ msg( LOG_ERR, func, "poll: %m" ) ; ++#else ++ msg( LOG_ERR, func, "select: %m" ) ; ++#endif ++ return( -1 ) ; + } + } + +diff -Nurp xinetd-2.3.14-orig/xinetd/internals.c xinetd-2.3.14-poll/xinetd/internals.c +--- xinetd-2.3.14-orig/xinetd/internals.c 2003-09-06 16:41:59.000000000 +0200 ++++ xinetd-2.3.14-poll/xinetd/internals.c 2009-09-03 10:38:29.000000000 +0200 +@@ -53,6 +53,9 @@ void dump_internal_state(void) + const char *dump_file = DUMP_FILE ; + time_t current_time ; + int fd ; ++#ifdef HAVE_POLL ++ int *listed_fds; ++#endif + unsigned u ; + const char *func = "dump_internal_state" ; + +@@ -104,6 +107,41 @@ void dump_internal_state(void) + server_dump( SERP( pset_pointer( RETRIES( ps ), u ) ), dump_fd ) ; + Sputchar( dump_fd, '\n' ) ; + ++#ifdef HAVE_POLL ++ /* ++ * Dump the socket mask ++ */ ++ listed_fds = (int *)calloc(sizeof(int),ps.ros.max_descriptors); ++ if (listed_fds != NULL) ++ { ++ Sprint( dump_fd, "Socket mask:" ) ; ++ for ( fd = 0 ; fd < ps.rws.pfds_last ; fd++ ) ++ { ++ listed_fds[ps.rws.pfd_array[fd].fd] = 1; ++ Sprint( dump_fd, " %d", ps.rws.pfd_array[fd].fd ) ; ++ } ++ Sputchar( dump_fd, '\n' ) ; ++ Sprint( dump_fd, "pfds_last = %d\n", ps.rws.pfds_last ) ; ++ ++ /* ++ * Dump the descriptors that are open and are *not* in the socket list ++ */ ++ Sprint( dump_fd, "Open descriptors (not in socket mask):" ) ; ++ for ( fd = 0 ; (unsigned)fd < ps.ros.max_descriptors ; fd++ ) ++ { ++ struct stat st ; ++ ++ if ( !listed_fds[fd] && fstat( fd, &st ) != -1 ) ++ Sprint( dump_fd, " %d", fd ) ; ++ } ++ ++ Sputchar( dump_fd, '\n' ) ; ++ Sputchar( dump_fd, '\n' ) ; ++ free(listed_fds); ++ } ++ else ++ Sprint( dump_fd, "Could not dump open descriptors, not enough memory!\n" ); ++#else /* !HAVE_POLL */ + /* + * Dump the socket mask + */ +@@ -114,6 +152,7 @@ void dump_internal_state(void) + Sputchar( dump_fd, '\n' ) ; + Sprint( dump_fd, "mask_max = %d\n", ps.rws.mask_max ) ; + ++ + /* + * Dump the descriptors that are open and are *not* in the socket mask + */ +@@ -130,6 +169,7 @@ void dump_internal_state(void) + } + Sputchar( dump_fd, '\n' ) ; + Sputchar( dump_fd, '\n' ) ; ++#endif /* !HAVE_POLL */ + + Sprint( dump_fd, "active_services = %d\n", ps.rws.active_services ) ; + Sprint( dump_fd, "available_services = %d\n", ps.rws.available_services ) ; +@@ -162,7 +202,6 @@ enum check_type { PERIODIC, USER_REQUEST + static void consistency_check( enum check_type type ) + { + int fd ; +- fd_set socket_mask_copy ; + unsigned u ; + int errors ; + unsigned total_running_servers = 0 ; +@@ -171,7 +210,19 @@ static void consistency_check( enum chec + bool_int service_count_check_failed = FALSE ; + const char *func = "consistency_check" ; + ++ ++#ifdef HAVE_POLL ++ struct pollfd *pfd_array_copy = calloc(sizeof(struct pollfd), ps.rws.pfds_last); ++ if (pfd_array_copy == NULL) ++ { ++ msg( LOG_ERR, func, "Could not run consistency check! Not enough memory!\n" ) ; ++ return; ++ } ++ memcpy(pfd_array_copy, ps.rws.pfd_array, ps.rws.pfds_last*sizeof(struct pollfd)); ++#else /* !HAVE_POLL */ ++ fd_set socket_mask_copy ; + socket_mask_copy = ps.rws.socket_mask ; ++#endif /* HAVE_POLL */ + + for ( u = 0 ; u < pset_count( SERVICES( ps ) ) ; u++ ) + { +@@ -184,9 +235,22 @@ static void consistency_check( enum chec + + if ( SVC_IS_AVAILABLE( sp ) || SVC_IS_DISABLED ( sp ) ) + { ++ + /* + * In this case, there may be some servers running + */ ++#ifdef HAVE_POLL ++ if ( pfd_array_copy[ SVC_POLLFD_OFF( sp ) ].events ) ++ { ++ if ( SVC_IS_DISABLED( sp ) ) ++ { ++ msg( LOG_ERR, func, ++ "fd of disabled service %s still in socket mask", sid ) ; ++ error_count++ ; ++ } ++ pfd_array_copy[ SVC_POLLFD_OFF( sp ) ].events = 0; ++ } ++#else /* !HAVE_POLL */ + if ( FD_ISSET( SVC_FD( sp ), &socket_mask_copy ) ) + { + if ( SVC_IS_DISABLED( sp ) ) +@@ -197,8 +261,9 @@ static void consistency_check( enum chec + } + FD_CLR( SVC_FD( sp ), &socket_mask_copy ) ; + } +- error_count += thread_check( sp, running_servers, retry_servers ) ; ++#endif /* HAVE_POLL */ + ++ error_count += thread_check( sp, running_servers, retry_servers ) ; + errors = service_count_check( sp, running_servers, retry_servers ) ; + if ( ! errors && ! service_count_check_failed ) + { +@@ -248,6 +313,18 @@ static void consistency_check( enum chec + /* + * Check if there are any descriptors set in socket_mask_copy + */ ++#ifdef HAVE_POLL ++ for ( fd = 0 ; fd < ps.rws.pfds_last ; fd++) ++ if ( pfd_array_copy[fd].events && pfd_array_copy[fd].fd != signals_pending[0] && ++ pfd_array_copy[fd].fd != signals_pending[1] ) ++ { ++ msg( LOG_ERR, func, ++ "descriptor %d set in socket mask but there is no service for it", ++ fd ) ; ++ error_count++ ; ++ } ++ free(pfd_array_copy); ++#else /* !HAVE_POLL */ + for ( fd = 0 ; (unsigned)fd < ps.ros.max_descriptors ; fd++ ) + if ( FD_ISSET( fd, &socket_mask_copy ) && ((fd != signals_pending[0]) && fd != signals_pending[1])) + { +@@ -256,6 +333,7 @@ static void consistency_check( enum chec + fd ) ; + error_count++ ; + } ++#endif /* !HAVE_POLL */ + + if ( error_count != 0 ) + msg( LOG_WARNING, func, +@@ -304,7 +382,6 @@ static unsigned service_count_check( str + } + + +- + /* + * If the service is single-threaded: + * if the descriptor is set in the socket mask, there must +@@ -317,7 +394,11 @@ static unsigned thread_check( struct ser + unsigned retry_servers ) + { + unsigned error_count = 0 ; ++#ifdef HAVE_POLL ++ struct pollfd *pfd= SVC_POLLFD( sp ) ; ++#else + int sd = SVC_FD( sp ) ; ++#endif + char *sid = SVC_ID( sp ) ; + const char *func = "thread_check" ; + +@@ -325,13 +406,21 @@ static unsigned thread_check( struct ser + { + bool_int has_servers = ( running_servers + retry_servers != 0 ) ; + ++#ifdef HAVE_POLL ++ if ( has_servers && pfd->events ) ++#else + if ( has_servers && FD_ISSET( sd, &ps.rws.socket_mask ) ) ++#endif + { + msg( LOG_ERR, func, + "Active single-threaded service %s: server running, descriptor set", sid ) ; + error_count++ ; + } ++#ifdef HAVE_POLL ++ if ( !has_servers && !pfd->events ) ++#else + if ( !has_servers && !FD_ISSET( sd, &ps.rws.socket_mask ) ) ++#endif + { + msg( LOG_ERR, func, + "Active single-threaded service %s: no server running, descriptor not set", +@@ -340,7 +429,11 @@ static unsigned thread_check( struct ser + } + } + else ++#ifdef HAVE_POLL ++ if ( ! pfd->events ) ++#else + if ( ! FD_ISSET( sd, &ps.rws.socket_mask ) ) ++#endif + { + msg( LOG_ERR, func, + "Active multi-threaded service %s: descriptor not set", sid ) ; +diff -Nurp xinetd-2.3.14-orig/xinetd/main.c xinetd-2.3.14-poll/xinetd/main.c +--- xinetd-2.3.14-orig/xinetd/main.c 2009-07-27 13:27:59.000000000 +0200 ++++ xinetd-2.3.14-poll/xinetd/main.c 2009-09-03 16:23:11.000000000 +0200 +@@ -25,6 +25,9 @@ + #include "xtimer.h" + #include "sensor.h" + #include "xmdns.h" ++#ifdef HAVE_POLL ++#include "xpoll.h" ++#endif + + #ifdef __GNUC__ + __attribute__ ((noreturn)) +@@ -119,16 +122,24 @@ static void main_loop(void) + { + const char *func = "main_loop" ; + struct timeval tv, *tvptr = NULL; ++#ifdef HAVE_POLL ++ struct pollfd *signal_pfd; + +- FD_SET(signals_pending[0], &ps.rws.socket_mask); ++ ps.rws.pfd_array[ps.rws.pfds_last].fd = signals_pending[0] ; ++ ps.rws.pfd_array[ps.rws.pfds_last].events = POLLIN ; ++ signal_pfd = &ps.rws.pfd_array[ps.rws.pfds_last] ; ++ ps.rws.pfds_last++; ++#else ++ FD_SET(signals_pending[0], &ps.rws.socket_mask) ; + if ( signals_pending[0] > ps.rws.mask_max ) + ps.rws.mask_max = signals_pending[0] ; +- if ( signals_pending[1] > ps.rws.mask_max ) +- ps.rws.mask_max = signals_pending[1] ; ++#endif /* HAVE_POLL */ + + for ( ;; ) + { ++#ifndef HAVE_POLL + fd_set read_mask ; ++#endif + int n_active ; + unsigned u ; + +@@ -144,9 +155,14 @@ static void main_loop(void) + tvptr = NULL; + } + ++#ifdef HAVE_POLL ++ n_active = poll( ps.rws.pfd_array, ps.rws.pfds_last, ++ tvptr == NULL ? -1 : tvptr->tv_sec*1000 ) ; ++#else + read_mask = ps.rws.socket_mask ; + n_active = select( ps.rws.mask_max+1, &read_mask, + FD_SET_NULL, FD_SET_NULL, tvptr ) ; ++#endif + if ( n_active == -1 ) + { + if ( errno == EINTR ) { +@@ -165,11 +181,27 @@ static void main_loop(void) + + xtimer_poll(); + +- if( FD_ISSET(signals_pending[0], &read_mask) ) { ++#ifdef HAVE_POLL ++ if ( POLLFD_REVENTS( signal_pfd ) ) ++ { ++ if ( POLLFD_REVENTS( signal_pfd ) & (POLLERR | POLLHUP | ++ POLLNVAL) ) ++ find_bad_fd(); ++ else ++ { ++ check_pipe(); ++ if ( --n_active == 0 ) ++ continue ; ++ } ++ } ++#else ++ if( FD_ISSET(signals_pending[0], &read_mask) ) ++ { + check_pipe(); + if ( --n_active == 0 ) + continue ; + } ++#endif + + #ifdef HAVE_MDNS + if( xinetd_mdns_poll() == 0 ) +@@ -186,19 +218,33 @@ static void main_loop(void) + if ( ! SVC_IS_ACTIVE( sp ) ) + continue ; + ++#ifdef HAVE_POLL ++ if ( SVC_REVENTS( sp ) ) ++ { ++ if ( SVC_REVENTS( sp ) & (POLLERR | POLLHUP | ++ POLLNVAL) ) ++ find_bad_fd(); ++ else ++ { ++ svc_request( sp ) ; ++ if ( --n_active == 0 ) ++ break ; ++ } ++ } ++#else + if ( FD_ISSET( SVC_FD( sp ), &read_mask ) ) + { + svc_request( sp ) ; + if ( --n_active == 0 ) + break ; + } ++#endif + } + if ( n_active > 0 ) + msg( LOG_ERR, func, "%d descriptors still set", n_active ) ; + } + } + +- + /* + * This function identifies if any of the fd's in the socket mask + * is bad. We use it in case select(2) returns EBADF +@@ -208,13 +254,29 @@ static void main_loop(void) + static void find_bad_fd(void) + { + int fd ; ++#ifdef HAVE_POLL ++ const char *reason; ++#else + struct stat st ; ++#endif + unsigned bad_fd_count = 0 ; + const char *func = "find_bad_fd" ; + ++#ifdef HAVE_POLL ++ for ( fd = 0 ; (unsigned)fd < ps.rws.pfds_last ; fd++ ) ++ if ( ps.rws.pfd_array[fd].revents & ( POLLHUP|POLLNVAL|POLLERR ) ) ++ { ++ if ( ps.rws.pfd_array[fd].revents & POLLHUP ) ++ reason = "hung up"; ++ else if ( ps.rws.pfd_array[fd].revents & POLLNVAL ) ++ reason = "been closed"; ++ else if ( ps.rws.pfd_array[fd].revents & POLLERR ) ++ reason = "reported error condition"; ++#else + for ( fd = 0 ; (unsigned)fd < ps.ros.max_descriptors ; fd++ ) + if ( FD_ISSET( fd, &ps.rws.socket_mask ) && fstat( fd, &st ) == -1 ) + { ++#endif + int found = FALSE ; + unsigned u ; + +@@ -239,7 +301,11 @@ static void find_bad_fd(void) + } + if ( ! found ) + { ++#ifdef HAVE_POLL ++ ps.rws.pfd_array[fd].events = 0; ++#else + FD_CLR( fd, &ps.rws.socket_mask ) ; ++#endif + msg( LOG_ERR, func, + "No active service for file descriptor %d\n", fd ) ; + bad_fd_count++ ; +diff -Nurp xinetd-2.3.14-orig/xinetd/redirect.c xinetd-2.3.14-poll/xinetd/redirect.c +--- xinetd-2.3.14-orig/xinetd/redirect.c 2009-07-27 13:27:59.000000000 +0200 ++++ xinetd-2.3.14-poll/xinetd/redirect.c 2009-09-02 16:00:34.000000000 +0200 +@@ -58,14 +58,19 @@ void redir_handler( struct server *serp + struct service *sp = SERVER_SERVICE( serp ); + struct service_config *scp = SVC_CONF( sp ); + int RedirDescrip = SERVER_FD( serp ); +- 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; + int on = 1, v6on; + char buff[NET_BUFFER]; ++#ifdef HAVE_POLL ++ struct pollfd *pfd_array; ++ int pfds_last = 0; ++#else + fd_set rdfd, msfd; ++ int maxfd; ++#endif + struct timeval *timep = NULL; + const char *func = "redir_handler"; + union xsockaddr serveraddr ; +@@ -141,19 +146,43 @@ void redir_handler( struct server *serp + msg(LOG_ERR, func, "setsockopt RedirDescrip failed: %m"); + } + ++#ifdef HAVE_POLL ++#define REDIR_DESCRIP_INDEX 0 ++#define REDIR_SERVER_INDEX 1 ++ pfd_array = (struct pollfd *)calloc(sizeof(struct pollfd),INIT_POLLFDS); ++ if (pfd_array == NULL) ++ { ++ msg( LOG_ERR, func, "Cannot allocate memory for file descriptors!\n"); ++ exit( 1 ); ++ } ++ pfd_array[ REDIR_DESCRIP_INDEX ].fd = RedirDescrip; ++ pfd_array[ REDIR_DESCRIP_INDEX ].events = POLLIN; ++ pfd_array[ REDIR_SERVER_INDEX ].fd = RedirServerFd; ++ pfd_array[ REDIR_SERVER_INDEX ].events = POLLIN; ++ pfds_last += 2; ++#else + maxfd = (RedirServerFd > RedirDescrip)?RedirServerFd:RedirDescrip; + FD_ZERO(&msfd); + FD_SET(RedirDescrip, &msfd); + FD_SET(RedirServerFd, &msfd); ++#endif + + while(1) { ++#ifdef HAVE_POLL ++ if ( poll( pfd_array, pfds_last, -1 ) <= 0 ) { ++#else + memcpy(&rdfd, &msfd, sizeof(rdfd)); + if (select(maxfd + 1, &rdfd, (fd_set *)0, (fd_set *)0, timep) <= 0) { ++#endif + /* place for timeout code, currently does not time out */ + break; + } + ++#ifdef HAVE_POLL ++ if ( pfd_array[REDIR_DESCRIP_INDEX].revents ) { ++#else + if (FD_ISSET(RedirDescrip, &rdfd)) { ++#endif + do { + num_read = read(RedirDescrip, + buff, sizeof(buff)); +@@ -179,7 +208,11 @@ void redir_handler( struct server *serp + } + } + ++#ifdef HAVE_POLL ++ if ( pfd_array[REDIR_SERVER_INDEX].revents ) { ++#else + if (FD_ISSET(RedirServerFd, &rdfd)) { ++#endif + do { + num_read = read(RedirServerFd, + buff, sizeof(buff)); +diff -Nurp xinetd-2.3.14-orig/xinetd/server.c xinetd-2.3.14-poll/xinetd/server.c +--- xinetd-2.3.14-orig/xinetd/server.c 2005-03-29 17:50:34.000000000 +0200 ++++ xinetd-2.3.14-poll/xinetd/server.c 2009-09-02 11:30:27.000000000 +0200 +@@ -298,7 +298,11 @@ void server_end( struct server *serp ) + + /* Added this for when accepting wait=yes services */ + if( SVC_WAITS( sp ) ) ++#ifdef HAVE_POLL ++ SVC_EVENTS( sp ) = POLLIN ; ++#else + FD_SET( SVC_FD( sp ), &ps.rws.socket_mask ) ; ++#endif /* HAVE_POLL */ + + svc_postmortem( sp, serp ) ; + server_release( serp ) ; +diff -Nurp xinetd-2.3.14-orig/xinetd/service.c xinetd-2.3.14-poll/xinetd/service.c +--- xinetd-2.3.14-orig/xinetd/service.c 2009-07-27 13:27:59.000000000 +0200 ++++ xinetd-2.3.14-poll/xinetd/service.c 2009-09-02 17:03:49.000000000 +0200 +@@ -71,8 +71,6 @@ static const struct name_value service_s + { "BAD STATE", 0 } + } ; + +- +- + /* + * Allocate a new struct service and initialize it from scp + */ +@@ -115,6 +113,10 @@ struct service *svc_make_special( struct + + void svc_free( struct service *sp ) + { ++#ifdef HAVE_POLL ++ *SVC_POLLFD( sp ) = ps.rws.pfd_array[--ps.rws.pfds_last] ; ++#endif /* HAVE_POLL */ ++ + sc_free( SVC_CONF(sp) ) ; + CLEAR( *sp ) ; + FREE_SVC( sp ) ; +@@ -325,6 +327,25 @@ status_e svc_activate( struct service *s + return( OK ); + } + ++#ifdef HAVE_POLL ++ if ( ps.rws.pfds_last >= ps.rws.pfds_allocated ) ++ { ++ int pos; ++ ps.rws.pfds_allocated += INIT_POLLFDS; ++ struct pollfd *tmp = (struct pollfd *)realloc( ps.rws.pfd_array, ++ ps.rws.pfds_allocated*sizeof(struct pollfd)); ++ if ( tmp == NULL ) ++ { ++ out_of_memory( func ); ++ return( FAILED ); ++ } ++ memset(&ps.rws.pfd_array[ps.rws.pfds_last], 0, (ps.rws.pfds_allocated- ++ ps.rws.pfds_last)*sizeof(struct pollfd)); ++ ps.rws.pfd_array = tmp; ++ } ++ SVC_POLLFD( sp ) = &ps.rws.pfd_array[ps.rws.pfds_last++] ; ++#endif /* HAVE_POLL */ ++ + if( SC_IPV4( scp ) ) { + SVC_FD(sp) = socket( AF_INET, + SC_SOCKET_TYPE( scp ), SC_PROTOVAL( scp ) ) ; +@@ -390,9 +411,14 @@ status_e svc_activate( struct service *s + + SVC_STATE(sp) = SVC_ACTIVE ; + ++#ifdef HAVE_POLL ++ SVC_EVENTS( sp ) = POLLIN ; ++#else + FD_SET( SVC_FD(sp), &ps.rws.socket_mask ) ; ++ + if ( SVC_FD(sp) > ps.rws.mask_max ) + ps.rws.mask_max = SVC_FD(sp) ; ++#endif /* HAVE_POLL */ + + ps.rws.active_services++ ; + ps.rws.available_services++ ; +@@ -442,7 +468,11 @@ void svc_deactivate( struct service *sp + + if ( SVC_IS_ACTIVE( sp ) ) + { ++#ifdef HAVE_POLL ++ SVC_EVENTS( sp ) = 0; ++#else + FD_CLR( SVC_FD( sp ), &ps.rws.socket_mask ) ; ++#endif /* HAVE_POLL */ + ps.rws.active_services-- ; + } + +@@ -465,7 +495,15 @@ void svc_suspend( struct service *sp ) + return ; + } + ++#ifdef HAVE_POLL ++ /* ++ * don't reap the pfd from pfd_array, since we must have it allocated for ++ * SVC_FD( sp ) ++ */ ++ SVC_EVENTS( sp ) = 0; ++#else + FD_CLR( SVC_FD( sp ), &ps.rws.socket_mask ) ; ++#endif + ps.rws.active_services-- ; + if ( debug.on ) + msg( LOG_DEBUG, func, "Suspended service %s", SVC_ID( sp ) ) ; +@@ -481,7 +519,12 @@ void svc_resume( struct service *sp ) + { + const char *func = "svc_resume" ; + ++#ifdef HAVE_POLL ++ SVC_EVENTS( sp ) = POLLIN ; ++#else + FD_SET( SVC_FD( sp ), &ps.rws.socket_mask ) ; ++#endif ++ + ps.rws.active_services++ ; + if ( debug.on ) + msg( LOG_DEBUG, func, "Resumed service %s", SVC_ID( sp ) ) ; +diff -Nurp xinetd-2.3.14-orig/xinetd/service.h xinetd-2.3.14-poll/xinetd/service.h +--- xinetd-2.3.14-orig/xinetd/service.h 2005-03-29 17:50:34.000000000 +0200 ++++ xinetd-2.3.14-poll/xinetd/service.h 2009-09-03 16:24:16.000000000 +0200 +@@ -17,6 +17,9 @@ + #include "pset.h" + #include "xlog.h" + #include "server.h" ++#ifdef HAVE_POLL ++#include "xpoll.h" ++#endif + + /* + * $Id: service.h,v 1.6 2012-05-09 15:40:29 bbraun Exp $ +@@ -45,7 +48,13 @@ struct service + state_e svc_state ; + int svc_ref_count ; /* # of pters to this struct */ + struct service_config *svc_conf ; /* service configuration */ ++ ++#ifdef HAVE_POLL ++ struct pollfd *svc_pfd ; /* pointer to the pollfd */ ++#else + int svc_fd ; /* The Listening FD for the service */ ++#endif /* HAVE_POLL */ ++ + unsigned svc_running_servers ; + unsigned svc_retry_servers ; + unsigned svc_attempts ; /* # of attempts to start server */ +@@ -70,7 +79,17 @@ struct service + * Field access macros + */ + #define SVC_CONF( sp ) ( (sp)->svc_conf ) ++ ++#ifdef HAVE_POLL ++#define SVC_POLLFD( sp ) ( (sp)->svc_pfd ) ++#define SVC_POLLFD_OFF( sp ) ( SVC_POLLFD( sp )-ps.rws.pfd_array ) ++#define SVC_EVENTS( sp ) ( POLLFD_EVENTS( SVC_POLLFD( sp ) ) ) ++#define SVC_REVENTS( sp ) ( POLLFD_REVENTS( SVC_POLLFD( sp ) ) ) ++#define SVC_FD( sp ) ( POLLFD_FD( SVC_POLLFD( sp ) ) ) ++#else + #define SVC_FD( sp ) ( (sp)->svc_fd ) ++#endif /* HAVE_POLL */ ++ + #define SVC_RUNNING_SERVERS( sp ) (sp)->svc_running_servers + #define SVC_RETRIES( sp ) (sp)->svc_retry_servers + #define SVC_LOG( sp ) (sp)->svc_log +diff -Nurp xinetd-2.3.14-orig/xinetd/state.h xinetd-2.3.14-poll/xinetd/state.h +--- xinetd-2.3.14-orig/xinetd/state.h 2005-03-31 01:15:28.000000000 +0200 ++++ xinetd-2.3.14-poll/xinetd/state.h 2009-09-02 11:30:27.000000000 +0200 +@@ -21,7 +21,10 @@ + #endif + #include "libportable.h" + +-#ifdef HAVE_SYS_SELECT_H ++#ifdef HAVE_POLL ++#include ++#endif ++#if HAVE_SYS_SELECT_H + #include + #endif + +@@ -32,7 +35,6 @@ + + struct read_only_state + { +- rlim_t orig_max_descriptors ; /* original soft rlimit */ + rlim_t max_descriptors ; /* original hard rlimit or OPEN_MAX */ + rlim_t process_limit ; /* if 0, there is no limit */ + int cc_interval ; /* # of seconds the cc gets invoked. */ +@@ -58,8 +60,15 @@ struct read_write_state + int available_services ; /* # of available services */ + int active_services ; /* services with descriptors set */ + /* in socket mask */ ++#ifdef HAVE_POLL ++ struct pollfd *pfd_array; /* array passed to poll(2) */ ++ int pfds_last; /* index of last fd in the array */ ++ int pfds_allocated; /* size of the array */ ++#else + fd_set socket_mask ; + int mask_max ; ++#endif /* HAVE_POLL */ ++ + pset_h servers ; /* table of running servers */ + pset_h retries ; /* table of servers to retry */ + pset_h services ; /* table of services */ +diff -Nurp xinetd-2.3.14-orig/xinetd/tcpint.c xinetd-2.3.14-poll/xinetd/tcpint.c +--- xinetd-2.3.14-orig/xinetd/tcpint.c 2009-07-27 13:27:59.000000000 +0200 ++++ xinetd-2.3.14-poll/xinetd/tcpint.c 2009-09-02 16:49:32.000000000 +0200 +@@ -63,7 +63,15 @@ struct intercept_s *si_init( struct serv + return( ip ) ; + } + ++#ifdef HAVE_POLL ++static status_e handle_io( psi_h iter, channel_s *chp, ++ struct pollfd *pfd_handled, ++ struct pollfd *pfd_array, ++ int *pfds_last, ++ stream_status_e (*iofunc)() ); ++#else + static status_e handle_io( psi_h iter, channel_s *chp, fd_set *maskp, stream_status_e (*iofunc)() ); ++#endif + static stream_status_e tcp_local_to_remote( channel_s *chp ); + static stream_status_e tcp_remote_to_local( channel_s *chp ); + static void connection_request( struct intercept_s *ip, channel_s **chpp ); +@@ -82,14 +90,26 @@ void si_exit(void) + static void si_mux(void) + { + struct intercept_s *ip = &stream_intercept_state ; ++#ifdef HAVE_POLL ++ struct pollfd *pfd_array; ++ int pfds_last = 0; ++ int pfds_allocated = INIT_POLLFDS; ++#else + fd_set socket_mask ; + int mask_max ; ++#endif + psi_h iter ; + const char *func = "si_mux" ; + ++#ifdef HAVE_POLL ++ pfd_array = calloc(sizeof(struct pollfd),INIT_POLLFDS); ++ pfd_array[ pfds_last ].fd = INT_REMOTE( ip ) ; ++ pfd_array[ pfds_last++ ].events = POLLIN | POLLOUT; ++#else + FD_ZERO( &socket_mask ) ; + FD_SET( INT_REMOTE( ip ), &socket_mask ) ; + mask_max = INT_REMOTE( ip ) ; ++#endif + + iter = psi_create( INT_CONNECTIONS( ip ) ) ; + if ( iter == NULL ) +@@ -101,26 +121,43 @@ static void si_mux(void) + for ( ;; ) + { + channel_s *chp ; ++#ifndef HAVE_POLL + fd_set read_mask ; ++#endif + int n_ready ; + ++#ifdef HAVE_POLL ++ n_ready = int_poll( pfds_last, pfd_array ) ; ++#else + read_mask = socket_mask ; + n_ready = int_select( mask_max+1, &read_mask ) ; ++#endif + + if ( n_ready == -1 ) + return ; + ++#ifdef HAVE_POLL ++ if ( pfd_array[0].revents & ( POLLIN | POLLOUT ) ) ++#else + if ( FD_ISSET( INT_REMOTE( ip ), &read_mask ) ) ++#endif + { + connection_request( ip, &chp ) ; + if ( chp != NULL ) + { ++#ifdef HAVE_POLL ++ pfd_array[ pfds_last ].fd = chp->ch_local_socket ; ++ pfd_array[ pfds_last++ ].events = POLLIN | POLLOUT ; ++ pfd_array[ pfds_last ].fd = chp->ch_remote_socket ; ++ pfd_array[ pfds_last++ ].events = POLLIN | POLLOUT ; ++#else + FD_SET( chp->ch_local_socket, &socket_mask ) ; + if ( chp->ch_local_socket > mask_max ) + mask_max = chp->ch_local_socket ; + FD_SET( chp->ch_remote_socket, &socket_mask ) ; + if ( chp->ch_remote_socket > mask_max ) + mask_max = chp->ch_remote_socket ; ++#endif + } + if ( --n_ready == 0 ) + continue ; +@@ -128,27 +165,57 @@ static void si_mux(void) + + for ( chp = CHP( psi_start(iter) ) ; chp ; chp = CHP( psi_next(iter) ) ) + { ++#ifdef HAVE_POLL ++ int i; ++ struct pollfd *local_pfd = NULL, *remote_pfd = NULL; ++ ++ /* TODO: detection with O(n)=1 */ ++ for (i = 0 ; i < pfds_last ; i++ ) ++ if (pfd_array[i].fd == chp->ch_local_socket) ++ local_pfd = &pfd_array[i]; ++ else if (pfd_array[i] .fd== chp->ch_remote_socket) ++ remote_pfd = &pfd_array[i]; ++ ++ if ( local_pfd != NULL && ++ local_pfd->revents & ( POLLIN | POLLOUT) ) ++#else + if ( FD_ISSET( chp->ch_local_socket, &read_mask ) ) ++#endif + { + #ifdef DEBUG_TCPINT + if ( debug.on ) + msg( LOG_DEBUG, func, "Input available on local socket %d", + chp->ch_local_socket ) ; + #endif ++#ifdef HAVE_POLL ++ if ( handle_io( iter, chp, local_pfd, pfd_array, ++ &pfds_last, tcp_local_to_remote ) == FAILED ) ++#else + if ( handle_io( iter, chp, &socket_mask, tcp_local_to_remote ) == FAILED ) ++#endif + return ; + if ( --n_ready == 0 ) + break ; + } + ++#ifdef HAVE_POLL ++ if ( remote_pfd != NULL && ++ remote_pfd->revents & ( POLLIN | POLLOUT) ) ++#else + if ( FD_ISSET( chp->ch_remote_socket, &read_mask ) ) ++#endif + { + #ifdef DEBUG_TCPINT + msg( LOG_DEBUG, func, "Input available on remote socket %d", + chp->ch_remote_socket ) ; + #endif ++#ifdef HAVE_POLL ++ if ( handle_io( iter, chp, remote_pfd, pfd_array, ++ &pfds_last, tcp_local_to_remote ) == FAILED ) ++#else + if ( handle_io( iter, chp, + &socket_mask, tcp_remote_to_local ) == FAILED ) ++#endif + return ; + if ( --n_ready == 0 ) + break ; +@@ -158,10 +225,19 @@ static void si_mux(void) + } + + ++#ifdef HAVE_POLL ++static status_e handle_io( psi_h iter, ++ channel_s *chp, ++ struct pollfd *pfd_handled, ++ struct pollfd *pfd_array, ++ int *pfds_last, ++ stream_status_e (*iofunc)() ) ++#else + static status_e handle_io( psi_h iter, + channel_s *chp, + fd_set *maskp, + stream_status_e (*iofunc)() ) ++#endif + { + const char *func = "handle_io" ; + +@@ -178,8 +254,13 @@ static status_e handle_io( psi_h iter, + xaddrname( &chp->ch_from ), ntohs(xaddrport( &chp->ch_from )), + chp->ch_local_socket, chp->ch_remote_socket ) ; + ++#ifdef HAVE_POLL ++ if ( pfd_handled != NULL) ++ *pfd_handled = pfd_array[ --( *pfds_last ) ]; ++#else + FD_CLR( chp->ch_local_socket, maskp ) ; + FD_CLR( chp->ch_remote_socket, maskp ) ; ++#endif + (void) Sclose( chp->ch_remote_socket ) ; + (void) Sclose( chp->ch_local_socket ) ; + psi_remove( iter ) ; +diff -Nurp xinetd-2.3.14-orig/xinetd/udpint.c xinetd-2.3.14-poll/xinetd/udpint.c +--- xinetd-2.3.14-orig/xinetd/udpint.c 2009-07-27 13:27:59.000000000 +0200 ++++ xinetd-2.3.14-poll/xinetd/udpint.c 2009-09-02 16:59:33.000000000 +0200 +@@ -15,6 +15,9 @@ + #include + #include + ++#ifdef HAVE_POLL ++#include ++#endif + #ifdef HAVE_SYS_SELECT_H + #include + #endif +@@ -97,34 +100,61 @@ void di_exit(void) + static void di_mux(void) + { + struct intercept_s *ip = &dgram_intercept_state ; ++#ifdef HAVE_POLL ++ struct pollfd *pfd_array; ++ int pfds_last = 0; ++ int pfds_allocated = INIT_POLLFDS; ++#else + fd_set socket_mask ; + int mask_max ; ++#endif + ++#ifdef HAVE_POLL ++ pfd_array = (struct pollfd *)calloc(sizeof(struct pollfd),INIT_POLLFDS); ++ pfd_array[ pfds_last ].fd = INT_REMOTE( ip ); ++ pfd_array[ pfds_last++ ].events = POLLIN | POLLOUT; ++#else + FD_ZERO( &socket_mask ) ; + FD_SET( INT_REMOTE( ip ), &socket_mask ) ; + mask_max = INT_REMOTE( ip ) ; ++#endif + + for ( ;; ) + { + unsigned u ; + channel_s *chp ; ++#ifndef HAVE_POLL + fd_set read_mask ; ++#endif + int n_ready ; + ++#ifdef HAVE_POLL ++ n_ready = int_poll( pfds_last, pfd_array ) ; ++#else + read_mask = socket_mask ; + n_ready = int_select( mask_max+1, &read_mask ) ; ++#endif + + if ( n_ready == -1 ) + return ; + ++#ifdef HAVE_POLL ++ if ( pfd_array[0].revents & ( POLLIN | POLLOUT ) ) ++#else + if ( FD_ISSET( INT_REMOTE( ip ), &read_mask ) ) ++#endif + { + udp_remote_to_local( ip, &chp ) ; + if ( chp != NULL ) + { ++#ifdef HAVE_POLL ++ pfd_array[ pfds_last ].fd = chp->ch_local_socket ; ++ pfd_array[ pfds_last++ ].events = POLLIN | POLLOUT ; ++#else + FD_SET( chp->ch_local_socket, &socket_mask ) ; + if ( chp->ch_local_socket > mask_max ) + mask_max = chp->ch_local_socket ; ++#endif + } + if ( --n_ready == 0 ) + continue ; +@@ -134,7 +164,17 @@ static void di_mux(void) + { + chp = CHP( pset_pointer( INT_CONNECTIONS( ip ), u ) ) ; + ++#ifdef HAVE_POLL ++ int i; ++ /* TODO: detection with O(n)=1 */ ++ for (i = 0 ; i < pfds_last ; i++) ++ if (pfd_array[i].fd == chp->ch_local_socket) ++ break; ++ if (pfd_array[i].fd == chp->ch_local_socket && ++ (pfd_array[i].revents & ( POLLIN | POLLOUT ))) ++#else + if ( FD_ISSET( chp->ch_local_socket, &read_mask ) ) ++#endif + { + if ( udp_local_to_remote( chp ) == FAILED ) + return ; +diff -Nurp xinetd-2.3.14-orig/xinetd/xmdns.c xinetd-2.3.14-poll/xinetd/xmdns.c +--- xinetd-2.3.14-orig/xinetd/xmdns.c 2005-04-08 23:23:07.000000000 +0200 ++++ xinetd-2.3.14-poll/xinetd/xmdns.c 2009-09-02 17:01:54.000000000 +0200 +@@ -109,7 +109,26 @@ int xinetd_mdns_init(void) { + ps.rws.mdns_state = NULL; + return -1; + } ++#ifdef HAVE_POLL ++ if ( ps.rws.pfds_last >= ps.rws.pfds_allocated ) ++ { ++ ps.rws.pfds_allocated += INIT_POLLFDS; ++ struct pollfd *tmp = (struct pollfd *)realloc( ps.rws.pfd_array, ++ ps.rws.pfds_allocated*sizeof(struct pollfd)); ++ if ( tmp == NULL ) ++ { ++ out_of_memory( func ); ++ return -1; ++ } ++ memset(&ps.rws.pfd_array[ps.rws.pfds_last], 0, (ps.rws.pfds_allocated- ++ ps.rws.pfds_last)*sizeof(struct pollfd)); ++ ps.rws.pfd_array = tmp; ++ } ++ ps.rws.pfd_array[ ps.rws.pfds_last ].fd = sw_discovery_socket(*(sw_discovery *)ps.rws.mdns_state); ++ ps.rws.pfd_array[ ps.rws.pfds_last++ ].events = POLLIN; ++#else + FD_SET( sw_discovery_socket(*(sw_discovery *)ps.rws.mdns_state), &ps.rws.socket_mask ) ; ++#endif + return 0; + #endif + } +diff -Nurp xinetd-2.3.14-orig/xinetd/xpoll.h xinetd-2.3.14-poll/xinetd/xpoll.h +--- xinetd-2.3.14-orig/xinetd/xpoll.h 1970-01-01 01:00:00.000000000 +0100 ++++ xinetd-2.3.14-poll/xinetd/xpoll.h 2009-09-02 11:30:27.000000000 +0200 +@@ -0,0 +1,23 @@ ++/* ++ * (c) Copyright 2009 by Red Hat Inc. ++ * All rights reserved. The file named COPYRIGHT specifies the terms ++ * and conditions for redistribution. ++ */ ++#include "config.h" ++#ifdef HAVE_POLL ++#ifndef _X_POLL_H ++#define _X_POLL_H ++ ++#include ++#include "defs.h" ++ ++ ++/* Field accessor methods for pollfd in defined in poll.h */ ++#define POLLFD_FD( pfd ) ( (pfd)->fd ) ++#define POLLFD_EVENTS( pfd ) ( (pfd)->events ) ++#define POLLFD_REVENTS( pfd ) ( (pfd)->revents ) ++ ++/* TODO: write memory management stuff in xpoll.c if needed */ ++ ++#endif /* _X_POLL_H */ ++#endif /* HAVE_POLL */ diff --git a/xinetd-2.3.14-readable-debuginfo.patch b/xinetd-2.3.14-readable-debuginfo.patch new file mode 100644 index 0000000..174791b --- /dev/null +++ b/xinetd-2.3.14-readable-debuginfo.patch @@ -0,0 +1,77 @@ +Generate debuginfo package with all include files readable. + +The support libraries would install their header files with 640 permissions, +which is not what we want. + +diff -up xinetd-2.3.14/libs/src/misc/Makefile.in.orig xinetd-2.3.14/libs/src/misc/Makefile.in +--- xinetd-2.3.14/libs/src/misc/Makefile.in.orig 2003-02-19 18:29:27.000000000 +0100 ++++ xinetd-2.3.14/libs/src/misc/Makefile.in 2008-09-18 10:18:59.000000000 +0200 +@@ -49,7 +49,7 @@ CC_FLAGS = $(DEBUG) + CFLAGS = @CFLAGS@ $(CPP_FLAGS) $(CC_FLAGS) -I$(INCLUDEDIR) + + INSTALL = @INSTALL@ +-FMODE = -m 640 # used by install ++FMODE = -m 644 # used by install + RANLIB = @RANLIB@ + + LIBNAME = lib$(NAME).a +diff -up xinetd-2.3.14/libs/src/portable/Makefile.in.orig xinetd-2.3.14/libs/src/portable/Makefile.in +--- xinetd-2.3.14/libs/src/portable/Makefile.in.orig 2003-02-19 18:29:27.000000000 +0100 ++++ xinetd-2.3.14/libs/src/portable/Makefile.in 2008-09-18 10:19:09.000000000 +0200 +@@ -44,7 +44,7 @@ CC_FLAGS = $(DEBUG) + CFLAGS = @CFLAGS@ $(CPP_FLAGS) $(CC_FLAGS) -I$(INCLUDEDIR) + + INSTALL = @INSTALL@ +-FMODE = -m 640 # used by install ++FMODE = -m 644 # used by install + RANLIB = @RANLIB@ + + LIBNAME = lib$(NAME).a +diff -up xinetd-2.3.14/libs/src/pset/Makefile.in.orig xinetd-2.3.14/libs/src/pset/Makefile.in +--- xinetd-2.3.14/libs/src/pset/Makefile.in.orig 2003-02-19 18:29:27.000000000 +0100 ++++ xinetd-2.3.14/libs/src/pset/Makefile.in 2008-09-18 10:19:17.000000000 +0200 +@@ -41,7 +41,7 @@ CC_FLAGS = $(DEBUG) + CFLAGS = @CFLAGS@ $(CPP_FLAGS) $(CC_FLAGS) + + INSTALL = @INSTALL@ +-FMODE = -m 640 # used by install ++FMODE = -m 644 # used by install + RANLIB = @RANLIB@ + + LIBNAME = lib$(NAME).a +diff -up xinetd-2.3.14/libs/src/sio/Makefile.in.orig xinetd-2.3.14/libs/src/sio/Makefile.in +--- xinetd-2.3.14/libs/src/sio/Makefile.in.orig 2003-02-19 18:29:27.000000000 +0100 ++++ xinetd-2.3.14/libs/src/sio/Makefile.in 2008-09-18 10:19:25.000000000 +0200 +@@ -40,7 +40,7 @@ CC_FLAGS = $(DEBUG) + CFLAGS = @CFLAGS@ $(CPP_FLAGS) $(CC_FLAGS) -I$(INCLUDEDIR) + + INSTALL = @INSTALL@ +-FMODE = -m 640 # used by install ++FMODE = -m 644 # used by install + RANLIB = @RANLIB@ + + LIBNAME = lib$(NAME).a +diff -up xinetd-2.3.14/libs/src/str/Makefile.in.orig xinetd-2.3.14/libs/src/str/Makefile.in +--- xinetd-2.3.14/libs/src/str/Makefile.in.orig 2003-02-19 18:29:27.000000000 +0100 ++++ xinetd-2.3.14/libs/src/str/Makefile.in 2008-09-18 10:19:33.000000000 +0200 +@@ -51,7 +51,7 @@ CC_FLAGS = $(DEBUG) + CFLAGS = @CFLAGS@ $(CPP_FLAGS) $(CC_FLAGS) + + INSTALL = @INSTALL@ +-FMODE = -m 640 # used by install ++FMODE = -m 644 # used by install + RANLIB = @RANLIB@ + + LIBNAME = lib$(NAME).a +diff -up xinetd-2.3.14/libs/src/xlog/Makefile.in.orig xinetd-2.3.14/libs/src/xlog/Makefile.in +--- xinetd-2.3.14/libs/src/xlog/Makefile.in.orig 2003-02-19 18:29:27.000000000 +0100 ++++ xinetd-2.3.14/libs/src/xlog/Makefile.in 2008-09-18 10:19:41.000000000 +0200 +@@ -46,7 +46,7 @@ CC_FLAGS = $(DEBUG) + CFLAGS = @CFLAGS@ $(CPP_FLAGS) $(CC_FLAGS) + + INSTALL = @INSTALL@ +-FMODE = -m 640 # used by install ++FMODE = -m 644 # used by install + RANLIB = @RANLIB@ + + LIBNAME = lib$(NAME).a diff --git a/xinetd-2.3.14-realloc-remove.patch b/xinetd-2.3.14-realloc-remove.patch new file mode 100644 index 0000000..6fd1902 --- /dev/null +++ b/xinetd-2.3.14-realloc-remove.patch @@ -0,0 +1,134 @@ +diff -rup xinetd-2.3.14/xinetd/defs.h xinetd-2.3.14-mod/xinetd/defs.h +--- xinetd-2.3.14/xinetd/defs.h 2012-01-18 14:22:20.811100158 +0100 ++++ xinetd-2.3.14-mod/xinetd/defs.h 2012-01-18 13:32:46.000000000 +0100 +@@ -114,11 +114,7 @@ union xsockaddr { + * constants for limiting ps.rws.fd_list + */ + +-#ifdef HAVE_POLL +-#define INIT_POLLFDS 4096 +-/* FIXME: not used */ +-#define MAX_POLLFDS 16384 +-#endif ++#define MAX_FDS 4096 + + /* + * When explicit values are given for enum's, that is because the structures +diff -rup xinetd-2.3.14/xinetd/init.c xinetd-2.3.14-mod/xinetd/init.c +--- xinetd-2.3.14/xinetd/init.c 2012-01-18 14:22:20.779100171 +0100 ++++ xinetd-2.3.14-mod/xinetd/init.c 2012-01-18 14:07:34.000000000 +0100 +@@ -151,7 +151,7 @@ static void set_fd_limit(void) + } + + if ( rl.rlim_max == RLIM_INFINITY ) +- rl.rlim_max = FD_SETSIZE; ++ rl.rlim_max = MAX_FDS; + + ps.ros.max_descriptors = rl.rlim_max ; + #else /* ! RLIMIT_NOFILE */ +@@ -283,12 +283,12 @@ static void init_rw_state( void ) + ps.rws.descriptors_free = ps.ros.max_descriptors - DESCRIPTORS_RESERVED ; + + #ifdef HAVE_POLL +- ps.rws.pfds_allocated = INIT_POLLFDS ; ++ ps.rws.pfds_allocated = ps.ros.max_descriptors ; + ps.rws.pfd_array = (struct pollfd *) + malloc( sizeof( struct pollfd ) * ps.rws.pfds_allocated ) ; + if ( ps.rws.pfd_array == NULL ) + { +- out_of_memory(func); ++ out_of_memory(func) ; + exit( 1 ) ; + } + ps.rws.pfds_last = 0 ; +diff -rup xinetd-2.3.14/xinetd/redirect.c xinetd-2.3.14-mod/xinetd/redirect.c +--- xinetd-2.3.14/xinetd/redirect.c 2012-01-18 14:22:20.780100170 +0100 ++++ xinetd-2.3.14-mod/xinetd/redirect.c 2012-01-18 12:22:08.000000000 +0100 +@@ -149,7 +149,7 @@ void redir_handler( struct server *serp + #ifdef HAVE_POLL + #define REDIR_DESCRIP_INDEX 0 + #define REDIR_SERVER_INDEX 1 +- pfd_array = (struct pollfd *)calloc(sizeof(struct pollfd),INIT_POLLFDS); ++ pfd_array = (struct pollfd *)calloc(sizeof(struct pollfd),MAX_FDS); + if (pfd_array == NULL) + { + msg( LOG_ERR, func, "Cannot allocate memory for file descriptors!\n"); +diff -rup xinetd-2.3.14/xinetd/service.c xinetd-2.3.14-mod/xinetd/service.c +--- xinetd-2.3.14/xinetd/service.c 2012-01-18 14:22:20.812100157 +0100 ++++ xinetd-2.3.14-mod/xinetd/service.c 2012-01-18 14:07:27.000000000 +0100 +@@ -114,10 +114,6 @@ struct service *svc_make_special( struct + + void svc_free( struct service *sp ) + { +-#ifdef HAVE_POLL +- *SVC_POLLFD( sp ) = ps.rws.pfd_array[--ps.rws.pfds_last] ; +-#endif /* HAVE_POLL */ +- + sc_free( SVC_CONF(sp) ) ; + CLEAR( *sp ) ; + FREE_SVC( sp ) ; +@@ -332,20 +328,10 @@ status_e svc_activate( struct service *s + } + + #ifdef HAVE_POLL +- if ( ps.rws.pfds_last >= ps.rws.pfds_allocated ) ++ if ( ps.rws.descriptors_free <= 0 ) + { +- int pos; +- ps.rws.pfds_allocated += INIT_POLLFDS; +- struct pollfd *tmp = (struct pollfd *)realloc( ps.rws.pfd_array, +- ps.rws.pfds_allocated*sizeof(struct pollfd)); +- if ( tmp == NULL ) +- { +- out_of_memory( func ); +- return( FAILED ); +- } +- ps.rws.pfd_array = tmp; +- memset(&ps.rws.pfd_array[ps.rws.pfds_last], 0, (ps.rws.pfds_allocated- +- ps.rws.pfds_last)*sizeof(struct pollfd)); ++ msg(LOG_ERR, func, "Maximum number of services reached") ; ++ return( FAILED ) ; + } + if ( sp->svc_pfd_index >= 0 ) + { +diff -rup xinetd-2.3.14/xinetd/tcpint.c xinetd-2.3.14-mod/xinetd/tcpint.c +--- xinetd-2.3.14/xinetd/tcpint.c 2012-01-18 14:22:20.782100169 +0100 ++++ xinetd-2.3.14-mod/xinetd/tcpint.c 2012-01-18 13:30:22.000000000 +0100 +@@ -93,7 +93,7 @@ static void si_mux(void) + #ifdef HAVE_POLL + struct pollfd *pfd_array; + int pfds_last = 0; +- int pfds_allocated = INIT_POLLFDS; ++ int pfds_allocated = MAX_FDS; + #else + fd_set socket_mask ; + int mask_max ; +@@ -102,7 +102,7 @@ static void si_mux(void) + const char *func = "si_mux" ; + + #ifdef HAVE_POLL +- pfd_array = calloc(sizeof(struct pollfd),INIT_POLLFDS); ++ pfd_array = calloc(sizeof(struct pollfd),MAX_FDS); + pfd_array[ pfds_last ].fd = INT_REMOTE( ip ) ; + pfd_array[ pfds_last++ ].events = POLLIN | POLLOUT; + #else +diff -rup xinetd-2.3.14/xinetd/udpint.c xinetd-2.3.14-mod/xinetd/udpint.c +--- xinetd-2.3.14/xinetd/udpint.c 2012-01-18 14:22:20.783100169 +0100 ++++ xinetd-2.3.14-mod/xinetd/udpint.c 2012-01-18 12:22:00.000000000 +0100 +@@ -103,14 +103,14 @@ static void di_mux(void) + #ifdef HAVE_POLL + struct pollfd *pfd_array; + int pfds_last = 0; +- int pfds_allocated = INIT_POLLFDS; ++ int pfds_allocated = MAX_FDS; + #else + fd_set socket_mask ; + int mask_max ; + #endif + + #ifdef HAVE_POLL +- pfd_array = (struct pollfd *)calloc(sizeof(struct pollfd),INIT_POLLFDS); ++ pfd_array = (struct pollfd *)calloc(sizeof(struct pollfd),MAX_FDS); + pfd_array[ pfds_last ].fd = INT_REMOTE( ip ); + pfd_array[ pfds_last++ ].events = POLLIN | POLLOUT; + #else diff --git a/xinetd-2.3.14-retry-svc-activate-in-cps-restart.patch b/xinetd-2.3.14-retry-svc-activate-in-cps-restart.patch new file mode 100644 index 0000000..7ff5c0b --- /dev/null +++ b/xinetd-2.3.14-retry-svc-activate-in-cps-restart.patch @@ -0,0 +1,54 @@ +diff -Napur xinetd-2.3.14.old/xinetd/access.c xinetd-2.3.14.new/xinetd/access.c +--- xinetd-2.3.14.old/xinetd/access.c 2005-10-05 10:15:33.000000000 -0700 ++++ xinetd-2.3.14.new/xinetd/access.c 2012-02-22 20:12:09.120973124 -0800 +@@ -89,9 +89,20 @@ static void cps_service_restart(void) + msg(LOG_ERR, func, + "Activating service %s", SC_NAME(scp)); + } else { +- msg(LOG_ERR, func, +- "Error activating service %s", +- SC_NAME(scp)) ; ++ /* Try to restart the service */ ++ SVC_ATTEMPTS(sp) += 1; ++ if ( SVC_ATTEMPTS(sp) < MAX_SVC_ATTEMPTS ) { ++ msg(LOG_ERR, func, ++ "Error activating service %s, retrying %d more time(s)...", ++ SC_NAME(scp), ++ MAX_SVC_ATTEMPTS - SVC_ATTEMPTS(sp)); ++ xtimer_add(cps_service_restart, 1); ++ } else { ++ /* Give up */ ++ msg(LOG_ERR, func, ++ "Error activating service %s", ++ SC_NAME(scp)); ++ } + } /* else */ + } + } +diff -Napur xinetd-2.3.14.old/xinetd/service.c xinetd-2.3.14.new/xinetd/service.c +--- xinetd-2.3.14.old/xinetd/service.c 2012-02-22 19:16:56.288912783 -0800 ++++ xinetd-2.3.14.new/xinetd/service.c 2012-02-22 19:25:03.059356909 -0800 +@@ -397,6 +408,7 @@ status_e svc_activate( struct service *s + * Initialize the service data + */ + SVC_RUNNING_SERVERS(sp) = SVC_RETRIES(sp) = 0 ; ++ SVC_ATTEMPTS(sp) = 0; + + if ( SC_MUST_LISTEN( scp ) ) + (void) listen( SVC_FD(sp), LISTEN_BACKLOG ) ; +diff -Napur xinetd-2.3.14.old/xinetd/xconfig.h xinetd-2.3.14.new/xinetd/xconfig.h +--- xinetd-2.3.14.old/xinetd/xconfig.h 2003-02-19 09:29:28.000000000 -0800 ++++ xinetd-2.3.14.new/xinetd/xconfig.h 2012-02-22 19:20:20.360855514 -0800 +@@ -59,6 +59,12 @@ + #define DEFAULT_LOOP_TIME 10 + + /* ++ * The number of times to attempt re-activating a service after being ++ * deactivated due to the above. ++ */ ++#define MAX_SVC_ATTEMPTS 30 ++ ++/* + * Signal-to-action mapping + */ + #ifndef RECONFIG_HARD_SIG diff --git a/xinetd-2.3.14-rpc-specific-port.patch b/xinetd-2.3.14-rpc-specific-port.patch new file mode 100644 index 0000000..19376fd --- /dev/null +++ b/xinetd-2.3.14-rpc-specific-port.patch @@ -0,0 +1,30 @@ +commit 1b91f7b0f67fba11ea8bbcdddef844656434c53c +Author: Jeffrey Bastian +Date: Tue Aug 17 13:45:20 2010 -0500 + + Let RPC services bind to a port + +diff --git a/xinetd/service.c b/xinetd/service.c +index 9f21f93..5d26885 100644 +--- a/xinetd/service.c ++++ b/xinetd/service.c +@@ -165,6 +165,7 @@ static status_e activate_rpc( struct service *sp ) + socklen_t sin_len = sizeof(tsin); + unsigned long vers ; + struct service_config *scp = SVC_CONF( sp ) ; ++ uint16_t service_port = SC_PORT( scp ) ; + struct rpc_data *rdp = SC_RPCDATA( scp ) ; + char *sid = SC_ID( scp ) ; + unsigned registered_versions = 0 ; +@@ -181,9 +182,11 @@ static status_e activate_rpc( struct service *sp ) + } + if( SC_IPV4( scp ) ) { + tsin.sa_in.sin_family = AF_INET ; ++ tsin.sa_in.sin_port = htons( service_port ) ; + sin_len = sizeof(struct sockaddr_in); + } else if( SC_IPV6( scp ) ) { + tsin.sa_in6.sin6_family = AF_INET6 ; ++ tsin.sa_in6.sin6_port = htons( service_port ); + sin_len = sizeof(struct sockaddr_in6); + } + diff --git a/xinetd-2.3.14-signal-log-hang.patch b/xinetd-2.3.14-signal-log-hang.patch new file mode 100644 index 0000000..18fd1a1 --- /dev/null +++ b/xinetd-2.3.14-signal-log-hang.patch @@ -0,0 +1,27 @@ +--- a/xinetd/signals.c 2009-05-07 05:56:52.000000000 -0400 ++++ b/xinetd/signals.c.new 2009-05-07 05:56:44.000000000 -0400 +@@ -389,9 +390,11 @@ + break ; + + default: +- msg( LOG_NOTICE, func, "Unexpected signal %s", sig_name( sig ) ) ; +- if ( debug.on && sig == SIGINT ) +- exit( 1 ) ; ++ /* Let my_handler() queue this signal for later logging. ++ Calling msg() and thus syslog() directly here can hang up ++ the process, trying to acquire an already acquired lock, ++ because another syslog() could have been the interrupted code. */ ++ my_handler(sig); + } + } + +@@ -495,6 +497,9 @@ + default: + msg(LOG_ERR, func, "unexpected signal: %s in signal pipe", + sig_name(sig)); ++ ++ if ( debug.on && sig == SIGINT ) ++ exit( 1 ) ; + } + } + } diff --git a/xinetd-2.3.14-tcpmux.patch b/xinetd-2.3.14-tcpmux.patch new file mode 100644 index 0000000..dd93a67 --- /dev/null +++ b/xinetd-2.3.14-tcpmux.patch @@ -0,0 +1,16 @@ +--- xinetd-2.3.14/xinetd/service.c.tcpmux 2010-01-21 09:50:05.000000000 +0100 ++++ xinetd-2.3.14/xinetd/service.c 2010-01-21 10:21:14.000000000 +0100 +@@ -952,7 +952,12 @@ void close_all_svc_descriptors(void) + out_of_memory( "close_all_svc_descriptors" ) ; + + for ( osp = SP( psi_start( iter ) ) ; osp ; osp = SP( psi_next( iter ) ) ) +- (void) Sclose( SVC_FD( osp ) ) ; ++ { ++#ifdef HAVE_POLL ++ if ( osp && SVC_POLLFD( osp ) ) ++#endif ++ (void) Sclose( SVC_FD( osp ) ) ; ++ } + + psi_destroy( iter ) ; + } diff --git a/xinetd-2.3.14-udp-reconfig.patch b/xinetd-2.3.14-udp-reconfig.patch new file mode 100644 index 0000000..07e733e --- /dev/null +++ b/xinetd-2.3.14-udp-reconfig.patch @@ -0,0 +1,12 @@ +--- xinetd-2.3.14/xinetd/reconfig.c.orig 2010-06-01 12:58:18.000000000 +0200 ++++ xinetd-2.3.14/xinetd/reconfig.c 2010-06-01 12:58:23.000000000 +0200 +@@ -138,8 +138,8 @@ void hard_reconfig( void ) + * b. Terminate running servers and cancel retry attempts, in case + * of reconfiguration + */ +- svc_deactivate( osp ) ; + terminate_servers( osp ) ; ++ svc_deactivate( osp ) ; + cancel_service_retries( osp ) ; + + /* diff --git a/xinetd-2.3.15-add-pie.patch b/xinetd-2.3.15-add-pie.patch new file mode 100644 index 0000000..255a10a --- /dev/null +++ b/xinetd-2.3.15-add-pie.patch @@ -0,0 +1,22 @@ +--- xinetd-2.3.15/Makefile.in 2012-05-14 09:22:22.661617117 +0200 ++++ xinetd-2.3.15.new/Makefile.in 2012-05-14 09:32:05.260103054 +0200 +@@ -14,7 +14,7 @@ topdir = @top_srcdir@ + + LIBS = -lsio -lstr -lmisc -lxlog -lportable -lpset @LIBS@ + +-CFLAGS += @CFLAGS@ ++CFLAGS += @CFLAGS@ -fpie + DCFLAGS = -Wall -Wredundant-decls -W -Wfloat-equal -Wundef -Wcast-qual -Wwrite-strings -Wmissing-noreturn -Wmissing-format-attribute -Wshadow -Wpointer-arith -Wno-unused -g + + +--- xinetd-2.3.15/xinetd/Makefile.in 2005-03-31 01:15:28.000000000 +0200 ++++ xinetd-2.3.15.new/xinetd/Makefile.in 2012-05-14 09:32:24.183659971 +0200 +@@ -119,7 +119,7 @@ itox: itox.c + $(CC) $(CFLAGS) $(DEBUG) $(SRCDIR)/itox.c -o $@ $(LDFLAGS) $(LIBS) + + xinetd: $(OBJS) +- $(CC) $(CFLAGS) $(DEBUG) -o $@ $(OBJS) $(LDFLAGS) $(LIBS) || rm -f $@ ++ $(CC) $(CFLAGS) $(DEBUG) -o $@ -pie $(OBJS) $(LDFLAGS) $(LIBS) || rm -f $@ + + clean: + rm -f $(OBJS) $(NAME) core itox diff --git a/xinetd-2.3.15-bad-port-check.patch b/xinetd-2.3.15-bad-port-check.patch new file mode 100644 index 0000000..7849a96 --- /dev/null +++ b/xinetd-2.3.15-bad-port-check.patch @@ -0,0 +1,106 @@ +Re-introduce bad_port_check(), which upstream dropped between 2.3.13 and 2.3.14 +for it having been "rather antiquated for years", with no justification given +for that claim. + +--- xinetd-2.3.15/xinetd/builtins.c 2012-05-09 17:40:29.000000000 +0200 ++++ xinetd-2.3.15.new/xinetd/builtins.c 2012-05-14 10:25:00.431529805 +0200 +@@ -52,6 +52,7 @@ static void dgram_daytime(const struct s + static void stream_chargen(const struct server *) ; + static void dgram_chargen(const struct server *) ; + static void tcpmux_handler(const struct server *) ; ++static int bad_port_check(const union xsockaddr *, const char *); + + /* + * SG - This is the call sequence to get to a built-in service +@@ -163,6 +164,25 @@ static void stream_echo( const struct se + Sclose(descriptor); + } + ++/* For internal UDP services, make sure we don't respond to our ports ++ * on other servers and to low ports of other services (such as DNS). ++ * This can cause looping. ++ */ ++static int bad_port_check( const union xsockaddr *sa, const char *func ) ++{ ++ uint16_t port = 0; ++ ++ port = ntohs( xaddrport( sa ) ); ++ ++ if ( port < 1024 ) { ++ msg(LOG_WARNING, func, ++ "Possible Denial of Service attack from %s %d", xaddrname(sa), port); ++ return (-1); ++ } ++ ++ return (0); ++} ++ + static void dgram_echo( const struct server *serp ) + { + char buf[ DATAGRAM_SIZE ] ; +@@ -170,6 +190,7 @@ static void dgram_echo( const struct ser + ssize_t cc ; + socklen_t sin_len = 0; + int descriptor = SERVER_FD( serp ) ; ++ const char *func = "dgram_echo" ; + + if( SC_IPV4( SVC_CONF( SERVER_SERVICE( serp ) ) ) ) + sin_len = sizeof( struct sockaddr_in ); +@@ -178,6 +199,7 @@ static void dgram_echo( const struct ser + + cc = recvfrom( descriptor, buf, sizeof( buf ), 0, (struct sockaddr *)( &lsin ), &sin_len ) ; + if ( cc != (ssize_t)-1 ) { ++ if( bad_port_check(&lsin, func) != 0 ) return; + (void) sendto( descriptor, buf, (size_t)cc, 0, SA( &lsin ), sizeof( lsin ) ) ; + } + } +@@ -292,6 +314,7 @@ static void dgram_daytime( const struct + unsigned int buflen = sizeof( time_buf ) ; + int descriptor = SERVER_FD( serp ) ; + ssize_t val; ++ const char *func = "dgram_daytime" ; + + if ( SC_IPV4( SVC_CONF( SERVER_SERVICE( serp ) ) ) ) + sin_len = sizeof( struct sockaddr_in ); +@@ -303,6 +326,8 @@ static void dgram_daytime( const struct + if ( val == (ssize_t)-1 ) + return ; + ++ if( bad_port_check(&lsin, func) != 0 ) return; ++ + daytime_protocol( time_buf, &buflen ) ; + + (void) sendto( descriptor, time_buf, buflen, 0, SA(&lsin), sizeof( lsin ) ) ; +@@ -359,6 +384,7 @@ static void dgram_time( const struct ser + socklen_t sin_len = 0 ; + int fd = SERVER_FD( serp ) ; + ssize_t val; ++ const char *func = "dgram_time" ; + + if ( SC_IPV4( SVC_CONF( SERVER_SERVICE( serp ) ) ) ) + sin_len = sizeof( struct sockaddr_in ); +@@ -368,6 +394,7 @@ static void dgram_time( const struct ser + val = recvfrom( fd, buf, sizeof( buf ), 0, (struct sockaddr *)( &lsin ), &sin_len ); + if ( val == (ssize_t)-1 ) + return ; ++ if( bad_port_check(&lsin, func) != 0 ) return; + + time_protocol( time_buf ) ; + (void) sendto( fd, (char *) time_buf, 4, 0, SA( &lsin ), sin_len ) ; +@@ -466,6 +493,7 @@ static void dgram_chargen( const struct + int fd = SERVER_FD( serp ) ; + unsigned int left = sizeof( buf ) ; + ssize_t val; ++ const char *func = "dgram_chargen" ; + + if ( SC_IPV4( SVC_CONF( SERVER_SERVICE( serp ) ) ) ) + sin_len = sizeof( struct sockaddr_in ); +@@ -480,6 +508,8 @@ static void dgram_chargen( const struct + bad_variable = 1 ; /* this will cause a compilation error */ + #endif + ++ if( bad_port_check(&lsin, func) != 0 ) return; ++ + for ( p = buf ; left > 2 ; left -= len, p += len ) + { + len = min( LINE_LENGTH+2, left ) ; diff --git a/xinetd-2.3.15-context-exepath.patch b/xinetd-2.3.15-context-exepath.patch new file mode 100644 index 0000000..1ecc432 --- /dev/null +++ b/xinetd-2.3.15-context-exepath.patch @@ -0,0 +1,11 @@ +--- xinetd-2.3.15/xinetd/child.c 2013-06-25 14:12:24.599767760 +0200 ++++ xinetd-2.3.15/xinetd/child.c.new 2013-06-25 14:14:57.463905500 +0200 +@@ -532,7 +532,7 @@ static int set_context_from_socket( cons + if (getpeercon(fd, &peer_context) < 0) + goto fail; + +- exepath = SC_SERVER_ARGV( scp )[0]; ++ exepath = SC_SERVER( scp ); + if (getfilecon(exepath, &exec_context) < 0) + goto fail; + diff --git a/xinetd-2.3.15-creds.patch b/xinetd-2.3.15-creds.patch new file mode 100644 index 0000000..a9f1db9 --- /dev/null +++ b/xinetd-2.3.15-creds.patch @@ -0,0 +1,15 @@ +Patch by Thomas Swan + +diff --git a/xinetd/builtins.c b/xinetd/builtins.c +index e61502f..a414cf3 100644 +--- a/xinetd/builtins.c ++++ b/xinetd/builtins.c +@@ -695,7 +695,7 @@ static void tcpmux_handler( const struct server *serp ) + if( SC_IS_INTERNAL( scp ) ) { + SC_INTERNAL(scp, nserp); + } else { +- exec_server(nserp); ++ child_process(nserp); + } + } + diff --git a/xinetd-2.3.15-pie.patch b/xinetd-2.3.15-pie.patch new file mode 100644 index 0000000..255a10a --- /dev/null +++ b/xinetd-2.3.15-pie.patch @@ -0,0 +1,22 @@ +--- xinetd-2.3.15/Makefile.in 2012-05-14 09:22:22.661617117 +0200 ++++ xinetd-2.3.15.new/Makefile.in 2012-05-14 09:32:05.260103054 +0200 +@@ -14,7 +14,7 @@ topdir = @top_srcdir@ + + LIBS = -lsio -lstr -lmisc -lxlog -lportable -lpset @LIBS@ + +-CFLAGS += @CFLAGS@ ++CFLAGS += @CFLAGS@ -fpie + DCFLAGS = -Wall -Wredundant-decls -W -Wfloat-equal -Wundef -Wcast-qual -Wwrite-strings -Wmissing-noreturn -Wmissing-format-attribute -Wshadow -Wpointer-arith -Wno-unused -g + + +--- xinetd-2.3.15/xinetd/Makefile.in 2005-03-31 01:15:28.000000000 +0200 ++++ xinetd-2.3.15.new/xinetd/Makefile.in 2012-05-14 09:32:24.183659971 +0200 +@@ -119,7 +119,7 @@ itox: itox.c + $(CC) $(CFLAGS) $(DEBUG) $(SRCDIR)/itox.c -o $@ $(LDFLAGS) $(LIBS) + + xinetd: $(OBJS) +- $(CC) $(CFLAGS) $(DEBUG) -o $@ $(OBJS) $(LDFLAGS) $(LIBS) || rm -f $@ ++ $(CC) $(CFLAGS) $(DEBUG) -o $@ -pie $(OBJS) $(LDFLAGS) $(LIBS) || rm -f $@ + + clean: + rm -f $(OBJS) $(NAME) core itox diff --git a/xinetd-2.3.15-tcpmux-nameinargs-disable-service.patch b/xinetd-2.3.15-tcpmux-nameinargs-disable-service.patch new file mode 100644 index 0000000..a42bd84 --- /dev/null +++ b/xinetd-2.3.15-tcpmux-nameinargs-disable-service.patch @@ -0,0 +1,50 @@ +Xinetd parses and applies its configuration line by line. If a user wants to +specify NAMEINARGS as a flag, it has to be *before* specifying 'server_args'. + +Author: Jan Synacek +Resolves: #1033528 + +--- a/xinetd/parse.c 2013-11-21 10:51:25.025436376 +0100 ++++ b/xinetd/parse.c 2013-11-21 14:45:44.374121057 +0100 +@@ -633,7 +633,28 @@ static status_e identify_attribute( entr + + if ( (*ap->a_parser)( attr_values, scp, op ) == OK ) + { /* This is the normal path. */ +- SC_SPECIFY( scp, ap->a_id ) ; ++ /* If flags contain NAMEINARGS and server_args is already set, disable the service. ++ Server args are already set incorrectly. */ ++ if ( strcmp( ap->a_name, "flags" ) == 0 && ++ SC_SERVER_ARGV( scp ) ) ++ { ++ int i = 0, n = pset_count( attr_values ) ; ++ for ( ; i < n ; i++ ) { ++ char *v = (char *)pset_pointer( attr_values, i ) ; ++ if ( strcmp( v, "NAMEINARGS" ) == 0 ) ++ break ; ++ } ++ ++ if ( i != n ) { ++ parsemsg( LOG_ERR, func, ++ "NAMEINARGS flag is set after server_args - DISABLING SERVICE" ) ; ++ SC_DISABLE( scp ) ; ++ } ++ } ++ else ++ { ++ SC_SPECIFY( scp, ap->a_id ) ; ++ } + } + else if ( entry_type == SERVICE_ENTRY ) + { +--- a/xinetd/xinetd.conf.man 2013-12-03 10:06:35.717977075 +0100 ++++ b/xinetd/xinetd.conf.man 2013-12-03 10:41:14.779089430 +0100 +@@ -106,7 +106,8 @@ + This will cause the first argument in "server_args" to be argv[0] when + executing the server, as specified in "server". This allows you to use + tcpd by putting tcpd in "server" and the name of the server in "server_args" +-like in normal inetd. ++like in normal inetd. This flag has to be specified before "server_args", ++otherwise is not taken into account. + .TP + .B NODELAY + If the service is a tcp service and the NODELAY flag is set, then the diff --git a/xinetd-2.3.15-udp-wait.patch b/xinetd-2.3.15-udp-wait.patch new file mode 100644 index 0000000..44a615c --- /dev/null +++ b/xinetd-2.3.15-udp-wait.patch @@ -0,0 +1,37 @@ +Resolves: #1567239 + +--- a/xinetd/confparse.c 2018-05-04 11:00:11.019748833 +0200 ++++ b/xinetd/confparse.c 2018-05-04 11:49:26.519996478 +0200 +@@ -860,6 +860,14 @@ static status_e check_entry( struct serv + } + } + ++ if ( SC_SOCKET_TYPE(scp) == SOCK_DGRAM && !SC_WAITS(scp) ) ++ { ++ msg( LOG_ERR, func, ++ "Service %s has socket_type dgram, but does not wait", ++ SC_NAME(scp) ); ++ return FAILED; ++ } ++ + if ( service_attr_check( scp ) == FAILED ) + return( FAILED ) ; + +--- a/xinetd/main.c 2018-05-04 10:02:11.999315632 +0200 ++++ b/xinetd/main.c 2018-05-04 10:03:44.124500979 +0200 +@@ -296,6 +296,7 @@ static void find_bad_fd(void) + SVC_ID( sp ) ) ; + svc_deactivate( sp ) ; + found = TRUE ; ++ bad_fd_count++ ; + break ; + } + } +@@ -303,6 +304,7 @@ static void find_bad_fd(void) + { + #ifdef HAVE_POLL + ps.rws.pfd_array[fd].events = 0; ++ ps.rws.pfd_array[fd].fd = -1; + #else + FD_CLR( fd, &ps.rws.socket_mask ) ; + #endif diff --git a/xinetd-2.3.15.tar.gz b/xinetd-2.3.15.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..d7a0c66febce8fea1a5250877ac386d195c65899 GIT binary patch literal 309774 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 1.30 systemd-units +Requires: filesystem >= 2.0.1 setup +Requires(post): systemd-sysv systemd-units +Requires(preun): systemd-units systemd-units +Provides: inetd + +%description +xinetd is a powerful replacement for inetd. + +xinetd has access control mechanisms, extensive logging capabilities, +the ability to make services available based on time, can place +limits on the number of servers that can be started, and has deployable +defence mechanisms to protect against port scanners, among other things. + +xinetd listens for incoming requests over a network and launches the +appropriate service for that request. Requests are made using port numbers +as identifiers and xinetd usually launches another daemon to handle the +request. It can be used to start services with both privileged and +non-privileged port numbers. + +%package help +Summary: Help package for %{name}, containing some readme, man, etc. files + +%description help +This is the help package for %{name} package. It includes some readme, man and other +related files. + +%prep +%autosetup -n %{name}-%{version} -p1 + +%build +aclocal +autoconf +%configure --with-loadavg --with-inet6 --with-labeled-networking +make CFLAGS="$CFLAGS $(pkg-config --cflags libtirpc)" LDFLAGS="$LDFLAGS $(pkg-config --libs libtirpc) -Wl,-z,relro,-z,now" + +%install +%make_install DAEMONDIR=%{buildroot}%{_sbindir} MANDIR=%{buildroot}%{_mandir} + +mkdir -m 700 -p %{buildroot}%{_sysconfdir}/xinetd.d +install -Dm644 %{SOURCE1} %{buildroot}%{_unitdir}/xinetd.service +install -m600 contrib/xinetd.conf %{buildroot}%{_sysconfdir} +install -m600 contrib/xinetd.d/* %{buildroot}%{_sysconfdir}/xinetd.d + +%post +%systemd_post xinetd + +%preun +%systemd_preun xinetd + +%postun +%systemd_postun_with_restart xinetd + +%files +%doc COPYRIGHT +%config(noreplace) %{_sysconfdir}/xinetd.conf +%config(noreplace) %{_sysconfdir}/xinetd.d/* +%{_unitdir}/xinetd.service +%{_sbindir}/xinetd +%exclude %{_sysconfdir}/xinetd.d/ftp-sensor +%exclude %{_sbindir}/itox +%exclude %{_sbindir}/xconv.pl + +%files help +%doc CHANGELOG README xinetd/sample.conf contrib/empty.conf +%{_mandir}/*/* +%exclude %{_mandir}/man8/itox* +%exclude %{_mandir}/man8/xconv.pl* + +%changelog +* Thu Sep 12 2019 huzhiyu - 2:2.3.15-28 +- Package init