[PATCH] Put base64.c on a dependency diet
Volker Lendecke
Volker.Lendecke at SerNet.DE
Tue May 3 15:09:41 UTC 2016
Hi!
Review appreciated!
Thanks, Volker
--
SerNet GmbH, Bahnhofsallee 1b, 37081 Göttingen
phone: +49-551-370000-0, fax: +49-551-370000-9
AG Göttingen, HRB 2816, GF: Dr. Johannes Loxen
http://www.sernet.de, mailto:kontakt at sernet.de
-------------- next part --------------
From 6fbf4d8d2d2bf188a782c2dea55e7924f406bb94 Mon Sep 17 00:00:00 2001
From: Volker Lendecke <vl at samba.org>
Date: Fri, 25 Mar 2016 21:43:20 +0100
Subject: [PATCH 1/6] lib: The base64 chars are by definition single-byte :-)
Remove a dependency on charcnv
Signed-off-by: Volker Lendecke <vl at samba.org>
---
lib/util/base64.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/util/base64.c b/lib/util/base64.c
index bc78404..de26b5b 100644
--- a/lib/util/base64.c
+++ b/lib/util/base64.c
@@ -38,7 +38,7 @@ _PUBLIC_ DATA_BLOB base64_decode_data_blob_talloc(TALLOC_CTX *mem_ctx, const cha
n=i=0;
- while (*s && (p=strchr_m(b64,*s))) {
+ while (*s && (p=strchr(b64,*s))) {
idx = (int)(p - b64);
byte_offset = (i*6)/8;
bit_offset = (i*6)%8;
--
1.9.1
From 5c34cdfd91e9221692c792af2ec493788acdc377 Mon Sep 17 00:00:00 2001
From: Volker Lendecke <vl at samba.org>
Date: Fri, 25 Mar 2016 21:43:57 +0100
Subject: [PATCH 2/6] lib: =0 and |= is equivalent to =
Just a small simplication I thought might be nice
Signed-off-by: Volker Lendecke <vl at samba.org>
---
lib/util/base64.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/lib/util/base64.c b/lib/util/base64.c
index de26b5b..a4ce6fa 100644
--- a/lib/util/base64.c
+++ b/lib/util/base64.c
@@ -48,8 +48,7 @@ _PUBLIC_ DATA_BLOB base64_decode_data_blob_talloc(TALLOC_CTX *mem_ctx, const cha
n = byte_offset+1;
} else {
d[byte_offset] |= (idx >> (bit_offset-2));
- d[byte_offset+1] = 0;
- d[byte_offset+1] |= (idx << (8-(bit_offset-2))) & 0xFF;
+ d[byte_offset+1] = (idx << (8-(bit_offset-2))) & 0xFF;
n = byte_offset+2;
}
s++; i++;
--
1.9.1
From db05eb8f2fad59acf78dc0c86e9718d5c67b474b Mon Sep 17 00:00:00 2001
From: Volker Lendecke <vl at samba.org>
Date: Tue, 3 May 2016 15:54:07 +0200
Subject: [PATCH 3/6] lib: Make callers of base64_encode_data_blob check for
success
Quite a few callers already did check for !=NULL. With the current code this is
pointless due to a SMB_ASSERT in base64_encode_data_blob() itself. Make the
callers consistently check, so that we can remove SMB_ASSERT from base64.c.
Signed-off-by: Volker Lendecke <vl at samba.org>
---
source3/libnet/libnet_dssync_passdb.c | 10 +++++++---
source3/libnet/libnet_samsync_passdb.c | 9 ++++++---
source3/rpc_server/samr/srv_samr_util.c | 22 +++++++++++++++-------
source3/utils/ntlm_auth.c | 2 ++
source4/utils/ntlm_auth.c | 2 ++
5 files changed, 32 insertions(+), 13 deletions(-)
diff --git a/source3/libnet/libnet_dssync_passdb.c b/source3/libnet/libnet_dssync_passdb.c
index 5617776..62ce074 100644
--- a/source3/libnet/libnet_dssync_passdb.c
+++ b/source3/libnet/libnet_dssync_passdb.c
@@ -1240,10 +1240,14 @@ static NTSTATUS sam_account_from_object(struct samu *account,
}
if (userParameters.data) {
- char *newstr;
+ char *newstr = NULL;
old_string = pdb_get_munged_dial(account);
- newstr = (userParameters.length == 0) ? NULL :
- base64_encode_data_blob(talloc_tos(), userParameters);
+
+ if (userParameters.length != 0) {
+ newstr = base64_encode_data_blob(talloc_tos(),
+ userParameters);
+ SMB_ASSERT(newstr != NULL);
+ }
if (STRING_CHANGED_NC(old_string, newstr))
pdb_set_munged_dial(account, newstr, PDB_CHANGED);
diff --git a/source3/libnet/libnet_samsync_passdb.c b/source3/libnet/libnet_samsync_passdb.c
index cf5bef1..5185722 100644
--- a/source3/libnet/libnet_samsync_passdb.c
+++ b/source3/libnet/libnet_samsync_passdb.c
@@ -126,12 +126,15 @@ static NTSTATUS sam_account_from_delta(struct samu *account,
if (r->parameters.array) {
DATA_BLOB mung;
- char *newstr;
+ char *newstr = NULL;
old_string = pdb_get_munged_dial(account);
mung.length = r->parameters.length * 2;
mung.data = (uint8_t *) r->parameters.array;
- newstr = (mung.length == 0) ? NULL :
- base64_encode_data_blob(talloc_tos(), mung);
+
+ if (mung.length != 0) {
+ newstr = base64_encode_data_blob(talloc_tos(), mung);
+ SMB_ASSERT(newstr != NULL);
+ }
if (STRING_CHANGED_NC(old_string, newstr))
pdb_set_munged_dial(account, newstr, PDB_CHANGED);
diff --git a/source3/rpc_server/samr/srv_samr_util.c b/source3/rpc_server/samr/srv_samr_util.c
index d052846..4c2307d 100644
--- a/source3/rpc_server/samr/srv_samr_util.c
+++ b/source3/rpc_server/samr/srv_samr_util.c
@@ -305,8 +305,6 @@ void copy_id18_to_sam_passwd(struct samu *to,
void copy_id20_to_sam_passwd(struct samu *to,
struct samr_UserInfo20 *from)
{
- const char *old_string;
- char *new_string;
DATA_BLOB mung;
if (from == NULL || to == NULL) {
@@ -314,11 +312,18 @@ void copy_id20_to_sam_passwd(struct samu *to,
}
if (from->parameters.array) {
+ const char *old_string;
+ char *new_string = NULL;
old_string = pdb_get_munged_dial(to);
mung = data_blob_const(from->parameters.array,
from->parameters.length);
- new_string = (mung.length == 0) ?
- NULL : base64_encode_data_blob(talloc_tos(), mung);
+
+ if (mung.length != 0) {
+ new_string = base64_encode_data_blob(talloc_tos(),
+ mung);
+ SMB_ASSERT(new_string != NULL);
+ }
+
DEBUG(10,("INFO_20 PARAMETERS: %s -> %s\n",
old_string, new_string));
if (STRING_CHANGED_NC(old_string,new_string)) {
@@ -496,14 +501,17 @@ void copy_id21_to_sam_passwd(const char *log_prefix,
if ((from->fields_present & SAMR_FIELD_PARAMETERS) &&
(from->parameters.array)) {
- char *newstr;
+ char *newstr = NULL;
DATA_BLOB mung;
old_string = pdb_get_munged_dial(to);
mung = data_blob_const(from->parameters.array,
from->parameters.length);
- newstr = (mung.length == 0) ?
- NULL : base64_encode_data_blob(talloc_tos(), mung);
+
+ if (mung.length != 0) {
+ newstr = base64_encode_data_blob(talloc_tos(), mung);
+ SMB_ASSERT(newstr != NULL);
+ }
DEBUG(10,("%s SAMR_FIELD_PARAMETERS: %s -> %s\n", l,
old_string, newstr));
if (STRING_CHANGED_NC(old_string,newstr)) {
diff --git a/source3/utils/ntlm_auth.c b/source3/utils/ntlm_auth.c
index 1b27a88..7bce5ca 100644
--- a/source3/utils/ntlm_auth.c
+++ b/source3/utils/ntlm_auth.c
@@ -1452,6 +1452,7 @@ static void manage_gensec_request(enum stdio_helper_mode stdio_helper_mode,
return;
} else {
base64_key = base64_encode_data_blob(state, session_key);
+ SMB_ASSERT(base64_key != NULL);
x_fprintf(x_stdout, "GK %s\n", base64_key);
talloc_free(base64_key);
}
@@ -1481,6 +1482,7 @@ static void manage_gensec_request(enum stdio_helper_mode stdio_helper_mode,
if (out.length) {
out_base64 = base64_encode_data_blob(mem_ctx, out);
+ SMB_ASSERT(out_base64 != NULL);
} else {
out_base64 = NULL;
}
diff --git a/source4/utils/ntlm_auth.c b/source4/utils/ntlm_auth.c
index 0816024..6d0e259 100644
--- a/source4/utils/ntlm_auth.c
+++ b/source4/utils/ntlm_auth.c
@@ -621,6 +621,7 @@ static void manage_gensec_request(enum stdio_helper_mode stdio_helper_mode,
return;
} else {
base64_key = base64_encode_data_blob(state, session_key);
+ SMB_ASSERT(base64_key != NULL);
mux_printf(mux_id, "GK %s\n", base64_key);
talloc_free(base64_key);
}
@@ -648,6 +649,7 @@ static void manage_gensec_request(enum stdio_helper_mode stdio_helper_mode,
if (out.length) {
out_base64 = base64_encode_data_blob(mem_ctx, out);
+ SMB_ASSERT(out_base64 != NULL);
} else {
out_base64 = NULL;
}
--
1.9.1
From d5a182f97114e0fc0e3e2a24cc25b7741c83fba3 Mon Sep 17 00:00:00 2001
From: Volker Lendecke <vl at samba.org>
Date: Tue, 3 May 2016 15:56:37 +0200
Subject: [PATCH 4/6] lib: Remove SMB_ASSERT from base64_encode_data_blob
Signed-off-by: Volker Lendecke <vl at samba.org>
---
lib/util/base64.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/lib/util/base64.c b/lib/util/base64.c
index a4ce6fa..e01fb6d 100644
--- a/lib/util/base64.c
+++ b/lib/util/base64.c
@@ -114,7 +114,9 @@ _PUBLIC_ char *base64_encode_data_blob(TALLOC_CTX *mem_ctx, DATA_BLOB data)
* random but should be enough for
* the = and \0 */
result = talloc_array(mem_ctx, char, output_len); /* get us plenty of space */
- SMB_ASSERT(result != NULL);
+ if (result == NULL) {
+ return NULL;
+ }
while (len--) {
int c = (unsigned char) *(data.data++);
--
1.9.1
From f54f163af966e381f8b3785aae6ed9787a25b3f5 Mon Sep 17 00:00:00 2001
From: Volker Lendecke <vl at samba.org>
Date: Tue, 3 May 2016 16:12:10 +0200
Subject: [PATCH 5/6] lib: Give base64.c its own .h
Signed-off-by: Volker Lendecke <vl at samba.org>
---
auth/gensec/gensec_start.c | 1 +
auth/gensec/spnego.c | 1 +
lib/util/base64.c | 1 +
lib/util/base64.h | 52 +++++++++++++++++++++++++++++
lib/util/charset/tests/convert_string.c | 1 +
lib/util/samba_util.h | 21 ------------
source3/lib/tldap_util.c | 1 +
source3/libnet/libnet_dssync_passdb.c | 1 +
source3/libnet/libnet_samsync_ldif.c | 1 +
source3/libnet/libnet_samsync_passdb.c | 1 +
source3/passdb/pdb_ipa.c | 1 +
source3/passdb/pdb_samba_dsdb.c | 1 +
source3/rpc_server/samr/srv_samr_nt.c | 1 +
source3/rpc_server/samr/srv_samr_util.c | 1 +
source3/torture/torture.c | 1 +
source3/utils/ntlm_auth.c | 1 +
source4/lib/http/gensec/basic.c | 1 +
source4/lib/http/gensec/ntlm.c | 1 +
source4/ntvfs/posix/python/pyxattr_native.c | 1 +
source4/torture/ndr/drsblobs.c | 1 +
source4/utils/ntlm_auth.c | 1 +
21 files changed, 71 insertions(+), 21 deletions(-)
create mode 100644 lib/util/base64.h
diff --git a/auth/gensec/gensec_start.c b/auth/gensec/gensec_start.c
index 4c43519..1e61627 100644
--- a/auth/gensec/gensec_start.c
+++ b/auth/gensec/gensec_start.c
@@ -31,6 +31,7 @@
#include "lib/param/param.h"
#include "lib/util/tsort.h"
#include "lib/util/samba_modules.h"
+#include "lib/util/base64.h"
/* the list of currently registered GENSEC backends */
static const struct gensec_security_ops **generic_security_ops;
diff --git a/auth/gensec/spnego.c b/auth/gensec/spnego.c
index 3962d72..ef30ab7 100644
--- a/auth/gensec/spnego.c
+++ b/auth/gensec/spnego.c
@@ -30,6 +30,7 @@
#include "auth/gensec/gensec_internal.h"
#include "param/param.h"
#include "lib/util/asn1.h"
+#include "lib/util/base64.h"
#undef strcasecmp
diff --git a/lib/util/base64.c b/lib/util/base64.c
index e01fb6d..157cb34 100644
--- a/lib/util/base64.c
+++ b/lib/util/base64.c
@@ -23,6 +23,7 @@
*/
#include "includes.h"
+#include "lib/util/base64.h"
static const char b64[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
diff --git a/lib/util/base64.h b/lib/util/base64.h
new file mode 100644
index 0000000..4763804
--- /dev/null
+++ b/lib/util/base64.h
@@ -0,0 +1,52 @@
+/*
+ * Unix SMB/CIFS implementation.
+ * Samba utility functions
+ *
+ * Copyright (C) Andrew Tridgell 1992-2001
+ * Copyright (C) Simo Sorce 2001-2002
+ * Copyright (C) Martin Pool 2003
+ * Copyright (C) James Peach 2006
+ * Copyright (C) Jeremy Allison 1992-2007
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef __LIB_UTIL_BASE64_H__
+#define __LIB_UTIL_BASE64_H__
+
+#include "replace.h"
+#include "lib/util/data_blob.h"
+
+/**
+ Base64 decode a string, place into a data blob. Caller to
+ data_blob_free() the result.
+**/
+DATA_BLOB base64_decode_data_blob_talloc(TALLOC_CTX *mem_ctx, const char *s);
+
+/**
+ Base64 decode a string, place into a data blob on NULL context.
+ Caller to data_blob_free() the result.
+**/
+DATA_BLOB base64_decode_data_blob(const char *s);
+
+/**
+ Base64 decode a string, inplace
+**/
+void base64_decode_inplace(char *s);
+/**
+ Base64 encode a binary data blob into a string
+**/
+char *base64_encode_data_blob(TALLOC_CTX *mem_ctx, DATA_BLOB data);
+
+#endif
diff --git a/lib/util/charset/tests/convert_string.c b/lib/util/charset/tests/convert_string.c
index 92de702..e63fca6 100644
--- a/lib/util/charset/tests/convert_string.c
+++ b/lib/util/charset/tests/convert_string.c
@@ -22,6 +22,7 @@
#include "torture/torture.h"
#include "lib/util/charset/charset.h"
#include "param/param.h"
+#include "lib/util/base64.h"
struct torture_suite *torture_local_convert_string_handle(TALLOC_CTX *mem_ctx);
struct torture_suite *torture_local_string_case_handle(TALLOC_CTX *mem_ctx);
diff --git a/lib/util/samba_util.h b/lib/util/samba_util.h
index 387e957..c339161 100644
--- a/lib/util/samba_util.h
+++ b/lib/util/samba_util.h
@@ -303,27 +303,6 @@ _PUBLIC_ int strwicmp(const char *psz1, const char *psz2);
_PUBLIC_ void string_replace(char *s, char oldc, char newc);
/**
- Base64 decode a string, place into a data blob. Caller to data_blob_free() the result.
-**/
-_PUBLIC_ DATA_BLOB base64_decode_data_blob_talloc(TALLOC_CTX *mem_ctx, const char *s);
-
-/**
- Base64 decode a string, place into a data blob on NULL context.
- Caller to data_blob_free() the result.
-**/
-_PUBLIC_ DATA_BLOB base64_decode_data_blob(const char *s);
-
-
-/**
- Base64 decode a string, inplace
-**/
-_PUBLIC_ void base64_decode_inplace(char *s);
-/**
- Base64 encode a binary data blob into a string
-**/
-_PUBLIC_ char *base64_encode_data_blob(TALLOC_CTX *mem_ctx, DATA_BLOB data);
-
-/**
* Compare 2 strings.
*
* @note The comparison is case-insensitive.
diff --git a/source3/lib/tldap_util.c b/source3/lib/tldap_util.c
index b7233f6..89f812b 100644
--- a/source3/lib/tldap_util.c
+++ b/source3/lib/tldap_util.c
@@ -23,6 +23,7 @@
#include "../libcli/security/security.h"
#include "../lib/util/asn1.h"
#include "../librpc/ndr/libndr.h"
+#include "lib/util/base64.h"
bool tldap_entry_values(struct tldap_message *msg, const char *attribute,
DATA_BLOB **values, int *num_values)
diff --git a/source3/libnet/libnet_dssync_passdb.c b/source3/libnet/libnet_dssync_passdb.c
index 62ce074..b80bece 100644
--- a/source3/libnet/libnet_dssync_passdb.c
+++ b/source3/libnet/libnet_dssync_passdb.c
@@ -28,6 +28,7 @@
#include "dbwrap/dbwrap_rbt.h"
#include "../libds/common/flag_mapping.h"
#include "passdb.h"
+#include "lib/util/base64.h"
/****************************************************************
****************************************************************/
diff --git a/source3/libnet/libnet_samsync_ldif.c b/source3/libnet/libnet_samsync_ldif.c
index d9ae414..198373e 100644
--- a/source3/libnet/libnet_samsync_ldif.c
+++ b/source3/libnet/libnet_samsync_ldif.c
@@ -29,6 +29,7 @@
#include "transfer_file.h"
#include "passdb.h"
#include "passdb/pdb_ldap_schema.h"
+#include "lib/util/base64.h"
#ifdef HAVE_LDAP
diff --git a/source3/libnet/libnet_samsync_passdb.c b/source3/libnet/libnet_samsync_passdb.c
index 5185722..91482e6 100644
--- a/source3/libnet/libnet_samsync_passdb.c
+++ b/source3/libnet/libnet_samsync_passdb.c
@@ -28,6 +28,7 @@
#include "libnet/libnet_samsync.h"
#include "../libcli/security/security.h"
#include "passdb.h"
+#include "lib/util/base64.h"
/* Convert a struct samu_DELTA to a struct samu. */
#define STRING_CHANGED (old_string && !new_string) ||\
diff --git a/source3/passdb/pdb_ipa.c b/source3/passdb/pdb_ipa.c
index 4d9d09c..ca305aa 100644
--- a/source3/passdb/pdb_ipa.c
+++ b/source3/passdb/pdb_ipa.c
@@ -29,6 +29,7 @@
#include "passdb/pdb_ldap.h"
#include "passdb/pdb_ipa.h"
#include "passdb/pdb_ldap_schema.h"
+#include "lib/util/base64.h"
#define IPA_KEYTAB_SET_OID "2.16.840.1.113730.3.8.3.1"
#define IPA_MAGIC_ID_STR "999"
diff --git a/source3/passdb/pdb_samba_dsdb.c b/source3/passdb/pdb_samba_dsdb.c
index 54b9ef9..56f3f10 100644
--- a/source3/passdb/pdb_samba_dsdb.c
+++ b/source3/passdb/pdb_samba_dsdb.c
@@ -39,6 +39,7 @@
#include "source3/include/secrets.h"
#include "source4/auth/auth_sam.h"
#include "auth/credentials/credentials.h"
+#include "lib/util/base64.h"
struct pdb_samba_dsdb_state {
struct tevent_context *ev;
diff --git a/source3/rpc_server/samr/srv_samr_nt.c b/source3/rpc_server/samr/srv_samr_nt.c
index 2f6f020..6354556 100644
--- a/source3/rpc_server/samr/srv_samr_nt.c
+++ b/source3/rpc_server/samr/srv_samr_nt.c
@@ -45,6 +45,7 @@
#include "auth.h"
#include "rpc_server/srv_access_check.h"
#include "../lib/tsocket/tsocket.h"
+#include "lib/util/base64.h"
#undef DBGC_CLASS
#define DBGC_CLASS DBGC_RPC_SRV
diff --git a/source3/rpc_server/samr/srv_samr_util.c b/source3/rpc_server/samr/srv_samr_util.c
index 4c2307d..e48c020 100644
--- a/source3/rpc_server/samr/srv_samr_util.c
+++ b/source3/rpc_server/samr/srv_samr_util.c
@@ -26,6 +26,7 @@
#include "../librpc/gen_ndr/samr.h"
#include "rpc_server/samr/srv_samr_util.h"
#include "passdb.h"
+#include "lib/util/base64.h"
#undef DBGC_CLASS
#define DBGC_CLASS DBGC_RPC_SRV
diff --git a/source3/torture/torture.c b/source3/torture/torture.c
index 8b8dbe9..d6489c8 100644
--- a/source3/torture/torture.c
+++ b/source3/torture/torture.c
@@ -42,6 +42,7 @@
#include "../libcli/smb/read_smb.h"
#include "../libcli/smb/smbXcli_base.h"
#include "lib/util/sys_rw_data.h"
+#include "lib/util/base64.h"
extern char *optarg;
extern int optind;
diff --git a/source3/utils/ntlm_auth.c b/source3/utils/ntlm_auth.c
index 7bce5ca..e19bc7e 100644
--- a/source3/utils/ntlm_auth.c
+++ b/source3/utils/ntlm_auth.c
@@ -45,6 +45,7 @@
#include "source3/auth/proto.h"
#include "nsswitch/libwbclient/wbclient.h"
#include "lib/param/loadparm.h"
+#include "lib/util/base64.h"
#if HAVE_KRB5
#include "auth/kerberos/pac_utils.h"
diff --git a/source4/lib/http/gensec/basic.c b/source4/lib/http/gensec/basic.c
index 86a2d51..4a488a3 100644
--- a/source4/lib/http/gensec/basic.c
+++ b/source4/lib/http/gensec/basic.c
@@ -24,6 +24,7 @@
#include "auth/gensec/gensec.h"
#include "auth/gensec/gensec_internal.h"
#include "auth/credentials/credentials.h"
+#include "lib/util/base64.h"
_PUBLIC_ NTSTATUS gensec_http_basic_init(void);
diff --git a/source4/lib/http/gensec/ntlm.c b/source4/lib/http/gensec/ntlm.c
index 07470fa..8afb275 100644
--- a/source4/lib/http/gensec/ntlm.c
+++ b/source4/lib/http/gensec/ntlm.c
@@ -23,6 +23,7 @@
#include "auth/auth.h"
#include "auth/gensec/gensec.h"
#include "auth/gensec/gensec_internal.h"
+#include "lib/util/base64.h"
_PUBLIC_ NTSTATUS gensec_http_ntlm_init(void);
diff --git a/source4/ntvfs/posix/python/pyxattr_native.c b/source4/ntvfs/posix/python/pyxattr_native.c
index 8dd98d2..6758996 100644
--- a/source4/ntvfs/posix/python/pyxattr_native.c
+++ b/source4/ntvfs/posix/python/pyxattr_native.c
@@ -22,6 +22,7 @@
#include "includes.h"
#include "librpc/ndr/libndr.h"
#include "system/filesys.h"
+#include "lib/util/base64.h"
void initxattr_native(void);
diff --git a/source4/torture/ndr/drsblobs.c b/source4/torture/ndr/drsblobs.c
index 938b6fe..ecdc014 100644
--- a/source4/torture/ndr/drsblobs.c
+++ b/source4/torture/ndr/drsblobs.c
@@ -22,6 +22,7 @@
#include "torture/ndr/ndr.h"
#include "librpc/gen_ndr/ndr_drsblobs.h"
#include "torture/ndr/proto.h"
+#include "lib/util/base64.h"
static const uint8_t forest_trust_info_data_out[] = {
0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00,
diff --git a/source4/utils/ntlm_auth.c b/source4/utils/ntlm_auth.c
index 6d0e259..75dcebf 100644
--- a/source4/utils/ntlm_auth.c
+++ b/source4/utils/ntlm_auth.c
@@ -38,6 +38,7 @@
#include "lib/messaging/irpc.h"
#include "auth/ntlmssp/ntlmssp.h"
#include "param/param.h"
+#include "lib/util/base64.h"
#define INITIAL_BUFFER_SIZE 300
#define MAX_BUFFER_SIZE 63000
--
1.9.1
From d19855a7090443839fd4f624a8a4d22cae9de586 Mon Sep 17 00:00:00 2001
From: Volker Lendecke <vl at samba.org>
Date: Tue, 3 May 2016 16:12:23 +0200
Subject: [PATCH 6/6] lib: Avoid includes.h in base64.c
Signed-off-by: Volker Lendecke <vl at samba.org>
---
lib/util/base64.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/util/base64.c b/lib/util/base64.c
index 157cb34..e9906f1 100644
--- a/lib/util/base64.c
+++ b/lib/util/base64.c
@@ -22,7 +22,7 @@
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#include "includes.h"
+#include "replace.h"
#include "lib/util/base64.h"
static const char b64[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
--
1.9.1
More information about the samba-technical
mailing list