summaryrefslogtreecommitdiffstats
path: root/crypto/heimdal/lib/gssapi/encapsulate.c
diff options
context:
space:
mode:
authornectar <nectar@FreeBSD.org>2004-04-03 21:22:55 +0000
committernectar <nectar@FreeBSD.org>2004-04-03 21:22:55 +0000
commitbfc5316dea97d244a21b45ed0dce56f39074ba1b (patch)
treef009994dd04757b68eff8742614cca170aff5bb3 /crypto/heimdal/lib/gssapi/encapsulate.c
parent084fdb0d6e4fe40ab8ff47ca033fdbcb7899aae1 (diff)
downloadFreeBSD-src-bfc5316dea97d244a21b45ed0dce56f39074ba1b.zip
FreeBSD-src-bfc5316dea97d244a21b45ed0dce56f39074ba1b.tar.gz
Vendor import of Heimdal 0.6.1.
Diffstat (limited to 'crypto/heimdal/lib/gssapi/encapsulate.c')
-rw-r--r--crypto/heimdal/lib/gssapi/encapsulate.c22
1 files changed, 21 insertions, 1 deletions
diff --git a/crypto/heimdal/lib/gssapi/encapsulate.c b/crypto/heimdal/lib/gssapi/encapsulate.c
index e7c6750..f3cd1e4 100644
--- a/crypto/heimdal/lib/gssapi/encapsulate.c
+++ b/crypto/heimdal/lib/gssapi/encapsulate.c
@@ -33,7 +33,7 @@
#include "gssapi_locl.h"
-RCSID("$Id: encapsulate.c,v 1.6 2001/08/23 04:35:54 assar Exp $");
+RCSID("$Id: encapsulate.c,v 1.6.6.1 2003/09/18 21:47:44 lha Exp $");
void
gssapi_krb5_encap_length (size_t data_len,
@@ -72,6 +72,26 @@ gssapi_krb5_make_header (u_char *p,
return p;
}
+u_char *
+_gssapi_make_mech_header(u_char *p,
+ size_t len)
+{
+ int e;
+ size_t len_len, foo;
+
+ *p++ = 0x60;
+ len_len = length_len(len);
+ e = der_put_length (p + len_len - 1, len_len, len, &foo);
+ if(e || foo != len_len)
+ abort ();
+ p += len_len;
+ *p++ = 0x06;
+ *p++ = GSS_KRB5_MECHANISM->length;
+ memcpy (p, GSS_KRB5_MECHANISM->elements, GSS_KRB5_MECHANISM->length);
+ p += GSS_KRB5_MECHANISM->length;
+ return p;
+}
+
/*
* Give it a krb5_data and it will encapsulate with extra GSS-API wrappings.
*/
OpenPOWER on IntegriCloud