mirror of
https://github.com/PowerShell/openssh-portable.git
synced 2025-07-27 07:44:29 +02:00
- (djm) OpenBSD CVS Sync
- djm@cvs.openbsd.org 2005/08/30 22:08:05 [gss-serv.c sshconnect2.c] destroy credentials if krb5_kuserok() call fails. Stops credentials being delegated to users who are not authorised for GSSAPIAuthentication when GSSAPIDeletegateCredentials=yes and another authentication mechanism succeeds; bz#1073 reported by paul.moore AT centrify.com, fix by simon AT sxw.org.uk, tested todd@ biorn@ jakob@; ok deraadt@
This commit is contained in:
parent
ca9ce95bdd
commit
da9984fc3a
12
ChangeLog
12
ChangeLog
@ -1,3 +1,13 @@
|
|||||||
|
20050830
|
||||||
|
- (djm) OpenBSD CVS Sync
|
||||||
|
- djm@cvs.openbsd.org 2005/08/30 22:08:05
|
||||||
|
[gss-serv.c sshconnect2.c]
|
||||||
|
destroy credentials if krb5_kuserok() call fails. Stops credentials being
|
||||||
|
delegated to users who are not authorised for GSSAPIAuthentication when
|
||||||
|
GSSAPIDeletegateCredentials=yes and another authentication mechanism
|
||||||
|
succeeds; bz#1073 reported by paul.moore AT centrify.com, fix by
|
||||||
|
simon AT sxw.org.uk, tested todd@ biorn@ jakob@; ok deraadt@
|
||||||
|
|
||||||
20050830
|
20050830
|
||||||
- (tim) [configure.ac] Back out last change. It needs to be done differently.
|
- (tim) [configure.ac] Back out last change. It needs to be done differently.
|
||||||
|
|
||||||
@ -2968,4 +2978,4 @@
|
|||||||
- (djm) Trim deprecated options from INSTALL. Mention UsePAM
|
- (djm) Trim deprecated options from INSTALL. Mention UsePAM
|
||||||
- (djm) Fix quote handling in sftp; Patch from admorten AT umich.edu
|
- (djm) Fix quote handling in sftp; Patch from admorten AT umich.edu
|
||||||
|
|
||||||
$Id: ChangeLog,v 1.3882 2005/08/31 09:42:20 djm Exp $
|
$Id: ChangeLog,v 1.3883 2005/08/31 09:46:26 djm Exp $
|
||||||
|
15
gss-serv.c
15
gss-serv.c
@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: gss-serv.c,v 1.7 2005/07/17 07:17:55 djm Exp $ */
|
/* $OpenBSD: gss-serv.c,v 1.8 2005/08/30 22:08:05 djm Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2001-2003 Simon Wilkinson. All rights reserved.
|
* Copyright (c) 2001-2003 Simon Wilkinson. All rights reserved.
|
||||||
@ -275,13 +275,24 @@ ssh_gssapi_do_child(char ***envp, u_int *envsizep)
|
|||||||
int
|
int
|
||||||
ssh_gssapi_userok(char *user)
|
ssh_gssapi_userok(char *user)
|
||||||
{
|
{
|
||||||
|
OM_uint32 lmin;
|
||||||
|
|
||||||
if (gssapi_client.exportedname.length == 0 ||
|
if (gssapi_client.exportedname.length == 0 ||
|
||||||
gssapi_client.exportedname.value == NULL) {
|
gssapi_client.exportedname.value == NULL) {
|
||||||
debug("No suitable client data");
|
debug("No suitable client data");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
if (gssapi_client.mech && gssapi_client.mech->userok)
|
if (gssapi_client.mech && gssapi_client.mech->userok)
|
||||||
return ((*gssapi_client.mech->userok)(&gssapi_client, user));
|
if ((*gssapi_client.mech->userok)(&gssapi_client, user))
|
||||||
|
return 1;
|
||||||
|
else {
|
||||||
|
/* Destroy delegated credentials if userok fails */
|
||||||
|
gss_release_buffer(&lmin, &gssapi_client.displayname);
|
||||||
|
gss_release_buffer(&lmin, &gssapi_client.exportedname);
|
||||||
|
gss_release_cred(&lmin, &gssapi_client.creds);
|
||||||
|
memset(&gssapi_client, 0, sizeof(ssh_gssapi_client));
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
debug("ssh_gssapi_userok: Unknown GSSAPI mechanism");
|
debug("ssh_gssapi_userok: Unknown GSSAPI mechanism");
|
||||||
return (0);
|
return (0);
|
||||||
|
@ -23,7 +23,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "includes.h"
|
#include "includes.h"
|
||||||
RCSID("$OpenBSD: sshconnect2.c,v 1.141 2005/07/25 11:59:40 markus Exp $");
|
RCSID("$OpenBSD: sshconnect2.c,v 1.142 2005/08/30 22:08:05 djm Exp $");
|
||||||
|
|
||||||
#include "openbsd-compat/sys-queue.h"
|
#include "openbsd-compat/sys-queue.h"
|
||||||
|
|
||||||
@ -545,7 +545,8 @@ process_gssapi_token(void *ctxt, gss_buffer_t recv_tok)
|
|||||||
Authctxt *authctxt = ctxt;
|
Authctxt *authctxt = ctxt;
|
||||||
Gssctxt *gssctxt = authctxt->methoddata;
|
Gssctxt *gssctxt = authctxt->methoddata;
|
||||||
gss_buffer_desc send_tok = GSS_C_EMPTY_BUFFER;
|
gss_buffer_desc send_tok = GSS_C_EMPTY_BUFFER;
|
||||||
gss_buffer_desc gssbuf, mic;
|
gss_buffer_desc mic = GSS_C_EMPTY_BUFFER;
|
||||||
|
gss_buffer_desc gssbuf;
|
||||||
OM_uint32 status, ms, flags;
|
OM_uint32 status, ms, flags;
|
||||||
Buffer b;
|
Buffer b;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user