// citadel_dirs.c : calculate pathnames for various files used in the Citadel system
//
-// Copyright (c) 1987-2021 by the citadel.org team
+// Copyright (c) 1987-2024 by the citadel.org team
//
// This program is open source software. Use, duplication, or disclosure
-// is subject to the terms of the GNU General Public License, version 3.
+// are subject to the terms of the GNU General Public License, version 3.
#include <unistd.h>
#include <stdio.h>
// Read and write the system configuration database
//
-// Copyright (c) 1987-2022 by the citadel.org team
+// Copyright (c) 1987-2024 by the citadel.org team
//
// This program is open source software. Use, duplication, or disclosure
-// is subject to the terms of the GNU General Public License, version 3.
+// are subject to the terms of the GNU General Public License, version 3.
#include "sysdep.h"
#include <stdlib.h>
#include <unistd.h>
#include <stdio.h>
#include <netdb.h>
-//#include <crypt.h>
#include <sys/utsname.h>
#include <libcitadel.h>
#include <assert.h>
-// Copyright (c) 1987-2016 by the citadel.org team
+// Copyright (c) 1987-2024 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.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
+// This program is open source software. Use, duplication, or disclosure
+// are subject to the terms of the GNU General Public License version 3.
#include "serv_extensions.h"
#include "citadel_dirs.h"
void CtdlSetConfigInt(char *key, int value);
void CtdlSetConfigLong(char *key, long value);
void CtdlDelConfig(char *key);
-
char *CtdlGetSysConfig(char *sysconfname);
void CtdlPutSysConfig(char *sysconfname, char *sysconfdata);
void validate_config(void);
//
-// Copyright (c) 1987-2022 by the citadel.org team
+// Copyright (c) 1987-2024 by the citadel.org team
//
// This program is open source software. Use, duplication, or disclosure
-// is subject to the terms of the GNU General Public License, version 3.
+// are subject to the terms of the GNU General Public License, version 3.
#include "sysdep.h"
#include <stdlib.h>
// makeuserkey() - convert a username into the format used as a database key
//
-// Copyright (c) 1987-2023 by the citadel.org team
+// Copyright (c) 1987-2024 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.
+// This program is open source software. Use, duplication, or disclosure
+// are subject to the terms of the GNU General Public License, version 3.
#include <stdlib.h>
#include <unistd.h>
}
key[keylen++] = 0;
}
-
-
syslog(LOG_DEBUG, "extensions: init %s", ctdl_module_init_syscmd());
syslog(LOG_DEBUG, "extensions: init %s", ctdl_module_init_serv_user());
syslog(LOG_DEBUG, "extensions: init %s", ctdl_module_init_expire());
-
- // FIXME
- // There is something in this module that fux0rs the new backend, causing it to deadlock.
syslog(LOG_DEBUG, "extensions: init %s", ctdl_module_init_fulltext());
-
syslog(LOG_DEBUG, "extensions: init %s", ctdl_module_init_image());
syslog(LOG_DEBUG, "extensions: init %s", ctdl_module_init_imap());
syslog(LOG_DEBUG, "extensions: init %s", ctdl_module_init_sieve());
//
// This program is open source software. Use, duplication, or disclosure
// is subject to the terms of the GNU General Public License, version 3.
-// The program is distributed without any warranty, expressed or implied.
//
// To add new modules to the server:
// 1. Write the module and place it in a server/modules/[module_name]/ directory
char *ctdl_module_init_wiki(void);
char *ctdl_module_init_xmpp(void);
char *ctdl_module_init_netconfig(void);
-#endif // MODULES_INIT_H
+#endif
// Server functions which perform operations on room objects.
//
-// Copyright (c) 1987-2023 by the citadel.org team
+// Copyright (c) 1987-2024 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.
retval = retval | UA_REPLYALLOWED;
}
- // If "collaborative deletion" is active for this room, any user who can post
- // is also allowed to delete
+ // If "collaborative deletion" is active for this room, any user who can post is also allowed to delete
if (roombuf->QRflags2 & QR2_COLLABDEL) {
if (retval & UA_POSTALLOWED) {
retval = retval | UA_DELETEALLOWED;
}
}
-
}
// Check to see if the user has forgotten this room
register int retval;
retval = CtdlGetRoom(qrbuf, room_name);
if (retval == 0) {
- //syslog(LOG_ERR, "\033[33mCtdlGetRoomLock(%p) requested\033[0m", pthread_self());
begin_critical_section(S_ROOMS);
- //syslog(LOG_ERR, "\033[31mCtdlGetRoomLock(%p) acquired\033[0m", pthread_self());
}
return(retval);
}
for (i=0; i<MAXFLOORS; ++i) {
floorcache[floor_num] = NULL;
}
- initialized = 1;
+ initialized = 1;
}
if (floorcache[floor_num] == NULL) {
fetch_new = 1;
memcpy(floorcache[floor_num], flbuf, sizeof(struct floor));
}
end_critical_section(S_FLOORCACHE);
-
- cdb_store(CDB_FLOORTAB, &floor_num, sizeof(int),
- flbuf, sizeof(struct floor));
+ cdb_store(CDB_FLOORTAB, &floor_num, sizeof(int), flbuf, sizeof(struct floor));
}