]> code.citadel.org Git - citadel.git/blobdiff - webcit/paramhandling.c
URL-Parsing: abort on error.
[citadel.git] / webcit / paramhandling.c
index ed1a1a5879aa1adc1d7d24fda3342d7809f7e089..5c87c578c822886bfb953702bfe9880fb01ae22e 100644 (file)
@@ -1,21 +1,15 @@
 /*
  * parse urlparts and post data
  *
- * Copyright (c) 1996-2011 by the citadel.org team
+ * Copyright (c) 1996-2012 by the citadel.org team
  *
  * This program is open source software.  You can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 3 of the
- * License, or (at your option) any later version.
+ * modify it under the terms of the GNU General Public License, version 3.
  *
  * This program is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
  */
 
 #include "webcit.h"
@@ -57,17 +51,17 @@ void ParseURLParams(StrBuf *url)
                }
                keylen = aptr - up - 1; /* -1 -> '=' */
                if(keylen > sizeof(u->url_key)) {
-                       syslog(1, "URLkey to long! [%s]", up);
-                       continue;
+                       syslog(1, "invalid url_key");
+                       return;
                }
 
                u = (urlcontent *) malloc(sizeof(urlcontent));
                memcpy(u->url_key, up, keylen);
                u->url_key[keylen] = '\0';
                if (keylen < 0) {
-                       syslog(1, "URLkey to long! [%s]", up);
+                       syslog(1, "invalid url_key");
                        free(u);
-                       continue;
+                       return;
                }
                
                if (strncmp(u->url_key, "__", 2) != 0)
@@ -377,7 +371,7 @@ void PutBstr(const char *key, long keylen, StrBuf *Value)
        urlcontent *u;
 
        if(keylen > sizeof(u->url_key)) {
-               syslog(1, "URLkey to long! [%s]", key);
+               syslog(1, "invalid url_key");
                FreeStrBuf(&Value);
                return;
        }
@@ -437,11 +431,11 @@ void diagnostics(void)
        wc_printf("Session: %d<hr />\n", WC->wc_session);
        wc_printf("Command: <br><PRE>\n");
 /*     
-StrEscPuts(WC->UrlFragment1);
+StrEscAppend(WC->WBuf, NULL, WC->UrlFragment1, 0, 0);
        wc_printf("<br>\n");
-       StrEscPuts(WC->UrlFragment2);
+StrEscAppend(WC->WBuf, NULL, WC->UrlFragment12 0, 0);
        wc_printf("<br>\n");
-       StrEscPuts(WC->UrlFragment3);
+StrEscAppend(WC->WBuf, NULL, WC->UrlFragment3, 0, 0);
 */
        wc_printf("</PRE><hr />\n");
        wc_printf("Variables: <br><PRE>\n");