* check_get(): fix dict_tcp module; we just care for the first 4 chars
authorWilfried Göesgens <willi@citadel.org>
Sun, 20 Jun 2010 21:44:24 +0000 (21:44 +0000)
committerWilfried Göesgens <willi@citadel.org>
Sun, 20 Jun 2010 21:44:24 +0000 (21:44 +0000)
 * check_get(): send an error if we don't get what we expect

citadel/modules/vcard/serv_vcard.c

index da6418c5783d0243fe9ab3e77e3fcdec04bc7488..fcfd5f3d892bcee8026988085ec7ff73671a15e8 100644 (file)
@@ -1124,8 +1124,9 @@ void check_get(void) {
        }
        CtdlLogPrintf(CTDL_INFO, ": %s\n", cmdbuf);
        while (strlen(cmdbuf) < 3) strcat(cmdbuf, " ");
-
-       if (strcasecmp(cmdbuf, "GET ")==0)
+       CtdlLogPrintf(CTDL_INFO, "[ %s]\n", cmdbuf);
+       
+       if (strncasecmp(cmdbuf, "GET ", 4)==0)
        {
                struct recptypes *rcpt;
                char *argbuf = &cmdbuf[4];
@@ -1148,7 +1149,14 @@ void check_get(void) {
                        
                        CtdlLogPrintf(CTDL_INFO, "sending 500 REJECT noone here by that name: %s\n", internet_addr);
                }
-               if (rcpt != NULL) free_recipients(rcpt);
+               if (rcpt != NULL) 
+                       free_recipients(rcpt);
+       }
+       else 
+       {
+               cprintf("500 REJECT invalid Query.\n");
+               
+               CtdlLogPrintf(CTDL_INFO, "sending 500 REJECT invalid Query: %s\n", internet_addr);
        }
 }