diff -Nur --no-dereference smeserver-shared-folders-0.3.old/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/90e-smithAccess50shares smeserver-shared-folders-0.3/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/90e-smithAccess50shares
--- smeserver-shared-folders-0.3.old/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/90e-smithAccess50shares 2022-07-25 02:05:42.911000000 -0400
+++ smeserver-shared-folders-0.3/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/90e-smithAccess50shares 2022-07-25 02:50:54.087000000 -0400
@@ -11,10 +11,14 @@
my $key = $share->key;
my $allow;
+ my $allow24;
my $pass;
my $satisfy;
+ my $satisfy24begin;
+ my $satisfy24end;
my $davreaders;
my $davwallow = '';
+ my $davwallow24 = '';
my $webdav = (($properties{'WebDav'} || 'disabled') =~ m/^(enabled|on|yes)$/i) ? 1 : 0;
# Find which users have read or write access
@@ -65,33 +69,49 @@
if ($properties{'httpAccess'}) {
if ($properties{'httpAccess'} eq 'local') {
$allow = "$localAccess $externalSSLAccess";
+ $allow24 = "ip $localAccess $externalSSLAccess";
$pass = 0;
$satisfy = 'all';
+ $satisfy24begin = "";
+ $satisfy24end = "";
$davreaders = '';
}
elsif ($properties{'httpAccess'} eq 'local-pw') {
$allow = "$localAccess $externalSSLAccess";
+ $allow24 = "ip $localAccess $externalSSLAccess";
$pass = 1;
$satisfy = 'all';
+ $satisfy24begin = "";
+ $satisfy24end = "";
$davreaders = "Require user $readers";
}
elsif ($properties{'httpAccess'} eq 'global') {
$allow = 'all';
+ $allow24 = "all granted";
$pass = 0;
$satisfy = 'all';
+ $satisfy24begin = "";
+ $satisfy24end = "";
$davreaders = '';
}
elsif ($properties{'httpAccess'} eq 'global-pw') {
$allow = 'all';
+ $allow24 = "all granted";
$pass = 1;
$satisfy = 'all';
+ $satisfy24begin = "";
+ $satisfy24end = "";
$davreaders = "Require user $readers";
}
elsif ($properties{'httpAccess'} eq 'global-pw-remote') {
$allow = "$localAccess $externalSSLAccess";
+ $allow24 = "ip $localAccess $externalSSLAccess";
$davwallow = 'all';
+ $davwallow24 = "all granted";
$pass = 1;
$satisfy = 'any';
+ $satisfy24begin = "";
+ $satisfy24end = "";
$davreaders = "Require user $readers";
}
else {
@@ -99,6 +119,7 @@
}
}
$davwallow = $allow if ($davwallow eq '');
+ $davwallow24 = $allow24 if ($davwallow24 eq '');
my $allowOverride = $properties{'AllowOverride'} || "None";
my $followSymLinks = $properties{'FollowSymLinks'} || "disabled";
my $indexes = $properties{'Indexes'} || "enabled";
@@ -152,26 +173,41 @@
$OUT .= " DirectoryIndex index.shtml index.htm index.html\n";
$OUT .= " Options +IncludesNOEXEC\n";
$OUT .= " \n";
+ $OUT .= " \n";
$OUT .= " order deny,allow\n";
$OUT .= " Deny from all\n";
+ $OUT .= " \n";
+ $OUT .= " \n";
+ $OUT .= " Require all denied\n";
+ $OUT .= " \n";
$OUT .= " \n";
}
$OUT .= " AllowOverride $allowOverride\n";
unless ($webdav){
- $OUT .=<<"HERE";
- order deny,allow
- deny from all
- allow from $allow
-HERE
+ $OUT .= " \n";
+ $OUT .= " order deny,allow\n";
+ $OUT .= " deny from all\n";
+ $OUT .= " allow from $allow\n";
+ $OUT .= " \n";
+ $OUT .= " \n";
+ $OUT .= " $satisfy24begin\n";
+ $OUT .= " require user $readers\n" if ($pass);
+ $OUT .= " Require $allow24\n";
+ $OUT .= " $satisfy24end\n";
+ $OUT .= " \n";
}
if ($pass || $webdav) {
$OUT .= " AuthName \"$properties{'Name'}\"\n";
$OUT .= " AuthType Basic\n";
$OUT .= " AuthExternal pwauth\n";
$OUT .= " AuthBasicProvider external\n";
- $OUT .= " require user $readers\n" unless ($webdav);
- $OUT .= " Satisfy $satisfy\n" unless ($webdav);
+ $OUT .= " \n" unless ($webdav);
+ $OUT .= " require user $readers\n" unless ($webdav);
+ $OUT .= " Satisfy $satisfy\n" unless ($webdav);
+ $OUT .= " \n" unless ($webdav);
+
+
}
# WebDav is enabled only when auth is required
if ($webdav) {
@@ -180,19 +216,35 @@
Dav on
# Read only access
+
order deny,allow
deny from all
allow from $allow
$davreaders
Satisfy $satisfy
+
+
+ $satisfy24begin
+ Require $allow24
+ $davreaders
+ $satisfy24end
+
# Write access through webdav always requires authentication
+
order deny,allow
deny from all
allow from $davwallow
Require user $writers
Satisfy all
+
+
+
+ Require $davwallow
+ Require user $writers
+
+
HERE
@@ -206,8 +258,13 @@
}
else {
$OUT .= "\n";
- $OUT .= " order deny,allow\n";
- $OUT .= " Deny from all\n";
+ $OUT .= " \n";
+ $OUT .= " order deny,allow\n";
+ $OUT .= " Deny from all\n";
+ $OUT .= " \n";
+ $OUT .= " \n";
+ $OUT .= " Require all denied\n";
+ $OUT .= " \n";
$OUT .= "\n";
}
}