View | Details | Raw Unified | Return to bug 319
Collapse All | Expand All

(-)auth-sia.c (-1 / +2 lines)
Lines 77-83 Link Here
77
}
77
}
78
78
79
void
79
void
80
session_setup_sia(char *user, char *tty)
80
setup_sia(char *user, char *tty)
81
{
81
{
82
	struct passwd *pw;
82
	struct passwd *pw;
83
	SIAENTITY *ent = NULL;
83
	SIAENTITY *ent = NULL;
Lines 116-121 Link Here
116
	
116
	
117
	sia_ses_release(&ent);
117
	sia_ses_release(&ent);
118
118
119
	/* XXX: Should this be be around a if (!use_privsep) ? */
119
	if (setreuid(geteuid(), geteuid()) < 0) {
120
	if (setreuid(geteuid(), geteuid()) < 0) {
120
		fatal("setreuid: %s", strerror(errno));
121
		fatal("setreuid: %s", strerror(errno));
121
	}
122
	}
(-)monitor.c (+26 lines)
Lines 120-125 Link Here
120
int mm_answer_pam_start(int, Buffer *);
120
int mm_answer_pam_start(int, Buffer *);
121
#endif
121
#endif
122
122
123
#ifdef HAVE_OSF_SIA
124
int mm_answer_setup_sia(int, Buffer *);
125
#endif
126
123
static Authctxt *authctxt;
127
static Authctxt *authctxt;
124
static BIGNUM *ssh1_challenge = NULL;	/* used for ssh1 rsa auth */
128
static BIGNUM *ssh1_challenge = NULL;	/* used for ssh1 rsa auth */
125
129
Lines 154-159 Link Here
154
    {MONITOR_REQ_AUTHSERV, MON_ONCE, mm_answer_authserv},
158
    {MONITOR_REQ_AUTHSERV, MON_ONCE, mm_answer_authserv},
155
    {MONITOR_REQ_AUTH2_READ_BANNER, MON_ONCE, mm_answer_auth2_read_banner},
159
    {MONITOR_REQ_AUTH2_READ_BANNER, MON_ONCE, mm_answer_auth2_read_banner},
156
    {MONITOR_REQ_AUTHPASSWORD, MON_AUTH, mm_answer_authpassword},
160
    {MONITOR_REQ_AUTHPASSWORD, MON_AUTH, mm_answer_authpassword},
161
#ifdef HAVE_OSF_SIA
162
    (MONITOR_REQ_SETUP_SIA, MON_ONCE, mm_answer_setup_sia),
163
#endif
157
#ifdef USE_PAM
164
#ifdef USE_PAM
158
    {MONITOR_REQ_PAM_START, MON_ONCE, mm_answer_pam_start},
165
    {MONITOR_REQ_PAM_START, MON_ONCE, mm_answer_pam_start},
159
#endif
166
#endif
Lines 196-201 Link Here
196
    {MONITOR_REQ_SKEYQUERY, MON_ISAUTH, mm_answer_skeyquery},
203
    {MONITOR_REQ_SKEYQUERY, MON_ISAUTH, mm_answer_skeyquery},
197
    {MONITOR_REQ_SKEYRESPOND, MON_AUTH, mm_answer_skeyrespond},
204
    {MONITOR_REQ_SKEYRESPOND, MON_AUTH, mm_answer_skeyrespond},
198
#endif
205
#endif
206
#ifdef HAVE_OSF_SIA
207
    (MONITOR_REQ_SETUP_SIA, MON_ONCE, mm_answer_setup_sia),
208
#endif
199
#ifdef USE_PAM
209
#ifdef USE_PAM
200
    {MONITOR_REQ_PAM_START, MON_ONCE, mm_answer_pam_start},
210
    {MONITOR_REQ_PAM_START, MON_ONCE, mm_answer_pam_start},
201
#endif
211
#endif
Lines 716-721 Link Here
716
	auth_method = "skey";
726
	auth_method = "skey";
717
727
718
	return (authok != 0);
728
	return (authok != 0);
729
}
730
#endif
731
732
#ifdef HAVE_OSF_SIA
733
int
734
mm_answer_setup_sia(int socket, Buffer *m)
735
{
736
	char *user, *tty;
737
738
	user = buffer_get_string(m, NULL);
739
	tty = buffer_get_string(m, NULL);
740
741
	setup_sia(user, tty);
742
743
	xfree(user);
744
	xfree(tty);
719
}
745
}
720
#endif
746
#endif
721
747
(-)monitor.h (+1 lines)
Lines 50-55 Link Here
50
	MONITOR_REQ_RSACHALLENGE, MONITOR_ANS_RSACHALLENGE,
50
	MONITOR_REQ_RSACHALLENGE, MONITOR_ANS_RSACHALLENGE,
51
	MONITOR_REQ_RSARESPONSE, MONITOR_ANS_RSARESPONSE,
51
	MONITOR_REQ_RSARESPONSE, MONITOR_ANS_RSARESPONSE,
52
	MONITOR_REQ_PAM_START,
52
	MONITOR_REQ_PAM_START,
53
	MONITOR_REQ_SETUP_SIA,
53
	MONITOR_REQ_TERM
54
	MONITOR_REQ_TERM
54
};
55
};
55
56
(-)session.c (-1 / +1 lines)
Lines 1269-1275 Link Here
1269
	 */
1269
	 */
1270
	if (!options.use_login) {
1270
	if (!options.use_login) {
1271
#ifdef HAVE_OSF_SIA
1271
#ifdef HAVE_OSF_SIA
1272
		session_setup_sia(pw->pw_name, s->ttyfd == -1 ? NULL : s->tty);
1272
		PRIVSEP(setup_sia(pw->pw_name, s->ttyfd == -1 ? NULL : s->tty));
1273
		if (!check_quietlogin(s, command))
1273
		if (!check_quietlogin(s, command))
1274
			do_motd();
1274
			do_motd();
1275
#else /* HAVE_OSF_SIA */
1275
#else /* HAVE_OSF_SIA */

Return to bug 319