conninfo
char *conninfo;
xasprintf(&conninfo, "SSH_CONNECTION=%.50s %d %.50s %d",
if ((r = pam_putenv(sshpam_handle, conninfo)) != PAM_SUCCESS)
free(conninfo);
static struct conninfo *search_conn(struct servtab *sep, int ctrl);
static int room_conn(struct servtab *sep, struct conninfo *conn);
static void addchild_conn(struct conninfo *conn, pid_t pid);
static void free_conn(struct conninfo *conn);
static struct conninfo *
struct conninfo *conn;
if ((conn = malloc(sizeof(struct conninfo))) == NULL) {
room_conn(struct servtab *sep, struct conninfo *conn)
addchild_conn(struct conninfo *conn, pid_t pid)
struct conninfo *conn;
struct conninfo *conn;
struct conninfo *conn, *conn_temp;
free_conn(struct conninfo *conn)
struct conninfo *conn;
LIST_HEAD(, conninfo) se_conn[PERIPSIZE];
struct conninfo *pr_conn;
LIST_ENTRY(conninfo) co_link;