From f007eddcf14be05b6c1362c99823091a1fa2a266 Mon Sep 17 00:00:00 2001 From: Matt Date: Fri, 8 Aug 2008 10:33:36 +0000 Subject: [PATCH] Fixes for GroupDAV and hprintf - groupdav_common_headers now hprintf - new function: hurlescputs (hprintf'ed urlescputs) --- webcit/groupdav_main.c | 2 +- webcit/groupdav_put.c | 6 +++--- webcit/webcit.c | 9 +++++++++ webcit/webcit.h | 1 + 4 files changed, 14 insertions(+), 4 deletions(-) diff --git a/webcit/groupdav_main.c b/webcit/groupdav_main.c index 07fb67d3c..b03650b77 100644 --- a/webcit/groupdav_main.c +++ b/webcit/groupdav_main.c @@ -244,7 +244,7 @@ void groupdav_main(struct httprequest *req, */ void groupdav_identify_host(void) { if (!IsEmptyStr(WC->http_host)) { - wprintf("%s://%s", + hprintf("%s://%s", (is_https ? "https" : "http"), WC->http_host); } diff --git a/webcit/groupdav_put.c b/webcit/groupdav_put.c index dc5121f47..b69114c2f 100644 --- a/webcit/groupdav_put.c +++ b/webcit/groupdav_put.c @@ -180,14 +180,14 @@ void groupdav_put(char *dav_pathname, char *dav_ifmatch, lprintf(9, "HTTP/1.1 201 Created\r\n"); groupdav_common_headers(); hprintf("etag: \"%ld\"\r\n", new_msgnum); - hprintf("Content-Length: 0\r\n"); hprintf("Location: "); groupdav_identify_host(); hprintf("/groupdav/");/////TODO - urlescputs(dav_roomname); + hurlescputs(dav_roomname); char escaped_uid[1024]; euid_escapize(escaped_uid, dav_uid); - wprintf("/%s\r\n", escaped_uid); + hprintf("/%s\r\n", escaped_uid); + end_burst(); return; } diff --git a/webcit/webcit.c b/webcit/webcit.c index f0fd0a269..f510e27bb 100644 --- a/webcit/webcit.c +++ b/webcit/webcit.c @@ -513,6 +513,15 @@ void urlescputs(char *strbuf) urlesc(outbuf, SIZ, strbuf); wprintf("%s", outbuf); } +/** + * urlescape buffer and print it as header + */ +void hurlescputs(char *strbuf) { + char outbuf[SIZ]; + + urlesc(outbuf, SIZ, strbuf); + hprintf("%s", outbuf); +} /* diff --git a/webcit/webcit.h b/webcit/webcit.h index e28ce3bef..7ca5e3ff0 100644 --- a/webcit/webcit.h +++ b/webcit/webcit.h @@ -538,6 +538,7 @@ const char *BSTR(char *key); const char *Bstr(char *key, size_t keylen); void urlescputs(char *); +void hurlescputs(char *); void jsesc(char *, size_t, char *); void jsescputs(char *); void output_headers( int do_httpheaders, -- 2.39.2