The branch, master has been updated
       via  4ca7d50 ntlm_auth4: Remove it
      from  f241484 ctdb-daemon: Mark RecoverPDBBySeqNum tunable deprecated

https://git.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 4ca7d50c872e36df7c05730f6ea0b413740d6ccc
Author: Volker Lendecke <[email protected]>
Date:   Tue Nov 22 01:54:08 2016 +0100

    ntlm_auth4: Remove it
    
    This had install=False for rather exactly 4 years now. If someone wants to
    start working on it again, we can always dig it up from the git history.
    
    Signed-off-by: Volker Lendecke <[email protected]>
    Reviewed-by: Michael Adam <[email protected]>
    Reviewed-by: Stefan Metzmacher <[email protected]>
    Reviewed-by: Jeremy Allison <[email protected]>
    
    Autobuild-User(master): Jeremy Allison <[email protected]>
    Autobuild-Date(master): Tue Nov 29 02:18:37 CET 2016 on sn-devel-144

-----------------------------------------------------------------------

Summary of changes:
 source4/utils/man/ntlm_auth4.1.xml |  269 --------
 source4/utils/ntlm_auth.c          | 1179 ------------------------------------
 source4/utils/wscript_build        |   11 -
 3 files changed, 1459 deletions(-)
 delete mode 100644 source4/utils/man/ntlm_auth4.1.xml
 delete mode 100644 source4/utils/ntlm_auth.c


Changeset truncated at 500 lines:

diff --git a/source4/utils/man/ntlm_auth4.1.xml 
b/source4/utils/man/ntlm_auth4.1.xml
deleted file mode 100644
index fe6ce6d..0000000
--- a/source4/utils/man/ntlm_auth4.1.xml
+++ /dev/null
@@ -1,269 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" 
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd";>
-<refentry id="ntlm-auth.1">
-
-<refmeta>
-       <refentrytitle>ntlm_auth4</refentrytitle>
-       <manvolnum>1</manvolnum>
-       <refmiscinfo class="source">Samba</refmiscinfo>
-       <refmiscinfo class="manual">User Commands</refmiscinfo>
-       <refmiscinfo class="version">4.0</refmiscinfo>
-</refmeta>
-
-
-<refnamediv>
-       <refname>ntlm_auth4</refname>
-       <refpurpose>tool to allow external access to Winbind's NTLM 
authentication function</refpurpose>
-</refnamediv>
-
-<refsynopsisdiv>
-       <cmdsynopsis>
-               <command>ntlm_auth4</command>
-               <arg choice="opt">-d debuglevel</arg>
-               <arg choice="opt">-l logdir</arg>
-               <arg choice="opt">-s &lt;smb config file&gt;</arg>
-       </cmdsynopsis>
-</refsynopsisdiv>
-
-<refsect1>
-       <title>DESCRIPTION</title>
-
-       <para>This tool is part of the 
<citerefentry><refentrytitle>samba</refentrytitle>
-       <manvolnum>7</manvolnum></citerefentry> suite.</para>
-
-       <para><command>ntlm_auth4</command> is a helper utility that 
authenticates
-       users using NT/LM authentication. It returns 0 if the users is 
authenticated
-       successfully and 1 if access was denied. ntlm_auth4 uses winbind to 
access
-       the user and authentication data for a domain.  This utility
-       is only indended to be used by other programs (currently squid).
-       </para>
-</refsect1>
-
-<refsect1>
-       <title>OPERATIONAL REQUIREMENTS</title>
-
-    <para>
-    The <citerefentry><refentrytitle>winbindd</refentrytitle>
-    <manvolnum>8</manvolnum></citerefentry> daemon must be operational
-    for many of these commands to function.</para>
-
-    <para>Some of these commands also require access to the directory
-    <filename>winbindd_privileged</filename> in
-    <filename>$LOCKDIR</filename>.  This should be done either by running
-    this command as root or providing group access
-    to the <filename>winbindd_privileged</filename> directory.  For
-    security reasons, this directory should not be world-accessable. </para>
-
-</refsect1>
-
-
-<refsect1>
-       <title>OPTIONS</title>
-
-       <variablelist>
-       <varlistentry>
-       <term>--helper-protocol=PROTO</term>
-       <listitem><para>
-       Operate as a stdio-based helper.  Valid helper protocols are:
-        </para>
-        <variablelist>
-             <varlistentry>
-               <term>squid-2.4-basic</term>
-               <listitem><para>
-                Server-side helper for use with Squid 2.4's basic (plaintext)
-               authentication.  </para>
-                </listitem>
-               </varlistentry>
-             <varlistentry>
-               <term>squid-2.5-basic</term>
-               <listitem><para>
-                Server-side helper for use with Squid 2.5's basic (plaintext)
-               authentication. </para>
-                </listitem>
-               </varlistentry>
-             <varlistentry>
-               <term>squid-2.5-ntlmssp</term>
-               <listitem><para>
-                Server-side helper for use with Squid 2.5's NTLMSSP
-               authentication. </para>
-                 <para>Requires access to the directory
-                <filename>winbindd_privileged</filename> in
-               <filename>$LOCKDIR</filename>.  The protocol used is
-               described here: <ulink
-               
url="http://devel.squid-cache.org/ntlm/squid_helper_protocol.html";>http://devel.squid-cache.org/ntlm/squid_helper_protocol.html</ulink>
-                </para>
-                </listitem>
-             </varlistentry>
-             <varlistentry>
-               <term>ntlmssp-client-1</term>
-               <listitem><para>
-                Cleint-side helper for use with arbitary external
-               programs that may wish to use Samba's NTLMSSP
-               authentication knowlege. </para>
-                 <para>This helper is a client, and as such may be run by any
-               user.  The protocol used is
-               effectivly the reverse of the previous protocol.
-                </para>
-                </listitem>
-             </varlistentry>
-
-             <varlistentry>
-               <term>gss-spnego</term>
-               <listitem><para>
-                Server-side helper that implements GSS-SPNEGO.  This
-               uses a protocol that is almost the same as
-               <command>squid-2.5-ntlmssp</command>, but has some
-               subtle differences that are undocumented outside the
-               source at this stage.
-                </para>
-                 <para>Requires access to the directory
-                <filename>winbindd_privileged</filename> in
-               <filename>$LOCKDIR</filename>.
-               </para>
-                </listitem>
-               </varlistentry>
-
-               <varlistentry>
-                               <term>gss-spnego-client</term>
-               <listitem><para>
-                Client-side helper that implements GSS-SPNEGO.  This
-               also uses a protocol similar to the above helpers, but
-               is currently undocumented.
-                </para>
-                </listitem>
-               </varlistentry>
-       </variablelist>
-       </listitem>
-      </varlistentry>
-
-      <varlistentry>
-       <term>--username=USERNAME</term>
-       <listitem><para>
-       Specify username of user to authenticate
-       </para></listitem>
-
-      </varlistentry>
-
-      <varlistentry>
-       <term>--domain=DOMAIN</term>
-       <listitem><para>
-       Specify domain of user to authenticate
-       </para></listitem>
-      </varlistentry>
-
-      <varlistentry>
-       <term>--workstation=WORKSTATION</term>
-       <listitem><para>
-       Specify the workstation the user authenticated from
-       </para></listitem>
-      </varlistentry>
-
-       <varlistentry>
-       <term>--challenge=STRING</term>
-       <listitem><para>NTLM challenge (in HEXADECIMAL)</para>
-       </listitem>
-       </varlistentry>
-
-       <varlistentry>
-       <term>--lm-response=RESPONSE</term>
-       <listitem><para>LM Response to the challenge (in 
HEXADECIMAL)</para></listitem>
-       </varlistentry>
-
-       <varlistentry>
-       <term>--nt-response=RESPONSE</term>
-       <listitem><para>NT or NTLMv2 Response to the challenge (in 
HEXADECIMAL)</para></listitem>
-       </varlistentry>
-
-       <varlistentry>
-       <term>--password=PASSWORD</term>
-       <listitem><para>User's plaintext password</para><para>If
-       not specified on the command line, this is prompted for when
-       required.  </para></listitem>
-       </varlistentry>
-
-       <varlistentry>
-       <term>--request-lm-key</term>
-       <listitem><para>Retrieve LM session key</para></listitem>
-       </varlistentry>
-
-       <varlistentry>
-       <term>--request-nt-key</term>
-       <listitem><para>Request NT key</para></listitem>
-       </varlistentry>
-
-      <varlistentry>
-       <term>--diagnostics</term>
-       <listitem><para>Perform Diagnostics on the authentication
-       chain.  Uses the password from <command>--password</command>
-       or prompts for one.</para>
-        </listitem>
-        </varlistentry>
-
-       <varlistentry>
-           <term>--require-membership-of={SID|Name}</term>
-           <listitem><para>Require that a user be a member of specified
-           group (either name or SID) for authentication to succeed.</para>
-           </listitem>
-       </varlistentry>
-
-       </variablelist>
-</refsect1>
-
-<refsect1>
-       <title>EXAMPLE SETUP</title>
-
-        <para>To setup ntlm_auth4 for use by squid 2.5, with both basic and
-       NTLMSSP authentication, the following
-       should be placed in the <filename>squid.conf</filename> file.
-<programlisting>
-auth_param ntlm program ntlm_auth4 --helper-protocol=squid-2.5-ntlmssp
-auth_param basic program ntlm_auth4 --helper-protocol=squid-2.5-basic
-auth_param basic children 5
-auth_param basic realm Squid proxy-caching web server
-auth_param basic credentialsttl 2 hours
-</programlisting></para>
-
-<note><para>This example assumes that ntlm_auth4 has been installed into your
-      path, and that the group permissions on
-      <filename>winbindd_privileged</filename> are as described 
above.</para></note>
-
-       <para>To setup ntlm_auth4 for use by squid 2.5 with group limitation in 
addition to the above
-       example, the following should be added to the 
<filename>squid.conf</filename> file.
-<programlisting>
-auth_param ntlm program ntlm_auth4 --helper-protocol=squid-2.5-ntlmssp 
--require-membership-of='WORKGROUP\Domain Users'
-auth_param basic program ntlm_auth4 --helper-protocol=squid-2.5-basic 
--require-membership-of='WORKGROUP\Domain Users'
-</programlisting></para>
-
-</refsect1>
-
-<refsect1>
-       <title>TROUBLESHOOTING</title>
-
-       <para>If you're experiencing problems with authenticating Internet 
Explorer running
-       under MS Windows 9X or Millenium Edition against ntlm_auth4's NTLMSSP 
authentication
-       helper (--helper-protocol=squid-2.5-ntlmssp), then please read
-       <ulink 
url="http://support.microsoft.com/support/kb/articles/Q239/8/69.ASP";>
-       the Microsoft Knowledge Base article #239869 and follow instructions 
described there</ulink>.
-       </para>
-</refsect1>
-
-<refsect1>
-       <title>VERSION</title>
-
-       <para>This man page is correct for version 3.0 of the Samba
-       suite.</para>
-</refsect1>
-
-<refsect1>
-       <title>AUTHOR</title>
-
-       <para>The original Samba software and related utilities
-       were created by Andrew Tridgell. Samba is now developed
-       by the Samba Team as an Open Source project similar
-       to the way the Linux kernel is developed.</para>
-
-       <para>The ntlm_auth4 manpage was written by Jelmer Vernooij and
-       Andrew Bartlett.</para>
-</refsect1>
-
-</refentry>
diff --git a/source4/utils/ntlm_auth.c b/source4/utils/ntlm_auth.c
deleted file mode 100644
index a4a1c8b..0000000
--- a/source4/utils/ntlm_auth.c
+++ /dev/null
@@ -1,1179 +0,0 @@
-/* 
-   Unix SMB/CIFS implementation.
-
-   Winbind status program.
-
-   Copyright (C) Tim Potter      2000-2003
-   Copyright (C) Andrew Bartlett <[email protected]> 2003-2004
-   Copyright (C) Francesco Chemolli <[email protected]> 2000 
-
-   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/>.
-*/
-
-#include "includes.h"
-#include "system/filesys.h"
-#include "lib/cmdline/popt_common.h"
-#include <ldb.h>
-#include "auth/credentials/credentials.h"
-#include "auth/gensec/gensec.h"
-#include "auth/gensec/gensec_internal.h" /* TODO: remove this */
-#include "auth/auth.h"
-#include "librpc/gen_ndr/ndr_netlogon.h"
-#include "auth/auth_sam.h"
-#include "libcli/auth/libcli_auth.h"
-#include "libcli/security/security.h"
-#include "lib/events/events.h"
-#include "lib/messaging/messaging.h"
-#include "lib/messaging/irpc.h"
-#include "auth/ntlmssp/ntlmssp.h"
-#include "param/param.h"
-#include "lib/util/base64.h"
-#include "lib/util/xfile.h"
-
-#define INITIAL_BUFFER_SIZE 300
-#define MAX_BUFFER_SIZE 63000
-
-enum stdio_helper_mode {
-       SQUID_2_4_BASIC,
-       SQUID_2_5_BASIC,
-       SQUID_2_5_NTLMSSP,
-       NTLMSSP_CLIENT_1,
-       GSS_SPNEGO_CLIENT,
-       GSS_SPNEGO_SERVER,
-       NTLM_SERVER_1,
-       NUM_HELPER_MODES
-};
-
-#define NTLM_AUTH_FLAG_USER_SESSION_KEY     0x0004
-#define NTLM_AUTH_FLAG_LMKEY                0x0008
-
-
-typedef void (*stdio_helper_function)(enum stdio_helper_mode 
stdio_helper_mode, 
-                                     struct loadparm_context *lp_ctx,
-                                     char *buf, int length, void **private1,
-                                     unsigned int mux_id, void **private2);
-
-static void manage_squid_basic_request (enum stdio_helper_mode 
stdio_helper_mode, 
-                                       struct loadparm_context *lp_ctx,
-                                       char *buf, int length, void **private1,
-                                       unsigned int mux_id, void **private2);
-
-static void manage_gensec_request (enum stdio_helper_mode stdio_helper_mode, 
-                                  struct loadparm_context *lp_ctx,
-                                  char *buf, int length, void **private1,
-                                  unsigned int mux_id, void **private2);
-
-static void manage_ntlm_server_1_request (enum stdio_helper_mode 
stdio_helper_mode, 
-                                         struct loadparm_context *lp_ctx,
-                                         char *buf, int length, void 
**private1,
-                                         unsigned int mux_id, void **private2);
-
-static void manage_squid_request(struct loadparm_context *lp_ctx,
-                                enum stdio_helper_mode helper_mode, 
-                                stdio_helper_function fn, void **private2);
-
-static const struct {
-       enum stdio_helper_mode mode;
-       const char *name;
-       stdio_helper_function fn;
-} stdio_helper_protocols[] = {
-       { SQUID_2_4_BASIC, "squid-2.4-basic", manage_squid_basic_request},
-       { SQUID_2_5_BASIC, "squid-2.5-basic", manage_squid_basic_request},
-       { SQUID_2_5_NTLMSSP, "squid-2.5-ntlmssp", manage_gensec_request},
-       { GSS_SPNEGO_CLIENT, "gss-spnego-client", manage_gensec_request},
-       { GSS_SPNEGO_SERVER, "gss-spnego", manage_gensec_request},
-       { NTLMSSP_CLIENT_1, "ntlmssp-client-1", manage_gensec_request},
-       { NTLM_SERVER_1, "ntlm-server-1", manage_ntlm_server_1_request},
-       { NUM_HELPER_MODES, NULL, NULL}
-};
-
-extern int winbindd_fd;
-
-static const char *opt_username;
-static const char *opt_domain;
-static const char *opt_workstation;
-static const char *opt_password;
-static int opt_multiplex;
-static int use_cached_creds;
-static int opt_allow_mschapv2;
-
-
-static void mux_printf(unsigned int mux_id, const char *format, ...) 
PRINTF_ATTRIBUTE(2, 3);
-
-static void mux_printf(unsigned int mux_id, const char *format, ...)
-{
-       va_list ap;
-
-       if (opt_multiplex) {
-               x_fprintf(x_stdout, "%d ", mux_id);
-       }
-
-       va_start(ap, format);
-       x_vfprintf(x_stdout, format, ap);
-       va_end(ap);
-}
-
-
-
-/* Copy of parse_domain_user from winbindd_util.c.  Parse a string of the
-   form DOMAIN/user into a domain and a user */
-
-static bool parse_ntlm_auth_domain_user(const char *domuser, char **domain, 
-                                                                               
char **user, char winbind_separator)
-{
-
-       char *p = strchr(domuser, winbind_separator);
-
-       if (!p) {
-               return false;
-       }
-        
-       *user = smb_xstrdup(p+1);
-       *domain = smb_xstrdup(domuser);
-       (*domain)[PTR_DIFF(p, domuser)] = 0;
-
-       return true;
-}
-
-
-/* Authenticate a user with a plaintext password */
-
-static bool check_plaintext_auth(const char *user, const char *pass, 
-                                bool stdout_diagnostics)
-{
-        return (strcmp(pass, opt_password) == 0);
-}
-
-/* authenticate a user with an encrypted username/password */
-
-static NTSTATUS local_pw_check_specified(struct loadparm_context *lp_ctx,
-                                        const char *username, 
-                                        const char *domain, 
-                                        const char *workstation,
-                                        const DATA_BLOB *challenge, 
-                                        const DATA_BLOB *lm_response, 
-                                        const DATA_BLOB *nt_response, 
-                                        uint32_t flags, 
-                                        DATA_BLOB *lm_session_key, 
-                                        DATA_BLOB *user_session_key, 
-                                        char **error_string, 
-                                        char **unix_name) 
-{
-       NTSTATUS nt_status;
-       struct samr_Password lm_pw, nt_pw;
-       struct samr_Password *lm_pwd, *nt_pwd;
-       TALLOC_CTX *mem_ctx = talloc_init("local_pw_check_specified");
-       if (!mem_ctx) {
-               nt_status = NT_STATUS_NO_MEMORY;
-       } else {
-               uint32_t logon_parameters = 0;
-               
-               E_md4hash(opt_password, nt_pw.hash);
-               if (E_deshash(opt_password, lm_pw.hash)) {
-                       lm_pwd = &lm_pw;
-               } else {
-                       lm_pwd = NULL;
-               }
-               nt_pwd = &nt_pw;
-               
-               if (opt_allow_mschapv2) {
-                       logon_parameters |= MSV1_0_ALLOW_MSVCHAPV2;
-               }
-               
-               nt_status = ntlm_password_check(mem_ctx, 
-                                               lpcfg_lanman_auth(lp_ctx),
-                                               lpcfg_ntlm_auth(lp_ctx),
-                                               logon_parameters |
-                                               
MSV1_0_ALLOW_SERVER_TRUST_ACCOUNT |
-                                               
MSV1_0_ALLOW_WORKSTATION_TRUST_ACCOUNT,
-                                               challenge,
-                                               lm_response,
-                                               nt_response,
-                                               username,
-                                               username,
-                                               domain,
-                                               lm_pwd, nt_pwd, 
user_session_key, lm_session_key);
-               
-               if (NT_STATUS_IS_OK(nt_status)) {
-                       if (unix_name) {
-                               if (asprintf(unix_name, "%s%c%s", domain,
-                                            *lpcfg_winbind_separator(lp_ctx),
-                                            username) < 0) {
-                                       nt_status = NT_STATUS_NO_MEMORY;
-                               }
-                       }
-               } else {
-                       DEBUG(3, ("Login for user [%s]\\[%s]@[%s] failed due to 
[%s]\n", 
-                                 domain, username, workstation, 
-                                 nt_errstr(nt_status)));


-- 
Samba Shared Repository

Reply via email to