summaryrefslogtreecommitdiff
path: root/source3/utils
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2009-12-30 11:55:23 +0100
committerGünther Deschner <gd@samba.org>2010-03-24 17:34:54 +0100
commiteb1780981252f05c792a1e40b7d0471f5b670ef5 (patch)
tree66c246bbe420ed1f6bfe44a93cd5471cce39006c /source3/utils
parenteca118614c1431855c88b9f43457c0d2d6502ebe (diff)
downloadsamba-eb1780981252f05c792a1e40b7d0471f5b670ef5.tar.gz
samba-eb1780981252f05c792a1e40b7d0471f5b670ef5.tar.bz2
samba-eb1780981252f05c792a1e40b7d0471f5b670ef5.zip
s3:ntlmssp: pass names to ntlmssp_server_start() and store them in ntlmssp_state
Inspired by the NTLMSSP merge work by Andrew Bartlett. metze Signed-off-by: Günther Deschner <gd@samba.org>
Diffstat (limited to 'source3/utils')
-rw-r--r--source3/utils/ntlm_auth.c28
1 files changed, 27 insertions, 1 deletions
diff --git a/source3/utils/ntlm_auth.c b/source3/utils/ntlm_auth.c
index e018c28c30..487401b662 100644
--- a/source3/utils/ntlm_auth.c
+++ b/source3/utils/ntlm_auth.c
@@ -688,8 +688,34 @@ static NTSTATUS ntlm_auth_start_ntlmssp_client(struct ntlmssp_state **client_ntl
static NTSTATUS ntlm_auth_start_ntlmssp_server(struct ntlmssp_state **ntlmssp_state)
{
- NTSTATUS status = ntlmssp_server_start(ntlmssp_state);
+ NTSTATUS status;
+ const char *netbios_name;
+ const char *netbios_domain;
+ const char *dns_name;
+ char *dns_domain;
+ bool is_standalone = false;
+ if (opt_password) {
+ netbios_name = global_myname();
+ netbios_domain = lp_workgroup();
+ } else {
+ netbios_name = get_winbind_netbios_name();
+ netbios_domain = get_winbind_domain();
+ }
+ /* This should be a 'netbios domain -> DNS domain' mapping */
+ dns_domain = get_mydnsdomname(talloc_tos());
+ if (dns_domain) {
+ strlower_m(dns_domain);
+ }
+ dns_name = get_mydnsfullname();
+
+ status = ntlmssp_server_start(NULL,
+ is_standalone,
+ netbios_name,
+ netbios_domain,
+ dns_name,
+ dns_domain,
+ ntlmssp_state);
if (!NT_STATUS_IS_OK(status)) {
DEBUG(1, ("Could not start NTLMSSP server: %s\n",
nt_errstr(status)));