diff options
Diffstat (limited to 'packages/links/files/cookies-save-0.96.patch')
-rw-r--r-- | packages/links/files/cookies-save-0.96.patch | 106 |
1 files changed, 0 insertions, 106 deletions
diff --git a/packages/links/files/cookies-save-0.96.patch b/packages/links/files/cookies-save-0.96.patch deleted file mode 100644 index a1e35c01ca..0000000000 --- a/packages/links/files/cookies-save-0.96.patch +++ /dev/null @@ -1,106 +0,0 @@ -diff -ru links-0.96/cookies.c links-0.96+cookies-save/cookies.c ---- links-0.96/cookies.c Mon Sep 3 07:19:37 2001 -+++ links-0.96+cookies-save/cookies.c Mon Sep 3 07:18:42 2001 -@@ -276,15 +276,99 @@ - - void init_cookies(void) - { -- /* !!! FIXME: read cookies */ -+ unsigned char in_buffer[MAX_STR_LEN]; -+ unsigned char *cookfile, *p, *q; -+ FILE *fp; -+ -+ /* must be called after init_home */ -+ if (! links_home) return; -+ -+ cookfile = stracpy(links_home); -+ if (! cookfile) return; -+ add_to_strn(&cookfile, "cookies"); -+ -+ fp = fopen(cookfile, "r"); -+ mem_free(cookfile); -+ if (fp == NULL) return; -+ -+ while (fgets(in_buffer, MAX_STR_LEN, fp)) { -+ struct cookie *cookie; -+ -+ if (!(cookie = mem_alloc(sizeof(struct cookie)))) return; -+ memset(cookie, 0, sizeof(struct cookie)); -+ -+ q = in_buffer; p = strchr(in_buffer, ' '); -+ if (p == NULL) goto inv; -+ *p++ = '\0'; -+ cookie->name = stracpy(q); -+ -+ q = p; p = strchr(p, ' '); -+ if (p == NULL) goto inv; -+ *p++ = '\0'; -+ cookie->value = stracpy(q); -+ -+ q = p; p = strchr(p, ' '); -+ if (p == NULL) goto inv; -+ *p++ = '\0'; -+ cookie->server = stracpy(q); -+ -+ q = p; p = strchr(p, ' '); -+ if (p == NULL) goto inv; -+ *p++ = '\0'; -+ cookie->path = stracpy(q); -+ -+ q = p; p = strchr(p, ' '); -+ if (p == NULL) goto inv; -+ *p++ = '\0'; -+ cookie->domain = stracpy(q); -+ -+ q = p; p = strchr(p, ' '); -+ if (p == NULL) goto inv; -+ *p++ = '\0'; -+ cookie->expires = atoi(q); -+ -+ cookie->secure = atoi(p); -+ -+ cookie->id = cookie_id++; -+ -+ accept_cookie(cookie); -+ -+ continue; -+ -+inv: -+ free_cookie(cookie); -+ free(cookie); -+ } -+ fclose(fp); - } - - void cleanup_cookies(void) - { - struct cookie *c; -+ unsigned char *cookfile; -+ FILE *fp; -+ - free_list(c_domains); -- /* !!! FIXME: save cookies */ -- foreach (c, cookies) free_cookie(c); -+ -+ cookfile = stracpy(links_home); -+ if (! cookfile) return; -+ add_to_strn(&cookfile, "cookies"); -+ -+ fp = fopen(cookfile, "w"); -+ mem_free(cookfile); -+ if (fp == NULL) return; -+ -+ foreach (c, cookies) { -+ if (c->expires && ! cookie_expired(c)) -+ fprintf(fp, "%s %s %s %s %s %d %d\n", c->name, c->value, -+ c->server?c->server:(unsigned char *)"", c->path?c->path:(unsigned char *)"", -+ c->domain?c->domain:(unsigned char *)"", c->expires, c->secure); -+ -+ free_cookie(c); -+ } -+ -+ fclose(fp); -+ - free_list(cookies); - } - |