[Pkg-citadel-commit] r317 - in webcit/trunk/debian: . patches
meskes at alioth.debian.org
meskes at alioth.debian.org
Wed Apr 1 10:22:08 UTC 2009
Author: meskes
Date: 2009-04-01 10:22:08 +0000 (Wed, 01 Apr 2009)
New Revision: 317
Added:
webcit/trunk/debian/patches/743-744.diff
Modified:
webcit/trunk/debian/changelog
webcit/trunk/debian/patches/series
Log:
Updated to internal releases 7.44.
Modified: webcit/trunk/debian/changelog
===================================================================
--- webcit/trunk/debian/changelog 2009-04-01 10:03:36 UTC (rev 316)
+++ webcit/trunk/debian/changelog 2009-04-01 10:22:08 UTC (rev 317)
@@ -1,13 +1,17 @@
webcit (7.43-dfsg-2) unstable; urgency=low
+ [ Bernd Zeimetz ]
* Calculate dependency on citadel-common based on the current webcit
upstream version, closes: #520881
* Added Homepage, Vcs-Svn and Vcs-Browser information to debian/control.
* Added debian/uscan-dfsg-clean.sh and updated debian/watch to remove
non-free material while running uscan.
- -- Bernd Zeimetz <bzed at debian.org> Fri, 27 Mar 2009 15:14:37 +0100
+ [ Michael Meskes ]
+ * Updated to internal releases 7.44.
+ -- Michael Meskes <meskes at debian.org> Wed, 01 Apr 2009 12:22:39 +0200
+
webcit (7.43-dfsg-1) unstable; urgency=high
* New upstream version.
@@ -33,7 +37,7 @@
* Reworked debconf setup.
* Improved debconf template by incorporating ideas from Christian Perrier
<bubulle at debian.org>.
- * Updated Vietnamese debconf translation, closes: #51273
+ * Updated Vietnamese debconf translation, closes: #518273
* Updated Swedish debconf translation, closes: #518328
* Updated Finish debconf translation, closes: #518663
* Updated French debconf translation, closes: #518918
Added: webcit/trunk/debian/patches/743-744.diff
===================================================================
--- webcit/trunk/debian/patches/743-744.diff (rev 0)
+++ webcit/trunk/debian/patches/743-744.diff 2009-04-01 10:22:08 UTC (rev 317)
@@ -0,0 +1,949 @@
+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/configure.ac webcit-7.43-dfsg/configure.ac
+--- webcit-7.43-dfsg.orig/configure.ac 2009-03-17 04:27:27.000000000 +0100
++++ webcit-7.43-dfsg/configure.ac 2009-04-01 12:11:50.000000000 +0200
+@@ -1,6 +1,6 @@
+ dnl Process this file with autoconf to produce a configure script.
+-dnl $Id: configure.ac 7220 2009-03-17 03:22:44Z ajc $
+-AC_INIT([WebCit], [7.43], [http://www.citadel.org/])
++dnl $Id: configure.ac 7281 2009-03-30 21:48:20Z ajc $
++AC_INIT([WebCit], [7.44], [http://www.citadel.org/])
+
+
+ AC_SUBST(PROG_SUBDIRS)
+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/sysdep.h.in~ webcit-7.43-dfsg/sysdep.h.in~
+--- webcit-7.43-dfsg.orig/sysdep.h.in~ 2008-04-11 16:29:10.000000000 +0200
++++ webcit-7.43-dfsg/sysdep.h.in~ 1970-01-01 01:00:00.000000000 +0100
+@@ -1,138 +0,0 @@
+-/* sysdep.h.in. Generated from configure.ac by autoheader. */
+-
+-/* define, if the user suplied a data-directory to use. */
+-#undef DATADIR
+-
+-/* where to find our mail editor */
+-#undef EDITORDIR
+-
+-/* whether we have NLS support */
+-#undef ENABLE_NLS
+-
+-/* Define to 1 if you have the `backtrace' function. */
+-#undef HAVE_BACKTRACE
+-
+-/* Define to 1 if you have the <fcntl.h> header file. */
+-#undef HAVE_FCNTL_H
+-
+-/* Define to 1 if you have the `gettext' function. */
+-#undef HAVE_GETTEXT
+-
+-/* whether we have iconv for charset conversion */
+-#undef HAVE_ICONV
+-
+-/* Define to 1 if you have the <iconv.h> header file. */
+-#undef HAVE_ICONV_H
+-
+-/* Define to 1 if you have the <inttypes.h> header file. */
+-#undef HAVE_INTTYPES_H
+-
+-/* Define to 1 if you have the `pthread' library (-lpthread). */
+-#undef HAVE_LIBPTHREAD
+-
+-/* Define to 1 if you have the `pthreads' library (-lpthreads). */
+-#undef HAVE_LIBPTHREADS
+-
+-/* Define to 1 if you have the <limits.h> header file. */
+-#undef HAVE_LIMITS_H
+-
+-/* Define to 1 if you have the <memory.h> header file. */
+-#undef HAVE_MEMORY_H
+-
+-/* whethe we have openssl */
+-#undef HAVE_OPENSSL
+-
+-/* should we put our non volatile files elsewhere? */
+-#undef HAVE_RUN_DIR
+-
+-/* Define to 1 if you have the `snprintf' function. */
+-#undef HAVE_SNPRINTF
+-
+-/* Define to 1 if you have the <stdint.h> header file. */
+-#undef HAVE_STDINT_H
+-
+-/* Define to 1 if you have the <stdlib.h> header file. */
+-#undef HAVE_STDLIB_H
+-
+-/* Define to 1 if you have the `strftime_l' function. */
+-#undef HAVE_STRFTIME_L
+-
+-/* Define to 1 if you have the <strings.h> header file. */
+-#undef HAVE_STRINGS_H
+-
+-/* Define to 1 if you have the <string.h> header file. */
+-#undef HAVE_STRING_H
+-
+-/* Define to 1 if you have the <sys/stat.h> header file. */
+-#undef HAVE_SYS_STAT_H
+-
+-/* Define to 1 if you have the <sys/time.h> header file. */
+-#undef HAVE_SYS_TIME_H
+-
+-/* Define to 1 if you have the <sys/types.h> header file. */
+-#undef HAVE_SYS_TYPES_H
+-
+-/* Define to 1 if you have the <unistd.h> header file. */
+-#undef HAVE_UNISTD_H
+-
+-/* Define to 1 if you have the `uselocale' function. */
+-#undef HAVE_USELOCALE
+-
+-/* whether we have zlib */
+-#undef HAVE_ZLIB
+-
+-/* Define to 1 if you have the <zlib.h> header file. */
+-#undef HAVE_ZLIB_H
+-
+-/* where to find our pot files */
+-#undef LOCALEDIR
+-
+-/* Define to the address where bug reports for this package should be sent. */
+-#undef PACKAGE_BUGREPORT
+-
+-/* Define to the full name of this package. */
+-#undef PACKAGE_NAME
+-
+-/* Define to the full name and version of this package. */
+-#undef PACKAGE_STRING
+-
+-/* Define to the one symbol short name of this package. */
+-#undef PACKAGE_TARNAME
+-
+-/* Define to the version of this package. */
+-#undef PACKAGE_VERSION
+-
+-/* Program dirs */
+-#undef PROG_SUBDIRS
+-
+-/* Define as the return type of signal handlers (`int' or `void'). */
+-#undef RETSIGTYPE
+-
+-/* define, where the config should go in unix style */
+-#undef RUNDIR
+-
+-/* were should we put our keys? */
+-#undef SSL_DIR
+-
+-/* Define to 1 if you have the ANSI C header files. */
+-#undef STDC_HEADERS
+-
+-/* define this to the Citadel home directory */
+-#undef WEBCITDIR
+-
+-/* where to find our templates and pics */
+-#undef WWWDIR
+-
+-/* Enable GNU extensions on systems that have them. */
+-#ifndef _GNU_SOURCE
+-# undef _GNU_SOURCE
+-#endif
+-
+-/* Define to empty if `const' does not conform to ANSI C. */
+-#undef const
+-
+-/* Define to `long' if <sys/types.h> does not define. */
+-#undef off_t
+-
+-/* Define to `unsigned' if <sys/types.h> does not define. */
+-#undef size_t
+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 LIBCITADEL_MIN 744 /* min required libcitadel 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-01 10:03:36 UTC (rev 316)
+++ webcit/trunk/debian/patches/series 2009-04-01 10:22:08 UTC (rev 317)
@@ -0,0 +1 @@
+743-744.diff
More information about the Pkg-citadel-commit
mailing list