X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=citadel%2Futillib%2Fcitadel_ipc.c;h=41b5a3877872f69e318beb17471777bff8189f44;hb=c822442544cf31a8cda014b77364ceeb883b1d66;hp=01e890241f00212b3ee048830c0bb4445f1e94c0;hpb=6c04432144b2d842372c252ea30fd0340828f620;p=citadel.git diff --git a/citadel/utillib/citadel_ipc.c b/citadel/utillib/citadel_ipc.c index 01e890241..41b5a3877 100644 --- a/citadel/utillib/citadel_ipc.c +++ b/citadel/utillib/citadel_ipc.c @@ -1,5 +1,4 @@ -/* $Id$ - * +/* * Copyright (c) 1987-2009 by the citadel.org team * * This program is free software; you can redistribute it and/or modify @@ -364,8 +363,6 @@ int CtdlIPCGetConfig(CtdlIPC *ipc, struct ctdluser **uret, char *cret) ret = CtdlIPCGenericCommand(ipc, "GETU", NULL, 0, NULL, NULL, cret); if (ret / 100 == 2) { - uret[0]->USscreenwidth = extract_int(cret, 0); - uret[0]->USscreenheight = extract_int(cret, 1); uret[0]->flags = extract_int(cret, 2); } return ret; @@ -380,9 +377,10 @@ int CtdlIPCSetConfig(CtdlIPC *ipc, struct ctdluser *uret, char *cret) if (!uret) return -2; if (!cret) return -2; - sprintf(aaa, "SETU %d|%d|%d", - uret->USscreenwidth, uret->USscreenheight, - uret->flags); + sprintf(aaa, + "SETU 80|24|%d", + uret->flags + ); return CtdlIPCGenericCommand(ipc, aaa, NULL, 0, NULL, NULL, cret); } @@ -756,6 +754,8 @@ int CtdlIPCServerInfo(CtdlIPC *ipc, char *cret) break; case 22: strcpy(ipc->ServInfo.svn_revision, buf); break; + case 24: ipc->ServInfo.guest_logins = atoi(buf); + break; } } @@ -2493,15 +2493,10 @@ int CtdlIPCGenericCommand(CtdlIPC *ipc, { char buf[SIZ]; register int ret; - int watch_ssl = 0; if (!command) return -2; if (!proto_response) return -2; -#ifdef HAVE_OPENSSL - if (ipc->ssl) watch_ssl = 1; -#endif - CtdlIPC_lock(ipc); CtdlIPC_putline(ipc, command); while (1) { @@ -2619,8 +2614,10 @@ int CtdlIPCGenericCommand(CtdlIPC *ipc, static int tcp_connectsock(char *host, char *service) { struct in6_addr serveraddr; - struct addrinfo hints, *res = NULL; - int rc; + struct addrinfo hints; + struct addrinfo *res = NULL; + struct addrinfo *ai = NULL; + int rc = (-1); int sock = (-1); if ((host == NULL) || IsEmptyStr(host)) { @@ -2642,7 +2639,8 @@ static int tcp_connectsock(char *host, char *service) if (rc == 1) { /* dotted quad */ hints.ai_family = AF_INET; hints.ai_flags |= AI_NUMERICHOST; - } else { + } + else { rc = inet_pton(AF_INET6, host, &serveraddr); if (rc == 1) { /* IPv6 address */ hints.ai_family = AF_INET6; @@ -2654,30 +2652,22 @@ static int tcp_connectsock(char *host, char *service) rc = getaddrinfo(host, service, &hints, &res); if (rc != 0) { - // CtdlLogPrintf(CTDL_ERR, "%s: %s\n", host, gai_strerror(rc)); return(-1); } /* * Try all available addresses until we connect to one or until we run out. */ - struct addrinfo *ai; for (ai = res; ai != NULL; ai = ai->ai_next) { - /* FIXME display the address to which we are trying to connect */ -fprintf(stderr, "TRYING...\n"); - sock = socket(ai->ai_family, ai->ai_socktype, ai->ai_protocol); if (sock < 0) return(-1); rc = connect(sock, ai->ai_addr, ai->ai_addrlen); if (rc >= 0) { -fprintf(stderr, "CONNECTED\n"); - return(sock); + return(sock); /* Connected! */ } else { -fprintf(stderr, "FAILED: %s\n", strerror(errno)); - // CtdlLogPrintf(CTDL_ERR, "connect() failed: %s\n", strerror(errno)); - close(sock); + close(sock); /* Failed. Close the socket to avoid fd leak! */ } } @@ -2871,7 +2861,7 @@ static void ssl_lock(int mode, int n, const char *file, int line) static void CtdlIPC_init_OpenSSL(void) { int a; - SSL_METHOD *ssl_method; + const SSL_METHOD *ssl_method; DH *dh; /* already done init */ @@ -2961,7 +2951,7 @@ int ReadNetworkChunk(CtdlIPC* ipc) { fd_set read_fd; - int tries; +/* int tries;*/ int ret = 0; int err = 0; struct timeval tv; @@ -2969,7 +2959,7 @@ ReadNetworkChunk(CtdlIPC* ipc) tv.tv_sec = 1; tv.tv_usec = 1000; - tries = 0; + /*tries = 0; */ n = 0; while (1) { @@ -3256,7 +3246,7 @@ CtdlIPC* CtdlIPC_new(int argc, char **argv, char *hostbuf, char *portbuf) /* If we're using a unix domain socket we can do a bunch of stuff */ if (!strcmp(cithost, UDS)) { if (!strcasecmp(citport, DEFAULT_PORT)) { - snprintf(sockpath, sizeof sockpath, file_citadel_socket); + snprintf(sockpath, sizeof sockpath, "%s", file_citadel_socket); } else { snprintf(sockpath, sizeof sockpath, "%s/%s", citport, "citadel.socket");