modules/serv_ical$(SO)
UTIL_TARGETS=aidepost netmailer netproc netsetup msgform readlog rcit \
stats citmail netpoll mailinglist userlist sendcommand \
- base64 qpdecode
+ base64 qpdecode citlogin
prefix=@prefix@
srcdir=@srcdir@
config.c control.c $(DATABASE) dynloader.c file_ops.c \
housekeeping.c internetmail.c ipc_c_tcp.c locate_host.c \
logging.c mailinglist.c messages.c msgbase.c msgform.c netmailer.c \
- netpoll.c netproc.c netsetup.c policy.c rcit.c readlog.c \
+ netpoll.c netproc.c netsetup.c policy.c rcit.c readlog.c citlogin.c \
room_ops.c rooms.c routines.c routines2.c serv_chat.c \
serv_info.c serv_test.c setup.c snprintf.c stats.c serv_vcard.c \
support.c sysdep.c tools.c user_ops.c userlist.c serv_expire.c \
readlog: readlog.o config.o
$(CC) readlog.o config.o $(LDFLAGS) -o readlog
+citlogin: citlogin.o config.o
+ $(CC) citlogin.o config.o $(LDFLAGS) -o citlogin
+
rcit: rcit.o config.o
$(CC) rcit.o config.o $(LDFLAGS) -o rcit
--- /dev/null
+/*
+ * $Id$
+ *
+ * A simple wrapper for the Citadel client. This allows telnetd to call
+ * Citadel without a system login.
+ *
+ */
+
+#include <stdlib.h>
+#include <unistd.h>
+#include <fcntl.h>
+#include <stdio.h>
+#include <time.h>
+#include <string.h>
+#include <errno.h>
+#include "citadel.h"
+
+void get_config(void);
+struct config config;
+
+int main (int argc, char **argv) {
+ get_config();
+ setuid(config.c_bbsuid);
+ execlp("./citadel", "citadel", NULL);
+ exit(errno);
+}