]> code.citadel.org Git - citadel.git/blobdiff - webcit/webcit.c
* Removed the last couple of places where forms were submitted using
[citadel.git] / webcit / webcit.c
index b6e5e91c043973f3541938319854639d24bcf15b..3dc05c5fd969c8d559104c3b6060a0bd9f0dd4da 100644 (file)
@@ -817,11 +817,14 @@ void extract_action(char *actbuf, char *cmdbuf)
 
 
 void upload_handler(char *name, char *filename, char *partnum, char *disp,
-                       void *content, char *cbtype, size_t length,
-                       char *encoding, void *userdata)
+                       void *content, char *cbtype, char *cbcharset,
+                       size_t length, char *encoding, void *userdata)
 {
        struct urlcontent *u;
 
+       lprintf(9, "upload_handler() name=%s, type=%s, len=%d\n",
+               name, cbtype, length);
+
        /* Form fields */
        if ( (length > 0) && (strlen(cbtype) == 0) ) {
                u = (struct urlcontent *) malloc(sizeof(struct urlcontent));
@@ -1081,14 +1084,15 @@ void session_loop(struct httprequest *req)
 
 
        /*
-        * If this isn't a GroupDAV session, it's an ordinary browser
-        * connecting to the user interface.  Only allow GET and POST
-        * methods.
+        * Automatically send requests with any method other than GET or
+        * POST to the GroupDAV code as well.
         */
        if ((strcasecmp(method, "GET")) && (strcasecmp(method, "POST"))) {
-               wprintf("HTTP/1.1 405 Method Not Allowed\r\n");
-               groupdav_common_headers();
-               wprintf("Content-Length: 0\r\n\r\n");
+               groupdav_main(req, ContentType, /* do GroupDAV methods */
+                       ContentLength, content+body_start);
+               if (!WC->logged_in) {
+                       WC->killthis = 1;       /* If not logged in, don't */
+               }                               /* keep the session active */
                goto SKIP_ALL_THIS_CRAP;
        }