Kannel: Open Source WAP and SMS gateway
svn-r5336
Main Page
+
Data Structures
Data Structures
Data Structure Index
+
Data Fields
+
All
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
+
Variables
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Enumerations
Enumerator
+
Files
File List
+
Globals
+
All
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
+
Functions
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
+
Variables
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
+
Typedefs
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
w
x
y
+
Enumerations
a
b
c
d
e
h
i
k
l
m
o
p
r
s
t
v
w
y
+
Enumerator
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
w
x
+
Macros
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
w
x
y
cookies.h
Go to the documentation of this file.
1
/* ====================================================================
2
* The Kannel Software License, Version 1.0
3
*
4
* Copyright (c) 2001-2018 Kannel Group
5
* Copyright (c) 1998-2001 WapIT Ltd.
6
* All rights reserved.
7
*
8
* Redistribution and use in source and binary forms, with or without
9
* modification, are permitted provided that the following conditions
10
* are met:
11
*
12
* 1. Redistributions of source code must retain the above copyright
13
* notice, this list of conditions and the following disclaimer.
14
*
15
* 2. Redistributions in binary form must reproduce the above copyright
16
* notice, this list of conditions and the following disclaimer in
17
* the documentation and/or other materials provided with the
18
* distribution.
19
*
20
* 3. The end-user documentation included with the redistribution,
21
* if any, must include the following acknowledgment:
22
* "This product includes software developed by the
23
* Kannel Group (http://www.kannel.org/)."
24
* Alternately, this acknowledgment may appear in the software itself,
25
* if and wherever such third-party acknowledgments normally appear.
26
*
27
* 4. The names "Kannel" and "Kannel Group" must not be used to
28
* endorse or promote products derived from this software without
29
* prior written permission. For written permission, please
30
* contact org@kannel.org.
31
*
32
* 5. Products derived from this software may not be called "Kannel",
33
* nor may "Kannel" appear in their name, without prior written
34
* permission of the Kannel Group.
35
*
36
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
37
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
38
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
39
* DISCLAIMED. IN NO EVENT SHALL THE KANNEL GROUP OR ITS CONTRIBUTORS
40
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
41
* OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
42
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
43
* BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
44
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
45
* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
46
* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
47
* ====================================================================
48
*
49
* This software consists of voluntary contributions made by many
50
* individuals on behalf of the Kannel Group. For more information on
51
* the Kannel Group, please see <http://www.kannel.org/>.
52
*
53
* Portions of this software are based upon software originally written at
54
* WapIT Ltd., Helsinki, Finland for the Kannel project.
55
*/
56
57
/*
58
* Module: cookies.h
59
*
60
* Description: Include module for cookies.c
61
*
62
* References: RFC 2109
63
*
64
* Author: Paul Keogh, ANAM Wireless Internet Solutions
65
*
66
* Date: May 2000
67
*/
68
69
#ifndef COOKIES_H
70
#define COOKIES_H
71
72
/* No support for Secure or Comment fields */
73
74
typedef
struct
_cookie
{
75
Octstr
*
name
;
76
Octstr
*
value
;
77
Octstr
*
version
;
78
Octstr
*
domain
;
79
Octstr
*
path
;
80
time_t
max_age
;
81
time_t
birth
;
82
}
Cookie
;
83
84
/* Function prototypes for external interface */
85
86
/*
87
* Memory management wrappers for cookies.
88
*/
89
Cookie
*
cookie_create
(
void
);
90
void
cookies_destroy
(
List
*);
91
92
/*
93
* Parses the returned HTTP headers and adds the Cookie: headers to
94
* the cookie cache of the active WSPMachine.
95
* Returns: 0 on success, -1 on failure
96
*/
97
int
get_cookies
(
List
*,
const
WSPMachine
*);
98
99
/*
100
* Adds the cookies from the WSPMachine cache to the outgoing HTTP request,
101
* rewriting the standard attributes and expiring the cookies if necessary.
102
* Returns: 0 on success, -1 on failure
103
*/
104
int
set_cookies
(
List
*,
WSPMachine
*);
105
106
#define MAX_HTTP_DATE_LENGTH 128
107
108
#endif
_cookie
Definition:
cookies.h:74
_cookie::max_age
time_t max_age
Definition:
cookies.h:80
get_cookies
int get_cookies(List *, const WSPMachine *)
Definition:
cookies.c:111
cookies_destroy
void cookies_destroy(List *)
Definition:
cookies.c:100
_cookie::path
Octstr * path
Definition:
cookies.h:79
_cookie::version
Octstr * version
Definition:
cookies.h:77
WSPMachine
Definition:
wsp.h:107
_cookie::value
Octstr * value
Definition:
cookies.h:76
Cookie
struct _cookie Cookie
_cookie::name
Octstr * name
Definition:
cookies.h:75
Octstr
Definition:
octstr.c:118
set_cookies
int set_cookies(List *, WSPMachine *)
Definition:
cookies.c:162
cookie_create
Cookie * cookie_create(void)
Definition:
cookies.c:88
_cookie::birth
time_t birth
Definition:
cookies.h:81
_cookie::domain
Octstr * domain
Definition:
cookies.h:78
List
Definition:
list.c:102
See file LICENSE for details about the license agreement for using, modifying, copying or deriving work from this software.