summaryrefslogtreecommitdiff
path: root/gss-genr.c
diff options
context:
space:
mode:
authorDarren Tucker <dtucker@zip.com.au>2007-06-12 23:40:39 +1000
committerDarren Tucker <dtucker@zip.com.au>2007-06-12 23:40:39 +1000
commit8f6d0ed60eb0d790564a5f47ba63c9bc3c734058 (patch)
treecbdc91acff173fdb6a2f6310d60b720a2ce815c2 /gss-genr.c
parent29a5707accd89cefb6c0a03ada09511c0cd6985a (diff)
- djm@cvs.openbsd.org 2007/06/12 08:20:00
[ssh-gss.h gss-serv.c gss-genr.c] relocate server-only GSSAPI code from libssh to server; bz #1225 patch from simon AT sxw.org.uk; ok markus@ dtucker@
Diffstat (limited to 'gss-genr.c')
-rw-r--r--gss-genr.c45
1 files changed, 1 insertions, 44 deletions
diff --git a/gss-genr.c b/gss-genr.c
index 57f12a2dc..d2b718e7a 100644
--- a/gss-genr.c
+++ b/gss-genr.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: gss-genr.c,v 1.17 2006/08/29 12:02:30 dtucker Exp $ */ 1/* $OpenBSD: gss-genr.c,v 1.18 2007/06/12 08:20:00 djm Exp $ */
2 2
3/* 3/*
4 * Copyright (c) 2001-2006 Simon Wilkinson. All rights reserved. 4 * Copyright (c) 2001-2006 Simon Wilkinson. All rights reserved.
@@ -226,39 +226,6 @@ ssh_gssapi_import_name(Gssctxt *ctx, const char *host)
226 return (ctx->major); 226 return (ctx->major);
227} 227}
228 228
229/* Acquire credentials for a server running on the current host.
230 * Requires that the context structure contains a valid OID
231 */
232
233/* Returns a GSSAPI error code */
234OM_uint32
235ssh_gssapi_acquire_cred(Gssctxt *ctx)
236{
237 OM_uint32 status;
238 char lname[MAXHOSTNAMELEN];
239 gss_OID_set oidset;
240
241 gss_create_empty_oid_set(&status, &oidset);
242 gss_add_oid_set_member(&status, ctx->oid, &oidset);
243
244 if (gethostname(lname, MAXHOSTNAMELEN)) {
245 gss_release_oid_set(&status, &oidset);
246 return (-1);
247 }
248
249 if (GSS_ERROR(ssh_gssapi_import_name(ctx, lname))) {
250 gss_release_oid_set(&status, &oidset);
251 return (ctx->major);
252 }
253
254 if ((ctx->major = gss_acquire_cred(&ctx->minor,
255 ctx->name, 0, oidset, GSS_C_ACCEPT, &ctx->creds, NULL, NULL)))
256 ssh_gssapi_error(ctx);
257
258 gss_release_oid_set(&status, &oidset);
259 return (ctx->major);
260}
261
262OM_uint32 229OM_uint32
263ssh_gssapi_sign(Gssctxt *ctx, gss_buffer_t buffer, gss_buffer_t hash) 230ssh_gssapi_sign(Gssctxt *ctx, gss_buffer_t buffer, gss_buffer_t hash)
264{ 231{
@@ -281,16 +248,6 @@ ssh_gssapi_buildmic(Buffer *b, const char *user, const char *service,
281 buffer_put_cstring(b, context); 248 buffer_put_cstring(b, context);
282} 249}
283 250
284OM_uint32
285ssh_gssapi_server_ctx(Gssctxt **ctx, gss_OID oid)
286{
287 if (*ctx)
288 ssh_gssapi_delete_ctx(ctx);
289 ssh_gssapi_build_ctx(ctx);
290 ssh_gssapi_set_oid(*ctx, oid);
291 return (ssh_gssapi_acquire_cred(*ctx));
292}
293
294int 251int
295ssh_gssapi_check_mechanism(Gssctxt **ctx, gss_OID oid, const char *host) 252ssh_gssapi_check_mechanism(Gssctxt **ctx, gss_OID oid, const char *host)
296{ 253{