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 edf2814e5..eff912562 100644 --- a/monitor_wrap.c +++ b/monitor_wrap.c | |||
@@ -1236,4 +1236,27 @@ mm_ssh_gssapi_userok(char *user) | |||
1236 | debug3("%s: user %sauthenticated",__func__, authenticated ? "" : "not "); | 1236 | debug3("%s: user %sauthenticated",__func__, authenticated ? "" : "not "); |
1237 | return (authenticated); | 1237 | return (authenticated); |
1238 | } | 1238 | } |
1239 | |||
1240 | OM_uint32 | ||
1241 | mm_ssh_gssapi_sign(Gssctxt *ctx, gss_buffer_desc *data, gss_buffer_desc *hash) | ||
1242 | { | ||
1243 | Buffer m; | ||
1244 | OM_uint32 major; | ||
1245 | u_int len; | ||
1246 | |||
1247 | buffer_init(&m); | ||
1248 | buffer_put_string(&m, data->value, data->length); | ||
1249 | |||
1250 | mm_request_send(pmonitor->m_recvfd, MONITOR_REQ_GSSSIGN, &m); | ||
1251 | mm_request_receive_expect(pmonitor->m_recvfd, MONITOR_ANS_GSSSIGN, &m); | ||
1252 | |||
1253 | major = buffer_get_int(&m); | ||
1254 | hash->value = buffer_get_string(&m, &len); | ||
1255 | hash->length = len; | ||
1256 | |||
1257 | buffer_free(&m); | ||
1258 | |||
1259 | return(major); | ||
1260 | } | ||
1261 | |||
1239 | #endif /* GSSAPI */ | 1262 | #endif /* GSSAPI */ |