The branch, master has been updated
       via  1b583bff72c auth3: Remove auth_script
       via  a82ab4a7b3b s3: smbclient doc fix
       via  77d3a98aa63 smbd: Fix a typo
       via  4cd6c87a3d5 libndr: Fix a talloc context leak
       via  8d8d2bdfa4f smbd: Avoid leaking share_entries.tdb records
       via  18d7bb06983 smbd: Use share_mode_do_locked() in smbd_do_unlocking()
       via  39f96183169 lib: Remove unused smb_xvasprintf()
       via  6d1ce7dc172 winbind: Use vasprintf() in winbindd_cache
       via  34c269ad02c lib: Remove a duplicate fdprintf() prototype
       via  6ab4b87a7e6 lib: Remove duplicate get_pass() prototypes
       via  7093356440d lib: Make stdin_new_passwd() static
      from  27fc062d7ea heimdal-build: avoid hard-coded /usr/include/heimdal in 
asn1_compile-generated code.

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


- Log -----------------------------------------------------------------
commit 1b583bff72cb47860abc5168cc96d9087df16604
Author: Volker Lendecke <[email protected]>
Date:   Sun Dec 1 10:07:06 2019 +0100

    auth3: Remove auth_script
    
    Did this ever really work?
    
    Signed-off-by: Volker Lendecke <[email protected]>
    Reviewed-by: Jeremy Allison <[email protected]>
    
    Autobuild-User(master): Jeremy Allison <[email protected]>
    Autobuild-Date(master): Mon Dec  2 22:47:24 UTC 2019 on sn-devel-184

commit a82ab4a7b3baaafab91b3e8f0746de70b07c306d
Author: Puran Chand <[email protected]>
Date:   Thu Oct 31 21:02:47 2019 +0530

    s3: smbclient doc fix
    
    Signed-off-by: Puran Chand <[email protected]>
    Reviewed-by: Andreas Schneider <[email protected]>
    Reviewed-by: Jeremy Allison <[email protected]>

commit 77d3a98aa63f37a8ced01c65fdb9b05ca68c6281
Author: Volker Lendecke <[email protected]>
Date:   Fri Nov 29 15:44:00 2019 +0100

    smbd: Fix a typo
    
    Signed-off-by: Volker Lendecke <[email protected]>
    Reviewed-by: Jeremy Allison <[email protected]>

commit 4cd6c87a3d54e37b86c03b5d4bc0c24386fdfffb
Author: Volker Lendecke <[email protected]>
Date:   Fri Nov 29 14:00:51 2019 +0100

    libndr: Fix a talloc context leak
    
    Signed-off-by: Volker Lendecke <[email protected]>
    Reviewed-by: Jeremy Allison <[email protected]>

commit 8d8d2bdfa4f988bf5fdc9e05f7f3d1b4b6c54d0d
Author: Volker Lendecke <[email protected]>
Date:   Fri Nov 29 21:30:39 2019 +0100

    smbd: Avoid leaking share_entries.tdb records
    
    Signed-off-by: Volker Lendecke <[email protected]>
    Reviewed-by: Jeremy Allison <[email protected]>

commit 18d7bb0698361900593bfe33c8655ba32a3671cd
Author: Volker Lendecke <[email protected]>
Date:   Thu Nov 28 16:07:40 2019 +0100

    smbd: Use share_mode_do_locked() in smbd_do_unlocking()
    
    We don't really need the share mode data here
    
    Signed-off-by: Volker Lendecke <[email protected]>
    Reviewed-by: Jeremy Allison <[email protected]>

commit 39f9618316946783bf7ceb5baf8667e139f3301c
Author: Volker Lendecke <[email protected]>
Date:   Wed Nov 27 19:02:43 2019 +0100

    lib: Remove unused smb_xvasprintf()
    
    Signed-off-by: Volker Lendecke <[email protected]>
    Reviewed-by: Martin Schwenke <[email protected]>

commit 6d1ce7dc1723e0c9f63b6b5ec08141f198049a56
Author: Volker Lendecke <[email protected]>
Date:   Wed Nov 27 19:00:26 2019 +0100

    winbind: Use vasprintf() in winbindd_cache
    
    Don't need to panic, we can do explicit checks in these few callers
    
    Signed-off-by: Volker Lendecke <[email protected]>
    Reviewed-by: Martin Schwenke <[email protected]>

commit 34c269ad02cbb6fae0d9b9db43d6700d06de1842
Author: Volker Lendecke <[email protected]>
Date:   Wed Nov 27 18:55:53 2019 +0100

    lib: Remove a duplicate fdprintf() prototype
    
    Signed-off-by: Volker Lendecke <[email protected]>
    Reviewed-by: Martin Schwenke <[email protected]>

commit 6ab4b87a7e61d5af6e7980380c0f307bc310e5f0
Author: Volker Lendecke <[email protected]>
Date:   Wed Nov 27 08:36:59 2019 +0100

    lib: Remove duplicate get_pass() prototypes
    
    Signed-off-by: Volker Lendecke <[email protected]>
    Reviewed-by: Martin Schwenke <[email protected]>

commit 7093356440d0828f133fe652b090125af51cd01a
Author: Volker Lendecke <[email protected]>
Date:   Wed Nov 27 08:35:05 2019 +0100

    lib: Make stdin_new_passwd() static
    
    It's only used in one place
    
    Signed-off-by: Volker Lendecke <[email protected]>
    Reviewed-by: Martin Schwenke <[email protected]>

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

Summary of changes:
 librpc/ndr/ndr_basic.c            |   5 +-
 source3/auth/auth_script.c        | 187 --------------------------------------
 source3/auth/wscript_build        |   7 --
 source3/include/includes.h        |   4 -
 source3/include/libsmbclient.h    |   4 +-
 source3/include/proto.h           |   5 -
 source3/lib/util.c                |  19 ----
 source3/locking/share_mode_lock.c |  11 ++-
 source3/smbd/reply.c              |  84 +++++++++++------
 source3/utils/net.c               |   1 +
 source3/utils/net_proto.h         |   5 -
 source3/utils/passwd_proto.h      |   1 -
 source3/utils/passwd_util.c       |   3 +-
 source3/utils/pdbedit.c           |   1 +
 source3/utils/smbpasswd.c         |   1 +
 source3/winbindd/winbindd_cache.c |  21 ++++-
 source3/wscript                   |   2 +-
 17 files changed, 93 insertions(+), 268 deletions(-)
 delete mode 100644 source3/auth/auth_script.c


Changeset truncated at 500 lines:

diff --git a/librpc/ndr/ndr_basic.c b/librpc/ndr/ndr_basic.c
index 0bce1322265..5c717e69858 100644
--- a/librpc/ndr/ndr_basic.c
+++ b/librpc/ndr/ndr_basic.c
@@ -1466,8 +1466,9 @@ _PUBLIC_ enum ndr_err_code ndr_pull_timespec(struct 
ndr_pull *ndr,
 _PUBLIC_ void ndr_print_timespec(struct ndr_print *ndr, const char *name,
                                 const struct timespec *t)
 {
-       ndr->print(ndr, "%-25s: %s.%ld", name, timestring(ndr, t->tv_sec),
-                  (long)t->tv_nsec);
+       char *str = timestring(ndr, t->tv_sec);
+       ndr->print(ndr, "%-25s: %s.%ld", name, str, t->tv_nsec);
+       TALLOC_FREE(str);
 }
 
 _PUBLIC_ enum ndr_err_code ndr_push_timeval(struct ndr_push *ndr,
diff --git a/source3/auth/auth_script.c b/source3/auth/auth_script.c
deleted file mode 100644
index fae55e98c24..00000000000
--- a/source3/auth/auth_script.c
+++ /dev/null
@@ -1,187 +0,0 @@
-/* 
-   Unix SMB/CIFS implementation.
-
-   Call out to a shell script for an authentication check.
-
-   Copyright (C) Jeremy Allison 2005.
-
-   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 "auth.h"
-
-#undef malloc
-
-#undef DBGC_CLASS
-#define DBGC_CLASS DBGC_AUTH
-
-/* Create a string containing the supplied :
- * domain\n
- * user\n
- * ascii hex challenge\n
- * ascii hex LM response\n
- * ascii hex NT response\n\0
- * and execute a shell script to check this.
- * Allows external programs to create users on demand.
- * Script returns zero on success, non-zero on fail.
- */
-
-static NTSTATUS script_check_user_credentials(const struct auth_context 
*auth_context,
-                                       void *my_private_data, 
-                                       TALLOC_CTX *mem_ctx,
-                                       const struct auth_usersupplied_info 
*user_info,
-                                       struct auth_serversupplied_info 
**server_info)
-{
-       const char *script = lp_parm_const_string( GLOBAL_SECTION_SNUM, 
"auth_script", "script", NULL);
-       char *secret_str;
-       size_t secret_str_len;
-       char hex_str[49];
-       int ret, i;
-
-       if (!script) {
-               return NT_STATUS_INVALID_PARAMETER;
-       }
-
-       if (!user_info) {
-               return NT_STATUS_INVALID_PARAMETER;
-       }
-
-       if (!auth_context) {
-               DEBUG(3,("script_check_user_credentials: no auth_info !\n"));
-               return NT_STATUS_INVALID_PARAMETER;
-       }               
-
-       secret_str_len = strlen(user_info->mapped.domain_name) + 1 +
-                       strlen(user_info->client.account_name) + 1 +
-                       16 + 1 + /* 8 bytes of challenge going to 16 */
-                       48 + 1 + /* 24 bytes of challenge going to 48 */
-                       48 + 1;
-
-       secret_str = (char *)malloc(secret_str_len);
-       if (!secret_str) {
-               return NT_STATUS_NO_MEMORY;
-       }
-
-       if (strlcpy( secret_str, user_info->mapped.domain_name, secret_str_len) 
>= secret_str_len) {
-               /* Truncate. */
-               goto cat_out;
-       }
-       if (strlcat( secret_str, "\n", secret_str_len) >= secret_str_len) {
-               /* Truncate. */
-               goto cat_out;
-       }
-       if (strlcat( secret_str, user_info->client.account_name, 
secret_str_len) >= secret_str_len) {
-               /* Truncate. */
-               goto cat_out;
-       }
-       if (strlcat( secret_str, "\n", secret_str_len) >= secret_str_len) {
-               /* Truncate. */
-               goto cat_out;
-       }
-
-       for (i = 0; i < 8; i++) {
-               slprintf(&hex_str[i*2], 3, "%02X", 
auth_context->challenge.data[i]);
-       }
-       if (strlcat( secret_str, hex_str, secret_str_len) >= secret_str_len) {
-               /* Truncate. */
-               goto cat_out;
-       }
-       if (strlcat( secret_str, "\n", secret_str_len) >= secret_str_len) {
-               /* Truncate. */
-               goto cat_out;
-       }
-
-       if (user_info->password.response.lanman.data) {
-               for (i = 0; i < 24; i++) {
-                       slprintf(&hex_str[i*2], 3, "%02X", 
user_info->password.response.lanman.data[i]);
-               }
-               if (strlcat( secret_str, hex_str, secret_str_len) >= 
secret_str_len) {
-                       /* Truncate. */
-                       goto cat_out;
-               }
-       }
-       if (strlcat( secret_str, "\n", secret_str_len) >= secret_str_len) {
-               /* Truncate. */
-               goto cat_out;
-       }
-
-       if (user_info->password.response.nt.data) {
-               for (i = 0; i < 24; i++) {
-                       slprintf(&hex_str[i*2], 3, "%02X", 
user_info->password.response.nt.data[i]);
-               }
-               if (strlcat( secret_str, hex_str, secret_str_len) >= 
secret_str_len) {
-                       /* Truncate. */
-                       goto cat_out;
-               }
-       }
-       if (strlcat( secret_str, "\n", secret_str_len) >= secret_str_len) {
-               /* Truncate. */
-               goto cat_out;
-       }
-
-       DEBUG(10,("script_check_user_credentials: running %s with 
parameters:\n%s\n",
-               script, secret_str ));
-
-       ret = smbrunsecret( script, secret_str);
-
-       SAFE_FREE(secret_str);
-
-       if (ret) {
-               DEBUG(1,("script_check_user_credentials: failed to authenticate 
%s\\%s\n",
-                       user_info->mapped.domain_name, 
user_info->client.account_name ));
-               /* auth failed. */
-               return NT_STATUS_NO_SUCH_USER;
-       }
-
-       /* Cause the auth system to keep going.... */
-       return NT_STATUS_NOT_IMPLEMENTED;
-
-  cat_out:
-
-       SAFE_FREE(secret_str);
-       return NT_STATUS_NO_MEMORY;
-}
-
-/* module initialisation */
-static NTSTATUS auth_init_script(struct auth_context *auth_context, const char 
*param, auth_methods **auth_method) 
-{
-       struct auth_methods *result;
-
-       result = talloc_zero(auth_context, struct auth_methods);
-       if (result == NULL) {
-               return NT_STATUS_NO_MEMORY;
-       }
-       result->name = "script";
-       result->auth = script_check_user_credentials;
-
-       if (param && *param) {
-               /* we load the 'fallback' module - if script isn't here, call 
this
-                  module */
-               auth_methods *priv;
-               if (!load_auth_module(auth_context, param, &priv)) {
-                       return NT_STATUS_UNSUCCESSFUL;
-               }
-               result->private_data = (void *)priv;
-       }
-
-        *auth_method = result;
-       return NT_STATUS_OK;
-}
-
-NTSTATUS auth_script_init(TALLOC_CTX *);
-NTSTATUS auth_script_init(TALLOC_CTX *ctx)
-{
-       return smb_register_auth(AUTH_INTERFACE_VERSION, "script", 
auth_init_script);
-}
diff --git a/source3/auth/wscript_build b/source3/auth/wscript_build
index c1062199aa8..277c4306557 100644
--- a/source3/auth/wscript_build
+++ b/source3/auth/wscript_build
@@ -53,13 +53,6 @@ bld.SAMBA3_MODULE('auth_builtin',
                  init_function='',
                  internal_module=True)
 
-bld.SAMBA3_MODULE('auth_script',
-                 subsystem='auth',
-                 source='auth_script.c',
-                 init_function='',
-                 internal_module=bld.SAMBA3_IS_STATIC_MODULE('auth_script'),
-                 enabled=bld.SAMBA3_IS_ENABLED_MODULE('auth_script'))
-
 bld.SAMBA3_MODULE('auth_samba4',
                   subsystem='auth',
                   source='auth_samba4.c',
diff --git a/source3/include/includes.h b/source3/include/includes.h
index abe12ac0930..2dafc65f41a 100644
--- a/source3/include/includes.h
+++ b/source3/include/includes.h
@@ -339,8 +339,6 @@ typedef char fstring[FSTRING_LEN];
 
 
 /* add varargs prototypes with printf checking */
-/*PRINTFLIKE2 */
-int fdprintf(int , const char *, ...) PRINTF_ATTRIBUTE(2,3);
 /*PRINTFLIKE1 */
 int d_printf(const char *, ...) PRINTF_ATTRIBUTE(1,2);
 /*PRINTFLIKE2 */
@@ -349,8 +347,6 @@ int d_fprintf(FILE *f, const char *, ...) 
PRINTF_ATTRIBUTE(2,3);
 /* PRINTFLIKE2 */
 int fstr_sprintf(fstring s, const char *fmt, ...) PRINTF_ATTRIBUTE(2,3);
 
-int smb_xvasprintf(char **ptr, const char *format, va_list ap) 
PRINTF_ATTRIBUTE(2,0);
-
 int asprintf_strupper_m(char **strp, const char *fmt, ...) 
PRINTF_ATTRIBUTE(2,3);
 char *talloc_asprintf_strupper_m(TALLOC_CTX *t, const char *fmt, ...) 
PRINTF_ATTRIBUTE(2,3);
 
diff --git a/source3/include/libsmbclient.h b/source3/include/libsmbclient.h
index 835c832b76a..5846550eb29 100644
--- a/source3/include/libsmbclient.h
+++ b/source3/include/libsmbclient.h
@@ -1647,7 +1647,7 @@ int smbc_getdents(unsigned int dh, struct smbc_dirent 
*dirp, int count);
 struct smbc_dirent* smbc_readdir(unsigned int dh);
 
 /**@ingroup directory
- * Works similar as smbc_readdir but returns more information about file.
+ * Works similar as smbc_readdir() but returns more information about file.
  *
  * @param dh        Valid directory as returned by smbc_opendir()
  *
@@ -1661,7 +1661,7 @@ struct smbc_dirent* smbc_readdir(unsigned int dh);
 const struct libsmb_file_info *smbc_readdirplus(unsigned int dh);
 
 /**@ingroup directory
- * Works similar as smbc_readdirplus as well as fills up stat structure if
+ * Works similar as smbc_readdirplus() as well as fills up stat structure if
  * provided.
  *
  * @param dh        Valid directory as returned by smbc_opendir()
diff --git a/source3/include/proto.h b/source3/include/proto.h
index ebb956c0d5e..7d81038c670 100644
--- a/source3/include/proto.h
+++ b/source3/include/proto.h
@@ -909,11 +909,6 @@ NTSTATUS sessionid_traverse_read(int (*fn)(const char *key,
                                           void *private_data),
                                 void *private_data);
 
-/* The following definitions come from utils/passwd_util.c  */
-
-char *stdin_new_passwd( void);
-char *get_pass( const char *prompt, bool stdin_get);
-
 /* The following definitions come from lib/avahi.c */
 
 struct AvahiPoll *tevent_avahi_poll(TALLOC_CTX *mem_ctx,
diff --git a/source3/lib/util.c b/source3/lib/util.c
index 9c8717172a6..e9a7368b290 100644
--- a/source3/lib/util.c
+++ b/source3/lib/util.c
@@ -1516,25 +1516,6 @@ void *smb_xmalloc_array(size_t size, unsigned int count)
        return p;
 }
 
-/*
-  vasprintf that aborts on malloc fail
-*/
-
- int smb_xvasprintf(char **ptr, const char *format, va_list ap)
-{
-       int n;
-       va_list ap2;
-
-       va_copy(ap2, ap);
-
-       n = vasprintf(ptr, format, ap2);
-       va_end(ap2);
-       if (n == -1 || ! *ptr) {
-               smb_panic("smb_xvasprintf: out of memory");
-       }
-       return n;
-}
-
 /*****************************************************************
  Get local hostname and cache result.
 *****************************************************************/
diff --git a/source3/locking/share_mode_lock.c 
b/source3/locking/share_mode_lock.c
index defa538b452..c42cafe17e4 100644
--- a/source3/locking/share_mode_lock.c
+++ b/source3/locking/share_mode_lock.c
@@ -1823,7 +1823,7 @@ bool share_mode_forall_entries(
                state.ok = true;
        }
        if (!NT_STATUS_IS_OK(status)) {
-               DBG_DEBUG("dbwrap_parse_record returned %s\n",
+               DBG_DEBUG("dbwrap_do_locked failed: %s\n",
                          nt_errstr(status));
                return false;
        }
@@ -1923,6 +1923,15 @@ static void share_mode_entry_do_fn(
                state->num_share_modes -= 1;
        }
 
+       if (state->num_share_modes == 0) {
+               state->status = dbwrap_record_delete(rec);
+               if (!NT_STATUS_IS_OK(state->status)) {
+                       DBG_DEBUG("dbwrap_record_delete failed: %s\n",
+                                 nt_errstr(state->status));
+               }
+               return;
+       }
+
        state->status = dbwrap_record_storev(rec, dbufs, num_dbufs, 0);
        if (!NT_STATUS_IS_OK(state->status)) {
                DBG_DEBUG("dbwrap_record_storev failed: %s\n",
diff --git a/source3/smbd/reply.c b/source3/smbd/reply.c
index 386283f46c9..5c173539aad 100644
--- a/source3/smbd/reply.c
+++ b/source3/smbd/reply.c
@@ -8362,20 +8362,24 @@ uint64_t get_lock_offset(const uint8_t *data, int 
data_offset,
        return offset;
 }
 
-NTSTATUS smbd_do_unlocking(struct smb_request *req,
-                          files_struct *fsp,
-                          uint16_t num_ulocks,
-                          struct smbd_lock_element *ulocks,
-                          enum brl_flavour lock_flav)
+struct smbd_do_unlocking_state {
+       struct files_struct *fsp;
+       uint16_t num_ulocks;
+       struct smbd_lock_element *ulocks;
+       enum brl_flavour lock_flav;
+       NTSTATUS status;
+};
+
+static void smbd_do_unlocking_fn(
+       TDB_DATA value, bool *pmodified_dependent, void *private_data)
 {
-       struct share_mode_lock *lck;
-       NTSTATUS status = NT_STATUS_UNSUCCESSFUL;
+       struct smbd_do_unlocking_state *state = private_data;
+       struct files_struct *fsp = state->fsp;
+       enum brl_flavour lock_flav = state->lock_flav;
        uint16_t i;
 
-       lck = get_existing_share_mode_lock(talloc_tos(), fsp->file_id);
-
-       for(i = 0; i < num_ulocks; i++) {
-               struct smbd_lock_element *e = &ulocks[i];
+       for (i = 0; i < state->num_ulocks; i++) {
+               struct smbd_lock_element *e = &state->ulocks[i];
 
                DBG_DEBUG("unlock start=%"PRIu64", len=%"PRIu64" for "
                          "pid %"PRIu64", file %s\n",
@@ -8386,35 +8390,55 @@ NTSTATUS smbd_do_unlocking(struct smb_request *req,
 
                if (e->brltype != UNLOCK_LOCK) {
                        /* this can only happen with SMB2 */
-                       status = NT_STATUS_INVALID_PARAMETER;
-                       goto done;
+                       state->status = NT_STATUS_INVALID_PARAMETER;
+                       return;
                }
 
-               status = do_unlock(
-                       fsp,
-                       e->smblctx,
-                       e->count,
-                       e->offset,
-                       lock_flav);
+               state->status = do_unlock(
+                       fsp, e->smblctx, e->count, e->offset, lock_flav);
 
-               DEBUG(10, ("%s: unlock returned %s\n", __func__,
-                          nt_errstr(status)));
+               DBG_DEBUG("do_unlock returned %s\n",
+                         nt_errstr(state->status));
 
-               if (!NT_STATUS_IS_OK(status)) {
-                       goto done;
+               if (!NT_STATUS_IS_OK(state->status)) {
+                       return;
                }
        }
 
-       DEBUG(3, ("%s: %s num_ulocks=%d\n", __func__, fsp_fnum_dbg(fsp),
-                 num_ulocks));
+       *pmodified_dependent = true;
+}
 
-done:
-       if (NT_STATUS_IS_OK(status) && (lck != NULL)) {
-               lck->data->modified = true;
+NTSTATUS smbd_do_unlocking(struct smb_request *req,
+                          files_struct *fsp,
+                          uint16_t num_ulocks,
+                          struct smbd_lock_element *ulocks,
+                          enum brl_flavour lock_flav)
+{
+       struct smbd_do_unlocking_state state = {
+               .fsp = fsp,
+               .num_ulocks = num_ulocks,
+               .ulocks = ulocks,
+               .lock_flav = lock_flav,
+       };
+       NTSTATUS status;
+
+       DBG_NOTICE("%s num_ulocks=%"PRIu16"\n", fsp_fnum_dbg(fsp), num_ulocks);
+
+       status = share_mode_do_locked(
+               fsp->file_id, smbd_do_unlocking_fn, &state);
+
+       if (!NT_STATUS_IS_OK(status)) {
+               DBG_DEBUG("share_mode_do_locked failed: %s\n",
+                         nt_errstr(status));
+               return status;
+       }
+       if (!NT_STATUS_IS_OK(state.status)) {
+               DBG_DEBUG("smbd_do_unlocking_fn failed: %s\n",
+                         nt_errstr(status));
+               return state.status;
        }
 
-       TALLOC_FREE(lck);
-       return status;
+       return NT_STATUS_OK;
 }
 
 /****************************************************************************
diff --git a/source3/utils/net.c b/source3/utils/net.c
index 71b9b07d7d7..683b46794e4 100644
--- a/source3/utils/net.c
+++ b/source3/utils/net.c
@@ -51,6 +51,7 @@
 #include "cmdline_contexts.h"
 #include "lib/gencache.h"
 #include "auth/credentials/credentials.h"
+#include "source3/utils/passwd_proto.h"
 
 #ifdef WITH_FAKE_KASERVER
 #include "utils/net_afs.h"
diff --git a/source3/utils/net_proto.h b/source3/utils/net_proto.h
index 13058be8b8b..d5387f50e46 100644
--- a/source3/utils/net_proto.h
+++ b/source3/utils/net_proto.h
@@ -439,11 +439,6 @@ NTSTATUS net_lookup_name_from_sid(struct net_context *c,
 NTSTATUS net_lookup_sid_from_name(struct net_context *c, TALLOC_CTX *ctx,
                                  const char *full_name, struct dom_sid 
*pret_sid);
 
-/* The following definitions come from utils/passwd_util.c  */
-
-char *stdin_new_passwd( void);
-char *get_pass( const char *prompt, bool stdin_get);
-
 /* The following definitions come from utils/net_g_lock.c  */
 int net_g_lock(struct net_context *c, int argc, const char **argv);
 
diff --git a/source3/utils/passwd_proto.h b/source3/utils/passwd_proto.h
index 104e00a65c3..40998998ae7 100644
--- a/source3/utils/passwd_proto.h
+++ b/source3/utils/passwd_proto.h
@@ -26,7 +26,6 @@
 
 /* The following definitions come from utils/passwd_util.c  */
 
-char *stdin_new_passwd( void);
 char *get_pass( const char *prompt, bool stdin_get);
 


-- 
Samba Shared Repository

Reply via email to