Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 560178 Details for
Bug 674772
www-apps/webdavcgi-1.1.1 with dev-lang/perl-5.26 - unescaped braces
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
fix unescaped braces in webdavcgi-1.1.1 for perl-5.26
webdavcgi-1.1-perl-5.26.patch (text/plain), 7.92 KB, created by
Alexander Weber
on 2019-01-07 11:31:36 UTC
(
hide
)
Description:
fix unescaped braces in webdavcgi-1.1.1 for perl-5.26
Filename:
MIME Type:
Creator:
Alexander Weber
Created:
2019-01-07 11:31:36 UTC
Size:
7.92 KB
patch
obsolete
>diff --git a/lib/perl/Requests/WebDAVRequest.pm b/lib/perl/Requests/WebDAVRequest.pm >index 8d5b89e6..2b6ea4d9 100644 >--- a/lib/perl/Requests/WebDAVRequest.pm >+++ b/lib/perl/Requests/WebDAVRequest.pm >@@ -134,7 +134,7 @@ sub get_prop_stat { > $fn .= $is_dir && $fn !~ /\/$/xms ? q{/} : q{}; > foreach my $prop ( @{$props} ) { > my ( $xmlnsuri, $propname ) = ( 'DAV:', $prop ); >- if ( $prop =~ /^{([^}]*)}(.*)$/xms ) { >+ if ( $prop =~ /^[{]([^}]*)[}](.*)$/xms ) { > ( $xmlnsuri, $propname ) = ( $1, $2 ); > } > >diff --git a/lib/perl/WebDAV/Properties.pm b/lib/perl/WebDAV/Properties.pm >index 2baf319b..a9ee2d73 100644 >--- a/lib/perl/WebDAV/Properties.pm >+++ b/lib/perl/WebDAV/Properties.pm >@@ -139,7 +139,7 @@ sub set_property { > my $rfn = $self->resolve($fn); > my $ru = $REQUEST_URI; > my ( $ns, $pn ); >- if ( $propname =~ /^{([^}]+)}(.*)$/xms ) { >+ if ( $propname =~ /^[{]([^}]+)[}](.*)$/xms ) { > ( $ns, $pn ) = ( $1, $2 ); > } > >@@ -186,7 +186,7 @@ sub set_property { > if ( $parref > && ref($parref) eq 'HASH' > && ( !${$parref}{xmlns} || ${$parref}{xmlns} eq q{} ) >- && $n !~ /^{[^}]*}/xms ) >+ && $n !~ /^[{][^}]*[}]/xms ) > { > $n = '{}' . $n; > } >diff --git a/lib/perl/WebDAV/XMLHelper.pm b/lib/perl/WebDAV/XMLHelper.pm >index 10ec2ceb..c8116927 100644 >--- a/lib/perl/WebDAV/XMLHelper.pm >+++ b/lib/perl/WebDAV/XMLHelper.pm >@@ -229,7 +229,7 @@ sub get_namespace_uri { > > sub nonamespace { > my ($prop) = @_; >- $prop =~ s/^{[^}]*}//xms; >+ $prop =~ s/^[{][^}]*[}]//xms; > return $prop; > } > >diff --git a/lib/perl/WebInterface/Extension/PropertiesViewer.pm b/lib/perl/WebInterface/Extension/PropertiesViewer.pm >index 2f6223e8..be7ba438 100644 >--- a/lib/perl/WebInterface/Extension/PropertiesViewer.pm >+++ b/lib/perl/WebInterface/Extension/PropertiesViewer.pm >@@ -157,7 +157,7 @@ sub _render_viewer { > my $title = create_xml( $r200{prop}, 1 ); > my $value = create_xml( $r200{prop}{$prop}, 1 ); > my $namespace = get_namespace_uri($prop); >- if ( $prop =~ /^{([^}]*)}/xms ) { >+ if ( $prop =~ /^[{]([^}]*)[}]/xms ) { > $namespace = $1; > } > push @bgstyleclasses, shift @bgstyleclasses; >diff --git a/lib/perl/WebInterface/View/Simple/RenderFileListTable.pm b/lib/perl/WebInterface/View/Simple/RenderFileListTable.pm >index 44cfd894..972d431f 100644 >--- a/lib/perl/WebInterface/View/Simple/RenderFileListTable.pm >+++ b/lib/perl/WebInterface/View/Simple/RenderFileListTable.pm >@@ -85,7 +85,7 @@ sub render_file_list_table { > unselectable => $self->is_unselectable($fn) ? 'yes' : 'no', > ); > $filelisttabletemplate =~ >- s/[\$]{?(\w+)}?/exists $stdvars{$1} && defined $stdvars{$1}?$stdvars{$1}:"\$$1"/xmegs; >+ s/[\$][{]?(\w+)[}]?/exists $stdvars{$1} && defined $stdvars{$1}?$stdvars{$1}:"\$$1"/xmegs; > my %jsondata = ( > content => $self->minify_html( > $self->render_template( $fn, $ru, $filelisttabletemplate ) >@@ -253,8 +253,8 @@ sub _render_file_list_entry { > my $displayname = $self->{cgi}->escapeHTML( $self->{backend}->getDisplayName($full) ); > my $now = $self->{c}{_render_file_list_entry}{now}{$lang} //= DateTime->now( locale => $lang ); > my $cct = $self->can_create_thumb($full); >- my $u = $self->{c}{_render_file_list_entry}{uid}{$uid // 'unknown'} //= $uid && $uid=~/^\d+$/xms ? scalar getpwuid( $uid ) : $uid ? $uid : 'unknown'; >- my $g = $self->{c}{_render_file_list_entry}{gid}{$gid // 'unknown'} //= $gid && $gid=~/^\d+$/xms ? scalar getgrgid( $gid ) : $gid ? $gid : 'unknown'; >+ my $u = $self->{c}{_render_file_list_entry}{uid}{$uid // 'unknown'} //= $uid && $uid=~/^\d+$/xms ? scalar getpwuid( $uid ) // $uid: $uid ? $uid : 'unknown'; >+ my $g = $self->{c}{_render_file_list_entry}{gid}{$gid // 'unknown'} //= $gid && $gid=~/^\d+$/xms ? scalar getgrgid( $gid ) // $gid: $gid ? $gid : 'unknown'; > my $icon = $self->{c}{_render_file_list_entry}{icon}{$mime} > //= $self->get_icon($mime); > my $enthumb = $self->{c}{_render_file_list_entry}{cookie}{thumbnails} > > >diff --git a/lib/perl/WebInterface/Common.pm b/lib/perl/WebInterface/Common.pm >--- a/lib/perl/WebInterface/Common.pm >+++ b/lib/perl/WebInterface/Common.pm >@@ -212,24 +212,24 @@ > sub replace_vars { > my ( $self, $t, $v ) = @_; > my $lt = localtime; >- $t =~ s/\${?NOW}?/strftime $self->tl('varnowformat'),$lt/exmsg; >- $t =~ s/\${?TIME}?/strftime $self->tl('vartimeformat'), $lt/exmsg; >- $t =~ s/\${?USER}?/$REMOTE_USER/xmsg; >- $t =~ s/\${?REQUEST_URI}?/$REQUEST_URI/xmsg; >- $t =~ s/\${?PATH_TRANSLATED}?/$PATH_TRANSLATED/xmsg; >- $t =~ s/\${?ENV{([^}]+?)}}?/$ENV{$1}/exmsg; >+ $t =~ s/\$[{]?NOW[}]?/strftime $self->tl('varnowformat'),$lt/exmsg; >+ $t =~ s/\$[{]?TIME[}]?/strftime $self->tl('vartimeformat'), $lt/exmsg; >+ $t =~ s/\$[{]?USER[}]?/$REMOTE_USER/xmsg; >+ $t =~ s/\$[{]?REQUEST_URI[}]?/$REQUEST_URI/xmsg; >+ $t =~ s/\$[{]?PATH_TRANSLATED[}]?/$PATH_TRANSLATED/xmsg; >+ $t =~ s/\$[{]?ENV[{]([^}]+?)[}][}]?/$ENV{$1}/exmsg; > my $clockfmt = $self->tl('vartimeformat'); > $t =~ >-s{\${?CLOCK}?}{<span id="clock"></span><script>startClock('clock','$clockfmt');</script>}xmsg; >- $t =~ s/\${?LANG}?/$LANG/xmsg; >- $t =~ s/\${?TL{([^}]+)}}?/$self->tl($1)/exmsg; >+s{\$[{]?CLOCK[}]?}{<span id="clock"></span><script>startClock('clock','$clockfmt');</script>}xmsg; >+ $t =~ s/\$[{]?LANG[}]?/$LANG/xmsg; >+ $t =~ s/\$[{]?TL[{]([^}]+)[}][}]?/$self->tl($1)/exmsg; > my $vbase = $self->get_vbase(); >- $t =~ s/\${?VBASE}?/$vbase/xmsg; >- $t =~ s/\${?VHTDOCS}?/$vbase$VHTDOCS/xmsg; >+ $t =~ s/\$[{]?VBASE[}]?/$vbase/xmsg; >+ $t =~ s/\$[{]?VHTDOCS[}]?/$vbase$VHTDOCS/xmsg; > > if ($v) { > $t =~ s{\$\[(\w+)\]}{ $$v{$1} // "\$$1"}exmsg; >- $t =~ s{\${?(\w+)}?}{ $$v{$1} // "\$$1"}exmsg; >+ $t =~ s{\$[{]?(\w+)[}]?}{ $$v{$1} // "\$$1"}exmsg; > } > return $t; > } >@@ -548,9 +548,9 @@ > next if defined $filter && $hashref->{$key} =~ $filter; > my $t = $tmpl; > $t =~ s/\$k/$key/xmsg; >- $t =~ s/\${k}/$key/xmsg; >+ $t =~ s/\$[{]k[}]/$key/xmsg; > $t =~ s/\$v/$hashref->{$key}/xmsg; >- $t =~ s/\${v}/$hashref->{$key}/xmsg; >+ $t =~ s/\$[{]v[}]/$hashref->{$key}/xmsg; > $content .= $t; > } > } >@@ -569,7 +569,7 @@ > next if defined $filter && $val =~ $filter; > my $t = $tmpl; > $t =~ s/\$[kv]/$val/xmsg; >- $t =~ s/\${[kv]}/$val/xmsg; >+ $t =~ s/\$[{][kv][}]/$val/xmsg; > $content .= $t; > } > } >@@ -617,8 +617,8 @@ > { > } > >- $content =~ s/\${?ENV{([^}]+?)}}?/$ENV{$1}/exmsg; >- $content =~ s/\${?TL{([^}]+)}}?/$self->tl($1)/exmsg; >+ $content =~ s/\$[{]?ENV[{]([^}]+?)[}][}]?/$ENV{$1}/exmsg; >+ $content =~ s/\$[{]?TL[{]([^}]+)[}][}]?/$self->tl($1)/exmsg; > > my $vbase = $self->get_vbase(); > >@@ -643,7 +643,7 @@ > }; > > $content =~ s{\$\[([\w.]+)\]}{$vars->{$1} // "\$$1"}exmsg; >- $content =~ s{\${?([\w.]+)}?}{$vars->{$1} // "\$$1"}exmsg; >+ $content =~ s{\$[{]?([\w.]+)[}]?}{$vars->{$1} // "\$$1"}exmsg; > $content =~ > s{<!--IF${cond_rx}-->${anyng_rx}((<!--ELSE-->)${anyng_rx})?<!--ENDIF-->}{eval($1)? ( $2 // q{} ): ($5 // q{})}exmsg; > $content =~ > >diff --git a/lib/perl/WebInterface/View/Simple/RenderFileListTable.pm b/lib/perl/WebInterface/View/Simple/RenderFileListTable.pm >--- a/lib/perl/WebInterface/View/Simple/RenderFileListTable.pm >+++ b/lib/perl/WebInterface/View/Simple/RenderFileListTable.pm >@@ -333,7 +333,7 @@ > $self->_call_fileprop_hook(\%stdvars, $full); > > ##$e=~s/\$\{?(\w+)\}?/exists $stdvars{$1} && defined $stdvars{$1}?$stdvars{$1}:"\$$1"/egs; >- $e =~ s{[\$]{?(\w+)}?}{ $stdvars{$1}//= "\$$1" }xmegs; >+ $e =~ s{[\$][{]?(\w+)[}]?}{ $stdvars{$1}//= "\$$1" }xmegs; > return $self->SUPER::render_template( $PATH_TRANSLATED, $REQUEST_URI, $e ); > } > sub _call_fileprop_hook {
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 674772
: 560178