OpenPKG CVS Repository
http://cvs.openpkg.org/
____________________________________________________________________________
Server: cvs.openpkg.org Name: Thomas Lotterer
Root: /v/openpkg/cvs Email: [EMAIL PROTECTED]
Module: openpkg-registry Date: 13-Jul-2006 09:39:16
Branch: HEAD Handle: 2006071308391500
Modified files:
openpkg-registry registry-ui.pl
Log:
do some quoting/escaping of username where the field is taken verbatim
from untrusted external source
Summary:
Revision Changes Path
1.74 +4 -4 openpkg-registry/registry-ui.pl
____________________________________________________________________________
patch -p0 <<'@@ .'
Index: openpkg-registry/registry-ui.pl
============================================================================
$ cvs diff -u -r1.73 -r1.74 registry-ui.pl
--- openpkg-registry/registry-ui.pl 13 Jul 2006 07:34:43 -0000 1.73
+++ openpkg-registry/registry-ui.pl 13 Jul 2006 07:39:15 -0000 1.74
@@ -1084,14 +1084,14 @@
# updating heartbeat or creating username
#
$dbh->{AutoCommit} = 1;
- $sql = sprintf("UPDATE reg_user SET heartbeat = now() WHERE (
username = '%s' );", $username);
+ $sql = sprintf("UPDATE reg_user SET heartbeat = now() WHERE (
username = %s );", $dbh->quote($username));
$rv = $dbh->do($sql);
if (not defined $rv) {
&viewprettyerror("updating user $username", prettydbi());
goto CUS;
}
elsif ($rv != 1) {
- $sql = sprintf("INSERT INTO reg_user (username) VALUES ('%s');",
$username);
+ $sql = sprintf("INSERT INTO reg_user (username) VALUES (%s);",
$dbh->quote($username));
$rv = $dbh->do($sql);
if (not defined $rv) {
&viewprettyerror("inserting user $username", prettydbi());
@@ -1610,7 +1610,7 @@
# check for known username by updating heartbeat and look for
database errors
#
- $sql = sprintf("UPDATE reg_user SET heartbeat = now() WHERE (
username = '%s' );", $username);
+ $sql = sprintf("UPDATE reg_user SET heartbeat = now() WHERE (
username = %s );", $dbh->quote($username));
$rv = $dbh->do($sql);
if (not defined $rv) {
$msg = $dbh->errstr;
@@ -1620,7 +1620,7 @@
next;
}
elsif ($rv < 1) {
- $res->{$k} = sprintf("ERROR username \"%s\" not found",
$username);
+ $res->{$k} = sprintf("ERROR username \"%s\" not found",
CGI::escapeHTML($username));
$commit = 0;
next;
}
@@ .
______________________________________________________________________
The OpenPKG Project www.openpkg.org
CVS Repository Commit List [email protected]