summaryrefslogtreecommitdiff
path: root/monitor_wrap.c
diff options
context:
space:
mode:
Diffstat (limited to 'monitor_wrap.c')
-rw-r--r--monitor_wrap.c26
1 files changed, 24 insertions, 2 deletions
diff --git a/monitor_wrap.c b/monitor_wrap.c
index 3b50753de..23b0cbd59 100644
--- a/monitor_wrap.c
+++ b/monitor_wrap.c
@@ -253,10 +253,10 @@ mm_auth2_read_banner(void)
253 return (banner); 253 return (banner);
254} 254}
255 255
256/* Inform the privileged process about service and style */ 256/* Inform the privileged process about service, style, and role */
257 257
258void 258void
259mm_inform_authserv(char *service, char *style) 259mm_inform_authserv(char *service, char *style, char *role)
260{ 260{
261 Buffer m; 261 Buffer m;
262 262
@@ -265,6 +265,7 @@ mm_inform_authserv(char *service, char *style)
265 buffer_init(&m); 265 buffer_init(&m);
266 buffer_put_cstring(&m, service); 266 buffer_put_cstring(&m, service);
267 buffer_put_cstring(&m, style ? style : ""); 267 buffer_put_cstring(&m, style ? style : "");
268 buffer_put_cstring(&m, role ? role : "");
268 269
269 mm_request_send(pmonitor->m_recvfd, MONITOR_REQ_AUTHSERV, &m); 270 mm_request_send(pmonitor->m_recvfd, MONITOR_REQ_AUTHSERV, &m);
270 271
@@ -1215,4 +1216,25 @@ mm_ssh_gssapi_userok(char *user)
1215 debug3("%s: user %sauthenticated",__func__, authenticated ? "" : "not "); 1216 debug3("%s: user %sauthenticated",__func__, authenticated ? "" : "not ");
1216 return (authenticated); 1217 return (authenticated);
1217} 1218}
1219
1220OM_uint32
1221mm_ssh_gssapi_sign(Gssctxt *ctx, gss_buffer_desc *data, gss_buffer_desc *hash)
1222{
1223 Buffer m;
1224 OM_uint32 major;
1225
1226 buffer_init(&m);
1227 buffer_put_string(&m, data->value, data->length);
1228
1229 mm_request_send(pmonitor->m_recvfd, MONITOR_REQ_GSSSIGN, &m);
1230 mm_request_receive_expect(pmonitor->m_recvfd, MONITOR_ANS_GSSSIGN, &m);
1231
1232 major = buffer_get_int(&m);
1233 hash->value = buffer_get_string(&m, &hash->length);
1234
1235 buffer_free(&m);
1236
1237 return(major);
1238}
1239
1218#endif /* GSSAPI */ 1240#endif /* GSSAPI */