On Tue, Dec 10, 2013 at 1:24 AM, Kevin Cernekee <cernekee at gmail.com> wrote: >> Thus either you received a duplicate/delayed packet after a worker has >> disconnected, or the UDP socket connection to a worker process was >> lost for some reason and UDP packets are being forwarded to the main >> process instead. > Hmm, OK. I don't have an easy way to reproduce this, but I did see it > again running the latest ocserv code from a few days ago. If I get a > better log I'll post it. Are these errors occuring when some other even starts or stops? > 2013-12-08 12:31:27 LIB: Connected to HTTPS on 192.168.0.1 > 2013-12-08 12:31:31 LIB: Got CONNECT response: HTTP/1.1 200 CONNECTED > 2013-12-08 12:31:31 LIB: CSTP connected. DPD 440, Keepalive 32400 > 2013-12-08 12:31:31 LIB: DTLS got write error: The specified session > has been invalidated for some reason.. Falling back to SSL > 2013-12-08 12:31:31 LIB: Established DTLS connection (using GnuTLS) > 2013-12-08 12:46:37 LIB: Unknown packet 03 54 46 01 00 3c 00 00 > 2013-12-08 12:46:37 LIB: Send BYE packet: Unknown packet received > It looks like periodic_check() is sending out raw 1-byte DPD commands > without the "STF\x01" magic header. I suspect you probably want to do > something like this (compile-tested only): I wonder how does this worked so far. I've committed a fix, thanks. regards, Nikos