diff options
Diffstat (limited to 'Source/CTest/Curl/cookie.h')
-rw-r--r-- | Source/CTest/Curl/cookie.h | 48 |
1 files changed, 29 insertions, 19 deletions
diff --git a/Source/CTest/Curl/cookie.h b/Source/CTest/Curl/cookie.h index 77ac059..6f8e8e5 100644 --- a/Source/CTest/Curl/cookie.h +++ b/Source/CTest/Curl/cookie.h @@ -1,18 +1,18 @@ #ifndef __COOKIE_H #define __COOKIE_H /*************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - * Copyright (C) 1998 - 2002, Daniel Stenberg, <daniel@haxx.se>, et al. + * Copyright (C) 1998 - 2004, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at http://curl.haxx.se/docs/copyright.html. - * + * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is * furnished to do so, under the terms of the COPYING file. @@ -40,13 +40,12 @@ struct Cookie { char *domain; /* domain = <this> */ long expires; /* expires = <this> */ char *expirestr; /* the plain text version */ + bool tailmatch; /* weather we do tail-matchning of the domain name */ - char field1; /* read from a cookie file, 1 => FALSE, 2=> TRUE */ - /* RFC 2109 keywords. Version=1 means 2109-compliant cookie sending */ char *version; /* Version = <value> */ char *maxage; /* Max-Age = <value> */ - + bool secure; /* whether the 'secure' keyword was used */ bool livecookie; /* updated from a server, not a stored file */ }; @@ -61,22 +60,33 @@ struct CookieInfo { bool newsession; /* new session, discard session cookies on load */ }; -/* This is the maximum line length we accept for a cookie line */ -#define MAX_COOKIE_LINE 2048 -#define MAX_COOKIE_LINE_TXT "2047" +/* This is the maximum line length we accept for a cookie line. RFC 2109 + section 6.3 says: + + "at least 4096 bytes per cookie (as measured by the size of the characters + that comprise the cookie non-terminal in the syntax description of the + Set-Cookie header)" + +*/ +#define MAX_COOKIE_LINE 5000 +#define MAX_COOKIE_LINE_TXT "4999" /* This is the maximum length of a cookie name we deal with: */ -#define MAX_NAME 256 -#define MAX_NAME_TXT "255" +#define MAX_NAME 1024 +#define MAX_NAME_TXT "1023" +struct SessionHandle; /* - * Add a cookie to the internal list of cookies. The domain argument is only - * used if the header boolean is TRUE. + * Add a cookie to the internal list of cookies. The domain and path arguments + * are only used if the header boolean is TRUE. */ -struct Cookie *Curl_cookie_add(struct CookieInfo *, bool header, char *line, - char *domain); -struct CookieInfo *Curl_cookie_init(char *, struct CookieInfo *, bool); +struct Cookie *Curl_cookie_add(struct SessionHandle *data, + struct CookieInfo *, bool header, char *line, + char *domain, char *path); + +struct CookieInfo *Curl_cookie_init(struct SessionHandle *data, + char *, struct CookieInfo *, bool); struct Cookie *Curl_cookie_getlist(struct CookieInfo *, char *, char *, bool); void Curl_cookie_freelist(struct Cookie *); void Curl_cookie_cleanup(struct CookieInfo *); |