From 7e8c053b15fa26a6f930adef558044edaca7acf0 Mon Sep 17 00:00:00 2001 From: Dylan Hardison Date: Wed, 10 Feb 2016 11:48:45 -0500 Subject: Bug 1246413 - Email::Address caches all email addresses --- extensions/UserProfile/Extension.pm | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'extensions/UserProfile') diff --git a/extensions/UserProfile/Extension.pm b/extensions/UserProfile/Extension.pm index 4fe1436c0..2c17a2d9f 100644 --- a/extensions/UserProfile/Extension.pm +++ b/extensions/UserProfile/Extension.pm @@ -19,6 +19,7 @@ use Bugzilla::User; use Bugzilla::Util qw(datetime_from time_ago); use Email::Address; use Scalar::Util qw(blessed); +use List::MoreUtils qw(any); our $VERSION = '1'; @@ -36,7 +37,12 @@ BEGIN { sub _user_last_activity_ts { $_[0]->{last_activity_ts} } sub _user_last_statistics_ts { $_[0]->{last_statistics_ts} } -sub _user_address { Email::Address->new(undef, $_[0]->email) } +sub _user_address { + my $mode = Bugzilla->usage_mode; + + Email::Address->disable_cache if any { $mode == $_ } USAGE_MODE_CMDLINE, USAGE_MODE_TEST, USAGE_MODE_EMAIL; + return Email::Address->new(undef, $_[0]->email); +} sub _user_set_last_activity_ts { my ($self, $value) = @_; @@ -66,6 +72,8 @@ sub _user_clear_last_statistics_ts { # hooks # +sub request_cleanup { Email::Address->purge_cache } + sub bug_after_create { my ($self, $args) = @_; $self->_bug_touched($args); -- cgit v1.2.3-24-g4f1b