diff options
author | Andreas Schneider <asn@samba.org> | 2016-08-25 17:07:01 +0200 |
---|---|---|
committer | Andrew Bartlett <abartlet@samba.org> | 2016-08-31 20:59:17 +0200 |
commit | 381ebd4af5b21e5c76e5cd0916b195360a447756 (patch) | |
tree | 55ca535b670c1f9282b3cb706e54f599e03521a8 /lib/krb5_wrap | |
parent | 3a4eaa00b676204dda510d49ea38c8ef32bc9860 (diff) | |
download | samba-381ebd4af5b21e5c76e5cd0916b195360a447756.tar.gz |
krb5_wrap: Move unwrap_edata_ntstatus() and make it static
This also removes the asn1util dependency from krb5_wrap and moves it to
libads which is the only user.
Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Diffstat (limited to 'lib/krb5_wrap')
-rw-r--r-- | lib/krb5_wrap/krb5_samba.c | 48 | ||||
-rw-r--r-- | lib/krb5_wrap/krb5_samba.h | 5 | ||||
-rwxr-xr-x | lib/krb5_wrap/wscript_build | 2 |
3 files changed, 1 insertions, 54 deletions
diff --git a/lib/krb5_wrap/krb5_samba.c b/lib/krb5_wrap/krb5_samba.c index 505f1445786..24d64cce5cf 100644 --- a/lib/krb5_wrap/krb5_samba.c +++ b/lib/krb5_wrap/krb5_samba.c @@ -23,7 +23,6 @@ #include "includes.h" #include "system/filesys.h" #include "krb5_samba.h" -#include "lib/util/asn1.h" #ifdef HAVE_COM_ERR_H #include <com_err.h> @@ -386,53 +385,6 @@ krb5_error_code smb_krb5_get_allowed_etypes(krb5_context context, #error UNKNOWN_GET_ENCTYPES_FUNCTIONS #endif -bool unwrap_edata_ntstatus(TALLOC_CTX *mem_ctx, - DATA_BLOB *edata, - DATA_BLOB *edata_out) -{ - DATA_BLOB edata_contents; - ASN1_DATA *data; - int edata_type; - - if (!edata->length) { - return false; - } - - data = asn1_init(mem_ctx); - if (data == NULL) { - return false; - } - - if (!asn1_load(data, *edata)) goto err; - if (!asn1_start_tag(data, ASN1_SEQUENCE(0))) goto err; - if (!asn1_start_tag(data, ASN1_CONTEXT(1))) goto err; - if (!asn1_read_Integer(data, &edata_type)) goto err; - - if (edata_type != KRB5_PADATA_PW_SALT) { - DEBUG(0,("edata is not of required type %d but of type %d\n", - KRB5_PADATA_PW_SALT, edata_type)); - goto err; - } - - if (!asn1_start_tag(data, ASN1_CONTEXT(2))) goto err; - if (!asn1_read_OctetString(data, talloc_tos(), &edata_contents)) goto err; - if (!asn1_end_tag(data)) goto err; - if (!asn1_end_tag(data)) goto err; - if (!asn1_end_tag(data)) goto err; - asn1_free(data); - - *edata_out = data_blob_talloc(mem_ctx, edata_contents.data, edata_contents.length); - - data_blob_free(&edata_contents); - - return true; - - err: - - asn1_free(data); - return false; -} - /** * @brief Convert a string principal name to a Kerberos principal. diff --git a/lib/krb5_wrap/krb5_samba.h b/lib/krb5_wrap/krb5_samba.h index 404999bf1cf..64a04b31b55 100644 --- a/lib/krb5_wrap/krb5_samba.h +++ b/lib/krb5_wrap/krb5_samba.h @@ -321,11 +321,6 @@ char *smb_get_krb5_error_message(krb5_context context, krb5_error_code code, TALLOC_CTX *mem_ctx); -bool unwrap_edata_ntstatus(TALLOC_CTX *mem_ctx, - DATA_BLOB *edata, - DATA_BLOB *edata_out); - - krb5_error_code kt_copy(krb5_context context, const char *from, const char *to); diff --git a/lib/krb5_wrap/wscript_build b/lib/krb5_wrap/wscript_build index 1a65d28b6c0..624964452af 100755 --- a/lib/krb5_wrap/wscript_build +++ b/lib/krb5_wrap/wscript_build @@ -6,6 +6,6 @@ if bld.CONFIG_SET('SAMBA4_USES_HEIMDAL'): bld.SAMBA_LIBRARY('krb5samba', source='krb5_samba.c gss_samba.c keytab_util.c enctype_convert.c', - deps='samba-util asn1util talloc krb5 com_err gssapi' + add_deps, + deps='samba-util talloc krb5 com_err gssapi' + add_deps, private_library=True ) |