add a blacklist of mimetypes which we won't gzip compress on the way out.
[citadel.git] / webcit / webcit.h
index 342571fcbce08e25e07ee3cf07690b8ec1955085..bab66fd0c59695d0ce6471cc7491d612a7853516 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1987-2012 by the citadel.org team
+ * Copyright (c) 1987-2013 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.
@@ -132,9 +132,9 @@ extern char *ssl_cipher_list;
 #define PORT_NUM               2000            /* port number to listen on */
 #define DEVELOPER_ID           0
 #define CLIENT_ID              4
-#define CLIENT_VERSION         813             /* This version of WebCit */
-#define MINIMUM_CIT_VERSION    813             /* Minimum required version of Citadel server */
-#define        LIBCITADEL_MIN          813             /* Minimum required version of libcitadel */
+#define CLIENT_VERSION         820             /* This version of WebCit */
+#define MINIMUM_CIT_VERSION    820             /* Minimum required version of Citadel server */
+#define        LIBCITADEL_MIN          820             /* Minimum required version of libcitadel */
 #define DEFAULT_HOST           "localhost"     /* Default Citadel server */
 #define DEFAULT_PORT           "504"
 #define TARGET                 "webcit01"      /* Window target for inline URL's */
@@ -260,11 +260,16 @@ typedef struct _disp_cal {
        icalproperty_status Status;
 } disp_cal;                                            
 
-typedef struct _IcalEnumMap {
+typedef struct _IcalKindEnumMap {
        const char *Name;
        long NameLen;
        icalproperty_kind map;
-} IcalEnumMap;
+} IcalKindEnumMap;
+typedef struct _IcalMethodEnumMap {
+       const char *Name;
+       long NameLen;
+        icalproperty_method map;
+} IcalMethodEnumMap;
 
 /*
  * Address book entry (keep it short and sweet, it's just a quickie lookup
@@ -294,7 +299,7 @@ typedef struct _addrbookent {
 #define DATEFMT_BRIEF 1
 #define DATEFMT_RAWDATE 2
 #define DATEFMT_LOCALEDATE 3
-void webcit_fmt_date(char *buf, size_t siz, time_t thetime, int Format);
+long webcit_fmt_date(char *buf, size_t siz, time_t thetime, int Format);
 
 
 typedef enum _RESTDispatchID {
@@ -445,7 +450,7 @@ struct wcsession {
        StrBuf *wc_password;                    /* Password of current user */
        StrBuf *httpauth_pass;                  /* only for GroupDAV sessions */
        int axlevel;                            /* this user's access level */
-       int is_aide;                            /* nonzero == this user is an Aide */
+       int is_aide;                            /* nonzero == this user is an Admin */
        int connected;                          /* nonzero == we are connected to Citadel */
        int logged_in;                          /* nonzero == we are logged in  */
        int need_regi;                          /* This user needs to register. */
@@ -490,6 +495,8 @@ struct wcsession {
 
        char last_chat_user[256];
 
+       StrBuf *IconTheme;                      /* Icontheme setting */
+
 /* Iconbar controls */
        int cache_max_folders;
        int cache_num_floors;
@@ -574,6 +581,7 @@ void InitialiseSemaphores(void);
 void begin_critical_section(int which_one);
 void end_critical_section(int which_one);
 
+void CheckGZipCompressionAllowed(const char *MimeType, long MLen);
 
 extern void do_404(void);
 void http_redirect(const char *);
@@ -675,7 +683,6 @@ void output_html(const char *, int, int, StrBuf *, StrBuf *);
 ssize_t write(int fd, const void *buf, size_t count);
 void cal_process_attachment(wc_mime_attachment *Mime);
 
-void address_book_popup(void);
 void begin_ajax_response(void);
 void end_ajax_response(void);
 
@@ -759,3 +766,5 @@ struct bltr {
 struct bltr blogview_learn_thread_references(long msgnum);
 void tmplput_blog_permalink(StrBuf *Target, WCTemplputParams *TP);
 void display_summary_page(void);
+
+HashList *GetValidDomainNames(StrBuf *Target, WCTemplputParams *TP);