summaryrefslogtreecommitdiff
path: root/auth-sia.c
diff options
context:
space:
mode:
Diffstat (limited to 'auth-sia.c')
-rw-r--r--auth-sia.c27
1 files changed, 14 insertions, 13 deletions
diff --git a/auth-sia.c b/auth-sia.c
index 5c9b3f5de..cae5f0912 100644
--- a/auth-sia.c
+++ b/auth-sia.c
@@ -52,26 +52,27 @@ auth_sia_password(Authctxt *authctxt, char *pass)
52 SIAENTITY *ent = NULL; 52 SIAENTITY *ent = NULL;
53 const char *host; 53 const char *host;
54 54
55 host = get_canonical_hostname(options.verify_reverse_mapping); 55 host = get_canonical_hostname(options.use_dns);
56 56
57 if (!authctxt->user || !pass || pass[0] == '\0') 57 if (!authctxt->user || pass == NULL || pass[0] == '\0')
58 return(0); 58 return (0);
59 59
60 if (sia_ses_init(&ent, saved_argc, saved_argv, host, authctxt->user, 60 if (sia_ses_init(&ent, saved_argc, saved_argv, host, authctxt->user,
61 NULL, 0, NULL) != SIASUCCESS) 61 NULL, 0, NULL) != SIASUCCESS)
62 return(0); 62 return (0);
63 63
64 if ((ret = sia_ses_authent(NULL, pass, ent)) != SIASUCCESS) { 64 if ((ret = sia_ses_authent(NULL, pass, ent)) != SIASUCCESS) {
65 error("Couldn't authenticate %s from %s", authctxt->user, 65 error("Couldn't authenticate %s from %s",
66 host); 66 authctxt->user, host);
67 if (ret & SIASTOP) 67 if (ret & SIASTOP)
68 sia_ses_release(&ent); 68 sia_ses_release(&ent);
69 return(0); 69
70 return (0);
70 } 71 }
71 72
72 sia_ses_release(&ent); 73 sia_ses_release(&ent);
73 74
74 return(1); 75 return (1);
75} 76}
76 77
77void 78void
@@ -80,10 +81,10 @@ session_setup_sia(struct passwd *pw, char *tty)
80 SIAENTITY *ent = NULL; 81 SIAENTITY *ent = NULL;
81 const char *host; 82 const char *host;
82 83
83 host = get_canonical_hostname(options.verify_reverse_mapping); 84 host = get_canonical_hostname(options.use_dns);
84 85
85 if (sia_ses_init(&ent, saved_argc, saved_argv, host, pw->pw_name, tty, 86 if (sia_ses_init(&ent, saved_argc, saved_argv, host, pw->pw_name,
86 0, NULL) != SIASUCCESS) 87 tty, 0, NULL) != SIASUCCESS)
87 fatal("sia_ses_init failed"); 88 fatal("sia_ses_init failed");
88 89
89 if (sia_make_entity_pwd(pw, ent) != SIASUCCESS) { 90 if (sia_make_entity_pwd(pw, ent) != SIASUCCESS) {
@@ -97,8 +98,8 @@ session_setup_sia(struct passwd *pw, char *tty)
97 pw->pw_name, host); 98 pw->pw_name, host);
98 99
99 if (sia_ses_launch(sia_collect_trm, ent) != SIASUCCESS) 100 if (sia_ses_launch(sia_collect_trm, ent) != SIASUCCESS)
100 fatal("Couldn't launch session for %s from %s", pw->pw_name, 101 fatal("Couldn't launch session for %s from %s",
101 host); 102 pw->pw_name, host);
102 103
103 sia_ses_release(&ent); 104 sia_ses_release(&ent);
104 105