]> andersk Git - gssapi-openssh.git/blobdiff - openssh/monitor_wrap.c
merged OPENSSH_5_2P1_GSSAPI_20090831 to GPT-branch
[gssapi-openssh.git] / openssh / monitor_wrap.c
index 368738f63be05cc9cdd85ee12a97430fac01acd2..a2bc3a6b348740b1198125a5ab8df29532815601 100644 (file)
@@ -1239,7 +1239,7 @@ mm_ssh_gssapi_checkmic(Gssctxt *ctx, gss_buffer_t gssbuf, gss_buffer_t gssmic)
 }
 
 int
-mm_ssh_gssapi_userok(char *user)
+mm_ssh_gssapi_userok(char *user, struct passwd *pw)
 {
        Buffer m;
        int authenticated = 0;
@@ -1257,28 +1257,6 @@ mm_ssh_gssapi_userok(char *user)
        return (authenticated);
 }
 
-OM_uint32
-mm_ssh_gssapi_sign(Gssctxt *ctx, gss_buffer_desc *data, gss_buffer_desc *hash)
-{
-       Buffer m;
-       OM_uint32 major;
-       u_int len;
-
-       buffer_init(&m);
-       buffer_put_string(&m, data->value, data->length);
-
-       mm_request_send(pmonitor->m_recvfd, MONITOR_REQ_GSSSIGN, &m);
-       mm_request_receive_expect(pmonitor->m_recvfd, MONITOR_ANS_GSSSIGN, &m);
-
-       major = buffer_get_int(&m);
-       hash->value = buffer_get_string(&m, &len);
-       hash->length = len;
-
-       buffer_free(&m);
-
-       return(major);
-}
-
 char *
 mm_ssh_gssapi_last_error(Gssctxt *ctx, OM_uint32 *major, OM_uint32 *minor) {
        Buffer m;
@@ -1356,6 +1334,50 @@ mm_ssh_gssapi_localname(char **lname)
         return(0);
 }      
 
+OM_uint32
+mm_ssh_gssapi_sign(Gssctxt *ctx, gss_buffer_desc *data, gss_buffer_desc *hash)
+{
+       Buffer m;
+       OM_uint32 major;
+       u_int len;
+
+       buffer_init(&m);
+       buffer_put_string(&m, data->value, data->length);
+
+       mm_request_send(pmonitor->m_recvfd, MONITOR_REQ_GSSSIGN, &m);
+       mm_request_receive_expect(pmonitor->m_recvfd, MONITOR_ANS_GSSSIGN, &m);
+
+       major = buffer_get_int(&m);
+       hash->value = buffer_get_string(&m, &len);
+       hash->length = len;
+
+       buffer_free(&m);
+
+       return(major);
+}
+
+int
+mm_ssh_gssapi_update_creds(ssh_gssapi_ccache *store)
+{
+       Buffer m;
+       int ok;
+
+       buffer_init(&m);
+
+       buffer_put_cstring(&m, store->filename ? store->filename : "");
+       buffer_put_cstring(&m, store->envvar ? store->envvar : "");
+       buffer_put_cstring(&m, store->envval ? store->envval : "");
+       
+       mm_request_send(pmonitor->m_recvfd, MONITOR_REQ_GSSUPCREDS, &m);
+       mm_request_receive_expect(pmonitor->m_recvfd, MONITOR_ANS_GSSUPCREDS, &m);
+
+       ok = buffer_get_int(&m);
+
+       buffer_free(&m);
+       
+       return (ok);
+}
+
 #endif /* GSSAPI */
 
 #ifdef JPAKE
This page took 0.036763 seconds and 4 git commands to generate.