cookie.c revision d3687107d4b6f81399be7d9db320d34070aacca3
5745N/A#include "apreq_cookie.h"
5745N/A#include "apreq_error.h"
5745N/A#include "apreq_util.h"
5745N/A#include "apr_strings.h"
5745N/A#include "apr_date.h"
c->max_age = 0;
apreq_cookie_t *c,
const char *attr,
const char *val,
return APR_EBADARG;
++attr;
--alen;
return APR_ENOTIMPL;
return APR_ENOTIMPL;
if (vlen == 0)
return APREQ_ERROR_BADSEQ;
++val;
--vlen;
return APR_SUCCESS;
return APR_SUCCESS;
return APR_SUCCESS;
return APR_SUCCESS;
return APR_SUCCESS;
return APR_SUCCESS;
return APR_SUCCESS;
return APR_SUCCESS;
return APR_SUCCESS;
return APR_ENOTIMPL;
const char *name,
const char *value,
apreq_cookie_t *c;
apreq_value_t *v;
if (c == NULL)
return NULL;
*(const apreq_value_t **)&v = &c->v;
c->flags = 0;
static APR_INLINE
int nlen_set = 0;
++hdr;
*n = hdr;
switch (*hdr) {
if (!nlen_set)
*v = hdr;
*vlen = 0;
if (!nlen_set) {
if (!nlen_set) {
++hdr;
goto scan_name;
++val;
unsigned saw_backslash = 0;
switch (*val) {
if (!unquote) {
else if (!saw_backslash) {
while (s < val) {
*v = dest;
return APR_SUCCESS;
++val;
return APREQ_ERROR_BADSEQ;
switch (*val) {
return APR_SUCCESS;
return APR_SUCCESS;
apr_table_t *j,
const char *hdr)
apreq_cookie_t *c;
unsigned version;
c = NULL;
++hdr;
switch (*hdr++) {
return rv;
goto parse_cookie_header;
goto skip_version_string;
++hdr;
switch (*hdr) {
if (c != NULL) {
ADD_COOKIE(j, c);
return rv;
++hdr;
if (c != NULL) {
ADD_COOKIE(j, c);
goto parse_cookie_header;
++hdr;
if (c == NULL) {
goto parse_cookie_error;
goto parse_cookie_error;
switch (status) {
case APR_ENOTIMPL:
case APR_SUCCESS:
goto parse_cookie_error;
if (c != NULL) {
ADD_COOKIE(j, c);
c = NULL;
goto parse_cookie_error;
switch (*hdr) {
return rv;
if (c != NULL)
ADD_COOKIE(j, c);
++hdr;
goto parse_cookie_header;
++hdr;
goto parse_cookie_error;
return rv;
f += strlen(f); \
f += strlen(f);
if (apreq_cookie_is_secure(c))
f += strlen(f);
if (apreq_cookie_is_httponly(c))
f += strlen(f);
f += strlen (f); \
f += strlen(f);
if (apreq_cookie_is_secure(c))
f += strlen(f);
if (apreq_cookie_is_httponly(c))
apr_pool_t *p)