r15296: Move ntlm_auth-specific functions from util to ntlm_auth so libutil doesn...
authorJelmer Vernooij <jelmer@samba.org>
Thu, 27 Apr 2006 16:06:18 +0000 (16:06 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 19:05:03 +0000 (14:05 -0500)
source/utils/config.mk
source/utils/ntlm_auth.c

index 53ae16a789bd32c3c80252e65418821310cc7db5..9ffe72352e0c4cd666d312fb77b15e5b3e8bf2e4 100644 (file)
@@ -28,7 +28,8 @@ PRIVATE_DEPENDENCIES = \
                LIBSAMBA-UTIL \
                LIBPOPT \
                POPT_SAMBA \
-               POPT_CREDENTIALS
+               POPT_CREDENTIALS \
+               gensec
 MANPAGE = man/ntlm_auth.1
 # End BINARY ntlm_auth
 #################################
index 6e600dc33dab254f922f3d02148ceaa1ecb1f199..5532a9ad0b975d63d2a3d92dbe66658582112872 100644 (file)
@@ -29,6 +29,7 @@
 #include "pstring.h"
 #include "libcli/auth/libcli_auth.h"
 #include "librpc/gen_ndr/ndr_security.h"
+#include "lib/ldb/include/ldb.h"
 
 #define SQUID_BUFFER_SIZE 2010
 
@@ -127,6 +128,34 @@ static BOOL parse_ntlm_auth_domain_user(const char *domuser, fstring domain,
        return True;
 }
 
+/**
+ * Decode a base64 string into a DATA_BLOB - simple and slow algorithm
+ **/
+static DATA_BLOB base64_decode_data_blob(TALLOC_CTX *mem_ctx, const char *s)
+{
+       DATA_BLOB ret = data_blob_talloc(mem_ctx, s, strlen(s)+1);
+       ret.length = ldb_base64_decode((char *)ret.data);
+       return ret;
+}
+
+/**
+ * Encode a base64 string into a talloc()ed string caller to free.
+ **/
+static char *base64_encode_data_blob(TALLOC_CTX *mem_ctx, DATA_BLOB data)
+{
+       return ldb_base64_encode(mem_ctx, (const char *)data.data, data.length);
+}
+
+/**
+ * Decode a base64 string in-place - wrapper for the above
+ **/
+static void base64_decode_inplace(char *s)
+{
+       ldb_base64_decode(s);
+}
+
+
+
 /* Authenticate a user with a plaintext password */
 
 static BOOL check_plaintext_auth(const char *user, const char *pass,