/[smecontribs]/rpms/smeserver-shared-folders/contribs10/smeserver-shared-folders-0.3-bz12060-httpd24.patch
ViewVC logotype

Annotation of /rpms/smeserver-shared-folders/contribs10/smeserver-shared-folders-0.3-bz12060-httpd24.patch

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.1 - (hide annotations) (download)
Mon Jul 25 06:53:11 2022 UTC (2 years, 4 months ago) by jpp
Branch: MAIN
CVS Tags: smeserver-shared-folders-0_3-17_el7_sme
* Mon Jul 25 2022 Jean-Philippe Pialasse <tests@pialasse.com> 0.3-17.sme
- update to httpd 2.4 access syntax [SME: 12060]

1 jpp 1.1 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
2     --- 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
3     +++ 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
4     @@ -11,10 +11,14 @@
5     my $key = $share->key;
6    
7     my $allow;
8     + my $allow24;
9     my $pass;
10     my $satisfy;
11     + my $satisfy24begin;
12     + my $satisfy24end;
13     my $davreaders;
14     my $davwallow = '';
15     + my $davwallow24 = '';
16     my $webdav = (($properties{'WebDav'} || 'disabled') =~ m/^(enabled|on|yes)$/i) ? 1 : 0;
17    
18     # Find which users have read or write access
19     @@ -65,33 +69,49 @@
20     if ($properties{'httpAccess'}) {
21     if ($properties{'httpAccess'} eq 'local') {
22     $allow = "$localAccess $externalSSLAccess";
23     + $allow24 = "ip $localAccess $externalSSLAccess";
24     $pass = 0;
25     $satisfy = 'all';
26     + $satisfy24begin = "<RequireAll>";
27     + $satisfy24end = "</RequireAll>";
28     $davreaders = '';
29     }
30     elsif ($properties{'httpAccess'} eq 'local-pw') {
31     $allow = "$localAccess $externalSSLAccess";
32     + $allow24 = "ip $localAccess $externalSSLAccess";
33     $pass = 1;
34     $satisfy = 'all';
35     + $satisfy24begin = "<RequireAll>";
36     + $satisfy24end = "</RequireAll>";
37     $davreaders = "Require user $readers";
38     }
39     elsif ($properties{'httpAccess'} eq 'global') {
40     $allow = 'all';
41     + $allow24 = "all granted";
42     $pass = 0;
43     $satisfy = 'all';
44     + $satisfy24begin = "<RequireAll>";
45     + $satisfy24end = "</RequireAll>";
46     $davreaders = '';
47     }
48     elsif ($properties{'httpAccess'} eq 'global-pw') {
49     $allow = 'all';
50     + $allow24 = "all granted";
51     $pass = 1;
52     $satisfy = 'all';
53     + $satisfy24begin = "<RequireAll>";
54     + $satisfy24end = "</RequireAll>";
55     $davreaders = "Require user $readers";
56     }
57     elsif ($properties{'httpAccess'} eq 'global-pw-remote') {
58     $allow = "$localAccess $externalSSLAccess";
59     + $allow24 = "ip $localAccess $externalSSLAccess";
60     $davwallow = 'all';
61     + $davwallow24 = "all granted";
62     $pass = 1;
63     $satisfy = 'any';
64     + $satisfy24begin = "<RequireAny>";
65     + $satisfy24end = "</RequireAny>";
66     $davreaders = "Require user $readers";
67     }
68     else {
69     @@ -99,6 +119,7 @@
70     }
71     }
72     $davwallow = $allow if ($davwallow eq '');
73     + $davwallow24 = $allow24 if ($davwallow24 eq '');
74     my $allowOverride = $properties{'AllowOverride'} || "None";
75     my $followSymLinks = $properties{'FollowSymLinks'} || "disabled";
76     my $indexes = $properties{'Indexes'} || "enabled";
77     @@ -152,26 +173,41 @@
78     $OUT .= " DirectoryIndex index.shtml index.htm index.html\n";
79     $OUT .= " Options +IncludesNOEXEC\n";
80     $OUT .= " <FilesMatch \"\\.(php|php3|phtml|cgi|pl)\$\">\n";
81     + $OUT .= " <IfModule mod_access_compat.c>\n";
82     $OUT .= " order deny,allow\n";
83     $OUT .= " Deny from all\n";
84     + $OUT .= " </IfModule>\n";
85     + $OUT .= " <IfModule !mod_access_compat.c>\n";
86     + $OUT .= " Require all denied\n";
87     + $OUT .= " </IfModule>\n";
88     $OUT .= " </FilesMatch>\n";
89     }
90    
91     $OUT .= " AllowOverride $allowOverride\n";
92     unless ($webdav){
93     - $OUT .=<<"HERE";
94     - order deny,allow
95     - deny from all
96     - allow from $allow
97     -HERE
98     + $OUT .= " <IfModule mod_access_compat.c>\n";
99     + $OUT .= " order deny,allow\n";
100     + $OUT .= " deny from all\n";
101     + $OUT .= " allow from $allow\n";
102     + $OUT .= " </IfModule>\n";
103     + $OUT .= " <IfModule !mod_access_compat.c>\n";
104     + $OUT .= " $satisfy24begin\n";
105     + $OUT .= " require user $readers\n" if ($pass);
106     + $OUT .= " Require $allow24\n";
107     + $OUT .= " $satisfy24end\n";
108     + $OUT .= " </IfModule>\n";
109     }
110     if ($pass || $webdav) {
111     $OUT .= " AuthName \"$properties{'Name'}\"\n";
112     $OUT .= " AuthType Basic\n";
113     $OUT .= " AuthExternal pwauth\n";
114     $OUT .= " AuthBasicProvider external\n";
115     - $OUT .= " require user $readers\n" unless ($webdav);
116     - $OUT .= " Satisfy $satisfy\n" unless ($webdav);
117     + $OUT .= " <IfModule mod_access_compat.c>\n" unless ($webdav);
118     + $OUT .= " require user $readers\n" unless ($webdav);
119     + $OUT .= " Satisfy $satisfy\n" unless ($webdav);
120     + $OUT .= " </IfModule>\n" unless ($webdav);
121     +
122     +
123     }
124     # WebDav is enabled only when auth is required
125     if ($webdav) {
126     @@ -180,19 +216,35 @@
127     Dav on
128     # Read only access
129     <Limit GET PROPFIND OPTIONS LOCK UNLOCK REPORT>
130     + <IfModule mod_access_compat.c>
131     order deny,allow
132     deny from all
133     allow from $allow
134     $davreaders
135     Satisfy $satisfy
136     + </IfModule>
137     + <IfModule !mod_access_compat.c>
138     + $satisfy24begin
139     + Require $allow24
140     + $davreaders
141     + $satisfy24end
142     + </IfModule>
143     </Limit>
144     # Write access through webdav always requires authentication
145     <LimitExcept GET PROPFIND OPTIONS LOCK UNLOCK REPORT>
146     + <IfModule mod_access_compat.c>
147     order deny,allow
148     deny from all
149     allow from $davwallow
150     Require user $writers
151     Satisfy all
152     + </IfModule>
153     + <IfModule !mod_access_compat.c>
154     + <RequireAll>
155     + Require $davwallow
156     + Require user $writers
157     + </RequireAll>
158     + </IfModule>
159     </LimitExcept>
160    
161     HERE
162     @@ -206,8 +258,13 @@
163     }
164     else {
165     $OUT .= "<DirectoryMatch /home/e-smith/files/shares/$key/files/cgi-bin>\n";
166     - $OUT .= " order deny,allow\n";
167     - $OUT .= " Deny from all\n";
168     + $OUT .= " <IfModule mod_access_compat.c>\n";
169     + $OUT .= " order deny,allow\n";
170     + $OUT .= " Deny from all\n";
171     + $OUT .= " </IfModule>\n";
172     + $OUT .= " <IfModule !mod_access_compat.c>\n";
173     + $OUT .= " Require all denied\n";
174     + $OUT .= " </IfModule>\n";
175     $OUT .= "</DirectoryMatch>\n";
176     }
177     }

admin@koozali.org
ViewVC Help
Powered by ViewVC 1.2.1 RSS 2.0 feed