From: Art Cancro Date: Fri, 2 Jun 2000 03:39:00 +0000 (+0000) Subject: * Bind unix socket prior to TCP socket for citadel protocol X-Git-Tag: v7.86~7191 X-Git-Url: https://code.citadel.org/?a=commitdiff_plain;h=23ca1db62af9991bf443ad47922fdb7291d8eed0;p=citadel.git * Bind unix socket prior to TCP socket for citadel protocol * Fixed bug in sendcommand.c which was causing it to crash on attach --- diff --git a/citadel/ChangeLog b/citadel/ChangeLog index 9fe53ba4c..0698c9edb 100644 --- a/citadel/ChangeLog +++ b/citadel/ChangeLog @@ -1,4 +1,8 @@ $Log$ + Revision 572.2 2000/06/02 03:38:50 ajc + * Bind unix socket prior to TCP socket for citadel protocol + * Fixed bug in sendcommand.c which was causing it to crash on attach + Revision 572.1 2000/05/26 19:27:51 ajc * Changed some of the rev-level sensitive stuff to look at the actual version of Citadel running, not the last version with which we ran setup @@ -1890,4 +1894,3 @@ Sat Jul 11 00:20:48 EDT 1998 Nathan Bryant Fri Jul 10 1998 Art Cancro * Initial CVS import - diff --git a/citadel/ipc_c_tcp.c b/citadel/ipc_c_tcp.c index c97892a3a..bb4290baa 100644 --- a/citadel/ipc_c_tcp.c +++ b/citadel/ipc_c_tcp.c @@ -131,6 +131,7 @@ int uds_connectsock(char *sockpath) struct sockaddr_un addr; int s; + memset(&addr, 0, sizeof(addr)); addr.sun_family = AF_UNIX; strncpy(addr.sun_path, sockpath, sizeof addr.sun_path); diff --git a/citadel/netproc.c b/citadel/netproc.c index 07a781e1a..f7a108db7 100644 --- a/citadel/netproc.c +++ b/citadel/netproc.c @@ -1504,13 +1504,10 @@ void outprocess(char *sysname) void np_attach_to_server(void) { char buf[256]; - char portname[8]; char *args[] = { "netproc", NULL }; syslog(LOG_NOTICE, "Attaching to server..."); - sprintf(portname, "%d", config.c_port_number); - args[2] = portname; attach_to_server(1, args, NULL, NULL); serv_gets(buf); syslog(LOG_NOTICE, "%s", &buf[4]); diff --git a/citadel/sendcommand.c b/citadel/sendcommand.c index 2de7706d5..a5e1fa2e4 100644 --- a/citadel/sendcommand.c +++ b/citadel/sendcommand.c @@ -20,7 +20,7 @@ #include "ipc.h" #include "config.h" -#define LOCKFILE "/var/lock/LCK.sendcommand" +#define LOCKFILE "/tmp/LCK.sendcommand" struct config config; extern int home_specified; @@ -88,13 +88,10 @@ void logoff(int e) void np_attach_to_server(void) { char hostbuf[256], portbuf[256]; char buf[256]; - char portname[8]; - char *args[] = { "sendcommand", NULL, NULL, NULL } ; + char *args[] = { "sendcommand", NULL } ; fprintf(stderr, "Attaching to server...\n"); - sprintf(portname, "%d", config.c_port_number); - args[2] = portname; - attach_to_server(3, args, hostbuf, portbuf); + attach_to_server(1, args, hostbuf, portbuf); serv_gets(buf); fprintf(stderr, "%s\n",&buf[4]); sprintf(buf,"IPGM %d", config.c_ipgm_secret); diff --git a/citadel/sysdep.c b/citadel/sysdep.c index bbb30eee2..00bb311d5 100644 --- a/citadel/sysdep.c +++ b/citadel/sysdep.c @@ -871,14 +871,14 @@ int main(int argc, char **argv) /* * Bind the server to our favorite ports. */ - CtdlRegisterServiceHook(config.c_port_number, /* TCP */ - NULL, - citproto_begin_session, - do_command_loop); CtdlRegisterServiceHook(0, /* Unix */ "citadel.socket", citproto_begin_session, do_command_loop); + CtdlRegisterServiceHook(config.c_port_number, /* TCP */ + NULL, + citproto_begin_session, + do_command_loop); /* * Load any server-side modules (plugins) available here. @@ -915,6 +915,8 @@ int main(int argc, char **argv) for (serviceptr = ServiceHookTable; serviceptr != NULL; serviceptr = serviceptr->next ) { + lprintf(9, "Will listen on master socket %d\n", + serviceptr->msock); FD_SET(serviceptr->msock, &masterfds); if (serviceptr->msock > masterhighest) { masterhighest = serviceptr->msock; diff --git a/citadel/whobbs.c b/citadel/whobbs.c index a9106eba3..b59543bc2 100644 --- a/citadel/whobbs.c +++ b/citadel/whobbs.c @@ -55,7 +55,7 @@ int main(int argc, char **argv) */ if (getenv("REQUEST_METHOD") != NULL) www = 1; - attach_to_server(argc,argv, hostbuf, portbuf); + attach_to_server(argc, argv, hostbuf, portbuf); serv_gets(buf); if ((buf[0]!='2')&&(strncmp(buf,"551",3))) { fprintf(stderr,"%s: %s\n",argv[0],&buf[4]);