X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=webcit%2Fsysdep.c;h=1278b56259ea984b8bf3a6c4b5437bfe1544208f;hb=HEAD;hp=fb34a4cef9d04b7c748f286412cb5d539e17108e;hpb=599a7233096551d6b9c519c5622432957ad7f030;p=citadel.git diff --git a/webcit/sysdep.c b/webcit/sysdep.c index fb34a4cef..e5f928d52 100644 --- a/webcit/sysdep.c +++ b/webcit/sysdep.c @@ -1,7 +1,7 @@ /* * WebCit "system dependent" code. * - * Copyright (c) 1996-2012 by the citadel.org team + * Copyright (c) 1996-2021 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. @@ -25,18 +25,7 @@ #include #include #include - -#if TIME_WITH_SYS_TIME -# include -# include -#else -# if HAVE_SYS_TIME_H -# include -# else -# include -# endif -#endif - +#include #include #include #include @@ -59,7 +48,7 @@ #include #endif -#include "webserver.h" + #include "modules_init.h" #if HAVE_BACKTRACE #include @@ -75,25 +64,17 @@ extern void *context_loop(ParsedHttpHdrs *Hdr); extern void *housekeeping_loop(void); extern void do_housekeeping(void); -char ctdl_key_dir[PATH_MAX]=SSL_DIR; -char file_crpt_file_key[PATH_MAX]=""; -char file_crpt_file_csr[PATH_MAX]=""; -char file_crpt_file_cer[PATH_MAX]=""; char file_etc_mimelist[PATH_MAX]=""; -const char editor_absolut_dir[PATH_MAX]=EDITORDIR; /* nailed to what configure gives us. */ -const char markdown_editor_absolutedir[]=MARKDOWNEDITORDIR; - char etc_dir[PATH_MAX]; char static_dir[PATH_MAX]; /* calculated on startup */ char static_local_dir[PATH_MAX]; /* calculated on startup */ char static_icon_dir[PATH_MAX]; /* where should we find our mime icons? */ char *static_dirs[]={ /* needs same sort order as the web mapping */ - (char*)static_dir, /* our templates on disk */ - (char*)static_local_dir, /* user provided templates disk */ - (char*)editor_absolut_dir, /* the editor on disk */ - (char*)static_icon_dir, /* our icons... */ - (char*)markdown_editor_absolutedir + "./static", + "./static.local", + "./tiny_mce", + "./static/webcit_icons" }; int ExitPipe[2]; @@ -148,10 +129,9 @@ void LoadMimeBlacklist(void) void CheckGZipCompressionAllowed(const char *MimeType, long MLen) { void *v; - wcsession *WCC = WC; - if (WCC->Hdr->HR.gzip_ok) - WCC->Hdr->HR.gzip_ok = GetHash(GZMimeBlackList, MimeType, MLen, &v) == 0; + if (WC->Hdr->HR.gzip_ok) + WC->Hdr->HR.gzip_ok = GetHash(GZMimeBlackList, MimeType, MLen, &v) == 0; } void InitialiseSemaphores(void) @@ -192,16 +172,13 @@ void end_critical_section(int which_one) void ShutDownWebcit(void) { + + DeleteHash(&GZMimeBlackList); free_zone_directory (); icaltimezone_release_zone_tab (); icalmemory_free_ring (); ShutDownLibCitadel (); shutdown_modules (); -#ifdef HAVE_OPENSSL - if (is_https) { - shutdown_ssl(); - } -#endif } /* @@ -534,20 +511,6 @@ webcit_calc_dirs_n_files(int relh, const char *basedir, int home, char *webcitdi StripSlashes(static_icon_dir, 1); StripSlashes(static_local_dir, 1); - snprintf(file_crpt_file_key, - sizeof file_crpt_file_key, - "%s/citadel.key", - ctdl_key_dir); - snprintf(file_crpt_file_csr, - sizeof file_crpt_file_csr, - "%s/citadel.csr", - ctdl_key_dir); - snprintf(file_crpt_file_cer, - sizeof file_crpt_file_cer, - "%s/citadel.cer", - ctdl_key_dir); - - basedir=ETCDIR; COMPUTE_DIRECTORY(etc_dir); StripSlashes(etc_dir, 1); @@ -566,6 +529,9 @@ webcit_calc_dirs_n_files(int relh, const char *basedir, int home, char *webcitdi void drop_root(uid_t UID) { struct passwd pw, *pwp = NULL; +#ifdef HAVE_GETPWUID_R + char pwbuf[SIZ]; +#endif /* * Now that we've bound the sockets, change to the Citadel user id and its