[Pkg-citadel-commit] r332 - citadel/trunk/debian citadel/trunk/debian/patches libcitadel/trunk/debian webcit/trunk/debian webcit/trunk/debian/patches
Michael Meskes
meskes at alioth.debian.org
Thu Apr 9 17:47:07 UTC 2009
Author: meskes
Date: 2009-04-09 17:47:07 +0000 (Thu, 09 Apr 2009)
New Revision: 332
Removed:
citadel/trunk/debian/patches/743-744.diff
webcit/trunk/debian/patches/743-744.diff
Modified:
citadel/trunk/debian/changelog
citadel/trunk/debian/control
citadel/trunk/debian/patches/series
libcitadel/trunk/debian/changelog
webcit/trunk/debian/changelog
webcit/trunk/debian/control
webcit/trunk/debian/patches/series
Log:
Preparing for 7.50 upload
Modified: citadel/trunk/debian/changelog
===================================================================
--- citadel/trunk/debian/changelog 2009-04-08 09:46:22 UTC (rev 331)
+++ citadel/trunk/debian/changelog 2009-04-09 17:47:07 UTC (rev 332)
@@ -1,3 +1,9 @@
+citadel (7.50-1) unstable; urgency=low
+
+ * New upstream version.
+
+ -- Michael Meskes <meskes at debian.org> Thu, 09 Apr 2009 19:38:36 +0200
+
citadel (7.43-2) unstable; urgency=low
* Install xml file needed for funambol email sync, closes: #520491
Modified: citadel/trunk/debian/control
===================================================================
--- citadel/trunk/debian/control 2009-04-08 09:46:22 UTC (rev 331)
+++ citadel/trunk/debian/control 2009-04-09 17:47:07 UTC (rev 332)
@@ -5,7 +5,7 @@
Uploaders: Wilfried Goesgens <w.goesgens at outgesourced.org>, Michael Meskes <meskes at debian.org>, Alexander Wirt <formorer at debian.org>
Build-Depends: debhelper (>= 7), po-debconf, bison, autotools-dev, libcurl4-openssl-dev,
libdb-dev, libexpat1-dev, libical-dev, libldap2-dev, libncurses5-dev, quilt (>= 0.40),
- libpam0g-dev, libsieve2-dev, libssl-dev, libexpat1-dev, libcitadel-dev (>= 7.43),
+ libpam0g-dev, libsieve2-dev, libssl-dev, libexpat1-dev, libcitadel-dev (>= 7.50),
libcurl4-openssl-dev | libcurl3-openssl-dev
Standards-Version: 3.8.1
Deleted: citadel/trunk/debian/patches/743-744.diff
===================================================================
--- citadel/trunk/debian/patches/743-744.diff 2009-04-08 09:46:22 UTC (rev 331)
+++ citadel/trunk/debian/patches/743-744.diff 2009-04-09 17:47:07 UTC (rev 332)
@@ -1,846 +0,0 @@
-diff -ruN citadel.orig/citadel_dirs.c citadel/citadel_dirs.c
---- citadel.orig/citadel_dirs.c 2009-03-17 04:24:55.000000000 +0100
-+++ citadel/citadel_dirs.c 2009-04-01 12:01:25.000000000 +0200
-@@ -33,6 +33,7 @@
- char ctdl_dspam_dir[PATH_MAX]="dspam";
- char ctdl_file_dir[PATH_MAX]="files";
- char ctdl_hlp_dir[PATH_MAX]="help";
-+char ctdl_shared_dir[PATH_MAX]="";
- char ctdl_image_dir[PATH_MAX]="images";
- char ctdl_info_dir[PATH_MAX]="info";
- char ctdl_key_dir[PATH_MAX]=SSL_DIR;
-@@ -184,6 +185,8 @@
- #endif
- COMPUTE_DIRECTORY(ctdl_hlp_dir);
- StripSlashes(ctdl_hlp_dir, 1);
-+ COMPUTE_DIRECTORY(ctdl_shared_dir);
-+ StripSlashes(ctdl_shared_dir, 1);
-
- #ifndef HAVE_DATA_DIR
- basedir=ctdldir;
-@@ -328,7 +331,7 @@
- snprintf(file_funambol_msg,
- sizeof file_funambol_msg,
- "%sfunambol_newmail_soap.xml",
-- ctdl_spool_dir);
-+ ctdl_shared_dir);
- StripSlashes(file_funambol_msg, 0);
-
- DBG_PRINT(ctdl_bio_dir);
-diff -ruN citadel.orig/citadel_dirs.h citadel/citadel_dirs.h
---- citadel.orig/citadel_dirs.h 2009-03-17 04:24:55.000000000 +0100
-+++ citadel/citadel_dirs.h 2009-04-01 12:01:25.000000000 +0200
-@@ -14,6 +14,7 @@
- extern char ctdl_dspam_dir[PATH_MAX];
- extern char ctdl_file_dir[PATH_MAX];
- extern char ctdl_hlp_dir[PATH_MAX];
-+extern char ctdl_shared_dir[PATH_MAX];
- extern char ctdl_image_dir[PATH_MAX];
- extern char ctdl_info_dir[PATH_MAX];
- extern char ctdl_key_dir[PATH_MAX];
-diff -ruN citadel.orig/citadel.h citadel/citadel.h
---- citadel.orig/citadel.h 2009-03-17 04:24:55.000000000 +0100
-+++ citadel/citadel.h 2009-04-01 12:03:36.000000000 +0200
-@@ -1,5 +1,5 @@
- /*
-- * $Id: citadel.h 7220 2009-03-17 03:22:44Z ajc $
-+ * $Id: citadel.h 7281 2009-03-30 21:48:20Z ajc $
- *
- * Main Citadel header file
- * See COPYING for copyright information.
-@@ -38,7 +38,7 @@
- * usually more strict because you're not really supposed to dump/load and
- * upgrade at the same time.
- */
--#define REV_LEVEL 743 /* This version */
-+#define REV_LEVEL 744 /* This version */
- #define REV_MIN 591 /* Oldest compatible database */
- #define EXPORT_REV_MIN 737 /* Oldest compatible export files */
- #define LIBCITADEL_MIN 743 /* Minimum required version of libcitadel */
-diff -ruN citadel.orig/citadel.nsi citadel/citadel.nsi
---- citadel.orig/citadel.nsi 2009-03-17 04:24:55.000000000 +0100
-+++ citadel/citadel.nsi 2009-04-01 12:01:25.000000000 +0200
-@@ -4,7 +4,7 @@
-
- !include "${NSISDIR}\Contrib\Modern UI\System.nsh"
- !define MUI_PRODUCT "Citadel"
--!define MUI_VERSION "7.43"
-+!define MUI_VERSION "7.44"
- !define MUI_WELCOMEPAGE
- !define MUI_LICENSEPAGE
- !define MUI_COMPONENTSPAGE
-@@ -18,7 +18,7 @@
- ;!define MUI_ICON "${NSISDIR}\Contrib\Icons\modern-install.ico"
- ;!define MUI_UNICON "${NSISDIR}\Contrib\Icons\modern-uninstall.ico"
-
--OutFile "citadel-7.43.exe"
-+OutFile "citadel-7.44.exe"
- BGGradient off
-
- LangString DESC_Citadel ${LANG_ENGLISH} "Citadel client and core libraries (required)"
-diff -ruN citadel.orig/config.c citadel/config.c
---- citadel.orig/config.c 2009-03-17 04:24:55.000000000 +0100
-+++ citadel/config.c 2009-04-01 12:01:25.000000000 +0200
-@@ -63,7 +63,7 @@
- int desired_mode = (S_IFREG | S_IRUSR | S_IWUSR) ;
- if (st.st_mode != desired_mode) {
- fprintf(stderr, "%s must be set to permissions mode %03o but they are %03o\n",
-- file_citadel_config, desired_mode, st.st_mode);
-+ file_citadel_config, (desired_mode & 0xFFF), (st.st_mode & 0xFFF));
- exit(CTDLEXIT_CONFIG);
- }
- #endif
-diff -ruN citadel.orig/configure.ac citadel/configure.ac
---- citadel.orig/configure.ac 2009-03-17 04:24:55.000000000 +0100
-+++ citadel/configure.ac 2009-04-01 12:01:25.000000000 +0200
-@@ -1,7 +1,7 @@
- dnl Process this file with autoconf to produce a configure script.
- dnl $Id: configure.ac 7220 2009-03-17 03:22:44Z ajc $
- AC_PREREQ(2.52)
--AC_INIT([Citadel], [7.43], [http://www.citadel.org/])
-+AC_INIT([Citadel], [7.44], [http://www.citadel.org/])
- AC_REVISION([$Revision: 5108 $])
- AC_CONFIG_SRCDIR([citserver.c])
- AC_PREFIX_DEFAULT(/usr/local/citadel)
-diff -ruN citadel.orig/docs/citadel.html citadel/docs/citadel.html
---- citadel.orig/docs/citadel.html 2008-10-13 15:48:45.000000000 +0200
-+++ citadel/docs/citadel.html 2009-04-01 12:01:25.000000000 +0200
-@@ -9,145 +9,31 @@
- <div align="center">
- <h1>C I T A D E L</h1>
- <h2>an open source messaging and collaboration platform</h2>
--Copyright ©1987-2008 by the Citadel development team:<br>
--<br>
--<table align="center" border="0" cellpadding="2" cellspacing="2">
-- <tbody>
-- <tr>
-- <td valign="top">Clint Adams<br>
-- </td>
-- <td valign="top"><i>portability enhancements<br>
-- </i></td>
-- </tr>
-- <tr>
-- <td valign="top">Steven M. Bellovin<br>
-- </td>
-- <td valign="top"><i>author of public domain 'parsedate' function<br>
-- </i></td>
-- </tr>
-- <tr>
-- <td valign="top">Nathan Bryant<br>
-- </td>
-- <td valign="top"><i>build system, security, database access, and
--others<br>
-- </i></td>
-- </tr>
-- <tr>
-- <td valign="top">Art Cancro<br>
-- </td>
-- <td valign="top"><i>overall system design and lead developer<br>
-- </i></td>
-- </tr>
-- <tr>
-- <td valign="top">Brian Costello<br>
-- </td>
-- <td valign="top"><i>cosmetics, additional commands<br>
-- </i></td>
-- </tr>
-- <tr>
-- <td valign="top">Nick Georbit<br>
-- </td>
-- <td valign="top"><i>additional client features<br>
-- </i></td>
-- </tr>
-- <tr>
-- <td valign="top">David Given<br>
-- </td>
-- <td valign="top"><i>IMAP and build patches<br>
-- </i></td>
-- </tr>
-- <tr>
-- <td valign="top">Dave West<br>
-- </td>
-- <td valign="top"><i>server features<br>
-- </i></td>
-- </tr>
-- <tr>
-- <td valign="top">Wilfried Goesgens<br>
-- </td>
-- <td valign="top"><i>build system patches<br>
-- </i></td>
-- </tr>
-- <tr>
-- <td valign="top">Michael Hampton<br>
-- </td>
-- <td valign="top"><i>client software development<br>
-- </i></td>
-- </tr>
-- <tr>
-- <td valign="top">Andru Luvisi<br>
-- </td>
-- <td valign="top"><i>troubleshooting and development assistance<br>
-- </i></td>
-- </tr>
-- <tr>
-- <td valign="top">Daniel Malament<br>
-- </td>
-- <td valign="top"><i>string compare function for IMAP server<br>
-- </i></td>
-- </tr>
-- <tr>
-- <td valign="top">Stu Mark<br>
-- </td>
-- <td valign="top"><i>additional client features, IGnet protocol design<br>
-- </i></td>
-- </tr>
-- <tr>
-- <td valign="top">Edward S. Marshall<br>
-- </td>
-- <td valign="top"><i>RBL checking function design<br>
-- </i></td>
-- </tr>
-- <tr>
-- <td valign="top">Ben Mehlman<br>
-- </td>
-- <td valign="top"><i>additional client features<br>
-- </i></td>
-- </tr>
-- <tr>
-- <td valign="top">Matt Pfleger<br>
-- </td>
-- <td valign="top"><i>additional client features<br>
-- </i></td>
-- </tr>
-- <tr>
-- <td valign="top">Ari Samson<br>
-- </td>
-- <td valign="top"><i>assistance with project management<br>
-- </i></td>
-- </tr>
-- <tr>
-- <td valign="top">Trey Van Riper<br>
-- </td>
-- <td valign="top"><i>QA and portability enhancements<br>
-- </i></td>
-- </tr>
-- <tr>
-- <td valign="top">John Walker<br>
-- </td>
-- <td valign="top"><i>author of public domain base64 encoder/decoder<br>
-- </i></td>
-- </tr>
-- <tr>
-- <td valign="top">Steve Williams<br>
-- </td>
-- <td valign="top"><i>documentation<br>
-- </i></td>
-- </tr>
-- <tr>
-- <td valign="top">Ethan Young<br>
-- </td>
-- <td valign="top"><i>IGnet protocol design<br>
-- </i></td>
-- </tr>
-- <tr>
-- <td valign="top">Edward Flick<br>
-- </td>
-- <td valign="top"><i>ClamAV integration module<br>
-- </i></td>
-- </tr>
-- </tbody>
--</table>
-+Copyright ©1987-2009 by the Citadel development team. Contributors include:
-+<ul>
-+ <li>Clint Adams
-+ <li>Steven M. Bellovin
-+ <li>Nathan Bryant
-+ <li>Art Cancro
-+ <li>Brian Costello
-+ <li>Edward Flick
-+ <li>Nick Georbit
-+ <li>David Given
-+ <li>Dave West
-+ <li>Wilfried Goesgens
-+ <li>Michael Hampton
-+ <li>Andru Luvisi
-+ <li>Daniel Malament
-+ <li>Stu Mark
-+ <li>Edward S. Marshall
-+ <li>Ben Mehlman
-+ <li>Matt Pfleger
-+ <li>Ari Samson
-+ <li>Trey Van Riper
-+ <li>John Walker
-+ <li>Steve Williams
-+ <li>Ethan Young
-+</ul>
- </div>
- <br>
- <div align="justify">The entire package is open source software. You may
-diff -ruN citadel.orig/funambol_newmail_soap.xml citadel/funambol_newmail_soap.xml
---- citadel.orig/funambol_newmail_soap.xml 1970-01-01 01:00:00.000000000 +0100
-+++ citadel/funambol_newmail_soap.xml 2009-04-01 12:01:25.000000000 +0200
-@@ -0,0 +1,40 @@
-+<?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><soapenv:Body><sendNotificationMessages soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
-+<arg0 xsi:type="soapenc:string" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">^notifyuser</arg0><arg1 xsi:type="soapenc:string" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
-+<java version="1.5.0_13" class="java.beans.XMLDecoder">
-+ <array class="com.funambol.framework.core.Alert" length="1">
-+ <void index="0">
-+ <object class="com.funambol.framework.core.Alert">
-+ <void property="cmdID">
-+ <object class="com.funambol.framework.core.CmdID"/>
-+ </void>
-+ <void property="data">
-+ <int>206</int>
-+ </void>
-+ <void property="items">
-+ <void method="add">
-+ <object class="com.funambol.framework.core.Item">
-+ <void property="meta">
-+ <object class="com.funambol.framework.core.Meta">
-+ <void property="metInf">
-+ <void property="type">
-+ <string>application/vnd.omads-email+xml</string>
-+ </void>
-+ </void>
-+ </object>
-+ </void>
-+ <void property="target">
-+ <object class="com.funambol.framework.core.Target">
-+ <void property="locURI">
-+ <string>^syncsource</string>
-+ </void>
-+ </object>
-+ </void>
-+ </object>
-+ </void>
-+ </void>
-+ </object>
-+ </void>
-+ </array>
-+</java>
-+</arg1><arg2 href="#id0"/></sendNotificationMessages>
-+<multiRef id="id0" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="soapenc:int" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">1</multiRef></soapenv:Body></soapenv:Envelope>
-diff -ruN citadel.orig/locate_host.c citadel/locate_host.c
---- citadel.orig/locate_host.c 2008-04-11 16:26:49.000000000 +0200
-+++ citadel/locate_host.c 2009-04-01 12:01:25.000000000 +0200
-@@ -14,9 +14,11 @@
- #include <sys/types.h>
- #include <sys/socket.h>
- #include <netinet/in.h>
-+#include <arpa/inet.h>
- #include <limits.h>
- #include <netdb.h>
- #include <string.h>
-+#include <errno.h>
- #include <libcitadel.h>
- #include "citadel.h"
- #include "server.h"
-@@ -271,21 +273,17 @@
- */
- int rbl_check_addr(struct in_addr *addr, char *message_to_spammer)
- {
-- const char *i;
- int a1, a2, a3, a4;
- char tbuf[256];
- int rbl;
- int num_rbl;
- char rbl_domains[SIZ];
- char txt_answer[1024];
-+ char dotted_quad[32];
-
- strcpy(message_to_spammer, "ok");
--
-- i = (const char *) addr;
-- a1 = ((*i++) & 0xff);
-- a2 = ((*i++) & 0xff);
-- a3 = ((*i++) & 0xff);
-- a4 = ((*i++) & 0xff);
-+ safestrncpy(dotted_quad, inet_ntoa(*addr), sizeof dotted_quad);
-+ sscanf(dotted_quad, "%d.%d.%d.%d", &a1, &a2, &a3, &a4);
-
- /* See if we have any RBL domains configured */
- num_rbl = get_hosts(rbl_domains, "rbl");
-@@ -299,7 +297,7 @@
- extract_token(&tbuf[strlen(tbuf)], rbl_domains, rbl, '|', (sizeof tbuf - strlen(tbuf)));
-
- if (rblcheck_backend(tbuf, txt_answer, sizeof txt_answer)) {
-- sprintf(message_to_spammer, "5.7.1 %s", txt_answer);
-+ strcpy(message_to_spammer, txt_answer);
- CtdlLogPrintf(CTDL_INFO, "RBL: %s\n", txt_answer);
- return(1);
- }
-@@ -312,26 +310,24 @@
- /*
- * Check to see if the client host is on some sort of spam list (RBL)
- * If spammer, returns nonzero and places reason in 'message_to_spammer'
-+ *
-+ * PORTABILITY NOTE! I've made my best effort to rewrite this in a portable fashion.
-+ * If anyone makes changes to this function, please shout-out so we can test it to
-+ * make sure it didn't break on Linux!
- */
- int rbl_check(char *message_to_spammer) {
-- struct sockaddr_in sin;
-- int len; /* should be socklen_t but doesn't work on Macintosh */
-- struct timeval tv1, tv2;
-- suseconds_t total_time = 0;
--
-- gettimeofday(&tv1, NULL);
-- len = 0;
-- memset (&sin, 0, sizeof (struct sockaddr_in));
-- if (!getpeername(CC->client_socket, (struct sockaddr *) &sin, (socklen_t *)&len)) {
-- return(rbl_check_addr(&sin.sin_addr, message_to_spammer));
-- }
--
-- gettimeofday(&tv2, NULL);
-- total_time = (tv2.tv_usec + (tv2.tv_sec * 1000000)) - (tv1.tv_usec + (tv1.tv_sec * 1000000));
-- CtdlLogPrintf(CTDL_DEBUG, "RBL check completed in %ld.%ld seconds\n",
-- (total_time / 1000000),
-- (total_time % 1000000)
-- );
-+ int r;
-+ struct sockaddr_in peer;
-+ socklen_t peer_len = 0;
-+
-+ peer_len = sizeof(peer);
-+ r = getpeername(CC->client_socket, &peer, &peer_len);
-+ if (r == 0) {
-+ return(rbl_check_addr(&peer.sin_addr, message_to_spammer));
-+ }
-+ else {
-+ CtdlLogPrintf(CTDL_INFO, "RBL getpeername() failed: %s\n", strerror(errno));
-+ }
- return(0);
- }
-
-diff -ruN citadel.orig/Makefile.in citadel/Makefile.in
---- citadel.orig/Makefile.in 2009-03-17 04:24:55.000000000 +0100
-+++ citadel/Makefile.in 2009-04-01 12:01:25.000000000 +0200
-@@ -206,7 +206,7 @@
- network/systems; do \
- $(srcdir)/mkinstalldirs $(DESTDIR)$(prefix)/$$i; \
- done
-- @for i in citadel.rc public_clients \
-+ @for i in funambol_newmail_soap.xml citadel.rc public_clients \
- `find $(srcdir)/help $(srcdir)/messages $(srcdir)/network -type f | grep -v .svn`; do \
- echo $(INSTALL_DATA) $$i $(DESTDIR)$(prefix)/$$i; \
- $(INSTALL_DATA) $$i $(DESTDIR)$(prefix)/$$i; \
-@@ -233,7 +233,7 @@
- done
-
- $(srcdir)/mkinstalldirs $(DESTDIR)$(HELP_DIR)/help
-- @for i in \
-+ @for i in funambol_newmail_soap.xml \
- `find $(srcdir)/help -type f | grep -v .svn`; do \
- echo $(INSTALL_DATA) $$i $(DESTDIR)$(HELP_DIR)/$$i; \
- $(INSTALL_DATA) $$i $(DESTDIR)$(HELP_DIR)/$$i; \
-diff -ruN citadel.orig/modules/calendar/serv_calendar.c citadel/modules/calendar/serv_calendar.c
---- citadel.orig/modules/calendar/serv_calendar.c 2009-02-20 19:28:25.000000000 +0100
-+++ citadel/modules/calendar/serv_calendar.c 2009-04-01 12:01:25.000000000 +0200
-@@ -808,51 +808,64 @@
- struct icaltimetype t2start,
- struct icaltimetype t2end
- ) {
--
- if (icaltime_is_null_time(t1start)) return(0);
- if (icaltime_is_null_time(t2start)) return(0);
-
-- /* First, check for all-day events */
-- if (t1start.is_date) {
-- if (!icaltime_compare_date_only(t1start, t2start)) {
-- return(1);
-- }
-- if (!icaltime_is_null_time(t2end)) {
-- if (!icaltime_compare_date_only(t1start, t2end)) {
-- return(1);
-- }
-+ /* if either event lacks end time, assume end = start */
-+ if (icaltime_is_null_time(t1end))
-+ memcpy(&t1end, &t1start, sizeof(struct icaltimetype));
-+ else {
-+ if (t1end.is_date && icaltime_compare(t1start, t1end)) {
-+ /*
-+ * the end date is non-inclusive so adjust it by one
-+ * day because our test is inclusive, note that a day is
-+ * not too much because we are talking about all day
-+ * events
-+ * if start = end we assume that nevertheless the whole
-+ * day is meant
-+ */
-+ icaltime_adjust(&t1end, -1, 0, 0, 0);
- }
- }
-
-- if (t2start.is_date) {
-- if (!icaltime_compare_date_only(t2start, t1start)) {
-- return(1);
-- }
-- if (!icaltime_is_null_time(t1end)) {
-- if (!icaltime_compare_date_only(t2start, t1end)) {
-- return(1);
-- }
-+ if (icaltime_is_null_time(t2end))
-+ memcpy(&t2end, &t2start, sizeof(struct icaltimetype));
-+ else {
-+ if (t2end.is_date && icaltime_compare(t2start, t2end)) {
-+ icaltime_adjust(&t2end, -1, 0, 0, 0);
- }
- }
-
-- /* Now check for overlaps using date *and* time. */
-+ /* First, check for all-day events */
-+ if (t1start.is_date || t2start.is_date) {
-+ /* If event 1 ends before event 2 starts, we're in the clear. */
-+ if (icaltime_compare_date_only(t1end, t2start) < 0) return(0);
-+
-+ /* If event 2 ends before event 1 starts, we're also ok. */
-+ if (icaltime_compare_date_only(t2end, t1start) < 0) return(0);
-+
-+ return(1);
-+ }
-
-- /* First, bail out if either event 1 or event 2 is missing end time. */
-- if (icaltime_is_null_time(t1end)) return(0);
-- if (icaltime_is_null_time(t2end)) return(0);
-+ /* lprintf (9, "Comparing t1start %d:%d t1end %d:%d t2start %d:%d t2end %d:%d \n",
-+ t1start.hour, t1start.minute, t1end.hour, t1end.minute,
-+ t2start.hour, t2start.minute, t2end.hour, t2end.minute);
-+ */
-+
-+ /* Now check for overlaps using date *and* time. */
-
- /* If event 1 ends before event 2 starts, we're in the clear. */
- if (icaltime_compare(t1end, t2start) <= 0) return(0);
-+ /* lprintf(9, "first passed\n"); */
-
- /* If event 2 ends before event 1 starts, we're also ok. */
- if (icaltime_compare(t2end, t1start) <= 0) return(0);
-+ /* lprintf(9, "second passed\n"); */
-
- /* Otherwise, they overlap. */
- return(1);
- }
-
--
--
- /*
- * Phase 6 of "hunt for conflicts"
- * called by ical_conflicts_phase5()
-diff -ruN citadel.orig/modules/extnotify/funambol65.c citadel/modules/extnotify/funambol65.c
---- citadel.orig/modules/extnotify/funambol65.c 2008-04-11 16:26:48.000000000 +0200
-+++ citadel/modules/extnotify/funambol65.c 2009-04-01 12:01:25.000000000 +0200
-@@ -16,6 +16,7 @@
- #include <sys/socket.h>
- #include <time.h>
- #include <libcitadel.h>
-+#include <errno.h>
-
- #include "citadel.h"
- #include "citadel_dirs.h"
-@@ -34,20 +35,45 @@
- int notify_funambol_server(char *user) {
- char port[1024];
- int sock = -1;
-- char *buf;
-- char *SOAPMessage;
-- char *SOAPHeader;
-- char *funambolCreds;
-- FILE *template;
-+ char *buf = NULL;
-+ char *SOAPMessage = NULL;
-+ char *SOAPHeader = NULL;
-+ char *funambolCreds = NULL;
-+ FILE *template = NULL;
-
- sprintf(port, "%d", config.c_funambol_port);
- sock = sock_connect(config.c_funambol_host, port, "tcp");
- if (sock >= 0)
- CtdlLogPrintf(CTDL_DEBUG, "Connected to Funambol!\n");
-- else
-+ else {
-+ char buf[SIZ];
-+
-+ snprintf(buf, SIZ,
-+ "Unable to connect to %s:%d [%s]; won't send notification\r\n",
-+ config.c_funambol_host,
-+ config.c_funambol_port,
-+ strerror(errno));
-+ CtdlLogPrintf(CTDL_ERR, buf);
-+
-+ aide_message(buf, "External notifier unable to connect remote host!");
- goto bail;
-+ }
- // Load the template SOAP message. Get mallocs done too
- template = fopen(file_funambol_msg, "r");
-+
-+ if (template == NULL) {
-+ char buf[SIZ];
-+
-+ snprintf(buf, SIZ,
-+ "Cannot load template file %s [%s]won't send notification\r\n",
-+ file_funambol_msg, strerror(errno));
-+ CtdlLogPrintf(CTDL_ERR, buf);
-+
-+ aide_message(buf, "External notifier unable to find message template!");
-+ goto free;
-+ }
-+
-+
- buf = malloc(SIZ);
- memset(buf, 0, SIZ);
- SOAPMessage = malloc(3072);
-@@ -65,7 +91,14 @@
- fclose(template);
-
- if (strlen(SOAPMessage) < 0) {
-- printf("Cannot load template file\r\n");
-+ char buf[SIZ];
-+
-+ snprintf(buf, SIZ,
-+ "Cannot load template file %s; won't send notification\r\n",
-+ file_funambol_msg);
-+ CtdlLogPrintf(CTDL_ERR, buf);
-+
-+ aide_message(buf, "External notifier unable to load message template!");
- goto free;
- }
- // Do substitutions
-diff -ruN citadel.orig/modules/sieve/serv_sieve.c citadel/modules/sieve/serv_sieve.c
---- citadel.orig/modules/sieve/serv_sieve.c 2009-02-20 19:28:25.000000000 +0100
-+++ citadel/modules/sieve/serv_sieve.c 2009-04-01 12:01:25.000000000 +0200
-@@ -518,7 +518,10 @@
-
- CtdlLogPrintf(CTDL_DEBUG, "Performing sieve processing on msg <%ld>\n", msgnum);
-
-- msg = CtdlFetchMessage(msgnum, 0);
-+ /*
-+ * Make sure you include message body so you can get those second-level headers ;)
-+ */
-+ msg = CtdlFetchMessage(msgnum, 1);
- if (msg == NULL) return;
-
- /*
-diff -ruN citadel.orig/modules/smtp/serv_smtp.c citadel/modules/smtp/serv_smtp.c
---- citadel.orig/modules/smtp/serv_smtp.c 2009-03-17 04:24:54.000000000 +0100
-+++ citadel/modules/smtp/serv_smtp.c 2009-04-01 12:01:25.000000000 +0200
-@@ -1696,6 +1696,7 @@
- */
- void smtp_do_queue(void) {
- static int doing_queue = 0;
-+ int num_processed = 0;
-
- /*
- * This is a simple concurrency check to make sure only one queue run
-@@ -1715,10 +1716,9 @@
- CtdlLogPrintf(CTDL_ERR, "Cannot find room <%s>\n", SMTP_SPOOLOUT_ROOM);
- return;
- }
-- CtdlForEachMessage(MSGS_ALL, 0L, NULL,
-- SPOOLMIME, NULL, smtp_do_procmsg, NULL);
-+ num_processed = CtdlForEachMessage(MSGS_ALL, 0L, NULL, SPOOLMIME, NULL, smtp_do_procmsg, NULL);
-
-- CtdlLogPrintf(CTDL_INFO, "SMTP client: queue run completed\n");
-+ CtdlLogPrintf(CTDL_INFO, "SMTP client: queue run completed; %d messages processed\n", num_processed);
- run_queue_now = 0;
- doing_queue = 0;
- }
-diff -ruN citadel.orig/msgbase.c citadel/msgbase.c
---- citadel.orig/msgbase.c 2009-02-20 19:28:25.000000000 +0100
-+++ citadel/msgbase.c 2009-04-01 12:01:25.000000000 +0200
-@@ -3031,8 +3031,8 @@
- /*
- * Convenience function for generating small administrative messages.
- */
--void quickie_message(char *from, char *fromaddr, char *to, char *room, char *text,
-- int format_type, char *subject)
-+void quickie_message(const char *from, const char *fromaddr, char *to, char *room, const char *text,
-+ int format_type, const char *subject)
- {
- struct CtdlMessage *msg;
- struct recptypes *recp = NULL;
-diff -ruN citadel.orig/msgbase.h citadel/msgbase.h
---- citadel.orig/msgbase.h 2008-09-12 04:22:17.000000000 +0200
-+++ citadel/msgbase.h 2009-04-01 12:01:25.000000000 +0200
-@@ -100,7 +100,7 @@
- long send_message (struct CtdlMessage *);
- void loadtroom (void);
- long CtdlSubmitMsg(struct CtdlMessage *, struct recptypes *, char *, int);
--void quickie_message (char *, char *, char *, char *, char *, int, char *);
-+void quickie_message (const char *, const char *, char *, char *, const char *, int, const char *);
- void cmd_ent0 (char *entargs);
- void cmd_dele (char *delstr);
- void cmd_move (char *args);
-diff -ruN citadel.orig/network/funambol_newmail_soap.xml citadel/network/funambol_newmail_soap.xml
---- citadel.orig/network/funambol_newmail_soap.xml 2008-01-31 19:53:48.000000000 +0100
-+++ citadel/network/funambol_newmail_soap.xml 2009-04-01 12:01:25.000000000 +0200
-@@ -1,40 +0,0 @@
--<?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><soapenv:Body><sendNotificationMessages soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
--<arg0 xsi:type="soapenc:string" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">^notifyuser</arg0><arg1 xsi:type="soapenc:string" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
--<java version="1.5.0_13" class="java.beans.XMLDecoder">
-- <array class="com.funambol.framework.core.Alert" length="1">
-- <void index="0">
-- <object class="com.funambol.framework.core.Alert">
-- <void property="cmdID">
-- <object class="com.funambol.framework.core.CmdID"/>
-- </void>
-- <void property="data">
-- <int>206</int>
-- </void>
-- <void property="items">
-- <void method="add">
-- <object class="com.funambol.framework.core.Item">
-- <void property="meta">
-- <object class="com.funambol.framework.core.Meta">
-- <void property="metInf">
-- <void property="type">
-- <string>application/vnd.omads-email+xml</string>
-- </void>
-- </void>
-- </object>
-- </void>
-- <void property="target">
-- <object class="com.funambol.framework.core.Target">
-- <void property="locURI">
-- <string>^syncsource</string>
-- </void>
-- </object>
-- </void>
-- </object>
-- </void>
-- </void>
-- </object>
-- </void>
-- </array>
--</java>
--</arg1><arg2 href="#id0"/></sendNotificationMessages>
--<multiRef id="id0" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="soapenc:int" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">1</multiRef></soapenv:Body></soapenv:Envelope>
-diff -ruN citadel.orig/room_ops.c citadel/room_ops.c
---- citadel.orig/room_ops.c 2008-04-11 16:26:49.000000000 +0200
-+++ citadel/room_ops.c 2009-04-01 12:01:25.000000000 +0200
-@@ -181,7 +181,7 @@
- if ( (userbuf->axlevel >= 6)
- || (userbuf->usernum == roombuf->QRroomaide)
- ) {
-- retval = retval | UA_ADMINALLOWED | UA_DELETEALLOWED;
-+ retval = retval | UA_ADMINALLOWED | UA_DELETEALLOWED | UA_POSTALLOWED;
- }
-
- NEWMSG: /* By the way, we also check for the presence of new messages */
-diff -ruN citadel.orig/server_main.c citadel/server_main.c
---- citadel.orig/server_main.c 2008-07-04 05:52:41.000000000 +0200
-+++ citadel/server_main.c 2009-04-01 12:01:25.000000000 +0200
-@@ -310,6 +310,14 @@
- start_chkpwd_daemon();
- }
-
-+
-+ /*
-+ * check, whether we're fired up another time after a crash.
-+ * if, post an aide message, so the admin has a chance to react.
-+ */
-+ checkcrash ();
-+
-+
- /*
- * Now that we've bound the sockets, change to the Citadel user id and its
- * corresponding group ids
-diff -ruN citadel.orig/sysdep.c citadel/sysdep.c
---- citadel.orig/sysdep.c 2009-03-17 04:24:55.000000000 +0100
-+++ citadel/sysdep.c 2009-04-01 12:01:25.000000000 +0200
-@@ -566,13 +566,17 @@
-
- void buffer_output(void) {
- #ifdef HAVE_TCP_BUFFERING
-- setsockopt(CC->client_socket, IPPROTO_TCP, TCP_CORK, &on, 4);
-+ if (!CC->redirect_ssl) {
-+ setsockopt(CC->client_socket, IPPROTO_TCP, TCP_CORK, &on, 4);
-+ }
- #endif
- }
-
- void unbuffer_output(void) {
- #ifdef HAVE_TCP_BUFFERING
-- setsockopt(CC->client_socket, IPPROTO_TCP, TCP_CORK, &off, 4);
-+ if (!CC->redirect_ssl) {
-+ setsockopt(CC->client_socket, IPPROTO_TCP, TCP_CORK, &off, 4);
-+ }
- #endif
- }
-
-@@ -896,6 +900,9 @@
- exit(0);
- }
-
-+int nFireUps = 0;
-+int nFireUpsNonRestart = 0;
-+pid_t ForkedPid = 1;
-
- /*
- * Start running as a daemon.
-@@ -951,9 +958,8 @@
- }
- waitpid(current_child, &status, 0);
- }
--
- do_restart = 0;
--
-+ nFireUpsNonRestart = nFireUps;
- /* Did the main process exit with an actual exit code? */
- if (WIFEXITED(status)) {
-
-@@ -970,12 +976,16 @@
- /* Any other exit code means we should restart. */
- else {
- do_restart = 1;
-+ nFireUps++;
-+ ForkedPid = current_child;
- }
- }
-
- /* Any other type of termination (signals, etc.) should also restart. */
- else {
- do_restart = 1;
-+ nFireUps++;
-+ ForkedPid = current_child;
- }
-
- } while (do_restart);
-@@ -986,6 +996,28 @@
-
-
-
-+void checkcrash(void)
-+{
-+ if (nFireUpsNonRestart != nFireUps)
-+ {
-+ StrBuf *CrashMail;
-+
-+ CrashMail = NewStrBuf();
-+ CtdlLogPrintf (CTDL_ALERT, "----------------sending crash mail\n");
-+ StrBufPrintf(CrashMail,
-+ "Your CitServer is just recovering from an unexpected termination.\n"
-+ " this maybe the result of an error in citserver or an external influence.\n"
-+ " You can get more information on this by enabling coredumping; for more information see\n"
-+ " http://citadel.org/doku.php/faq:mastering_your_os:gdb#how.do.i.make.my.system.produce.core-files\n"
-+ " If you already did, the file you're looking for most probably is %score.%d\n"
-+ " Yours faithfully...",
-+ ctdl_run_dir, ForkedPid);
-+ aide_message(ChrPtr(CrashMail), "Citadel server crashed.");
-+ FreeStrBuf(&CrashMail);
-+ }
-+}
-+
-+
- /*
- * Generic routine to convert a login name to a full name (gecos)
- * Returns nonzero if a conversion took place
-diff -ruN citadel.orig/sysdep_decls.h citadel/sysdep_decls.h
---- citadel.orig/sysdep_decls.h 2009-02-20 19:28:25.000000000 +0100
-+++ citadel/sysdep_decls.h 2009-04-01 12:01:25.000000000 +0200
-@@ -70,6 +70,7 @@
- void kill_session (int session_to_kill);
- void *sd_context_loop (struct CitContext *con);
- void start_daemon (int do_close_stdio);
-+void checkcrash(void);
- void cmd_nset (char *cmdbuf);
- int convert_login (char *NameToConvert);
- void *worker_thread (void *arg);
Modified: citadel/trunk/debian/patches/series
===================================================================
--- citadel/trunk/debian/patches/series 2009-04-08 09:46:22 UTC (rev 331)
+++ citadel/trunk/debian/patches/series 2009-04-09 17:47:07 UTC (rev 332)
@@ -1 +0,0 @@
-743-744.diff
Modified: libcitadel/trunk/debian/changelog
===================================================================
--- libcitadel/trunk/debian/changelog 2009-04-08 09:46:22 UTC (rev 331)
+++ libcitadel/trunk/debian/changelog 2009-04-09 17:47:07 UTC (rev 332)
@@ -1,3 +1,9 @@
+libcitadel (7.50-1) unstable; urgency=low
+
+ * New upstream version.
+
+ -- Michael Meskes <meskes at debian.org> Thu, 09 Apr 2009 19:37:54 +0200
+
libcitadel (7.43-1) unstable; urgency=high
* New upstream version.
Modified: webcit/trunk/debian/changelog
===================================================================
--- webcit/trunk/debian/changelog 2009-04-08 09:46:22 UTC (rev 331)
+++ webcit/trunk/debian/changelog 2009-04-09 17:47:07 UTC (rev 332)
@@ -1,8 +1,9 @@
-webcit (7.43-dfsg-4) UNRELEASED; urgency=low
+webcit (7.50-dfsg-1) unstable; urgency=low
* Updated Swedish debconf translation, closes: #522980
+ * New upstream version.
- -- Michael Meskes <meskes at debian.org> Wed, 08 Apr 2009 11:46:46 +0200
+ -- Michael Meskes <meskes at debian.org> Thu, 09 Apr 2009 19:42:47 +0200
webcit (7.43-dfsg-3) unstable; urgency=low
Modified: webcit/trunk/debian/control
===================================================================
--- webcit/trunk/debian/control 2009-04-08 09:46:22 UTC (rev 331)
+++ webcit/trunk/debian/control 2009-04-09 17:47:07 UTC (rev 332)
@@ -4,7 +4,7 @@
Maintainer: Debian Citadel Team <pkg-citadel-devel at lists.alioth.debian.org>
Uploaders: Wilfried Goesgens <w.goesgens at outgesourced.org>, Michael Meskes <meskes at debian.org>, Alexander Wirt <formorer at debian.org>
Build-Depends: debhelper (>= 7), po-debconf, libical-dev (>=0.30), gettext, locales,
- libcitadel-dev (>= 7.43), quilt (>= 0.40), autotools-dev, libssl-dev
+ libcitadel-dev (>= 7.50), quilt (>= 0.40), autotools-dev, libssl-dev
Standards-Version: 3.8.1
Vcs-Svn: svn://svn.debian.org/pkg-citadel/webcit/trunk
Vcs-Browser: http://svn.debian.org/viewsvn/pkg-citadel/webcit/trunk/
Deleted: webcit/trunk/debian/patches/743-744.diff
===================================================================
--- webcit/trunk/debian/patches/743-744.diff 2009-04-08 09:46:22 UTC (rev 331)
+++ webcit/trunk/debian/patches/743-744.diff 2009-04-09 17:47:07 UTC (rev 332)
@@ -1,794 +0,0 @@
-diff -ruN webcit-7.43-dfsg.orig/availability.c webcit-7.43-dfsg/availability.c
---- webcit-7.43-dfsg.orig/availability.c 2009-02-20 19:31:00.000000000 +0100
-+++ webcit-7.43-dfsg/availability.c 2009-04-01 12:10:42.000000000 +0200
-@@ -54,29 +54,42 @@
- if (icaltime_is_null_time(t1start)) return(0);
- if (icaltime_is_null_time(t2start)) return(0);
-
-- /* First, check for all-day events */
-- if (t1start.is_date) {
-- if (!icaltime_compare_date_only(t1start, t2start)) {
-- return(1);
-- }
-- if (!icaltime_is_null_time(t2end)) {
-- if (!icaltime_compare_date_only(t1start, t2end)) {
-- return(1);
-- }
-+ /* if either event lacks end time, assume end = start */
-+ if (icaltime_is_null_time(t1end))
-+ memcpy(&t1end, &t1start, sizeof(struct icaltimetype));
-+ else {
-+ if (t1end.is_date && icaltime_compare(t1start, t1end)) {
-+ /*
-+ * the end date is non-inclusive so adjust it by one
-+ * day because our test is inclusive, note that a day is
-+ * not too much because we are talking about all day
-+ * events
-+ * if start = end we assume that nevertheless the whole
-+ * day is meant
-+ */
-+ icaltime_adjust(&t1end, -1, 0, 0, 0);
- }
- }
-
-- if (t2start.is_date) {
-- if (!icaltime_compare_date_only(t2start, t1start)) {
-- return(1);
-- }
-- if (!icaltime_is_null_time(t1end)) {
-- if (!icaltime_compare_date_only(t2start, t1end)) {
-- return(1);
-- }
-+ if (icaltime_is_null_time(t2end))
-+ memcpy(&t2end, &t2start, sizeof(struct icaltimetype));
-+ else {
-+ if (t2end.is_date && icaltime_compare(t2start, t2end)) {
-+ icaltime_adjust(&t2end, -1, 0, 0, 0);
- }
- }
-
-+ /* First, check for all-day events */
-+ if (t1start.is_date || t2start.is_date) {
-+ /* If event 1 ends before event 2 starts, we're in the clear. */
-+ if (icaltime_compare_date_only(t1end, t2start) < 0) return(0);
-+
-+ /* If event 2 ends before event 1 starts, we're also ok. */
-+ if (icaltime_compare_date_only(t2end, t1start) < 0) return(0);
-+
-+ return(1);
-+ }
-+
- /* lprintf (9, "Comparing t1start %d:%d t1end %d:%d t2start %d:%d t2end %d:%d \n",
- t1start.hour, t1start.minute, t1end.hour, t1end.minute,
- t2start.hour, t2start.minute, t2end.hour, t2end.minute);
-@@ -84,10 +97,6 @@
-
- /* Now check for overlaps using date *and* time. */
-
-- /* First, bail out if either event 1 or event 2 is missing end time. */
-- if (icaltime_is_null_time(t1end)) return(0);
-- if (icaltime_is_null_time(t2end)) return(0);
--
- /* If event 1 ends before event 2 starts, we're in the clear. */
- if (icaltime_compare(t1end, t2start) <= 0) return(0);
- /* lprintf(9, "first passed\n"); */
-diff -ruN webcit-7.43-dfsg.orig/calendar_view.c webcit-7.43-dfsg/calendar_view.c
---- webcit-7.43-dfsg.orig/calendar_view.c 2009-03-17 04:27:27.000000000 +0100
-+++ webcit-7.43-dfsg/calendar_view.c 2009-04-01 12:10:42.000000000 +0200
-@@ -163,6 +163,7 @@
- struct icaltimetype end_t;
- struct icaltimetype today_start_t;
- struct icaltimetype today_end_t;
-+ struct icaltimetype today_t;
- struct tm starting_tm;
- struct tm ending_tm;
- int all_day_event = 0;
-@@ -200,6 +201,14 @@
- today_end_t.is_utc = 1;
-
- /*
-+ * Create another one without caring about the timezone for all day events.
-+ */
-+ today_t = icaltime_null_date();
-+ today_t.year = year;
-+ today_t.month = month;
-+ today_t.day = day;
-+
-+ /*
- * Now loop through our list of events to see which ones occur today.
- */
- Pos = GetNewHashPos(WCC->disp_cal_items, 0);
-@@ -224,7 +233,7 @@
-
- if (all_day_event)
- {
-- show_event = ((t.year == year) && (t.month == month) && (t.day == day));
-+ show_event = ical_ctdl_is_overlap(t, end_t, today_t, icaltime_null_time());
- }
- else
- {
-@@ -236,6 +245,10 @@
- */
- if (show_event) {
- p = icalcomponent_get_first_property(Cal->cal, ICAL_SUMMARY_PROPERTY);
-+ if (p == NULL) {
-+ p = icalproperty_new_summary(_("Untitled Event"));
-+ icalcomponent_add_property(Cal->cal, p);
-+ }
- if (p != NULL) {
-
- if (all_day_event) {
-@@ -275,33 +288,62 @@
-
- q = icalcomponent_get_first_property(Cal->cal, ICAL_DTSTART_PROPERTY);
- if (q != NULL) {
-+ int no_end = 0;
-+
- t = icalproperty_get_dtstart(q);
--
-+ q = icalcomponent_get_first_property(Cal->cal, ICAL_DTEND_PROPERTY);
-+ if (q != NULL) {
-+ end_t = icalproperty_get_dtend(q);
-+ }
-+ else {
-+ /*
-+ * events with starting date/time equal
-+ * ending date/time might get only
-+ * DTSTART but no DTEND
-+ */
-+ no_end = 1;
-+ }
-+
- if (t.is_date) {
-+ /* all day event */
- struct tm d_tm;
-- char d_str[32];
-+
-+ if (!no_end) {
-+ /* end given, have to adjust it */
-+ icaltime_adjust(&end_t, -1, 0, 0, 0);
-+ }
- memset(&d_tm, 0, sizeof d_tm);
- d_tm.tm_year = t.year - 1900;
- d_tm.tm_mon = t.month - 1;
- d_tm.tm_mday = t.day;
-- wc_strftime(d_str, sizeof d_str, "%x", &d_tm);
-- wprintf("<i>%s</i> %s<br>",
-- _("Date:"), d_str);
-+ wc_strftime(buf, sizeof buf, "%x", &d_tm);
-+
-+ if (no_end || !icaltime_compare(t, end_t)) {
-+ wprintf("<i>%s</i> %s<br>",
-+ _("Date:"), buf);
-+ }
-+ else {
-+ wprintf("<i>%s</i> %s<br>",
-+ _("Starting date:"), buf);
-+ d_tm.tm_year = end_t.year - 1900;
-+ d_tm.tm_mon = end_t.month - 1;
-+ d_tm.tm_mday = end_t.day;
-+ wc_strftime(buf, sizeof buf, "%x", &d_tm);
-+ wprintf("<i>%s</i> %s<br>",
-+ _("Ending date:"), buf);
-+ }
- }
- else {
- tt = icaltime_as_timet(t);
- webcit_fmt_date(buf, tt, DATEFMT_BRIEF);
-- wprintf("<i>%s</i> %s<br>",
-- _("Starting date/time:"), buf);
--
-- /*
-- * Embed the 'show end date/time' loop inside here so it
-- * only executes if this is NOT an all day event.
-- */
-- q = icalcomponent_get_first_property(Cal->cal, ICAL_DTEND_PROPERTY);
-- if (q != NULL) {
-- t = icalproperty_get_dtend(q);
-- tt = icaltime_as_timet(t);
-+ if (no_end || !icaltime_compare(t, end_t)) {
-+ wprintf("<i>%s</i> %s<br>",
-+ _("Date/time:"), buf);
-+ }
-+ else {
-+ wprintf("<i>%s</i> %s<br>",
-+ _("Starting date/time:"), buf);
-+ tt = icaltime_as_timet(end_t);
- webcit_fmt_date(buf, tt, DATEFMT_BRIEF);
- wprintf("<i>%s</i> %s<br>", _("Ending date/time:"), buf);
- }
-@@ -400,6 +442,10 @@
- p = icalcomponent_get_first_property(
- Cal->cal,
- ICAL_SUMMARY_PROPERTY);
-+ if (p == NULL) {
-+ p = icalproperty_new_summary(_("Untitled Event"));
-+ icalcomponent_add_property(Cal->cal, p);
-+ }
- e = icalcomponent_get_first_property(
- Cal->cal,
- ICAL_DTEND_PROPERTY);
-@@ -770,6 +816,7 @@
- struct icaltimetype end_t;
- struct icaltimetype today_start_t;
- struct icaltimetype today_end_t;
-+ struct icaltimetype today_t;
- struct tm starting_tm;
- struct tm ending_tm;
- int top = 0;
-@@ -780,8 +827,6 @@
- int endmin = 0;
-
- char buf[256];
-- struct tm d_tm;
-- char d_str[32];
-
- if (GetCount(WCC->disp_cal_items) == 0) {
- /* nothing to display */
-@@ -809,6 +854,14 @@
- today_end_t = icaltime_from_timet_with_zone(mktime(&ending_tm), 0, icaltimezone_get_utc_timezone());
- today_end_t.is_utc = 1;
-
-+ /*
-+ * Create another one without caring about the timezone for all day events.
-+ */
-+ today_t = icaltime_null_date();
-+ today_t.year = year;
-+ today_t.month = month;
-+ today_t.day = day;
-+
- /* Now loop through our list of events to see which ones occur today.
- */
- Pos = GetNewHashPos(WCC->disp_cal_items, 0);
-@@ -827,29 +880,46 @@
- else {
- memset(&t, 0, sizeof t);
- }
-+
-+ if (t.is_date) all_day_event = 1;
-+
- q = icalcomponent_get_first_property(Cal->cal, ICAL_DTEND_PROPERTY);
- if (q != NULL) {
- end_t = icalproperty_get_dtend(q);
-- event_tte = icaltime_as_timet(end_t);
-- localtime_r(&event_tte, &event_tm);
- }
- else {
-- memset(&end_t, 0, sizeof end_t);
-+ /* no end given means end = start */
-+ memcpy(&end_t, &t, sizeof(struct icaltimetype));
- }
-- if (t.is_date) all_day_event = 1;
-
- if (all_day_event)
- {
-- show_event = ((t.year == year) && (t.month == month) && (t.day == day) && (notime_events));
-+ show_event = ical_ctdl_is_overlap(t, end_t, today_t, icaltime_null_time());
-+ if (icaltime_compare(t, end_t)) {
-+ /*
-+ * the end date is non-inclusive so adjust it by one
-+ * day because our test is inclusive, note that a day is
-+ * not to much because we are talking about all day
-+ * events
-+ */
-+ icaltime_adjust(&end_t, -1, 0, 0, 0);
-+ }
- }
- else
- {
- show_event = ical_ctdl_is_overlap(t, end_t, today_start_t, today_end_t);
- }
-
-+ event_tte = icaltime_as_timet(end_t);
-+ localtime_r(&event_tte, &event_tm);
-+
- /* If we determined that this event occurs today, then display it.
- */
- p = icalcomponent_get_first_property(Cal->cal,ICAL_SUMMARY_PROPERTY);
-+ if (p == NULL) {
-+ p = icalproperty_new_summary(_("Untitled Event"));
-+ icalcomponent_add_property(Cal->cal, p);
-+ }
-
- if ((show_event) && (p != NULL)) {
-
-@@ -874,13 +944,17 @@
- wprintf("<i>%s</i> ", _("Location:"));
- escputs((char *)icalproperty_get_comment(q));
- wprintf("<br />");
-- }
-- memset(&d_tm, 0, sizeof d_tm);
-- d_tm.tm_year = t.year - 1900;
-- d_tm.tm_mon = t.month - 1;
-- d_tm.tm_mday = t.day;
-- wc_strftime(d_str, sizeof d_str, "%x", &d_tm);
-- wprintf("<i>%s</i> %s<br>",_("Date:"), d_str);
-+ }
-+ if (!icaltime_compare(t, end_t)) { /* one day only */
-+ webcit_fmt_date(buf, event_tt, DATEFMT_LOCALEDATE);
-+ wprintf("<i>%s</i> %s<br>", _("Date:"), buf);
-+ }
-+ else {
-+ webcit_fmt_date(buf, event_tt, DATEFMT_LOCALEDATE);
-+ wprintf("<i>%s</i> %s<br>", _("Starting date:"), buf);
-+ webcit_fmt_date(buf, event_tte, DATEFMT_LOCALEDATE);
-+ wprintf("<i>%s</i> %s<br>", _("Ending date:"), buf);
-+ }
- q = icalcomponent_get_first_property(Cal->cal,ICAL_DESCRIPTION_PROPERTY);
- if (q) {
- wprintf("<i>%s</i> ", _("Notes:"));
-@@ -992,10 +1066,16 @@
- escputs((char *)icalproperty_get_comment(q));
- wprintf("<br />");
- }
-- webcit_fmt_date(buf, event_tt, DATEFMT_BRIEF);
-- wprintf("<i>%s</i> %s<br>", _("Starting date/time:"), buf);
-- webcit_fmt_date(buf, event_tte, DATEFMT_BRIEF);
-- wprintf("<i>%s</i> %s<br>", _("Ending date/time:"), buf);
-+ if (!icaltime_compare(t, end_t)) { /* one day only */
-+ webcit_fmt_date(buf, event_tt, DATEFMT_BRIEF);
-+ wprintf("<i>%s</i> %s<br>", _("Date/time:"), buf);
-+ }
-+ else {
-+ webcit_fmt_date(buf, event_tt, DATEFMT_BRIEF);
-+ wprintf("<i>%s</i> %s<br>", _("Starting date/time:"), buf);
-+ webcit_fmt_date(buf, event_tte, DATEFMT_BRIEF);
-+ wprintf("<i>%s</i> %s<br>", _("Ending date/time:"), buf);
-+ }
- q = icalcomponent_get_first_property(Cal->cal,ICAL_DESCRIPTION_PROPERTY);
- if (q) {
- wprintf("<i>%s</i> ", _("Notes:"));
-@@ -1294,6 +1374,10 @@
- ) {
-
- p = icalcomponent_get_first_property(Cal->cal, ICAL_SUMMARY_PROPERTY);
-+ if (p == NULL) {
-+ p = icalproperty_new_summary(_("Untitled Task"));
-+ icalcomponent_add_property(Cal->cal, p);
-+ }
- if (p != NULL) {
-
-
-diff -ruN webcit-7.43-dfsg.orig/event.c webcit-7.43-dfsg/event.c
---- webcit-7.43-dfsg.orig/event.c 2009-03-17 04:27:27.000000000 +0100
-+++ webcit-7.43-dfsg/event.c 2009-04-01 12:10:42.000000000 +0200
-@@ -242,25 +242,34 @@
- }
- }
- else {
-- /*
-- * If this is an all-day-event, set the end time to be identical to
-- * the start time (the hour/minute/second will be set to midnight).
-- * Otherwise extract or create it.
-- */
-- if (t_start.is_date) {
-- t_end = t_start;
-+ if (created_new_vevent == 1) {
-+ /* set default duration */
-+ if (t_start.is_date) {
-+ /*
-+ * If this is an all-day-event, set the end time to be identical to
-+ * the start time (the hour/minute/second will be set to midnight).
-+ */
-+ t_end = t_start;
-+ }
-+ else {
-+ /*
-+ * If this is not an all-day event and there is no
-+ * end time specified, make the default one hour
-+ * from the start time.
-+ */
-+ t_end = t_start;
-+ t_end.hour += 1;
-+ t_end.second = 0;
-+ t_end = icaltime_normalize(t_end);
-+ /* t_end = icaltime_from_timet(now, 0); */
-+ }
- }
- else {
- /*
-- * If this is not an all-day event and there is no
-- * end time specified, make the default one hour
-- * from the start time.
-+ * If an existing event has no end date/time this is
-+ * supposed to mean end = start.
- */
- t_end = t_start;
-- t_end.hour += 1;
-- t_end.second = 0;
-- t_end = icaltime_normalize(t_end);
-- /* t_end = icaltime_from_timet(now, 0); */
- }
- }
- display_icaltimetype_as_webform(&t_end, "dtend", 0);
-diff -ruN webcit-7.43-dfsg.orig/fmt_date.c webcit-7.43-dfsg/fmt_date.c
---- webcit-7.43-dfsg.orig/fmt_date.c 2009-03-17 04:27:27.000000000 +0100
-+++ webcit-7.43-dfsg/fmt_date.c 2009-04-01 12:10:42.000000000 +0200
-@@ -67,6 +67,7 @@
- * show the month and day, and the time
- * older than 6 months, show only the date
- * DATEFMT_RAWDATE: show full date, regardless of age
-+ * DATEFMT_LOCALEDATE: show full date as prefered for the locale
- */
-
- switch (Format) {
-@@ -98,6 +99,9 @@
- case DATEFMT_RAWDATE:
- wc_strftime(buf, 32, "%a %b %d %Y", &tm);
- break;
-+ case DATEFMT_LOCALEDATE:
-+ wc_strftime(buf, 32, "%x", &tm);
-+ break;
- }
- }
-
-diff -ruN webcit-7.43-dfsg.orig/messages.c webcit-7.43-dfsg/messages.c
---- webcit-7.43-dfsg.orig/messages.c 2009-03-17 04:27:27.000000000 +0100
-+++ webcit-7.43-dfsg/messages.c 2009-04-01 12:10:42.000000000 +0200
-@@ -399,6 +399,7 @@
- long len;
- int n;
- int skipit;
-+ const char *Ptr;
-
- if (WCC->summ != NULL) {
- DeleteHash(&WCC->summ);
-@@ -408,23 +409,24 @@
-
- Buf = NewStrBuf();
- serv_puts(servcmd);
-- StrBuf_ServGetln(Buf);
-+ StrBuf_ServGetlnBuffered(Buf);
- if (GetServerStatus(Buf, NULL) != 1) {
- FreeStrBuf(&Buf);
- return (nummsgs);
- }
- Buf2 = NewStrBuf();
-- while (len = StrBuf_ServGetln(Buf),
-+ while (len = StrBuf_ServGetlnBuffered(Buf),
- ((len != 3) ||
- strcmp(ChrPtr(Buf), "000")!= 0))
- {
- if (nummsgs < maxload) {
- skipit = 0;
-+ Ptr = NULL;
- Msg = (message_summary*)malloc(sizeof(message_summary));
- memset(Msg, 0, sizeof(message_summary));
-
-- Msg->msgnum = StrBufExtract_long(Buf, 0, '|');
-- Msg->date = StrBufExtract_long(Buf, 1, '|');
-+ Msg->msgnum = StrBufExtractNext_long(Buf, &Ptr, '|');
-+ Msg->date = StrBufExtractNext_long(Buf, &Ptr, '|');
- /*
- * as citserver probably gives us messages in forward date sorting
- * nummsgs should be the same order as the message date.
-@@ -436,14 +438,14 @@
- }
- if (!skipit) {
- Msg->from = NewStrBufPlain(NULL, StrLength(Buf));
-- StrBufExtract_token(Buf2, Buf, 2, '|');
-+ StrBufExtract_NextToken(Buf2, Buf, &Ptr, '|');
- if (StrLength(Buf2) != 0) {
- /** Handle senders with RFC2047 encoding */
- StrBuf_RFC822_to_Utf8(Msg->from, Buf2, WCC->DefaultCharset, FoundCharset);
- }
-
- /** Nodename */
-- StrBufExtract_token(Buf2, Buf, 3, '|');
-+ StrBufExtract_NextToken(Buf2, Buf, &Ptr, '|');
- if ((StrLength(Buf2) !=0 ) &&
- ( ((WCC->room_flags & QR_NETWORK)
- || ((strcasecmp(ChrPtr(Buf2), ChrPtr(WCC->serv_info->serv_nodename))
-@@ -456,9 +458,9 @@
- /** Not used:
- StrBufExtract_token(Msg->inetaddr, Buf, 4, '|');
- */
--
-+ StrBufSkip_NTokenS(Buf, &Ptr, '|', 1);
- Msg->subj = NewStrBufPlain(NULL, StrLength(Buf));
-- StrBufExtract_token(Buf2, Buf, 5, '|');
-+ StrBufExtract_NextToken(Buf2, Buf, &Ptr, '|');
- if (StrLength(Buf2) == 0)
- StrBufAppendBufPlain(Msg->subj, _("(no subject)"), -1,0);
- else {
-@@ -1158,9 +1160,10 @@
- {
- const StrBuf *ref = sbstr("references");
- references = NewStrBufPlain(ChrPtr(ref), StrLength(ref));
-- lprintf(9, "Converting: %s\n", ChrPtr(references));
-+ if (*ChrPtr(references) == '|') { /* remove leading '|' if present */
-+ StrBufCutLeft(references, 1);
-+ }
- StrBufReplaceChars(references, '|', '!');
-- lprintf(9, "Converted: %s\n", ChrPtr(references));
- }
- if (havebstr("subject")) {
- const StrBuf *Subj;
-diff -ruN webcit-7.43-dfsg.orig/msg_renderers.c webcit-7.43-dfsg/msg_renderers.c
---- webcit-7.43-dfsg.orig/msg_renderers.c 2009-03-17 04:27:27.000000000 +0100
-+++ webcit-7.43-dfsg/msg_renderers.c 2009-04-01 12:10:42.000000000 +0200
-@@ -1132,7 +1132,7 @@
- RegisterNamespace("MAIL:SUMM:ORGROOM", 0, 2, tmplput_MAIL_SUMM_ORGROOM, CTX_MAILSUM);
- RegisterNamespace("MAIL:SUMM:RFCA", 0, 2, tmplput_MAIL_SUMM_RFCA, CTX_MAILSUM);
- RegisterNamespace("MAIL:SUMM:OTHERNODE", 2, 0, tmplput_MAIL_SUMM_OTHERNODE, CTX_MAILSUM);
-- RegisterNamespace("MAIL:SUMM:REFIDS", 0, 0, tmplput_MAIL_SUMM_REFIDS, CTX_MAILSUM);
-+ RegisterNamespace("MAIL:SUMM:REFIDS", 0, 1, tmplput_MAIL_SUMM_REFIDS, CTX_MAILSUM);
- RegisterNamespace("MAIL:SUMM:INREPLYTO", 0, 2, tmplput_MAIL_SUMM_INREPLYTO, CTX_MAILSUM);
- RegisterNamespace("MAIL:BODY", 0, 2, tmplput_MAIL_BODY, CTX_MAILSUM);
- RegisterNamespace("MAIL:QUOTETEXT", 1, 2, tmplput_QUOTED_MAIL_BODY, CTX_NONE);
-diff -ruN webcit-7.43-dfsg.orig/paging.c webcit-7.43-dfsg/paging.c
---- webcit-7.43-dfsg.orig/paging.c 2009-02-20 19:31:00.000000000 +0100
-+++ webcit-7.43-dfsg/paging.c 2009-04-01 12:10:42.000000000 +0200
-@@ -1,15 +1,11 @@
- /*
- * $Id: paging.c 6912 2009-01-08 23:11:56Z dothebart $
- */
--/**
-- * \defgroup PageFunc Functions which implement the chat and paging facilities.
-- * \ingroup ClientPower
-- */
--/*@{*/
-+
- #include "webcit.h"
-
--/**
-- * \brief display the form for paging (x-messaging) another user
-+/*
-+ * display the form for paging (x-messaging) another user
- */
- void display_page(void)
- {
-@@ -501,6 +497,25 @@
- wDumpContent(0);
- }
-
-+
-+void ajax_send_instant_message(void) {
-+ char recp[256];
-+ char buf[256];
-+
-+ safestrncpy(recp, bstr("recp"), sizeof recp);
-+
-+ serv_printf("SEXP %s|-", recp);
-+ serv_getln(buf, sizeof buf);
-+
-+ if (buf[0] == '4') {
-+ text_to_server(bstr("msg"));
-+ serv_puts("000");
-+ }
-+
-+ escputs(buf); /* doesn't really matter what we return - the client ignores it */
-+}
-+
-+
- void
- InitModule_PAGING
- (void)
-@@ -510,6 +525,5 @@
- WebcitAddUrlHandler(HKEY("chat"), do_chat, 0);
- WebcitAddUrlHandler(HKEY("chat_recv"), chat_recv, 0);
- WebcitAddUrlHandler(HKEY("chat_send"), chat_send, 0);
-+ WebcitAddUrlHandler(HKEY("ajax_send_instant_message"), ajax_send_instant_message, AJAX);
- }
--
--/*@}*/
-diff -ruN webcit-7.43-dfsg.orig/po/es.po webcit-7.43-dfsg/po/es.po
---- webcit-7.43-dfsg.orig/po/es.po 2009-03-17 04:27:26.000000000 +0100
-+++ webcit-7.43-dfsg/po/es.po 2009-04-01 12:10:42.000000000 +0200
-@@ -4,7 +4,8 @@
- #
- # Spanish translation
- # Copyright (C) 2005 - 2009 By Gabriel C. Huertas
--# This file is distributed under GPL v2 <TODO>
-+# This file is distributed under the GNU General Public License;
-+# either Version 2 or (at your option) any later version.
- #
- #, fuzzy
- msgid ""
-diff -ruN webcit-7.43-dfsg.orig/README.txt webcit-7.43-dfsg/README.txt
---- webcit-7.43-dfsg.orig/README.txt 2009-03-17 04:27:27.000000000 +0100
-+++ webcit-7.43-dfsg/README.txt 2009-04-01 12:10:42.000000000 +0200
-@@ -1,5 +1,5 @@
- WEBCIT for the Citadel System
-- version 7.43
-+ version 7.44
-
- Copyright (C) 1996-2009 by the authors. Portions written by:
-
-diff -ruN webcit-7.43-dfsg.orig/roomops.c webcit-7.43-dfsg/roomops.c
---- webcit-7.43-dfsg.orig/roomops.c 2009-03-17 04:27:27.000000000 +0100
-+++ webcit-7.43-dfsg/roomops.c 2009-04-01 12:10:42.000000000 +0200
-@@ -4020,30 +4020,23 @@
-
- switch(WCC->wc_view) {
- case VIEW_BBS:
-- return TP->Tokens->Params[2]->Start[7]=='B';
-+ return (!strcasecmp(TP->Tokens->Params[2]->Start, "VIEW_BBS"));
- case VIEW_MAILBOX:
-- return TP->Tokens->Params[2]->Start[7]=='M';
-+ return (!strcasecmp(TP->Tokens->Params[2]->Start, "VIEW_MAILBOX"));
- case VIEW_ADDRESSBOOK:
-- return TP->Tokens->Params[2]->Start[7]=='A';
-+ return (!strcasecmp(TP->Tokens->Params[2]->Start, "VIEW_ADDRESSBOOK"));
- case VIEW_TASKS:
-- return TP->Tokens->Params[2]->Start[7]=='T';
-+ return (!strcasecmp(TP->Tokens->Params[2]->Start, "VIEW_TASKS"));
- case VIEW_NOTES:
-- return TP->Tokens->Params[2]->Start[7]=='N';
-+ return (!strcasecmp(TP->Tokens->Params[2]->Start, "VIEW_NOTES"));
- case VIEW_WIKI:
-- return TP->Tokens->Params[2]->Start[7]=='W';
-+ return (!strcasecmp(TP->Tokens->Params[2]->Start, "VIEW_WIKI"));
- case VIEW_JOURNAL:
-- return TP->Tokens->Params[2]->Start[7]=='J';
--
-+ return (!strcasecmp(TP->Tokens->Params[2]->Start, "VIEW_JOURNAL"));
- case VIEW_CALENDAR:
-- if (TP->Tokens->Params[2]->len < 13)
-- return 0;
-- return TP->Tokens->Params[2]->Start[10]=='E';
--
-+ return (!strcasecmp(TP->Tokens->Params[2]->Start, "VIEW_CALENDAR"));
- case VIEW_CALBRIEF:
-- if (TP->Tokens->Params[3]->len < 13)
-- return 0;
-- return TP->Tokens->Params[2]->Start[10]=='B';
--
-+ return (!strcasecmp(TP->Tokens->Params[2]->Start, "VIEW_CALBRIEF"));
- default:
- return 0;
- }
-diff -ruN webcit-7.43-dfsg.orig/static/instant_messenger.html webcit-7.43-dfsg/static/instant_messenger.html
---- webcit-7.43-dfsg.orig/static/instant_messenger.html 2009-03-17 04:27:27.000000000 +0100
-+++ webcit-7.43-dfsg/static/instant_messenger.html 2009-04-01 12:10:42.000000000 +0200
-@@ -55,8 +55,9 @@
-
- // Send the text to the server
- parms = 'r=' + Math.random()
-- + '&g_cmd=SEXP ' + recipient + '|-\n' + escape(thetext);
-- new Ajax.Request('../ajax_servcmd',
-+ + '&recp=' + recipient
-+ + '&msg=' + encodeURIComponent(thetext);
-+ new Ajax.Request('../ajax_send_instant_message',
- {
- method: 'post',
- parameters: parms
-diff -ruN webcit-7.43-dfsg.orig/static/summaryview.js webcit-7.43-dfsg/static/summaryview.js
---- webcit-7.43-dfsg.orig/static/summaryview.js 2009-03-17 04:27:27.000000000 +0100
-+++ webcit-7.43-dfsg/static/summaryview.js 2009-04-01 12:10:42.000000000 +0200
-@@ -272,6 +272,7 @@
- method: 'post',
- parameters: 'g_cmd=SEEN ' + msgId + '|1',
- onComplete: CtdlMarkRowAsRead(parent)});
-+ // If the shift key modifier is used, mark a range...
- } else if (event.button != 2 && event.shiftKey) {
- markRow(parent);
- var rowId = parent.ctdlRowId;
-@@ -288,8 +289,14 @@
- WCLog("Marking row "+x);
- markRow(rowArray[x]);
- }
-+ // If the ctrl key modifier is used, toggle one message
- } else if (event.button != 2 && (event.ctrlKey || event.altKey)) {
-- markRow(parent);
-+ if (parent.ctdlMarked == true) {
-+ unmarkRow(parent);
-+ }
-+ else {
-+ markRow(parent);
-+ }
- }
- }
- function CtdlMarkRowAsRead(rowElement) {
-@@ -338,7 +345,7 @@
- currentSorterToggle.className = "";
- }
- }
--function markRow( row) {
-+function markRow(row) {
- var msgId = row.ctdlMsgId;
- row.className = row.className += " marked_row";
- row.ctdlMarked = true;
-diff -ruN webcit-7.43-dfsg.orig/static/t/richedit.html webcit-7.43-dfsg/static/t/richedit.html
---- webcit-7.43-dfsg.orig/static/t/richedit.html 2009-02-20 19:30:59.000000000 +0100
-+++ webcit-7.43-dfsg/static/t/richedit.html 2009-04-01 12:10:42.000000000 +0200
-@@ -6,7 +6,7 @@
- browsers : "msie,gecko,safari,opera",
- theme : "advanced",
- plugins : "iespell",
-- theme_advanced_buttons1 : "bold, italic, underline, strikethrough, justifyleft, justifycenter, justifyright, justifyfull, bullist, numlist, cut, copy, paste, link, image, help, forecolor, iespell, code",
-+ theme_advanced_buttons1 : "bold, italic, underline, strikethrough, justifyleft, justifycenter, justifyright, justifyfull, blockquote, bullist, numlist, cut, copy, paste, link, image, help, forecolor, iespell, code",
- theme_advanced_buttons2 : "",
- theme_advanced_buttons3 : "",
- content_css : "static/webcit-tinymce.css"
-diff -ruN webcit-7.43-dfsg.orig/static/t/view_message.html webcit-7.43-dfsg/static/t/view_message.html
---- webcit-7.43-dfsg.orig/static/t/view_message.html 2009-03-17 04:27:27.000000000 +0100
-+++ webcit-7.43-dfsg/static/t/view_message.html 2009-04-01 12:10:42.000000000 +0200
-@@ -12,35 +12,26 @@
- <?!("COND:MAIL:ANON", 4)>****<??("X", 4)>
- <?!("COND:MAIL:TO", 5)><?_("to")> <?MAIL:SUMM:TO("X")><?!("X", 5)><br/>
- <?!("COND:MAIL:SUMM:CCCC", 6)><?_("CC:")><?MAIL:SUMM:CCCC("X")><??("X", 6)>
--<?!("COND:MAIL:SUBJ", 7)><p class="message_subject"><?_("Subject:")> <?MAIL:SUMM:SUBJECT></p><??("X", 7)>
-+<?!("COND:MAIL:SUBJ", 7)><p class="message_subject"><?_("Subject:")> <?MAIL:SUMM:SUBJECT("X")></p><??("X", 7)>
- <p style="visibility: hidden;" id="msg<?MAIL:SUMM:N>" class="msgbuttons">
--
--<?!("COND:MAIL:SUMM:RFCA", 8)>
-- <??("COND:ROOM:TYPE_IS", 9, "VIEW_BBS")>
-- <a href="display_enter?recp=%22<?MAIL:SUMM:FROM("U")>%22%3C<?MAIL:SUMM:RFCA("U")>%3E&references=<?MAIL:SUMM:INREPLYTO("U")>%3C<?MAIL:SUMM:RFCA("U")>%3E&subject=<?MAIL:SUMM:SUBJECT("U", 0, "Re:%20", "Re:")>"><span>[</span><?_("Reply")><span>]</span></a>
-- <a href="display_enter?recp=%22<?MAIL:SUMM:FROM("U")>%22%3C<?MAIL:SUMM:RFCA("U")>%3E%2C<?MAIL:SUMM:ALLRCPT("U")>&references=<?MAIL:SUMM:INREPLYTO("U")>%3C<?MAIL:SUMM:RFCA("U")>%3E&subject=<?MAIL:SUMM:SUBJECT("U", 0, "Re:%20", "Re:")>"><span>[</span><?_("ReplyAll")><span>]</span></a>
-- <a href="display_enter?fwdquote=<?MAIL:SUMM:N>&subject=<?MAIL:SUMM:SUBJECT("U", 0, "Fwd:%%20", "Fwd:")>"><span>[</span><?_("Forward")><span>]</span></a>
-- <??("X", 9)>
--
-- <?!("COND:ROOM:TYPE_IS", 10, "VIEW_BBS")>
-- <a href="display_enter?recp=%22<?MAIL:SUMM:FROM("U")>%22%3C<?MAIL:SUMM:RFCA("U")>%3E&references=<?MAIL:SUMM:INREPLYTO("U")>%3C<?MAIL:SUMM:RFCA("U")>%3E&subject=<?MAIL:SUMM:SUBJECT("U", 0, "Re:%20", "Re:")>"><span>[</span><?_("Reply")><span>]</span></a>
-- <a href="display_enter?replyquote=<?MAIL:SUMM:N>&recp=%22<?MAIL:SUMM:FROM("U")>%22%3C<?MAIL:SUMM:RFCA("U")>%3E&references=<?MAIL:SUMM:INREPLYTO("U")>%3C<?MAIL:SUMM:RFCA("U")>%3E&subject=<?MAIL:SUMM:SUBJECT("U", 0, "Re:%%20", "Re:")>"><span>[</span><?_("ReplyQuoted")><span>]</span></a>
-- <?!("X", 10)>
-+<?!("COND:ROOM:TYPE_IS", 8, "VIEW_BBS")>
-+ <a href="display_enter?references=<?MAIL:SUMM:REFIDS("U")>%7C<?MAIL:SUMM:INREPLYTO("U")>?subject=<?MAIL:SUMM:SUBJECT("U", 0, "Re:%20", "Re:")>"><span>[</span><?_("Reply")><span>]</span></a>
-+ <a href="display_enter?references=<?MAIL:SUMM:REFIDS("U")>%7C<?MAIL:SUMM:INREPLYTO("U")>?replyquote=<?MAIL:SUMM:N>&recp=%22<?MAIL:SUMM:FROM("U")>%22%3C<?MAIL:SUMM:RFCA("U")>%3E?subject=<?MAIL:SUMM:SUBJECT("U", 0, "Re:%%20", "Re:")>"><span>[</span><?_("ReplyQuoted")><span>]</span></a>
- <?!("X", 8)>
--<??("COND:MAIL:SUMM:RFCA", 11)>
-- <??("COND:ROOM:TYPE_IS", 12, "VIEW_BBS")>
-- <a href="display_enter?recp=<?MAIL:SUMM:FROM("U")>&references=<?MAIL:SUMM:INREPLYTO("U")>%3C<?MAIL:SUMM:RFCA("U")>%3E&subject=<?MAIL:SUMM:SUBJECT("U", 0, "Re:%20", "Re:")>"><span>[</span><?_("Reply")><span>]</span></a>
-- <a href="display_enter?recp=<?MAIL:SUMM:FROM("U")>%2C<?MAIL:SUMM:ALLRCPT("U")>&references=<?MAIL:SUMM:INREPLYTO("U")>%3C<?MAIL:SUMM:RFCA("U")>%3E&subject=<?MAIL:SUMM:SUBJECT("U", 0, "Re:%20", "Re:")>"><span>[</span><?_("ReplyAll")><span>]</span></a>
-- <a href="display_enter?fwdquote=<?MAIL:SUMM:N>&subject=<?MAIL:SUMM:SUBJECT("U", 0, "Fwd:%%20", "Fwd:")>"><span>[</span><?_("Forward")><span>]</span></a>
-- <??("X", 12)>
--
-- <?!("COND:ROOM:TYPE_IS", 13, "VIEW_BBS")>
-- <a href="display_enter?recp=<?MAIL:SUMM:FROM("U")>&references=<?MAIL:SUMM:INREPLYTO("U")>%3C<?MAIL:SUMM:RFCA("U")>%3E&subject=<?MAIL:SUMM:SUBJECT("U", 0, "Re:%20", "Re:")>"><span>[</span><?_("Reply")><span>]</span></a>
-- <a href="display_enter?replyquote=<?MAIL:SUMM:N>&recp=<?MAIL:SUMM:FROM("U")>&references=<?MAIL:SUMM:INREPLYTO("U")>%3C<?MAIL:SUMM:RFCA("U")>%3E&subject=<?MAIL:SUMM:SUBJECT("U", 0, "Re:%%20", "Re:")>"><span>[</span><?_("ReplyQuoted")><span>]</span></a>
-- <?!("X", 13)>
--<??("X", 11)>
-- <a href="confirm_move_msg?msgid=<?MAIL:SUMM:N>"><span>[</span><?_("Move")><span>]</span></a>
-+<??("COND:ROOM:TYPE_IS", 9, "VIEW_BBS")>
-+ <?!("COND:MAIL:SUMM:RFCA", 10)>
-+ <a href="display_enter?references=<?MAIL:SUMM:REFIDS("U")>%7C<?MAIL:SUMM:INREPLYTO("U")>?replyquote=<?MAIL:SUMM:N>?recp=%22<?MAIL:SUMM:FROM("U")>%22%3C<?MAIL:SUMM:RFCA("U")>%3E?subject=<?MAIL:SUMM:SUBJECT("U", 0, "Re:%20", "Re:")>"><span>[</span><?_("Reply")><span>]</span></a>
-+ <a href="display_enter?references=<?MAIL:SUMM:REFIDS("U")>%7C<?MAIL:SUMM:INREPLYTO("U")>?replyquote=<?MAIL:SUMM:N>?recp=%22<?MAIL:SUMM:FROM("U")>%22%3C<?MAIL:SUMM:RFCA("U")>%3E%2C<?MAIL:SUMM:ALLRCPT("U")>?subject=<?MAIL:SUMM:SUBJECT("U", 0, "Re:%20", "Re:")>"><span>[</span><?_("ReplyAll")><span>]</span></a>
-+ <a href="display_enter?references=<?MAIL:SUMM:REFIDS("U")>%7C<?MAIL:SUMM:INREPLYTO("U")>?fwdquote=<?MAIL:SUMM:N>&subject=<?MAIL:SUMM:SUBJECT("U", 0, "Fwd:%%20", "Fwd:")>"><span>[</span><?_("Forward")><span>]</span></a>
-+ <?!("X", 10)>
-+ <??("COND:MAIL:SUMM:RFCA", 11)>
-+ <a href="display_enter?references=<?MAIL:SUMM:REFIDS("U")>%7C<?MAIL:SUMM:INREPLYTO("U")>?replyquote=<?MAIL:SUMM:N>?recp=<?MAIL:SUMM:FROM("U")>?subject=<?MAIL:SUMM:SUBJECT("U", 0, "Re:%20", "Re:")>"><span>[</span><?_("Reply")><span>]</span></a>
-+ <a href="display_enter?references=<?MAIL:SUMM:REFIDS("U")>%7C<?MAIL:SUMM:INREPLYTO("U")>?replyquote=<?MAIL:SUMM:N>?recp=<?MAIL:SUMM:FROM("U")>%2C<?MAIL:SUMM:ALLRCPT("U")>?subject=<?MAIL:SUMM:SUBJECT("U", 0, "Re:%20", "Re:")>"><span>[</span><?_("ReplyAll")><span>]</span></a>
-+ <a href="display_enter?references=<?MAIL:SUMM:REFIDS("U")>%7C<?MAIL:SUMM:INREPLYTO("U")>?fwdquote=<?MAIL:SUMM:N>?subject=<?MAIL:SUMM:SUBJECT("U", 0, "Fwd:%%20", "Fwd:")>"><span>[</span><?_("Forward")><span>]</span></a>
-+ <??("X", 11)>
-+<??("X", 9)>
- <?!("COND:ROOM:EDITACCESS", 14)>
-+ <a href="confirm_move_msg?msgid=<?MAIL:SUMM:N>"><span>[</span><?_("Move")><span>]</span></a>
- <a href="delete_msg?msgid=<?MAIL:SUMM:N>" onclick="return confirm('<?_("Delete this message?")>');"><span>[</span><?_("Delete")><span>]</span> </a>
- <??("X", 14)>
- <a href="#" onclick="window.open('msgheaders/<?MAIL:SUMM:N>', 'headers<?MAIL:SUMM:N>', 'toolbar=no,location=no,directories=no,copyhistory=no,status=yes,scrollbars=yes,resizable=yes,width=600,height=400'); "><span>[</span><?_("Headers")><span>]</span></a>
-diff -ruN webcit-7.43-dfsg.orig/webcit.c webcit-7.43-dfsg/webcit.c
---- webcit-7.43-dfsg.orig/webcit.c 2009-02-20 19:31:00.000000000 +0100
-+++ webcit-7.43-dfsg/webcit.c 2009-04-01 12:10:42.000000000 +0200
-@@ -845,6 +845,8 @@
- MINIMUM_CIT_VERSION / 100,
- MINIMUM_CIT_VERSION % 100
- );
-+ hprintf("HTTP/1.1 200 OK\r\n");
-+ hprintf("Content-type: text/plain; charset=utf-8\r\n");
- end_burst();
- end_webcit_session();
- goto SKIP_ALL_THIS_CRAP;
-diff -ruN webcit-7.43-dfsg.orig/webcit.h webcit-7.43-dfsg/webcit.h
---- webcit-7.43-dfsg.orig/webcit.h 2009-03-17 04:27:27.000000000 +0100
-+++ webcit-7.43-dfsg/webcit.h 2009-04-01 12:10:42.000000000 +0200
-@@ -113,9 +113,9 @@
- #define PORT_NUM 2000 /* port number to listen on */
- #define DEVELOPER_ID 0
- #define CLIENT_ID 4
--#define CLIENT_VERSION 743 /* This version of WebCit */
--#define MINIMUM_CIT_VERSION 743 /* min required Citadel ver */
- #define LIBCITADEL_MIN 743 /* min required libcitadel ver */
-+#define CLIENT_VERSION 744 /* This version of WebCit */
-+#define MINIMUM_CIT_VERSION 744 /* min required Citadel ver */
- #define DEFAULT_HOST "localhost" /* Default Citadel server */
- #define DEFAULT_PORT "504"
- #define TARGET "webcit01" /* Target for inline URL's */
-@@ -725,6 +725,7 @@
- #define DATEFMT_FULL 0
- #define DATEFMT_BRIEF 1
- #define DATEFMT_RAWDATE 2
-+#define DATEFMT_LOCALEDATE 3
- void webcit_fmt_date(char *buf, time_t thetime, int Format);
- int fetch_http(char *url, char *target_buf, int maxbytes);
- void free_attachments(wcsession *sess);
Modified: webcit/trunk/debian/patches/series
===================================================================
--- webcit/trunk/debian/patches/series 2009-04-08 09:46:22 UTC (rev 331)
+++ webcit/trunk/debian/patches/series 2009-04-09 17:47:07 UTC (rev 332)
@@ -1 +0,0 @@
-743-744.diff
More information about the Pkg-citadel-commit
mailing list