Opened 10 years ago

Closed 16 months ago

#350 closed Bug / Defect (wontfix)

starting openvpn with --inetd from terminal will make it loop forever

Reported by: Gert Döring Owned by: Gert Döring
Priority: minor Milestone: release 2.4.11
Component: Generic / unclassified Version: OpenVPN 2.4.9 (Community Ed)
Severity: Not set (select this one, unless your'e a OpenVPN developer) Keywords:
Cc: plaisthos

Description

Starting openvpn with "--inetd" from a shell ("to see if the rest of the options are fine") will make it loop forever, printing error messages once a second...

Nov 26 13:26:07 gentoo openvpn[14099]: TCP: accept(3) failed: Socket operation on non-socket (errno=88)
Nov 26 13:26:08 gentoo openvpn[14099]: TCP: accept(3) failed: Socket operation on non-socket (errno=88)

... we might handle this more gracefully...

(Revisit after dual-stack patches have been fully merged)

Change History (8)

comment:1 Changed 9 years ago by Samuli Seppänen

cron2: can this be reproduced on latest Git "master"?

comment:2 Changed 9 years ago by Gert Döring

Yes, still broken.

May 28 12:39:05 blue openvpn[30979]: OpenVPN 2.3_git [git:master/da9b292733e929a2+] i686-pc-linux-gnu [SSL (OpenSSL)] [LZO] [SNAPPY] [LZ4] [EPOLL] [MH] [IPv6] built on May 26 2015
May 28 12:39:11 blue openvpn[30979]: TCP: accept(3) failed: Socket operation on non-socket (errno=88)
May 28 12:39:40 blue last message repeated 29 times

(both on 2.3 and git master)

comment:3 Changed 7 years ago by Gert Döring

Milestone: release 2.4

most likely trivially fixed...

comment:4 Changed 4 years ago by Gert Döring

still a thing...

Sep  8 12:11:04 gentoo openvpn[23339]: TCP: getpeername() failed: Socket operation on non-socket (errno=88)
Sep  8 12:11:04 gentoo openvpn[23339]: TCP: accept(4) failed: Socket operation on non-socket (errno=88)
Sep  8 12:11:05 gentoo openvpn[23339]: TCP: getpeername() failed: Socket operation on non-socket (errno=88)
Sep  8 12:11:05 gentoo openvpn[23339]: TCP: accept(4) failed: Socket operation on non-socket (errno=88)

comment:6 Changed 4 years ago by Gert Döring

*sigh*

The patch above fixes --inetd nowait mode (= TCP), but not UDP.

UDP mode can be tested (and broken) much easier - just call "openvpn --inetd --dev tap" and press return... and then see the CPU explode. Syslog shows why...

Sep  9 09:26:49 blue2 openvpn[23990]: read UDP: Socket operation on non-socket (code=88)
Sep  9 09:26:51 blue2 last message repeated 477309 times

Anyway, patch for TCP is merged

commit a09a2fadbadb5dc435f6fccc581163e1f637f43f (master)
commit 05050e7d089e382e0e8bc7565f30e02e2246d569 (release/2.5)
commit 769c894db29f76f6510569fc20633fb6f0c357f9 (release/2.4)
Author: Gert Doering
Date: Tue Sep 8 12:51:30 2020 +0200

Fix error detection / abort in --inetd corner case.

comment:7 Changed 3 years ago by Gert Döring

Milestone: release 2.4release 2.4.11
Version: OpenVPN git master branch (Community Ed)OpenVPN 2.4.9 (Community Ed)

This got fixed in master by throwing out --inetd.

If I feel bored, I might try to fix it for 2.4, or just close the ticket.

comment:8 Changed 16 months ago by Gert Döring

Resolution: wontfix
Status: newclosed

I was not bored enough to look into this for 2.4 - and since --inetd has been removed for 2.6, we won't fix this for 2.4/2.5 ("nobobdy except me has ever been hit by this", it seems)

Note: See TracTickets for help on using tickets.