Thu Dec 25 12:44:26 2025 UTC
UPD (Dec 26, 2025): A quick bugfix is published as the version 0.0.36.
As you might already know, I like beautifully-looking numbers. Today it is 1766666666 seconds since Epoch, which in FEDAnet time (minutes since Epoch) becomes 29444444. Besides that, today is December 25, which is my birthday.
Unfortunately, not too many things there are to publish today, but nevertheless I think it is a good idea to share a snapshot of the source code. It is now available in the download section.
Sources were notably reworked to reduce the size of the feda_rx module.
Active peers are now mentioned in the logs with both their ip:port and
node_id.point pairs, and also with their names should a name is given in
the configuration file. The server, being signaled with
SIGUSR1, prints to the logs the list of all established
cryptographic associations with the peers. A couple of minor bugs are
fixed, as well as protocol flaws, so that reestablishing the association
after, e.g., one of the peers got restarted, now works smoothly.
Besides that, the server is now able to create a local socket for a
control console, which is enabled with control_socket
yes in the configuration file. The (very primitive) program named
fedactl connects to the socket and provides some controlling
capabilities.
Some new message types are introduced in the protocol, but, unfortunately, it is not yet possible to get any practical use out of them. Sorry, this is the question of the next release.
Thanks everyone who supported the project!
From feriman
Fri Dec 26 19:50:54 2025 UTC
Segmentation fault in fedaserv
It happens when user calls
shutdowncommand without any parameter in control console. It looks like the bug is here:fsrv_con.c:203. Missing check forargv[1]existence.reply
From Andrey Stolyarov
Fri Dec 26 22:15:12 2025 UTC
in reply to
this comment
Re: Segmentation fault in fedaserv
Yeah, you're right. Thanks.
reply
From feriman
Thu Dec 25 23:20:10 2025 UTC
Segmentation fault on SIGKILL or SIGTERM
I did not debug or test it yet, but I'm almost sure that it happens because of
NULLpointer dereference indestroy_control_console(ctlsock)function due to missing condition in thefedaserv.c:312P.S. Happy birthday!
reply
From Andrey Stolyarov
Fri Dec 26 10:40:27 2025 UTC
in reply to
this comment
Re: Segmentation fault on SIGKILL or SIGTERM
Thanks!
Well, please note no program in the world cat ever segfault (or do anything else) on SIGKILL because its disposition can't be changed and it simply kills. As of the SIGTERM signal, I noticed I actually forgot to register the handler for it, which is a bug, yes, but it doesn't manifestate that way.
However, yes, I forgot to check the console object really exists before destroying it, you're absolutely right. So if the server is launched without the console (that is, there's no ``control_socket yes'' line in the config), it segfaults, e.g., on SIGINT (that is, Ctrl-C). Thanks again! I'll publish the fixed version.
reply
From feriman
Fri Dec 26 12:36:40 2025 UTC
in reply to
this comment
Re: Re: Segmentation fault on SIGKILL or SIGTERM
My mistake, sorry. Of course the right signals are
SIGINT (Ctrl+C)andSIGQUIT (Ctrl+\). Thanks for correction.reply
From Anonymous (unverified) Thu Dec 25 13:10:39 2025 UTC
typo
> it is not yet possible to get any practical ue out of them.
reply
From Andrey Stolyarov
Thu Dec 25 13:16:53 2025 UTC
in reply to
this comment
Re: typo
thanks
reply