sessions
return (ctx->sessions);
return (lh_SSL_SESSION_num_items(ctx->sessions));
ret->sessions = lh_SSL_SESSION_new();
if (ret->sessions == NULL)
if (ctx->sessions != NULL)
lh_SSL_SESSION_free(ctx->sessions);
p = lh_SSL_SESSION_retrieve(ssl->ctx->sessions, &r);
struct lhash_st_SSL_SESSION *sessions;
tp.cache = s->sessions;
sess = lh_SSL_SESSION_retrieve(s->session_ctx->sessions, &data);
s = lh_SSL_SESSION_insert(ctx->sessions, c);
if ((r = lh_SSL_SESSION_retrieve(ctx->sessions, c)) == c) {
r = lh_SSL_SESSION_delete(ctx->sessions, c);
if (sessions == NULL)
sessions = sp->se_next;
for (sp = sessions; sp; sp = sp->se_next) {
for (sp = sessions; sp; sp = sp->se_next)
for (sprev = NULL, sp = sessions; sp; sprev = sp, sp = sp->se_next)
for (sp = sessions; sp; sp = sp->se_next)
for (sp = sessions; sp; sp = sp->se_next)
for (sp = sessions; sp; sp = sp->se_next) {
for (sp = sessions; sp; sp = sp->se_next)
session_t *sessions;
sessions = sp;
for (sp = sessions; sp; sp = snext) {
sessions = NULL;
static Session *sessions = NULL;
memset(&sessions[id], 0, sizeof(*sessions));
sessions[id].self = id;
sessions[id].used = 0;
sessions[id].chanid = -1;
sessions[id].ptyfd = -1;
sessions[id].ttyfd = -1;
sessions[id].ptymaster = -1;
sessions[id].x11_chanids = NULL;
sessions[id].next_unused = sessions_first_unused;
tmp = xrecallocarray(sessions, sessions_nalloc,
sessions_nalloc + 1, sizeof(*sessions));
sessions = tmp;
s = &sessions[sessions_first_unused];
Session *s = &sessions[i];
Session *s = &sessions[i];
Session *s = &sessions[i];
Session *s = &sessions[i];
Session *s = &sessions[i];
Session *s = &sessions[i];
Session *s = &sessions[i];
s = RB_MIN(sessions, &sessions);
if (RB_EMPTY(&sessions)) {
RB_FOREACH(s_loop, sessions, &sessions) {
RB_FOREACH(s, sessions, &sessions) {
RB_FOREACH(s_loop, sessions, &sessions) {
RB_FOREACH(s_loop, sessions, &sessions) {
RB_FOREACH_SAFE(sloop, sessions, &sessions, stmp) {
RB_FOREACH(s, sessions, &sessions)
RB_REMOVE(sessions, &sessions, s);
RB_INSERT(sessions, &sessions, s);
TAILQ_FOREACH(loop, &sg->sessions, gentry) {
TAILQ_FOREACH(session_loop, &sg->sessions, gentry) {
RB_FOREACH(s, sessions, &sessions)
RB_FOREACH(s, sessions, &sessions) {
s = TAILQ_FIRST(&sg->sessions);
RB_FOREACH(s, sessions, &sessions) {
RB_FOREACH(s, sessions, &sessions) {
RB_FOREACH(s, sessions, &sessions)
RB_FOREACH(s, sessions, &sessions)
RB_FOREACH(s, sessions, &sessions) {
RB_FOREACH(s, sessions, &sessions) {
RB_FOREACH_SAFE(s, sessions, &sessions, s1) {
TAILQ_FOREACH(s, &sg->sessions, gentry)
RB_FOREACH(s, sessions, &sessions)
TAILQ_FOREACH_SAFE(s, &sg->sessions, gentry, s1) {
RB_FOREACH(s_loop, sessions, &sessions) {
RB_FOREACH(s, sessions, &sessions) {
TAILQ_FOREACH(s, &sg->sessions, gentry)
TAILQ_FOREACH(s, &sg->sessions, gentry)
RB_INIT(&sessions);
if (!RB_EMPTY(&sessions))
RB_FOREACH_SAFE(s, sessions, &sessions, s1)
RB_FOREACH(s, sessions, &sessions) {
RB_FOREACH(s, sessions, &sessions) {
} while (RB_FIND(sessions, &sessions, s) != NULL);
RB_INSERT(sessions, &sessions, s);
RB_REMOVE(sessions, &sessions, s);
if (RB_EMPTY(&sessions) || !session_alive(s))
struct sessions sessions;
if (RB_EMPTY(&sessions) || !session_alive(s))
RB_GENERATE(sessions, session, entry, session_cmp);
TAILQ_FOREACH(s, &sg->sessions, gentry) {
TAILQ_INIT(&sg->sessions);
TAILQ_INSERT_TAIL(&sg->sessions, s, gentry);
TAILQ_REMOVE(&sg->sessions, s, gentry);
if (TAILQ_EMPTY(&sg->sessions)) {
TAILQ_FOREACH(s, &sg->sessions, gentry)
TAILQ_FOREACH(s, &sg->sessions, gentry)
TAILQ_FOREACH(target, &sg->sessions, gentry) {
TAILQ_FOREACH(s, &sg->sessions, gentry) {
RB_FOREACH(s_loop, sessions, &sessions) {
return (RB_FIND(sessions, &sessions, &s));
RB_FOREACH(s, sessions, &sessions) {
RB_FOREACH(s, sessions, &sessions) {
RB_FOREACH(s, sessions, &sessions) {
RB_FOREACH(loop, sessions, &sessions) {
TAILQ_HEAD(, session) sessions;
RB_HEAD(sessions, session);
extern struct sessions sessions;
(sg != current && s != TAILQ_FIRST(&sg->sessions)))
for (s = LIST_FIRST(&sessions); s != NULL; s = next) {
LIST_INSERT_HEAD(&sessions, s, entry);
LIST_HEAD(, session) sessions = LIST_HEAD_INITIALIZER(sessions);
SIMPLEQ_FOREACH(s, &cf->sessions, entry) {
SIMPLEQ_HEAD(, session_ctlcfg) sessions;
SIMPLEQ_INSERT_TAIL(&conf->sessions, scelm, entry);
SIMPLEQ_INIT(&conf->sessions);
while ((s = SIMPLEQ_FIRST(&c->sessions))) {
SIMPLEQ_REMOVE_HEAD(&c->sessions, entry);
TAILQ_FOREACH(s, &initiator->sessions, entry)
TAILQ_FOREACH(s, &initiator->sessions, entry) {
TAILQ_INSERT_HEAD(&initiator->sessions, s, entry);
TAILQ_FOREACH(s, &initiator->sessions, entry) {
TAILQ_FOREACH(s, &initiator->sessions, entry) {
return &initiator->sessions;
TAILQ_INIT(&initiator->sessions);
while ((s = TAILQ_FIRST(&initiator->sessions)) != NULL) {
TAILQ_REMOVE(&initiator->sessions, s, entry);
struct session_head sessions;
static struct tree sessions;
fs = tree_xget(&sessions, reqid);
fs = tree_xget(&sessions, reqid);
if ((fs = tree_get(&sessions, reqid)) == NULL)
tree_init(&sessions);
tree_xset(&sessions, fs->id, fs);
fs = tree_xpop(&sessions, reqid);
fs = tree_xget(&sessions, reqid);
fs = tree_xget(&sessions, reqid);
if ((fs = tree_get(&sessions, reqid)) == NULL)
fs = tree_xget(&sessions, reqid);
if ((fs = tree_get(&sessions, reqid)) == NULL)
fs = tree_xget(&sessions, reqid);
if ((fs = tree_get(&sessions, reqid)) == NULL)
fs = tree_xget(&sessions, reqid);
tree_xpop(&sessions, lks->id);
static struct tree sessions;
tree_init(&sessions);
tree_xset(&sessions, lks->id, lks);
lks = tree_xget(&sessions, fwreq->id);
s = tree_xget(&sessions, reqid);
s = tree_xget(&sessions, reqid);
s = tree_xget(&sessions, reqid);
tree_init(&sessions);
if (tree_count(&sessions) >= env->sc_mda_max_session) {
tree_xpop(&sessions, s->id);
tree_xset(&sessions, s->id, s);
static struct tree sessions;
sessions++;
if (sessions + 1 == maxsessions)
sessions--;
sessions++;
sessions--;
static size_t sessions;