summaryrefslogtreecommitdiff
path: root/gss-genr.c
diff options
context:
space:
mode:
authordjm@openbsd.org <djm@openbsd.org>2018-07-10 09:13:30 +0000
committerDamien Miller <djm@mindrot.org>2018-07-10 19:15:35 +1000
commit0f3958c1e6ffb8ea4ba27e2a97a00326fce23246 (patch)
treef2538c652ca620a254578a088ff0f5eb2e36d9dd /gss-genr.c
parentc74ae8e7c45f325f3387abd48fa7dfef07a08069 (diff)
downloadopenssh-git-0f3958c1e6ffb8ea4ba27e2a97a00326fce23246.tar.gz
upstream: kerberos/gssapi fixes for buffer removal
OpenBSD-Commit-ID: 1cdf56fec95801e4563c47f21696f04cd8b60c4c
Diffstat (limited to 'gss-genr.c')
-rw-r--r--gss-genr.c17
1 files changed, 16 insertions, 1 deletions
diff --git a/gss-genr.c b/gss-genr.c
index f794e05b..d56257b4 100644
--- a/gss-genr.c
+++ b/gss-genr.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: gss-genr.c,v 1.25 2018/07/09 21:37:55 markus Exp $ */
+/* $OpenBSD: gss-genr.c,v 1.26 2018/07/10 09:13:30 djm Exp $ */
/*
* Copyright (c) 2001-2007 Simon Wilkinson. All rights reserved.
@@ -47,6 +47,21 @@
extern u_char *session_id2;
extern u_int session_id2_len;
+/* sshbuf_get for gss_buffer_desc */
+int
+ssh_gssapi_get_buffer_desc(struct sshbuf *b, gss_buffer_desc *g)
+{
+ int r;
+ u_char *p;
+ size_t len;
+
+ if ((r = sshbuf_get_string(b, &p, &len)) != 0)
+ return r;
+ g->value = p;
+ g->length = len;
+ return 0;
+}
+
/* Check that the OID in a data stream matches that in the context */
int
ssh_gssapi_check_oid(Gssctxt *ctx, void *data, size_t len)