"Fossies" - the Fresh Open Source Software Archive 
Member "xinetd-2.3.15.4/CHANGELOG" (20 Jun 2018, 44217 Bytes) of package /linux/misc/xinetd-2.3.15.4.tar.xz:
As a special service "Fossies" has tried to format the requested text file into HTML format (style:
standard) with prefixed line numbers.
Alternatively you can here
view or
download the uninterpreted source code file.
1
2 This file describes the changes to xinetd. The base version is 2.0.0.
3
4 2.0.0: (not released)
5
6 2.0.1: (not released)
7
8 2.0.2:
9 Changes to the Makefile.
10 Trivial mods to the usage() function
11
12 2.0.3:
13 Changes to the Makefile.
14 Fixed a bug in the usage() function
15
16 2.0.4:
17 Distribution versions of the Makefile no longer contain any
18 references to options.opt
19
20 2.0.5:
21 1) Clarified what an "unlisted RPC service" is in the man page
22 2) Fixed a bug in remote_address_check which caused access to be denied
23 for all hosts if no_access was set and only_from was not set.
24 3) Fixed a bug which caused arbitrary syslog levels if the log_type
25 was specified as SYSLOG in the "defaults" entry
26
27 2.0.6:
28 bug fix in child.c: replaced strx_sprint with strx_print when naming
29 interceptor processes
30
31
32 -------------------------------------------------------------------------------
33
34 2.1.0: (not released)
35 This was mostly a clean-up of 2.0
36 List of changes:
37
38 A. The man page has been split into 3 parts:
39 xinetd.man : man page describing the program
40 xinetd.conf.man : man page describing the configuration file
41 This file now includes figures about the
42 overhead of interception.
43 xinetd.log.man : man page describing the log file
44 B. New service attributes
45 rpc_number : to support unlisted RPC services
46 nice : to set the nice value of forked servers
47 C. The IDONLY service flag was added
48 D. Now uses the timer library unless NO_TIMERS is defined. If NO_TIMERS
49 is not defined, the following are also available:
50 a) a new option, -cc, to do periodic consistency checks
51 b) timeout for reconfiguration
52 E. Configuration file man page now mentions that access control is
53 based on IP-address instead of domain address.
54 F. The interception code now sets the TCP_NODELAY option.
55 G. The timeout when contacting a remote identification server is
56 configurable both when the service request has been accepted and
57 when the request is rejected. In the former case it defaults to
58 infinity while in the latter it defaults to 30 sec.
59 H. The log line ids are now constants in an include file.
60 I. The fsma library is no longer used.
61 J. Most structure fields were renamed; certain functions were renamed too.
62 Access to structure fields is now via macros.
63 K. A bug in not restoring the number of descriptors to the soft limit
64 was fixed.
65 L. The -pid option works
66 M. New internal services:
67 "servers" : lists active servers
68 "services" : lists active services
69
70 2.1.1:
71 xinetd produces more meaningful messages if it can't start logging
72
73 2.1.2:
74 Fixed 2 bugs:
75 1) xinetd would request a port number for unlisted RPC services
76 One could get around this by simply specifying the port attribute
77 for the service; the specified value would be ignored anyway.
78 2) xinetd initialization might fail sometimes in function msg_init()
79 syslog logging was specified (i.e. the option -syslog was used)
80 The cause of this bug was that the
81 xlog_control( xlog, XLOG_GETFD, &fd )
82 operation will not fail for xlogs connected to syslog and
83 the value of 'fd' would be used in the subsequent fcntl(). That
84 value is arbitrary since 'fd' is a local variable.
85 If 'fd' did not happen to refer to an open descriptor, the program
86 would terminate since the fcntl() would fail (btw, the success
87 of the fcntl() call would be harmless if 'fd' happened to
88 refer to an open descriptor).
89
90 2.1.3:
91 Bug fix:
92 only_from/no_access addresses would get inverted on little-endian
93 machines when such addresses were specified using the numeric notation
94 (for example, 128.138.45.3). This bug was in the numeric_addr function
95 which did not convert the result of inet_addr to host-byte-order.
96 A work around for the bug would be to use the factorized address
97 notation (for example, 128.138.45.{3})
98
99 2.1.4:
100 Bug fixes:
101 1) in dgram_echo(), sin_len was not being set before the invocation of
102 recvfrom
103 2) in finger_shutdown(), it was possible for Srdline() to return NULL
104 (if the remote end would close the socket without sending anything).
105 If the RECORD option was set in the log_on_failure flags, this
106 would cause the forked xinetd process which did the recording to
107 die since it would try to dereference a NULL pointer.
108
109
110 2.1.5:
111 Bug fixes:
112 1) in exec_server() service descriptor might be closed when
113 execing server. This made it impossible to start servers
114 for 'nowait' services. The bug occurred only Ultrix version
115 4.3a or (probably) later (bug discovered and fix provided
116 by doug@seas.smu.edu)
117
118 2) for systems that supported supplementary group id's, the
119 set_credentials() function did not set those group id's
120 (they were being inherited from xinetd). Now initgroups(3)
121 is called to set the supplementary group id's properly.
122 (bug discovered and fix provided by maf+@osu.edu)
123
124 2.1.6:
125 Bug fixes:
126 1) xinetd will crash after reconfiguration if there is a running
127 server for a service that was removed from the configuration and
128 which logs on exit.
129 2) xinetd forked process falls in infinite loop if identd server
130 sends a reply that is missing the ending CR-LF.
131 (bug discovered and fix provided by Laurent.Wacrenier@gin.obspm.fr).
132
133 We also change the LOGUSER_SUCCESS_TIMEOUT constant in config.h from
134 0 seconds (i.e. infinite timeout) to 30 seconds. This avoids infinite
135 waits in case the remote host does not send a RST reply when we attempt
136 to connect to the IDENTD port, and there is no server listening at
137 that port.
138
139
140 2.1.7:
141 Bug fix: the HOST flag in the 'log_on_success' attribute was ignored;
142 the code was incorrectly checking if the HOST flag was
143 set in the log_on_failure attribute
144 (bug discovered by frolich@corrine.cpc.cs.ucf.edu)
145
146 2.1.8.1:
147 Added support for TCP redirect to a remote host.
148 --bbraun
149
150 2.1.8.2:
151 Added support for binding to specific interface.
152 --bbraun
153
154 2.1.8.3:
155 Changed redirect so that a remote port can be specified as well.
156 --bbraun
157
158 2.1.8.4 10/98:
159 Changed use of varargs to be more modern (and actually work on IRIX 6.5)
160 Added use of 1.2.3.4/24 style address ranges for access control
161 --bbraun
162 2.1.8.4p2 11/98:
163 Fixed stupid error with logging of ip addresses.
164 Pointed out by Todd R. Eigenschink
165 2.1.8.4p3 11/98:
166 Fixed to compile correctly under HPUX
167 Includes fixes from Pavel Roskin <pavel_roskin@geocities.com>
168 2.1.8.4p4 11/98:
169 Fixed to compile correctly under BSDi
170 2.1.8.4p5 11/98:
171 Fixed Linux libc5 to work with RPC.
172 Pointed out by Frodo Looijaard <frodol@dds.nl>
173 2.1.8.4p8 11/98:
174 Minor jump because I went through many revisions of testing things
175 - Fixed littleendian bug with 1.2.3.4/26 style access control
176 - Added support for inet_addr instead of inet_aton, as Solaris 2.5.1
177 does not support inet_aton.
178 Both the previous bugs were found with the help of
179 Thomas E. (tht@inlink.com)
180 - Went entirely to stdarg.h version of variable arguement handling,
181 since some newer platforms doen't handle varargs.h style very
182 gracefully. If this breaks too many older architectures I'll
183 ifdef all the old stuff back in...
184 2.1.8.5 11/98:
185 Fixed /tmp/xinetd.dump symlink problem pointed out on
186 BugTraq by Balazs Nagy <julian7@KVA.HU>
187 2.1.8.5p1 1/99:
188 Fixed compilation problems on BSD systems.
189 2.1.8.5p2 1/99:
190 Fixed compilation problems on AIX 4.1.x/powerpc
191 2.1.8.5p3 3/99:
192 Fixed compilation problems on FreeBSD
193 Thanks to Sascha Schumann <schumann@schell.de>
194 Fixed a bug in sio/sprint.c
195 Thanks to Steven Stanfield <sstanf@reston.wcom.net>
196 2.1.8.6b1 4/99:
197 Rudimentary administrative interface added (use the service name
198 xadmin).
199 Supports the "banner" directive, which is the name of the file
200 that will be splatted when a connection is denied.
201 Has a fixed open() on the dump file that is much better.
202 Thanks to Steven Stanfield <sstanf@reston.wcom.net>
203 $REMOTE_HOST environment variable is set to the name of the
204 remote host. Currently, if no name is available, it is set to NULL.
205 2.1.8.6b2 4/99:
206 Fixed a problem with shells that don't define $PWD
207 2.1.8.6b3 4/99:
208 Fixed a problem I introduced with automagic port selection
209 If both a port and a protocol are specified, no checks are done.
210 xinetd will believe the config, even if /etc/services says
211 otherwise.
212 xadmin service is an internal service now, just like tcp echo, etc.
213 Use the INTERNAL flag.
214 xadmin service now just calls server_dump when a "show run" command
215 is executed.
216 Added a NAMEINARGS flag, so that you can use tcpd with xinetd.
217 Normally, xinetd takes argv[0] from the "server" directive.
218 This prevents tcpd from working properly. Now, you can use
219 tcp wrappers like this:
220 service telnet
221 {
222 scoket_type = stream
223 protocol = tcp
224 flags = NAMEINARGS
225 wait = no
226 user = root
227 server = /usr/libexec/tcpd
228 server_args = /usr/libexec/telnetd
229 }
230 2.1.86b4 4/99:
231 Added support for libwrap. Compile with --with-libwrap. Access
232 checking is done with libwrap (if compiled in) first, then with
233 xinetd's internal access control.
234 2.1.8.6b5 4/99:
235 Some versions of libwrap needed allow_severity. Added it.
236 Changed severity to INFO from WARNING.
237 2.1.8.6b6 7/99:
238 Added ability to use names for the bind and redirect
239 functions. They lookup the name, and use the
240 first address it returns. They only do the
241 lookup once.
242 Added "interface" as an alias to "bind"
243 Fixed potential bug with redirection losing data.
244 Pointed out by Solar Designer
245 Fixed potential bug in the parsing of xadmin commands.
246 Pointed out by Solar Designer
247 Changed default location of the dump file to /var/run/xinetd.dump
248 configurable in config.h
249 Added Solar Designer's per_source feature. Allows you to limit
250 the number of services spawned per source address.
251 Added Solar Designer's supplementary groups fix.
252 2.1.8.6b7 7/99:
253 Updated the make files to not require absolute paths. This
254 will help with people having problems with the LOCATION
255 Makefile variable.
256 Updated configure to compile properly with Debian's version
257 of libwrap and glibc (look for yp_get_default_domain in nsl)
258 If banner directive is used, banner is printed regardless of access
259 control. It is actually printed before access control check
260 take place. banner_success and banner_fail are added to
261 explicitly give a message depending on access control.
262 Added banner_success option. This is a banner that is printed when
263 access to the service is granted. This is before any attempt
264 to execute the server has been made. The service may still fail
265 but it will not be for access control reasons.
266 Added banner_fail option. This is a banner that is printed when
267 access to the service has been denied. This allows you to
268 inform your users that they are doing something bad and they
269 shouldn't be doing it anymore.
270 Added max_load option. This option allows the operator to specify
271 the max load at which to run the service. If the machine
272 reaches the specified max load level, connections are denied to
273 that service. Each service can have a different max_load, and
274 it can be listed in the default service. Linux is working,
275 Solaris is kind of wierd. Solaris people should try it, but
276 don't use it as a real security mechanism yet. 2.6 and 2.7
277 should be fine. I'm not sure about 2.5.1 and earlier.
278 2.1.8.7 10/99:
279 Fixed per_source to actually work properly.
280 Added the NODELAY flag. This will set the TCP_NODELAY sockopt
281 on the socket. If the service is not a TCP service, then
282 this flag has no effect.
283 Updated the man page with more explicit definition of the "groups"
284 attribute.
285 Includes xconv.pl to replace itox. xconv.pl handles most of the
286 inetd.conf files I've seen, including the use of tcpd,
287 even though it is recommended that you compile with
288 libwrap instead of using tcpd.
289 Includes a man page to itox donated by Norbert Veber of Debian.
290 Updates to configure and Makefile to better handle the configuration
291 of install directories. Again, changes donated by Debian group.
292 Updates to itox to handle user.group syntax and checking on "wait".
293 2.1.8.8pre1 11/99
294 Fixed a problem with the banner_fail parser.
295 Added IPv6 support to xinetd.
296 2.1.8.8pre2 12/99
297 Added the option "cps". This allows you to disable a service if
298 the rate of incoming connections is too great. This number
299 may be set higher than the instances or per_source number.
300 This is used as a last ditch measure, if someone is bombarding
301 a service, and either 1) logs are piling up because of failed
302 attempts, or 2) way too much is happening, ditch the service.
303 This actually does a close() on the socket, so nothing is
304 listening to that port anymore. All connections will fail.
305 2.1.8.8pre3 12/99
306 Made the options mask_t an unsigned long long (64bits on x86)
307 instead of an unsigned. xinetd was running out of bits
308 to store options in. Eventually, a real solution will
309 need to be implemented, but this works for the short term.
310 This may break on compilers that don't understand
311 long long's. Be aware. Most modern compilers are ok.
312 Added the option "enabled", similar to the "disabled" function.
313 If "enabled" is used, only the services listed in the
314 enabled line are available, regardless of what other
315 services are configured.
316 Changed the behavior of only_from and no_access. First, if you
317 specify a host by _name_ in only_from or no_access, a lookup
318 happens when a client connects. The _canonical_ name that
319 is returned is compared to the name specified in the access
320 control option. If the _names_ match, access is granted
321 or denied. See the readme for more information.
322 Added the ability to specify .domain.com to the access control
323 options. This is very similar to tcp wrapper's method
324 of specifying domain access. If the connecting client's
325 reverse lookup returns a name that ends in .domain.com
326 then access is granted or denied. See the readme for
327 more information.
328 2.1.8.8pre4 12/99
329 The enable function didn't work. It worked for one entry, but
330 more than 1 entry would not be recognized and xinetd
331 would exit with no services available. I believe this
332 has been fixed.
333 limits.h is included in parsers.c now, because of LONG_MIN and
334 LONG_MAX. Some setups would automagically include limits.h
335 through the other include files, and some wouldn't. This
336 should fix compile problems on those that don't.
337 Added a check for sys_siglist in the configuration script. This
338 is better than statically defining #ifdef's in signals.c.
339 2.1.8.8pre5 12/99
340 Fixed numeric addresses being entered in the only_from field.
341 host_addr parser was identifying them and marking them as
342 HOST_ADDRs instead of NUMERIC_ADDRS.
343 2.1.8.8pre6 1/100
344 Fixed year formatting in log to print 00 instead of 100.
345 2.1.8.8pre7 1/00
346 Fixed the TIMEOFFSET macro in builtins.c so the 'time' service printed
347 the correct output.
348 2.1.8.8pre8 1/00
349 Fixed a problem where banners would not work saying "could not find
350 banner: bannername<garbage here>".
351 2.1.8.8pre9 1/00
352 The dump file was logging the ip address incorrectly for only_from
353 addresses. For some reason xntoa() was reporting the wrong
354 address. Changed to inet_ntoa, and works fine.
355 BSDI 4.1 was not compiling correctly, "inet_ntoa" not found.
356 This is because BSDI4.x switched to using bind 8 resolver
357 libraries, so you have to include <arpa/inet.h> to #define
358 all these functions to __func_name.
359 Some BSD's don't let you set the group permissions of a process to NULL,
360 so you get the setgroups(0,NULL) error whenever a connection
361 is made. To avoid this, set 'groups = yes' and be aware of the
362 extra group permissions the server may be running with. A message
363 to this effect has been added to the syslog error, so confusion is
364 minimized.
365 2.1.8.8pre10 2/00
366 Fixed a syntax error when compiling IPv6 support.
367 2.1.8.8pre11 2/00
368 Always call no_control_tty(). This calls setsid() and fixes a problem
369 under FreeBSD.
370 2.1.8.8 2/00
371 Bumped version number.
372 2.1.8.9pre1
373 Added the "include" directive. You can now include other files
374 into your .conf file. "include filename"
375 Added preliminary an inetd compatibility mode. Start xinetd
376 with -inetd-compat and specify /etc/inetd.conf as your
377 configuration file.
378 2.1.8.9pre2
379 Fixed up RPC support
380 2.1.8.9pre3
381 Incorporated patches for Mac OS X and Tru64 support.
382 Also incorporated a patch for the includedir directive.
383 2.1.8.9pre4
384 Incorporated a patch to allow logging to the AUTHPRIV level.
385 patch from Trond Eivind Glomsr.
386 Numerous cleanups. Mostly superficial, but gets rid of *lots*
387 of compile warnings when using -Wall. These cleanups
388 may have affected portability issues...
389 Support for Darwin! Now compiles and runs fine. Note that
390 xinetd doing mmap didn't work right (always lost the
391 first byte of the file). Workaround is to disable
392 mmapped io for Darwin.
393 Added a DISABLE flag for services, that will prevent a service
394 from starting.
395 Added a "disable" boolean for services that does the same thing
396 as the DISABLE flag.
397 "groups" can now be specified in the defaults section.
398 2.1.8.9pre5
399 Implemented better error checking in redirect.c, so hopefully
400 it will detect error conditions more reliably and
401 prevent lots of child xinetd's running unecisarily.
402 Ramon Krikken sent a redirector implementation that replaced
403 the two process redirection with a single process using
404 select. Modifications to his patch were integrated.
405 includedir parses only regular files, or symlinks to regular
406 files, that do not begin with '.'.
407 Added includedir to the xinetd.conf man page.
408 2.1.8.9pre6
409 Fixed a bug in the access lists. If you specified a host by
410 name in only_from, any connection from a host without
411 a reverse dns entry would be accepted.
412 2.1.8.9pre8
413 Now allows you to specify multiple instances of the same service
414 as long as all but one is disabled.
415 Fixed a documentation issue in the xinetd.conf man page.
416 The user attribute can be specified for an unlisted
417 service, just not an internal service.
418 When including files with "includedir", it parses the files
419 in alphabetical order, as determined by strcmp().
420 Under Solaris, I've removed the no_control_tty() call in
421 child.c. This was causing some confusion. xinetd
422 its self still calls no_control_tty().
423 Fixed a compile error with --with-inet6
424 Changed the exiting behavior: xinetd now kills only the
425 RPC services and internal services (like redir) when
426 it exits (or does a hard reconfigure). This keeps things
427 like telnet sessions open across restarts of xinetd
428 (assuming you are using REUSE).
429 2.1.8.9pre9
430 Fixed a potential bug in parsing of filenames from includedir.
431 Possibly fixed tcp wait=yes handling.
432 Fixed man pages so they say they're installed in the sections
433 they are really installed into.
434 Added .cvsignore to empty directories
435 2.1.8.9pre10
436 Hopefully fixed a few compile errors on architectures such
437 as DUNIX and Darwin.
438 When compiled with libwrap support, xinetd passes the server
439 name to be checked in hosts.{allow,deny} instead of
440 the service name. Behavior should now match tcpd.
441 Incorporated Trond's pidfile patch. You can now specify -pidfile
442 on the command line, and xinetd will make a
443 /var/run/xinetd.pid file. Note that this _replaces_ the
444 -pid option.
445 2.1.8.9pre11
446 Removed '\n's from syslog messages. Also moved some of the
447 syslog()'s to pasemsg()'s.
448 Added a patch from mob@de.uu.net to make the bind attribute
449 specifiable in the default section.
450 Added the KEEPALIVE flag, which sets the SO_KEEPALIVE socketopt
451 on tcp sockets.
452 Added a patch from Trond at RedHat that will hopefully fix some
453 of the remaining tcp wait=yes problems.
454 More paranoid handling of access control in addr.c
455 Always allow access to the internal pseudo services.
456 For internal services and libwrap, access control is performed
457 by the service name (instead of the server, since there
458 is no server).
459 The last two entries together fix problems with segfaults when
460 doing access control.
461 If a hostname is specified in only_from, xinetd will try to
462 match the connecting address to any of the IP addresses
463 associated with the hostname in only_from.
464 For redirection services with libwrap support, the service name
465 is used for access control rather than the server name, since
466 the server name makes no sense.
467 2.1.8.9pre12
468 Remove the pidfile when exiting.
469 Added a -stayalive option to keep xinetd running even when there are
470 no services available.
471 2.1.8.9pre13
472 Added paranoid access control for the udp internal servers.
473 Do not reply to udp packets on dangerous ports
474 (avoid looping echo services).
475 For libwrap, if the server isn't specified use the service
476 _id_ instead of the service name (this usually is the
477 service name). This makes more sense for things like
478 the internal servers (echo-stream instead of using echo,
479 which will get echo-stream and echo-dgram)
480 Included an rlimit patch from Nick Burrett, which should help
481 keep some nasty users at bay. He's even updated the
482 man page. This patch brings a tear to my eye.
483
484 2.1.8.9pre14
485 Moved the libwrap and address checking to the child process.
486 The purpose of this is to move the expensive checking
487 into the child process (such as name resolution, exec()'ing,
488 etc), but leave some of the lighter weigh checking in the
489 parent in an attempt to prevent DoS'.
490 Incorporated Charles Levert's NOLIBWRAP patch. This adds a flag,
491 NOLIBWRAP, which will turn off libwrap access control for
492 a single service. This is a good thing when you're wanting
493 to use tcpd with a service. It's also useful when wanting
494 libwrap for some lesser used services, but the high volume
495 ones need higher performance.
496 Included Motonobu Ichimura's patches for v6. The first one sets
497 v6 services with incoming v4mapped or compatible addresses
498 to AF_INET instead of AF_INET6. This should make incoming
499 v4 connections to v4 servers work correctly.
500 Motonobu Ichimura's second patch adds the service attribute
501 v6config, which allows a v6 service to only accept v6
502 connections.
503 Moved most of the configured defines into a config.h.
504 This involved renaming xinetd/config.h to xinetd/xconfig.h
505 The configure system actually works with --srcdir now.
506 You can build xinetd from a directory other than the source
507 directory now.
508 Minor cleanups to remove warnings with -Wall
509
510 2.1.8.9pre15 5/20/2001
511 Added Steve Grubb's SENSOR patch which provides a SENSOR flag and
512 deny_time attribute. These will help to stop script kiddies
513 doing port scans by turning off all access to all services
514 on all IP addresses until the timeout expires.
515 Cleaned up pset stuff in the lib section.
516 Continued fixing warnings produced by -Wall
517 Added "child" security check for internal services.
518 Fixed some possible memory leaks.
519 Changed snprintf to the internal strx_nprint() function, standardizing
520 on that. Removed the need for the snprintf() implementation
521 for systems lacking snprintf().
522 Another attempt to fix the tcp wait condition.
523 TCP wait services were being accept()'d when they shouldn't
524 This caused services such as linuxconf, which accept()
525 their own connections, to fail.
526 Fixed a problem with displaying bound and redirected addresses in
527 the xadmin service.
528 Don't print banner always and banner success twice.
529 Converted to ANSI C style prototypes instead of K&R.
530 Use spaces instead of 3 character tabs.
531 Use POSIX types for network, time, and other length specific purposes.
532 Make the initial log message of compile time options atomic.
533 When grow()'ing the environment variables, initialize things to
534 prevent bad pointers.
535 Mitigated consequences of possible SIGCHLD race with intercepted
536 services.
537 Removed all remnants of varargs syntax, and have completely moved
538 to the stdarg style syntax.
539 Added BSD/OS loadavg support from Robert Brewer at LavaNet.
540 Fixed a potential buffer overflow when using USERID.
541 Found by zen-parse.
542 Added permissions to the pidfile's open call.
543 Suggested by zen-parse.
544 Changed xinetd's umask to 022 from 0.
545 2.1.8.9pre16 6/13/2001
546 Attempted to fix IPv6 support broken in the pre15 release. -Steve Grubb
547 Moved remote_address_check ahead of the libwrap checks. This is needed
548 so that SENSORS work without modifying the hosts.allow file if
549 tcp_wrappers is compiled in. -Steve Grubb
550 Added missing includes to several library files
551 Fixed bug where DISABLE flag was being set/cleared in xflags rather
552 than types. -Matthias Andree
553 Fixed memory leak in attr_check. -Steve Grubb
554 Continued converting to ANSI C prototypes. -Steve Grubb
555 Fixed reads in service.c to continue through interupts. -Steve Grubb
556 Corrected Includedir directive. -Solar Designer
557 Changed umask to OR 022 with the current umask. -Solar Designer
558 Cleaned up the address list dump to format the different addresses
559 types correctly. -Steve Grubb
560 Cleaned up parsing of address lists. -Steve Grubb
561 Integrated support for building on OS X.
562 Added wait/nowait support to "small services".
563 Fixed IPv6 support for "small services".
564 Added "umask" keyword to specify service's umask in octal.
565 Umask situation is described in the umask section of xinetd.conf.man
566 Inspect all configuration files. Will now emit warnings if any are
567 world writeable, symlinks, or not owned by root.-Steve Grubb
568 2.3.0
569 Fixed a bounds checking case in strx* functions.
570 Pointed out by Sebastian Krahmer.
571 2.3.1
572 Reworked all headers in xinetd directory. -Steve Grubb
573 Fixed redirect & shutdown to read & write through signal
574 interrupts. -Steve Grubb
575 Inspect all servers. Prints warnings for things that look funny.
576 Applied _many_ security and reliability fixes,
577 see AUDIT. -Solar Designer
578 Removed the Soft Reconfigure capability. Soft Reconfigure is now
579 the same as Hard Reconfigure (SIGUSR1 = SIGUSR2).
580 -Steve Grubb
581 Attempt to fix segfaulting seen since 2.3.0.
582 -Steve Grubb
583 Moved the re-enable service after cps violation to run off of the
584 flags system to avoid re-entrancy issues. -Steve Grubb
585 Only call drain if service is active. Deactivated services close
586 the descriptor. -Steve Grubb
587 Reorganized flags to process terminating children first, -Steve Grubb
588 2.3.2
589 more K&R -> ANSI prototype -Steve Grubb
590 Stop using C++ keywords (even though this is really C...) -Steve Grubb
591 Fix a heap overrun in grow(). -teg@redhat.com
592 Fix a parse error with multiple explict masks.
593 If protocol is not specified, but socket type is, infer protocol
594 from socket type. -Ahmon Dancy
595 Added a check to the return value of env_addstr() in child.c to
596 make sure we aren't exec()ing with an invalid environment.
597 Wrap the remaining <stdint.h> includes with autoconf macros.
598 Removed all unused functions. -Steve Grubb
599 Don't use SIGALRM for the cps directive. Instead, do a generic
600 timer routine that evolves around the main event loop.
601 2.3.3
602 Fixed the filelog problem of printing garbage.
603 Fixed the RPC parser to correctly handle RPC version ranges again.
604
605 2.3.4
606 Removed the old flags construct and replaced it with the timers
607 added in 2.3.2. This will handle multiple of the same
608 signals occuring before the event loop cycles.
609 Removed all the old timer code that uses SIGALRM, and replace it
610 with the timer code from 2.3.2. The conf timer bit the
611 dust along the way, since the event loop hasn't started
612 by the time the conf parser started. It was never built
613 anyway, so not a big loss.
614 Made xinetd unlink its pidfile properly.
615 - Solar Designer
616 Enabled loadavg support for Darwin.
617 Remove the exit when user or group is specified and xinetd is not root.
618 Enables running xinetd as non-root again.
619 Fixed various portability issues:
620 - strerror for SunOS 4
621 - difftime for SunOS 4
622 - inet_aton for Solaris 2.5.1
623 - uint{16,32,64}_t for systems without them
624 - rlim_t for systems without them.
625 Moved compat.c into the portable library, where it belonged.
626 Added finer testing of the {e,f,g}cvt functions in autoconf.
627 Begin transition to combined IPv4/IPv6 support. Add compatibility
628 code from OpenSSH into the portable library.
629 Made socket_type or protocol optional (only need to specify one)
630 Removed syslog()'s, replaced with internal msg().
631 Fixed a parsing bug when specified server is invalid.
632 Change the signal handling. Signal handlers write their signal
633 to a pipe, which wakes up the main select(), and the
634 signal is then dealt with.
635 Removed the looping option. The cps directive duplicated much
636 of the functionality.
637 Fixed a bug re-enabling internal wait services.
638 Continue syncing IPv4 and IPv6 code.
639 Made a flag to specify IPv4 or IPv6 based service.
640 Redirect currently only redirects between IPv4<->IPv4 or
641 IPv6<->IPv6. It should handle IPv4<->IPv6 and
642 vice versa
643 Fixed the reconfig case where a bind directive changes.
644 SIGHUP now reconfigures xinetd.
645 SIGUSR1 now dumps the internal state.
646 SIGUSR2 still reconfigures xinetd, but will be deprecated in
647 future releases.
648 Fixed a warning of redefined SA macro with some tcp wrapper
649 header files.
650 Make the configuration keyword comparisons case insensitive.
651 This allows things like Service foo { blah } instead
652 of just service foo { blah }.
653 Merged IPv4 and IPv6 support. The only difference between
654 compiling with IPv6 support is that services default to
655 being IPv6. Manually set the service to IPv6 (or IPv4)
656 with the IPv{4,6} service flags.
657 The only_from numeric address specification works for IPv6 addresses,
658 and mixing IPv4 style address specifications will now match
659 for IPv4 mapped addresses on IPv6 services.
660 Fixed an environment variable setting problem.
661 Fixed a misuse of the sio routines in the banner routines. This
662 will probably fix a variety of bugs related to banners.
663 More code cleanups. -Steve Grubb.
664 Pass the expected size of the address structure used to bind()
665 calls rather than the total memory allocated.
666 Fix some compile errors and warnings on BSD/OS.
667 Prevent some possible unnecissary DNS lookups.
668 Makefiles now accept make -j. This is only mildly useful at the
669 moment, since the main chunk of xinetd blocks on all the
670 libraries being built first, and the libraries are small
671 but somewhat serialized.
672 Fixed a problem with the access control on builtin services.
673 (Introduced in the development cycle)
674 Removed libpq. It is no longer needed. -Steve Grubb
675 Removed the %n processing from __sio_converter(). It is not used and
676 would cause a core dump if it was. -Steve Grubb
677 Make the man page match the new signal change. - Steve Grubb
678 Fix some potential problems with only_from access.
679 Start using "const". Go const happy.
680 All services now essentially default to having the REUSE flag.
681 The -reuse option and the REUSE flag are now silently ignored.
682 When dumping service configs, print out the redir config information,
683 also fixes a hostname lookup problem when using systems
684 that have a too strict getnameinfo().
685 Also print the CPS directive information.
686 Print out symbolic system names that don't have strsignal(), but do
687 have sys_siglist[].
688 Fix a potential crasher in xtimer_add().
689 Add %q and %ll modifiers to the sio library for displaying quad_t's or
690 long long's.
691 Restructure the argument parsing a little to reduce global memory usage.
692 Fixed bug in service parameter verification. Prior versions did not
693 verify that all require attributes were specified.
694 Disable the service when a parse error is detected for its
695 configuration. (Steve Grubb)
696 2.3.5
697 Included patch from Trond at RedHat to check signal pipe if there are
698 no services running.
699 Update the access_times parser to disable service if there is a parse
700 error. Also corrected ti_add too. -Steve Grubb
701 Updated all parsers to propagate errors so service will be
702 disabled. -Steve Grubb
703 Updated internal services to check the signal pipe
704 periodically. -Steve Grubb
705 Updated sendsig to wait for termed children so zombies aren't created
706 and ports are clear to rebind to on hard_reconfig. -Steve Grubb
707 Included a patch from Hendrik Visage for a problem with ident.
708 2.3.6
709 Updated only_from to 'and' both the remote address and the specified
710 portion if a network mask type address is used. -Steve Grubb
711 Updated explicit_mask to chose NUMERIC_ADDR if mask is 32. -Steve Grubb
712 Many parser updates. -Steve Grubb
713 Propogate default attributes even if not specified. log_on_success,
714 log_on_failure, passenv were the main items affected by this
715 problem. only_from and no_access now conform to this new
716 propogation technique. -Steve Grubb
717 Xremove now uses domain names in addition to ip addresses. -Steve Grubb
718 Moved sensor code into its own file and changed it to use timer
719 facility. -Steve Grubb
720 Reworked remote_addr check & addrlist_match to not cache IP addresses
721 and corrected several algorithmic problems. -Steve Grubb
722 Off-by-one error corrected in pset_delete. -Steve Grubb
723 Updated attrfill to use IPv4 addresses if bind specified. -Steve Grubb
724 Fixed bug in libwrap code to check server better for NULL -Steve Grubb
725 Added better testing of configuration if NAMEINARGS flag
726 is set. -Steve Grubb
727 Updated config.guess & config.sub. -Thomas Seyrat
728 Added an rpm spec file. -Steve Grubb
729 Removed sio/suite directory. It appears that key files have been
730 deleted in the past so it no longer works. -Steve Grubb
731 Make the file descriptor buffer allocation dynamic. This substantially
732 reduces xinetd's normal memory footprint (~760KB). -Rob Braun
733 Work around bugs in Mac OS X's getrlimit/setrlimit which causes them
734 to be almost unusable. -Rob Braun
735 2.3.7
736 Added fixes or workarounds for issues introduced after 2.3.3
737 including the signal pipe leak into child processes (a
738 security hole). -Solar Designer
739 Made xinetd unlink its pidfile when there turns out to be no
740 services configured on reload. -Solar Designer
741 2.3.8
742 Reworked redirect to better detect problems in its configuration. Also,
743 redirect now allows service names for port numbers. -Steve Grubb
744 Reworked attribute checking in confparse & updated attr.h. -Steve Grubb
745 Ensure that children have the default signal handlers installed.
746 Added support for DNS service registration ala Rendezvous.
747 Fixed some compile errors on Mac OS X, FreeBSD, and OpenBSD.
748 Added preliminary support for tcpmux -Philip Armstrong
749 Update the xinetd man page to document the -version option.
750 Now ignores the --with-inet6 compile option.
751 Services will default to IPv4 unless configured otherwise.
752 Bring back the inetd.conf parser in a different form. Parse all
753 the xinetd config files first, then parse /etc/inetd.conf,
754 and add services from there (if it exists).
755 Use the -inetd_compat option to read inetd.conf.
756 IPv6 updates for bind_parser, only_from, and no_access. -Steve Grubb
757 2.3.9
758 Fixed bug uncovered by IPv6 updates for bind parser. In the id_parser,
759 a test was being performed for uniqueness. It relied on the
760 address already being given. However, the address may not be
761 known if more than one record came back from the getaddrinfo
762 function call. -Steve Grubb
763 Added code to service_fill to resolve port if unspecified. -Steve Grubb
764 Consolidated duplicate services tests into check_entry. -Steve Grubb
765 Fixed a bug with access control & internal services.
766 Make sure we byteswap the value returned by time services.
767 Fix an omission with the tcpmux integration.
768 Fixed a race when there's 1 service configured and it is a wait service.
769 2.3.10
770 Close the service descriptors on fork. This only matters for internal
771 forking services, since anything that calls exec() will get
772 those closed automagically. This will help reduce the file
773 discriptors used by the daemon when using some internal services
774 Fix a numbering bug with xinetd's internal flag representation that
775 was manifesting its self as all services being disabled upon
776 recieving a SIGUSR2 (hard reconfig)
777 Don't pass a hostname to dns registration calls, it'll pick a hostname
778 automagically.
779 Remove CLEANUP and other dead code.
780 Make sure tcp internal non-forking services close their filedescriptors.
781 Added syslog facilities for the xinetd log configuration to match SUS.
782 - Steve Grubb
783 Start reporting the Per Source value when dumping debugging output
784 - Steve Grubb
785 Correct the fake-getnameinfo.h to include appropriate macros.
786 - Steve Grubb
787 Up the default CPS value to 50 from 10.
788 Document the default CPS values in the xinetd.conf man page.
789 Fix a closing of the connection when there's an error handling the
790 service. - Steve Grubb
791 Fixed a bug in the includedir path where a reference was kept to
792 free()'d memory.
793 Fixed a bug in the consistency check mechanism where it would
794 report the signal pipe as a problem.
795 Clear memory before freeing it. This isn't strictly necessary,
796 but aids in debugging.
797 Add the pid to debugging messages.
798 Remove access control calls for special services. The access control
799 functions must always allow these services anyway.
800 Fixed a bug with reconfiguring services using the interface attribute.
801 -- Adam Lukosek
802 Fixed a bug with deallocating dns registrations.
803 Fixed a bug where tcp_wrappers would not identify an internal service
804 since the internal service has no executable. -Steve Grubb
805 Sclose was being used on the config file descriptor. Since sio
806 never touches the descriptor, it failed to close it.
807 - Steve Grubb
808 Fix a potential memory leak with bind_addr and service reconfig.
809 - Andrey Alekseyev
810 Fix a reconfig timing issue.
811 - Andrey Alekseyev
812 2.3.11
813 Fix some compile time errors on Solaris
814 Fixed a bounds check in Sdone(). Patch from Dmitry V. Levin
815 Added FreeBSD loadavg support. Patch from Vanilla I. Shu
816 TCPMUX parser updates. -Steve Grubb
817 TCPMUX was causing core dumps due to changes made in 2.3.10's
818 child_process(), reverted changes. -Philip Armstrong
819 Remove RECORD logging option. -Steve Grubb
820 Change Sclose to make sure it always closes the fd. -Steve Grubb
821 Added better error handling to filelog.c. -Steve Grubb
822 Error messages now go to syslog instead of stderr in
823 strparse.c. -Steve Grubb
824 Fixed memory leaks found with valgrind. -Steve Grubb
825 Correct problems with bind specified in the default
826 section. -Steve Grubb
827 Use Sclose to close banner commands. -Jay Fenlason
828 Correct banner to match man pages. -Jay Fenlason
829 2.3.12
830 Cleanup some signal handling if not defined. -MARUYAMA Shinichi
831 Make ident protocol work properly for multi-homed hosts. -Alan Sundell
832 Code cleanup for const warnings. -Steve Grubb
833 Make redirect protocol independent. -Cougar
834 Make reconfig iterate over all services. Some may be in "not started"
835 state and were being missed. -Steve Grubb
836 Make redirected, forking builtins, & tcpmux close all listening
837 descriptors so reconfig works. -Jay Fenlason
838 Add support for the IPV6_V6ONLY socket option. Don't assume
839 a default setting, as the default seems to be in flux.
840 Address compare in readjust was wrong. Its now corrected to handle
841 each address family separately. -Steve Grubb
842 Add command line option to not fork. This will allow xinetd to be
843 started by init or daemontools. -Matthias Andree
844 Fixed a leak in reconfig. If log_type = file is used for a service and
845 SIGHUP is sent to xinetd, it leaked a file descriptor and
846 44 bytes of memory per service using FILE. -Steve Grubb
847 Change all close() calls to Sclose() to prevent future
848 problems. -Steve Grubb
849 Fixed bug if service name is unparsable and in an included directory
850 that caused xinetd to core dump. -Steve Grubb
851 Fixed bug where address lists had "version" uninitialized when the
852 list used hostnames with no dots in the name. -Steve Grubb
853 Numerous memory leaks when parsing errors occurred. -Steve Grubb
854 Remove the servers and xadmin internal services.
855 Update addrlist_match to use the address part of the IPv6 address
856 structure. -Christof Meerwald
857 Correct looping problems for udp connections rejected by the child
858 access controls. -Steve Grubb
859 Added TRAFFIC logging option to report total bytes in and out for a
860 redirected service. -Christof Meerwald
861 Correct a double-free condition if a retry was scheduled. -Steve Grubb
862 Add filename to parse messages. -Steve Grubb
863 Improve port error messages after parsing. -Steve Grubb
864 Sclose dump_fd if SIO error causes dump abort. -Steve Grubb
865 Smorefds wasn't allocating the proper amount of sio descriptor space
866 if the fd was > 5 over its last known fd. -Steve Grubb
867 2.3.13
868 Add NULL entry to success_log_options to properly end the
869 nvlist. -Steve Grubb
870 Portability updates to libportable.h. -Matthias Andree
871 Occasionally Smorefds didn't allocate more fds as
872 expected. -Jay Fenlason
873 Address list parsing considered the comma in factorized addresses to be
874 an error. Updated test to allow factorized address. -Steve Grubb
875 When parsing inet.conf, the filename wasn't being set for subsequent
876 messages. -Steve Grubb
877 Fix addrlist_match to correctly handle IPv4 mapped IPv6 addresses.
878 -Christof Meerwald
879 Fixed a bug where reloading configuration would core dump if file
880 logging was enabled in defaults and a connection existed when
881 SIGHUP was received. -Steve Grubb
882 If too many connections hit and exhausts the file descriptors
883 such that accept fails, deactivate the service like the
884 cps access control does. This problem was reported
885 by David Cook. -Steve Grubb
886 Updated rpm.spec file and added default config files to contrib
887 directory. -Steve Grubb
888 Allow group & user to be specified by numeric value. -Steve Grubb
889
890 2.3.14
891 Applied patch from Art Haas for gcc 3.5 compat.
892 Flush the descriptor after writing a banner. -Jay Fenlason
893 Don't assume char is signed in the udp drain() function -Don Provan
894 If log remote user is on, a descriptor between 0-2 is likely to
895 be opened. Call msg_suspend before dup'ing socket to
896 avoid this bug. -Glen Johnson
897 Added confparse() RPC patch from RedHat's RHEL4 srpm.
898 Fixed some service release bugs with accesses to dangling pointers.
899 Updated BACKLOG to 64 from 7
900 Updated xconv.pl to understand ":" in inetd.conf files from
901 FreeBSD ports patch.
902 Added howl support for mdns advertising.
903 Added a libwrap service attribute to specify the service name
904 to check access via libwrap.
905 Make some type cleanups to fix some warnings.
906 Parse things as unsigned instead of signed where it makes sense.
907 Based on a patch from Tony Ernst.
908 Remove the <1024 port check for UDP builtin services.
909 This check has been rather antiquated for years.
910
911 2.3.15
912 If the address we're binding to is a multicast address, do the
913 multicast join.
914 Merge the Fedora patch to turn off libwrap processing on tcp
915 rpc services. Patch xinetd-2.3.12-tcp_rpc.patch.
916 Merge the Fedora patch to add labeled networking.
917 Patch xinetd-2.3.14-label.patch r1.4.
918 Merge the Fedora patch to fix getpeercon() for labeled networking
919 in MLS environments.
920 Patch xinetd-2.3.14-contextconf.patch r1.1
921 Merge the Fedora patch for int->ssize_t.
922 Patch xinetd-2.3.14-ssize_t.patch r1.1
923 Some modifications to this patch were necessary.
924 Change compiler flags, -Wconversion generates excessive and
925 unnecessary warnings with gcc, particularly all
926 cases of ntohs(uint16_t).
927 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=6614
928 Additionally add -Wno-unused to prevent unnecessary
929 warnings regarding unused function parameters when
930 the function is a callback conforming to a standard
931 interface.
932 Change version number to 2.3.15devel, indicating an interim
933 developmental source snapshot.
934 Merge patch from Thomas Swan regarding CVE-2012-0862
935 2.3.15.1
936 Remove unused variables a bit
937 Restructure the repository for saner file locations
938 Redo buildsystem for proper autotools
939 Include patches from SUSE, Debian, and Fedora from their packages
940 Remove HOWL support completely
941 Remove deprecated compatibility detections that are mostly true
942 Enable travis build to see if we build on osx (bsd) and linux
943 Add possibility to use POLL instead of FD code to alocate