From cb033cc81024a33004c4d2fca40d9a72f75d6508 Mon Sep 17 00:00:00 2001 From: "bbaetz%student.usyd.edu.au" Date: Sat, 16 Mar 2002 06:03:09 +0000 Subject: [PATCH] Bug 129466 - use IP addr (not hostname) in logincookies table r=gerv, justdave git-svn-id: svn://10.0.0.236/trunk@116706 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/webtools/bugzilla/CGI.pl | 12 +++--------- mozilla/webtools/bugzilla/checksetup.pl | 14 ++++++++++++-- 2 files changed, 15 insertions(+), 11 deletions(-) diff --git a/mozilla/webtools/bugzilla/CGI.pl b/mozilla/webtools/bugzilla/CGI.pl index 76c53627df9..e100c69f372 100644 --- a/mozilla/webtools/bugzilla/CGI.pl +++ b/mozilla/webtools/bugzilla/CGI.pl @@ -695,15 +695,12 @@ sub quietly_check_login() { if (defined $::COOKIE{"Bugzilla_login"} && defined $::COOKIE{"Bugzilla_logincookie"}) { ConnectToDatabase(); - if (!defined $ENV{'REMOTE_HOST'}) { - $ENV{'REMOTE_HOST'} = $ENV{'REMOTE_ADDR'}; - } SendSQL("SELECT profiles.userid, profiles.groupset, " . "profiles.login_name, " . "profiles.login_name = " . SqlQuote($::COOKIE{"Bugzilla_login"}) . - " AND logincookies.hostname = " . - SqlQuote($ENV{"REMOTE_HOST"}) . + " AND logincookies.ipaddr = " . + SqlQuote($ENV{"REMOTE_ADDR"}) . ", profiles.disabledtext " . " FROM profiles, logincookies WHERE logincookies.cookie = " . SqlQuote($::COOKIE{"Bugzilla_logincookie"}) . @@ -988,10 +985,7 @@ sub confirm_login { # the cookies. if($enteredlogin ne "") { $::COOKIE{"Bugzilla_login"} = $enteredlogin; - if (!defined $ENV{'REMOTE_HOST'}) { - $ENV{'REMOTE_HOST'} = $ENV{'REMOTE_ADDR'}; - } - SendSQL("insert into logincookies (userid,hostname) values (@{[DBNameToIdAndCheck($enteredlogin)]}, @{[SqlQuote($ENV{'REMOTE_HOST'})]})"); + SendSQL("insert into logincookies (userid,ipaddr) values (@{[DBNameToIdAndCheck($enteredlogin)]}, @{[SqlQuote($ENV{'REMOTE_ADDR'})]})"); SendSQL("select LAST_INSERT_ID()"); my $logincookie = FetchOneColumn(); diff --git a/mozilla/webtools/bugzilla/checksetup.pl b/mozilla/webtools/bugzilla/checksetup.pl index ab8b723fabc..ba5d1e08771 100755 --- a/mozilla/webtools/bugzilla/checksetup.pl +++ b/mozilla/webtools/bugzilla/checksetup.pl @@ -1155,11 +1155,10 @@ $table{groups} = unique(bit), unique(name)'; - $table{logincookies} = 'cookie mediumint not null auto_increment primary key, userid mediumint not null, - hostname varchar(128), + ipaddr varchar(40) NOT NULL, lastused timestamp, index(lastused)'; @@ -2706,6 +2705,17 @@ if (GetFieldDef("bugs","qacontact_accessible")) { DropField("bugs", "assignee_accessible"); } +# 2002-03-15 bbaetz@student.usyd.edu.au - bug 129466 +# Use the ip, not the hostname, in the logincookies table +if (GetFieldDef("logincookies", "hostname")) { + # We've changed what we match against, so all entries are now invalid + $dbh->do("DELETE FROM logincookies"); + + # Now update the logincookies schema + DropField("logincookies", "hostname"); + AddField("logincookies", "ipaddr", "varchar(40) NOT NULL"); +} + # If you had to change the --TABLE-- definition in any way, then add your # differential change code *** A B O V E *** this comment. #