#define DEFAULT_PORT "504"
#define TARGET "webcit01" /* Target for inline URL's */
#define HOUSEKEEPING 15 /* Housekeeping frequency */
-#define MIN_WORKER_THREADS 5
#define MAX_WORKER_THREADS 250
#define LISTEN_QUEUE_LENGTH 100 /* listen() backlog queue */
eCOPY,
eNONE
};
-const char *ReqStrs[eNONE];
+extern const char *ReqStrs[eNONE];
#define NO_AUTH 0
#define AUTH_COOKIE 1
StrBuf *ReadBuf; /* here we keep our stuff while reading linebuffered from the server. */
StrBuf *MigrateReadLineBuf; /* here we buffer legacy server read stuff */
const char *ReadPos; /* whats our read position in ReadBuf? */
- int chat_sock; /* Client socket to Citadel server - for chat */
+ int last_chat_seq; /* When in chat - last message seq# we saw */
time_t lastreq; /* Timestamp of most recent HTTP */
time_t last_pager_check; /* last time we polled for instant msgs */
ServInfo *serv_info; /* Information about the citserver we're connected to */
ParsedHttpHdrs *Hdr;
StrBuf *WBuf; /* Our output buffer */
StrBuf *HBuf; /* Our HeaderBuffer */
+ StrBuf *WFBuf; /* Wildfire error logging buffer */
HashList *vars; /* HTTP variable substitutions for this page */
StrBuf *trailing_javascript; /* extra javascript to be appended to page */
/* Preferences */
StrBuf *cs_inet_email; /* User's preferred Internet addr. */
- char reply_to[512]; /* reply-to address */
HashList *hash_prefs; /* WebCit preferences for this user */
StrBuf *DefaultCharset; /* Charset the user preferes */
int downloaded_prefs; /* Has the client download its prefs yet? */
int selected_language; /* Language selected by user */
int time_format_cache; /* which timeformat does our user like? */
-/* current room related */
-/* StrBuf *wc_roomname; / * Room we are currently in */
-/* unsigned room_flags; / * flags associated with the current room */
-/* unsigned room_flags2; / * flags associated with the current room */
-/* int wc_view; / * view for the current room */
-/* int wc_default_view; / * default view for the current room */
-/* int wc_is_trash; / * nonzero == current room is a Trash folder */
-/* int wc_floor; / * floor number of current room */
-/* int is_mailbox; / * the current room is a private mailbox */
-
folder CurRoom; /* information about our current room */
const folder *ThisRoom; /* if REST found a room, remember it here. */
/* next/previous room thingabob */
HashList *attachments; /* list of attachments for 'enter message' */
int upload_length; /* content length of http-uploaded data */
StrBuf *upload; /* pointer to http-uploaded data */
- char upload_filename[PATH_MAX]; /* filename of http-uploaded data */
+ StrBuf *upload_filename; /* filename of http-uploaded data */
char upload_content_type[256]; /* content type of http-uploaded data */
int new_mail; /* user has new mail waiting */
enum {
- S_SELECT,
S_SHUTDOWN,
+ S_SPAWNER,
MAX_SEMAPHORES
};
extern int setup_wizard;
extern char wizard_filename[];
extern int follow_xff;
-extern int num_threads;
+extern int num_threads_existing;
+extern int num_threads_executing;
void InitialiseSemaphores(void);
void begin_critical_section(int which_one);
int GetConnected(void);
void DeleteServInfo(ServInfo **FreeMe);
int uds_connectsock(char *);
-int tcp_connectsock(char *, char *);
+int tcp_connectsock(char *, int);
int serv_getln(char *strbuf, int bufsize);
int StrBuf_ServGetln(StrBuf *buf);
int GetServerStatus(StrBuf *Line, long* FullState);