X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=textclient%2Fsrc%2Fcitadel_ipc.c;h=0ec44ed27af70f2daca32b3b5e191f89d0d9aaca;hb=5a3c48d2513dab2cec3c32b37e804a891613a909;hp=15e860a4bb57894592a842622ac6dcd7908be822;hpb=5a202656af01ddc9db0640e4cc7a84f5974bc2d4;p=citadel.git diff --git a/textclient/src/citadel_ipc.c b/textclient/src/citadel_ipc.c index 15e860a4b..0ec44ed27 100644 --- a/textclient/src/citadel_ipc.c +++ b/textclient/src/citadel_ipc.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 1987-2012 by the citadel.org team + * Copyright (c) 1987-2017 by the citadel.org team * * This program is open source software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 3. @@ -40,10 +40,7 @@ #include #endif #include -#include "citadel.h" #include "citadel_ipc.h" -#include "citadel_decls.h" -#include "citadel_dirs.h" #ifdef THREADED_CLIENT pthread_mutex_t rwlock; #endif @@ -63,6 +60,127 @@ pthread_mutex_t **Critters; /* Things that need locking */ #endif static void (*status_hook)(char *s) = NULL; +char ctdl_autoetc_dir[PATH_MAX]=""; +char file_citadel_rc[PATH_MAX]=""; +char ctdl_run_dir[PATH_MAX]=""; +char ctdl_etc_dir[PATH_MAX]=""; +char ctdl_home_directory[PATH_MAX] = ""; +char file_citadel_socket[PATH_MAX]=""; + +char *viewdefs[]={ + "Messages", + "Summary", + "Address book", + "Calendar", + "Tasks" +}; + +char *axdefs[]={ + "Deleted", + "New User", + "Problem User", + "Local User", + "Network User", + "Preferred User", + "Admin", + "Admin" + }; + + +void CtdlIPC_lock(CtdlIPC *ipc) +{ + if (ipc->network_status_cb) ipc->network_status_cb(1); +#ifdef THREADED_CLIENT + pthread_mutex_lock(&(ipc->mutex)); +#endif +} + + +void CtdlIPC_unlock(CtdlIPC *ipc) +{ +#ifdef THREADED_CLIENT + pthread_mutex_unlock(&(ipc->mutex)); +#endif + if (ipc->network_status_cb) ipc->network_status_cb(0); +} + +#ifdef __cplusplus +} +#endif + + +char *libcitadelclient_version_string(void) { + return "libcitadelclient(unnumbered)"; +} + + + + +#define COMPUTE_DIRECTORY(SUBDIR) memcpy(dirbuffer,SUBDIR, sizeof dirbuffer);\ + snprintf(SUBDIR,sizeof SUBDIR, "%s%s%s%s%s%s%s", \ + (home&!relh)?ctdl_home_directory:basedir, \ + ((basedir!=ctdldir)&(home&!relh))?basedir:"/", \ + ((basedir!=ctdldir)&(home&!relh))?"/":"", \ + relhome, \ + (relhome[0]!='\0')?"/":"",\ + dirbuffer,\ + (dirbuffer[0]!='\0')?"/":""); + +#define DBG_PRINT(A) if (dbg==1) fprintf (stderr,"%s : %s \n", #A, A) + + +void calc_dirs_n_files(int relh, int home, const char *relhome, char *ctdldir, int dbg) +{ + const char* basedir = ""; + char dirbuffer[PATH_MAX] = ""; + + StripSlashes(ctdldir, 1); + +#ifndef HAVE_RUN_DIR + basedir=ctdldir; +#else + basedir=RUN_DIR; +#endif + COMPUTE_DIRECTORY(ctdl_run_dir); + StripSlashes(ctdl_run_dir, 1); + + +#ifndef HAVE_AUTO_ETC_DIR + basedir=ctdldir; +#else + basedir=AUTO_ETC_DIR; +#endif + COMPUTE_DIRECTORY(ctdl_autoetc_dir); + StripSlashes(ctdl_autoetc_dir, 1); + + +#ifndef HAVE_ETC_DIR + basedir=ctdldir; +#else + basedir=ETC_DIR; +#endif + COMPUTE_DIRECTORY(ctdl_etc_dir); + StripSlashes(ctdl_etc_dir, 1); + + + + snprintf(file_citadel_rc, + sizeof file_citadel_rc, + "%scitadel.rc", + ctdl_etc_dir); + StripSlashes(file_citadel_rc, 0); + + snprintf(file_citadel_socket, + sizeof file_citadel_socket, + "%scitadel.socket", + ctdl_run_dir); + StripSlashes(file_citadel_socket, 0); + + DBG_PRINT(ctdl_run_dir); + DBG_PRINT(file_citadel_socket); + DBG_PRINT(ctdl_etc_dir); + DBG_PRINT(file_citadel_rc); +} void setCryptoStatusHook(void (*hook)(char *s)) { status_hook = hook; @@ -110,7 +228,7 @@ int CtdlIPCNoop(CtdlIPC *ipc) */ int CtdlIPCEcho(CtdlIPC *ipc, const char *arg, char *cret) { - register int ret; + int ret; char *aaa; if (!arg) return -2; @@ -132,7 +250,7 @@ int CtdlIPCEcho(CtdlIPC *ipc, const char *arg, char *cret) */ int CtdlIPCQuit(CtdlIPC *ipc) { - register int ret = 221; /* Default to successful quit */ + int ret = 221; /* Default to successful quit */ char aaa[SIZ]; CtdlIPC_lock(ipc); @@ -160,7 +278,7 @@ int CtdlIPCQuit(CtdlIPC *ipc) */ int CtdlIPCLogout(CtdlIPC *ipc) { - register int ret; + int ret; char aaa[SIZ]; CtdlIPC_lock(ipc); @@ -179,7 +297,7 @@ int CtdlIPCLogout(CtdlIPC *ipc) */ int CtdlIPCTryLogin(CtdlIPC *ipc, const char *username, char *cret) { - register int ret; + int ret; char *aaa; if (!username) return -2; @@ -201,7 +319,7 @@ int CtdlIPCTryLogin(CtdlIPC *ipc, const char *username, char *cret) */ int CtdlIPCTryPassword(CtdlIPC *ipc, const char *passwd, char *cret) { - register int ret; + int ret; char *aaa; if (!passwd) return -2; @@ -223,7 +341,7 @@ int CtdlIPCTryPassword(CtdlIPC *ipc, const char *passwd, char *cret) */ int CtdlIPCTryApopPassword(CtdlIPC *ipc, const char *response, char *cret) { - register int ret; + int ret; char *aaa; if (!response) return -2; @@ -248,7 +366,7 @@ int CtdlIPCTryApopPassword(CtdlIPC *ipc, const char *response, char *cret) */ int CtdlIPCCreateUser(CtdlIPC *ipc, const char *username, int selfservice, char *cret) { - register int ret; + int ret; char *aaa; if (!username) return -2; @@ -269,7 +387,7 @@ int CtdlIPCCreateUser(CtdlIPC *ipc, const char *username, int selfservice, char */ int CtdlIPCChangePassword(CtdlIPC *ipc, const char *passwd, char *cret) { - register int ret; + int ret; char *aaa; if (!passwd) return -2; @@ -291,7 +409,7 @@ int CtdlIPCChangePassword(CtdlIPC *ipc, const char *passwd, char *cret) /* floor is -1 for all, or floornum */ int CtdlIPCKnownRooms(CtdlIPC *ipc, enum RoomList which, int floor, struct march **listing, char *cret) { - register int ret; + int ret; struct march *march = NULL; static char *proto[] = {"LKRA", "LKRN", "LKRO", "LZRM", "LRMS", "LPRM" }; @@ -348,7 +466,7 @@ int CtdlIPCKnownRooms(CtdlIPC *ipc, enum RoomList which, int floor, struct march /* Caller must free the struct ctdluser; caller may pass an existing one */ int CtdlIPCGetConfig(CtdlIPC *ipc, struct ctdluser **uret, char *cret) { - register int ret; + int ret; if (!cret) return -2; if (!uret) return -2; @@ -382,7 +500,7 @@ int CtdlIPCSetConfig(CtdlIPC *ipc, struct ctdluser *uret, char *cret) /* RENU */ int CtdlIPCRenameUser(CtdlIPC *ipc, char *oldname, char *newname, char *cret) { - register int ret; + int ret; char cmd[256]; if (!oldname) return -2; @@ -399,7 +517,7 @@ int CtdlIPCRenameUser(CtdlIPC *ipc, char *oldname, char *newname, char *cret) int CtdlIPCGotoRoom(CtdlIPC *ipc, const char *room, const char *passwd, struct ctdlipcroom **rret, char *cret) { - register int ret; + int ret; char *aaa; if (!cret) return -2; @@ -454,8 +572,8 @@ int CtdlIPCGotoRoom(CtdlIPC *ipc, const char *room, const char *passwd, int CtdlIPCGetMessages(CtdlIPC *ipc, enum MessageList which, int whicharg, const char *mtemplate, unsigned long **mret, char *cret) { - register int ret; - register unsigned long count = 0; + int ret; + unsigned long count = 0; static char *proto[] = { "ALL", "OLD", "NEW", "LAST", "FIRST", "GT", "LT" }; char aaa[33]; @@ -502,7 +620,7 @@ int CtdlIPCGetMessages(CtdlIPC *ipc, enum MessageList which, int whicharg, int CtdlIPCGetSingleMessage(CtdlIPC *ipc, long msgnum, int headers, int as_mime, struct ctdlipcmessage **mret, char *cret) { - register int ret; + int ret; char aaa[SIZ]; char *bbb = NULL; size_t bbb_len; @@ -676,7 +794,7 @@ int CtdlIPCGetSingleMessage(CtdlIPC *ipc, long msgnum, int headers, int as_mime, /* WHOK */ int CtdlIPCWhoKnowsRoom(CtdlIPC *ipc, char **listing, char *cret) { - register int ret; + int ret; size_t bytes; if (!cret) return -2; @@ -691,7 +809,7 @@ int CtdlIPCWhoKnowsRoom(CtdlIPC *ipc, char **listing, char *cret) /* INFO */ int CtdlIPCServerInfo(CtdlIPC *ipc, char *cret) { - register int ret; + int ret; size_t bytes; char *listing = NULL; char buf[SIZ]; @@ -762,7 +880,7 @@ int CtdlIPCServerInfo(CtdlIPC *ipc, char *cret) /* RDIR */ int CtdlIPCReadDirectory(CtdlIPC *ipc, char **listing, char *cret) { - register int ret; + int ret; size_t bytes; if (!cret) return -2; @@ -779,7 +897,7 @@ int CtdlIPCReadDirectory(CtdlIPC *ipc, char **listing, char *cret) */ int CtdlIPCSetLastRead(CtdlIPC *ipc, long msgnum, char *cret) { - register int ret; + int ret; char aaa[64]; if (!cret) return -2; @@ -798,7 +916,7 @@ int CtdlIPCSetLastRead(CtdlIPC *ipc, long msgnum, char *cret) /* INVT */ int CtdlIPCInviteUserToRoom(CtdlIPC *ipc, const char *username, char *cret) { - register int ret; + int ret; char *aaa; if (!cret) return -2; @@ -817,7 +935,7 @@ int CtdlIPCInviteUserToRoom(CtdlIPC *ipc, const char *username, char *cret) /* KICK */ int CtdlIPCKickoutUserFromRoom(CtdlIPC *ipc, const char *username, char *cret) { - register int ret; + int ret; char *aaa; if (!cret) return -1; @@ -835,7 +953,7 @@ int CtdlIPCKickoutUserFromRoom(CtdlIPC *ipc, const char *username, char *cret) /* GETR */ int CtdlIPCGetRoomAttributes(CtdlIPC *ipc, struct ctdlroom **qret, char *cret) { - register int ret; + int ret; if (!cret) return -2; if (!qret) return -2; @@ -861,7 +979,7 @@ int CtdlIPCGetRoomAttributes(CtdlIPC *ipc, struct ctdlroom **qret, char *cret) /* set forget to kick all users out of room */ int CtdlIPCSetRoomAttributes(CtdlIPC *ipc, int forget, struct ctdlroom *qret, char *cret) { - register int ret; + int ret; char *aaa; if (!cret) return -2; @@ -893,7 +1011,7 @@ int CtdlIPCGetRoomAide(CtdlIPC *ipc, char *cret) /* SETA */ int CtdlIPCSetRoomAide(CtdlIPC *ipc, const char *username, char *cret) { - register int ret; + int ret; char *aaa; if (!cret) return -2; @@ -912,7 +1030,7 @@ int CtdlIPCSetRoomAide(CtdlIPC *ipc, const char *username, char *cret) /* ENT0 */ int CtdlIPCPostMessage(CtdlIPC *ipc, int flag, int *subject_required, struct ctdlipcmessage *mr, char *cret) { - register int ret; + int ret; char cmd[SIZ]; char *ptr; @@ -971,7 +1089,7 @@ int CtdlIPCDeleteMessage(CtdlIPC *ipc, long msgnum, char *cret) /* MOVE */ int CtdlIPCMoveMessage(CtdlIPC *ipc, int copy, long msgnum, const char *destroom, char *cret) { - register int ret; + int ret; char *aaa; if (!cret) return -2; @@ -1004,7 +1122,7 @@ int CtdlIPCDeleteRoom(CtdlIPC *ipc, int for_real, char *cret) int CtdlIPCCreateRoom(CtdlIPC *ipc, int for_real, const char *roomname, int type, const char *password, int floor, char *cret) { - register int ret; + int ret; char *aaa; if (!cret) return -2; @@ -1039,7 +1157,7 @@ int CtdlIPCForgetRoom(CtdlIPC *ipc, char *cret) /* MESG */ int CtdlIPCSystemMessage(CtdlIPC *ipc, const char *message, char **mret, char *cret) { - register int ret; + int ret; char *aaa; size_t bytes; @@ -1070,7 +1188,7 @@ int CtdlIPCNextUnvalidatedUser(CtdlIPC *ipc, char *cret) /* GREG */ int CtdlIPCGetUserRegistration(CtdlIPC *ipc, const char *username, char **rret, char *cret) { - register int ret; + int ret; char *aaa; size_t bytes; @@ -1097,7 +1215,7 @@ int CtdlIPCGetUserRegistration(CtdlIPC *ipc, const char *username, char **rret, /* VALI */ int CtdlIPCValidateUser(CtdlIPC *ipc, const char *username, int axlevel, char *cret) { - register int ret; + int ret; char *aaa; if (!cret) return -2; @@ -1162,7 +1280,7 @@ int CtdlIPCSetRegistration(CtdlIPC *ipc, const char *info, char *cret) /* CHEK */ int CtdlIPCMiscCheck(CtdlIPC *ipc, struct ctdlipcmisc *chek, char *cret) { - register int ret; + int ret; if (!cret) return -1; if (!chek) return -1; @@ -1180,7 +1298,7 @@ int CtdlIPCMiscCheck(CtdlIPC *ipc, struct ctdlipcmisc *chek, char *cret) /* DELF */ int CtdlIPCDeleteFile(CtdlIPC *ipc, const char *filename, char *cret) { - register int ret; + int ret; char *aaa; if (!cret) return -2; @@ -1199,7 +1317,7 @@ int CtdlIPCDeleteFile(CtdlIPC *ipc, const char *filename, char *cret) /* MOVF */ int CtdlIPCMoveFile(CtdlIPC *ipc, const char *filename, const char *destroom, char *cret) { - register int ret; + int ret; char *aaa; if (!cret) return -2; @@ -1219,7 +1337,7 @@ int CtdlIPCMoveFile(CtdlIPC *ipc, const char *filename, const char *destroom, ch /* RWHO */ int CtdlIPCOnlineUsers(CtdlIPC *ipc, char **listing, time_t *stamp, char *cret) { - register int ret; + int ret; size_t bytes; if (!cret) return -1; @@ -1241,7 +1359,7 @@ int CtdlIPCFileDownload(CtdlIPC *ipc, const char *filename, void **buf, (CtdlIPC*, unsigned long, unsigned long), char *cret) { - register int ret; + int ret; size_t bytes; time_t last_mod; char mimetype[SIZ]; @@ -1288,7 +1406,7 @@ int CtdlIPCAttachmentDownload(CtdlIPC *ipc, long msgnum, const char *part, (CtdlIPC*, unsigned long, unsigned long), char *cret) { - register int ret; + int ret; size_t bytes; time_t last_mod; char filename[SIZ]; @@ -1327,7 +1445,7 @@ int CtdlIPCImageDownload(CtdlIPC *ipc, const char *filename, void **buf, (CtdlIPC*, unsigned long, unsigned long), char *cret) { - register int ret; + int ret; size_t bytes; time_t last_mod; char mimetype[SIZ]; @@ -1368,7 +1486,7 @@ int CtdlIPCFileUpload(CtdlIPC *ipc, const char *save_as, const char *comment, (CtdlIPC*, unsigned long, unsigned long), char *cret) { - register int ret; + int ret; char *aaa; FILE *uploadFP; char MimeTestBuf[64]; @@ -1391,7 +1509,7 @@ int CtdlIPCFileUpload(CtdlIPC *ipc, const char *save_as, const char *comment, return -3; MimeType = GuessMimeType(&MimeTestBuf[0], len); - aaa = (char *)malloc(strlen(save_as) + strlen(comment) + 7); + aaa = (char *)malloc(strlen(save_as) + strlen(MimeType) + strlen(comment) + 7); if (!aaa) return -1; sprintf(aaa, "UOPN %s|%s|%s", save_as, MimeType, comment); @@ -1414,7 +1532,7 @@ int CtdlIPCImageUpload(CtdlIPC *ipc, int for_real, const char *path, (CtdlIPC*, unsigned long, unsigned long), char *cret) { - register int ret; + int ret; FILE *uploadFP; char *aaa; char MimeTestBuf[64]; @@ -1455,7 +1573,7 @@ int CtdlIPCImageUpload(CtdlIPC *ipc, int for_real, const char *path, /* QUSR */ int CtdlIPCQueryUsername(CtdlIPC *ipc, const char *username, char *cret) { - register int ret; + int ret; char *aaa; if (!cret) return -2; @@ -1487,7 +1605,7 @@ int CtdlIPCFloorListing(CtdlIPC *ipc, char **listing, char *cret) /* CFLR */ int CtdlIPCCreateFloor(CtdlIPC *ipc, int for_real, const char *name, char *cret) { - register int ret; + int ret; char aaa[SIZ]; if (!cret) return -2; @@ -1515,7 +1633,7 @@ int CtdlIPCDeleteFloor(CtdlIPC *ipc, int for_real, int floornum, char *cret) /* EFLR */ int CtdlIPCEditFloor(CtdlIPC *ipc, int floornum, const char *floorname, char *cret) { - register int ret; + int ret; char aaa[SIZ]; if (!cret) return -2; @@ -1538,14 +1656,14 @@ int CtdlIPCIdentifySoftware(CtdlIPC *ipc, int developerid, int clientid, int revision, const char *software_name, const char *hostname, char *cret) { - register int ret; + int ret; char *aaa; if (developerid < 0 || clientid < 0 || revision < 0 || !software_name) { developerid = 8; clientid = 0; - revision = REV_LEVEL - 600; + revision = CLIENT_VERSION - 600; software_name = "Citadel (libcitadel)"; } if (!hostname) return -2; @@ -1565,7 +1683,7 @@ int CtdlIPCIdentifySoftware(CtdlIPC *ipc, int developerid, int clientid, int CtdlIPCSendInstantMessage(CtdlIPC *ipc, const char *username, const char *text, char *cret) { - register int ret; + int ret; char *aaa; if (!cret) return -2; @@ -1627,7 +1745,7 @@ int CtdlIPCSetBio(CtdlIPC *ipc, char *bio, char *cret) /* RBIO */ int CtdlIPCGetBio(CtdlIPC *ipc, const char *username, char **listing, char *cret) { - register int ret; + int ret; size_t bytes; char *aaa; @@ -1708,7 +1826,7 @@ int CtdlIPCTerminateServerScheduled(CtdlIPC *ipc, int mode, char *cret) int CtdlIPCEnterSystemMessage(CtdlIPC *ipc, const char *filename, const char *text, char *cret) { - register int ret; + int ret; char *aaa; if (!cret) return -2; @@ -1728,7 +1846,7 @@ int CtdlIPCEnterSystemMessage(CtdlIPC *ipc, const char *filename, const char *te /* HCHG */ int CtdlIPCChangeHostname(CtdlIPC *ipc, const char *hostname, char *cret) { - register int ret; + int ret; char *aaa; if (!cret) return -2; @@ -1747,7 +1865,7 @@ int CtdlIPCChangeHostname(CtdlIPC *ipc, const char *hostname, char *cret) /* RCHG */ int CtdlIPCChangeRoomname(CtdlIPC *ipc, const char *roomname, char *cret) { - register int ret; + int ret; char *aaa; if (!cret) return -2; @@ -1766,7 +1884,7 @@ int CtdlIPCChangeRoomname(CtdlIPC *ipc, const char *roomname, char *cret) /* UCHG */ int CtdlIPCChangeUsername(CtdlIPC *ipc, const char *username, char *cret) { - register int ret; + int ret; char *aaa; if (!cret) return -2; @@ -1786,8 +1904,8 @@ int CtdlIPCChangeUsername(CtdlIPC *ipc, const char *username, char *cret) /* This function returns the actual server time reported, or 0 if error */ time_t CtdlIPCServerTime(CtdlIPC *ipc, char *cret) { - register time_t tret; - register int ret; + time_t tret; + int ret; ret = CtdlIPCGenericCommand(ipc, "TIME", NULL, 0, NULL, NULL, cret); if (ret / 100 == 2) { @@ -1800,10 +1918,9 @@ time_t CtdlIPCServerTime(CtdlIPC *ipc, char *cret) /* AGUP */ -int CtdlIPCAideGetUserParameters(CtdlIPC *ipc, const char *who, - struct ctdluser **uret, char *cret) +int CtdlIPCAideGetUserParameters(CtdlIPC *ipc, const char *who, struct ctdluser **uret, char *cret) { - register int ret; + int ret; char aaa[SIZ]; if (!cret) return -2; @@ -1832,7 +1949,7 @@ int CtdlIPCAideGetUserParameters(CtdlIPC *ipc, const char *who, /* ASUP */ int CtdlIPCAideSetUserParameters(CtdlIPC *ipc, const struct ctdluser *uret, char *cret) { - register int ret; + int ret; char *aaa; if (!cret) return -2; @@ -1842,15 +1959,54 @@ int CtdlIPCAideSetUserParameters(CtdlIPC *ipc, const struct ctdluser *uret, char if (!aaa) return -1; sprintf(aaa, "ASUP %s|%s|%d|%ld|%ld|%d|%ld|%ld|%d", - uret->fullname, uret->password, uret->flags, - uret->timescalled, uret->posted, uret->axlevel, - uret->usernum, uret->lastcall, uret->USuserpurge); + uret->fullname, uret->password, uret->flags, uret->timescalled, + uret->posted, uret->axlevel, uret->usernum, uret->lastcall, uret->USuserpurge + ); ret = CtdlIPCGenericCommand(ipc, aaa, NULL, 0, NULL, NULL, cret); free(aaa); return ret; } +/* AGEA */ +int CtdlIPCAideGetEmailAddresses(CtdlIPC *ipc, const char *who, char *target_buf, char *cret) +{ + int ret; + char aaa[SIZ]; + char *emailaddrs = NULL; + size_t emailaddrs_len = 0; + + sprintf(aaa, "AGEA %s", who); + ret = CtdlIPCGenericCommand(ipc, aaa, NULL, 0, &emailaddrs, &emailaddrs_len, cret); + + if (ret / 100 == 1) { + strcpy(target_buf, emailaddrs); + } + + if (emailaddrs != NULL) { + free(emailaddrs); + } + + return ret; +} + + +/* ASEA */ +int CtdlIPCAideSetEmailAddresses(CtdlIPC *ipc, const char *who, char *emailaddrs, char *cret) +{ + char aaa[SIZ]; + int ret; + + if (!who) return -2; + if (!emailaddrs) return -2; + if (!cret) return -2; + + sprintf(aaa, "ASEA %s", who); + ret = CtdlIPCGenericCommand(ipc, aaa, emailaddrs, 0, NULL, NULL, cret); + return ret; +} + + /* GPEX */ /* which is 0 = room, 1 = floor, 2 = site, 3 = default for mailboxes */ /* caller must free the struct ExpirePolicy */ @@ -1864,7 +2020,7 @@ int CtdlIPCGetMessageExpirationPolicy(CtdlIPC *ipc, GPEXWhichPolicy which, strof(mailboxespolicy) }; char cmd[256]; - register int ret; + int ret; if (!cret) return -2; if (!policy) return -2; @@ -1929,10 +2085,9 @@ int CtdlIPCSetSystemConfig(CtdlIPC *ipc, const char *listing, char *cret) /* CONF GETSYS */ -int CtdlIPCGetSystemConfigByType(CtdlIPC *ipc, const char *mimetype, - char **listing, char *cret) +int CtdlIPCGetSystemConfigByType(CtdlIPC *ipc, const char *mimetype, char **listing, char *cret) { - register int ret; + int ret; char *aaa; size_t bytes; @@ -1944,18 +2099,16 @@ int CtdlIPCGetSystemConfigByType(CtdlIPC *ipc, const char *mimetype, aaa = malloc(strlen(mimetype) + 13); if (!aaa) return -1; sprintf(aaa, "CONF GETSYS|%s", mimetype); - ret = CtdlIPCGenericCommand(ipc, aaa, NULL, 0, - listing, &bytes, cret); - free(aaa); - return ret; + ret = CtdlIPCGenericCommand(ipc, aaa, NULL, 0, listing, &bytes, cret); + free(aaa); + return ret; } /* CONF PUTSYS */ -int CtdlIPCSetSystemConfigByType(CtdlIPC *ipc, const char *mimetype, - const char *listing, char *cret) +int CtdlIPCSetSystemConfigByType(CtdlIPC *ipc, const char *mimetype, const char *listing, char *cret) { - register int ret; + int ret; char *aaa; if (!cret) return -2; @@ -1965,10 +2118,9 @@ int CtdlIPCSetSystemConfigByType(CtdlIPC *ipc, const char *mimetype, aaa = malloc(strlen(mimetype) + 13); if (!aaa) return -1; sprintf(aaa, "CONF PUTSYS|%s", mimetype); - ret = CtdlIPCGenericCommand(ipc, aaa, listing, strlen(listing), - NULL, NULL, cret); - free(aaa); - return ret; + ret = CtdlIPCGenericCommand(ipc, aaa, listing, strlen(listing), NULL, NULL, cret); + free(aaa); + return ret; } @@ -1981,8 +2133,7 @@ int CtdlIPCGetRoomNetworkConfig(CtdlIPC *ipc, char **listing, char *cret) if (!listing) return -2; if (*listing) return -2; - return CtdlIPCGenericCommand(ipc, "GNET", NULL, 0, - listing, &bytes, cret); + return CtdlIPCGenericCommand(ipc, "GNET", NULL, 0, listing, &bytes, cret); } @@ -1992,8 +2143,7 @@ int CtdlIPCSetRoomNetworkConfig(CtdlIPC *ipc, const char *listing, char *cret) if (!cret) return -2; if (!listing) return -2; - return CtdlIPCGenericCommand(ipc, "SNET", listing, strlen(listing), - NULL, NULL, cret); + return CtdlIPCGenericCommand(ipc, "SNET", listing, strlen(listing), NULL, NULL, cret); } @@ -2120,7 +2270,7 @@ static void endtls(SSL *ssl) /* QDIR */ int CtdlIPCDirectoryLookup(CtdlIPC *ipc, const char *address, char *cret) { - register int ret; + int ret; char *aaa; if (!address) return -2; @@ -2131,8 +2281,8 @@ int CtdlIPCDirectoryLookup(CtdlIPC *ipc, const char *address, char *cret) sprintf(aaa, "QDIR %s", address); ret = CtdlIPCGenericCommand(ipc, aaa, NULL, 0, NULL, NULL, cret); - free(aaa); - return ret; + free(aaa); + return ret; } @@ -2148,22 +2298,6 @@ int CtdlIPCInternalProgram(CtdlIPC *ipc, int secret, char *cret) -/* - * Not implemented: - * - * CHAT - * ETLS - * EXPI - * GTLS - * IGAB - * MSG3 - * MSG4 - * NDOP - * NETP - * NUOP - * SMTP - */ - /* ************************************************************************** */ /* Stuff below this line is not for public consumption */ @@ -2226,7 +2360,7 @@ int CtdlIPCSendListing(CtdlIPC *ipc, const char *listing) /* Partial read of file from server */ size_t CtdlIPCPartialRead(CtdlIPC *ipc, void **buf, size_t offset, size_t bytes, char *cret) { - register size_t len = 0; + size_t len = 0; char aaa[SIZ]; if (!buf) return 0; @@ -2259,7 +2393,7 @@ size_t CtdlIPCPartialRead(CtdlIPC *ipc, void **buf, size_t offset, size_t bytes, /* CLOS */ int CtdlIPCEndDownload(CtdlIPC *ipc, char *cret) { - register int ret; + int ret; if (!cret) return -2; if (!ipc->downloading) return -2; @@ -2273,7 +2407,7 @@ int CtdlIPCEndDownload(CtdlIPC *ipc, char *cret) /* MSGP */ int CtdlIPCSpecifyPreferredFormats(CtdlIPC *ipc, char *cret, char *formats) { - register int ret; + int ret; char cmd[SIZ]; snprintf(cmd, sizeof cmd, "MSGP %s", formats); @@ -2289,7 +2423,7 @@ int CtdlIPCReadDownload(CtdlIPC *ipc, void **buf, size_t bytes, size_t resume, (CtdlIPC*, unsigned long, unsigned long), char *cret) { - register size_t len; + size_t len; if (!cret) return -1; if (!buf) return -1; @@ -2300,7 +2434,7 @@ int CtdlIPCReadDownload(CtdlIPC *ipc, void **buf, size_t bytes, size_t resume, if (progress_gauge_callback) progress_gauge_callback(ipc, len, bytes); while (len < bytes) { - register size_t block; + size_t block; block = CtdlIPCPartialRead(ipc, buf, len, 4096, cret); if (block == 0) { @@ -2321,9 +2455,9 @@ int CtdlIPCHighSpeedReadDownload(CtdlIPC *ipc, void **buf, size_t bytes, (CtdlIPC*, unsigned long, unsigned long), char *cret) { - register size_t len; - register int calls; /* How many calls in the pipeline */ - register int i; /* iterator */ + size_t len; + int calls; /* How many calls in the pipeline */ + int i; /* iterator */ char aaa[4096]; if (!cret) return -1; @@ -2370,7 +2504,7 @@ int CtdlIPCHighSpeedReadDownload(CtdlIPC *ipc, void **buf, size_t bytes, /* UCLS */ int CtdlIPCEndUpload(CtdlIPC *ipc, int discard, char *cret) { - register int ret; + int ret; char cmd[8]; if (!cret) return -1; @@ -2389,8 +2523,8 @@ int CtdlIPCWriteUpload(CtdlIPC *ipc, FILE *uploadFP, (CtdlIPC*, unsigned long, unsigned long), char *cret) { - register int ret = -1; - register size_t offset = 0; + int ret = -1; + size_t offset = 0; size_t bytes; char aaa[SIZ]; char buf[4096]; @@ -2407,7 +2541,7 @@ int CtdlIPCWriteUpload(CtdlIPC *ipc, FILE *uploadFP, progress_gauge_callback(ipc, 0, bytes); while (offset < bytes) { - register size_t to_write; + size_t to_write; /* Read some data in */ to_write = fread(buf, 1, 4096, fd); @@ -2474,7 +2608,7 @@ int CtdlIPCGenericCommand(CtdlIPC *ipc, size_t *bytes_to_receive, char *proto_response) { char buf[SIZ]; - register int ret; + int ret; if (!command) return -2; if (!proto_response) return -2; @@ -3220,8 +3354,7 @@ CtdlIPC* CtdlIPC_new(int argc, char **argv, char *hostbuf, char *portbuf) } } - if ((!strcmp(cithost, "localhost")) - || (!strcmp(cithost, "127.0.0.1"))) { + if ((!strcmp(cithost, "localhost")) || (!strcmp(cithost, "127.0.0.1"))) { ipc->isLocal = 1; } @@ -3233,6 +3366,7 @@ CtdlIPC* CtdlIPC_new(int argc, char **argv, char *hostbuf, char *portbuf) else { snprintf(sockpath, sizeof sockpath, "%s/%s", citport, "citadel.socket"); } + printf("[%s]\n", sockpath); ipc->sock = uds_connectsock(&(ipc->isLocal), sockpath); if (ipc->sock == -1) { ifree(ipc); @@ -3245,6 +3379,7 @@ CtdlIPC* CtdlIPC_new(int argc, char **argv, char *hostbuf, char *portbuf) return ipc; } + printf("[%s:%s]\n", cithost, citport); ipc->sock = tcp_connectsock(cithost, citport); if (ipc->sock == -1) { ifree(ipc);