aboutsummaryrefslogtreecommitdiffstats
path: root/src/libunixonacid/sassserver_init_fromsocket.c
diff options
context:
space:
mode:
authorLaurent Bercot <ska-skaware@skarnet.org>2026-04-07 14:28:10 +0000
committerLaurent Bercot <ska-skaware@skarnet.org>2026-04-07 14:28:10 +0000
commitb8afece8d141369c25027b73680deccf48ddb948 (patch)
treeb01d7ec3e3bcb72e6ceacf2a2612a4fadc63b9da /src/libunixonacid/sassserver_init_fromsocket.c
parentcce8bb24ca6ebc98b787f087d76334f5e38daf2a (diff)
downloadskalibs-b8afece8d141369c25027b73680deccf48ddb948.tar.gz
Support running from a socket again in sassserver
A sassserver can run the same when forked or spawned from a local service, that's the point of textclient. Most sassservers don't need local service support in any way, and cutting the support from that saves pulling a good amount of code, but some do. Put back local service support while refactoring the code so running as a child from the client (common case) doesn't pull the socket code.
Diffstat (limited to 'src/libunixonacid/sassserver_init_fromsocket.c')
-rw-r--r--src/libunixonacid/sassserver_init_fromsocket.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/libunixonacid/sassserver_init_fromsocket.c b/src/libunixonacid/sassserver_init_fromsocket.c
new file mode 100644
index 0000000..48fd1d4
--- /dev/null
+++ b/src/libunixonacid/sassserver_init_fromsocket.c
@@ -0,0 +1,13 @@
+/* ISC license. */
+
+#include <skalibs/strerr.h>
+#include <skalibs/textclient.h>
+#include <skalibs/sassserver.h>
+#include "sassserver-internal.h"
+
+void sassserver_init_fromsocket (sassserver *a, char const *banner1, char const *banner2, sassserver_send_func_ref sendf, sassserver_cancel_func_ref cancelf, size_t datasize, free_func_ref cleanupf, void *aux, tain const *deadline, tain *stamp)
+{
+ if (!textclient_server_01x_init_fromsocket(banner1, strlen(banner1), banner2, strlen(banner2), deadline, stamp))
+ strerr_diefu1sys(111, "sync with client") ;
+ sassserver_init_structures(a, sendf, cancelf, datasize, cleanupf, aux) ;
+}