diff -Nur -x '*.orig' -x '*.rej' smeserver-shared-folders-0.1/root/etc/e-smith/locale/en-us/etc/e-smith/web/functions/shares mezzanine_patched_smeserver-shared-folders-0.1/root/etc/e-smith/locale/en-us/etc/e-smith/web/functions/shares
--- smeserver-shared-folders-0.1/root/etc/e-smith/locale/en-us/etc/e-smith/web/functions/shares 2010-11-26 12:19:35.000000000 +0100
+++ mezzanine_patched_smeserver-shared-folders-0.1/root/etc/e-smith/locale/en-us/etc/e-smith/web/functions/shares 2010-11-26 12:19:33.000000000 +0100
@@ -195,6 +195,13 @@
+ LABEL_WEBDAV
+
+ WebDav support
+
+
+
+
LABEL_REQUIRE_SSL
Force secure connections
diff -Nur -x '*.orig' -x '*.rej' smeserver-shared-folders-0.1/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/90e-smithAccess50shares mezzanine_patched_smeserver-shared-folders-0.1/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/90e-smithAccess50shares
--- smeserver-shared-folders-0.1/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/90e-smithAccess50shares 2010-11-26 12:19:35.000000000 +0100
+++ mezzanine_patched_smeserver-shared-folders-0.1/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/90e-smithAccess50shares 2010-11-26 12:14:07.000000000 +0100
@@ -14,6 +14,7 @@
my $allow;
my $pass;
my $satisfy;
+ my $webdav = ($properties{'WebDav'} =~ m/^(enabled|on|yes)$/i) ? 1 : 0;
# Find which users has at least read access
my @users = ('admin');
@@ -23,7 +24,7 @@
foreach my $group (@groups) {
my $members = $adb->get_prop($group, 'Members') || "";
if (length($members) > 0) {
- push @users, split (/[;,]/, $members);
+ push @writers, split (/[;,]/, $members);
}
}
@@ -34,16 +35,17 @@
foreach my $group (@groups) {
my $members = $adb->get_prop($group, 'Members') || "";
if (length($members) > 0) {
- push @users, split (/[;,]/, $members);
+ push @readers, split (/[;,]/, $members);
}
}
}
my %seen = ();
- my @unique = sort (grep { ! $seen{ $_ }++ } @users);
+ my @readers = sort (grep { ! $seen{ $_ }++ } (@readers,@writers));
- my $users = join(" ", @unique) || '';
+ my $readers = join(" ", @readers) || '';
+ my $writers = join(" ", @writers) || '';
if ($properties{'httpAccess'})
{
@@ -52,6 +54,7 @@
$allow = "$localAccess $externalSSLAccess";
$pass = 0;
$satisfy = 'all';
+ $webdav = 0;
}
elsif ($properties{'httpAccess'} eq 'local-pw')
{
@@ -64,6 +67,7 @@
$allow = 'all';
$pass = 0;
$satisfy = 'all';
+ $webdav = 0;
}
elsif ($properties{'httpAccess'} eq 'global-pw')
{
@@ -76,6 +80,7 @@
$allow = "$localAccess $externalSSLAccess";
$pass = 1;
$satisfy = 'any';
+ $webdav = 0;
}
else{
next;
@@ -132,10 +137,24 @@
$OUT .= " AuthName \"$properties{'Name'}\"\n";
$OUT .= " AuthType Basic\n";
$OUT .= " AuthExternal pwauth\n";
- $OUT .= " require user $users\n";
+ $OUT .= " require user $readers\n" unless ($webdav);
$OUT .= " Satisfy $satisfy\n";
}
+ # WebDav is enabled only when auth is required
+ if ($webdav)
+ {
+ $OUT .=<<"HERE";
+
+ Dav on
+
+ Require user $readers
+
+
+ Require user $writers
+
+HERE
+ }
$OUT .= "\n";
if ($dynamicContent eq 'enabled'){
$OUT .= "\n";
diff -Nur -x '*.orig' -x '*.rej' smeserver-shared-folders-0.1/root/etc/e-smith/web/functions/shares mezzanine_patched_smeserver-shared-folders-0.1/root/etc/e-smith/web/functions/shares
--- smeserver-shared-folders-0.1/root/etc/e-smith/web/functions/shares 2010-11-26 12:19:35.000000000 +0100
+++ mezzanine_patched_smeserver-shared-folders-0.1/root/etc/e-smith/web/functions/shares 2010-11-26 12:15:09.000000000 +0100
@@ -92,6 +92,10 @@
+
+
+
+
diff -Nur -x '*.orig' -x '*.rej' smeserver-shared-folders-0.1/root/usr/lib/perl5/site_perl/esmith/FormMagick/Panel/shares.pm mezzanine_patched_smeserver-shared-folders-0.1/root/usr/lib/perl5/site_perl/esmith/FormMagick/Panel/shares.pm
--- smeserver-shared-folders-0.1/root/usr/lib/perl5/site_perl/esmith/FormMagick/Panel/shares.pm 2010-11-26 12:19:35.000000000 +0100
+++ mezzanine_patched_smeserver-shared-folders-0.1/root/usr/lib/perl5/site_perl/esmith/FormMagick/Panel/shares.pm 2010-11-26 12:17:48.000000000 +0100
@@ -178,6 +178,7 @@
$q->param(-name=>'smbaccess',-value=>'browseable');
$q->param(-name=>'recyclebin',-value=>'disabled');
$q->param(-name=>'httpaccess',-value=>'none');
+ $q->param(-name=>'webdav',-value=>'disabled');
$q->param(-name=>'requireSSL',-value=>'disabled');
$q->param(-name=>'indexes',-value=>'disabled');
$q->param(-name=>'dynamic',-value=>'disabled');
@@ -212,6 +213,8 @@
($rec->prop('RecycleBin') || 'disabled'));
$q->param(-name=>'httpaccess',-value=>
($rec->prop('httpAccess') || 'none'));
+ $q->param(-name=>'webdav',-value=>
+ ($rec->prop('WebDav') || 'disabled'));
$q->param(-name=>'requireSSL',-value=>
($rec->prop('RequireSSL') || 'enabled'));
$q->param(-name=>'indexes',-value=>
@@ -460,6 +463,7 @@
RecycleBin => $self->cgi->param('recyclebin'),
smbAccess => $self->cgi->param('smbaccess'),
httpAccess => $self->cgi->param('httpaccess'),
+ WebDav => $self->cgi->param('webdav'),
RequireSSL => $self->cgi->param('requireSSL'),
Indexes => $self->cgi->param('indexes'),
DynamicContent => $self->cgi->param('dynamic'),
@@ -507,6 +511,7 @@
RecycleBin => $self->cgi->param('recyclebin'),
smbAccess => $self->cgi->param('smbaccess'),
httpAccess => $self->cgi->param('httpaccess'),
+ WebDav => $self->cgi->param('webdav'),
RequireSSL => $self->cgi->param('requireSSL'),
Indexes => $self->cgi->param('indexes'),
DynamicContent => $self->cgi->param('dynamic'),