From dp at co.ru Thu Oct 9 06:25:51 2003 From: dp at co.ru (Dmitry Perfilyev) Date: Thu Oct 6 10:34:54 2005 Subject: [xinetd] crash on reconfig Message-ID: <3F8561DF.9CE671B2@co.ru> Hi ! There is another bug in xinetd. Sometimes it crashed on reconfig with deleting services at (gdb5): #0 0x0003b278 in filelog_write (xp=0x76670, buf=0xffbeec58 "EXIT: hadm pid=24777 duration=886(sec)", len=38, flags=4, ap=0xffbeec2c) at filelog.c:190 #1 0x0003a97c in xlog_write (pxlog=0x76670, buf=0xffbeec58 "EXIT: hadm pid=24777 duration=886(sec)", len=38, flags=4) at xlog.c:190 #2 0x000217fc in svc_log_exit (sp=0x10ffb0, serp=0x11d068) at log.c:213 #3 0x0002e670 in svc_postmortem (sp=0x10ffb0, serp=0x11d068) at service. c:880 #4 0x0002c51c in server_end (serp=0x11d068) at server.c:300 #5 0x00028660 in sendsig (serp=0x11d068, sig=9) at reconfig.c:249 #6 0x00028728 in deliver_signal (sp=0x10ffb0, sig=9) at reconfig.c:272 #7 0x00028798 in terminate_servers (sp=0x10ffb0) at reconfig.c:284 #8 0x000281fc in hard_reconfig () at reconfig.c:135 #9 0x0002f594 in check_pipe () at signals.c:561 #10 0x00022218 in main_loop () at main.c:153 #11 0x00021f5c in main (argc=9, argv=0xffbef98c) at main.c:88 (gdb) list 190 if ( flp->fl_state != FL_OPEN ) 191 return( flp->fl_error ) ; gdb) p xp $7 = (xlog_s *) 0x76670 (gdb) p *xp $8 = { xl_type = XLOG_FILELOG, xl_id = 0xf0880 "default", xl_flags = 0, xl_callback = 0x21a3c , xl_callback_arg = 0xecbc0, xl_use = 0x0, xl_clients = 0x0, xl_other_users = { next = 0x400000, prev = 0x1e6 }, xl_ops = 0x5363c, xl_data = 0x0 } I suppose that happened next: 1) hard_reconfig()->cnf_get() started and we have got new_conf without some services 2) in swap_defaults() we free() DEFAULT_LOG(ps)->xl_data and then free(DEFAULT_LOG(ps). After that all services' svc_log pointed to free memory ( 0x76670 - previous address of DEFAULT_LOG(ps)). 3) then for each service which remained in config we call reajust() and recreate DEFAULT_LOG(ps) in restart_log() (VERY IMPOTANT). After recreating DEFAULT_LOG(ps) all refreshed services pointed to it. 4) then for services with drop_service==YES we call terminate_servers() and inside it call xlog_write(pxlog,..). BUT pxlog pointed to 0x76670 - address of previous freed DEFAULT_LOG(ps) with xl_data==NULL, and when it try to dereference xl_data it get SIGSEGV. And now about VERY IMPOTANT - very often malloc() for new DEFAULT_LOG(ps) returns same address as for previous DEFAULT_LOG(ps). So svc_log in terminated services pointed to valid new DEFAULT_LOG(ps). But sometimes malloc() return new address and core generated. In first sight this error may be easy find with malloc() debugger like Electric Fence. But perhaps no Electric Fence not Purify not find this error because this address (0x76670) already member another allocated memory block in this time? -- Dmitry Perfilyev From linux_4ever at yahoo.com Thu Oct 9 07:37:48 2003 From: linux_4ever at yahoo.com (Steve G) Date: Thu Oct 6 10:34:54 2005 Subject: [xinetd] crash on reconfig In-Reply-To: <3F8561DF.9CE671B2@co.ru> Message-ID: <20031009143748.32100.qmail@web9608.mail.yahoo.com> Hello, Thanks for the bug report. I hate to say this, but we know about it. I have scripts to trigger the bug. Unfortunately, it is not a simple problem to fix. Rob & I discussed fixing it back in July before 2.3.12 was released. We decided getting 2.3.12 out the door was more important and we would fix this bug during the current devel cycle. The best fix as I can determine/recall is to separate the default log attribute so that each service gets its own copy of the default log attribute. This way, as the services are destructed they point to their own copy and do not mess up any other service. This will add some memory consumption, but it will take care of the last know xinetd bug. Rob, does this sound like what we discussed? BTW, cvs has been broke since August. (I see errors binding to addresses.) I wouldn't advise anyone to run it. I have put a few patches in it that people can pick out and hopefully apply to 2.3.12 if they need them. -Steve Grubb __________________________________ Do you Yahoo!? The New Yahoo! Shopping - with improved product search http://shopping.yahoo.com From dp at co.ru Thu Oct 9 23:46:24 2003 From: dp at co.ru (Dmitry Perfilyev) Date: Thu Oct 6 10:34:54 2005 Subject: [xinetd] crash on reconfig References: <20031009143748.32100.qmail@web9608.mail.yahoo.com> Message-ID: <3F8655C0.DD56A59F@co.ru> > Thanks for the bug report. I hate to say this, but we know about > it. I have scripts to trigger the bug. Unfortunately, it is not a > simple problem to fix. Yes, and it was not simple to find it. But Steve, we are discussed strange crash on reconfig month ago. If you had told me then about this "secret last bug" I'd save a lot of time. But xinetd is free and has no warranties or support :) -- Dmitry Perfilyev From dp at co.ru Fri Oct 10 02:46:22 2003 From: dp at co.ru (Dmitry Perfilyev) Date: Thu Oct 6 10:34:54 2005 Subject: [xinetd] crash on reconfig References: <3F8561DF.9CE671B2@co.ru> Message-ID: <3F867FEE.CFF71899@co.ru> Sometimes it cores when call CALLBACK() for deleting service. (gdb) where #0 0x00021a6c in log_in_error (xh=0x952a0, error_code=391768, arg=0xd92c0) at logctl.c:65 #1 0x0003a9c4 in xlog_write (pxlog=0x952a0, buf=0xffbeec18 "EXIT: s10200 pid=3243 duration=2(sec)", len=37, flags=4) at xlog.c:195 #2 0x000217fc in svc_log_exit (sp=0xb3e90, serp=0x55b38) at log.c:213 #3 0x0002e670 in svc_postmortem (sp=0xb3e90, serp=0x55b38) at service.c:880 #4 0x0002c51c in server_end (serp=0x55b38) at server.c:300 #5 0x00028660 in sendsig (serp=0x55b38, sig=9) at reconfig.c:249 #6 0x00028728 in deliver_signal (sp=0xb3e90, sig=9) at reconfig.c:272 #7 0x00028798 in terminate_servers (sp=0xb3e90) at reconfig.c:284 #8 0x000281fc in hard_reconfig () at reconfig.c:135 #9 0x0002f584 in check_pipe () at signals.c:560 #10 0x00022218 in main_loop () at main.c:153 #11 0x00021f5c in main (argc=7, argv=0xffbef94c) at main.c:88 (gdb) list 60 * NOTE: We could destroy the xlog at this point but we choose not to. 61 */ 62 static void log_in_error( xlog_h xh, int error_code, void *arg ) 63 { 64 struct service *sp = SP( arg ) ; 65 const char *log_id = ( sp == NULL ) ? "common" : SVC_ID( sp ) ; 66 const char *func = "log_in_error" ; (gdb) p *sp $2 = { svc_state = 49, svc_ref_count = 0, svc_conf = 0x1, svc_fd = 1, svc_running_servers = 917656, svc_retry_servers = 316, svc_attempts = 0, svc_not_generic = 0, svc_last_dgram_addr = 0x0, svc_last_dgram_time = 0, svc_log = 0x0 } (gdb) f 1 #1 0x0003a9c4 in xlog_write (pxlog=0x952a0, buf=0xffbeec18 "EXIT: s10200 pid=3243 duration=2(sec)", len=37, flags=4) at xlog.c:195 (gdb) list 190 status = XL_WRITE( xp, buf, len, flags, ap ) ; 191 va_end( ap ) ; 192 193 if ( status != XLOG_ENOERROR ) 194 { 195 CALLBACK( xp, status ) ; 196 } -- Dmitry Perfilyev From linux_4ever at yahoo.com Fri Oct 17 12:57:20 2003 From: linux_4ever at yahoo.com (Steve G) Date: Thu Oct 6 10:34:54 2005 Subject: [xinetd] cvs version runs again Message-ID: <20031017195720.65058.qmail@web9603.mail.yahoo.com> Hello, I wanted to let everyone know that the cvs version of xinetd is fixed and now runs correctly. I also added the ipv4 mapped ipv6 address conversion that was discussed back in August. I was able to test the patch to make sure it works. The testing indicated that xinetd-2.3.12 (and prior) was definitely broken when ipv4 machines accessed an ipv6 service that was in the ipv4 address block (::ffff). Basically, the address would never compare. For no_access, this means anyone could connect and for only_from this means no one could connect. The only open issue from the discussion back in August was checking it for portability. Please let me know if anyone has problems building the current cvs copy of xinetd. Have fun... -Steve Grubb __________________________________ Do you Yahoo!? The New Yahoo! Shopping - with improved product search http://shopping.yahoo.com From Keith at ourwebthing.com Tue Oct 21 23:08:04 2003 From: Keith at ourwebthing.com (Keith Boyle) Date: Thu Oct 6 10:34:54 2005 Subject: [xinetd] Newbie trying to support a system Message-ID: <200310220208.AA173801668@ourwebthing.com> I know very little about the Linux world, but I have been thrown in the deep end of supporting a system for my company without the luxury of time to learn about it before this problem. My server quit sending or receiving e-mails (we are using qmail), and with the boot, I can see the glaring issue that inetxd does not start (FAILED). If I do a "services xinetd status", I get "xinetd dead but subsys locked". The system is a little old, running Red Hat 7.2 if that matters. Like I said, I am so new to this, I don't have any idea on where to start. Can anyone help me troubleshoot this? If you need additional information, let me know and I will post it. Thanks in advance for any help. My company is crippled while this is going on. Keith Boyle Keith@ourwebthing.com From linux_4ever at yahoo.com Wed Oct 22 02:51:58 2003 From: linux_4ever at yahoo.com (Steve G) Date: Thu Oct 6 10:34:54 2005 Subject: [xinetd] Newbie trying to support a system In-Reply-To: <200310220208.AA173801668@ourwebthing.com> Message-ID: <20031022095158.73991.qmail@web9602.mail.yahoo.com> >The system is a little old, running Red Hat 7.2 if that matters. What version of xinetd are you running? You should try to run the latest RH release as it fixes most of the known bugs. Also when you do a "service xinetd start", what do you get in /var/log/messages? I'm not 100% sure qmail runs from xinetd. pop3/imap might, but the actual smtp would be unusual. -Steve Grubb __________________________________ Do you Yahoo!? The New Yahoo! Shopping - with improved product search http://shopping.yahoo.com From fenlason at redhat.com Wed Oct 22 07:58:46 2003 From: fenlason at redhat.com (Jay Fenlason) Date: Thu Oct 6 10:34:54 2005 Subject: [xinetd] Newbie trying to support a system In-Reply-To: <20031022095158.73991.qmail@web9602.mail.yahoo.com> References: <200310220208.AA173801668@ourwebthing.com> <20031022095158.73991.qmail@web9602.mail.yahoo.com> Message-ID: <20031022145846.GA32098@redhat.com> On Wed, Oct 22, 2003 at 02:51:58AM -0700, Steve G wrote: > >The system is a little old, running Red Hat 7.2 if that matters. > > What version of xinetd are you running? You should try to run the > latest RH release as it fixes most of the known bugs. If you're brave you might want to grab the latest xinetd SRPM from Red Hat RawHide and rebuild it for your system. That'll get you xinetd 2.3.12 with all the current patches, instead of the pretty old version that shipped with 7.2. If you're not brave, at least make sure you are running the latest version from updates.redhat.com. > Also when you do a "service xinetd start", what do you get in > /var/log/messages? If you're really getting the Red Hat-shipped xinetd to crash, you should open a bug report at bugzilla.redhat.com. (Quickly, while 7.2 is still on the supported list--it gets EoL'd in December (IIRC)) I can't guarentee a fix, but I will guarentee I'll look at it. > I'm not 100% sure qmail runs from xinetd. pop3/imap might, but > the actual smtp would be unusual. Qmail's smtp listener is easy to configure to run from (x)inetd, although djb probably recommends ucspi-tcp and daemontools. :-) That's the other thing: xinetd is incredibly configurable, so we can't offer much advice without knowing your configuration. Look at /etc/xinetd.conf and all the files in /etc/xinetd.d . In paticular, pay attention to the ones that start qmail. -- JF From alpha2omega at rogers.com Fri Oct 24 06:08:07 2003 From: alpha2omega at rogers.com (Chris Platteel) Date: Thu Oct 6 10:34:54 2005 Subject: [xinetd] Re: UUCP configuration for xinetd on RedHat Message-ID: <3F992437.2050702@rogers.com> Hi, I need to configure and activiate UUCP on RedHat 7.2 bu do not find any sample configurations referring to uucp. Is uucp a service that is set up in the xinetd.conf file similar to ftp or telnet? Any sample configuration available? The previous system this was working on, SCO Open Server 3.1.1, had a separate configuration file: /etc/inet.d/uucp. The xconv.pl script run on this /etc/inet.d/uucp file does not seem to create any service in the resulting conf file, only the defaults. Any insights would be appreciated. Chris From alpha2omega at rogers.com Fri Oct 24 06:08:24 2003 From: alpha2omega at rogers.com (Chris Platteel) Date: Thu Oct 6 10:34:54 2005 Subject: [xinetd] Re: UUCP configuration for xinetd on RedHat Message-ID: <3F992448.6020003@rogers.com> Hi, I need to configure and activate UUCP on RedHat 7.2 bu do not find any sample configurations referring to uucp. Is uucp a service that is set up in the xinetd.conf file similar to ftp or telnet? Any sample configuration available? The previous system this was working on, SCO Open Server 3.1.1, had a separate configuration file: /etc/inet.d/uucp. The xconv.pl script run on this /etc/inet.d/uucp file does not seem to create any service in the resulting conf file, only the defaults. Any insights would be appreciated. Chris From linux_4ever at yahoo.com Sun Oct 26 03:58:54 2003 From: linux_4ever at yahoo.com (Steve G) Date: Thu Oct 6 10:34:54 2005 Subject: [xinetd] Re: UUCP configuration for xinetd on RedHat In-Reply-To: <3F992437.2050702@rogers.com> Message-ID: <20031026115854.49823.qmail@web9607.mail.yahoo.com> >The xconv.pl script run on this /etc/inet.d/uucp file does >not seem to create any service in the resulting conf file, >only the defaults. I don't know perl, but I've never heard of any problems with xconv.pl. So...I can't really support that program. I do support the itox program since its in C and should do the same thing. I can give you the configuration manually if you post the inetd.conf line that has uucp in it. Its should be very simple. -Steve Grubb __________________________________ Do you Yahoo!? Exclusive Video Premiere - Britney Spears http://launch.yahoo.com/promos/britneyspears/ From itsuto_ozawa at epkowa.co.jp Wed Oct 29 18:16:09 2003 From: itsuto_ozawa at epkowa.co.jp (itsuto_ozawa@epkowa.co.jp) Date: Thu Oct 6 10:34:54 2005 Subject: [xinetd] present but cannot be compiled Message-ID: <3132B4AC13142848919E8AA723455A3A0162BFAF@m1.epkowa.co.jp> Hi, I'm new here. I got following error when I configured xinetd with libwrap. please help me. configure: WARNING: rpc/pmap_clnt.h: present but cannot be compiled configure: WARNING: rpc/pmap_clnt.h: check for missing prerequisite headers? configure: WARNING: rpc/pmap_clnt.h: proceeding with the preprocessor's result configure: WARNING: ## ------------------------------------ ## configure: WARNING: ## Report this to bug-autoconf@gnu.org. ## configure: WARNING: ## ------------------------------------ ## my enviroment is netBSD1.6.1 xinetd-2.3.12 gcc version 2.95.3 20010315 (release) (NetBSD nb3) bash-2.05b# ./configure --with-libwrap checking build system type... i386-unknown-netbsdelf1.6.1 checking host system type... i386-unknown-netbsdelf1.6.1 checking target system type... i386-unknown-netbsdelf1.6.1 checking for gcc... gcc checking for C compiler default output... a.out checking whether the C compiler works... yes checking whether we are cross compiling... no checking for suffix of executables... checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ANSI C... none needed checking for a BSD-compatible install... /usr/bin/install -c checking for ranlib... ranlib checking for main in -lcompat... yes checking for library containing gethostbyname... none required checking for library containing getnameinfo... none required checking for library containing inet_ntop... none required checking for getnameinfo... yes checking for inet_ntop... yes checking for difftime... yes checking for fcvt... no checking for fcvt in -lm... no checking for ecvt... no checking for ecvt in -lm... no checking for gcvt... no checking for gcvt in -lm... no checking for strerror... yes checking for strcasecmp... yes checking for socket... yes checking for inet_aton... yes checking for setenv... yes checking for strsignal... yes checking for sys_siglist in -lc... yes checking for gai_strerror... yes checking for freeaddrinfo... yes checking for getaddrinfo... yes checking how to run the C preprocessor... gcc -E checking for egrep... grep -E checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking for sys/types.h... (cached) yes checking sys/termios.h usability... yes checking sys/termios.h presence... yes checking for sys/termios.h... yes checking termios.h usability... yes checking termios.h presence... yes checking for termios.h... yes checking sys/ioctl.h usability... yes checking sys/ioctl.h presence... yes checking for sys/ioctl.h... yes checking sys/select.h usability... yes checking sys/select.h presence... yes checking for sys/select.h... yes checking rpc/rpc.h usability... yes checking rpc/rpc.h presence... yes checking for rpc/rpc.h... yes checking rpc/rpcent.h usability... yes checking rpc/rpcent.h presence... yes checking for rpc/rpcent.h... yes checking sys/file.h usability... yes checking sys/file.h presence... yes checking for sys/file.h... yes checking ftw.h usability... no checking ftw.h presence... no checking for ftw.h... no checking machine/reg.h usability... yes checking machine/reg.h presence... yes checking for machine/reg.h... yes checking linux/time.h usability... no checking linux/time.h presence... no checking for linux/time.h... no checking netdb.h usability... yes checking netdb.h presence... yes checking for netdb.h... yes checking sys/resource.h usability... yes checking sys/resource.h presence... yes checking for sys/resource.h... yes checking arpa/inet.h usability... yes checking arpa/inet.h presence... yes checking for arpa/inet.h... yes checking grp.h usability... yes checking grp.h presence... yes checking for grp.h... yes checking rpc/pmap_clnt.h usability... no checking rpc/pmap_clnt.h presence... yes configure: WARNING: rpc/pmap_clnt.h: present but cannot be compiled configure: WARNING: rpc/pmap_clnt.h: check for missing prerequisite headers? configure: WARNING: rpc/pmap_clnt.h: proceeding with the preprocessor's result configure: WARNING: ## ------------------------------------ ## configure: WARNING: ## Report this to bug-autoconf@gnu.org. ## configure: WARNING: ## ------------------------------------ ## checking for rpc/pmap_clnt.h... yes checking sys/socket.h usability... yes checking sys/socket.h presence... yes checking for sys/socket.h... yes checking sys/signal.h usability... yes checking sys/signal.h presence... yes checking for sys/signal.h... yes checking crypt.h usability... no checking crypt.h presence... no checking for crypt.h... no checking for stdint.h... (cached) yes checking stdbool.h usability... no checking stdbool.h presence... no checking for stdbool.h... no checking sys/filio.h usability... yes checking sys/filio.h presence... yes checking for sys/filio.h... yes checking DNSServiceDiscovery/DNSServiceDiscovery.h usability... no checking DNSServiceDiscovery/DNSServiceDiscovery.h presence... no checking for DNSServiceDiscovery/DNSServiceDiscovery.h... no checking for uint16_t... yes checking for uint32_t... yes checking for uint64_t... yes checking for uid_t... yes checking for gid_t... yes checking for socklen_t... yes checking for rlim_t... yes checking for struct addrinfo... yes checking for struct in6_addr... yes checking for struct sockaddr_in6... yes checking for struct sockaddr_storage... yes checking for crypt in -lc... no checking for crypt in -lcrypt... yes checking for log10 in -lm... yes checking whether to default to ipv6... ignored checking whether to use libwrap... yes checking for request_init in -lwrap... no checking for yp_get_default_domain in -lnsl... no checking for stdlib.h... (cached) yes checking for unistd.h... (cached) yes checking for getpagesize... yes checking for working mmap... yes checking for isatty... yes checking for memcpy... yes checking for waitpid... yes checking for sigvec... yes checking for setsid... yes checking for strftime... yes configure: creating ./config.status config.status: creating Makefile config.status: creating libs/src/misc/Makefile config.status: creating libs/src/pset/Makefile config.status: creating libs/src/sio/Makefile config.status: creating libs/src/str/Makefile config.status: creating libs/src/xlog/Makefile config.status: creating libs/src/portable/Makefile config.status: creating xinetd/Makefile config.status: creating config.h From linux_4ever at yahoo.com Wed Oct 29 19:10:13 2003 From: linux_4ever at yahoo.com (Steve G) Date: Thu Oct 6 10:34:54 2005 Subject: [xinetd] present but cannot be compiled In-Reply-To: <3132B4AC13142848919E8AA723455A3A0162BFAF@m1.epkowa.co.jp> Message-ID: <20031030031013.75847.qmail@web9605.mail.yahoo.com> >I got following error when I configured xinetd with libwrap. I see warnings, does this prevent a makefile from being produced? The messages at the end seem to indicate that make files were produced. I'm curious if you can just try 'make'. -Steve Grubb __________________________________ Do you Yahoo!? Exclusive Video Premiere - Britney Spears http://launch.yahoo.com/promos/britneyspears/ From itsuto_ozawa at epkowa.co.jp Wed Oct 29 20:26:36 2003 From: itsuto_ozawa at epkowa.co.jp (itsuto_ozawa@epkowa.co.jp) Date: Thu Oct 6 10:34:54 2005 Subject: [xinetd] present but cannot be compiled Message-ID: <3132B4AC13142848919E8AA723455A3A089096@m1.epkowa.co.jp> I also tried 'make' after configuring with ./configure --with-libwrap, but the following error occur and stopped. ------------------------------------------------------- In file included from reconfig.c:27: /usr/include/rpc/pmap_clnt.h:80: parse error before `resultproc_t' *** Error code 1 Stop. make: stopped in /usr/local/src/xinetd-2.3.12/xinetd *** Error code 1 Stop. make: stopped in /usr/local/src/xinetd-2.3.12 ------------------------------------------------------- -----Original Message----- From: Steve G [mailto:linux_4ever@yahoo.com] Sent: Thursday, October 30, 2003 12:10 PM To: xinetd@xinetd.org Subject: Re: [xinetd] present but cannot be compiled >I got following error when I configured xinetd with libwrap. I see warnings, does this prevent a makefile from being produced? The messages at the end seem to indicate that make files were produced. I'm curious if you can just try 'make'. -Steve Grubb __________________________________ Do you Yahoo!? Exclusive Video Premiere - Britney Spears http://launch.yahoo.com/promos/britneyspears/ _______________________________________________ xinetd mailing list xinetd@xinetd.org http://www.xinetd.org/mailman/listinfo/xinetd From linux_4ever at yahoo.com Thu Oct 30 04:56:16 2003 From: linux_4ever at yahoo.com (Steve G) Date: Thu Oct 6 10:34:54 2005 Subject: [xinetd] present but cannot be compiled In-Reply-To: <3132B4AC13142848919E8AA723455A3A089096@m1.epkowa.co.jp> Message-ID: <20031030125616.75288.qmail@web9608.mail.yahoo.com> >In file included from reconfig.c:27: >/usr/include/rpc/pmap_clnt.h:80: parse error before `resultproc_t' Its obvious that a header file is required that xinetd is not including. Look in pmap_clnt.h around line 80 and see what its choking on. Grep around in the includes to see where that structure is defined and add the header file to reconfigure.c. I do not have any bsd OS, so my help is somewhat limited. I want to think that xinetd 2.3.12 is somewhere in their ports system with patches applied. You might look around around at other bsd's for the reconfigure.c file and see if they've patched anything. If you get it to compile, please let us know what is needed so we can add it to the next version of xinetd. -Steve Grubb __________________________________ Do you Yahoo!? Exclusive Video Premiere - Britney Spears http://launch.yahoo.com/promos/britneyspears/