Bug 55082

Summary: Please add support for 'accepting' UDP packets via systemd
Product: systemd Reporter: Michał Górny <mgorny>
Component: generalAssignee: systemd-bugs
Status: RESOLVED WORKSFORME QA Contact: systemd-bugs
Severity: enhancement    
Priority: medium    
Version: unspecified   
Hardware: All   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:

Description Michał Górny 2012-09-19 08:44:56 UTC
The UDP packet accept support is necessary to run TFTP daemon (in.tftpd).
Comment 1 Lennart Poettering 2012-09-19 09:37:46 UTC
Hmm? UDP is not connection-based, accept() cannot be called for UDP sockets. If done it will return EOPNOTSUPP. (See accept(2) for details)

I don't really understand what you are asking for?
Comment 2 Michał Górny 2012-09-19 10:11:50 UTC
Well, I should have put the 'accept' into quotation marks.

What I want is xinetd-like behavior which will allow to run in.tftpd under systemd. Do you need more details?
Comment 3 Lennart Poettering 2012-09-19 11:51:07 UTC
I have no experience with in.tftpd. But the default non-accept mode should suffice if tftpd just wants to listen on TFTP datagrams.
Comment 4 Michał Górny 2012-09-21 09:25:00 UTC
(In reply to comment #3)
> I have no experience with in.tftpd. But the default non-accept mode should
> suffice if tftpd just wants to listen on TFTP datagrams.

Hm, indeed it does work. Sorry for the noise.
Comment 5 Michał Górny 2012-09-21 09:29:40 UTC
One more thing -- is there a good way to specify that the daemon should be killed after, say, 3 minutes of silence?
Comment 6 Lennart Poettering 2012-09-21 09:48:09 UTC
We can't really know from the outside when a daemon is idle. The daemon could do various other cleanup jobs after having processed a datagram. Heck, we wouldn't even know when the datagram we activated the daemon for itself has been processed. There's really no way to figure that out from the outside, and hence all daemons need to implement this on their own if that's desirable.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.