Diff for /libaitwww/src/aitwww.c between versions 1.1.1.1.2.4 and 1.3

version 1.1.1.1.2.4, 2012/03/09 12:47:06 version 1.3, 2012/03/15 01:59:37
Line 99  www_initCGI(void) Line 99  www_initCGI(void)
   
         str = getenv("REQUEST_METHOD");          str = getenv("REQUEST_METHOD");
         if (!str) {          if (!str) {
                www_SetErr(EBADMSG, "Request method not found");                www_SetErr(EFAULT, "Request method not found");
                 return NULL;                  return NULL;
         }          }
         if (!strcmp(str, "GET") || !strcmp(str, "HEAD")) {          if (!strcmp(str, "GET") || !strcmp(str, "HEAD")) {
                 /* GET | HEAD */                  /* GET | HEAD */
                 str = getenv("QUERY_STRING");                  str = getenv("QUERY_STRING");
                 if (!str) {                  if (!str) {
                        www_SetErr(EBADMSG, "Query string not found");                        www_SetErr(EFAULT, "Query string not found");
                         return NULL;                          return NULL;
                 }                  }
                 cgi = www_parseQuery(str);                  cgi = www_parseQuery(str);
Line 114  www_initCGI(void) Line 114  www_initCGI(void)
                 /* POST */                  /* POST */
                 str = getenv("CONTENT_LENGTH");                  str = getenv("CONTENT_LENGTH");
                 if (!str) {                  if (!str) {
                        www_SetErr(EBADMSG, "Content length not found");                        www_SetErr(EFAULT, "Content length not found");
                         return NULL;                          return NULL;
                 } else                  } else
                         ctlen = strtol(str, NULL, 0);                          ctlen = strtol(str, NULL, 0);
   
                 s = getenv("CONTENT_TYPE");                  s = getenv("CONTENT_TYPE");
                 if (!s) {                  if (!s) {
                        www_SetErr(EBADMSG, "Content type not found");                        www_SetErr(EFAULT, "Content type not found");
                         return NULL;                          return NULL;
                 }                  }
                 if (www_cmp(s, "multipart/form-data") &&                   if (www_cmp(s, "multipart/form-data") && 
                                 www_cmp(s, "application/x-www-form-urlencoded")) {                                  www_cmp(s, "application/x-www-form-urlencoded")) {
                        www_SetErr(EBADMSG, "MIME parts are broken");                        www_SetErr(EFAULT, "MIME parts are broken");
                         return NULL;                          return NULL;
                 }                  }
   
Line 135  www_initCGI(void) Line 135  www_initCGI(void)
                 if (!str) {                  if (!str) {
                         LOGERR;                          LOGERR;
                         return NULL;                          return NULL;
                }                } else
                         memset(str, 0, ctlen + 1);
                 for (i = 0; i < ctlen && (rlen =                   for (i = 0; i < ctlen && (rlen = 
                                         read(STDIN_FILENO, (void*) str + i, ctlen - i)) > 0; i += rlen);                                          read(STDIN_FILENO, (void*) str + i, ctlen - i)) > 0; i += rlen);
                 str[ctlen] = 0;                  str[ctlen] = 0;
Line 148  www_initCGI(void) Line 149  www_initCGI(void)
                 free(str);                  free(str);
         } else {          } else {
                 /* Unknown method */                  /* Unknown method */
                www_SetErr(EBADMSG, "Unknown request method");                www_SetErr(EFAULT, "Unknown request method");
                 return NULL;                  return NULL;
         }          }
   
Line 532  www_parseMultiPart(const char *str, int ctlen, const c Line 533  www_parseMultiPart(const char *str, int ctlen, const c
         SLIST_FOREACH(m, mime, mime_node) {          SLIST_FOREACH(m, mime, mime_node) {
                 s = mime_getValue(m, "content-disposition");                  s = mime_getValue(m, "content-disposition");
                 attr = www_parseAttributes(&s);                  attr = www_parseAttributes(&s);
                   if (!www_getAttribute(attr, "name")) {
                           www_freeAttributes(&attr);
                           continue;
                   }
   
                 t = malloc(sizeof(struct tagCGI));                  t = malloc(sizeof(struct tagCGI));
                 if (!t) {                  if (!t) {

Removed from v.1.1.1.1.2.4  
changed lines
  Added in v.1.3


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>