X-Git-Url: https://code.citadel.org/?p=citadel.git;a=blobdiff_plain;f=webcit%2Fwebserver.c;h=612ac5d086507408efc3119001df8b84115bc917;hp=12a2ba71c210ac5d23eb8f5c926a61078f319a3c;hb=8f0a07617656512ca31a029814d04fc254ca9d33;hpb=5a4d45f268174e4993e593b3c8200b5ea4f5aa35 diff --git a/webcit/webserver.c b/webcit/webserver.c index 12a2ba71c..612ac5d08 100644 --- a/webcit/webserver.c +++ b/webcit/webserver.c @@ -22,9 +22,9 @@ extern int verbosity; /* Logging level */ extern char static_icon_dir[PATH_MAX]; /* where should we find our mime icons */ int is_https = 0; /* Nonzero if I am an HTTPS service */ int follow_xff = 0; /* Follow X-Forwarded-For: header */ -int home_specified = 0; /* did the user specify a homedir? */ int DisableGzip = 0; struct redirector *redir = NULL; +char *default_landing_page = NULL; int num_redir = 0; extern pthread_mutex_t SessionListMutex; extern pthread_key_t MyConKey; @@ -36,21 +36,19 @@ extern void graceful_shutdown_watcher(int signum); extern void graceful_shutdown(int signum); extern void start_daemon(char *pid_file); extern void webcit_calc_dirs_n_files(int relh, const char *basedir, int home, char *webcitdir, char *relhome); - +extern void worker_entry(void); extern void drop_root(uid_t UID); -char socket_dir[PATH_MAX]; /* where to talk to our citadel server */ - +char socket_dir[PATH_MAX]; /* where to talk to our citadel server */ char *server_cookie = NULL; /* our Cookie connection to the client */ int http_port = PORT_NUM; /* Port to listen on */ -char *ctdlhost = DEFAULT_HOST; /* our name */ -char *ctdlport = DEFAULT_PORT; /* our Port */ -int setup_wizard = 0; /* should we run the setup wizard? \todo */ -char wizard_filename[PATH_MAX]; /* where's the setup wizard? */ +char *ctdlhost = DEFAULT_HOST; /* Host name or IP address of Citadel server */ +char *ctdlport = DEFAULT_PORT; /* Port number of Citadel server */ +int setup_wizard = 0; /* should we run the setup wizard? */ +char wizard_filename[PATH_MAX]; /* location of file containing the last webcit version against which we ran setup wizard */ int running_as_daemon = 0; /* should we deamonize on startup? */ - /* #define DBG_PRINNT_HOOKS_AT_START */ #ifdef DBG_PRINNT_HOOKS_AT_START extern HashList *HandlerHash; @@ -109,9 +107,11 @@ void load_redirs(char *filename) { } while (fgets(buf, sizeof buf, fp) != NULL) { + char *ch; + buf[strlen(buf)-1] = 0; - char *ch = strchr(buf, '#'); + ch = strchr(buf, '#'); if (ch) strcpy(ch, ""); striplt(buf); if (!IsEmptyStr(buf)) { @@ -129,6 +129,9 @@ void load_redirs(char *filename) { extract_token(redir[num_redir].urlpart, buf, 0, '|', sizeof(redir[num_redir].urlpart)); extract_token(redir[num_redir].redirect_to, buf, 1, '|', sizeof(redir[num_redir].redirect_to)); WebcitAddUrlHandler(redir[num_redir].urlpart, strlen(redir[num_redir].urlpart), "", 0, handle_redir, ANONYMOUS|COOKIEUNNEEDED|ISSTATIC); + if (!strcasecmp(redir[num_redir].urlpart, "home")) { + default_landing_page = redir[num_redir].redirect_to ; + } ++num_redir; } @@ -152,7 +155,6 @@ int main(int argc, char **argv) char ip_addr[256]="*"; int relh=0; int home=0; - int home_specified=0; char relhome[PATH_MAX]=""; char webcitdir[PATH_MAX] = DATADIR; char *pidfile = NULL; @@ -205,7 +207,6 @@ int main(int argc, char **argv) safestrncpy(relhome, relhome, sizeof relhome); } /* free(hdir); TODO: SHOULD WE DO THIS? */ - home_specified = 1; home=1; break; case 'd': @@ -433,7 +434,7 @@ int main(int argc, char **argv) /* Become a worker thread. More worker threads will be spawned as they are needed. */ worker_entry(); - ShutDownLibCitadel (); + ShutDownLibCitadel(); return 0; }