diff -c plexus/VERSION:2.19 plexus/VERSION:2.20
*** plexus/VERSION:2.19 Wed Dec 7 17:51:16 1994
--- plexus/VERSION Wed Dec 7 17:51:16 1994
***************
*** 1 ****
! Plexus Version 3.0n
--- 1 ----
! Plexus Version 3.0o
diff -c plexus/access/access-filter.pl:1.7 plexus/access/access-filter.pl:1.8
*** plexus/access/access-filter.pl:1.7 Wed Dec 7 17:51:17 1994
--- plexus/access/access-filter.pl Wed Dec 7 17:51:17 1994
***************
*** 109,131 ****
$pat = '*/' . $pat unless $pat =~ m#^[\/\*]#;
$pat =~ s#^/##;
local($host, $methods, $users, $groups) = ('*', '*', '*', '');
! if ($spec[0] eq 'domain') {
! shift @spec; $host = shift @spec;
! $host =~ y/A-Z/a-z/; # lower case
! $host =~ s/\.+$//; # remove trailing .'s
! $host .= 'd';
! } elsif ($spec[0] eq 'ip') {
! shift @spec; $host = shift @spec;
! local($addr,$mask) = (split('/',$host));
! $addr = pack("C4", (split('\.',$addr)));
! $mask = pack("C4", (split('\.',$mask||'255.255.255.255')));
! $host = $addr . $mask . 'a';
! } elsif ($spec[0] eq 'methods') {
! shift @spec; $methods = shift @spec;
! } elsif ($spec[0] eq 'users') {
! shift @spec; $users = shift @spec;
! } elsif ($spec[0] eq 'groups') {
! shift @spec; $groups = shift @spec;
}
push(@lines, join('',
&main'globpat($pat), "\377",
--- 109,133 ----
$pat = '*/' . $pat unless $pat =~ m#^[\/\*]#;
$pat =~ s#^/##;
local($host, $methods, $users, $groups) = ('*', '*', '*', '');
! while ($spec[0]) {
! if ($spec[0] eq 'domain') {
! shift @spec; $host = shift @spec;
! $host =~ y/A-Z/a-z/; # lower case
! $host =~ s/\.+$//; # remove trailing .'s
! $host .= 'd';
! } elsif ($spec[0] eq 'ip') {
! shift @spec; $host = shift @spec;
! local($addr,$mask) = (split('/',$host));
! $addr = pack("C4", (split('\.',$addr)));
! $mask = pack("C4", (split('\.',$mask||'255.255.255.255')));
! $host = $addr . $mask . 'a';
! } elsif ($spec[0] eq 'methods') {
! shift @spec; $methods = shift @spec;
! } elsif ($spec[0] eq 'users') {
! shift @spec; $users = shift @spec;
! } elsif ($spec[0] eq 'groups') {
! shift @spec; $groups = shift @spec;
! }
}
push(@lines, join('',
&main'globpat($pat), "\377",
diff -c plexus/doc/Upgrade.html:2.2 plexus/doc/Upgrade.html:2.3
*** plexus/doc/Upgrade.html:2.2 Wed Dec 7 17:51:21 1994
--- plexus/doc/Upgrade.html Wed Dec 7 17:51:21 1994
***************
*** 18,31 ****
The main thing you need to worry about is that incoming path names are no
longer filtered for special characters. There is a new routine called
! &main'safeopen that can
be used to open files with names derived from user data. The rest shouldn't
affect code in the gateway itself (unless you want to use the new query
facilities to preprocess the query data).
&main'safeopen("package'FH", $file);
to open files (it works just like open but always opens
$file for read-only). Of course, if you open files that
are defined within your program then there is no danger as always.
--- 18,31 ----
The main thing you need to worry about is that incoming path names are no
longer filtered for special characters. There is a new routine called
! &main'safeopen that can
be used to open files with names derived from user data. The rest shouldn't
affect code in the gateway itself (unless you want to use the new query
facilities to preprocess the query data).
&main'safeopen("package'FH", $file);
to open files (it works just like open but always opens
$file for read-only). Of course, if you open files that
are defined within your program then there is no danger as always.
***************
*** 34,42 ****
$pstring = &main'printable($string) converts binary data
to a printable string for using in the document itself and
! @fields = &main'splitquery($query); which splits the
query on ``+'' and converts the %## escapes to data (which means
that you must be careful using $query data, as always).
$pstring = &main'printable($string) converts binary data
to a printable string for using in the document itself and
! @fields = &main'splitquery($query); which splits the
query on ``+'' and converts the %## escapes to data (which means
that you must be careful using $query data, as always).
search.pl when
ever you have a small amount of data that you would like to allow full
regular expression searches on. Just add a map for the base directory in
! the config file that points to &do_search like the example
in the distributed local.conf config file.
For example:
--- 11,17 ----
HREF="/server/search.pl">search.pl when
ever you have a small amount of data that you would like to allow full
regular expression searches on. Just add a map for the base directory in
! the config file that points to &do_search like the example
in the distributed local.conf config file.
For example: diff -c plexus/doc/web-info.html:2.13 plexus/doc/web-info.html:2.14 *** plexus/doc/web-info.html:2.13 Wed Dec 7 17:51:22 1994 --- plexus/doc/web-info.html Wed Dec 7 17:51:22 1994 *************** *** 35,41 ****