static void print_session(struct l2tp_data *data) { struct l2tp_parm *p = &data->config; printf("Session %u in tunnel %u\n", p->session_id, p->tunnel_id); printf(" Peer session %u, tunnel %u\n", p->peer_session_id, p->peer_tunnel_id); if (p->ifname != NULL) printf(" interface name: %s\n", p->ifname); printf(" offset %u, peer offset %u\n", p->offset, p->peer_offset); if (p->cookie_len > 0) print_cookie("cookie", p->cookie, p->cookie_len); if (p->peer_cookie_len > 0) print_cookie("peer cookie", p->peer_cookie, p->peer_cookie_len); if (p->reorder_timeout != 0) printf(" reorder timeout: %u\n", p->reorder_timeout); else printf("\n"); if (p->send_seq || p->recv_seq) { printf(" sequence numbering:"); if (p->send_seq) printf(" send"); if (p->recv_seq) printf(" recv"); printf("\n"); } }
void soup_cookie_jar_delete_cookie(SoupCookieJar *jar, SoupCookie *c) { GSList *cf; SoupCookie *ci; print_cookie("soup_cookie_jar_delete_cookie", c); if (cookies_enabled == 0) return; if (jar == NULL || c == NULL) return; /* find and remove from persistent jar */ cf = soup_cookie_jar_all_cookies(p_cookiejar); for (;cf; cf = cf->next) { ci = cf->data; if (soup_cookie_equal(ci, c)) { _soup_cookie_jar_delete_cookie(p_cookiejar, ci); break; } } soup_cookies_free(cf); /* delete from session jar */ _soup_cookie_jar_delete_cookie(s_cookiejar, c); }
//instantiation int main(void) { int number; // input printf("Enter a positive integer: "); scanf("%d", &number); print_cookie(number); return 0; }
void print_cookie_jar(struct cookie_jar *cookies) { printf ("Cookie jar:\n"); while(cookies) { printf ("\t"); print_cookie(cookies->c); cookies = cookies->next_jar; } }
int main(int argc, char **argv) { struct cookie c; struct cookie_jar *cj; if(argv[1]) { printf("Raw Cookie: [%s]\n", argv[1]); parse_cookie(&c, argv[1], strlen(argv[1])); print_cookie(&c); set_cookie(&cj, &c); print_cookie_jar(cj); } }
void soup_cookie_jar_add_cookie(SoupCookieJar *jar, SoupCookie *cookie) { struct wl_entry *w = NULL; SoupCookie *c; FILE *r_cookie_f; char *public_suffix; DNPRINTF(XT_D_COOKIE, "soup_cookie_jar_add_cookie: %p %p %p\n", jar, p_cookiejar, s_cookiejar); if (cookies_enabled == 0) return; /* see if we are up and running */ if (p_cookiejar == NULL) { _soup_cookie_jar_add_cookie(jar, cookie); return; } /* disallow p_cookiejar adds, shouldn't happen */ if (jar == p_cookiejar) return; /* sanity */ if (jar == NULL || cookie == NULL) return; /* check if domain is valid */ public_suffix = tld_get_suffix(cookie->domain[0] == '.' ? cookie->domain + 1 : cookie->domain); if (public_suffix == NULL || (enable_cookie_whitelist && (w = wl_find(cookie->domain, &c_wl)) == NULL)) { blocked_cookies++; DNPRINTF(XT_D_COOKIE, "soup_cookie_jar_add_cookie: reject %s\n", cookie->domain); if (save_rejected_cookies) { if ((r_cookie_f = fopen(rc_fname, "a+")) == NULL) { show_oops(NULL, "can't open reject cookie file"); return; } fseek(r_cookie_f, 0, SEEK_END); fprintf(r_cookie_f, "%s%s\t%s\t%s\t%s\t%lu\t%s\t%s\n", cookie->http_only ? "#HttpOnly_" : "", cookie->domain, *cookie->domain == '.' ? "TRUE" : "FALSE", cookie->path, cookie->secure ? "TRUE" : "FALSE", cookie->expires ? (gulong)soup_date_to_time_t(cookie->expires) : 0, cookie->name, cookie->value); fflush(r_cookie_f); fclose(r_cookie_f); } if (!allow_volatile_cookies) return; } if (cookie->expires == NULL && session_timeout) { soup_cookie_set_expires(cookie, soup_date_new_from_now(session_timeout)); print_cookie("modified add cookie", cookie); } /* see if we are white listed for persistence */ if ((w && w->handy) || (enable_cookie_whitelist == 0)) { /* add to persistent jar */ c = soup_cookie_copy(cookie); print_cookie("soup_cookie_jar_add_cookie p_cookiejar", c); _soup_cookie_jar_add_cookie(p_cookiejar, c); } /* add to session jar */ print_cookie("soup_cookie_jar_add_cookie s_cookiejar", cookie); _soup_cookie_jar_add_cookie(s_cookiejar, cookie); }