ELinks 0.18.0
cookies.c File Reference
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <time.h>
#include "elinks.h"
#include "bfu/dialog.h"
#include "cookies/cookies.h"
#include "cookies/dialogs.h"
#include "cookies/path.h"
#include "cookies/parser.h"
#include "config/home.h"
#include "config/kbdbind.h"
#include "config/options.h"
#include "intl/libintl.h"
#include "main/module.h"
#include "main/object.h"
#include "main/select.h"
#include "protocol/date.h"
#include "protocol/header.h"
#include "protocol/protocol.h"
#include "protocol/uri.h"
#include "session/session.h"
#include "terminal/terminal.h"
#include "util/conv.h"
#include "util/file.h"
#include "util/memory.h"
#include "util/secsave.h"
#include "util/string.h"
Include dependency graph for cookies.c:

Data Structures

struct  c_domain

Macros

#define COOKIES_FILENAME   "cookies"
#define get_opt_cookies(which)
#define get_cookies_accept_policy()
#define get_cookies_max_age()
#define get_cookies_paranoid_security()
#define get_cookies_save()
#define get_cookies_resave()
#define CANNOT_SAVE_COOKIES(flags, message)

Enumerations

enum  cookies_option {
  COOKIES_TREE , COOKIES_ACCEPT_POLICY , COOKIES_MAX_AGE , COOKIES_PARANOID_SECURITY ,
  COOKIES_SAVE , COOKIES_RESAVE , COOKIES_OPTIONS
}

Functions

struct cookie_serverget_cookie_server (char *host, int hostlen)
static void done_cookie_server (struct cookie_server *cs)
void done_cookie (struct cookie *c)
void delete_cookie (struct cookie *c)
static int is_domain_security_ok (char *domain, char *server, int server_len)
struct cookieinit_cookie (char *name, char *value, char *path, char *domain, struct cookie_server *server)
void set_cookie (struct uri *uri, char *str)
void accept_cookie (struct cookie *cookie)
static struct stringsend_cookies_common (struct uri *uri, unsigned int httponly)
struct stringsend_cookies (struct uri *uri)
struct stringsend_cookies_js (struct uri *uri)
static void done_cookies (struct module *module)
void load_cookies (void)
static void resave_cookies_bottom_half (void *always_null)
void set_cookies_dirty (void)
void save_cookies (struct terminal *term)
static void init_cookies (struct module *module)
static void free_cookies_list (struct cookie list *list)

Variables

static int cookies_nosave = 0
static struct cookie list cookies = { D_LIST_HEAD_EL(cookies) }
static struct c_domain list c_domains = { D_LIST_HEAD_EL(c_domains) }
static struct cookie_server list cookie_servers = { D_LIST_HEAD_EL(cookie_servers) }
static int cookies_dirty = 0
static union option_info cookies_options []
struct module cookies_module

Macro Definition Documentation

◆ CANNOT_SAVE_COOKIES

#define CANNOT_SAVE_COOKIES ( flags,
message )
Value:
do { \
if (term) \
info_box(term, flags, N_("Cannot save cookies"),\
ALIGN_LEFT, message); \
} while (0)
@ ALIGN_LEFT
Definition align.h:5
#define N_(msg)
Definition libintl.h:25

◆ COOKIES_FILENAME

#define COOKIES_FILENAME   "cookies"

◆ get_cookies_accept_policy

#define get_cookies_accept_policy ( )
Value:
@ COOKIES_ACCEPT_POLICY
Definition cookies.c:77
#define get_opt_cookies(which)
Definition cookies.c:130

◆ get_cookies_max_age

#define get_cookies_max_age ( )
Value:
@ COOKIES_MAX_AGE
Definition cookies.c:78

◆ get_cookies_paranoid_security

#define get_cookies_paranoid_security ( )
Value:
@ COOKIES_PARANOID_SECURITY
Definition cookies.c:79

◆ get_cookies_resave

#define get_cookies_resave ( )
Value:
@ COOKIES_RESAVE
Definition cookies.c:81

◆ get_cookies_save

#define get_cookies_save ( )
Value:
@ COOKIES_SAVE
Definition cookies.c:80

◆ get_opt_cookies

#define get_opt_cookies ( which)
Value:
cookies_options[(which)].option.value
#define option
Definition options.h:18
static union option_info cookies_options[]
Definition cookies.c:86

Enumeration Type Documentation

◆ cookies_option

Enumerator
COOKIES_TREE 
COOKIES_ACCEPT_POLICY 
COOKIES_MAX_AGE 
COOKIES_PARANOID_SECURITY 
COOKIES_SAVE 
COOKIES_RESAVE 
COOKIES_OPTIONS 

Function Documentation

◆ accept_cookie()

void accept_cookie ( struct cookie * cookie)

◆ delete_cookie()

void delete_cookie ( struct cookie * c)

◆ done_cookie()

void done_cookie ( struct cookie * c)

◆ done_cookie_server()

void done_cookie_server ( struct cookie_server * cs)
static

◆ done_cookies()

void done_cookies ( struct module * module)
static

◆ free_cookies_list()

void free_cookies_list ( struct cookie list * list)
static

◆ get_cookie_server()

struct cookie_server * get_cookie_server ( char * host,
int hostlen )

◆ init_cookie()

struct cookie * init_cookie ( char * name,
char * value,
char * path,
char * domain,
struct cookie_server * server )

◆ init_cookies()

void init_cookies ( struct module * module)
static

◆ is_domain_security_ok()

int is_domain_security_ok ( char * domain,
char * server,
int server_len )
static

◆ load_cookies()

void load_cookies ( void )

◆ resave_cookies_bottom_half()

void resave_cookies_bottom_half ( void * always_null)
static

◆ save_cookies()

void save_cookies ( struct terminal * term)

◆ send_cookies()

struct string * send_cookies ( struct uri * uri)

◆ send_cookies_common()

struct string * send_cookies_common ( struct uri * uri,
unsigned int httponly )
static

◆ send_cookies_js()

struct string * send_cookies_js ( struct uri * uri)

◆ set_cookie()

void set_cookie ( struct uri * uri,
char * str )

◆ set_cookies_dirty()

void set_cookies_dirty ( void )

Variable Documentation

◆ c_domains

struct c_domain list c_domains = { D_LIST_HEAD_EL(c_domains) }
static

◆ cookie_servers

struct cookie_server list cookie_servers = { D_LIST_HEAD_EL(cookie_servers) }
static

◆ cookies

struct cookie list cookies = { D_LIST_HEAD_EL(cookies) }
static

◆ cookies_dirty

int cookies_dirty = 0
static

◆ cookies_module

struct module cookies_module
Initial value:
N_("Cookies"),
)
static void init_cookies(struct module *module)
Definition cookies.c:891
static void done_cookies(struct module *module)
Definition cookies.c:910
#define NULL
Definition explodename.c:35
#define struct_module(name, options, hooks, submods, data, init, done, getname)
Definition module.h:47

◆ cookies_nosave

int cookies_nosave = 0
static

◆ cookies_options

union option_info cookies_options[]
static