aboutsummaryrefslogtreecommitdiff
path: root/src/inner_cookies.c
diff options
context:
space:
mode:
authorAleksey Veresov <aleksey@veresov.pro>2020-02-06 11:27:59 +0300
committerAleksey Veresov <aleksey@veresov.pro>2020-02-06 11:27:59 +0300
commitfca83975899b01c62ede4258f175346b7039be3d (patch)
tree37c2bb8faf95de1252a97942a68183f795eb82a0 /src/inner_cookies.c
parent8ef310a22a54dca7a80947f83f03bc296ab298dd (diff)
parent746c3f3076fe5994f08d729aa1b958465231b0c8 (diff)
downloadmagi-fca83975899b01c62ede4258f175346b7039be3d.tar
magi-fca83975899b01c62ede4258f175346b7039be3d.tar.xz
magi-fca83975899b01c62ede4258f175346b7039be3d.zip
Merge branch 'master' into test
Diffstat (limited to 'src/inner_cookies.c')
-rw-r--r--src/inner_cookies.c24
1 files changed, 9 insertions, 15 deletions
diff --git a/src/inner_cookies.c b/src/inner_cookies.c
index d9035c4..9dfde7a 100644
--- a/src/inner_cookies.c
+++ b/src/inner_cookies.c
@@ -1,7 +1,7 @@
/* * * TODO * * */
#include "inner_cookies.h"
-#include "utils.h"
+#include "inner_tools.h"
#include <stdlib.h>
#include <string.h>
@@ -16,7 +16,7 @@ enum st {
st_post_data
};
-enum data_type { dt_plain = 0, dt_version, dt_path, dt_domain, dt_port };
+enum data_type { dt_plain = 0, dt_version, dt_path, dt_domain };
struct automata {
struct magi_cookie_list ** list;
@@ -25,7 +25,7 @@ struct automata {
int buf_len;
int buf_size;
int is_first;
- int is_cookie2;
+ int is_advanced;
int is_quoted;
enum data_type data_t;
};
@@ -33,11 +33,11 @@ struct automata {
static void nulify_cookie(struct automata * a)
{
- a->cookie.name = 0;
- a->cookie.data = 0;
- a->cookie.path = 0;
- a->cookie.domain = 0;
- a->cookie.port = 0;
+ a->cookie.name = 0;
+ a->cookie.data = 0;
+ a->cookie.path = 0;
+ a->cookie.domain = 0;
+ a->cookie.max_age = 0;
}
static void buf_new(struct automata * a)
@@ -53,13 +53,11 @@ static enum data_type what_is_name(const struct automata * a)
enum data_type data_t = dt_plain;
if (a->is_first && !strcmp(a->buf, "$Version")) {
data_t = dt_version;
- } else if (a->is_cookie2) {
+ } else if (a->is_advanced) {
if (!strcmp(a->buf, "$Path")) {
data_t = dt_path;
} else if (!strcmp(a->buf, "$Domain")) {
data_t = dt_domain;
- } else if (!strcmp(a->buf, "$Port")) {
- data_t = dt_port;
}
}
return data_t;
@@ -96,9 +94,6 @@ static int end_data(struct automata * a)
case dt_domain:
a->cookie.domain = a->buf;
break;
- case dt_port:
- a->cookie.port = a->buf;
- break;
case dt_version:
if (strcmp(a->buf, "1")) {
ok = 0;
@@ -291,6 +286,5 @@ void magi_cookies(struct magi_request * request, const char * data)
free(a.cookie.data);
free(a.cookie.path);
free(a.cookie.domain);
- free(a.cookie.port);
free(a.buf);
}