apreq_cookie.h(3)
| include/apreq_cookie.h(3) | libapreq2 | include/apreq_cookie.h(3) |
NAME
include/apreq_cookie.h - Cookies and Jars.
SYNOPSIS
#include 'apreq.h'
#include 'apr_time.h'
Data Structures
struct apreq_cookie_t
Cookie type, supporting both Netscape and RFC cookie specifications.
Macros
#define APREQ_COOKIE_MAX_LENGTH 4096
Typedefs
typedef struct apreq_cookie_t apreq_cookie_t
Cookie type, supporting both Netscape and RFC cookie specifications.
Functions
static APR_INLINE apreq_cookie_t *
apreq_value_to_cookie (const char *val)
static APR_INLINE unsigned apreq_cookie_version (const
apreq_cookie_t *c)
static APR_INLINE void apreq_cookie_version_set (apreq_cookie_t
*c, unsigned v)
static APR_INLINE unsigned apreq_cookie_is_secure (const
apreq_cookie_t *c)
static APR_INLINE void apreq_cookie_secure_on (apreq_cookie_t
*c)
static APR_INLINE void apreq_cookie_secure_off (apreq_cookie_t
*c)
static APR_INLINE unsigned apreq_cookie_is_httponly (const
apreq_cookie_t *c)
static APR_INLINE void apreq_cookie_httponly_on (apreq_cookie_t
*c)
static APR_INLINE void apreq_cookie_httponly_off (apreq_cookie_t
*c)
static APR_INLINE unsigned apreq_cookie_is_tainted (const
apreq_cookie_t *c)
static APR_INLINE void apreq_cookie_tainted_on (apreq_cookie_t
*c)
static APR_INLINE void apreq_cookie_tainted_off (apreq_cookie_t
*c)
apr_status_t apreq_parse_cookie_header (apr_pool_t *pool, apr_table_t
*jar, const char *header)
apreq_cookie_t * apreq_cookie_make (apr_pool_t *pool, const char
*name, const apr_size_t nlen, const char *value, const apr_size_t vlen)
char * apreq_cookie_as_string (const apreq_cookie_t *c,
apr_pool_t *p)
int apreq_cookie_serialize (const apreq_cookie_t *c, char *buf,
apr_size_t len)
void apreq_cookie_expires (apreq_cookie_t *c, const char
*time_str)
Detailed Description
Cookies and Jars.
apreq_cookie.h describes a common server-side API for request (incoming) and response (outgoing) cookies. It aims towards compliance with the standard cookie specifications listed below.
See also
http://www.ietf.org/rfc/rfc2109.txt
http://www.ietf.org/rfc/rfc2964.txt
http://www.ietf.org/rfc/rfc2965.txt
Macro Definition Documentation
#define APREQ_COOKIE_MAX_LENGTH 4096
This macro is deprecated.
Maximum length of a single Set-Cookie(2) header.
Function Documentation
char* apreq_cookie_as_string (const apreq_cookie_t * c, apr_pool_t * p)
Returns a string that represents the cookie as it would appear in a valid 'Set-Cookie*' header.
Parameters
p pool which allocates the returned string.
Returns
void apreq_cookie_expires (apreq_cookie_t * c, const char * time_str)
Set the Cookie's expiration date.
Parameters
time_str If NULL, the Cookie's expiration date is unset, making it a session cookie. This means no 'expires' or 'max-age' attribute will appear in the cookie's serialized form. If time_str is not NULL, the expiration date will be reset to the offset (from now) represented by time_str. The time_str should be in a format that apreq_atoi64t() can understand, namely /[+-]?\d+\s*[YMDhms]/.
Remarks
static APR_INLINE void apreq_cookie_httponly_off (apreq_cookie_t * c) [static]
Turns off the cookie's HttpOnly flag.
static APR_INLINE void apreq_cookie_httponly_on (apreq_cookie_t * c) [static]
Sets the cookie's HttpOnly flag, meaning it is not accessible through client-side script in supported browsers.
static APR_INLINE unsigned apreq_cookie_is_httponly (const apreq_cookie_t * c) [static]
Returns
static APR_INLINE unsigned apreq_cookie_is_secure (const apreq_cookie_t * c) [static]
Returns
static APR_INLINE unsigned apreq_cookie_is_tainted (const apreq_cookie_t * c) [static]
Returns
apreq_cookie_t* apreq_cookie_make (apr_pool_t * pool, const char * name, const apr_size_t nlen, const char * value, const apr_size_t vlen)
Returns a new cookie, made from the argument list.
Parameters
name The cookie's name.
nlen Length of name.
value The cookie's value.
vlen Length of value.
Returns
static APR_INLINE void apreq_cookie_secure_off (apreq_cookie_t * c) [static]
Turns off the cookie's secure flag.
static APR_INLINE void apreq_cookie_secure_on (apreq_cookie_t * c) [static]
Sets the cookie's secure flag, meaning it only comes back over an SSL-encrypted connction.
int apreq_cookie_serialize (const apreq_cookie_t * c, char * buf, apr_size_t len)
Same functionality as apreq_cookie_as_string. Stores the string representation in buf, using up to len bytes in buf as storage. The return value has the same semantics as that of apr_snprintf, including the special behavior for a 'len = 0' argument.
Parameters
buf storage location for the result.
len size of buf's storage area.
Returns
static APR_INLINE void apreq_cookie_tainted_off (apreq_cookie_t * c) [static]
Turns off the cookie's tainted flag.
static APR_INLINE void apreq_cookie_tainted_on (apreq_cookie_t * c) [static]
Sets the cookie's tainted flag.
static APR_INLINE unsigned apreq_cookie_version (const apreq_cookie_t * c) [static]
Returns
static APR_INLINE void apreq_cookie_version_set (apreq_cookie_t * c, unsigned v) [static]
Sets the cookie's protocol version.
apr_status_t apreq_parse_cookie_header (apr_pool_t * pool, apr_table_t * jar, const char * header)
Parse a cookie header and store the cookies in an apr_table_t.
Parameters
jar table where parsed cookies are stored
header the header value
Returns
APREQ_ERROR_BADSEQ if an unparseable character sequence appears.
APREQ_ERROR_MISMATCH if an rfc-cookie attribute appears in a netscape cookie header.
::APR_ENOTIMPL if an unrecognized rfc-cookie attribute appears.
APREQ_ERROR_NOTOKEN if a required token was not present.
APREQ_ERROR_BADCHAR if an unexpected token was present.
static APR_INLINE apreq_cookie_t* apreq_value_to_cookie (const char * val) [static]
Upgrades a jar's table values to apreq_cookie_t structs.
Author
Generated automatically by Doxygen for libapreq2 from the source code.
| Wed Mar 10 2021 | Version 2.16 |
