Package: xinetd
Version: 1:2.3.15.3-1+b1
Severity: important

Dear Maintainer,

I'm trying to create a simple TCPMUXPLUS service that takes a TCP connection 
and returns a predetermined amount a entropy.

Here is my xinet.d conf file:

# default: off
# description: An xinetd service which provides entropy.
# the shell script called will return 128 bytes of entropy to the caller.
service entropy
{
        id              = entropy
        type            = TCPMUXPLUS UNLISTED
        socket_type     = stream
        protocol        = tcp
        disable         = no
#        flags           = KEEPALIVE IPv4
        instances       = 40
        server          = /srv/xinetd-entropy.sh
        log_type        = FILE /var/log/entropy-xinetd.log
        log_on_success  = PID HOST USERID EXIT DURATION
        log_on_failure  = HOST USERID ATTEMPT
        user            = nobody
        wait            = no
}

In this form, restarting xinetd produces this syslog output:

systemd[1]: Started xinetd.service - LSB: Starts or stops the xinetd daemon..
xinetd[9295]: Reading included configuration file: /etc/xinetd.d/chargen 
[file=/etc/xinetd.conf] [line=14]
xinetd[9295]: Reading included configuration file: /etc/xinetd.d/chargen-udp 
[file=/etc/xinetd.d/chargen-udp] [line=28]
xinetd[9295]: Reading included configuration file: /etc/xinetd.d/daytime 
[file=/etc/xinetd.d/daytime] [line=14]
xinetd[9295]: Reading included configuration file: /etc/xinetd.d/daytime-udp 
[file=/etc/xinetd.d/daytime-udp] [line=26]
xinetd[9295]: Reading included configuration file: /etc/xinetd.d/discard 
[file=/etc/xinetd.d/discard] [line=14]
xinetd[9295]: Reading included configuration file: /etc/xinetd.d/discard-udp 
[file=/etc/xinetd.d/discard-udp] [line=25]
xinetd[9295]: Reading included configuration file: /etc/xinetd.d/echo 
[file=/etc/xinetd.d/echo] [line=14]
xinetd[9295]: Reading included configuration file: /etc/xinetd.d/echo-udp 
[file=/etc/xinetd.d/echo-udp] [line=26]
xinetd[9295]: Reading included configuration file: /etc/xinetd.d/egd-py 
[file=/etc/xinetd.d/egd-py] [line=14]
xinetd[9295]: Reading included configuration file: /etc/xinetd.d/entropy 
[file=/etc/xinetd.d/entropy] [line=21]
xinetd[9295]: Reading included configuration file: /etc/xinetd.d/servers 
[file=/etc/xinetd.d/servers] [line=21]
xinetd[9295]: Reading included configuration file: /etc/xinetd.d/services 
[file=/etc/xinetd.d/services] [line=13]
xinetd[9295]: Reading included configuration file: /etc/xinetd.d/time 
[file=/etc/xinetd.d/time] [line=13]
xinetd[9295]: Reading included configuration file: /etc/xinetd.d/time-udp 
[file=/etc/xinetd.d/time-udp] [line=28]
xinetd[9295]: 2.3.15.3 started with libwrap loadavg labeled-networking options 
compiled in.
xinetd[9295]: Started working: 0 available services



----

When I comment out the socket_type and protocol lines in the conf (since they 
are redundant to type being TCPMUXPLUS), restarting xinetd segfaults:


systemd[1]: Started xinetd.service - LSB: Starts or stops the xinetd daemon..
xinetd[9364]: Reading included configuration file: /etc/xinetd.d/chargen 
[file=/etc/xinetd.conf] [line=14]
xinetd[9364]: Reading included configuration file: /etc/xinetd.d/chargen-udp 
[file=/etc/xinetd.d/chargen-udp] [line=28]
xinetd[9364]: Reading included configuration file: /etc/xinetd.d/daytime 
[file=/etc/xinetd.d/daytime] [line=14]
xinetd[9364]: Reading included configuration file: /etc/xinetd.d/daytime-udp 
[file=/etc/xinetd.d/daytime-udp] [line=26]
xinetd[9364]: Reading included configuration file: /etc/xinetd.d/discard 
[file=/etc/xinetd.d/discard] [line=14]
xinetd[9364]: Reading included configuration file: /etc/xinetd.d/discard-udp 
[file=/etc/xinetd.d/discard-udp] [line=25]
xinetd[9364]: Reading included configuration file: /etc/xinetd.d/echo 
[file=/etc/xinetd.d/echo] [line=14]
xinetd[9364]: Reading included configuration file: /etc/xinetd.d/echo-udp 
[file=/etc/xinetd.d/echo-udp] [line=26]
xinetd[9364]: Reading included configuration file: /etc/xinetd.d/egd-py 
[file=/etc/xinetd.d/egd-py] [line=14]
xinetd[9364]: Reading included configuration file: /etc/xinetd.d/entropy 
[file=/etc/xinetd.d/entropy] [line=21]
xinetd[9364]: Reading included configuration file: /etc/xinetd.d/servers 
[file=/etc/xinetd.d/servers] [line=21]
xinetd[9364]: Reading included configuration file: /etc/xinetd.d/services 
[file=/etc/xinetd.d/services] [line=13]
xinetd[9364]: Reading included configuration file: /etc/xinetd.d/time 
[file=/etc/xinetd.d/time] [line=13]
xinetd[9364]: Reading included configuration file: /etc/xinetd.d/time-udp 
[file=/etc/xinetd.d/time-udp] [line=28]
xinetd[9364]: 9364 {general_handler} (9364) Unexpected signal: 11 (Segmentation 
fault)
xinetd[9364]: 9364 {general_handler} (9364) Unexpected signal: 11 (Segmentation 
fault)
xinetd[9364]: 9364 {general_handler} (9364) Unexpected signal: 11 (Segmentation 
fault)
xinetd[9364]: 9364 {general_handler} (9364) Unexpected signal: 11 (Segmentation 
fault)
xinetd[9364]: 9364 {general_handler} (9364) Unexpected signal: 11 (Segmentation 
fault)
xinetd[9364]: 9364 {general_handler} (9364) Unexpected signal: 11 (Segmentation 
fault)
xinetd[9364]: 9364 {general_handler} (9364) Unexpected signal: 11 (Segmentation 
fault)
xinetd[9364]: 9364 {general_handler} (9364) Unexpected signal: 11 (Segmentation 
fault)
xinetd[9364]: 9364 {general_handler} (9364) Unexpected signal: 11 (Segmentation 
fault)
xinetd[9364]: 9364 {general_handler} (9364) Unexpected signal: 11 (Segmentation 
fault)
xinetd[9364]: 9364 {bad_signal} Received 10 signals in 1 seconds. Exiting...


----

Now, if my service conf is wrong in some way, that's fine, but xinetd shouldn't 
segfault at those two lines being commented out.

And from what I can tell, my conf file in either form should get xinetd to load 
up and listen on port 1 with at least "1 available services"

(There is a dirth of TCPMUX examples out in the wild.)





-- System Information:
Debian Release: 12.2
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 6.1.0-13-amd64 (SMP w/2 CPU threads; PREEMPT)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages xinetd depends on:
ii  libc6                      2.36-9+deb12u3
ii  libselinux1                3.4-1+b6
ii  libtirpc3                  1.3.3+ds-1
ii  libwrap0                   7.6.q-32
ii  lsb-base                   11.6
ii  netbase                    6.4
ii  sysvinit-utils [lsb-base]  3.06-4

Versions of packages xinetd recommends:
ii  logrotate                    3.21.0-1
ii  rsyslog [system-log-daemon]  8.2302.0-1
ii  update-inetd                 4.53

xinetd suggests no packages.

-- no debconf information

Reply via email to