]> git.ipfire.org Git - thirdparty/bugzilla.git/commitdiff
Bug 304653: remove 'use Bugzilla::Error' from Util.pm - Patch by Frédéric Buclin...
authorlpsolit%gmail.com <>
Tue, 16 Aug 2005 00:43:35 +0000 (00:43 +0000)
committerlpsolit%gmail.com <>
Tue, 16 Aug 2005 00:43:35 +0000 (00:43 +0000)
Bugzilla/Search.pm
Bugzilla/User.pm
Bugzilla/Util.pm
createaccount.cgi
editflagtypes.cgi
editusers.cgi
post_bug.cgi
process_bug.cgi
token.cgi
userprefs.cgi

index 0b1ac94bace66e7cdac71c9cf641bbf3ef08c5e4..6255ede5d7164f95f6e4737ac929dc61f308cc08 100644 (file)
@@ -350,14 +350,18 @@ sub init {
             
       if ($params->param('deadlinefrom')){
         $deadlinefrom = $params->param('deadlinefrom');
-        Bugzilla::Util::ValidateDate($deadlinefrom, 'deadlinefrom');
+        validate_date($deadlinefrom)
+          || ThrowUserError('illegal_date', {date => $deadlinefrom,
+                                             format => 'YYYY-MM-DD'});
         $sql_deadlinefrom = &::SqlQuote($deadlinefrom);
         push(@wherepart, "bugs.deadline >= $sql_deadlinefrom");
       }
       
       if ($params->param('deadlineto')){
         $deadlineto = $params->param('deadlineto');
-        Bugzilla::Util::ValidateDate($deadlineto, 'deadlineto');
+        validate_date($deadlineto)
+          || ThrowUserError('illegal_date', {date => $deadlineto,
+                                             format => 'YYYY-MM-DD'});
         $sql_deadlineto = &::SqlQuote($deadlineto);
         push(@wherepart, "bugs.deadline <= $sql_deadlineto");
       }
index ad04304492298c3509a8ecae0bf8d242ac4483a8..ab70f06fa977e1674690c1ea70c5539899c6becd 100644 (file)
@@ -1184,7 +1184,7 @@ sub insert_new_user {
     $password ||= &::GenerateRandomPassword();
     my $cryptpassword = bz_crypt($password);
 
-    # XXX - These should be moved into is_available_username or check_email_syntax
+    # XXX - These should be moved into is_available_username or validate_email_syntax
     #       At the least, they shouldn't be here. They're safe for now, though.
     trick_taint($username);
     trick_taint($realname);
index d70bc13dd13495f8520edcb4b939c04067984f91..694f6f1c4019f42d091ff03a53236262226a98c3 100644 (file)
@@ -37,13 +37,13 @@ use base qw(Exporter);
                              lsearch max min
                              diff_arrays diff_strings
                              trim wrap_comment find_wrap_point
-                             format_time format_time_decimal
+                             format_time format_time_decimal validate_date
                              file_mod_time is_7bit_clean
-                             bz_crypt check_email_syntax);
+                             bz_crypt validate_email_syntax);
 
 use Bugzilla::Config;
-use Bugzilla::Error;
 use Bugzilla::Constants;
+
 use Date::Parse;
 use Date::Format;
 use Text::Wrap;
@@ -349,16 +349,15 @@ sub bz_crypt {
     return $cryptedpassword;
 }
 
-sub check_email_syntax {
-    my ($addr) = (@_);
+sub validate_email_syntax {
+    my ($addr) = @_;
     my $match = Param('emailregexp');
-    if ($addr !~ /$match/ || $addr =~ /[\\\(\)<>&,;:"\[\] \t\r\n]/) {
-        ThrowUserError("illegal_email_address", { addr => $addr });
-    }
+    my $ret = ($addr =~ /$match/ && $addr !~ /[\\\(\)<>&,;:"\[\] \t\r\n]/);
+    return $ret ? 1 : 0;
 }
 
-sub ValidateDate {
-    my ($date, $format) = @_;
+sub validate_date {
+    my ($date) = @_;
     my $date2;
 
     # $ts is undefined if the parser fails.
@@ -369,9 +368,8 @@ sub ValidateDate {
         $date =~ s/(\d+)-0*(\d+?)-0*(\d+?)/$1-$2-$3/; 
         $date2 =~ s/(\d+)-0*(\d+?)-0*(\d+?)/$1-$2-$3/;
     }
-    if (!$ts || $date ne $date2) {
-        ThrowUserError('illegal_date', {date => $date, format => $format});
-    } 
+    my $ret = ($ts && $date eq $date2);
+    return $ret ? 1 : 0;
 }
 
 sub is_7bit_clean {
@@ -431,7 +429,8 @@ Bugzilla::Util - Generic utility functions for bugzilla
   $crypted_password = bz_crypt($password);
 
   # Validation Functions
-  check_email_syntax($email);
+  validate_email_syntax($email);
+  validate_date($date);
 
 =head1 DESCRIPTION
 
@@ -670,9 +669,14 @@ characters of the password to anyone who views the encrypted version.
 
 =over 4
 
-=item C<check_email_syntax($email)>
+=item C<validate_email_syntax($email)>
+
+Do a syntax checking for a legal email address and returns 1 if
+the check is successful, else returns 0.
+
+=item C<validate_date($date)>
 
-Do a syntax checking for a legal email address. An error is thrown
-if the validation fails.
+Make sure the date has the correct format and returns 1 if
+the check is successful, else returns 0.
 
 =back
index 29b3c00ec3aba76a5afc20a1c81aec76f8a08b89..1be63756da365c800f0e83cc8d0c568f54971428 100755 (executable)
@@ -63,7 +63,10 @@ my $login = $cgi->param('login');
 if (defined($login)) {
     # We've been asked to create an account.
     my $realname = trim($cgi->param('realname'));
-    check_email_syntax($login);
+
+    validate_email_syntax($login)
+      || ThrowUserError('illegal_email_address', {addr => $login});
+
     $vars->{'login'} = $login;
 
     $dbh->bz_lock_tables('profiles WRITE', 'email_setting WRITE', 'tokens READ');
index bcf811f94b3b080672450f457fccd0289cf682db..a7c1a55415ce61b33fdc565531bb753dfa6bccc0 100755 (executable)
@@ -489,7 +489,10 @@ sub validateCCList {
                         { cc_list => $cgi->param('cc_list') });
     
     my @addresses = split(/[, ]+/, $cgi->param('cc_list'));
-    foreach my $address (@addresses) { check_email_syntax($address) }
+    foreach my $address (@addresses) {
+        validate_email_syntax($address)
+          || ThrowUserError('illegal_email_address', {addr => $address});
+    }
 }
 
 sub validateProduct {
index bada71af73134db13d1f8b3d12c64a51b4feb68b..56c0a7635cf2dfef0510e047e19e2c69e2c266bd 100755 (executable)
@@ -169,9 +169,10 @@ if ($action eq 'search') {
 
     # Validity checks
     $login || ThrowUserError('user_login_required');
-    check_email_syntax($login);
-    is_available_username($login) || ThrowUserError('account_exists',
-                                                    {'email' => $login});
+    validate_email_syntax($login)
+      || ThrowUserError('illegal_email_address', {addr => $login});
+    is_available_username($login)
+      || ThrowUserError('account_exists', {email => $login});
     ValidatePassword($password);
 
     # Login and password are validated now, and realname and disabledtext
@@ -245,9 +246,11 @@ if ($action eq 'search') {
         if ($login ne $loginold) {
             # Validate, then trick_taint.
             $login || ThrowUserError('user_login_required');
-            check_email_syntax($login);
-            is_available_username($login) || ThrowUserError('account_exists',
-                                                            {'email' => $login});
+            validate_email_syntax($login)
+              || ThrowUserError('illegal_email_address', {addr => $login});
+            is_available_username($login)
+              || ThrowUserError('account_exists', {email => $login});
+
             trick_taint($login);
             push(@changedFields, 'login_name');
             push(@values, $login);
index 1b5b329db5c68195428a9ceb6292a801feb04eaa..db95cbc5e43e12a128daeb8750d3fdf0bd61bad0 100755 (executable)
@@ -29,6 +29,7 @@ use lib qw(.);
 require "globals.pl";
 use Bugzilla;
 use Bugzilla::Constants;
+use Bugzilla::Util;
 use Bugzilla::Bug;
 use Bugzilla::User;
 use Bugzilla::Field;
@@ -309,7 +310,9 @@ if (UserInGroup(Param("timetrackinggroup")) &&
 }
 
 if ((UserInGroup(Param("timetrackinggroup"))) && ($cgi->param('deadline'))) {
-    Bugzilla::Util::ValidateDate($cgi->param('deadline'), 'YYYY-MM-DD');
+    validate_date($cgi->param('deadline'))
+      || ThrowUserError('illegal_date', {date => $cgi->param('deadline'),
+                                         format => 'YYYY-MM-DD'});
     $sql .= SqlQuote($cgi->param('deadline'));  
 } else {
     $sql .= "NULL";
index b1b9c8050a4d1811a22ab049e6fcc4663c014674..b330615ce422f1c30dff0328ee515a4344397704 100755 (executable)
@@ -1103,7 +1103,9 @@ if (UserInGroup(Param('timetrackinggroup'))) {
         DoComma();
         $::query .= "deadline = ";
         if ($cgi->param('deadline')) {
-            Bugzilla::Util::ValidateDate($cgi->param('deadline'), 'YYYY-MM-DD');
+            validate_date($cgi->param('deadline'))
+              || ThrowUserError('illegal_date', {date => $cgi->param('deadline'),
+                                                 format => 'YYYY-MM-DD'});
             $::query .= SqlQuote($cgi->param('deadline'));
         } else {
             $::query .= "NULL" ;
index 1d398f84d60416f2eea624c8b4ab7444c7e3b483..79bf33dd7fd68e9ba994d3d73106ed8b9e4284c8 100755 (executable)
--- a/token.cgi
+++ b/token.cgi
@@ -110,9 +110,10 @@ if ( $::action eq 'reqpw' ) {
         ThrowUserError("password_change_requests_not_allowed");
     }
 
-    # Make sure the login name looks like an email address.  This function
-    # displays its own error and stops execution if the login name looks wrong.
-    check_email_syntax($cgi->param('loginname'));
+    # Make sure the login name looks like an email address.
+    validate_email_syntax($cgi->param('loginname'))
+      || ThrowUserError('illegal_email_address',
+                        {addr => $cgi->param('loginname')});
 
     my $quotedloginname = SqlQuote($cgi->param('loginname'));
     SendSQL("SELECT userid FROM profiles WHERE " .
index 0a6ffe288b94c013ff2772c6ca369e4d7b45a91f..065dcb472d90d99be498f5b7eb363517aad36312 100755 (executable)
@@ -117,7 +117,8 @@ sub SaveAccount {
             }
 
             # Before changing an email address, confirm one does not exist.
-            check_email_syntax($new_login_name);
+            validate_email_syntax($new_login_name)
+              || ThrowUserError('illegal_email_address', {addr => $new_login_name});
             trick_taint($new_login_name);
             is_available_username($new_login_name)
               || ThrowUserError("account_exists", {email => $new_login_name});