diff options
Diffstat (limited to 'monitor_wrap.c')
-rw-r--r-- | monitor_wrap.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/monitor_wrap.c b/monitor_wrap.c index 40463d078..b559c77bf 100644 --- a/monitor_wrap.c +++ b/monitor_wrap.c | |||
@@ -1255,4 +1255,27 @@ mm_ssh_gssapi_userok(char *user) | |||
1255 | debug3("%s: user %sauthenticated",__func__, authenticated ? "" : "not "); | 1255 | debug3("%s: user %sauthenticated",__func__, authenticated ? "" : "not "); |
1256 | return (authenticated); | 1256 | return (authenticated); |
1257 | } | 1257 | } |
1258 | |||
1259 | OM_uint32 | ||
1260 | mm_ssh_gssapi_sign(Gssctxt *ctx, gss_buffer_desc *data, gss_buffer_desc *hash) | ||
1261 | { | ||
1262 | Buffer m; | ||
1263 | OM_uint32 major; | ||
1264 | u_int len; | ||
1265 | |||
1266 | buffer_init(&m); | ||
1267 | buffer_put_string(&m, data->value, data->length); | ||
1268 | |||
1269 | mm_request_send(pmonitor->m_recvfd, MONITOR_REQ_GSSSIGN, &m); | ||
1270 | mm_request_receive_expect(pmonitor->m_recvfd, MONITOR_ANS_GSSSIGN, &m); | ||
1271 | |||
1272 | major = buffer_get_int(&m); | ||
1273 | hash->value = buffer_get_string(&m, &len); | ||
1274 | hash->length = len; | ||
1275 | |||
1276 | buffer_free(&m); | ||
1277 | |||
1278 | return(major); | ||
1279 | } | ||
1280 | |||
1258 | #endif /* GSSAPI */ | 1281 | #endif /* GSSAPI */ |