The branch, master has been updated via e786e8f auth: Reorder arguments to generate_session_info via dd479bd selftest: Fix selftest to check ADS functionalty again from 32c82fe s4:lib/tls - include GNUTLS headers consistently using <...>
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master - Log ----------------------------------------------------------------- commit e786e8fef9960aadf1e94c70c0fb7ec18c1ed237 Author: Andrew Bartlett <abart...@samba.org> Date: Sat Feb 4 17:49:49 2012 +1100 auth: Reorder arguments to generate_session_info This matches check_ntlm_password() and generate_session_info_pac() Andrew Bartlett Autobuild-User: Andrew Bartlett <abart...@samba.org> Autobuild-Date: Sat Feb 18 02:19:35 CET 2012 on sn-devel-104 commit dd479bd2927a6b470e2b6c6b89ef0e4fdd457d55 Author: Andrew Bartlett <abart...@samba.org> Date: Sat Feb 18 10:35:24 2012 +1100 selftest: Fix selftest to check ADS functionalty again This was found by looking over the lcov output on build.samba.org The new have_ads() check also now dies if it cannot run smbd, to avoid this in future. Andrew Bartlett ----------------------------------------------------------------------- Summary of changes: auth/common_auth.h | 4 ++-- auth/ntlmssp/gensec_ntlmssp_server.c | 2 +- selftest/target/Samba3.pm | 18 ++++++++++-------- source3/auth/auth_ntlmssp.c | 4 ++-- source3/auth/proto.h | 4 ++-- source4/auth/ntlm/auth.c | 14 +++++++------- source4/auth/ntlm/auth_simple.c | 3 ++- source4/smb_server/smb/sesssetup.c | 8 ++++---- 8 files changed, 30 insertions(+), 27 deletions(-) Changeset truncated at 500 lines: diff --git a/auth/common_auth.h b/auth/common_auth.h index d9996e1..c0fd6b6 100644 --- a/auth/common_auth.h +++ b/auth/common_auth.h @@ -117,8 +117,8 @@ struct auth4_context { NTSTATUS (*set_challenge)(struct auth4_context *auth_ctx, const uint8_t chal[8], const char *set_by); - NTSTATUS (*generate_session_info)(TALLOC_CTX *mem_ctx, - struct auth4_context *auth_context, + NTSTATUS (*generate_session_info)(struct auth4_context *auth_context, + TALLOC_CTX *mem_ctx, void *server_returned_info, const char *original_user_name, uint32_t session_info_flags, diff --git a/auth/ntlmssp/gensec_ntlmssp_server.c b/auth/ntlmssp/gensec_ntlmssp_server.c index 8f45c2c..a1d43e6 100644 --- a/auth/ntlmssp/gensec_ntlmssp_server.c +++ b/auth/ntlmssp/gensec_ntlmssp_server.c @@ -235,7 +235,7 @@ NTSTATUS gensec_ntlmssp_session_info(struct gensec_security *gensec_security, session_info_flags |= AUTH_SESSION_INFO_DEFAULT_GROUPS; if (gensec_security->auth_context && gensec_security->auth_context->generate_session_info) { - nt_status = gensec_security->auth_context->generate_session_info(mem_ctx, gensec_security->auth_context, + nt_status = gensec_security->auth_context->generate_session_info(gensec_security->auth_context, mem_ctx, gensec_ntlmssp->server_returned_info, gensec_ntlmssp->ntlmssp_state->user, session_info_flags, diff --git a/selftest/target/Samba3.pm b/selftest/target/Samba3.pm index e8a03e7..2696014 100755 --- a/selftest/target/Samba3.pm +++ b/selftest/target/Samba3.pm @@ -12,15 +12,17 @@ use POSIX; use target::Samba; sub have_ads($) { - my ($self); + my ($self) = @_; my $found_ads = 0; - my $smbd_build_options = Samba::bindir_path($self, "smbd") . " -b"; - my @build_options = `$smbd_build_options`; - foreach my $option (@build_options) { - if ($option =~ "WITH_ADS") { - $found_ads = 1; - } - } + my $smbd_build_options = Samba::bindir_path($self, "smbd") . " -b|"; + open(IN, $smbd_build_options) or die("Unable to run $smbd_build_options: $!"); + + while (<IN>) { + if (/WITH_ADS/) { + $found_ads = 1; + } + } + close IN; # If we were not built with ADS support, pretend we were never even available return $found_ads; diff --git a/source3/auth/auth_ntlmssp.c b/source3/auth/auth_ntlmssp.c index 7b632fd..582c8dc 100644 --- a/source3/auth/auth_ntlmssp.c +++ b/source3/auth/auth_ntlmssp.c @@ -24,8 +24,8 @@ #include "includes.h" #include "auth.h" -NTSTATUS auth3_generate_session_info(TALLOC_CTX *mem_ctx, - struct auth4_context *auth_context, +NTSTATUS auth3_generate_session_info(struct auth4_context *auth_context, + TALLOC_CTX *mem_ctx, void *server_returned_info, const char *original_user_name, uint32_t session_info_flags, diff --git a/source3/auth/proto.h b/source3/auth/proto.h index bb25fed..1697eda 100644 --- a/source3/auth/proto.h +++ b/source3/auth/proto.h @@ -74,8 +74,8 @@ NTSTATUS auth_generic_prepare(TALLOC_CTX *mem_ctx, const struct tsocket_address /* The following definitions come from auth/auth_ntlmssp.c */ -NTSTATUS auth3_generate_session_info(TALLOC_CTX *mem_ctx, - struct auth4_context *auth_context, +NTSTATUS auth3_generate_session_info(struct auth4_context *auth_context, + TALLOC_CTX *mem_ctx, void *server_returned_info, const char *original_user_name, uint32_t session_info_flags, diff --git a/source4/auth/ntlm/auth.c b/source4/auth/ntlm/auth.c index fdfdb63..5c65da9 100644 --- a/source4/auth/ntlm/auth.c +++ b/source4/auth/ntlm/auth.c @@ -33,9 +33,9 @@ #include "auth/kerberos/kerberos.h" #include "auth/kerberos/kerberos_util.h" -static NTSTATUS auth_generate_session_info_wrapper(TALLOC_CTX *mem_ctx, - struct auth4_context *auth_context, - void *server_returned_info, +static NTSTATUS auth_generate_session_info_wrapper(struct auth4_context *auth_context, + TALLOC_CTX *mem_ctx, + void *server_returned_info, const char *original_user_name, uint32_t session_info_flags, struct auth_session_info **session_info); @@ -139,7 +139,7 @@ static NTSTATUS auth_generate_session_info_principal(struct auth4_context *auth_ return nt_status; } - nt_status = auth_generate_session_info_wrapper(mem_ctx, auth_ctx, + nt_status = auth_generate_session_info_wrapper(auth_ctx, mem_ctx, user_info_dc, user_info_dc->info->account_name, session_info_flags, session_info); @@ -465,8 +465,8 @@ _PUBLIC_ NTSTATUS auth_check_password_recv(struct tevent_req *req, * know that session_info is generated from the main ldb, and because * we need to break a depenency loop between the DCE/RPC layer and the * generation of unix tokens via IRPC */ -static NTSTATUS auth_generate_session_info_wrapper(TALLOC_CTX *mem_ctx, - struct auth4_context *auth_context, +static NTSTATUS auth_generate_session_info_wrapper(struct auth4_context *auth_context, + TALLOC_CTX *mem_ctx, void *server_returned_info, const char *original_user_name, uint32_t session_info_flags, @@ -543,7 +543,7 @@ static NTSTATUS auth_generate_session_info_pac(struct auth4_context *auth_ctx, session_info_flags |= AUTH_SESSION_INFO_AUTHENTICATED; } - status = auth_generate_session_info_wrapper(mem_ctx, auth_ctx, + status = auth_generate_session_info_wrapper(auth_ctx, mem_ctx, user_info_dc, user_info_dc->info->account_name, session_info_flags, session_info); diff --git a/source4/auth/ntlm/auth_simple.c b/source4/auth/ntlm/auth_simple.c index 2e69991..f6dd9d0 100644 --- a/source4/auth/ntlm/auth_simple.c +++ b/source4/auth/ntlm/auth_simple.c @@ -94,7 +94,8 @@ _PUBLIC_ NTSTATUS authenticate_username_pw(TALLOC_CTX *mem_ctx, if (user_info_dc->info->authenticated) { flags |= AUTH_SESSION_INFO_AUTHENTICATED; } - nt_status = auth_context->generate_session_info(tmp_ctx, auth_context, + nt_status = auth_context->generate_session_info(auth_context, + tmp_ctx, user_info_dc, nt4_username, flags, diff --git a/source4/smb_server/smb/sesssetup.c b/source4/smb_server/smb/sesssetup.c index 2943747..57460fa 100644 --- a/source4/smb_server/smb/sesssetup.c +++ b/source4/smb_server/smb/sesssetup.c @@ -83,8 +83,8 @@ static void sesssetup_old_send(struct tevent_req *subreq) flags |= AUTH_SESSION_INFO_AUTHENTICATED; } /* This references user_info_dc into session_info */ - status = req->smb_conn->negotiate.auth_context->generate_session_info(req, - req->smb_conn->negotiate.auth_context, + status = req->smb_conn->negotiate.auth_context->generate_session_info(req->smb_conn->negotiate.auth_context, + req, user_info_dc, sess->old.in.user, flags, &session_info); if (!NT_STATUS_IS_OK(status)) goto failed; @@ -215,8 +215,8 @@ static void sesssetup_nt1_send(struct tevent_req *subreq) flags |= AUTH_SESSION_INFO_AUTHENTICATED; } /* This references user_info_dc into session_info */ - status = state->auth_context->generate_session_info(req, - state->auth_context, + status = state->auth_context->generate_session_info(state->auth_context, + req, user_info_dc, sess->nt1.in.user, flags, -- Samba Shared Repository