From: Shinya TAKEBAYASHI Date: Wed, 13 May 2009 00:49:50 +0000 (+0900) Subject: Deleted HTTP header modifires X-Git-Tag: v2.1.3-0~18 X-Git-Url: http://git.osdn.net/view?p=ultramonkey-l7%2Fultramonkey-l7-v2.git;a=commitdiff_plain;h=30c86a2d57fb7ee3d05f92e871b78aa94fc160cd;hp=8995b0a6348b6f79eae3bcfb896568be71e83c1e Deleted HTTP header modifires --- diff --git a/module/protocol/module_http.c b/module/protocol/module_http.c index ef0c142..c2bcc3e 100644 --- a/module/protocol/module_http.c +++ b/module/protocol/module_http.c @@ -31,22 +31,6 @@ #include #include "module_http.h" -char* _http_search_header_cookie_value(char*, char*, char*); - -/*! - * create a expire string of HTTP cookie header field. - * @param expire_t expire time - * @param expire_c return expire string - * @return void - */ -extern void -http_cookie_expire(time_t expire_t, char* expire_c) -{ - struct tm *date; - - date = gmtime(&expire_t); - strftime(expire_c, EXPIRE_MAXSIZE, "%a, %d-%b-%Y %H:%M:%S GMT", date); -} /*! * check the HTTP status that is included in a HTTP Response header. @@ -336,131 +320,8 @@ http_check_request_method(char *req, size_t *length) return uri; } -/*! - * Encode IP address and port number. - * @param encoded encoded strings - * @param s_addr IP address (cf. inet_addr("xxx.xxx.xxx.xxx") => s_addr) - * @param sin_port port number - * @return void - */ -extern void -http_encode_address(char *encoded, const u_long s_addr, const u_short sin_port) -{ - /* check null */ - if (encoded != NULL) { - /* encoded address formed XXXXXXXXXXPPPPP */ - /* XXXXXXXXXX : IP address(10 bytes, number with left zero pad) */ - /* PPPPP : port number(5 bytes, number with left zero pad) */ - - sprintf(encoded, "%010lu%05u", s_addr, sin_port); - } -} - -/*! - * Decode encoded strings of IP address and port number. - * @param encoded encoded strings - * @param s_addr decoded IP address (cf. inet_addr("xxx.xxx.xxx.xxx") => s_addr) - * @param sin_port decoded port number - * @return void - */ -extern void -http_decode_address(char *encoded, u_long *s_addr, u_short *sin_port) -{ - char decode_buf[11]; - - if (encoded != NULL && s_addr != NULL && sin_port != NULL) { - /* get encoded ip address strings */ - memcpy(decode_buf, encoded, 10); - decode_buf[10] = '\0'; - *s_addr = strtoul(decode_buf, NULL, 10); - - /* get encoded port number strings */ - memcpy(decode_buf, encoded + 10, 5); - decode_buf[5] = '\0'; - *sin_port = atoi(decode_buf); - } -} /*! - * Search a HTTP cookie field and check the existence of the cookie name. - * @param http_header HTTP request header - * @param cookie_name HTTP cookie name - * @return char points to cookie value of found cookie name, or NULL. - */ -extern char* -http_search_header_cookie_value(char *http_header, char *cookie_name) -{ - return _http_search_header_cookie_value(http_header, "Cookie", cookie_name); -} - -/*! - * Search a set HTTP cookie field and check the existence of the cookie name. - * @param http_header HTTP request header - * @param cookie_name HTTP cookie name - * @return char points to cookie value of found cookie name, or NULL. - */ -extern char* -http_search_header_set_cookie_value(char *http_header, char *cookie_name) -{ - return _http_search_header_cookie_value(http_header, "Set-Cookie", cookie_name); -} - -char* -_http_search_header_cookie_value(char *http_header, char *field, char *cookie_name) -{ - int check; - char *field_ptr; - - /* check NULL */ - if (http_header == NULL || field == NULL || cookie_name == NULL) { - return NULL; - } - - /* search cookie header field from HTTP request header */ - field_ptr = http_search_header_field(http_header, field); - if (field_ptr == NULL) { - return NULL; - } - - while (1) { - /* compare cookie field and cookie name */ - for (check = 0; - field_ptr[check] == cookie_name[check] && cookie_name[check] != '\0'; - ++check); - - /* when header match the cookie name, next word of cookie name must be '=' */ - /* cf. CookieName'=' and CookieName'V'alue= */ - if (cookie_name[check] == '\0' && field_ptr[check] == '=') { - /* matched cookie name completely! */ - ++check; - /* return pointer of searched cookie name's value */ - return &field_ptr[check]; - } - - /* skip until next cookie's value */ - for ( ; - field_ptr[check] != ';' && field_ptr[check] != ','; - ++check) { - if (field_ptr[check] == '\r' || field_ptr[check] == '\0') { - return NULL; - } - } - - /* skip a space, tab, etc. */ - for ( ++check; - !isgraph(field_ptr[check]) && field_ptr[check] != '\r' && field_ptr[check] != '\0'; - ++check ); - - /* cookie name was not found */ - if (field_ptr[check] == '\r' || field_ptr[check] == '\0') { - return NULL; - } - - field_ptr += check; - } -} - -/*! * Search a HTTP header field. * @param http_header HTTP request/response header * @param field_name HTTP header field name diff --git a/module/protocol/module_http.h b/module/protocol/module_http.h index 78cc675..6fb0666 100644 --- a/module/protocol/module_http.h +++ b/module/protocol/module_http.h @@ -29,13 +29,8 @@ // functions // -extern void http_cookie_expire(time_t expire_t, char* expire_c); extern int http_check_response_status(char *res); extern char* http_check_request_method(char *req, size_t *length); -extern void http_encode_address(char *encoded, const u_long s_addr, const u_short sin_port); -extern void http_decode_address(char *encoded, u_long *s_addr, u_short *sin_port); -extern char* http_search_header_cookie_value(char *http_header, char *cookie_name); -extern char* http_search_header_set_cookie_value(char *http_header, char *cookie_name); extern char* http_search_header_field(char *http_header, char *search_name); extern int http_insert_field(char *header, int offset_length, char *insert_field, int header_length); extern char* http_skip_header_line(char *top_ptr);