X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=webcit%2Fstatic.c;h=34a656ee2b6058ed3203c4fc5d70cf9ad816dd98;hb=c73091a2ae896b6be5aa94b911c1c89d76a85688;hp=a1a6251fc1be72b8a50e7b3779c482567ce90a1d;hpb=156d3eaa1b5d85cb70a79046bd874ab832df6ff1;p=citadel.git diff --git a/webcit/static.c b/webcit/static.c index a1a6251fc..34a656ee2 100644 --- a/webcit/static.c +++ b/webcit/static.c @@ -56,7 +56,7 @@ unsigned char OnePixelGif[37] = { }; -HashList *StaticFilemappings[4] = {NULL, NULL, NULL, NULL}; +HashList *StaticFilemappings[5] = {NULL, NULL, NULL, NULL, NULL}; /* { syslog(LOG_DEBUG, "Suspicious request. Ignoring."); @@ -163,13 +163,20 @@ int LoadStaticDir(const char *DirName, HashList *DirList, const char *RelDir) int d_namelen; int istoplevel; + if (IsEmptyStr(DirName)) + { + return 0; + } + filedir = opendir (DirName); - if (filedir == NULL) { + if (filedir == NULL) + { return 0; } d = (struct dirent *)malloc(offsetof(struct dirent, d_name) + PATH_MAX + 1); - if (d == NULL) { + if (d == NULL) + { closedir(filedir); return 0; } @@ -183,7 +190,7 @@ int LoadStaticDir(const char *DirName, HashList *DirList, const char *RelDir) (filedir_entry != NULL)) { #ifdef _DIRENT_HAVE_D_NAMLEN - d_namelen = filedir_entry->d_namelen; + d_namelen = filedir_entry->d_namlen; #else d_namelen = strlen(filedir_entry->d_name); @@ -334,7 +341,7 @@ void output_static_2(void) } void output_static_3(void) { - output_static_safe(StaticFilemappings[3]); + output_static_safe(StaticFilemappings[4]); } @@ -379,6 +386,7 @@ ServerStartModule_STATIC StaticFilemappings[1] = NewHash(1, NULL); StaticFilemappings[2] = NewHash(1, NULL); StaticFilemappings[3] = NewHash(1, NULL); + StaticFilemappings[4] = NewHash(1, NULL); } void ServerShutdownModule_STATIC @@ -388,6 +396,7 @@ ServerShutdownModule_STATIC DeleteHash(&StaticFilemappings[1]); DeleteHash(&StaticFilemappings[2]); DeleteHash(&StaticFilemappings[3]); + DeleteHash(&StaticFilemappings[4]); } @@ -399,6 +408,7 @@ InitModule_STATIC LoadStaticDir(static_dirs[1], StaticFilemappings[1], ""); LoadStaticDir(static_dirs[2], StaticFilemappings[2], ""); LoadStaticDir(static_dirs[3], StaticFilemappings[3], ""); + LoadStaticDir(static_dirs[4], StaticFilemappings[4], ""); WebcitAddUrlHandler(HKEY("robots.txt"), "", 0, robots_txt, ANONYMOUS|COOKIEUNNEEDED|ISSTATIC|LOGCHATTY); WebcitAddUrlHandler(HKEY("favicon.ico"), "", 0, output_flat_static, ANONYMOUS|COOKIEUNNEEDED|ISSTATIC|LOGCHATTY); @@ -406,4 +416,5 @@ InitModule_STATIC WebcitAddUrlHandler(HKEY("static.local"), "", 0, output_static_1, ANONYMOUS|COOKIEUNNEEDED|ISSTATIC|LOGCHATTY); WebcitAddUrlHandler(HKEY("tinymce"), "", 0, output_static_2, ANONYMOUS|COOKIEUNNEEDED|ISSTATIC|LOGCHATTY); WebcitAddUrlHandler(HKEY("tiny_mce"), "", 0, output_static_2, ANONYMOUS|COOKIEUNNEEDED|ISSTATIC|LOGCHATTY); + WebcitAddUrlHandler(HKEY("epiceditor"), "", 0, output_static_3, ANONYMOUS|COOKIEUNNEEDED|ISSTATIC|LOGCHATTY); }