[SCM] Samba Shared Repository - branch v4-0-test updated - release-4-0-0alpha3-29-g2763fc6

Jelmer Vernooij jelmer at samba.org
Wed Apr 2 17:02:40 GMT 2008


The branch, v4-0-test has been updated
       via  2763fc6294aa35018d4317dd9eebcba969e70333 (commit)
       via  0e371cf169e9a607fcbb3e65437ab9413935dd52 (commit)
       via  8c3591d98f42a75d68d698f7b4be8f2e0284522f (commit)
       via  3e8aecbc2ee3c0bb32aa83c5035a758f16f344cb (commit)
       via  92e71c19f4e1d3ca123a083942ec578d21f7012c (commit)
       via  71aa38842c270d52d39b805bf7ce29e25e062024 (commit)
       via  3ca14fdf74d2510049bbdbbd2a5be341412cda1b (commit)
       via  7b434df67aefc667993f0ebd955af9c1c258f153 (commit)
       via  2243e24024f09ff9c9c7d0eb735c3b39c9d84424 (commit)
       via  47ffbbf67435904754469544390b67d34c958343 (commit)
       via  0528e30cf7c8a18c757e8cd9ddd6bea235ae4f1f (commit)
       via  7bfe359c73aac96f8e983e8d5e9621235cf79a3a (commit)
      from  d777a83b8478bf09a45eccde38036eccbd219df8 (commit)

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v4-0-test


- Log -----------------------------------------------------------------
commit 2763fc6294aa35018d4317dd9eebcba969e70333
Merge: 0e371cf169e9a607fcbb3e65437ab9413935dd52 d777a83b8478bf09a45eccde38036eccbd219df8
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Wed Apr 2 19:02:01 2008 +0200

    Merge branch 'v4-0-test' of ssh://git.samba.org/data/git/samba into openchange

commit 0e371cf169e9a607fcbb3e65437ab9413935dd52
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Wed Apr 2 16:47:17 2008 +0200

    Reintroduce header previously autogenerated but ignored by git.
    
    Also fixed extra include in regpatch.

commit 8c3591d98f42a75d68d698f7b4be8f2e0284522f
Merge: 3e8aecbc2ee3c0bb32aa83c5035a758f16f344cb 696b58f5dd8370b7ee0670c7a3e5db10234b41ff
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Wed Apr 2 14:33:56 2008 +0200

    Merge branch 'v4-0-test' of ssh://git.samba.org/data/git/samba into openchange

commit 3e8aecbc2ee3c0bb32aa83c5035a758f16f344cb
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Wed Apr 2 14:23:22 2008 +0200

    Remove no longer installed files.

commit 92e71c19f4e1d3ca123a083942ec578d21f7012c
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Wed Apr 2 14:18:31 2008 +0200

    Move handle utility functions to public header, remove more public headers.

commit 71aa38842c270d52d39b805bf7ce29e25e062024
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Wed Apr 2 14:10:16 2008 +0200

    Trim down installed headers some more.

commit 3ca14fdf74d2510049bbdbbd2a5be341412cda1b
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Wed Apr 2 13:59:48 2008 +0200

    Merge hive.h into registry.h

commit 7b434df67aefc667993f0ebd955af9c1c258f153
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Wed Apr 2 13:58:05 2008 +0200

    Merge patchfile.h into registry.h

commit 2243e24024f09ff9c9c7d0eb735c3b39c9d84424
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Wed Apr 2 13:41:10 2008 +0200

    Reduce the number of installed headers.

commit 47ffbbf67435904754469544390b67d34c958343
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Wed Apr 2 04:53:27 2008 +0200

    Install public header files again and include required prototypes.

commit 0528e30cf7c8a18c757e8cd9ddd6bea235ae4f1f
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Wed Apr 2 00:01:04 2008 +0200

    Don't write public functions to protoheaders.
    
    Since the public functions can be used by external parties we should
    make changing their signature as hard as possible. It's also a lot
    easier to document functions in manually written headers.

commit 7bfe359c73aac96f8e983e8d5e9621235cf79a3a
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Tue Apr 1 16:18:31 2008 +0200

    Add warning to public headers.

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

Summary of changes:
 .gitignore                                  |    3 -
 source/auth/auth.c                          |   17 +-
 source/auth/auth.h                          |   59 +++++-
 source/auth/auth_anonymous.c                |    1 +
 source/auth/auth_developer.c                |    1 +
 source/auth/auth_sam.c                      |    1 +
 source/auth/auth_simple.c                   |    1 +
 source/auth/auth_unix.c                     |    1 +
 source/auth/auth_util.c                     |    2 +-
 source/auth/auth_winbind.c                  |    2 +
 source/auth/config.mk                       |    4 +-
 source/auth/credentials/config.mk           |    2 +-
 source/auth/credentials/credentials.c       |   70 +++---
 source/auth/credentials/credentials.h       |  113 +++++++++-
 source/auth/credentials/credentials_files.c |   14 +-
 source/auth/credentials/credentials_krb5.c  |   27 +-
 source/auth/credentials/credentials_ntlm.c  |    4 +-
 source/auth/gensec/config.mk                |    2 +-
 source/auth/gensec/cyrus_sasl.c             |    1 +
 source/auth/gensec/gensec.c                 |   47 ++--
 source/auth/gensec/gensec.h                 |   92 +++++++-
 source/auth/gensec/gensec_gssapi.c          |    2 +
 source/auth/gensec/gensec_krb5.c            |    2 +
 source/auth/gensec/schannel.c               |    2 +
 source/auth/gensec/socket.c                 |    1 +
 source/auth/gensec/spnego.c                 |    1 +
 source/auth/kerberos/kerberos_util.c        |    3 +-
 source/auth/ntlmssp/ntlmssp.c               |    2 +
 source/auth/ntlmssp/ntlmssp.h               |    1 +
 source/auth/ntlmssp/ntlmssp_server.c        |    2 +
 source/auth/ntlmssp/ntlmssp_sign.c          |    4 +-
 source/auth/sam.c                           |    2 +-
 source/auth/session.c                       |   11 +-
 source/auth/session.h                       |   24 ++-
 source/build/smb_build/makefile.pm          |    2 +-
 source/client/client.c                      |    1 +
 source/dsdb/common/sidmap.c                 |   14 +-
 source/dsdb/common/util.c                   |    5 +-
 source/dsdb/config.mk                       |    4 +-
 source/dsdb/samdb/ldb_modules/partition.c   |    2 +-
 source/dsdb/samdb/samdb_privilege.c         |    2 +-
 source/headermap.txt                        |   92 ++------
 source/ldap_server/ldap_server.c            |    2 +
 source/lib/basic.mk                         |    2 +-
 source/lib/charset/charcnv.c                |    2 +-
 source/lib/charset/charset.h                |   68 +++++-
 source/lib/charset/iconv.c                  |    8 +-
 source/lib/charset/util_unistr.c            |    6 +-
 source/lib/events/config.mk                 |    2 +-
 source/lib/nss_wrapper/config.mk            |    2 -
 source/lib/registry/config.mk               |    2 +-
 source/lib/registry/dir.c                   |    2 +-
 source/lib/registry/hive.c                  |    2 +-
 source/lib/registry/hive.h                  |  209 ----------------
 source/lib/registry/patchfile.c             |    1 -
 source/lib/registry/patchfile.h             |   55 ----
 source/lib/registry/patchfile_dotreg.c      |    1 -
 source/lib/registry/patchfile_preg.c        |    1 -
 source/lib/registry/regf.c                  |    2 +-
 source/lib/registry/registry.h              |  214 ++++++++++++++++-
 source/lib/registry/registry.i              |    1 -
 source/lib/registry/registry_wrap.c         |    1 -
 source/lib/registry/tests/generic.c         |    2 +-
 source/lib/registry/tools/regpatch.c        |    1 -
 source/lib/socket_wrapper/config.mk         |    2 -
 source/lib/talloc/config.mk                 |    1 -
 source/lib/tdb/config.mk                    |    2 -
 source/lib/util/config.mk                   |    5 +-
 source/lib/util/data_blob.h                 |    4 +
 source/lib/util/dprintf.c                   |    6 +-
 source/lib/util/util_file.c                 |    4 +-
 source/lib/util/util_ldb.c                  |    4 +-
 source/lib/util/util_ldb.h                  |   27 ++
 source/lib/util/wrap_xattr.h                |   12 +
 source/libcli/auth/smbencrypt.c             |    4 +-
 source/libcli/cliconnect.c                  |    1 +
 source/libcli/clilist.c                     |    1 +
 source/libcli/climessage.c                  |    1 +
 source/libcli/clireadwrite.c                |    1 +
 source/libcli/composite/composite.h         |   37 +++-
 source/libcli/config.mk                     |    4 +-
 source/libcli/ldap/config.mk                |    3 +-
 source/libcli/ldap/ldap.c                   |    5 +-
 source/libcli/ldap/ldap.h                   |    4 +-
 source/libcli/ldap/ldap_bind.c              |    7 +-
 source/libcli/ldap/ldap_client.c            |   23 +-
 source/libcli/ldap/ldap_client.h            |   44 ++++
 source/libcli/ldap/ldap_ildap.c             |    6 +-
 source/libcli/ldap/ldap_msg.c               |    2 +-
 source/libcli/ldap/ldap_ndr.h               |   10 +
 source/libcli/nbt/libnbt.h                  |   75 ++++++-
 source/libcli/nbt/namequery.c               |    1 +
 source/libcli/nbt/namerefresh.c             |   11 +-
 source/libcli/nbt/nameregister.c            |   15 +-
 source/libcli/nbt/namerelease.c             |    7 +-
 source/libcli/nbt/nbtname.c                 |    2 +-
 source/libcli/nbt/nbtsocket.c               |    6 +-
 source/libcli/raw/clierror.c                |    4 +-
 source/libcli/raw/clioplock.c               |    1 +
 source/libcli/raw/clisession.c              |    3 +-
 source/libcli/raw/clisocket.c               |    4 +-
 source/libcli/raw/clitransport.c            |    8 +-
 source/libcli/raw/clitree.c                 |    7 +-
 source/libcli/raw/libcliraw.h               |   76 ++++++-
 source/libcli/raw/rawacl.c                  |    1 +
 source/libcli/raw/rawfile.c                 |   25 +-
 source/libcli/raw/rawfileinfo.c             |    9 +-
 source/libcli/raw/rawfsinfo.c               |    3 +-
 source/libcli/raw/rawioctl.c                |    3 +-
 source/libcli/raw/rawnegotiate.c            |    1 +
 source/libcli/raw/rawnotify.c               |    5 +-
 source/libcli/raw/rawreadwrite.c            |   11 +-
 source/libcli/raw/rawrequest.c              |    7 +-
 source/libcli/raw/rawsearch.c               |    3 +-
 source/libcli/raw/rawsetfileinfo.c          |    7 +-
 source/libcli/raw/rawshadow.c               |    1 +
 source/libcli/raw/rawtrans.c                |    9 +-
 source/libcli/raw/smb_signing.c             |    1 +
 source/libcli/smb2/close.c                  |    1 +
 source/libcli/smb2/connect.c                |    1 +
 source/libcli/smb2/create.c                 |    1 +
 source/libcli/smb2/find.c                   |    1 +
 source/libcli/smb2/getinfo.c                |    1 +
 source/libcli/smb2/negprot.c                |    2 +
 source/libcli/smb2/notify.c                 |    1 +
 source/libcli/smb2/setinfo.c                |    1 +
 source/libcli/smb2/transport.c              |    1 +
 source/libcli/smb_composite/appendacl.c     |    1 +
 source/libcli/smb_composite/connect.c       |    1 +
 source/libcli/smb_composite/fsinfo.c        |    1 +
 source/libcli/smb_composite/savefile.c      |    1 +
 source/libcli/smb_composite/sesssetup.c     |    2 +
 source/libcli/util/error.h                  |    3 +-
 source/libcli/util/errormap.c               |    1 +
 source/libnet/config.mk                     |    8 +-
 source/libnet/libnet_rpc.c                  |    1 +
 source/librpc/config.mk                     |    3 +-
 source/librpc/idl/drsblobs.idl              |    2 +-
 source/librpc/idl/irpc.idl                  |    2 +-
 source/librpc/idl/lsa.idl                   |    2 +-
 source/librpc/idl/nbt.idl                   |    4 +-
 source/librpc/idl/netlogon.idl              |    2 +-
 source/librpc/idl/oxidresolver.idl          |    2 +-
 source/librpc/idl/remact.idl                |    2 +-
 source/librpc/idl/spoolss.idl               |    2 +-
 source/librpc/ndr/libndr.h                  |  171 +++++++++++++-
 source/librpc/ndr/ndr.c                     |    8 +-
 source/librpc/ndr/uuid.c                    |    2 +-
 source/librpc/rpc/dcerpc.c                  |   13 +-
 source/librpc/rpc/dcerpc.h                  |  126 +++++++++-
 source/librpc/rpc/dcerpc_auth.c             |    5 +-
 source/librpc/rpc/dcerpc_connect.c          |   11 +-
 source/librpc/rpc/dcerpc_error.c            |    2 +-
 source/librpc/rpc/dcerpc_schannel.c         |    3 +-
 source/librpc/rpc/dcerpc_secondary.c        |   11 +-
 source/librpc/rpc/dcerpc_smb.c              |    7 +-
 source/librpc/rpc/dcerpc_smb2.c             |    1 +
 source/librpc/rpc/dcerpc_sock.c             |    1 +
 source/librpc/rpc/dcerpc_util.c             |   21 +-
 source/librpc/tests/binding_string.c        |    1 +
 source/ntvfs/cifs/vfs_cifs.c                |    1 +
 source/ntvfs/common/init.c                  |    2 +-
 source/ntvfs/common/opendb.c                |   28 +-
 source/ntvfs/config.mk                      |    2 +-
 source/ntvfs/ntvfs_base.c                   |    8 +-
 source/ntvfs/ntvfs_generic.c                |   20 +-
 source/ntvfs/ntvfs_interface.c              |  138 +++++-----
 source/ntvfs/ntvfs_util.c                   |   20 +-
 source/ntvfs/posix/pvfs_acl.c               |    4 +-
 source/ntvfs/posix/pvfs_xattr.c             |    4 +-
 source/param/param.h                        |  361 ++++++++++++++++++++++++++-
 source/param/util.c                         |   22 +-
 source/rpc_server/common/common.h           |   52 +---
 source/rpc_server/common/server_info.c      |   30 ++--
 source/rpc_server/config.mk                 |    2 -
 source/rpc_server/dcerpc_server.c           |    4 +-
 source/rpc_server/dcerpc_server.h           |   86 +++++++-
 source/rpc_server/dcesrv_auth.c             |    2 +
 source/rpc_server/srvsvc/dcesrv_srvsvc.c    |    1 +
 source/script/mkproto.pl                    |    1 +
 source/scripting/ejs/smbcalls_rand.c        |    1 +
 source/scripting/python/misc.i              |    1 +
 source/scripting/python/misc_wrap.c         |    1 +
 source/smb_server/blob.c                    |    1 +
 source/smb_server/smb/nttrans.c             |    1 +
 source/smb_server/smb/signing.c             |    1 +
 source/smb_server/smb/trans2.c              |    1 +
 source/smb_server/smb2/negprot.c            |    2 +
 source/smbd/process_model.c                 |    4 +-
 source/smbd/process_model.h                 |    5 +-
 source/torture/auth/ntlmssp.c               |    3 +-
 source/torture/auth/pac.c                   |    3 +-
 source/torture/basic/aliases.c              |    1 +
 source/torture/basic/base.c                 |    1 +
 source/torture/basic/delaywrite.c           |    1 +
 source/torture/basic/delete.c               |    1 +
 source/torture/basic/disconnect.c           |    1 +
 source/torture/basic/misc.c                 |    1 +
 source/torture/basic/scanner.c              |    1 +
 source/torture/basic/secleak.c              |    2 +
 source/torture/ldap/common.c                |    6 +-
 source/torture/rap/rap.c                    |    2 +-
 source/torture/raw/chkpath.c                |    1 +
 source/torture/raw/close.c                  |    1 +
 source/torture/raw/context.c                |    1 +
 source/torture/raw/ioctl.c                  |    1 +
 source/torture/raw/lock.c                   |    1 +
 source/torture/raw/lockbench.c              |    1 +
 source/torture/raw/mkdir.c                  |    1 +
 source/torture/raw/mux.c                    |    1 +
 source/torture/raw/notify.c                 |    1 +
 source/torture/raw/open.c                   |    1 +
 source/torture/raw/openbench.c              |    1 +
 source/torture/raw/oplock.c                 |    1 +
 source/torture/raw/qfileinfo.c              |    1 +
 source/torture/raw/read.c                   |    1 +
 source/torture/raw/samba3misc.c             |    1 +
 source/torture/raw/search.c                 |    3 +-
 source/torture/raw/setfileinfo.c            |    1 +
 source/torture/raw/unlink.c                 |    1 +
 source/torture/raw/write.c                  |    1 +
 source/torture/rpc/autoidl.c                |    1 +
 source/torture/rpc/countcalls.c             |    1 +
 source/torture/rpc/epmapper.c               |    1 +
 source/torture/rpc/mgmt.c                   |    1 +
 source/torture/rpc/rpc.h                    |   42 +++
 source/torture/rpc/samba3rpc.c              |    1 +
 source/torture/rpc/samlogon.c               |    1 +
 source/torture/rpc/samsync.c                |    1 +
 source/torture/rpc/scanner.c                |    1 +
 source/torture/rpc/schannel.c               |    2 +
 source/torture/rpc/spoolss_notify.c         |    1 +
 source/torture/smb2/smb2.c                  |    2 +-
 source/torture/torture.c                    |    2 +-
 source/torture/torture.h                    |    3 +-
 source/torture/ui.h                         |   15 ++
 source/torture/unix/whoami.c                |    1 +
 source/torture/util_provision.c             |    1 +
 source/torture/util_smb.c                   |    1 +
 239 files changed, 2266 insertions(+), 850 deletions(-)
 delete mode 100644 source/lib/registry/hive.h
 delete mode 100644 source/lib/registry/patchfile.h
 create mode 100644 source/lib/util/util_ldb.h
 create mode 100644 source/lib/util/wrap_xattr.h
 create mode 100644 source/libcli/ldap/ldap_ndr.h


Changeset truncated at 500 lines:

diff --git a/.gitignore b/.gitignore
index 3a2e564..1ad2e25 100644
--- a/.gitignore
+++ b/.gitignore
@@ -66,7 +66,6 @@ source/lib/tdr/tdr_proto.h
 source/lib/util/pidfile.h
 source/lib/util/unix_privs.h
 source/lib/util/util_proto.h
-source/lib/util/wrap_xattr.h
 source/lib/util/asn1_proto.h
 source/libcli/finddcs.h
 source/libcli/libcli_proto.h
@@ -190,8 +189,6 @@ source/dsdb/schema/proto.h
 source/lib/crypto/test_proto.h
 source/lib/registry/tests/proto.h
 source/lib/util/apidocs
-source/lib/util/util_ldb.h
-source/libcli/ldap/ldap_ndr.h
 source/libcli/resolve/lp_proto.h
 source/apidocs
 *.swp
diff --git a/source/auth/auth.c b/source/auth/auth.c
index ed590f2..af3796a 100644
--- a/source/auth/auth.c
+++ b/source/auth/auth.c
@@ -21,6 +21,7 @@
 #include "includes.h"
 #include "lib/util/dlinklist.h"
 #include "auth/auth.h"
+#include "auth/auth_proto.h"
 #include "lib/events/events.h"
 #include "build.h"
 #include "param/param.h"
@@ -28,7 +29,7 @@
 /***************************************************************************
  Set a fixed challenge
 ***************************************************************************/
-NTSTATUS auth_context_set_challenge(struct auth_context *auth_ctx, const uint8_t chal[8], const char *set_by) 
+_PUBLIC_ NTSTATUS auth_context_set_challenge(struct auth_context *auth_ctx, const uint8_t chal[8], const char *set_by) 
 {
 	auth_ctx->challenge.set_by = talloc_strdup(auth_ctx, set_by);
 	NT_STATUS_HAVE_NO_MEMORY(auth_ctx->challenge.set_by);
@@ -146,7 +147,7 @@ static void auth_check_password_sync_callback(struct auth_check_password_request
  *
  **/
 
-NTSTATUS auth_check_password(struct auth_context *auth_ctx,
+_PUBLIC_ NTSTATUS auth_check_password(struct auth_context *auth_ctx,
 			     TALLOC_CTX *mem_ctx,
 			     const struct auth_usersupplied_info *user_info, 
 			     struct auth_serversupplied_info **server_info)
@@ -218,7 +219,7 @@ static void auth_check_password_async_timed_handler(struct event_context *ev, st
  *
  **/
 
-void auth_check_password_send(struct auth_context *auth_ctx,
+_PUBLIC_ void auth_check_password_send(struct auth_context *auth_ctx,
 			      const struct auth_usersupplied_info *user_info,
 			      void (*callback)(struct auth_check_password_request *req, void *private_data),
 			      void *private_data)
@@ -320,7 +321,7 @@ failed:
  *
  **/
 
-NTSTATUS auth_check_password_recv(struct auth_check_password_request *req,
+_PUBLIC_ NTSTATUS auth_check_password_recv(struct auth_check_password_request *req,
 				  TALLOC_CTX *mem_ctx,
 				  struct auth_serversupplied_info **server_info)
 {
@@ -350,7 +351,7 @@ NTSTATUS auth_check_password_recv(struct auth_check_password_request *req,
  Make a auth_info struct for the auth subsystem
  - Allow the caller to specify the methods to use
 ***************************************************************************/
-NTSTATUS auth_context_create_methods(TALLOC_CTX *mem_ctx, const char **methods, 
+_PUBLIC_ NTSTATUS auth_context_create_methods(TALLOC_CTX *mem_ctx, const char **methods, 
 				     struct event_context *ev,
 				     struct messaging_context *msg,
 				     struct loadparm_context *lp_ctx,
@@ -413,7 +414,7 @@ NTSTATUS auth_context_create_methods(TALLOC_CTX *mem_ctx, const char **methods,
  Make a auth_info struct for the auth subsystem
  - Uses default auth_methods, depending on server role and smb.conf settings
 ***************************************************************************/
-NTSTATUS auth_context_create(TALLOC_CTX *mem_ctx, 
+_PUBLIC_ NTSTATUS auth_context_create(TALLOC_CTX *mem_ctx, 
 			     struct event_context *ev,
 			     struct messaging_context *msg,
 			     struct loadparm_context *lp_ctx,
@@ -447,7 +448,7 @@ static int num_backends;
   The 'name' can be later used by other backends to find the operations
   structure for this backend.
 */
-NTSTATUS auth_register(const struct auth_operations *ops)
+_PUBLIC_ NTSTATUS auth_register(const struct auth_operations *ops)
 {
 	struct auth_operations *new_ops;
 	
@@ -512,7 +513,7 @@ const struct auth_critical_sizes *auth_interface_version(void)
 	return &critical_sizes;
 }
 
-NTSTATUS auth_init(void)
+_PUBLIC_ NTSTATUS auth_init(void)
 {
 	static bool initialized = false;
 
diff --git a/source/auth/auth.h b/source/auth/auth.h
index ff7132c..da8aac4 100644
--- a/source/auth/auth.h
+++ b/source/auth/auth.h
@@ -190,6 +190,63 @@ struct auth_critical_sizes {
 
 #include "auth/session.h"
 #include "auth/system_session_proto.h"
-#include "auth/auth_proto.h"
+
+struct ldb_message;
+struct ldb_context;
+NTSTATUS auth_get_challenge(struct auth_context *auth_ctx, const uint8_t **_chal);
+NTSTATUS authsam_account_ok(TALLOC_CTX *mem_ctx,
+			    struct ldb_context *sam_ctx,
+			    uint32_t logon_parameters,
+			    struct ldb_message *msg,
+			    struct ldb_message *msg_domain_ref,
+			    const char *logon_workstation,
+			    const char *name_for_logs);
+struct auth_session_info *system_session(TALLOC_CTX *mem_ctx, struct loadparm_context *lp_ctx);
+NTSTATUS authsam_make_server_info(TALLOC_CTX *mem_ctx, struct ldb_context *sam_ctx,
+					   const char *netbios_name,
+					   struct ldb_message *msg,
+					   struct ldb_message *msg_domain_ref,
+					   DATA_BLOB user_sess_key, DATA_BLOB lm_sess_key,
+					   struct auth_serversupplied_info **_server_info);
+NTSTATUS auth_system_session_info(TALLOC_CTX *parent_ctx, 
+					   struct loadparm_context *lp_ctx,
+					   struct auth_session_info **_session_info) ;
+NTSTATUS auth_nt_status_squash(NTSTATUS nt_status);
+
+NTSTATUS auth_context_create_methods(TALLOC_CTX *mem_ctx, const char **methods, 
+				     struct event_context *ev,
+				     struct messaging_context *msg,
+				     struct loadparm_context *lp_ctx,
+				     struct auth_context **auth_ctx);
+
+NTSTATUS auth_context_create(TALLOC_CTX *mem_ctx, 
+			     struct event_context *ev,
+			     struct messaging_context *msg,
+			     struct loadparm_context *lp_ctx,
+			     struct auth_context **auth_ctx);
+
+NTSTATUS auth_check_password(struct auth_context *auth_ctx,
+			     TALLOC_CTX *mem_ctx,
+			     const struct auth_usersupplied_info *user_info, 
+			     struct auth_serversupplied_info **server_info);
+NTSTATUS auth_init(void);
+NTSTATUS auth_register(const struct auth_operations *ops);
+NTSTATUS authenticate_username_pw(TALLOC_CTX *mem_ctx,
+					   struct event_context *ev,
+					   struct messaging_context *msg,
+					   struct loadparm_context *lp_ctx,
+					   const char *nt4_domain,
+					   const char *nt4_username,
+					   const char *password,
+					   struct auth_session_info **session_info);
+NTSTATUS auth_check_password_recv(struct auth_check_password_request *req,
+				  TALLOC_CTX *mem_ctx,
+				  struct auth_serversupplied_info **server_info);
+
+void auth_check_password_send(struct auth_context *auth_ctx,
+			      const struct auth_usersupplied_info *user_info,
+			      void (*callback)(struct auth_check_password_request *req, void *private_data),
+			      void *private_data);
+NTSTATUS auth_context_set_challenge(struct auth_context *auth_ctx, const uint8_t chal[8], const char *set_by);
 
 #endif /* _SMBAUTH_H_ */
diff --git a/source/auth/auth_anonymous.c b/source/auth/auth_anonymous.c
index 38c13d4..b93c7c2 100644
--- a/source/auth/auth_anonymous.c
+++ b/source/auth/auth_anonymous.c
@@ -21,6 +21,7 @@
 
 #include "includes.h"
 #include "auth/auth.h"
+#include "auth/auth_proto.h"
 #include "param/param.h"
 
 /**
diff --git a/source/auth/auth_developer.c b/source/auth/auth_developer.c
index 0da947b..a2c9cbc 100644
--- a/source/auth/auth_developer.c
+++ b/source/auth/auth_developer.c
@@ -21,6 +21,7 @@
 
 #include "includes.h"
 #include "auth/auth.h"
+#include "auth/auth_proto.h"
 #include "libcli/security/security.h"
 #include "librpc/gen_ndr/ndr_samr.h"
 
diff --git a/source/auth/auth_sam.c b/source/auth/auth_sam.c
index 4cb8d2b..4b467ce 100644
--- a/source/auth/auth_sam.c
+++ b/source/auth/auth_sam.c
@@ -25,6 +25,7 @@
 #include "lib/ldb/include/ldb.h"
 #include "util/util_ldb.h"
 #include "auth/auth.h"
+#include "auth/auth_proto.h"
 #include "auth/auth_sam.h"
 #include "dsdb/samdb/samdb.h"
 #include "libcli/security/security.h"
diff --git a/source/auth/auth_simple.c b/source/auth/auth_simple.c
index 3c7bf54..50be02a 100644
--- a/source/auth/auth_simple.c
+++ b/source/auth/auth_simple.c
@@ -25,6 +25,7 @@
 #include "auth/auth.h"
 #include "lib/events/events.h"
 #include "param/param.h"
+#include "auth/session_proto.h"
 
 /*
  It's allowed to pass NULL as session_info,
diff --git a/source/auth/auth_unix.c b/source/auth/auth_unix.c
index 20e1987..a417107 100644
--- a/source/auth/auth_unix.c
+++ b/source/auth/auth_unix.c
@@ -21,6 +21,7 @@
 
 #include "includes.h"
 #include "auth/auth.h"
+#include "auth/auth_proto.h"
 #include "system/passwd.h" /* needed by some systems for struct passwd */
 #include "lib/socket/socket.h" 
 #include "auth/pam_errors.h"
diff --git a/source/auth/auth_util.c b/source/auth/auth_util.c
index 5d2bc6b..1d86b85 100644
--- a/source/auth/auth_util.c
+++ b/source/auth/auth_util.c
@@ -246,7 +246,7 @@ NTSTATUS encrypt_user_info(TALLOC_CTX *mem_ctx, struct auth_context *auth_contex
  * @param nt_status NTSTATUS input for squashing.
  * @return the 'squashed' nt_status
  **/
-NTSTATUS auth_nt_status_squash(NTSTATUS nt_status)
+_PUBLIC_ NTSTATUS auth_nt_status_squash(NTSTATUS nt_status)
 {
 	if NT_STATUS_EQUAL(nt_status, NT_STATUS_NO_SUCH_USER) {
 		/* Match WinXP and don't give the game away */
diff --git a/source/auth/auth_winbind.c b/source/auth/auth_winbind.c
index 2f8074d..149f549 100644
--- a/source/auth/auth_winbind.c
+++ b/source/auth/auth_winbind.c
@@ -23,6 +23,8 @@
 
 #include "includes.h"
 #include "auth/auth.h"
+#include "auth/auth_proto.h"
+#include "auth/session_proto.h"
 #include "nsswitch/winbind_client.h"
 #include "librpc/gen_ndr/ndr_netlogon.h"
 #include "librpc/gen_ndr/ndr_winbind.h"
diff --git a/source/auth/config.mk b/source/auth/config.mk
index 369c5bb..63aec09 100644
--- a/source/auth/config.mk
+++ b/source/auth/config.mk
@@ -9,7 +9,7 @@ OBJ_FILES = session.o
 PRIVATE_PROTO_HEADER = session_proto.h
 PUBLIC_DEPENDENCIES = CREDENTIALS
 
-PUBLIC_HEADERS += auth/session.h
+# PUBLIC_HEADERS += auth/session.h
 
 [SUBSYSTEM::auth_system_session]
 OBJ_FILES = system_session.o
@@ -92,7 +92,7 @@ PRIVATE_DEPENDENCIES = LIBSAMBA-UTIL
 # End SUBSYSTEM auth
 #######################
 
-PUBLIC_HEADERS += auth/auth.h
+# PUBLIC_HEADERS += auth/auth.h
 
 [PYTHON::swig_auth]
 PUBLIC_DEPENDENCIES = auth_system_session
diff --git a/source/auth/credentials/config.mk b/source/auth/credentials/config.mk
index ef8db50..83f2f0d 100644
--- a/source/auth/credentials/config.mk
+++ b/source/auth/credentials/config.mk
@@ -12,7 +12,7 @@ PUBLIC_DEPENDENCIES = \
 PRIVATE_DEPENDENCIES = \
 		SECRETS
 
-PUBLIC_HEADERS += $(addprefix auth/credentials/, credentials.h credentials_krb5.h)
+PUBLIC_HEADERS += auth/credentials/credentials.h
 
 [PYTHON::swig_credentials]
 PUBLIC_DEPENDENCIES = CREDENTIALS LIBCMDLINE_CREDENTIALS
diff --git a/source/auth/credentials/credentials.c b/source/auth/credentials/credentials.c
index 6d5c121..89dddc9 100644
--- a/source/auth/credentials/credentials.c
+++ b/source/auth/credentials/credentials.c
@@ -33,7 +33,7 @@
  * Create a new credentials structure
  * @param mem_ctx TALLOC_CTX parent for credentials structure 
  */
-struct cli_credentials *cli_credentials_init(TALLOC_CTX *mem_ctx) 
+_PUBLIC_ struct cli_credentials *cli_credentials_init(TALLOC_CTX *mem_ctx) 
 {
 	struct cli_credentials *cred = talloc(mem_ctx, struct cli_credentials);
 	if (!cred) {
@@ -77,7 +77,7 @@ struct cli_credentials *cli_credentials_init(TALLOC_CTX *mem_ctx)
  * Create a new anonymous credential
  * @param mem_ctx TALLOC_CTX parent for credentials structure 
  */
-struct cli_credentials *cli_credentials_init_anon(TALLOC_CTX *mem_ctx)
+_PUBLIC_ struct cli_credentials *cli_credentials_init_anon(TALLOC_CTX *mem_ctx)
 {
 	struct cli_credentials *anon_credentials;
 
@@ -87,23 +87,23 @@ struct cli_credentials *cli_credentials_init_anon(TALLOC_CTX *mem_ctx)
 	return anon_credentials;
 }
 
-void cli_credentials_set_kerberos_state(struct cli_credentials *creds, 
+_PUBLIC_ void cli_credentials_set_kerberos_state(struct cli_credentials *creds, 
 					enum credentials_use_kerberos use_kerberos)
 {
 	creds->use_kerberos = use_kerberos;
 }
 
-enum credentials_use_kerberos cli_credentials_get_kerberos_state(struct cli_credentials *creds)
+_PUBLIC_ enum credentials_use_kerberos cli_credentials_get_kerberos_state(struct cli_credentials *creds)
 {
 	return creds->use_kerberos;
 }
 
-void cli_credentials_set_gensec_features(struct cli_credentials *creds, uint32_t gensec_features)
+_PUBLIC_ void cli_credentials_set_gensec_features(struct cli_credentials *creds, uint32_t gensec_features)
 {
 	creds->gensec_features = gensec_features;
 }
 
-uint32_t cli_credentials_get_gensec_features(struct cli_credentials *creds)
+_PUBLIC_ uint32_t cli_credentials_get_gensec_features(struct cli_credentials *creds)
 {
 	return creds->gensec_features;
 }
@@ -115,7 +115,7 @@ uint32_t cli_credentials_get_gensec_features(struct cli_credentials *creds)
  * @retval The username set on this context.
  * @note Return value will never be NULL except by programmer error.
  */
-const char *cli_credentials_get_username(struct cli_credentials *cred)
+_PUBLIC_ const char *cli_credentials_get_username(struct cli_credentials *cred)
 {
 	if (cred->machine_account_pending) {
 		cli_credentials_set_machine_account(cred, 
@@ -134,7 +134,7 @@ const char *cli_credentials_get_username(struct cli_credentials *cred)
 	return cred->username;
 }
 
-bool cli_credentials_set_username(struct cli_credentials *cred, 
+_PUBLIC_ bool cli_credentials_set_username(struct cli_credentials *cred, 
 				  const char *val, enum credentials_obtained obtained)
 {
 	if (obtained >= cred->username_obtained) {
@@ -159,7 +159,7 @@ bool cli_credentials_set_username_callback(struct cli_credentials *cred,
 	return false;
 }
 
-bool cli_credentials_set_bind_dn(struct cli_credentials *cred, 
+_PUBLIC_ bool cli_credentials_set_bind_dn(struct cli_credentials *cred, 
 				 const char *bind_dn)
 {
 	cred->bind_dn = talloc_strdup(cred, bind_dn);
@@ -172,7 +172,7 @@ bool cli_credentials_set_bind_dn(struct cli_credentials *cred,
  * @retval The username set on this context.
  * @note Return value will be NULL if not specified explictly
  */
-const char *cli_credentials_get_bind_dn(struct cli_credentials *cred)
+_PUBLIC_ const char *cli_credentials_get_bind_dn(struct cli_credentials *cred)
 {
 	return cred->bind_dn;
 }
@@ -184,7 +184,7 @@ const char *cli_credentials_get_bind_dn(struct cli_credentials *cred)
  * @retval The username set on this context.
  * @note Return value will never be NULL except by programmer error.
  */
-const char *cli_credentials_get_principal(struct cli_credentials *cred, TALLOC_CTX *mem_ctx)
+_PUBLIC_ const char *cli_credentials_get_principal(struct cli_credentials *cred, TALLOC_CTX *mem_ctx)
 {
 	if (cred->machine_account_pending) {
 		cli_credentials_set_machine_account(cred,
@@ -246,7 +246,7 @@ bool cli_credentials_set_principal_callback(struct cli_credentials *cred,
  * function to determine if authentication has been explicitly
  * requested */
 
-bool cli_credentials_authentication_requested(struct cli_credentials *cred) 
+_PUBLIC_ bool cli_credentials_authentication_requested(struct cli_credentials *cred) 
 {
 	if (cred->bind_dn) {
 		return true;
@@ -275,7 +275,7 @@ bool cli_credentials_authentication_requested(struct cli_credentials *cred)
  * @param cred credentials context
  * @retval If set, the cleartext password, otherwise NULL
  */
-const char *cli_credentials_get_password(struct cli_credentials *cred)
+_PUBLIC_ const char *cli_credentials_get_password(struct cli_credentials *cred)
 {
 	if (cred->machine_account_pending) {
 		cli_credentials_set_machine_account(cred,
@@ -297,7 +297,7 @@ const char *cli_credentials_get_password(struct cli_credentials *cred)
 /* Set a password on the credentials context, including an indication
  * of 'how' the password was obtained */
 
-bool cli_credentials_set_password(struct cli_credentials *cred, 
+_PUBLIC_ bool cli_credentials_set_password(struct cli_credentials *cred, 
 				  const char *val, 
 				  enum credentials_obtained obtained)
 {
@@ -313,7 +313,7 @@ bool cli_credentials_set_password(struct cli_credentials *cred,
 	return false;
 }
 
-bool cli_credentials_set_password_callback(struct cli_credentials *cred,
+_PUBLIC_ bool cli_credentials_set_password_callback(struct cli_credentials *cred,
 					   const char *(*password_cb) (struct cli_credentials *))
 {
 	if (cred->password_obtained < CRED_CALLBACK) {
@@ -358,7 +358,7 @@ bool cli_credentials_set_old_password(struct cli_credentials *cred,
  * @param cred credentials context
  * @retval If set, the cleartext password, otherwise NULL
  */
-const struct samr_Password *cli_credentials_get_nt_hash(struct cli_credentials *cred, 
+_PUBLIC_ const struct samr_Password *cli_credentials_get_nt_hash(struct cli_credentials *cred, 
 							TALLOC_CTX *mem_ctx)
 {
 	const char *password = cli_credentials_get_password(cred);
@@ -377,7 +377,7 @@ const struct samr_Password *cli_credentials_get_nt_hash(struct cli_credentials *
 	}
 }
 
-bool cli_credentials_set_nt_hash(struct cli_credentials *cred,
+_PUBLIC_ bool cli_credentials_set_nt_hash(struct cli_credentials *cred,
 				 const struct samr_Password *nt_hash, 
 				 enum credentials_obtained obtained)
 {
@@ -401,7 +401,7 @@ bool cli_credentials_set_nt_hash(struct cli_credentials *cred,
  * @retval The domain set on this context. 
  * @note Return value will never be NULL except by programmer error.
  */
-const char *cli_credentials_get_domain(struct cli_credentials *cred)
+_PUBLIC_ const char *cli_credentials_get_domain(struct cli_credentials *cred)
 {
 	if (cred->machine_account_pending) {
 		cli_credentials_set_machine_account(cred,
@@ -421,7 +421,7 @@ const char *cli_credentials_get_domain(struct cli_credentials *cred)
 }
 
 
-bool cli_credentials_set_domain(struct cli_credentials *cred, 
+_PUBLIC_ bool cli_credentials_set_domain(struct cli_credentials *cred, 
 				const char *val, 
 				enum credentials_obtained obtained)
 {
@@ -456,7 +456,7 @@ bool cli_credentials_set_domain_callback(struct cli_credentials *cred,
  * @retval The realm set on this context. 
  * @note Return value will never be NULL except by programmer error.
  */
-const char *cli_credentials_get_realm(struct cli_credentials *cred)
+_PUBLIC_ const char *cli_credentials_get_realm(struct cli_credentials *cred)
 {	
 	if (cred->machine_account_pending) {
 		cli_credentials_set_machine_account(cred,
@@ -479,7 +479,7 @@ const char *cli_credentials_get_realm(struct cli_credentials *cred)
  * Set the realm for this credentials context, and force it to
  * uppercase for the sainity of our local kerberos libraries 
  */
-bool cli_credentials_set_realm(struct cli_credentials *cred, 
+_PUBLIC_ bool cli_credentials_set_realm(struct cli_credentials *cred, 
 			       const char *val, 
 			       enum credentials_obtained obtained)
 {
@@ -512,7 +512,7 @@ bool cli_credentials_set_realm_callback(struct cli_credentials *cred,
  * @retval The workstation name set on this context. 
  * @note Return value will never be NULL except by programmer error.
  */
-const char *cli_credentials_get_workstation(struct cli_credentials *cred)
+_PUBLIC_ const char *cli_credentials_get_workstation(struct cli_credentials *cred)
 {
 	if (cred->workstation_obtained == CRED_CALLBACK && 
 	    !cred->callback_running) {
@@ -525,7 +525,7 @@ const char *cli_credentials_get_workstation(struct cli_credentials *cred)
 	return cred->workstation;
 }
 
-bool cli_credentials_set_workstation(struct cli_credentials *cred, 
+_PUBLIC_ bool cli_credentials_set_workstation(struct cli_credentials *cred, 
 				     const char *val, 
 				     enum credentials_obtained obtained)
 {
@@ -560,7 +560,7 @@ bool cli_credentials_set_workstation_callback(struct cli_credentials *cred,
  * @param obtained This enum describes how 'specified' this password is


-- 
Samba Shared Repository


More information about the samba-cvs mailing list