File Release Notes and Changelog

Release Name: rlinetd-0.9

Release Notes

New in 0.9 (released 2013-11-17):

        o Fix fd_set buffer overflows (Ubuntu bug#1057645).
        o Fix stack smashing occurring on IPv6 RPC services.
        o Support udp4, tcp4, and so on in inetd2rlinetd (Ubuntu bug #1057663).
        o Use the same port across all interfaces for RPC services.
        o Introduce `any' value for `interface' keyword.
        o Minor portability fixes.

Change Log

2013-11-17  Robert Luberda <>

        Take the value of configured value sysconfdir into account in
        rlinetd.confi sample file and inetd2rlinetd script. Have the
        documentation and examples files installed during `make install'.
        Install the rlinetd.conf file into $sysconfdir unless the destination
        file already exists.

        * release 0.9.

2013-11-11  Robert Luberda <>

        * grammar.y: Fix stack smashing occurring on IPv6 RPC services.
        The buffer passed to getsockname(2) was too small to store IPv6
        address, which in turn caused stack overwrite detected by glibc
        when rlinetd was compiled with hardening options enabled.

        * grammar.y: Reuse RPC ports for same service on all interfaces.
        The pmap_set(3) function does not allow one to register the same
        RPC service with different ports on different network interfaces
        or addresses, so from now on rlinetd:
        + makes sure the same port for RPC service is used on all
        + takes the initial value of the port from portmap in case the
          service is already registered (the intial value is assigned
          by the system otherwise);
        + calls pmap_set() only once for each version of RPC service
          defined as one rlinetd's service.

        * lex.l, grammar.y, Introduce `interface any;'
        This can be used to overwrite per rlinetd's service intefaces
        defined in default section of configuration file.

2013-10-20  Robert Luberda <>

        * Add support for large files (AC_SYS_LARGEFILE).
        This requires "config.h" file to be included as the first in
        all *.c files.

        * Add --enable-warnings (enabled by default).
        Pass -Wall -Wextra together with a few other warnings options to gcc,
         and fix the warnings across all source files.

        * Use AS_HELP_STRING in all AM_ARG_WITH macros.

2012-09-12  Robert Luberda <>

        * src/engine.c, src/grammar.y: Fix fd_set buffer overflows.
        Make sure that FD_ISSET, FD_SET, FD_CLR macros are called with proper
        arguments not to overflow the fd_set buffers. Especially use FD_SETSIZE
        instead of getdtablesize() as the upper bound of loops that iterate
        over fd_sets and fix stop conditions of such loops in engine.c.
        glibc 1.15 with -D_FORTIFY_SOURCE=2 checks the bounds of fd_set
        buffers, which made the error in rlinetd immediately visible on Ubuntu
        (Ubuntu bug LP#1057645).

        * scripts/ Add support for udp4 and similar protocols.
        Apply patch from Ubuntu LP#1057663 to handle protocols ending with IP
        version, like udp4 or tcp6, from /etc/inetd.conf.
        (Ubuntu bug LP#1057663).

Powered By FusionForge