Home | History | Annotate | Download | only in doc

Lines Matching full:session

52 * Session management::
1035 File: libmicrohttpd-tutorial.info, Node: Improved processing of POST data, Next: Session management, Prev: Processing POST data, Up: Top
1313 File: libmicrohttpd-tutorial.info, Node: Session management, Next: Adding a layer of security, Prev: Improved processing of POST data, Up: Top
1315 8 Session management
1322 this is a network protocol, our session mechanism must support having
1325 In order to track users, we use a simple session cookie. A session
1326 cookie expires when the user closes the browser. Changing from session
1328 to the cookie. The server creates a fresh session cookie whenever a
1329 request without a cookie is received, or if the supplied session cookie
1340 Here, FIXME is the name we chose for our session cookie.
1357 Remark: Session expiration
1374 the same session) is available as the example `sessions.c'.
1384 Naturally, it is quite conceivable to store session data in a database
1390 File: libmicrohttpd-tutorial.info, Node: Adding a layer of security, Next: Bibliography, Prev: Session management, Up: Top
1529 With this, you can then obtain client certificates for each session.
1531 the raw GnuTLS session handle from _MHD_ using
1549 * @param tls_session the TLS session
1749 sni_callback (gnutls_session_t session,
1765 gnutls_server_name_get (session,
3240 #define COOKIE_NAME "session"
3244 * State we keep for each user/session/browser.
3246 struct Session
3251 struct Session *next;
3254 * Unique ID for this session.
3260 * currently using this session.
3265 * Time when this session was last active.
3289 * Associated session.
3291 struct Session *session;
3312 static struct Session *sessions;
3318 * Return the session handle for this connection, or
3321 static struct Session *
3324 struct Session *ret;
3332 /* find existing session */
3346 /* create fresh session */
3347 ret = calloc (1, sizeof (struct Session));
3353 /* not a super-secure way to generate a random session ID,
3375 * @param session session information
3381 struct Session *session,
3413 * Add header to response to set a session cookie.
3415 * @param session session to use
3419 add_session_cookie (struct Session *session,
3427 session->sid);
3434 "Failed to set session cookie header!\n");
3445 * @param session session handle
3451 struct Session *session,
3462 add_session_cookie (session, response);
3479 * @param session session handle
3485 struct Session *session,
3495 session->value_1))
3504 add_session_cookie (session, response);
3521 * @param session session handle
3527 struct Session *session,
3537 session->value_1,
3538 session->value_2))
3547 add_session_cookie (session, response);
3564 * @param session session handle
3570 struct Session *session,
3634 struct Session *session = request->session;
3639 "Session `%s' submitted `%s', `%s'\n",
3640 session->sid,
3641 session->value_1,
3642 session->value_2);
3647 if (size + off > sizeof(session->value_1))
3648 size = sizeof (session->value_1) - off;
3649 memcpy (&session->value_1[off],
3652 if (size + off < sizeof (session->value_1))
3653 session->value_1[size+off] = '\0';
3658 if (size + off > sizeof(session->value_2))
3659 size = sizeof (session->value_2) - off;
3660 memcpy (&session->value_2[off],
3663 if (size + off < sizeof (session->value_2))
3664 session->value_2[size+off] = '\0';
3718 struct Session *session;
3745 if (NULL == request->session)
3747 request->session = get_session (connection);
3748 if (NULL == request->session)
3750 fprintf (stderr, "Failed to setup session for `%s'\n",
3755 session = request->session;
3756 session->start = time (NULL);
3786 session, connection);
3806 * Decrements session reference counter.
3810 * @param con_cls session handle
3823 if (NULL != request->session)
3824 request->session->rc--;
3838 struct Session *pos;
3839 struct Session *prev;
3840 struct Session *next;
4217 Node: Session management54177