libical, expat, and libsieve are now *required*.
authorArt Cancro <ajc@citadel.org>
Tue, 18 Mar 2008 19:15:08 +0000 (19:15 +0000)
committerArt Cancro <ajc@citadel.org>
Tue, 18 Mar 2008 19:15:08 +0000 (19:15 +0000)
If any are missing, configure will abort, telling the user what is missing and
pointing them to the relevant page on our web site.

32 files changed:
citadel/citadel.h
citadel/citserver.c
citadel/configure.ac
citadel/ical_dezonify.c
citadel/modules/calendar/serv_calendar.c
citadel/modules/jabber/serv_xmpp.c
citadel/modules/jabber/xmpp_messages.c
citadel/modules/jabber/xmpp_presence.c
citadel/modules/jabber/xmpp_query_namespace.c
citadel/modules/jabber/xmpp_queue.c
citadel/modules/jabber/xmpp_sasl_service.c
citadel/modules/managesieve/serv_managesieve.c
citadel/modules/rssclient/serv_rssclient.c
citadel/modules/sieve/serv_sieve.c
citadel/serv_sieve.h
citadel/user_ops.c
webcit/Doxyfile
webcit/availability.c
webcit/calendar.c
webcit/calendar_tools.c
webcit/calendar_view.c
webcit/configure.ac
webcit/event.c
webcit/ical_dezonify.c
webcit/iconbar.c
webcit/messages.c
webcit/serv_func.c
webcit/siteconfig.c
webcit/summary.c
webcit/webcit.c
webcit/webcit.h
webcit/webserver.c

index ff2406563aa8fc4b043843c1ec7aebe74416401d..d8d3270192d535e0489e63b70955f4b62f20ef98 100644 (file)
 #define CITADEL_H
 /* #include <dmalloc.h> uncomment if using dmalloc */
 
-/* Build Citadel with the calendar service only if the header *and*
- * library for libical are both present.
- */
-#ifdef HAVE_LIBICAL
-#ifdef HAVE_ICAL_H
-#define CITADEL_WITH_CALENDAR_SERVICE 1
-#endif
-#endif
-
 #include "sysdep.h"
 #include <limits.h>
 #include "sysconfig.h"
index efcaed9e48b3a84f25c621fdad02678815808984..6dba619936c800ab85004676a4f547c02d10d46d 100644 (file)
@@ -308,13 +308,7 @@ void cmd_info(void) {
        cprintf("%f\n", CtdlThreadWorkerAvg);
        cprintf("%d\n", CtdlThreadGetCount());
 
-       /* Does this server support Sieve mail filtering? */
-#ifdef HAVE_LIBSIEVE
-       cprintf("1\n");         /* yes */
-#else
-       cprintf("0\n");         /* no */
-#endif
-
+       cprintf("1\n");         /* yes, Sieve mail filtering is supported */
        cprintf("%d\n", config.c_enable_fulltext);
        
        cprintf("000\n");
index 8778a272d702080c11edaf77af39059c0cc46818..7746c99cb49da0b23282b518284f130868ad8962 100644 (file)
@@ -151,10 +151,7 @@ AC_ARG_WITH(ncurses, [  --without-ncurses       don't use ncurses])
 
 AC_ARG_WITH(with_zlib, [  --with-zlib             use zlib compression if present])
 AC_ARG_WITH(with_ldap, [  --with-ldap             use OpenLDAP client library])
-AC_ARG_WITH(with_libical, [  --with-libical          use libical calendaring library])
-AC_ARG_WITH(with_libsieve, [  --with-libsieve         use libsieve mail sorting library])
 AC_ARG_WITH(with_libdspam, [  --with-libdspam         use libdspam mail spam scanning library])
-AC_ARG_WITH(with_expat, [  --with-expat            use Expat XML parser])
 
 if test "x$with_db" != xno -a "x$with_db" != xyes -a "$with_db"; then
        db_dir="$with_db"
@@ -589,20 +586,6 @@ fi
 
 
 
-dnl Checks for the libsieve mailbox sorting library.
-if test "x$with_libsieve" != xno ; then
-       AC_CHECK_HEADERS(sieve2.h,
-               [AC_CHECK_LIB(sieve, sieve2_license,
-                       [ok_libsieve=yes],,
-       )])
-fi
-
-if test "x$ok_libsieve" = xyes ; then
-       SERVER_LIBS="-lsieve $SERVER_LIBS"
-       AC_DEFINE(HAVE_LIBSIEVE, [], [define this if you have the libsieve mailbox filtering library available])
-fi
-
-
 dnl Checks for the libdspam mail spam scanning library.
 if test "x$with_libdspam" != xno ; then
        AC_CHECK_HEADERS(dspam/libdspam.h,
@@ -618,56 +601,55 @@ fi
 
 
 
-
 dnl Checks for the Expat XML parser.
-if test "x$with_expat" != xno ; then
-       AC_CHECK_HEADERS(expat.h,
-               [AC_CHECK_LIB(expat, XML_ParserCreateNS,
-                       [ok_expat=yes],,
-       )])
-fi
-
-if test "x$ok_expat" = xyes ; then
-       SERVER_LIBS="-lexpat $SERVER_LIBS"
-       AC_DEFINE(HAVE_EXPAT, [], [define this if you have the Expat XML parser available])
-fi
-
-
+AC_CHECK_HEADER(expat.h,
+       [AC_CHECK_LIB(expat, XML_ParserCreateNS,
+               [
+                       SERVER_LIBS="-lexpat $SERVER_LIBS"
+               ],
+               [
+                       AC_MSG_ERROR(The Expat XML parser was not found and is required.  More info: http://www.citadel.org/doku.php/installation:start)
+               ]
+       ,
+       )],
+       [
+               AC_MSG_ERROR(expat.h was not found and is required.  More info: http://www.citadel.org/doku.php/installation:start)
+       ]
+)
 
 
-dnl Checks for the libical calendaring library.
-if test "x$with_libical" != xno ; then
-       AC_CHECK_HEADERS(ical.h,
-               [AC_CHECK_LIB(ical, icalcomponent_new,
-                       [ok_libical=yes],,
-       )])
-fi
+dnl Checks for the libical iCalendar library.
+AC_CHECK_HEADER(ical.h,
+       [AC_CHECK_LIB(ical, icalcomponent_new,
+               [
+                       SERVER_LIBS="-lical $SERVER_LIBS"
+               ],
+               [
+                       AC_MSG_ERROR(libical was not found and is required.  More info: http://www.citadel.org/doku.php/installation:start)
+               ]
+       ,
+       )],
+       [
+               AC_MSG_ERROR(ical.h was not found and is required.  More info: http://www.citadel.org/doku.php/installation:start)
+       ]
+)
 
-if test "x$ok_libical" = xyes ; then
 
-       AC_TRY_RUN(
+dnl Checks for the libsieve mailbox sorting library.
+AC_CHECK_HEADER(sieve2.h,
+       [AC_CHECK_LIB(sieve, sieve2_license,
                [
-#include <ical.h>
-main() {
-        int major, minor, v;
-        sscanf(ICAL_VERSION, "%d.%d", &major, &minor);
-        v = 100*major + minor;
-        printf("libical version: %i\n", v);
-        if (v >= 24) {
-                printf("This version is ok.\n");
-               return(0);
-       }
-       printf("libical 0.24 or newer required.\n");
-       printf("Citadel will be built without calendar support.\n");
-       return(1);
-}
-               ], 
+                       SERVER_LIBS="-lsieve $SERVER_LIBS"
+               ],
                [
-                       SERVER_LIBS="-lical $SERVER_LIBS"
-                       AC_DEFINE(HAVE_LIBICAL, [], [define this if you have the libical calendaring library available])
+                       AC_MSG_ERROR(libsieve was not found and is required.  More info: http://www.citadel.org/doku.php/installation:start)
                ]
-       )
-fi
+       ,
+       )],
+       [
+               AC_MSG_ERROR(sieve2.h was not found and is required.  More info: http://www.citadel.org/doku.php/installation:start)
+       ]
+)
 
 
 
@@ -899,11 +881,8 @@ fi
 
 echo ------------------------------------------------------------------------
 echo 'zlib compression:                ' $ok_zlib
-echo 'Calendar support:                ' $ok_libical
 echo 'LDAP support:                    ' $ok_ldap
-echo 'Sieve mailbox filtering support: ' $ok_libsieve
 echo 'DSpam Scanning support:          ' $ok_libdspam
-echo 'Expat XML parser present:        ' $ok_expat
 echo 
 echo 'Note: if you are not using Linux, make sure you are using GNU make'
 echo '(gmake) to compile Citadel.'
index 70a28600d3e8e33f7061a7e6ed3be032ebd416a8..d3c7ed5d893e5282b34eb3d6b6086bda77f02683 100644 (file)
 #include <stdio.h>
 #include <string.h>
 #include <strings.h>
+#include <ical.h>
 #include "citadel.h"
 #include "server.h"
 #include "citserver.h"
 #include "sysdep_decls.h"
 #include "support.h"
 #include "config.h"
-
-#ifdef CITADEL_WITH_CALENDAR_SERVICE
-#include <ical.h>
 #include "ical_dezonify.h"
 
 
@@ -228,5 +226,3 @@ void ical_dezonify(icalcomponent *cal) {
 
        /* lprintf(9, "ical_dezonify() completed\n"); */
 }
-
-#endif /* CITADEL_WITH_CALENDAR_SERVICE */
index 4d0144ba2dfa71a6f4052f7bc12d9d5d04aec351..7e0ed46ab22734533ed81baa9837ab9254833d86 100644 (file)
@@ -19,6 +19,7 @@
 #ifdef HAVE_STRINGS_H
 #include <strings.h>
 #endif
+#include <ical.h>
 #include <libcitadel.h>
 #include "citadel.h"
 #include "server.h"
 #include "serv_calendar.h"
 #include "euidindex.h"
 #include "ctdl_module.h"
-
-#ifdef CITADEL_WITH_CALENDAR_SERVICE
-
-#include <ical.h>
 #include "ical_dezonify.h"
 
 
@@ -2173,8 +2170,6 @@ void serv_calendar_destroy(void)
        icaltimezone_free_builtin_timezones();
 }
 
-#endif /* CITADEL_WITH_CALENDAR_SERVICE */
-
 /*
  * Register this module with the Citadel server.
  */
@@ -2182,7 +2177,6 @@ CTDL_MODULE_INIT(calendar)
 {
        if (!threading)
        {
-#ifdef CITADEL_WITH_CALENDAR_SERVICE
                CtdlRegisterMessageHook(ical_obj_beforesave, EVT_BEFORESAVE);
                CtdlRegisterMessageHook(ical_obj_aftersave, EVT_AFTERSAVE);
                CtdlRegisterSessionHook(ical_create_room, EVT_LOGIN);
@@ -2192,7 +2186,6 @@ CTDL_MODULE_INIT(calendar)
                CtdlRegisterFixedOutputHook("text/calendar", ical_fixed_output);
                CtdlRegisterFixedOutputHook("application/ics", ical_fixed_output);
                CtdlRegisterCleanupHook(serv_calendar_destroy);
-#endif
        }
        
        /* return our Subversion id for the Log */
index 6fa8a66b9172ee5105979dd8aa045d043c6a47b8..3b448fbf491eec93ea7b9e8755ef9ca6a664ddcb 100644 (file)
@@ -33,6 +33,7 @@
 #include <limits.h>
 #include <ctype.h>
 #include <libcitadel.h>
+#include <expat.h>
 #include "citadel.h"
 #include "server.h"
 #include "citserver.h"
@@ -46,9 +47,6 @@
 #include "internet_addressing.h"
 #include "md5.h"
 #include "ctdl_module.h"
-
-#ifdef HAVE_EXPAT
-#include <expat.h>
 #include "serv_xmpp.h"
 
 struct xmpp_event *xmpp_queue = NULL;
@@ -475,12 +473,9 @@ void xmpp_logout_hook(void) {
 
 const char *CitadelServiceXMPP="XMPP";
 
-#endif /* HAVE_EXPAT */
-
 CTDL_MODULE_INIT(jabber)
 {
        if (!threading) {
-#ifdef HAVE_EXPAT
                CtdlRegisterServiceHook(config.c_xmpp_c2s_port,
                                        NULL,
                                        xmpp_greeting,
@@ -492,9 +487,6 @@ CTDL_MODULE_INIT(jabber)
                 CtdlRegisterSessionHook(xmpp_logout_hook, EVT_LOGOUT);
                 CtdlRegisterSessionHook(xmpp_login_hook, EVT_UNSTEALTH);
                 CtdlRegisterSessionHook(xmpp_logout_hook, EVT_STEALTH);
-       #else
-               lprintf(CTDL_INFO, "This server is missing the Expat XML parser.  Jabber service will be disabled.\n");
-#endif
        }
 
        /* return our Subversion id for the Log */
index e579c7cfe602b35853208d78d02931ffd7337790..5cd540c32ae535b29fa88d6023b50a5546f4e97c 100644 (file)
@@ -33,6 +33,7 @@
 #include <string.h>
 #include <limits.h>
 #include <ctype.h>
+#include <expat.h>
 #include <libcitadel.h>
 #include "citadel.h"
 #include "server.h"
@@ -42,9 +43,6 @@
 #include "internet_addressing.h"
 #include "md5.h"
 #include "ctdl_module.h"
-
-#ifdef HAVE_EXPAT
-#include <expat.h>
 #include "serv_xmpp.h"
 
 
@@ -107,6 +105,3 @@ void jabber_send_message(char *message_to, char *message_body) {
        XMPP->message_to[0] = 0;
 }
 
-
-
-#endif /* HAVE_EXPAT */
index 0855cc89892c4b59e40de39ba301debb1eefa24a..e3d9cc4665d09b789c9cb89f8a94e9b8481036a6 100644 (file)
@@ -33,6 +33,7 @@
 #include <string.h>
 #include <limits.h>
 #include <ctype.h>
+#include <expat.h>
 #include <libcitadel.h>
 #include "citadel.h"
 #include "server.h"
@@ -42,9 +43,6 @@
 #include "internet_addressing.h"
 #include "md5.h"
 #include "ctdl_module.h"
-
-#ifdef HAVE_EXPAT
-#include <expat.h>
 #include "serv_xmpp.h"
 
 
@@ -149,6 +147,3 @@ void xmpp_presence_notify(char *presence_jid, int event_type) {
        }
        free(cptr);
 }
-
-
-#endif /* HAVE_EXPAT */
index 98f62285a1216989c3090a6e7ffcaee99f3e87a9..afd80ee71bfb835b2707b07be2daf8646395b2d1 100644 (file)
@@ -33,6 +33,7 @@
 #include <string.h>
 #include <limits.h>
 #include <ctype.h>
+#include <expat.h>
 #include <libcitadel.h>
 #include "citadel.h"
 #include "server.h"
@@ -42,9 +43,6 @@
 #include "internet_addressing.h"
 #include "md5.h"
 #include "ctdl_module.h"
-
-#ifdef HAVE_EXPAT
-#include <expat.h>
 #include "serv_xmpp.h"
 
 
@@ -138,5 +136,3 @@ void xmpp_query_namespace(char *iq_id, char *iq_from, char *iq_to, char *query_x
        cprintf("</iq>");
 
 }
-
-#endif /* HAVE_EXPAT */
index 2c97b8431a31fa1f51f966afa123e1adcf25ab72..f11d101e710f38faf0d33985e79996c3833b8159 100644 (file)
@@ -33,6 +33,7 @@
 #include <string.h>
 #include <limits.h>
 #include <ctype.h>
+#include <expat.h>
 #include <libcitadel.h>
 #include "citadel.h"
 #include "server.h"
@@ -42,9 +43,6 @@
 #include "internet_addressing.h"
 #include "md5.h"
 #include "ctdl_module.h"
-
-#ifdef HAVE_EXPAT
-#include <expat.h>
 #include "serv_xmpp.h"
 
 int queue_event_seq = 0;
@@ -137,6 +135,3 @@ void xmpp_process_events(void) {
 
        XMPP->last_event_processed = highest_event;
 }
-
-
-#endif /* HAVE_EXPAT */
index f444ba9b9da232c5cdd87a6ef6444a2f3b333088..8a32aee22058d8a6bf1661fd96a79a991d57ef7b 100644 (file)
@@ -35,6 +35,7 @@
 #include <string.h>
 #include <limits.h>
 #include <ctype.h>
+#include <expat.h>
 #include <libcitadel.h>
 #include "citadel.h"
 #include "server.h"
@@ -45,9 +46,6 @@
 #include "internet_addressing.h"
 #include "md5.h"
 #include "ctdl_module.h"
-
-#ifdef HAVE_EXPAT
-#include <expat.h>
 #include "serv_xmpp.h"
 
 
@@ -76,13 +74,8 @@ int xmpp_auth_plain(char *authstring)
         * do not allow spaces so we can tell the user to substitute underscores if their
         * login name contains spaces.
         */
-       while (ptr=strstr(ident, "_")) {
-               *ptr = ' ';
-       }
-
-       while (ptr=strstr(user, "_")) {
-               *ptr = ' ';
-       }
+       convert_spaces_to_underscores(ident);
+       convert_spaces_to_underscores(user);
 
        /* Now attempt authentication */
 
@@ -164,7 +157,3 @@ void jabber_non_sasl_authenticate(char *iq_id, char *username, char *password, c
                "</iq>"
        );
 }
-
-
-
-#endif /* HAVE_EXPAT */
index cf33b0682f0ebb2211e8c45be06318fdb4e49511..1662048d3edffe57b4f64432b43ea14c06cfcda2 100644 (file)
 
 
 #include "ctdl_module.h"
-
-
-
-#ifdef HAVE_LIBSIEVE
-
 #include "serv_sieve.h"
 
 
@@ -589,13 +584,11 @@ void managesieve_cleanup_function(void) {
 
 
 
-#endif /* HAVE_LIBSIEVE */
 const char* CitadelServiceManageSieve = "ManageSieve";
 CTDL_MODULE_INIT(managesieve)
 {
        if (!threading)
        {
-#ifdef HAVE_LIBSIEVE
                CtdlRegisterServiceHook(config.c_managesieve_port,
                                        NULL,
                                        managesieve_greeting,
@@ -603,12 +596,6 @@ CTDL_MODULE_INIT(managesieve)
                                        NULL, 
                                        CitadelServiceManageSieve);
                CtdlRegisterSessionHook(managesieve_cleanup_function, EVT_STOP);
-
-#else  /* HAVE_LIBSIEVE */
-
-               lprintf(CTDL_INFO, "This server is missing libsieve.  Managesieve protocol is disabled..\n");
-
-#endif /* HAVE_LIBSIEVE */
        }
        
        /* return our Subversion id for the Log */
index 78afc9b875a3a39ab50f5955021aa57ed8c56af7..465d02348716827264d577aeae48f98b30ff023a 100644 (file)
@@ -25,6 +25,7 @@
 #include <errno.h>
 #include <sys/types.h>
 #include <sys/stat.h>
+#include <expat.h>
 #include <libcitadel.h>
 #include "citadel.h"
 #include "server.h"
@@ -41,9 +42,6 @@
 #include "citadel_dirs.h"
 #include "md5.h"
 
-#ifdef HAVE_EXPAT
-#include <expat.h>
-
 
 struct rssnetcfg {
        struct rssnetcfg *next;
@@ -629,19 +627,12 @@ void *rssclient_scan(void *args) {
 }
 
 
-#endif /* HAVE_EXPAT */
-
 CTDL_MODULE_INIT(rssclient)
 {
        if (threading)
        {
-#ifdef HAVE_EXPAT
                CtdlThreadSchedule ("RSS Client", CTDLTHREAD_BIGSTACK, rssclient_scan, NULL, 0);
-#else
-               lprintf(CTDL_INFO, "This server is missing the Expat XML parser.  RSS client will be disabled.\n");
-#endif
        }
-       
        /* return our Subversion id for the Log */
         return "$Id: serv_rssclient.c 5652 2007-10-29 20:14:48Z ajc $";
 }
index ce466d48aaf0ab798542163fe448777fd9bb2466..726d58d504fafd552fbee56178e427a91782993e 100644 (file)
 #include "database.h"
 #include "msgbase.h"
 #include "internet_addressing.h"
-
-
 #include "ctdl_module.h"
-
-
-#ifdef HAVE_LIBSIEVE
-
 #include "serv_sieve.h"
 
 struct RoomProcList *sieve_list = NULL;
@@ -1290,26 +1284,15 @@ int serv_sieve_room(struct ctdlroom *room)
        return 0;
 }
 
-#endif /* HAVE_LIBSIEVE */
-
 CTDL_MODULE_INIT(sieve)
 {
        if (!threading)
        {
-#ifdef HAVE_LIBSIEVE
 
                ctdl_sieve_init();
                CtdlRegisterProtoHook(cmd_msiv, "MSIV", "Manage Sieve scripts");
-
                CtdlRegisterRoomHook(serv_sieve_room);
-
                CtdlRegisterSessionHook(perform_sieve_processing, EVT_HOUSE);
-
-#else  /* HAVE_LIBSIEVE */
-
-               lprintf(CTDL_INFO, "This server is missing libsieve.  Mailbox filtering will be disabled.\n");
-
-#endif /* HAVE_LIBSIEVE */
        }
        
         /* return our Subversion id for the Log */
index 168a8574f84f9081ab1975981cdb936c58bd8cf4..516b8342054e933307b8947092f317716157e733 100644 (file)
@@ -1,10 +1,8 @@
 /*
- * $Id$
+ * $Id$
  */
 
 
-#ifdef HAVE_LIBSIEVE
-
 #include <sieve2.h>
 #include <sieve2_error.h>
 
@@ -68,5 +66,3 @@ char *msiv_getscript(struct sdm_userdata *u, char *script_name);
 int msiv_deletescript(struct sdm_userdata *u, char *script_name);
 void msiv_putscript(struct sdm_userdata *u, char *script_name, char *script_content);
 extern char *msiv_extensions;
-
-#endif /* HAVE_LIBSIEVE */
index 85f21d69503095bd661dbd34a46562fac5d06afc..8b2b9d19a0980beb8dabdabd548ed4a696ceaabd 100644 (file)
@@ -556,8 +556,6 @@ void cmd_user(char *cmdbuf)
  */
 void session_startup(void)
 {
-       int i = 0;
-
        lprintf(CTDL_NOTICE, "<%s> logged in\n", CC->curr_user);
 
        lgetuser(&CC->user, CC->curr_user);
index 65f044bb0d9dbacc32feeed370511e8b194fb10b..788ee0f58dff8a4a8051eaf435aa1ffd2d139d8e 100644 (file)
@@ -1006,7 +1006,7 @@ INCLUDE_FILE_PATTERNS  =
 # undefined via #undef or recursively expanded use the := operator 
 # instead of the = operator.
 
-PREDEFINED             =  WEBCIT_WITH_CALENDAR_SERVICE HAVE_OPENSSL ENABLE_NLS HAVE_ICONV HAVE_ZLIB
+PREDEFINED             =  HAVE_OPENSSL ENABLE_NLS HAVE_ICONV HAVE_ZLIB
 
 
 # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then 
index bce91e02f8e39b62337e690f236b93464b36c4bd..249859128d6aed57343b39c146a56950687e17ac 100644 (file)
@@ -1,23 +1,13 @@
 /*
  * $Id$
- */
-/**
  *
- * \defgroup CalendarAv  Check attendee availability for scheduling a meeting.
- * \ingroup Calendaring
  */
-/*@{*/
 
 
 #include "webcit.h"
 #include "webserver.h"
 
-/** only available if we have calendaring */
-#ifdef WEBCIT_WITH_CALENDAR_SERVICE
-
-
-
-/**
+/*
  * \brief verify users avaiability
  * Utility function to fetch a VFREEBUSY type of thing for
  * any specified user.
@@ -261,7 +251,3 @@ void check_attendee_availability(icalcomponent *vevent) {
 
 }
 
-
-#endif /* WEBCIT_WITH_CALENDAR_SERVICE */
-
-/** @} */
index 3a78ac3d880e8b910afd5748c36ee5681bc048a6..bb1166d8babbed331965383e3fbc42dfe8a63526 100644 (file)
@@ -1,68 +1,14 @@
 /*
  * $Id$
+ *
+ * Functions which handle calendar objects and their processing/display.
  */
-/**
- * \defgroup calav Functions which handle calendar objects and their processing/display.
- * \ingroup Calendaring
- */
-/* @{ */
 
 #include "webcit.h"
 #include "webserver.h"
 
-#ifndef WEBCIT_WITH_CALENDAR_SERVICE
-
-/**
- * \brief get around non existing types
- * Handler stubs for builds with no calendar library available
- * \param part_source dummy pointer to the source
- * \param msgnum number of the mesage in the db
- * \param cal_partnum number of the calendar part
- */
-void cal_process_attachment(char *part_source, long msgnum, char *cal_partnum) {
-
-       wprintf(_("<I>This message contains calendaring/scheduling information,"
-               " but support for calendars is not available on this "
-               "particular system.  Please ask your system administrator to "
-               "install a new version of the Citadel web service with "
-               "calendaring enabled.</I><br />\n")
-       );
-
-}
 
-/**
- * \brief say we can't display calendar items
- * \param msgnum number of the mesage in our db
- */
-void display_calendar(long msgnum) {
-       wprintf(_("<i>"
-               "Cannot display calendar item.  You are seeing this error "
-               "because your WebCit service has not been installed with "
-               "calendar support.  Please contact your system administrator."
-               "</i><br />\n"));
-}
-
-/**
- * \brief say we can't display task items
- * \param msgnum number of the mesage in our db
- */
-void display_task(long msgnum) {
-       wprintf(_("<i>"
-               "Cannot display to-do item.  You are seeing this error "
-               "because your WebCit service has not been installed with "
-               "calendar support.  Please contact your system administrator."
-               "</i><br />\n"));
-}
-/** ok, we have calendaring available */
-#else /* WEBCIT_WITH_CALENDAR_SERVICE */
-
-
-/******   End of handler stubs.  Everything below this line is real.   ******/
-
-
-
-
-/**
+/*
  * \brief Process a calendar object
  * ...at this point it's already been deserialized by cal_process_attachment()
  * \param cal the calendar object
@@ -983,6 +929,3 @@ void do_freebusy(char *req) {
 }
 
 
-
-#endif /* WEBCIT_WITH_CALENDAR_SERVICE */
-
index edb17de924caf8ce698331de81e47f5e36331894..17862aa6c27cc29c2a6130c154e71ab62733bab1 100644 (file)
@@ -1,11 +1,9 @@
 /*
  * $Id$
+ *
+ * Miscellaneous functions which handle calendar components.
  */
-/**
- * \defgroup MiscCal Miscellaneous functions which handle calendar components.
- * \ingroup Calendaring
- */
-/*@{*/
+
 #include "webcit.h"
 #include "webserver.h"
 
@@ -17,9 +15,7 @@ char *hourname[] = {
        "7pm", "8pm", "9pm", "10pm", "11pm"
 };
 
-#ifdef WEBCIT_WITH_CALENDAR_SERVICE
-
-/**
+/*
  * \brief display and edit date/time
  * The display_icaltimetype_as_webform() and icaltime_from_webform() functions
  * handle the display and editing of date/time properties in web pages.  The
@@ -294,7 +290,3 @@ icalcomponent *ical_encapsulate_subcomponent(icalcomponent *subcomp) {
 }
 
 
-
-
-#endif
-/*@}*/
index 699d83e73835d5099a9fc7c88aec0924af37f9fc..2f8421dff52417dcbc8d3f21bb80dc5272791a54 100644 (file)
@@ -1,18 +1,12 @@
- /*
+/*
  * $Id$
+ *
+ * Handles the HTML display of calendar items.
  */
-/**
- * \defgroup CalHtmlHandles Handles the HTML display of calendar items.
- * \ingroup Calendaring
- */
-/*@{*/
+
 #include "webcit.h"
 #include "webserver.h"
 
-#ifdef WEBCIT_WITH_CALENDAR_SERVICE
-
-/****************************************************************************/
-
 
 void embeddable_mini_calendar(int year, int month, char *urlformat)
 {
@@ -1507,26 +1501,3 @@ void do_tasks_view(void) {
 
 }
 
-#else  /* WEBCIT_WITH_CALENDAR_SERVICE */
-
-/**\brief stub for non-libical builds */
-void do_calendar_view(void) {
-       wprintf("<center><i>");
-       wprintf(_("The calendar view is not available."));
-       wprintf("</i></center><br />\n");
-}
-
-/**\brief stub for non-libical builds */
-void do_tasks_view(void) {     
-       wprintf("<center><I>");
-       wprintf(_("The tasks view is not available."));
-       wprintf("</i></center><br />\n");
-}
-
-/**\brief stub for non-libical builds */
-void ajax_mini_calendar(void) {
-}
-
-#endif /* WEBCIT_WITH_CALENDAR_SERVICE */
-
-/** @} */
index 068d9f0fb221686fa57738140fe65df0af594686..00bc0c932ed452bc66b9ec9f0b805e68aa390a8e 100644 (file)
@@ -23,7 +23,6 @@ else
        ssl_dir="$prefix/keys"
 fi
 
-AC_ARG_WITH(with_libical, [  --with-libical          use libical calendaring library])
 AC_ARG_WITH(with_zlib,    [  --with-zlib             use zlib compression if present])
 AC_ARG_WITH(ssl,
        [  --with-ssl=PATH         Specify path to OpenSSL installation ],
@@ -176,47 +175,22 @@ AC_CHECK_HEADER(libcitadel.h,
 )
 
 
-webcit_with_calendar_service=no
-dnl Checks for the libical calendaring library.
-if test "x$with_libical" != xno ; then
-        AC_CHECK_HEADERS(ical.h,
-                [AC_CHECK_LIB(ical, icalcomponent_new,
-                        [ok_libical=yes],,
-        )])
-fi
-
-if test "x$ok_libical" = xyes ; then
-
-       AC_TRY_RUN(
-               [
-#include <ical.h>
-main() {
-        int major, minor, v;
-        sscanf(ICAL_VERSION, "%d.%d", &major, &minor);
-        v = 100*major + minor;
-        printf("libical version: %i\n", v);
-        if (v >= 30) {
-                printf("This version is ok.\n");
-               return(0);
-       }
-       printf("libical 0.30 or newer required.\n");
-       printf("Citadel will be built without calendar support.\n");
-       return(1);
-}
-               ], 
+dnl Checks for the libical iCalendar library.
+AC_CHECK_HEADER(ical.h,
+       [AC_CHECK_LIB(ical, icalcomponent_new,
                [
                        LIBS="-lical $LIBS"
-                       AC_DEFINE(HAVE_LIBICAL,[],[whether we have libical available])
-                       webcit_with_calendar_service=yes
+               ],
+               [
+                       AC_MSG_ERROR(libical was not found and is required.  More info: http://www.citadel.org/doku.php/installation:start)
                ]
-       )
-fi
-ok_libical=$webcit_with_calendar_service
-
+       ,
+       )],
+       [
+               AC_MSG_ERROR(ical.h was not found and is required.  More info: http://www.citadel.org/doku.php/installation:start)
+       ]
+)
 
-if test "$webcit_with_calendar_service" == "yes"; then
-                       AC_DEFINE(WEBCIT_WITH_CALENDAR_SERVICE,[],[whether we can do with calendar.])
-fi
 
 dnl Checks for the zlib compression library.
 if test "x$with_zlib" != xno ; then
@@ -483,7 +457,6 @@ AC_OUTPUT(Makefile po/Makefile )
 
 echo ------------------------------------------------------------------------
 echo 'zlib compression:                ' $ok_zlib
-echo 'Calendar support:                ' $ok_libical
 echo 'Character set conversion support:' $ok_iconv
 echo 'National language support:       ' $ok_nls
 echo 
index 000e070f758ea661ae47143d5068973f3ce366cb..c9deb38b69ebb1da80173188df78c99ed40967f4 100644 (file)
@@ -1,18 +1,14 @@
 /*
  * $Id$
+ *
+ * Editing calendar events.
  */
-/**
- * \defgroup EditCal Editing calendar events.
- * \ingroup Calendaring
- */
-/*@{*/
+
 #include "webcit.h"
 #include "webserver.h"
 
 
-#ifdef WEBCIT_WITH_CALENDAR_SERVICE
-
-/**
+/*
  * \brief Display an event by itself (for editing)
  * \param supplied_vevent the event to edit
  * \param msgnum reference on the citserver
@@ -747,6 +743,3 @@ STARTOVER:  for (attendee = icalcomponent_get_first_property(vevent, ICAL_ATTENDE
 }
 
 
-#endif /* WEBCIT_WITH_CALENDAR_SERVICE */
-
-/*@}*/
index 2b9d6caf72265d916b59f211287a9e3cc550fcdf..b3fdab5be598ebcb80821803355fcadfce3957b1 100644 (file)
@@ -14,9 +14,6 @@
 #include "webserver.h"
 
 
-#ifdef WEBCIT_WITH_CALENDAR_SERVICE
-
-
 /*
  * Figure out which time zone needs to be used for timestamps that are
  * not UTC and do not have a time zone specified.
@@ -212,5 +209,3 @@ void ical_dezonify(icalcomponent *cal) {
        lprintf(9, "ical_dezonify() completed\n");
 }
 
-
-#endif /* WEBCIT_WITH_CALENDAR_SERVICE */
index c05bce888b8d9c78e5b93d6b0088516cf70326ce..6dd17c810ff13d0a7289bb9f954d7b2bb588d206 100644 (file)
@@ -1,11 +1,9 @@
 /*
  * $Id$
+ *
+ * Displays and customizes the iconbar.
  */
-/**
- * \defgroup IconBar Displays and customizes the iconbar.
- * \ingroup MenuInfrastructure
- */
-/*@{*/
+
 #include "webcit.h"
 
 
@@ -602,7 +600,6 @@ void display_customize_iconbar(void) {
                _("Your personal notes")
        );
 
-#ifdef WEBCIT_WITH_CALENDAR_SERVICE
        bar = 1 - bar;
        wprintf("<tr class=\"%s\"><td>"
                "<input type=\"radio\" name=\"ib_calendar\" value=\"yes\" %s> %s &nbsp;&nbsp;&nbsp;"
@@ -636,7 +633,6 @@ void display_customize_iconbar(void) {
                _("Tasks"),
                _("A shortcut to your personal task list")
        );
-#endif /* WEBCIT_WITH_CALENDAR_SERVICE */
 
        bar = 1 - bar;
        wprintf("<tr class=\"%s\"><td>"
index 4a5bd704cc2d180a4dd07fea1ec0b952fcd18cba..d12d54e99130a81e1b19abf767c3ad7e61df04e7 100644 (file)
@@ -1,12 +1,10 @@
 /*
  * $Id$
- */
-/**
- * \defgroup MsgDisp Functions which deal with the fetching and displaying of messages.
- * \ingroup WebcitDisplayItems
+ *
+ * Functions which deal with the fetching and displaying of messages.
  *
  */
-/*@{*/
+
 #include "webcit.h"
 #include "webserver.h"
 #include "groupdav.h"
@@ -3140,8 +3138,7 @@ void display_enter(void)
                return;
        }
 
-#ifdef WEBCIT_WITH_CALENDAR_SERVICE
-       /**
+       /*
         * Are we perhaps in a calendar room?  If so, then an "enter
         * message" command really means "add new calendar item."
         */
@@ -3150,7 +3147,7 @@ void display_enter(void)
                return;
        }
 
-       /**
+       /*
         * Are we perhaps in a tasks view?  If so, then an "enter
         * message" command really means "add new task."
         */
@@ -3158,9 +3155,8 @@ void display_enter(void)
                display_edit_task();
                return;
        }
-#endif
 
-       /**
+       /*
         * Otherwise proceed normally.
         * Do a custom room banner with no navbar...
         */
index 0ce784cf057b4e6f1aaa37f5415eae252fbf89de..a5d37199b3fa408471aeb9e3ee74bc3824b284eb 100644 (file)
@@ -32,15 +32,13 @@ void get_serv_info(char *browser_host, char *user_agent)
        serv_puts("MSGP text/html|text/plain");
        serv_getln(buf, sizeof buf);
 
-#ifdef WEBCIT_WITH_CALENDAR_SERVICE
-       /**
+       /*
         * Tell the server that when we save a calendar event, we
         * want invitations to be generated by the Citadel server
         * instead of by the client.
         */
        serv_puts("ICAL sgi|1");
        serv_getln(buf, sizeof buf);
-#endif
 
        /** Now ask the server to tell us a little bit about itself... */
        serv_puts("INFO");
index fba65fc7f4401b63a69d1f17fe46a9225d58ef8d..fff3a8fd653c2fd6cb5a70505fb499802e6195fa 100644 (file)
@@ -1,16 +1,14 @@
 /*
  * $Id$
+ *
+ * Administrative screen for site-wide configuration
  */
-/**
- * \defgroup AdminConfig Administrative screen for site-wide configuration
- * \ingroup CitadelConfig
- */
-/*@{*/
+
 
 #include "webcit.h"
 #include "webserver.h"
 
-/**
+/*
  * \brief display all configuration items
  */
 void display_siteconfig(void)
@@ -486,7 +484,6 @@ void display_siteconfig(void)
                        if (strlen(buf) == 0) {
                                strcpy(buf, "UTC");
                        }
-#ifdef WEBCIT_WITH_CALENDAR_SERVICE
                        sprintf(&general[strlen(general)], "<TR><TD>");
                        sprintf(&general[strlen(general)], _("Default timezone for unzoned calendar items"));
                        sprintf(&general[strlen(general)], "</TD><TD>");
@@ -526,9 +523,6 @@ void display_siteconfig(void)
 
                        sprintf(&general[strlen(general)], "</select>");
                        sprintf(&general[strlen(general)], "</TD></TR>\n");
-#else /* WEBCIT_WITH_CALENDAR_SERVICE */
-                       wprintf("<input type=\"hidden\" name=\"c_default_cal_zone\" value=\"%s\">\n", buf);
-#endif /* WEBCIT_WITH_CALENDAR_SERVICE */
                        break;
                case 50:
                        sprintf(&network[strlen(network)], "<TR><TD>");
index e8072e5fd8854057199197e83fdc67cec5bdf0fd..a98e421e0a1f88b87e634abeaa92faad30261554 100644 (file)
@@ -1,15 +1,13 @@
 /*
  * $Id$
+ *
+ * Displays the "Summary Page"
  */
-/**
- * \defgroup SymaryFuncs Displays the "Summary Page"
- * \ingroup WebcitDisplayItems
- */
-/*@{*/
+
 #include "webcit.h"
 
-/**
- * \brief Display today's date in a friendly format
+/*
+ * Display today's date in a friendly format
  */
 void output_date(void) {
        struct tm tm;
@@ -78,12 +76,9 @@ void new_messages_section(void) {
  * \brief Task list section
  */
 void tasks_section(void) {
-#ifdef WEBCIT_WITH_CALENDAR_SERVICE
        int num_msgs = 0;
        int i;
-#endif
 
-#ifdef WEBCIT_WITH_CALENDAR_SERVICE
        gotoroom("_TASKS_");
        if (WC->wc_view != VIEW_TASKS) {
                num_msgs = 0;
@@ -104,12 +99,6 @@ void tasks_section(void) {
        }
 
        calendar_summary_view();
-
-#else /* WEBCIT_WITH_CALENDAR_SERVICE */
-       wprintf("<i>");
-       wprintf(_("(This server does not support task lists)"));
-       wprintf("</i>\n");
-#endif /* WEBCIT_WITH_CALENDAR_SERVICE */
 }
 
 
@@ -117,12 +106,9 @@ void tasks_section(void) {
  * \brief Calendar section
  */
 void calendar_section(void) {
-#ifdef WEBCIT_WITH_CALENDAR_SERVICE
        int num_msgs = 0;
        int i;
-#endif
 
-#ifdef WEBCIT_WITH_CALENDAR_SERVICE
        gotoroom("_CALENDAR_");
        if ( (WC->wc_view != VIEW_CALENDAR) && (WC->wc_view != VIEW_CALBRIEF) ) {
                num_msgs = 0;
@@ -142,12 +128,6 @@ void calendar_section(void) {
                }
                calendar_summary_view();
        }
-
-#else /* WEBCIT_WITH_CALENDAR_SERVICE */
-       wprintf("<i>");
-       wprintf(_("(This server does not support calendars)"));
-       wprintf("</i>\n");
-#endif /* WEBCIT_WITH_CALENDAR_SERVICE */
 }
 
 /**
index b10fe397143cbb1c014e9479050cf7156d1fdc3d..b25347a4001b022839cc6bc7fb50aa43565fb011 100644 (file)
@@ -1,13 +1,11 @@
 /*
  * $Id$
- */
-/**
- * \defgroup MainServer This is the main transaction loop of the web service.  It maintains a
+ *
+ * This is the main transaction loop of the web service.  It maintains a
  * persistent session to the Citadel server, handling HTTP WebCit requests as
  * they arrive and presenting a user interface.
- * \ingroup WebcitHttpServer
  */
-/*@{*/
+
 #include "webcit.h"
 #include "groupdav.h"
 #include "webserver.h"
@@ -15,7 +13,7 @@
 #include <stdio.h>
 #include <stdarg.h>
 
-/**
+/*
  * String to unset the cookie.
  * Any date "in the past" will work, so I chose my birthday, right down to
  * the exact minute.  :)
@@ -1422,12 +1420,10 @@ void session_loop(struct httprequest *req)
                do_listsub();
                goto SKIP_ALL_THIS_CRAP;
        }
-#ifdef WEBCIT_WITH_CALENDAR_SERVICE
        if (!strcasecmp(action, "freebusy")) {
                do_freebusy(cmd);
                goto SKIP_ALL_THIS_CRAP;
        }
-#endif
 
        /**
         * If we're not logged in, but we have HTTP Authentication data,
@@ -1786,7 +1782,6 @@ void session_loop(struct httprequest *req)
                display_floorconfig(NULL);
        } else if (!strcasecmp(action, "toggle_self_service")) {
                toggle_self_service();
-#ifdef WEBCIT_WITH_CALENDAR_SERVICE
        } else if (!strcasecmp(action, "display_edit_task")) {
                display_edit_task();
        } else if (!strcasecmp(action, "save_task")) {
@@ -1799,7 +1794,6 @@ void session_loop(struct httprequest *req)
                respond_to_request();
        } else if (!strcasecmp(action, "handle_rsvp")) {
                handle_rsvp();
-#endif
        } else if (!strcasecmp(action, "summary")) {
                summary();
        } else if (!strcasecmp(action, "summary_inner_div")) {
index e7e3e75fa21f7247eda9234b6dca599997515796..2265e9bd7f8708617fce291af7c25e3819a4d1e3 100644 (file)
@@ -387,8 +387,6 @@ struct wcsession {
        char this_page[512];                    /**< URL of current page */
        char http_host[512];                    /**< HTTP Host: header */
        HashList *hash_prefs;                   /**< WebCit preferences for this user */
-#ifdef WEBCIT_WITH_CALENDAR_SERVICE            
-       /** \brief ical???? */                          
        struct disp_cal {                                       
                icalcomponent *cal;             /**< cal items for display */
                long cal_msgnum;                /**< cal msgids for display */
@@ -396,7 +394,6 @@ struct wcsession {
                int unread;                     /**< already seen by the user? */
        } *disp_cal;                                            
        int num_cal;                            /**< number of calendar items for display */
-#endif                                                                                 
        struct wc_attachment *first_attachment; /**< linked list of attachments for 'enter message' */
        char last_chat_user[256];               /**< ??? todo */
        char ImportantMessage[SIZ];             /**< ??? todo */
@@ -697,7 +694,6 @@ void display_pictureview(void);
 void download_file(char *);
 void upload_file(void);
 
-#ifdef WEBCIT_WITH_CALENDAR_SERVICE
 void display_edit_task(void);
 void save_task(void);
 void display_edit_event(void);
@@ -720,7 +716,6 @@ int ical_ctdl_is_overlap(
                         struct icaltimetype t2start,
                         struct icaltimetype t2end
 );
-#endif
 
 #ifdef ENABLE_NLS
 void initialize_locales(void);
index c5475520901ba69a7a0bf47cbdcc9afff945f61b..c99cff762eb57bcba2cb2f12322c2c78a2100755 100644 (file)
@@ -994,12 +994,10 @@ void worker_entry(void)
                                sleeeeeeeeeep(1); // wait so some others might finish...
                                lprintf(2, "master shutdown: cleaning up sessions\n");
                                do_housekeeping();
-#ifdef WEBCIT_WITH_CALENDAR_SERVICE
                                lprintf(2, "master shutdown: cleaning up libical\n");
                                free_zone_directory ();
                                icaltimezone_release_zone_tab ();
                                icalmemory_free_ring ();
-#endif
                                lprintf(2, "master shutdown exiting!.\n");                              
                                exit(0);
                        }