From c64d6c4379a89d411dad062523d81417f484fb60 Mon Sep 17 00:00:00 2001 From: Martin Urbanec Date: Tue, 20 Aug 2019 19:29:59 +0200 Subject: [PATCH] Log DNS blacklist matches with info level, non-matches with debug level Bug: T230822 Change-Id: I036b38ac322181fdba4e9e6c1ff539f79b5bb79c --- includes/ServiceWiring.php | 3 ++- includes/block/BlockManager.php | 14 ++++++++++---- tests/phpunit/includes/block/BlockManagerTest.php | 5 ++++- 3 files changed, 16 insertions(+), 6 deletions(-) diff --git a/includes/ServiceWiring.php b/includes/ServiceWiring.php index c7ad75c127..2310b0ea03 100644 --- a/includes/ServiceWiring.php +++ b/includes/ServiceWiring.php @@ -111,7 +111,8 @@ return [ new ServiceOptions( BlockManager::$constructorOptions, $services->getMainConfig() ), - $services->getPermissionManager() + $services->getPermissionManager(), + LoggerFactory::getInstance( 'BlockManager' ) ); }, diff --git a/includes/block/BlockManager.php b/includes/block/BlockManager.php index 2e20529bc8..adcc4b1b09 100644 --- a/includes/block/BlockManager.php +++ b/includes/block/BlockManager.php @@ -29,6 +29,7 @@ use MediaWiki\Config\ServiceOptions; use MediaWiki\Permissions\PermissionManager; use MediaWiki\User\UserIdentity; use MWCryptHash; +use Psr\Log\LoggerInterface; use User; use WebRequest; use WebResponse; @@ -59,17 +60,23 @@ class BlockManager { 'SoftBlockRanges', ]; + /** @var LoggerInterface */ + private $logger; + /** * @param ServiceOptions $options * @param PermissionManager $permissionManager + * @param LoggerInterface $logger */ public function __construct( ServiceOptions $options, - PermissionManager $permissionManager + PermissionManager $permissionManager, + LoggerInterface $logger ) { $options->assertRequiredOptions( self::$constructorOptions ); $this->options = $options; $this->permissionManager = $permissionManager; + $this->logger = $logger; } /** @@ -392,15 +399,14 @@ class BlockManager { $ipList = $this->checkHost( $hostname ); if ( $ipList ) { - wfDebugLog( - 'dnsblacklist', + $this->logger->info( "Hostname $hostname is {$ipList[0]}, it's a proxy says $basename!" ); $found = true; break; } - wfDebugLog( 'dnsblacklist', "Requested $hostname, not found in $basename." ); + $this->logger->debug( "Requested $hostname, not found in $basename." ); } } diff --git a/tests/phpunit/includes/block/BlockManagerTest.php b/tests/phpunit/includes/block/BlockManagerTest.php index 6a00e6735a..230d36a31d 100644 --- a/tests/phpunit/includes/block/BlockManagerTest.php +++ b/tests/phpunit/includes/block/BlockManagerTest.php @@ -6,6 +6,7 @@ use MediaWiki\Block\CompositeBlock; use MediaWiki\Block\SystemBlock; use MediaWiki\MediaWikiServices; use Wikimedia\TestingAccessWrapper; +use Psr\Log\LoggerInterface; /** * @group Blocking @@ -48,13 +49,15 @@ class BlockManagerTest extends MediaWikiTestCase { private function getBlockManagerConstructorArgs( $overrideConfig ) { $blockManagerConfig = array_merge( $this->blockManagerConfig, $overrideConfig ); $this->setMwGlobals( $blockManagerConfig ); + $logger = $this->getMockBuilder( LoggerInterface::class )->getMock(); return [ new LoggedServiceOptions( self::$serviceOptionsAccessLog, BlockManager::$constructorOptions, MediaWikiServices::getInstance()->getMainConfig() ), - MediaWikiServices::getInstance()->getPermissionManager() + MediaWikiServices::getInstance()->getPermissionManager(), + $logger ]; } -- 2.20.1