diff options
author | Andrew Bartlett <abartlet@samba.org> | 2011-05-08 06:55:33 +0200 |
---|---|---|
committer | Andrew Bartlett <abartlet@samba.org> | 2011-05-08 19:00:28 +0200 |
commit | eae061293bad97e6e70526b4e755ca69c02d0ae9 (patch) | |
tree | 18ea9d52eae39c9df4fcd46b1d700d345ef03401 /selftest/target/Samba3.pm | |
parent | f52c6eeacc1131fca6656d07eca035668423b008 (diff) | |
download | samba-eae061293bad97e6e70526b4e755ca69c02d0ae9.tar.gz samba-eae061293bad97e6e70526b4e755ca69c02d0ae9.tar.bz2 samba-eae061293bad97e6e70526b4e755ca69c02d0ae9.zip |
selftest: Add plugin_s4_dc environment
This environment uses pdb_samba4 and auth_samba4 to plug these
critical subsystems into a mixed Samba3/Samba4 DC, in a similar way to
the 'Franky' proposal.
Andrew Barltett
Diffstat (limited to 'selftest/target/Samba3.pm')
-rw-r--r-- | selftest/target/Samba3.pm | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/selftest/target/Samba3.pm b/selftest/target/Samba3.pm index a563653fb4..66ae8b5ec7 100644 --- a/selftest/target/Samba3.pm +++ b/selftest/target/Samba3.pm @@ -269,6 +269,56 @@ sub setup_admember($$$$) return $ret; } +sub setup_plugin_s4_dc($$$$) +{ + my ($self, $prefix, $dcvars, $iface) = @_; + + print "PROVISIONING S4 PLUGIN AD DC$iface..."; + + my $plugin_s4_dc_options = " + workgroup = $dcvars->{DOMAIN} + realm = $dcvars->{REALM} + security=ads + passdb backend = samba4 + auth methods = guest samba4 + domain logons = yes + rpc_server:lsarpc = external + rpc_server:netlogon = external + rpc_server:samr = external + server signing = on +"; + + my $ret = $self->provision($prefix, + "plugindc", + $iface, + "pluGin${iface}Pass", + $plugin_s4_dc_options); + + $ret or return undef; + + close(USERMAP); + $ret->{DOMAIN} = $dcvars->{DOMAIN}; + $ret->{REALM} = $dcvars->{REALM}; + $ret->{KRB5_CONFIG} = $dcvars->{KRB5_CONFIG}; + $ret->{DC_USERNAME} = $dcvars->{USERNAME}; + $ret->{DC_PASSWORD} = $dcvars->{PASSWORD}; + + # We need world access to this share, as otherwise the domain + # administrator from the AD domain provided by Samba4 can't + # access the share for tests. + chmod 0777, "$prefix/share"; + + $self->check_or_start($ret, + "no", "yes", "yes"); + + $self->wait_for_start($ret); + + # Special case, this is called from Samba4.pm but needs to use the Samba3 check_env and get_log_env + $ret->{target} = $self; + + return $ret; +} + sub setup_secshare($$) { my ($self, $path) = @_; |