1 |
diff -ruN e-smith-proftpd-2.2.0.old/root/etc/e-smith/templates/etc/proftpd.conf/00localAccess e-smith-proftpd-2.2.0/root/etc/e-smith/templates/etc/proftpd.conf/00localAccess |
2 |
--- e-smith-proftpd-2.2.0.old/root/etc/e-smith/templates/etc/proftpd.conf/00localAccess 2006-03-17 00:09:50.000000000 +0000 |
3 |
+++ e-smith-proftpd-2.2.0/root/etc/e-smith/templates/etc/proftpd.conf/00localAccess 2013-01-24 01:12:35.000000000 +0000 |
4 |
@@ -1,17 +1,9 @@ |
5 |
{ |
6 |
# Work out local access specification |
7 |
use esmith::NetworksDB; |
8 |
- use Net::IPv4Addr qw(ipv4_parse); |
9 |
|
10 |
my $ndb = esmith::NetworksDB->open_ro(); |
11 |
- my @local_access = $ndb->local_access_spec; |
12 |
- my @cidr_access = (); |
13 |
- foreach my $part (@local_access) |
14 |
- { |
15 |
- my $cidr = join '/', ipv4_parse($part); |
16 |
- push @cidr_access, $cidr; |
17 |
- } |
18 |
- $localAccess = join(', ', @cidr_access); |
19 |
+ @local_access = $ndb->local_access_spec; |
20 |
|
21 |
return ""; |
22 |
} |
23 |
diff -ruN e-smith-proftpd-2.2.0.old/root/etc/e-smith/templates/etc/proftpd.conf/15LimitLOGIN e-smith-proftpd-2.2.0/root/etc/e-smith/templates/etc/proftpd.conf/15LimitLOGIN |
24 |
--- e-smith-proftpd-2.2.0.old/root/etc/e-smith/templates/etc/proftpd.conf/15LimitLOGIN 2003-03-13 20:06:04.000000000 +0000 |
25 |
+++ e-smith-proftpd-2.2.0/root/etc/e-smith/templates/etc/proftpd.conf/15LimitLOGIN 2013-01-24 01:12:42.000000000 +0000 |
26 |
@@ -4,11 +4,19 @@ |
27 |
}<Limit LOGIN> |
28 |
{ |
29 |
my $access = $ftp{LoginAccess} || "private"; |
30 |
- $OUT = ($access eq 'public') ? |
31 |
- " AllowAll" |
32 |
- : |
33 |
- " Order Allow,Deny\n" . |
34 |
- " Allow from $localAccess\n" . |
35 |
- " Deny from all"; |
36 |
+ if ($access eq 'public') |
37 |
+ { |
38 |
+ $OUT = " AllowAll"; |
39 |
+ } |
40 |
+ else |
41 |
+ { |
42 |
+ use Net::IPv4Addr qw(ipv4_parse); |
43 |
+ |
44 |
+ $OUT = " Order Allow,Deny\n"; |
45 |
+ $OUT .= join "\n", |
46 |
+ map { " Allow from " . join '/', ipv4_parse($_) } |
47 |
+ @local_access; |
48 |
+ $OUT .= " Deny from all"; |
49 |
+ } |
50 |
} |
51 |
</Limit> |
52 |
diff -ruN e-smith-proftpd-2.2.0.old/root/etc/e-smith/templates/etc/proftpd.conf/60AnonymousIBay e-smith-proftpd-2.2.0/root/etc/e-smith/templates/etc/proftpd.conf/60AnonymousIBay |
53 |
--- e-smith-proftpd-2.2.0.old/root/etc/e-smith/templates/etc/proftpd.conf/60AnonymousIBay 2008-10-07 18:36:59.000000000 +0100 |
54 |
+++ e-smith-proftpd-2.2.0/root/etc/e-smith/templates/etc/proftpd.conf/60AnonymousIBay 2013-01-24 01:12:46.000000000 +0000 |
55 |
@@ -5,10 +5,13 @@ |
56 |
#------------------------------------------------------------ |
57 |
|
58 |
use esmith::AccountsDB; |
59 |
+ use Net::IPv4Addr qw(ipv4_parse); |
60 |
|
61 |
$OUT .= ""; |
62 |
|
63 |
my $adb = esmith::AccountsDB->open_ro(); |
64 |
+ my @local = map { join '/', ipv4_parse($_) } @local_access; |
65 |
+ my @all = ('all'); |
66 |
foreach my $ibay ($adb->ibays) |
67 |
{ |
68 |
my $key = $ibay->key; |
69 |
@@ -16,39 +19,38 @@ |
70 |
|
71 |
next if ($key eq "Primary"); |
72 |
|
73 |
- my $allow; |
74 |
my $pass; |
75 |
|
76 |
my $access = $ibay->prop('PublicAccess') || 'none'; |
77 |
|
78 |
if ($access eq 'none') |
79 |
{ |
80 |
- $allow = '127.0.0.1'; |
81 |
+ @allow = ('127.0.0.1'); |
82 |
$pass = 1; |
83 |
} |
84 |
elsif ($access eq 'local') |
85 |
{ |
86 |
- $allow = $localAccess; |
87 |
+ @allow = @local; |
88 |
$pass = 0; |
89 |
} |
90 |
elsif ($access eq 'local-pw') |
91 |
{ |
92 |
- $allow = $localAccess; |
93 |
+ @allow = @local; |
94 |
$pass = 1; |
95 |
} |
96 |
elsif ($access eq 'global') |
97 |
{ |
98 |
- $allow = 'all'; |
99 |
+ @allow = @all; |
100 |
$pass = 0; |
101 |
} |
102 |
elsif ($access eq 'global-pw') |
103 |
{ |
104 |
- $allow = 'all'; |
105 |
+ @allow = @all; |
106 |
$pass = 1; |
107 |
} |
108 |
elsif ($access eq 'global-pw-remote') |
109 |
{ |
110 |
- $allow = 'all'; |
111 |
+ @allow = @all; |
112 |
$pass = 1; |
113 |
} |
114 |
|
115 |
@@ -68,7 +70,7 @@ |
116 |
$OUT .= " DisplayChdir .message\n"; |
117 |
$OUT .= " <Limit LOGIN>\n"; |
118 |
$OUT .= " Order Allow,Deny\n"; |
119 |
- $OUT .= " Allow from $allow\n"; |
120 |
+ $OUT .= " Allow from $_\n" foreach @allow; |
121 |
$OUT .= " Deny from all\n"; |
122 |
$OUT .= " </Limit>\n"; |
123 |
$OUT .= " <Directory *>\n"; |