Hello community, here is the log from the commit of package xinetd for openSUSE:Leap:15.2 checked in at 2020-02-24 11:50:13 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Leap:15.2/xinetd (Old) and /work/SRC/openSUSE:Leap:15.2/.xinetd.new.26092 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "xinetd" Mon Feb 24 11:50:13 2020 rev:19 rq:777368 version:2.3.15.4 Changes: -------- --- /work/SRC/openSUSE:Leap:15.2/xinetd/xinetd.changes 2020-01-15 16:30:45.872832576 +0100 +++ /work/SRC/openSUSE:Leap:15.2/.xinetd.new.26092/xinetd.changes 2020-02-24 11:50:14.626722977 +0100 @@ -1,0 +2,7 @@ +Thu Aug 2 10:24:30 UTC 2018 - tchva...@suse.com + +- Update to 2.3.15.4: + * Small buildfixes from gentoo + * Various tiny tweaks from pullrequests + +------------------------------------------------------------------- Old: ---- xinetd-2.3.15.3.tar.xz New: ---- xinetd-2.3.15.4.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ xinetd.spec ++++++ --- /var/tmp/diff_new_pack.KO5TG6/_old 2020-02-24 11:50:15.046723850 +0100 +++ /var/tmp/diff_new_pack.KO5TG6/_new 2020-02-24 11:50:15.046723850 +0100 @@ -20,14 +20,13 @@ %if ! %{defined _fillupdir} %define _fillupdir /var/adm/fillup-templates %endif - Name: xinetd -Version: 2.3.15.3 +Version: 2.3.15.4 Release: 0 Summary: An 'inetd' with Expanded Functionality License: xinetd Group: Productivity/Networking/System -Url: https://github.com/openSUSE/xinetd/ +URL: https://github.com/openSUSE/xinetd/ Source0: https://github.com/openSUSE/xinetd/releases/download/%{version}/%{name}-%{version}.tar.xz Source1: README.SUSE Source2: logrotate ++++++ xinetd-2.3.15.3.tar.xz -> xinetd-2.3.15.4.tar.xz ++++++ ++++ 4734 lines of diff (skipped) ++++ retrying with extended exclude list diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xinetd-2.3.15.3/README.md new/xinetd-2.3.15.4/README.md --- old/xinetd-2.3.15.3/README.md 2017-04-25 13:43:27.000000000 +0200 +++ new/xinetd-2.3.15.4/README.md 2018-06-20 17:23:47.000000000 +0200 @@ -1,7 +1,6 @@ # xinetd # [![Build Status](https://travis-ci.org/openSUSE/xinetd.svg?branch=master)](https://travis-ci.org/openSUSE/xinetd) -[![Coverity Scan Build](https://scan.coverity.com/projects/opensuse-xinetd/badge.svg)](https://scan.coverity.com/projects/opensuse-xinetd) xinetd is a powerful replacement for inetd. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xinetd-2.3.15.3/compile new/xinetd-2.3.15.4/compile --- old/xinetd-2.3.15.3/compile 2017-04-21 12:13:59.000000000 +0200 +++ new/xinetd-2.3.15.4/compile 2018-06-20 17:34:19.000000000 +0200 @@ -1,9 +1,9 @@ #! /bin/sh # Wrapper for compilers which do not understand '-c -o'. -scriptversion=2012-10-14.11; # UTC +scriptversion=2018-03-07.03; # UTC -# Copyright (C) 1999-2014 Free Software Foundation, Inc. +# Copyright (C) 1999-2018 Free Software Foundation, Inc. # Written by Tom Tromey <tro...@cygnus.com>. # # This program is free software; you can redistribute it and/or modify @@ -17,7 +17,7 @@ # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. +# along with this program. If not, see <https://www.gnu.org/licenses/>. # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a @@ -255,7 +255,8 @@ echo "compile $scriptversion" exit $? ;; - cl | *[/\\]cl | cl.exe | *[/\\]cl.exe ) + cl | *[/\\]cl | cl.exe | *[/\\]cl.exe | \ + icl | *[/\\]icl | icl.exe | *[/\\]icl.exe ) func_cl_wrapper "$@" # Doesn't return... ;; esac @@ -339,9 +340,9 @@ # Local Variables: # mode: shell-script # sh-indentation: 2 -# eval: (add-hook 'write-file-hooks 'time-stamp) +# eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC" +# time-stamp-time-zone: "UTC0" # time-stamp-end: "; # UTC" # End: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xinetd-2.3.15.3/config.h.in new/xinetd-2.3.15.4/config.h.in --- old/xinetd-2.3.15.3/config.h.in 2017-08-31 10:53:48.000000000 +0200 +++ new/xinetd-2.3.15.4/config.h.in 2018-06-20 17:34:19.000000000 +0200 @@ -60,6 +60,9 @@ /* Define to the sub-directory where libtool stores uninstalled libraries. */ #undef LT_OBJDIR +/* Omit RPC support. */ +#undef NO_RPC + /* Name of package */ #undef PACKAGE diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xinetd-2.3.15.3/configure.ac new/xinetd-2.3.15.4/configure.ac --- old/xinetd-2.3.15.3/configure.ac 2017-08-31 10:53:40.000000000 +0200 +++ new/xinetd-2.3.15.4/configure.ac 2018-06-20 17:33:48.000000000 +0200 @@ -8,7 +8,7 @@ m4_define([xinetd_version_major],[2]) m4_define([xinetd_version_minor],[3]) m4_define([xinetd_version_micro],[15]) -m4_define([xinetd_version_nano],[3]) +m4_define([xinetd_version_nano],[4]) m4_define([xinetd_version],[xinetd_version_major.xinetd_version_minor.xinetd_version_micro.xinetd_version_nano]) # ============= @@ -32,16 +32,11 @@ AC_PROG_LIBTOOL PKG_PROG_PKG_CONFIG([0.20]) AC_CHECK_LIB([m], [log10], [ - LIBM_LIBS="-lm" + LIBM_LIBS="-lm" ], [ - AC_MSG_ERROR([Unable to find working libm.so]) + AC_MSG_ERROR([Unable to find working libm.so]) ]) AC_SUBST([LIBM_LIBS]) -PKG_CHECK_MODULES([TIRPC],[libtirpc], [ - AC_DEFINE([HAVE_RPCENT_H], [1], [Have <rpc/rpcent.h>.]) -], [ - AC_MSG_WARN([Libtirpc not found, will not use <rpc/rpcent.h>]) -]) # ====================================== # Check for various headers and settings @@ -54,21 +49,21 @@ # Switch # ====== AC_ARG_ENABLE(debug, - AS_HELP_STRING([--enable-debug], [Build with debug symbols.]), - [enable_debug="$enableval"], - [enable_debug=no] + AS_HELP_STRING([--enable-debug], [Build with debug symbols.]), + [enable_debug="$enableval"], + [enable_debug=no] ) AS_IF([test "x$enable_debug" != "xno"], [ - CFLAGS="$CFLAGS -ggdb" + CFLAGS="$CFLAGS -ggdb" ]) AC_ARG_ENABLE([werror], - [AS_HELP_STRING([--enable-werror], [Treat all warnings as errors, useful for development])], - [enable_werror="$enableval"], - [enable_werror=no] + [AS_HELP_STRING([--enable-werror], [Treat all warnings as errors, useful for development])], + [enable_werror="$enableval"], + [enable_werror=no] ) AS_IF([test x"$enable_werror" != "xno"], [ - CFLAGS="$CFLAGS -Werror" + CFLAGS="$CFLAGS -Werror" ]) CFLAGS="$CFLAGS -Wall -Wextra" @@ -84,28 +79,60 @@ AC_ARG_WITH([libwrap], [AS_HELP_STRING([--without-libwrap], [Do not use libwrap tcp_wrappers support])], [with_libwrap="$withval"], - [with_libwrap=yes] + [with_libwrap=auto] ) AS_IF([test x"$with_libwrap" != "xno"], [ AC_CHECK_LIB(wrap, request_init, [ AC_DEFINE([LIBWRAP], [1], [Have libwrap TCP wrappers present]) WRAP_LIBS="-lwrap" + AC_CHECK_LIB(nsl, yp_get_default_domain, [WRAP_LIBS="$WRAP_LIBS -lnsl" ]) + AC_SUBST([WRAP_LIBS]) ],[ - AC_MSG_ERROR([Missing libwrap from tcp_wrappers]) + AS_IF([test x"$with_labeled_networking" = "xyes"], [ + AC_MSG_ERROR([Missing libwrap from tcp_wrappers]) + ], [ + with_libwrap="no" + AC_MSG_WARN([Not using libwrap from tcp_wrappers]) + ]) ]) - AC_CHECK_LIB(nsl, yp_get_default_domain, [WRAP_LIBS="$WRAP_LIBS -lnsl" ]) - AC_SUBST([WRAP_LIBS]) ]) AC_ARG_WITH([labeled-networking], [AS_HELP_STRING([--without-labeled-networking], [Do not use selinux for labeled networking])], [with_labeled_networking="$withval"], - [with_labeled_networking=yes] + [with_labeled_networking="auto"] ) AS_IF([test x"$with_labeled_networking" != "xno"], [ PKG_CHECK_MODULES([SELINUX],[libselinux], [ AC_DEFINE([LABELED_NET], [1], [Use selinux for network labeling]) - ],[]) + ],[ + AS_IF([test x"$with_labeled_networking" = "xyes"], [ + AC_MSG_ERROR([selinux support requested but not found]) + ], [ + with_labeled_networking="no" + AC_MSG_WARN([selinux support will not be built in]) + ]) + ]) +]) + +AC_ARG_WITH([rpc], + [AS_HELP_STRING([--without-rpc], [Do not include RPC support])], + [with_rpc="$withval"], + [with_rpc="auto"] +) +AS_IF([test x"$with_rpc" != "xno"], [ + PKG_CHECK_MODULES([TIRPC],[libtirpc], [ + AC_DEFINE([HAVE_RPCENT_H], [1], [Have <rpc/rpcent.h>.]) + ], [ + AS_IF([test x"$with_rpc" = "xyes"], [ + AC_MSG_ERROR([RPC support requested but not found]) + ]) + with_rpc="no" + AC_MSG_WARN([Libtirpc not found, will not use <rpc/rpcent.h>]) + ]) +]) +AS_IF([test x"$with_rpc" = "xno"], [ + AC_DEFINE([NO_RPC], [1], [Omit RPC support.]) ]) # ========= @@ -171,12 +198,13 @@ AC_MSG_NOTICE([ ============================================================================== Build configuration: - debug: ${enable_debug} - werror: ${enable_werror} - labeled-networking: ${with_labeled_networking} - libwrap: ${with_libwrap} - loadavg: ${with_loadavg} - HARDEN_CFLAGS: ${HARDEN_CFLAGS} - HARDEN_LDFLAGS: ${HARDEN_LDFLAGS} + debug: ${enable_debug} + werror: ${enable_werror} + labeled-networking: ${with_labeled_networking} + libwrap: ${with_libwrap} + loadavg: ${with_loadavg} + rpc: ${with_rpc} + HARDEN_CFLAGS: ${HARDEN_CFLAGS} + HARDEN_LDFLAGS: ${HARDEN_LDFLAGS} ============================================================================== ]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xinetd-2.3.15.3/man/xinetd.conf.5 new/xinetd-2.3.15.4/man/xinetd.conf.5 --- old/xinetd-2.3.15.3/man/xinetd.conf.5 2017-08-31 10:44:29.000000000 +0200 +++ new/xinetd-2.3.15.4/man/xinetd.conf.5 2018-06-20 17:08:14.000000000 +0200 @@ -152,9 +152,14 @@ The REUSE flag is deprecated. All services now implicitly use the REUSE flag. .RE .TP +.B v6only +This is boolean "yes" or "no". This will result in a service accepting +only IPv6 connections, instead of both IPv6 and IPv4 connections. The +default is determined by the "bindv6only" kernel variable. +.TP .B disable This is boolean "yes" or "no". This will result in the service -being disabled and not starting. See the DISABLE flag description. +being disabled and not starting. .RE .TP .B socket_type @@ -539,7 +544,7 @@ disabled. If you have 2 ftp services, you will need to list both of their ID's and not just ftp. (ftp is the service name, not the ID. It might accidentally be the ID, but you better check.) Note that the -service "disable" attribute and "DISABLE" flag can prevent a service +service "disable" attribute can prevent a service from being enabled despite being listed in this attribute. .TP .B include @@ -877,7 +882,7 @@ .\" *********************** NOTES **************************** .SH NOTES -.IP 1. 4 +.IP 1. 6 The following service attributes \fIcannot\fP be changed on reconfiguration: .B socket_type, .B wait, @@ -892,6 +897,10 @@ the address check is considered successful (i.e. access will not be denied). .IP 3. +The maximum line length of the configuration file is limited to 16 KiB +(it might be less on systems without mmap, the length limit is two times the +optimal I/O blocksize then). +.IP 4. The address check is based on the IP address of the remote host and not on its domain address. We do this so that we can avoid remote name lookups which may take a long time (since @@ -906,7 +915,7 @@ new host IP address is among those allowed access. For example, if the IP address of a host changes from 1.2.3.4 to 1.2.3.5 and only_from is specified as 1.2.3.0 then access will not be denied. -.IP 4. +.IP 5. If the .B USERID log option is specified and the remote host either does not run an @@ -914,7 +923,7 @@ access will not be denied unless the .I IDONLY service flag is used. -.IP 5. +.IP 6. Interception works by forking a process which acts as a filter between the remote host(s) and the local server. This obviously has a performance impact so diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xinetd-2.3.15.3/missing new/xinetd-2.3.15.4/missing --- old/xinetd-2.3.15.3/missing 2017-04-21 12:13:59.000000000 +0200 +++ new/xinetd-2.3.15.4/missing 2018-06-20 17:34:19.000000000 +0200 @@ -1,9 +1,9 @@ #! /bin/sh # Common wrapper for a few potentially missing GNU programs. -scriptversion=2013-10-28.13; # UTC +scriptversion=2018-03-07.03; # UTC -# Copyright (C) 1996-2014 Free Software Foundation, Inc. +# Copyright (C) 1996-2018 Free Software Foundation, Inc. # Originally written by Fran,cois Pinard <pin...@iro.umontreal.ca>, 1996. # This program is free software; you can redistribute it and/or modify @@ -17,7 +17,7 @@ # GNU General Public License for more details. # You should have received a copy of the GNU General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. +# along with this program. If not, see <https://www.gnu.org/licenses/>. # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a @@ -101,9 +101,9 @@ exit $st fi -perl_URL=http://www.perl.org/ -flex_URL=http://flex.sourceforge.net/ -gnu_software_URL=http://www.gnu.org/software +perl_URL=https://www.perl.org/ +flex_URL=https://github.com/westes/flex +gnu_software_URL=https://www.gnu.org/software program_details () { @@ -207,9 +207,9 @@ exit $st # Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) +# eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC" +# time-stamp-time-zone: "UTC0" # time-stamp-end: "; # UTC" # End: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xinetd-2.3.15.3/src/access.c new/xinetd-2.3.15.4/src/access.c --- old/xinetd-2.3.15.3/src/access.c 2017-04-20 22:13:48.000000000 +0200 +++ new/xinetd-2.3.15.4/src/access.c 2018-06-22 10:11:29.000000000 +0200 @@ -124,8 +124,9 @@ bool_int of_matched = FALSE; bool_int na_matched = FALSE; + /* The IP address is unknown. Nothing to reject, so accept it. */ if (sinp == NULL ) - return FAILED; + return OK; if ( SC_SENSOR( SVC_CONF(sp) )) { /* They hit a sensor...return FAILED since this isn't a real service */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xinetd-2.3.15.3/src/child.c new/xinetd-2.3.15.4/src/child.c --- old/xinetd-2.3.15.3/src/child.c 2017-04-20 17:58:45.000000000 +0200 +++ new/xinetd-2.3.15.4/src/child.c 2018-06-22 10:11:29.000000000 +0200 @@ -311,11 +311,6 @@ signals_pending[0] = -1; signals_pending[1] = -1; - Sclose(0); - Sclose(1); - Sclose(2); - - #ifdef DEBUG_SERVER if ( debug.on ) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xinetd-2.3.15.3/src/confparse.c new/xinetd-2.3.15.4/src/confparse.c --- old/xinetd-2.3.15.3/src/confparse.c 2017-05-04 12:52:51.000000000 +0200 +++ new/xinetd-2.3.15.4/src/confparse.c 2018-06-20 17:09:43.000000000 +0200 @@ -13,10 +13,12 @@ #include <stdlib.h> #include <fcntl.h> #include <unistd.h> +#ifndef NO_RPC #include <rpc/rpc.h> #ifdef HAVE_RPCENT_H #include <rpc/rpcent.h> #endif +#endif #include <netdb.h> #include "str.h" @@ -730,7 +732,7 @@ } } -/* #ifndef NO_RPC */ +#ifndef NO_RPC if ( SC_IS_RPC( scp ) && !SC_IS_UNLISTED( scp ) ) { struct rpcent *rep = (struct rpcent *)getrpcbyname( SC_NAME(scp) ) ; @@ -743,6 +745,7 @@ SC_RPCDATA( scp )->rd_program_number = rep->r_number ; } else +#endif { if ( !SC_IS_UNLISTED( scp ) ) { @@ -843,6 +846,14 @@ } } + 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 ) ; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xinetd-2.3.15.3/src/connection.c new/xinetd-2.3.15.4/src/connection.c --- old/xinetd-2.3.15.3/src/connection.c 2017-04-20 17:58:45.000000000 +0200 +++ new/xinetd-2.3.15.4/src/connection.c 2018-06-22 10:11:29.000000000 +0200 @@ -53,17 +53,16 @@ } else { cp->co_descriptor = accept( SVC_FD( sp ), &(cp->co_remote_address.sa), &sin_len ) ; - if (cp->co_descriptor != -1) - M_SET( cp->co_flags, COF_NEW_DESCRIPTOR ) ; - } - - if ( cp->co_descriptor == -1 ) - { - if ((errno == EMFILE) || (errno == ENFILE)) - cps_service_stop(sp, "no available descriptors"); - else - msg( LOG_ERR, func, "service %s, accept: %m", SVC_ID( sp ) ) ; - return( FAILED ) ; + if ( cp->co_descriptor == -1 ) + { + if ((errno == EMFILE) || (errno == ENFILE)) + cps_service_stop(sp, "no available descriptors"); + else + msg( LOG_ERR, func, "service %s, accept: %m", SVC_ID( sp ) ) ; + return( FAILED ) ; + } + M_SET( cp->co_flags, COF_NEW_DESCRIPTOR ) ; + M_SET( cp->co_flags, COF_HAVE_ADDRESS ) ; } if( SC_NODELAY( scp ) && (SC_PROTOVAL( scp ) == IPPROTO_TCP) ) @@ -88,8 +87,6 @@ if( debug.on ) msg( LOG_WARNING, func, "service %s, IPV6_ADDRFORM setsockopt() failed: %m", SVC_ID( sp) ); } } - - M_SET( cp->co_flags, COF_HAVE_ADDRESS ) ; } else { @@ -210,7 +207,7 @@ if( getnameinfo( &cp->co_remote_address.sa, len, name, NI_MAXHOST, NULL, 0, NI_NUMERICHOST ) ) { - return "<no address>"; + return "<invalid address>"; } return name; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xinetd-2.3.15.3/src/main.c new/xinetd-2.3.15.4/src/main.c --- old/xinetd-2.3.15.3/src/main.c 2017-04-21 09:40:05.000000000 +0200 +++ new/xinetd-2.3.15.4/src/main.c 2018-06-20 17:09:43.000000000 +0200 @@ -269,6 +269,7 @@ SVC_ID( sp ) ) ; svc_deactivate( sp ) ; found = TRUE ; + bad_fd_count++ ; break ; } } @@ -276,6 +277,7 @@ { #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