[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 &copy;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 &copy;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/">
-+&lt;java version=&quot;1.5.0_13&quot; class=&quot;java.beans.XMLDecoder&quot;&gt; 
-+ &lt;array class=&quot;com.funambol.framework.core.Alert&quot; length=&quot;1&quot;&gt; 
-+  &lt;void index=&quot;0&quot;&gt; 
-+   &lt;object class=&quot;com.funambol.framework.core.Alert&quot;&gt; 
-+    &lt;void property=&quot;cmdID&quot;&gt; 
-+     &lt;object class=&quot;com.funambol.framework.core.CmdID&quot;/&gt; 
-+    &lt;/void&gt; 
-+    &lt;void property=&quot;data&quot;&gt; 
-+     &lt;int&gt;206&lt;/int&gt; 
-+    &lt;/void&gt; 
-+    &lt;void property=&quot;items&quot;&gt; 
-+     &lt;void method=&quot;add&quot;&gt; 
-+      &lt;object class=&quot;com.funambol.framework.core.Item&quot;&gt; 
-+       &lt;void property=&quot;meta&quot;&gt; 
-+        &lt;object class=&quot;com.funambol.framework.core.Meta&quot;&gt; 
-+         &lt;void property=&quot;metInf&quot;&gt; 
-+          &lt;void property=&quot;type&quot;&gt; 
-+           &lt;string&gt;application/vnd.omads-email+xml&lt;/string&gt; 
-+          &lt;/void&gt; 
-+         &lt;/void&gt; 
-+        &lt;/object&gt; 
-+       &lt;/void&gt; 
-+       &lt;void property=&quot;target&quot;&gt; 
-+        &lt;object class=&quot;com.funambol.framework.core.Target&quot;&gt; 
-+         &lt;void property=&quot;locURI&quot;&gt; 
-+          &lt;string&gt;^syncsource&lt;/string&gt; 
-+         &lt;/void&gt; 
-+        &lt;/object&gt; 
-+       &lt;/void&gt; 
-+      &lt;/object&gt; 
-+     &lt;/void&gt; 
-+    &lt;/void&gt; 
-+   &lt;/object&gt; 
-+  &lt;/void&gt; 
-+ &lt;/array&gt; 
-+&lt;/java&gt; 
-+</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/">
--&lt;java version=&quot;1.5.0_13&quot; class=&quot;java.beans.XMLDecoder&quot;&gt; 
-- &lt;array class=&quot;com.funambol.framework.core.Alert&quot; length=&quot;1&quot;&gt; 
--  &lt;void index=&quot;0&quot;&gt; 
--   &lt;object class=&quot;com.funambol.framework.core.Alert&quot;&gt; 
--    &lt;void property=&quot;cmdID&quot;&gt; 
--     &lt;object class=&quot;com.funambol.framework.core.CmdID&quot;/&gt; 
--    &lt;/void&gt; 
--    &lt;void property=&quot;data&quot;&gt; 
--     &lt;int&gt;206&lt;/int&gt; 
--    &lt;/void&gt; 
--    &lt;void property=&quot;items&quot;&gt; 
--     &lt;void method=&quot;add&quot;&gt; 
--      &lt;object class=&quot;com.funambol.framework.core.Item&quot;&gt; 
--       &lt;void property=&quot;meta&quot;&gt; 
--        &lt;object class=&quot;com.funambol.framework.core.Meta&quot;&gt; 
--         &lt;void property=&quot;metInf&quot;&gt; 
--          &lt;void property=&quot;type&quot;&gt; 
--           &lt;string&gt;application/vnd.omads-email+xml&lt;/string&gt; 
--          &lt;/void&gt; 
--         &lt;/void&gt; 
--        &lt;/object&gt; 
--       &lt;/void&gt; 
--       &lt;void property=&quot;target&quot;&gt; 
--        &lt;object class=&quot;com.funambol.framework.core.Target&quot;&gt; 
--         &lt;void property=&quot;locURI&quot;&gt; 
--          &lt;string&gt;^syncsource&lt;/string&gt; 
--         &lt;/void&gt; 
--        &lt;/object&gt; 
--       &lt;/void&gt; 
--      &lt;/object&gt; 
--     &lt;/void&gt; 
--    &lt;/void&gt; 
--   &lt;/object&gt; 
--  &lt;/void&gt; 
-- &lt;/array&gt; 
--&lt;/java&gt; 
--</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