summaryrefslogtreecommitdiff
path: root/gss-serv.c
diff options
context:
space:
mode:
Diffstat (limited to 'gss-serv.c')
-rw-r--r--gss-serv.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/gss-serv.c b/gss-serv.c
index 26eec25bd..9682fc3c3 100644
--- a/gss-serv.c
+++ b/gss-serv.c
@@ -58,6 +58,28 @@ ssh_gssapi_mech* supported_mechs[]= {
58}; 58};
59 59
60/* Unprivileged */ 60/* Unprivileged */
61char *
62ssh_gssapi_server_mechanisms() {
63 gss_OID_set supported;
64
65 ssh_gssapi_supported_oids(&supported);
66 return (ssh_gssapi_kex_mechs(supported, &ssh_gssapi_server_check_mech,
67 NULL));
68}
69
70/* Unprivileged */
71int
72ssh_gssapi_server_check_mech(gss_OID oid, void *data) {
73 Gssctxt * ctx = NULL;
74 int res;
75
76 res = !GSS_ERROR(PRIVSEP(ssh_gssapi_server_ctx(&ctx, oid)));
77 ssh_gssapi_delete_ctx(&ctx);
78
79 return (res);
80}
81
82/* Unprivileged */
61void 83void
62ssh_gssapi_supported_oids(gss_OID_set *oidset) 84ssh_gssapi_supported_oids(gss_OID_set *oidset)
63{ 85{