summaryrefslogtreecommitdiff
path: root/selftest
diff options
context:
space:
mode:
authorAndreas Schneider <asn@samba.org>2016-09-25 18:42:17 +0200
committerAndreas Schneider <asn@cryptomilk.org>2016-10-07 12:09:09 +0200
commitdadcfe9fca276f729917dbe893e8fc9f852e580b (patch)
tree059a3eabe5b53b4d19c710acadfb7456bc038195 /selftest
parent619ca5f63c47ff8b021692aaa756dcb0d883b8dd (diff)
downloadsamba-dadcfe9fca276f729917dbe893e8fc9f852e580b.tar.gz
selftest: Create a share with %D %U and %G substituion
Signed-off-by: Andreas Schneider <asn@samba.org> Reviewed-by: Ralph Boehme <slow@samba.org>
Diffstat (limited to 'selftest')
-rwxr-xr-xselftest/target/Samba3.pm25
1 files changed, 24 insertions, 1 deletions
diff --git a/selftest/target/Samba3.pm b/selftest/target/Samba3.pm
index d0dcdf1b7e1..3746d53bcc4 100755
--- a/selftest/target/Samba3.pm
+++ b/selftest/target/Samba3.pm
@@ -370,6 +370,9 @@ sub setup_admember($$$$)
{
my ($self, $prefix, $dcvars) = @_;
+ my $prefix_abs = abs_path($prefix);
+ my @dirs = ();
+
# If we didn't build with ADS, pretend this env was never available
if (not $self->have_ads()) {
return "UNKNOWN";
@@ -377,11 +380,30 @@ sub setup_admember($$$$)
print "PROVISIONING S3 AD MEMBER...";
+ mkdir($prefix_abs, 0777);
+
+ my $share_dir="$prefix_abs/share";
+ push(@dirs, $share_dir);
+
+ my $substitution_path = "$share_dir/D_SAMBADOMAIN";
+ push(@dirs, $substitution_path);
+
+ $substitution_path = "$share_dir/D_SAMBADOMAIN/U_alice";
+ push(@dirs, $substitution_path);
+
+ $substitution_path = "$share_dir/D_SAMBADOMAIN/U_alice/G_domain users";
+ push(@dirs, $substitution_path);
+
my $member_options = "
security = ads
workgroup = $dcvars->{DOMAIN}
realm = $dcvars->{REALM}
netbios aliases = foo bar
+
+[subDUG]
+ path = $share_dir/D_%D/U_%U/G_%G
+ writeable = yes
+
";
my $ret = $self->provision($prefix,
@@ -393,12 +415,13 @@ sub setup_admember($$$$)
$ret or return undef;
+ mkdir($_, 0777) foreach(@dirs);
+
close(USERMAP);
$ret->{DOMAIN} = $dcvars->{DOMAIN};
$ret->{REALM} = $dcvars->{REALM};
my $ctx;
- my $prefix_abs = abs_path($prefix);
$ctx = {};
$ctx->{krb5_conf} = "$prefix_abs/lib/krb5.conf";
$ctx->{domain} = $dcvars->{DOMAIN};