Jump to content

Extension talk:LDAPProvider/2024

Add topic
From mediawiki.org

Installing LDAPProvider on Synology NAS

[edit]

I am looking for advice on how to create the database tables necessary to the functioning of the LDAPProvider extension

The installation process suggests to run the following script on a Synology NAS: php maintenance/update.php

When I connect via SSH to the NAs and attempt to run this command, I receive an indication that some php packages (fileinfo and intl) are not installed.

I can only install one of those php packages via the Webstation script language settings (the other is not an option). However, this does not change the outcome when running the command line.

Thank you for your help and feedback 139.191.205.211 (talk) 15:22, 17 January 2024 (UTC)Reply

Neither fileinfo and intl are actively required by the LDAP extensions. My best guess is that your CLI php uses a different <cide>php.ini file than your webserver php.
Try to run the command with the ini file specified
php -c path/to/webserver/php.ini maintenance/update.php --quick Osnard (talk) 13:07, 19 January 2024 (UTC)Reply

TypeError: Argument passed to __construct() must be of type array, null given

[edit]

Hello,


For the past week I've been trying to migrate a really old mediawiki (1.23) on and old OS (CentOS 6 IIRC) to a newer OS (Ubuntu) and more importantly a supported version of MediaWiki (1.41).

I've managed to create a new VM and a new MediaWiki instance, in which I successfully imported my old wiki database (by first upgrading to 1.35 then 1.41).

I had a lot of trouble with the new extensions since it was using old versions of Ldap extensions. I managed to kind of power through to the point where I am able ( or seem to be able) to authenticate using my LDAP server, but once I'm connected I have this error :

TypeError: Argument 1 passed to MediaWiki\Config\HashCOnfig::__construct() must be of the type array, null given, called in /var/lib/mediawiki/extensions/LDAPProvider/src/DomainConfigFactory.php on line 76

The Backtrace mentions :

from /var/lib/mediawiki/includes/config/HashConfig.php(52)

#0 /var/lib/mediawiki/extensions/LDAPProvider/src/DomainConfigFactory.php(76): MediaWiki\Config\HashConfig->construct()

I can't directly copy/paste the full backtrace but it then calls the functions factory() from DomainConfigFactory, setSuitableDomainConfig() from UserLoadAfterLoadFromSession, process() from UserLoadAfterLoadFromSession...

Here are my current configuration files, anonymized as much as I could. The LocalSettings.php may look very bad because I started from the old instance LocalSettings.php, feel free to indicate which lines of config should/need to be removed in order to have a cleaner instance.

LocalSettings.php :

<?php

error_reporting( -1 );

ini_set( 'display_errors', 1 );

if ( !defined( 'MEDIAWIKI' ) ) {

        exit;

}

$wgSitename = "My_Wiki";

$wgScriptPath = "";

$wgScriptExtension = ".php";

$wgServer = "server_url";

$wgStylePath = "$wgScriptPath/skins";

$wgLogo = "$wgStylePath/common/images/wiki.png";

$wgEnableEmail = true;

$wgEnableUserEmail = true;

$wgEmergencyContact = "apache@IP";

$wgPasswordSender = "apache@IP";

$wgEnotifUserTalk = false;

$wgEnotifWatchlist = false;

$wgEmailAuthentication = true;

$wgDBtype = "mysql";

$wgDBserver = "localhost";

$wgDBname = "my_wiki";

$wgDBuser = "wikiuser";

$wgDBpassword = "anothersecureandlongpassword";

$wgDBprefix = "";

$wgDBTableOptions = "ENGINE=InnoDB, DEFAULT CHARSET=utf8";

$wgDBmysql5 = false;

$wgMainCacheType = CACHE_NONE;

$wgMemCachedServers = array();

$wgEnableUploads = true;

$wgUseInstantCommons = false;

$wgShellLocale = "en_US.utf8";

$wgLanguageCode = "fr";

$wgSecretKey = "longkey";

$wgUpgradeKey = "anotherlongkey";

$wgDefaultSkin = "Timeless";

wfLoadSkin('Timeless');

$wgRightsPage = ""; # Set to the title of a wiki page that describes your license/copyright

$wgRightsUrl = "";

$wgRightsText = "";

$wgRightsIcon = "";

$wgDiff3 = "/usr/bin/diff3";

$wgDebugLogFile = "debug.log";

$wgDebugComments = true;

$wgLDAPDebug = 3;

$wgDebugLogGroups["LDAPAuthentication2"] = "/var/lib/mediawiki/LDAPAuthentication2.log";

$wgPluggableAuth_Config['Log In Connection.1'] = [

        'plugin' => 'LDAPAuthentication2',

        'data' => [

                'domain' => 'connection.1'

        ]

];

$wgPluggableAuth_Config['Log In Connection2'] = [

        'plugin' => 'LDAPAuthentication2',

        'data' => [

                'domain' => 'connection.2'

        ]

];

$LDAPProviderDomainConfigs = "/var/www/html/ldapprovider.json";

$LDAPAuthentication2AllowLocalLogin = true;

$wgPluggableAuth_EnableLocalLogin = true;

$wgGroupPermissions['*']['read'] = true;

$wgGroupPermissions['*']['edit'] = true;

$wgGroupPermissions['user']['read'] = false;

$wgGroupPermissions['user']['edit'] = false;

$wgGroupPermissions['user']['createpage'] = false;

$wgGroupPermissions['user']['createtalk'] = false;

$wgGroupPermissions['user']['upload'] = false;

$wgGroupPermissions['user']['minoredit'] = false;

$wgGroupPermissions['user']['purge'] = false;

$wgGroupPermissions['user']['movefile'] = false;

$wgGroupPermissions['user']['move'] = false;

$wgGroupPermissions['user']['move-subpages'] = false;

$wgGroupPermissions['user']['move-rootuserpages'] = false;

$wgGroupPermissions['user']['reupload-shared'] = false;

$wgGroupPermissions['user']['reupload'] = false;

$wgGroupPermissions['user']['sendemail'] = false;

$wgGroupPermissions['user']['writeapi'] = false;

$wgGroupPermissions['exp']['read'] = true;

$wgGroupPermissions['exp']['edit'] = true;

$wgGroupPermissions['exp']['createpage'] = true;

$wgGroupPermissions['exp']['createtalk'] = true;

$wgGroupPermissions['exp']['upload'] = true;

$wgGroupPermissions['exp']['minoredit'] = true;

$wgGroupPermissions['exp']['purge'] = true;

$wgGroupPermissions['exp']['movefile'] = true;

$wgGroupPermissions['exp']['move'] = true;

$wgGroupPermissions['exp']['move-subpages'] = true;

$wgGroupPermissions['exp']['move-rootuserpages'] = true;

$wgGroupPermissions['exp']['reupload-shared'] = true;

$wgGroupPermissions['exp']['reupload'] = true;

$wgDefaultUserOptions['riched_disable']               = false;         //true = editor disabled

$wgDefaultUserOptions['riched_start_disabled']        = false;         //Important!!! else bug...

$wgDefaultUserOptions['riched_use_toggle']            = true;          //Editor can toggle CKEditor/WikiText

$wgDefaultUserOptions['riched_use_popup']             = false;         //Deprecated

$wgDefaultUserOptions['riched_toggle_remember_state'] = true;

$wgDefaultUserOptions['riched_link_paste_text']       = true;

$wgFCKEditorExcludedNamespaces[] = NS_MEDIAWIKI;

$wgFCKEditorExcludedNamespaces[] = NS_TEMPLATE;

$wgShowExceptionDetails = true;

$wgShowDBErrorBacktrace = true;

$wgShowSQLErrors = true;

wfLoadExtension( 'LDAPAuthentication2' );

wfLoadExtension( 'LDAPProvider' );

wfLoadExtension( 'PluggableAuth' );

wfLoadExtension( 'LDAPUserInfo' );

?>


ldapprovider.json :

{

        "connection.1": {

                "connection": {

                        "server": "my_ldap.server",

                        "enctype": "ssl",

                        "port": "636",

                        "options": {

                                "LDAP_OPT_DEREF": 1

                        },

                        "searchattribute": "uid",

                        "basedn": "dc=ldap,dc=server",

                        "userbasedn": "dc=ldap,dc=server",

                        "searchstring": "uid=USER-NAME,ou=users,dc=ldap,dc=server",

                        "user": "cn=rouser,dc=ldap,dc=server",

                        "pass": "ofcourseaverylongandcomplicatedpassword",

                        "realnameattribute": "uid",

                        "usernameattribute": "uid",

                        "emailattribute": "uid"

                },

                "authorization": {

                        "rules": {

                                "groups": {

                                        "required": ["ou=users,dc=ldap,dc=server"]

                                }

                        }

                }

        },

        "connection.2": {

                "connection": {

                        "server": "my_ldap.server",

                        "enctype": "ssl",

                        "port": "636",

                        "option": {

                                "LDAP_OPT_DEREF": 1

                        },

                        "searchattribute": "uid",

                        "user": "cn=rouser,dc=ldap,dc=server",

                        "pass": "ofcourseaverylongandcomplicatedpassword",

                        "basedn": "ou=admins,dc=ldap,dc=server",

                        "userbasedn": "dc=ldap,dc=server",

                        "searchstring": "uid=USER-NAME,ou=admins,dc=ldap,dc=server",

                        "realnameattribute": "uid",

                        "usernameattribute": "uid",

                        "emailattribute": "uid"

                }

        }

}


If anyone has any leads regarding what could be the problem, please let me know I'm beginning to lose my sanity :( Wikillyn (talk) 09:38, 30 January 2024 (UTC)Reply

This error indeed is very strange. It emerges from
new HashConfig( $this->config[$domain][$section] )
-- https://github.com/wikimedia/mediawiki-extensions-LDAPProvider/blob/2.0.3/src/DomainConfigFactory.php#L76
which means either $this->config[$domain] or $this->config[$domain][$section] are not set.
I guess /var/www/html/ldapprovider.json is readable and valid.
Maybe you can add the following lines at in line 74 of extensions/LDAPProvider/src/DomainConfigFactory.php and check/share the log at /var/lib/mediawiki/LDAPAuthentication2.log
wfDebugLog( 'LDAPAuthentication2', '###START###' );
wfDebugLog( 'LDAPAuthentication2', var_export( $domain, true) );
wfDebugLog( 'LDAPAuthentication2', var_export( $section, true) );
wfDebugLog( 'LDAPAuthentication2', var_export( $this->config, true) );
wfDebugLog( 'LDAPAuthentication2', '###END###' ); Osnard (talk) 09:49, 30 January 2024 (UTC)Reply
Indeed everything was readable and accessible.
Thank you so much for the given lines, they allowed the app to highlight that, once logged in, the app tried to fetch userinfo from ldapprovider.json, which was not defined and thus would make the connection fail.
I added a simple userinfo with only "email": "mail" as its attributes-map and everything worked like a charm again !
Another bug I have is that when I tried to login to my local account (in the DB) I have this error : MediaWiki\Extension\LDAPProvider\LDAPNoDomainConfigException: No configuration available for domain 'local'!
Is it normal ? I thought these 2 lines
$LDAPAuthentication2AllowLocalLogin = true;
$wgPluggableAuth_EnableLocalLogin = true;
would allow local login :/ Wikillyn (talk) 11:22, 30 January 2024 (UTC)Reply
Update : in my ldapprovider.json i created an almost empy domain named local :
"local": {
        "connection": {
        },
        "userinfo": {
        },
        "authorization": {
        }
},
and it worked again !
I feel like a wizard but I no longer seem to have any problem ! Wikillyn (talk) 12:56, 30 January 2024 (UTC)Reply

Using 1.39.6 mediawiki, php 8 -- someone help?

[edit]

The following discussion is closed. Please do not modify it. Subsequent comments should be made on the appropriate discussion page. No further edits should be made to this discussion.


When I try using my configuration I get this error:

[121fdde4262ac3efdca31459] 2024-02-05 15:34:10: Fatal exception of type "Wikimedia\Rdbms\DBQueryError"

and My LDAP log tells me this:


*****

2024-02-05 15:30:10 xxx my_wiki: In execute()

2024-02-05 15:30:10 xxx my_wiki: Getting PluggableAuth instance

2024-02-05 15:30:10 xxx my_wiki: Plugin name: LDAPAuthentication2

2024-02-05 15:30:10 xxx my_wiki: Try to authenticate user: username

2024-02-05 15:30:10 xxx my_wiki: Not local login. Checking LDAP...

2024-02-05 15:30:10 xxx my_wiki: LDAP domain: 123

2024-02-05 15:30:11 xxx my_wiki: LDAP login succeeded.


Here is my configuration:

wfLoadExtensions( [

'LDAPProvider',

'PluggableAuth',

'LDAPAuthentication2'

] );

$LDAPAuthentication2AllowLocalLogin = true;

$LDAPProviderDomainConfigProvider = function() {

        $config = [

                "123" => [ // lowercase domain name--uses case-sensitive match

                        "connection" => [

                                "server"            => "privateinfo", // LDAP server (AD server for me)

                                "basedn"            => "dc=123,dc=core,dc=privateinfo,dc=com", // Base DN for searching for user attributes

                                "groupbasedn"       => "dc=123,dc=core,dc=privateinfo,dc=com", // Present, but I don't use

                                "userbasedn"        => "dc=123,dc=core,dc=privateinfo,dc=com", // Used for authentication

                                "searchattribute"   => "samaccountname", // lowercase (case-sensitive)

                                "searchstring"      => "123\\USER-NAME", // The form for AD

                                "usernameattribute" => "samaccountname", // For AD

                                "realnameattribute" => "cn",

                                "emailattribute"    => "mail"

                        ],

                        "groupsync" => [ // Intentionally empty for me, not using

                        ],

                        "userinfo" => [ // Already have the three fields above I want

                        ]

                ]

        ];

        return new \MediaWiki\Extension\LDAPProvider\DomainConfigProvider\InlinePHPArray( $config );

};

$wgPluggableAuth_Config['Log In (123)'] = [

    'plugin' => 'LDAPAuthentication2',

    'data' => [

        'domain' => '123'

    ]

]; 2601:447:D080:22C5:65D4:CAC4:7441:16F9 (talk) 15:50, 5 February 2024 (UTC)Reply

I fixed this issue. I was reading in the wrong database.
Sorry about that! 2601:447:D080:22C5:65D4:CAC4:7441:16F9 (talk) 16:11, 5 February 2024 (UTC)Reply
Thanks for the feedback! Osnard (talk) 14:01, 8 February 2024 (UTC)Reply
The discussion above is closed. Please do not modify it. No further edits should be made to this discussion.

-- in thicase mediawiki 1.35.0 not start

[edit]

/index.php Error from line 48 of /mediawiki-1.35.0/extensions/LDAPProvider/src/DomainConfigFactory.php: Call to a member function getConfigArray() on null

Backtrace:

#0 /mediawiki-1.35.0/extensions/LDAPProvider/src/DomainConfigFactory.php(102): MediaWiki\Extension\LDAPProvider\DomainConfigFactory->__construct()

#1 /mediawiki-1.35.0/extensions/LDAPAuthentication2/src/Setup.php(15): MediaWiki\Extension\LDAPProvider\DomainConfigFactory::getInstance()

#2 /mediawiki-1.35.0/includes/Setup.php(807): MediaWiki\Extension\LDAPAuthentication2\Setup::init()

#3 /mediawiki-1.35.0/includes/WebStart.php(89): require_once(string)

#4 /mediawiki-1.35.0/index.php(44): require(string)

#5 {main}

hi,

I'm new to the blog,I made 1500 configurations with mw 1.41 1.39 1.35 to authenticate with AD but well I can't.

last question:where can I find a good step by step guide to integrate my mediawiki with active directory?sorry but I have viewed hundreds of pages on the mediawiki site with many different conf

tnx Sjmong (talk) 16:10, 14 February 2024 (UTC)Reply

now works
but :OOO guys;
with:
|MediaWiki
|1.35.14
|-
|PHP
|7.4.33 (apache2handler)
|-
|MariaDB
|10.3.39-MariaDB-0+deb10u1~bpo22.04+1
|-
|ICU
|70.1
|}
and steps by
Manual:Active Directory Integration Sjmong (talk) 13:58, 15 February 2024 (UTC)Reply

Trying to do a LDAP Login

[edit]

Hi Everyone, I am wondering if anybody has ran into this issue when trying to login via ldap. I get this error after putting in my domain username and password.

☁ZeDJRu4hcahAMcLvtSppyAAAAMI] /mediawiki-1.39.5/index.php?title=Special:PluggableAuthLogin MediaWiki\Extension\LDAPProvider\DomainConfigProvider\ConfigException: ⧼ldapprovider-domain-config-invalid⧽


Thanks in advance,

Greg GregANICO (talk) 18:47, 29 February 2024 (UTC)Reply

Here is the backtrace for it:
Backtrace:
from /var/www/html/mediawiki-1.39.5/extensions/LDAPProvider/src/DomainConfigProvider/LocalJSONFile.php(51)
#0 /var/www/html/mediawiki-1.39.5/extensions/LDAPProvider/src/DomainConfigProvider/LocalJSONFile.php(70): MediaWiki\Extension\LDAPProvider\DomainConfigProvider\LocalJSONFile->__construct()
#1 [internal function]: MediaWiki\Extension\LDAPProvider\DomainConfigProvider\LocalJSONFile::newInstance()
#2 /var/www/html/mediawiki-1.39.5/extensions/LDAPProvider/src/DomainConfigFactory.php(101): call_user_func_array()
#3 /var/www/html/mediawiki-1.39.5/extensions/LDAPProvider/src/ClientFactory.php(62): MediaWiki\Extension\LDAPProvider\DomainConfigFactory::getInstance()
#4 /var/www/html/mediawiki-1.39.5/extensions/LDAPAuthentication2/src/PluggableAuth.php(254): MediaWiki\Extension\LDAPProvider\ClientFactory->getForDomain()
#5 /var/www/html/mediawiki-1.39.5/extensions/LDAPAuthentication2/src/PluggableAuth.php(123): MediaWiki\Extension\LDAPAuthentication2\PluggableAuth->checkLDAPLogin()
#6 /var/www/html/mediawiki-1.39.5/extensions/PluggableAuth/includes/PluggableAuthLogin.php(101): MediaWiki\Extension\LDAPAuthentication2\PluggableAuth->authenticate()
#7 /var/www/html/mediawiki-1.39.5/includes/specialpage/SpecialPage.php(701): MediaWiki\Extension\PluggableAuth\PluggableAuthLogin->execute()
#8 /var/www/html/mediawiki-1.39.5/includes/specialpage/SpecialPageFactory.php(1428): SpecialPage->run()
#9 /var/www/html/mediawiki-1.39.5/includes/MediaWiki.php(316): MediaWiki\SpecialPage\SpecialPageFactory->executePath()
#10 /var/www/html/mediawiki-1.39.5/includes/MediaWiki.php(904): MediaWiki->performRequest()
#11 /var/www/html/mediawiki-1.39.5/includes/MediaWiki.php(562): MediaWiki->main()
#12 /var/www/html/mediawiki-1.39.5/index.php(52): MediaWiki->run()
#13 /var/www/html/mediawiki-1.39.5/index.php(48): wfIndexMain()
#14 {main} GregANICO (talk) 18:47, 29 February 2024 (UTC)Reply
Looks like the JSON file you have configured with $LDAPProviderDomainConfigs is invalid. Try some linter tool like jsonlint. Many text (code) editors also show syntax errors. Osnard (talk) 07:23, 1 March 2024 (UTC)Reply
Thanks, you were right. I was missing a "," at the end of one of my lines. GregANICO (talk) 14:10, 1 March 2024 (UTC)Reply

authentication issues

[edit]

The following discussion is closed. Please do not modify it. Subsequent comments should be made on the appropriate discussion page. No further edits should be made to this discussion.


i keep trying to reach out, but i guess SME's are otherwise engaged. so i'll try again.

i completely wiped out my previous build and started over.

I'm on Windows Server 2016 ( i know its not supported), with IIS 10

Installed software

Product Version

MediaWiki 1.39.6

PHP 8.3.4 (cgi-fcgi)

MySQL 8.3.0

ICU 72.1

LDAPAuthentication2 2.0.7 (3a91dad) 08:59, 4 March 2024

LDAPAuthorization 2.0.5 (ccd20da) 08:59, 4 March 2024

LDAPGroups 2.0.5 (956a438) 19:08, 4 March 2024

LDAPProvider 2.0.5 (b7fd141) 08:59, 4 March 2024

LDAPUserInfo 2.0.4 (a5eeff0) 08:59, 4 March 2024

PluggableAuth 7.1.0 (1884a12) 06:36, 4 March 2024

I am able to log in locally. I cannot authenticate over LDAP

I attempt to log in over LDAP using my samaccountname ID - firstname.lastname and get Could not authenticate credentials against domain "ACME.ORG"

LDAPAuthentication2 log shows - 2024-04-02 18:19:06 SERVER acmewiki: Could not bind to LDAP domain with given user: firstname.lastname

PluggableAuth log shows:

2024-04-02 18:19:06 SERVER acmewiki: In execute()

2024-04-02 18:19:06 SERVER acmewiki: Getting PluggableAuth instance

2024-04-02 18:19:06 SERVER acmewiki: Plugin name: LDAPAuthentication2

2024-04-02 18:19:06 SERVER acmewiki: Authentication failure.

2024-04-02 18:19:06 SERVER acmewiki: ERROR: Could not authenticate credentials against domain "ACME.ORG"


I also get [authentication] Login failed in primary authentication by MediaWiki\Extension\PluggableAuth\PrimaryAuthenticationProvider


i can succesfully run showuserinfo.php, ShowUserGroups.php, CheckConnection.php. BUT CheckLogin.php shows FAILED

i can perform a simple bind using LDP.exe using the ldap bind service account and using my samaccountname ID - firstname.lastname

i have been running update.php and resetarting IIS when making changes

here are scrubbed LocalSettings and ldapprovider.json:

LocalSettings:

// Safe IP or not (for bypassing external login via AD)

$safeIPs = array(

'127.0.0.1',

'localhost',

'x.x.x.x/16');

$ipsVars = array('HTTP_X_FORWARDED_FOR','HTTP_X_REAL_IP','REMOTE_ADDR');

foreach ($ipsVars as $ipsVar) {

if (isset($_SERVER[$ipsVar]) && mb_strlen($_SERVER[$ipsVar]) > 3 ) { $wikiRequestIP = $_SERVER[$ipsVar]; break; }

}

$wikiRequestSafe = ( isset($wikiRequestIP ) && ( in_array($wikiRequestIP,$safeIPs) ));

// Create Wiki-Group 'users' from default user group

$wgGroupPermissions['users'] = $wgGroupPermissions['user']; (IS THIS OK?????)

// Private Wiki. External LDAP login. Default NS requires login. (ARE THESE OK???)

$wgEmailConfirmToEdit = false;

$wgGroupPermissions['*']['edit'] = false;

$wgGroupPermissions['*']['read'] = false;

$wgGroupPermissions['*']['createaccount'] = false;

$wgGroupPermissions['sysop']['createaccount'] = false;

$wgGroupPermissions['*']['autocreateaccount'] = true;

$wgBlockDisablesLogin = true;

// Load LDAP Config from JSON

$ldapJsonFile = __DIR__ . '/ldapprovider.json';

$ldapConfig = false;

if (is_file($ldapJsonFile)) {

    $testJson = @json_decode(file_get_contents($ldapJsonFile), true);

    if (is_array($testJson)) {

        $ldapConfig = true;

    } else {

        error_log("Found invalid JSON in file: $ldapJsonFile");

    }

} else {

    error_log("LDAP config file not found: $ldapJsonFile");

}

// Activate LDAP extensions

if ( $ldapConfig ) {

wfLoadExtension( 'PluggableAuth' );

wfLoadExtension( 'LDAPProvider' );

wfLoadExtension( 'LDAPAuthentication2' );

wfLoadExtension( 'LDAPAuthorization' );

wfLoadExtension( 'LDAPGroups' );

wfLoadExtension( 'LDAPUserInfo' );

$LDAPProviderDomainConfigs = "$ldapJsonFile";

// Force LDAPGroups to sync by choosing a domain (e.g. first JSON object in ldap.json)

$LDAPProviderDefaultDomain = array_key_first(json_decode(file_get_contents($LDAPProviderDomainConfigs), true));

# Configure PluggableAuth settings

$wgPluggableAuth_EnableAutoLogin = false;

$wgPluggableAuth_EnableLocalLogin = true;

$wgPluggableAuth_EnableLocalProperties = false;

$wgPluggableAuth_EnableFastLogout = true;

$wgPluggableAuth_Config = [

"ACME Wiki Login" => [

'plugin' => 'LDAPAuthentication2',

'data' => ['domain' => 'ACME.ORG']

],

"LDAP Authorization" => [

'plugin' => 'LDAPAuthorization'

]

];

# LDAPProvider settings

$LDAPProviderCacheType = 'CACHE_NONE'; // 'CACHE_ANYTHING' when NOT debugging

$LDAPProviderCacheTime = 500;

$LDAPProviderPreSearchUsernameModifierRegistry = [

'strtolower' => function () {

return \MediaWiki\Extension\LDAPProvider\PreSearchUsernameModifier\ToLower::newInstance();

},

'removespaces' => function () {

return \MediaWiki\Extension\LDAPProvider\PreSearchUsernameModifier\RemoveSpaces::newInstance();

}

];

# LDAPAuthentication2 settings

$LDAPAuthentication2AllowLocalLogin = true;

$LDAPAuthentication2UsernameNormalizer = 'strtolower';

$wgLDAPAuthentication2['authentication']['usernameattribute'] = 'samaccountName';

if ($wikiRequestSafe) { $LDAPAuthentication2AllowLocalLogin = true; }

}

$wgShowExceptionDetails = true;

$wgDebugToolbar = true;

$wgDebugLogGroups['PluggableAuth'] = 'C:/Windows/Temp/PLUG.log';

$wgDebugLogGroups['LDAP'] = 'C:/Windows/Temp/ldap1.log';

$wgDebugLogGroups['MediaWiki\\Extension\\LDAPProvider\\Client'] = 'C:/Windows/Temp/ldapprovider.log';

$wgDebugLogGroups['LDAPGroups'] = 'C:/Windows/Temp/LDAPGroups.log';

$wgDebugLogGroups['LDAPUserInfo'] = 'C:/Windows/Temp/LDAPUser.log';

$wgDebugLogGroups['LDAPAuthentication2'] = 'C:/Windows/Temp/LDAPAuthentication2.log';

$wgDebugLogGroups['LDAPAuthorization'] = 'C:/Windows/Temp/LDAP.log';

********************************

ldapprovider.json:

{

  "ACME.ORG": {

    "connection": {

      "server": "x.x.x.x",

      "port": 389,

      "use-tls": false,

      "enctype": "clear",

      "user": "CN=wiki service account,OU=ACME Managed Service Accounts,DC=ACME,DC=ORG",

      "pass": "xxx",

      "options": { "LDAP_OPT_DEREF": 1 },

      "basedn": "DC=ACME,DC=ORG",

      "groupbasedn": "DC=ACME,DC=ORG",

      "userbasedn": "DC=ACME,DC=ORG",

      "searchattribute": "samaccountname",

      "usernameattribute": "samaccountname",

      "realnameattribute": "samaccountname",

      "groupsearch": "$dn",

      "grouprequest": "MediaWiki\\Extension\\LDAPProvider\\UserGroupsRequest\\UserMemberOf::factory",

      "presearchusernamemodifiers": [ "lowercase", "removespaces" ],

      "searchstring": "CN=USER-NAME,DC=ACME,DC=ORG",

      "nestedgroups": false

    },

    "userinfo": {

      "attributes-map": {

        "realname": "samaccountname"

      }

    },

    "authorization": {

      "rules": {

        "groups": {

          "required": [

            "CN=Information Technology,OU=GROUPS,DC=ACME,DC=ORG",

            "CN=Human Resources,OU=GROUPS,DC=ACME,DC=ORG"

          ]

        }

      }

    },

    "groupsync": {

      "mechanism": "mappedgroups",

      "mapping": {

        "information technology": "CN=Information Technology,OU=GROUPS,DC=ACME,DC=ORG",

        "human resources": "CN=Human Resources,OU=GROUPS,DC=ACME,DC=ORG"

      }

    }

  }

} Wikiphpnoob (talk) 18:38, 2 April 2024 (UTC)Reply

@Osnard any ideas? Wikiphpnoob (talk) 12:24, 3 April 2024 (UTC)Reply
also seeing from $wgDebugLogFile some entries...
>checkLDAPLogin/MediaWiki\Auth\AuthManager->setAuthenticationSessionData/MediaWiki\Session\Session->setSecret/MediaWiki\Session\Session->set/MediaWiki\Session\SessionBackend->dirty [LDAPProvider] Setting LDAP_OPT_PROTOCOL_VERSION to 3 [LDAPProvider] Setting LDAP_OPT_REFERRALS to 0 [LDAPProvider] Setting LDAP_OPT_DEREF to 1 [LDAPProvider] MediaWiki\Extension\LDAPProvider\Client::getSearchString: User DN is: 'CN=firstname.lastname,DC=ACME,DC=ORG'
which i believe at a minimum, it shows successful validation of a username using LDAP Wikiphpnoob (talk) 14:17, 3 April 2024 (UTC)Reply
What do the debug logs?
Regarding the $wgGroupPermissions: If you want to have per-namespace permissions, please check out Extension:Lockdown Osnard (talk) 09:50, 4 April 2024 (UTC)Reply
@Osnard
if there are other logs i need to set up, or have done so incorrectly, please help
I have this set up at the bottom of my LocalSettings:
$wgShowExceptionDetails = true;
$wgDebugToolbar = true;
$wgDebugLogGroups['PluggableAuth'] = 'C:/Windows/Temp/PLUG.log';
$wgDebugLogGroups['LDAP'] = 'C:/Windows/Temp/ldap1.log';
$wgDebugLogGroups['MediaWiki\\Extension\\LDAPProvider\\Client'] = 'C:/Windows/Temp/ldapprovider.log';
$wgDebugLogGroups['LDAPGroups'] = 'C:/Windows/Temp/LDAPGroups.log';
$wgDebugLogGroups['LDAPUserInfo'] = 'C:/Windows/Temp/LDAPUser.log';
$wgDebugLogGroups['LDAPAuthentication2'] = 'C:/Windows/Temp/LDAPAuthentication2.log';
$wgDebugLogGroups['LDAPAuthorization'] = 'C:/Windows/Temp/LDAP.log';
$wgDebugLogFile = 'C:/Windows/Temp/Debug.log';
only Debug, LDAPAuthentication2 and PLUG log files are collecting logs
LDAPAuthentication2:
2024-04-04 12:04:44 SERVER acme: Try to authenticate user: firstname.lastname
2024-04-04 12:04:44 SERVER acme: Not local login. Checking LDAP...
2024-04-04 12:04:44 SERVER acme: LDAP domain: RAARIC.ORG
2024-04-04 12:04:44 SERVER acme: Could not bind to LDAP domain with given user: firstname.lastname
PLUG
2024-04-04 12:04:44 SERVER acme: In execute()
2024-04-04 12:04:44 SERVER acme: Getting PluggableAuth instance
2024-04-04 12:04:44 SERVER acme: Plugin name: LDAPAuthentication2
2024-04-04 12:04:44 SERVER acme: Authentication failure.
2024-04-04 12:04:44 SERVER acme: ERROR: Could not authenticate credentials against domain "ACME.ORG"
Debug snippits:
[session] SessionBackend "3j82ch3sui4ve4f2ftbjsb8l31dgkhts" data dirty due to dirty(): MediaWiki\Extension\PluggableAuth\PrimaryAuthenticationProvider->continuePrimaryAuthentication/MediaWiki\Auth\AuthManager->removeAuthenticationSessionData/MediaWiki\Session\Session->setSecret/MediaWiki\Session\Session->set/MediaWiki\Session\SessionBackend->dirty
[authentication] Login failed in primary authentication by MediaWiki\Extension\PluggableAuth\PrimaryAuthenticationProvider
[session] SessionBackend "3j82ch3sui4ve4f2ftbjsb8l31dgkhts" data dirty due to dirty(): AuthManagerSpecialPage->handleFormSubmit/AuthManagerSpecialPage->performAuthenticationStep/MediaWiki\Auth\AuthManager->continueAuthentication/MediaWiki\Session\Session->remove/MediaWiki\Session\SessionBackend->dirty
[session] SessionBackend "3j82ch3sui4ve4f2ftbjsb8l31dgkhts" data dirty due to dirty(): AuthManagerSpecialPage->handleReturnBeforeExecute/MediaWiki\Auth\AuthManager->removeAuthenticationSessionData/MediaWiki\Session\Session->setSecret/MediaWiki\Session\Session->set/MediaWiki\Session\SessionBackend->dirty[DBQuery] LCStoreDB::get [0s] 127.0.0.1: SELECT  lc_value  FROM `l10n_cache`    WHERE lc_lang = 'en' AND lc_key = 'messages:ldapauthentication2-error-authentication-failed'  LIMIT 1  [session] SessionBackend "3j82ch3sui4ve4f2ftbjsb8l31dgkhts" data dirty due to dirty(): MediaWiki\Extension\LDAPAuthentication2\PluggableAuth->checkLDAPLogin/MediaWiki\Auth\AuthManager->setAuthenticationSessionData/MediaWiki\Session\Session->setSecret/MediaWiki\Session\Session->set/MediaWiki\Session\SessionBackend->dirty
[LDAPProvider] Setting LDAP_OPT_PROTOCOL_VERSION to 3
[LDAPProvider] Setting LDAP_OPT_REFERRALS to 0
[LDAPProvider] Setting LDAP_OPT_DEREF to 1
[LDAPProvider] MediaWiki\Extension\LDAPProvider\Client::getSearchString: User DN is: 'CN=firstname.lastname,DC=ACME,DC=ORG' Wikiphpnoob (talk) 12:39, 4 April 2024 (UTC)Reply
Are there no log messages (e.g. in C:/Windows/Temp/ldap1.log) that look like this?
ldap_bind( ...
# returns ... Osnard (talk) 06:28, 5 April 2024 (UTC)Reply
no, there is no ldap1 log file created Wikiphpnoob (talk) 11:30, 5 April 2024 (UTC)Reply
What about C:/Windows/Temp/ldapprovider.log? Is such a log message in any of the other logs you have wired? Osnard (talk) 06:34, 8 April 2024 (UTC)Reply
negative Wikiphpnoob (talk) 13:00, 8 April 2024 (UTC)Reply
The discussion above is closed. Please do not modify it. No further edits should be made to this discussion.

Could not authenticate credentials against domain "mydomain"

[edit]

I am trying to get the LDAP stack working with mediawiki (1.39.2) using the procedure Manual:Active Directory Integration

Both the LDAP and mediawiki are hosted on a Synology NAS.

Using the mediawiki login page returns the above error message


Running ShowUserInfo.php --domain "mydomain" --username "pytest" returns a valid outptup
Running CheckLogin.php --domain "mydomain" --username "pytest" however returns a Password: FAILED error message
Below is my ldapprovider.json file

{

"mydomain": {

"connection": {

"server": "ldap.XXXXX.nl",

"port": "389",

"user": "uid=root,cn=users,dc=ldap,dc=XXXXX,dc=com",

"pass": "XXXXX",

"enctype": "clear",

"options": {

"LDAP_OPT_DEREF": 1

},

"basedn": "dc=ldap,dc=XXXXX,dc=com",

"userbasedn": "dc=ldap,dc=XXXXX,dc=com",

"groupbasedn": "dc=ldap,dc=XXXXX,dc=com",

"searchattribute": "uid",

"usernameattribute": "USER-NAME",

"searchstring": "uid=USER-NAME,dc=ldap,dc=XXXXX,dc=com",

"realnameattribute": "cn",

"emailattribute": "mail"

},

"userinfo": [],

"authorization": [],

"groupsync": {

"mapping": {

"users": "cn=users,cn=groups,dc=ldap,dc=XXXXX,dc=com",

"sysop": "cn=administrators,cn=groups,dc=ldap,dc=XXXXX,dc=com"

}

}

}

}


I am running out of ideas and thank you for your help Pysleto (talk) 13:58, 3 April 2024 (UTC)Reply
Can you please wire the debug logs and check if there is something in them? Osnard (talk) 09:48, 4 April 2024 (UTC)Reply
Thank you for your reply and help
Below the debug logs. As you can see, could not bind to LDAP domain with given user. But I do not understand why... Oddly, local login does not work either (2nd attempt) unless I deactivate the LDAP stack.
2024-04-04 12:04:31 mydomain Test-Test: In execute()
2024-04-04 12:04:31 mydomain Test-Test: Getting PluggableAuth instance
2024-04-04 12:04:31 mydomain Test-Test: Plugin name: LDAPAuthentication2
2024-04-04 12:04:31 mydomain Test-Test: Try to authenticate user: pytest
2024-04-04 12:04:31 mydomain Test-Test: Not local login. Checking LDAP...
2024-04-04 12:04:31 mydomain Test-Test: LDAP domain: mydomain
2024-04-04 12:04:32 mydomain Test-Test: Could not bind to LDAP domain with given user: pytest
2024-04-04 12:04:32 mydomain Test-Test: Authentication failure.
2024-04-04 12:04:32 mydomain Test-Test: ERROR: Could not authenticate credentials against domain "mydomain"
2024-04-04 12:04:43 mydomain Test-Test: In execute()
2024-04-04 12:04:43 mydomain Test-Test: Getting PluggableAuth instance
2024-04-04 12:04:43 mydomain Test-Test: Plugin name: LDAPAuthentication2
2024-04-04 12:04:43 mydomain Test-Test: Try to authenticate user: Pysleto
2024-04-04 12:04:43 mydomain Test-Test: Not local login. Checking LDAP...
2024-04-04 12:04:43 mydomain Test-Test: LDAP domain: mydomain
2024-04-04 12:04:44 mydomain Test-Test: Could not bind to LDAP domain with given user: Pysleto
2024-04-04 12:04:44 mydomain Test-Test: Authentication failure.
2024-04-04 12:04:44 mydomain Test-Test: ERROR: Could not authenticate credentials against domain "mydomain" Pysleto (talk) 12:08, 4 April 2024 (UTC)Reply
Does your LDAP server allow binding for this user? Osnard (talk) 06:22, 5 April 2024 (UTC)Reply
I get a valid output when running the following command line. Anymous binding is disabled but allowing it does not solve the problem.
ldapsearch -x "uid=pytest" -H "ldap://ldap.mydomain.com:389" -D "uid=root,cn=users,dc=ldap,dc=mydomain,dc=com" -w "XXXXXXXXXX" -b "dc=ldap,dc=mydomain,dc=com"
or am I misunderstanding your point?
Thank you very much for your support Pysleto (talk) 07:12, 5 April 2024 (UTC)Reply
Are there any log messages that start with / contain code ldap_? Have you wired all log channels? Osnard (talk) 06:36, 8 April 2024 (UTC)Reply
The general debug.log file contains the following lines with a reference to LDAP, utlimately resulting in User::getBlockedStatus
[session] SessionBackend "cb9oc0i5slqfanhaslo63s5tjt9esiqu" data dirty due to dirty(): MediaWiki\Extension\LDAPAuthentication2\PluggableAuth->checkLDAPLogin/MediaWiki\Auth\AuthManager->setAuthenticationSessionData/MediaWiki\Session\Session->setSecret/MediaWiki\Session\Session->set/MediaWiki\Session\SessionBackend->dirty
[LDAPProvider] Setting LDAP_OPT_PROTOCOL_VERSION to 3
[LDAPProvider] Setting LDAP_OPT_REFERRALS to 0
[LDAPProvider] Setting LDAP_OPT_DEREF to 1
[LDAPProvider] MediaWiki\Extension\LDAPProvider\Client::getSearchString: User DN is: 'uid=pytest,dc=ldap,dc=mydomain,dc=com'
I have wired the following log as suggested
$wgDebugLogFile = "$IP/debug.log";
$wgDebugLogGroups['PluggableAuth'] =
$wgDebugLogGroups['LDAP'] =
$wgDebugLogGroups['MediaWiki\\Extension\\LDAPProvider\\Client'] =
$wgDebugLogGroups['LDAPGroups'] =
$wgDebugLogGroups['LDAPUserInfo'] =
$wgDebugLogGroups['LDAPAuthentication2'] =
$wgDebugLogGroups['LDAPAuthorization'] = "$IP/tmp/LDAP.log"; Pysleto (talk) 07:43, 8 April 2024 (UTC)Reply
You should see something like here: https://github.com/wikimedia/mediawiki-extensions-LDAPProvider/blob/master/src/PlatformFunctionWrapper.php#L96-L98
Can you please add
$wgDebugLogGroups['LDAPProvider'] = "$IP/tmp/LDAP.log"; Osnard (talk) 09:48, 8 April 2024 (UTC)Reply
Thank you very much for your suport
I have set $wgDebugLogGroups['LDAPProvider'].
It adds 3 lines on setting CONSTANTS but I still do not see the expected ldap_ error message
Below the LDAP.log
2024-04-08 09:52:58 Test Test-test: In execute()
2024-04-08 09:52:58 Test Test-test: Getting PluggableAuth instance
2024-04-08 09:52:58 Test Test-test: Plugin name: LDAPAuthentication2
2024-04-08 09:52:58 Test Test-test: Try to authenticate user: pytest
2024-04-08 09:52:58 Test Test-test: Not local login. Checking LDAP...
2024-04-08 09:52:59 Test Test-test: LDAP domain: mydomain
2024-04-08 09:52:59 Test Test-test: Setting LDAP_OPT_PROTOCOL_VERSION to 3
2024-04-08 09:52:59 Test Test-test: Setting LDAP_OPT_REFERRALS to 0
2024-04-08 09:52:59 Test Test-test: Setting LDAP_OPT_DEREF to 1
2024-04-08 09:52:59 Test Test-test: MediaWiki\Extension\LDAPProvider\Client::getSearchString: User DN is: 'uid=pytest,dc=ldap,dc=mydomain,dc=com'
2024-04-08 09:52:59 Test Test-test: Could not bind to LDAP domain with given user: pytest
2024-04-08 09:52:59 Test Test-test: Authentication failure.
2024-04-08 09:52:59 Test Test-test: ERROR: Could not authenticate credentials against domain "mydomain" Pysleto (talk) 09:59, 8 April 2024 (UTC)Reply
My apologies. There seems to be a bug in the software. Can you try to apply this patch? https://gerrit.wikimedia.org/r/c/mediawiki/extensions/LDAPProvider/+/1017821
Then we should see some more logging. Osnard (talk) 10:59, 8 April 2024 (UTC)Reply
No need to apologise and once again, thank you for your support.
I have tried to apply the patch but get the following error
root@XXXXX:/volume1/web_packages/mediawiki/extensions/LDAPProvider# git apply 07c6aa5.diff
warning: src/Client.php has type 100755, expected 100644
error: patch failed: src/Client.php:125
error: src/Client.php: patch does not apply
My current installation is a direct download of the LDAPProvider extension for mediawiki 1.39. Pysleto (talk) 12:20, 8 April 2024 (UTC)Reply
The patch has been merged in the mean time. Please try to update the extension completely from REL1_39 branch. Osnard (talk) 11:19, 9 April 2024 (UTC)Reply
I have cloned the REL1_39 branch of the LDAPProvider extension in volume1/web_packages/mediawiki/extensions/
I get the following error message from the start when accessing mediawiki. I did not have via a direct download of the extension. I confirm the existence of the file /volume1/web_packages/mediawiki/extensions/LDAPProvider/extension.json
Fatal error: Uncaught Exception: Unable to open file /volume1/web_packages/mediawiki/extensions/LDAPProvider/extension.json: filemtime(): stat failed for /volume1/web_packages/mediawiki/extensions/LDAPProvider/extension.json in /volume1/web_packages/mediawiki/includes/registration/ExtensionRegistry.php:199 Stack trace: #0 /volume1/web_packages/mediawiki/includes/GlobalFunctions.php(53): ExtensionRegistry->queue('/volume1/web_pa...') #1 /volume1/web_packages/mediawiki/LocalSettings.php(208): wfLoadExtension('LDAPProvider') #2 /volume1/web_packages/mediawiki/includes/Setup.php(218): require_once('/volume1/web_pa...') #3 /volume1/web_packages/mediawiki/includes/WebStart.php(86): require_once('/volume1/web_pa...') #4 /volume1/web_packages/mediawiki/index.php(44): require('/volume1/web_pa...') #5 {main} thrown in /volume1/web_packages/mediawiki/includes/registration/ExtensionRegistry.php on line 199 Pysleto (talk) 10:14, 10 April 2024 (UTC)Reply
Looks like something went wrong with the cloning of the repository on your side. Try Special:ExtensionDistributor. Osnard (talk) 06:03, 11 April 2024 (UTC)Reply
Here are the log messages. It looks like you already identified the issue in the comment you made 8 days ago.
I will welcome any tips on solving this issue.
Thanks
2024-04-12 09:58:47 byimogen ByImogen-BImgn: In execute()
2024-04-12 09:58:47 byimogen ByImogen-BImgn: Getting PluggableAuth instance
2024-04-12 09:58:47 byimogen ByImogen-BImgn: Plugin name: LDAPAuthentication2
2024-04-12 09:58:47 byimogen ByImogen-BImgn: Try to authenticate user: pytest
2024-04-12 09:58:47 byimogen ByImogen-BImgn: Not local login. Checking LDAP...
2024-04-12 09:58:47 byimogen ByImogen-BImgn: LDAP domain: mydomain
2024-04-12 09:58:47 byimogen ByImogen-BImgn: Setting LDAP_OPT_PROTOCOL_VERSION to 3
2024-04-12 09:58:47 byimogen ByImogen-BImgn: ldap_set_option( $linkID, $option = 17, $newval = 3 );
2024-04-12 09:58:47 byimogen ByImogen-BImgn: # returns true
2024-04-12 09:58:47 byimogen ByImogen-BImgn: Setting LDAP_OPT_REFERRALS to 0
2024-04-12 09:58:47 byimogen ByImogen-BImgn: ldap_set_option( $linkID, $option = 8, $newval = 0 );
2024-04-12 09:58:47 byimogen ByImogen-BImgn: # returns true
2024-04-12 09:58:47 byimogen ByImogen-BImgn: Setting LDAP_OPT_DEREF to 1
2024-04-12 09:58:47 byimogen ByImogen-BImgn: ldap_set_option( $linkID, $option = 2, $newval = 1 );
2024-04-12 09:58:47 byimogen ByImogen-BImgn: # returns true
2024-04-12 09:58:47 byimogen ByImogen-BImgn: ldap_bind( $linkID, $bindRDN = 'uid=root,cn=users,dc=ldap,dc=byimogen,dc=nl', $bindPassword = 'XXXX' );
2024-04-12 09:58:47 byimogen ByImogen-BImgn: # returns true
2024-04-12 09:58:47 byimogen ByImogen-BImgn: MediaWiki\Extension\LDAPProvider\Client::getSearchString: User DN is: 'uid=pytest,dc=ldap,dc=byimogen,dc=nl'
2024-04-12 09:58:47 byimogen ByImogen-BImgn: ldap_bind( $linkID, $bindRDN = 'uid=pytest,dc=ldap,dc=byimogen,dc=nl', $bindPassword = 'XXXX' );
2024-04-12 09:58:47 byimogen ByImogen-BImgn: # returns false
2024-04-12 09:58:47 byimogen ByImogen-BImgn: Could not bind to LDAP domain with given user: pytest
2024-04-12 09:58:47 byimogen ByImogen-BImgn: Authentication failure.
2024-04-12 09:58:47 byimogen ByImogen-BImgn: ERROR: Could not authenticate credentials against domain "mydomain" Pysleto (talk) 10:07, 12 April 2024 (UTC)Reply
Apparently the first bind with uid=root,cn=users,dc=ldap,dc=byimogen,dc=nl does work, But the second does not.
This means in the second case:
  • Either the user DN is wrong
  • Or the password is wrong
  • Or this particular user is not allowed to do a direct bind (LDAP server side setting)
So, does the DN uid=pytest,dc=ldap,dc=byimogen,dc=nl look correct to you? Maybe it has been assembled wrongly. Osnard (talk) 07:53, 15 April 2024 (UTC)Reply

User "test" not authorized

[edit]

Hi, I seem to be running into some issues with getting LDAP working with mediawiki. In my setup I'm utilizing the dockerfile from canasta. Here's the link https://github.com/CanastaWiki/Canasta/blob/master/Dockerfile, I added the "php7.4-ldap" module into my dockerfile as well as installed libldap2-dev, and ldap-utils within the container. I performed a "ldapsearch" with a bind and was able to run queries against my AD server successfully.

Performing CheckLogin.php returns "OK"

Performing CheckUserInfo.php returns information on user specified

Performing CheckUserGroups.php for any specified user returns information aswell


If needed I can show the details of the logs that I've collected.


Here is my LocalSettings.php :


<?php
    # Degbugging!
    error_reporting( E_ALL );
    ini_set( 'display_errors', 1 );
    $wgShowExceptionDetails = true;
    $wgDebugToolbar = true;
    $wgShowErrors = true;
    $wgShowError = true;
    $wgShowDebug = true;
    $wgDebugLogFile = '/tmp/debug.log';
    $wgDebugLogGroups = array(
       'PluggableAuth' => '/tmp/pa.log',
       'LDAP' => '/tmp/LDAP.log',
       'LDAPProvider' => '/tmp/LDAPProvider.log',
       'LDAPAuthentication2' => '/tmp/LDAPAuthentication2.log',
       'LDAPAuthorization' => '/tmp/authz.log',
       'LDAPUserInfo' => '/tmp/LDAP_user.log',
       'LDAPGroups' => '/tmp/LDAP_Groups.log',
       'MediaWiki\\Extension\\LDAPProvider\\Client' => '/tmp/ldapprovider_client.log'
    );
    # This file was automatically generated by the MediaWiki 1.39.6
    # installer. If you make manual changes, please keep track in case you
    # need to recreate them later.
    
# LDAPExtensions
    // Safe IP or not (for bypassing external login via AD)
    $safeIPs = array('127.0.0.1','localhost');
    $ipsVars = array('HTTP_X_FORWARDED_FOR', 'HTTP_X_REAL_IP', 'REMOTE_ADDR');
    foreach ($ipsVars as $ipsVar) {
       if (isset($_SERVER[$ipsVar]) && mb_strlen($_SERVER[$ipsVar]) > 3 ) { $wikiRequestIP = $_SERVER[$ipsVar];
       break; }
    }
    $wikiRequestSafe = ( isset($wikiRequestIP) && ( in_array($wikiRequestIP,$safeIPs) ));
    // Private Wiki. External LDAP Login. Default NS requires login.
    $wgEmailConfirmToEdit = false;
    $wgGroupPermissions['*']['edit'] = false;
    $wgGroupPermissions['*']['read'] = false;
    $wgGroupPermissions['*']['createaccount'] = false;
    $wgGroupPermissions['sysop']['createaccount'] = false;
    $wgGroupPermissions['*']['autocreateaccount'] = true;
    $wgBlockDisablesLogin = true;
    $ldapJsonFile = "/var/www/ldapprovider.json";
    $ldapConfig = false;
    if (is_file($ldapJsonFile) && is_dir("/var/www/mediawiki/w/extensions/LDAPProvider")) {
       $testJson = @json_decode(file_get_contents($ldapJsonFile), true);
       if (is_array($testJson)) {
           $ldapConfig = true;
       
       } else {
           error_log("Found invalid JSON in file: /var/www/ldapprovider.json");
       }
    }
    if ($ldapConfig) {
       wfLoadExtension('LDAPProvider');
       wfLoadExtension('LDAPAuthentication2');
       #wfLoadExtension('LDAPAuthorization');
       wfLoadExtension('LDAPUserInfo');
       wfLoadExtension('LDAPGroups');
       wfLoadExtension('PluggableAuth');
       $LDAPProviderDomainConfigs = $ldapJsonFile;
       $wgLDAPProvider["CacheType"] = "CACHE_NONE";
       $wgLDAPProvider["CacheTime"] = 3600; 
       // Force LDAPGroups to sync by choosing a domain (e.g. first JSON object in ldapprovider.json)
       $LDAPProviderDefaultDomain = array_key_first(json_decode(file_get_contents($LDAPProviderDomainConfigs), true));
       $wgPluggableAuth_EnableAutoLogin = false;
       $wgPluggableAuth_EnableLocalLogin = false; # required to show the username and password field on login page
       $wgPluggableAuth_EnableFastLogout = true;
       $wgPluggableAuth_Config = array(
           array(
               "plugin" => "LDAPAuthentication2",
               "buttonLabelMessage" => "Domain Login",
               "data" => ["domain" => $LDAPProviderDefaultDomain]
           ),
           #array("plugin" => "LDAPAuthorization"),
       );
      if ($wikiRequestSafe) { $LDAPAuthentication2AllowLocalLogin = true; }
    }
    # The configuration below is the method used to communicate to the LDAP server through a static .json file 
    $LDAPProviderDomainConfigs = "/var/www/ldapprovider.json";
    
# LDAPAuthentication2
    // Whether or not to display a "local" psuedo-domain in the domain selector on "Special:Login", thus allowing to authenticate against the local user database. (defaults to false if not specified)
    $LDAPAuthentication2AllowLocalLogin = true;
    // Use this function for normalizing username for LDAP, for example 'strtolower'. (defaults to "")
    $LDAPAuthentication2UsernameNormalizer = "";
    # Auth_remoteuser
    // Set the name for mapping into the local wiki user database. If the value is `null`, the extension defaults to using the enviornment variables `REMOTE_USER` and `REDIRECT_REMOTE_USER`
    $wgAuthRemoteuserUserName = null; //default
    #$wgAuthRemoteuserUserName = [
    #    $_SERVER[ 'REMOTE_USER' ],
    #    $_SERVER[ 'REDIRECT_REMOTE_USER' ]
    #];
    $wgAuthRemoteuserUserNameReplaceFilter = null; //default    
    # PluggableAuth Extension Configuration
    // Should user login occur automatically when a user visits the wiki?
    $wgPluggableAuth_EnableAutoLogin = true;
    // Should user also be presented with username/password fields on the login page to allow local password-based login to the wiki
    $wgPluggableAuth_EnableLocalLogin = true;
========================================================================
[edit]

Here is my ldapprovider.json within the docker container:

{
           "test.local": {
                   "connection": {
                           "server": "XXXXX.test.local",
               "port": "389",
                           "user": "CN=XXXXX,CN=Users,DC=test,DC=local",
                           "pass": "XXXXX",
               "enctype": "clear",
                           "options": {
                                   "LDAP_OPT_DEREF": 1
                           },
                           "basedn": "dc=test,dc=local",
                           "userbasedn": "dc=test,dc=local",
                           "groupbasedn": "dc=test,dc=local",
                           "searchattribute": "samaccountname",
                           "usernameattribute": "samaccountname",
                           "realnameattribute": "cn",
                           "emailattribute": "mail",
                           "grouprequest": "MediaWiki\\Extension\\LDAPProvider\\UserGroupsRequest\\GroupMember::factory",
                           "presearchusernamemodifiers":["spacestounderscores", "lowercase"]
                   },
                   "userinfo": [],
                   "authorization": [],
                   "groupsync": {
                           "mapping": {
                                   "sysop": "CN=Domain Admins,CN=Users,DC=test,DC=local"
                           }
                   }
           }
    }
Ksmith197 (talk) 22:48, 12 April 2024 (UTC)Reply
Can you please share the debug logs? Especially the lines starting with ldap_ Osnard (talk) 07:49, 15 April 2024 (UTC)Reply
I cleared out all logs I previously had inside of /tmp/ directory, then tried to log in to the domain with the "test" user to generate logs.
The following was generated:
LDAPAuthentication2.log
LDAPProvider.log
pa.log
debug.log - (I've omitted the information within this log from this reply, as it's quite lengthy. If needed I will include)
Here is the information within each, canasta being the name of the docker container:
====== ============================================================ ======
LDAPProvider.log
2024-04-15 13:38:06 canasta mediawiki: Setting LDAP_OPT_PROTOCOL_VERSION to 3
2024-04-15 13:38:06 canasta mediawiki: Setting LDAP_OPT_REFERRALS to 0
2024-04-15 13:38:06 canasta mediawiki: Setting LDAP_OPT_DEREF to 1
2024-04-15 13:38:06 canasta mediawiki: MediaWiki\Extension\LDAPProvider\Client::getUserDN: search with array (
  'base' => 'dc=test,dc=local',
  'filter' => '(samaccountname=test)',
  'attributes' =>
  array (
   0 => '*',
   1 => 'memberof',
  ),
)
2024-04-15 13:38:06 canasta mediawiki: Found user DN: 'CN=test,CN=Users,DC=test,DC=local'
2024-04-15 13:38:06 canasta mediawiki: MediaWiki\Extension\LDAPProvider\Client::getSearchString: User DN is: 'CN=test,CN=Users,DC=test,DC=local'
2024-04-15 13:38:06 canasta mediawiki: Ran LDAP search for '(samaccountname=test)' in 0.00037193298339844 seconds.
====== ============================================================ ======
LDAPAuthentication2.log
2024-04-15 13:38:06 canasta mediawiki: Try to authenticate user: test
2024-04-15 13:38:06 canasta mediawiki: Not local login. Checking LDAP...
2024-04-15 13:38:06 canasta mediawiki: LDAP domain: test.local
2024-04-15 13:38:06 canasta mediawiki: LDAP login succeeded.
====== ============================================================ ======
pa.log (Pluggable Auth)
2024-04-15 13:38:06 canasta mediawiki: In execute()
2024-04-15 13:38:06 canasta mediawiki: Getting PluggableAuth instance
2024-04-15 13:38:06 canasta mediawiki: Plugin name: LDAPAuthentication2
2024-04-15 13:38:06 canasta mediawiki: Authenticated new user: test
2024-04-15 13:38:06 canasta mediawiki: Authorization failure. Ksmith197 (talk) 13:55, 15 April 2024 (UTC)Reply
I'm adding debug logs from my most recent attempt. I'm not sure how to parse through this for relevant information.
Debug data:
  • [objectcache] MainWANObjectCache using store EmptyBagOStuff
  • Start request GET /w/index.php?title=Special:UserLogin&returnto=Special%3APluggableAuthLogin IP: 172.18.0.1 HTTP HEADERS: UPGRADE-INSECURE-REQUESTS: 1 COOKIE: mediawikiUserName=Carlg; mw_installer_session=nrofn5id2pc8cd2o2ue9e7b7a0; VEE=wikitext; mediawiki_session=24b0tmls3f9dnjuj6vgke6ahnd90n53g; UseDC=master; UseCDNCache=false CONNECTION: keep-alive REFERER: http://raider/w/index.php?title=Special:UserLogin&returnto=Special%3APluggableAuthLogin ACCEPT-ENCODING: gzip, deflate ACCEPT-LANGUAGE: en-US,en;q=0.5 ACCEPT: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8 USER-AGENT: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:123.0) Gecko/20100101 Firefox/123.0 HOST: raider (end headers)
  • [session] SessionManager using store SqlBagOStuff
  • [localisation] LocalisationCache using store LCStoreDB
  • [session] Session "24b0tmls3f9dnjuj6vgke6ahnd90n53g" requested without UserID cookie
  • [DBQuery] Wikimedia\Rdbms\DatabaseMysqlBase::open [0s] database: SET group_concat_max_len = 262144, `sql_mode` = ''
  • [DBReplication] Cannot use ChronologyProtector with EmptyBagOStuff
  • [DBReplication] Wikimedia\Rdbms\LBFactory::getChronologyProtector: request info { "IPAddress": "172.18.0.1", "UserAgent": "Mozilla\/5.0 (X11; Ubuntu; Linux x86_64; rv:123.0) Gecko\/20100101 Firefox\/123.0", "ChronologyProtection": false, "ChronologyPositionIndex": 0, "ChronologyClientId": false }
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::lazyLoadReplicationPositions: executed chronology callback.
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: opened new connection for localAutoCommit/0
  • [DBQuery] SqlBagOStuff::fetchBlobs [0s] database: SELECT keyname,value,exptime FROM `objectcache` WHERE keyname = 'mediawiki:MWSession:24b0tmls3f9dnjuj6vgke6ahnd90n53g' AND (exptime >= '20240417211218')
  • [SQLBagOStuff] SqlBagOStuff debug: SqlBagOStuff::fetchBlobs: retrieved mediawiki:MWSession:24b0tmls3f9dnjuj6vgke6ahnd90n53g; expiry time is 20240417221218
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for localAutoCommit/0
  • [SQLBagOStuff] MainObjectStash using store ReplicatedBagOStuff
  • [DBQuery] Wikimedia\Rdbms\DatabaseMysqlBase::open [0s] database: SET group_concat_max_len = 262144, `sql_mode` = ''
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: opened new connection for local/0
  • [DBQuery] Wikimedia\Rdbms\Database::beginIfImplied (Wikimedia\Rdbms\Database::select) [0s] database: BEGIN
  • [DBQuery] Wikimedia\Rdbms\Database::select [0s] database: SELECT pp_value FROM `page_props` WHERE pp_page = 0 AND pp_propname = 'MintyDocsPageType'
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'deps' LIMIT 1
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0.001s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'list' LIMIT 1
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'preload' LIMIT 1
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'preload' LIMIT 1
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'specialPageAliases' LIMIT 1
  • User::getBlockedStatus: checking blocked status for 172.18.0.1
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] MediaWiki\Block\DatabaseBlock::newLoad [0s] database: SELECT ipb_id,ipb_address,ipb_timestamp,ipb_auto,ipb_anon_only,ipb_create_account,ipb_enable_autoblock,ipb_expiry,ipb_deleted,ipb_block_email,ipb_allow_usertalk,ipb_parent_block_id,ipb_sitewide,ipb_by_actor,ipblocks_actor.actor_user AS `ipb_by`,ipblocks_actor.actor_name AS `ipb_by_text`,comment_ipb_reason.comment_text AS `ipb_reason_text`,comment_ipb_reason.comment_data AS `ipb_reason_data`,comment_ipb_reason.comment_id AS `ipb_reason_cid` FROM `ipblocks` JOIN `actor` `ipblocks_actor` ON ((actor_id=ipb_by_actor)) JOIN `comment` `comment_ipb_reason` ON ((comment_ipb_reason.comment_id = ipb_reason_id)) WHERE ipb_address = '172.18.0.1' OR ((ipb_range_start LIKE 'AC12%' ESCAPE '`' ) AND (ipb_range_start <= 'AC120001') AND (ipb_range_end >= 'AC120001'))
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] Wikimedia\Rdbms\Database::select [0s] database: SELECT pp_value FROM `page_props` WHERE pp_page = 0 AND pp_propname = 'MintyDocsPageType'
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'namespaceGenderAliases' LIMIT 1
  • ContextSource::getContext (MediaWiki\Skins\Vector\SkinVector22): called and $context is null. Using RequestContext::getMain()
  • [MessageCache] MessageCache using store SqlBagOStuff
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for localAutoCommit/0
  • [DBQuery] SqlBagOStuff::fetchBlobs [0s] database: SELECT keyname,value,exptime FROM `objectcache` WHERE keyname = 'mediawiki:messages:en' AND (exptime >= '20240417211218')
  • [SQLBagOStuff] SqlBagOStuff debug: SqlBagOStuff::fetchBlobs: retrieved mediawiki:messages:en; expiry time is 99991231235959
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for localAutoCommit/0
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for localAutoCommit/0
  • [DBQuery] SqlBagOStuff::fetchBlobs [0s] database: SELECT keyname,value,exptime FROM `objectcache` WHERE keyname = 'mediawiki:messages:en:status' AND (exptime >= '20240417211218')
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for localAutoCommit/0
  • [DBQuery] SqlBagOStuff::doLock [0s] database: SELECT IF(GET_LOCK('mediawiki:messages:en',0),UNIX_TIMESTAMP(SYSDATE(6)),NULL) AS acquired
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] MessageCache::loadFromDB(en)-big [0s] database: SELECT page_title,page_latest FROM `page` WHERE page_is_redirect = 0 AND page_namespace = 8 AND (page_title NOT LIKE '%/%' ESCAPE '`' ) AND (page_len > 10000)
  • [DBQuery] MessageCache::loadFromDB(en)-small [0s] database: SELECT /*! STRAIGHT_JOIN */ rev_id,rev_page,rev_timestamp,rev_minor_edit,rev_deleted,rev_len,rev_parent_id,rev_sha1,comment_rev_comment.comment_text AS `rev_comment_text`,comment_rev_comment.comment_data AS `rev_comment_data`,comment_rev_comment.comment_id AS `rev_comment_cid`,actor_rev_user.actor_user AS `rev_user`,actor_rev_user.actor_name AS `rev_user_text`,rev_actor,page_namespace,page_title,page_id,page_latest,page_is_redirect,page_len FROM `page` JOIN `revision` ON ((page_id = rev_page)) JOIN `revision_comment_temp` `temp_rev_comment` ON ((temp_rev_comment.revcomment_rev = rev_id)) JOIN `comment` `comment_rev_comment` ON ((comment_rev_comment.comment_id = temp_rev_comment.revcomment_comment_id)) JOIN `actor` `actor_rev_user` ON ((actor_rev_user.actor_id = rev_actor)) WHERE page_is_redirect = 0 AND page_namespace = 8 AND (page_title NOT LIKE '%/%' ESCAPE '`' ) AND (page_len <= 10000) AND (page_latest = rev_id)
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for localAutoCommit/0
  • [DBQuery] SqlBagOStuff::modifyTableSpecificBlobsForSet [0s] database: REPLACE INTO `objectcache` (keyname,value,exptime) VALUES ('mediawiki:messages:en','���\n�@���e�`w]�w���M��BR^�[����=���0��������u~>(oм�@ӰNta� ��<j_�ǟ�䅫s�5s�|w�4~^��E���\Z�$�QI��?','99991231235959')
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for localAutoCommit/0
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for localAutoCommit/0
  • [DBQuery] SqlBagOStuff::doUnlock [0s] database: SELECT RELEASE_LOCK('mediawiki:messages:en') AS released
  • [MessageCache] MessageCache::loadUnguarded: Loading en... local cache is empty, global cache is expired/volatile, loading from DB
  • [session] SessionBackend "24b0tmls3f9dnjuj6vgke6ahnd90n53g" data dirty due to dirty(): AuthManagerSpecialPage->handleReturnBeforeExecute/MediaWiki\Auth\AuthManager->removeAuthenticationSessionData/MediaWiki\Session\Session->setSecret/MediaWiki\Session\Session->set/MediaWiki\Session\SessionBackend->dirty
  • [session] SessionBackend "24b0tmls3f9dnjuj6vgke6ahnd90n53g" save: dataDirty=1 metaDirty=0 forcePersist=0
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for localAutoCommit/0
  • [DBQuery] SqlBagOStuff::modifyTableSpecificBlobsForSet [0.003s] database: REPLACE INTO `objectcache` (keyname,value,exptime) VALUES ('mediawiki:MWSession:24b0tmls3f9dnjuj6vgke6ahnd90n53g','mx����n�4`���b)���@���T�|��s�������c`����\"����7��?���߿�x�?�#�M��/�\\ݱ��\'O�|[?����_ּ��n���7�������% \nEp\nN�,�P�E����X�������n,��o��\"�4ɠ8!��z�h�cP�B0<��<�?��__+^?V8���?����T�����)B�02�a�G �\"��E�8�Ç�Oq3i����|�����O��� ��a�~�2��,���}���S�|ۗ����������W�6���%��|�MB� �C�_�1U�������LyZ��oo͗?z�叢??�?�?��O�JS2�ȯ��Q���g$�����h����#����!̿��?�K�6����P��5��J������#��:����}=H?v�q����H���󡠟+�����\'4����?�:\"0�O��us��`=&uE�Bo��,8듎ɳ�|*��?�Ó��7�wU�Y����������\Z��m-�[�����0�/p�7��ȫW�{�XFg��~T�X��g�OE��xҞ�Π|��1�ܒ��4|��|a�k�\'�k{;{꺨���\'�~�b`K�!��1j��˂��\\��;=[�ej&�m�F��V��i��|l+��Mc����c1���t��9�C��n����\"��D8<����R��nN75oF�P�v�\r�g|l�3ԏ��# ����^Xz�e!�⥠��aRi����L��&����F��\r›3LTL|c���$eʋ��#��[�^��t�J��p��6���XL�����(��R\n���]M@���m����+c&�k���q��Kʂ}�ҕp��Y�-�b�m�o����ON}��\'��x��o\n�������-��~8�\r�K�\0���|�\'i�J�m�TQk��.pJj�}|�����?X�5Vt�^�d���x��\Z�H-��[F����|@�����!���d�:��6�pF�KzTL@��)�L����n�qDԧ����: ����x�?�n��M˦�T�ˠ��#L���h�[�Ͻ5���)y9�p|�]r�(��o���<�����i( ��祡�E����&����m��d�=�XP+glIb�\"��I�s����zTo�,7ԂR?�LP�!��ƥq��ҬLc�C���j܋�&����Ki�E{Y�&��\0�\rJ��f�JV�����C]�C?����1 ��e�;���e�{\n��5\\� ���(ׄ��f4f��7����\\�.[sm�x`��H��\n`}r#�\"�vf�ܼ���G9{8��e,\0*�4k����HA������ �uCh��lpώC2�Ů`��[��]tY��FO��MJ�E�������D��m����������Y�;ø��Cdt7�e�D̖�>��I�膝�>X̓P�`�K\0��ua��-�[5<��8��(� Tfa�����:���Z��:Bt����e� \0�/W[��t\\dB_ȩ��G��GZCw���\"��4��?J�D��|&D�Y����p�D��C��o��1{6��n��l�C-�ve�\0��i\\.�W�h���+��T���U��o(�+�9�-R�@ۥk�&����(�����\0{�V�Ș�����(�1���T��S��!�JR*d����>�klb���i��!��������cm���Ϝ��u���\rF���Z\r�i��]{��D&�$��<rh���[F�A��E��Y�^���=aR�M���Z+��뒚|d���d˸���\\����B�A���s��#�x�I��R��\Z�٤�d\0�Ǐ�!/��l��BJ)�Fq������%�@�{��tZ��J��_�� e�����j���s��_�4|#�y����a�>מ��TJ9�ala�V��P�6��,7��C����s\"�Ow[���9��Mk�\"���{�\\��\\Y�����J!�P�;�&.���eZ�)�W���]��%q�މ�&i�#v��Y����b0���#�]+�������2p�V�O^\n�ɞB�r�]�|:|���e(�)�{jw�-&�Ij*P\"@k�`%���E�Z;��-�!F���)}��K.�7���%כ@[SsI �h.�G$gA�#�ov��g�ax*�ιS��k���`\n¨����Jж���\Z��6�6������*\Z=�|�Q5��tkS�qp%Z���j�΢f$��B���#X�����h��H��X^�Ƀ㻇Qk��R�܆w��IԴ����V�R��������\nךr/���F\n�D�<}ܜ����{�o7��P�#�����}����ر8HKEh��6<����-������D�����Sf��Wb�o���v詽�C�G\ZX�z�[��.��X!��OJ�F���8\Z[�������w��Qu<�ӧ��������P)���� ���,a��^z�d����-(��_�ĄإU�[������o����gvo���z����y��#���n��|�\Z��R?�W��(�ź?-˛8��m��Dy�$DA�K�#1�&\n!wm|��6�+�g������[�;=�fa��Eߡ�tY��Wr:t~��u?�PJ�?��\r�\05�ڕ��k|0�����R}�mN0�#�\"�2��m�ʨ��4�Ѩk��۹)Y�������y��&4��2��5�rG=�~�J���=��_��d3�W�������I �B��Ϩ����Q��L�3�)���n\"b\\y^�?\'���lw���\Z�@^\n�d�֛�����{�DWQ\r���z)��Gֱ��E���C�臓^F�\'5�}����]�3d����爗]�!����i�qɇ]����Y�����[��f��Kb��ȱ\"����<�TQK��ш��p���m%H �8�o�Z�]�<��ד{��څ�ґ{��f�=������G��=~e����|��-a�a����5����oe�}ԫ]N�8�A¬F����i�:��\\���������%/D�stA����_��1�,��K3C�.��3��(b�\Z��G�L��!��O����\n�~�{�y�w�����}�1�Gá��4a����]+X��\Z?0Oh��`D��Bn\0M�:�_6A��K��\'�>\Z5��9.�g5W�{�M��PP�@}� \r�ܖ�^�gXԯ��������nvy����&��(_�\\�R��\0k�|Χ<Ȏ�X\r:Sr��!+n%!�}=�����c�k��+ ���5���V,�������^�ڳ��\"��2���?������T �����ۜ��(7D��?��&d=������^�5���&������H�r��敶Fl��ie�FM��n�vxk�c�t�E�]�*\Z��Ή&�y��Js���v�^��1O������Û)$��\'E-���w�%���,8�i�����s�?�����z�����=Z�a�[�{������qї-J�O��4�)Ok�n� �Tk9}�>���ʂ���#I}Q�V�1t�r�n�{�2������$k��5�8^���o�W�<-җf����z�p?��\0o��3����B>���qv•3%��̛��ޤoۅ������̈́�N�4�[�3�\"�?�\Z���tC����vvU1`�A��w���(�D���#8\\��n�����nG4f\r����}c������W/�C�~⊦)�L���s�]�&�~���q[l��xB�}��Kf�#���~@����lnu�?�n��=��h�������Y�Q�GG�ѵD`�x���G�M���&��O�L�����I���p`3��f̠�D(RЩ�\"�DЍslJ�F��n�:�����i���rU��@��+�\Zn��Bx��Gs0M����_��L�Q������\Z=[�q�x��]e��|(i��뛃�KH��e��U��G�hj���]����W4��|�τOI2��\0��z��P��P���d����=���j&�X�KYh�%��b?\n�пD�A�7�����j���|K�w��h/=�� ���\Z�`.�z��S)�4n�w�\0Vk��w���x{>k5o�{�<�%۞��2l8K��G�48ӭ4��y�����_s�?�;�)����r)�a�������]��dd���y��O����)�E�l4-}����6bleSba�ҽ3L$���ye1������؇��$|�Ϣ���\n�w��F������\0��������\\�q\\��wU��ఙ8R�)�\'�����2����fG�jL����ޟ���b����Y߄l�:(�9�\\N���i���\\�v����9G�:�����G+L��J���8W���\'$S�q��J�� ���\Z.�E��c�S�:\'����H�+ӕ~?�-����\0���� ������z��ý3O�%G��|Ԫk�R�\r�\r�o�@�B��TA߀��`��X��;?�Na�\rX���w��-�c���%}���ו�\r��\'�Ʊr�f��DӦ�A˪���pb���)�\"1RT��iל�]�!�>�#�J�e&���+�����������s{��.C���X��D����<8���m���T��%,�z�O��6\r�����?�~M�*_n\r+q����kx���PD���{\Z����ч����G���n��_Mse5�6�VQh�]�\Zxn��%\'a=!�S�Q�d�}����mA�R�س�uU��[��!c�w��}��o3Xgf���H���Y�q���,��������_JȎ��L�x����S����\'C����_}��?��0��;?��2�?�������K˳:������x���Ƕ��F|��;��_q�u�ߛ�ž~\'�������<?�z��?qP?���?Q�,K��}�<�#�5�W1.i�v]��J���_S��?���w��`\n%��ڍe�gƾ���?@l����-�?*�?��_��','20240417221218')
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for localAutoCommit/0
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:loginreqlink' LIMIT 1
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:login' LIMIT 1
  • ParserFactory: using default preprocessor
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'magicWords' LIMIT 1
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:createacct-helpusername' LIMIT 1
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:userlogin-yourname' LIMIT 1
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:pt-login-continue-button' LIMIT 1
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:helplogin-url' LIMIT 1
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:userlogin-helplink2' LIMIT 1
  • [session] SessionBackend "24b0tmls3f9dnjuj6vgke6ahnd90n53g" data dirty due to dirty(): MediaWiki\Extension\PluggableAuth\PrimaryAuthenticationProvider->continuePrimaryAuthentication/MediaWiki\Auth\AuthManager->removeAuthenticationSessionData/MediaWiki\Session\Session->setSecret/MediaWiki\Session\Session->set/MediaWiki\Session\SessionBackend->dirty
  • [authentication] Login failed in primary authentication by MediaWiki\Extension\PluggableAuth\PrimaryAuthenticationProvider
  • [session] SessionBackend "24b0tmls3f9dnjuj6vgke6ahnd90n53g" data dirty due to dirty(): AuthManagerSpecialPage->handleFormSubmit/AuthManagerSpecialPage->performAuthenticationStep/MediaWiki\Auth\AuthManager->continueAuthentication/MediaWiki\Session\Session->remove/MediaWiki\Session\SessionBackend->dirty
  • [session] SessionBackend "24b0tmls3f9dnjuj6vgke6ahnd90n53g" save: dataDirty=1 metaDirty=0 forcePersist=0
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for localAutoCommit/0
  • [DBQuery] SqlBagOStuff::modifyTableSpecificBlobsForSet [0.003s] database: REPLACE INTO `objectcache` (keyname,value,exptime) VALUES ('mediawiki:MWSession:24b0tmls3f9dnjuj6vgke6ahnd90n53g','mS�n�8�������b;�s�Ш�h(�k���;v�!$i�MG��q��̑f���^Y�ދ���;����4��\'j����P���\"µp���u��\Z�*<��Y�)�5d��n`�\0����]���Y��q�\nL]Jk�n��ȗ���&���������q����&���%��o�B�]�E��藏����.���\"K�&���̀�0tˀ��<�g�]��F�Hh��j�iC\0\0����Z���S���<;Mj�+��I���IP�A]M~ʲ��t�*�Hl�tʎ���|�O�_����]�•4���H\Z�N���(���\\j���5�e*����@���y��Dc@�� �1\r>�ރ���&�Ew����k�X�Q���f�mf��2�վ�����*f�P�.�v����j(q�nޯ���h>�6�u���\ZN���=t��\"<�>�N9��-w���:;!��>�}��nr�dWv������m��z�k���4�N��u6��u�f�������\n-���0��WS��O�?sV��T��Z�ŴҪ�:8�c\r���+t��,��L�[V��ۅ�Ә�>�>�6��vvg�+]�#�cc���?����D�wo��� ̖�#�X��>�nI�y��q����`��9G�.������`1~y{-��M����K^$�c@��f���j�?�\"��.��ɘ�&���K���iZP����[v��#D���1��Ca��G\r>����uU��kw�_���~)��;��s���/g�:)���jx�W�R?t��绊�ޓ\rA�_��IT��܄I��TpI��E�����/Qt����?���>�=S�U��ʏx�,p[�\Z�ѫ�1�����(J\"���jq�t)�-/J\\�l6���U����L�-���4�Z�ySU���>ϳ���I*�L�Z�>}?��','20240417221218')
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for localAutoCommit/0
  • [authevents] Login attempt
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:domain_Login' LIMIT 1
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] MediaWiki\Page\PageStore::getPageByNameViaLinkCache [0s] database: SELECT page_id,page_namespace,page_title,page_is_redirect,page_is_new,page_touched,page_links_updated,page_latest,page_len,page_content_model FROM `page` WHERE page_namespace = 8 AND page_title = 'Domain_Login' LIMIT 1
  • [objectcache] fetchOrRegenerate(mediawiki:page:8:eb11e3e6821398afd6f2cba99a532351bdc00ee5): miss, new value computed
  • [objectcache] fetchOrRegenerate(mediawiki:messages-big:f6c4f725a607bfe8fa0cf0c05ee4f470:Domain_Login): miss, new value computed
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:pt-login-button' LIMIT 1
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:userlogin-resetpassword-link' LIMIT 1
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:double-redirect-fixer' LIMIT 1
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:usermessage-editor' LIMIT 1
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:proxyblocker' LIMIT 1
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:sorbs' LIMIT 1
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:spambot_username' LIMIT 1
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:autochange-username' LIMIT 1
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:newusermessage-editor' LIMIT 1
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:userlogin-yourname-ph' LIMIT 1
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:userlogin-yourpassword' LIMIT 1
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'linkPrefixExtension' LIMIT 1
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:userlogin-yourpassword-ph' LIMIT 1
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:userlogin-remembermypassword' LIMIT 1
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'separatorTransformTable' LIMIT 1
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'digitGroupingPattern' LIMIT 1
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'minimumGroupingDigits' LIMIT 1
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'digitTransformTable' LIMIT 1
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:loginprompt' LIMIT 1
  • [DBQuery] MediaWiki::preOutputCommit [0s] database: COMMIT
  • MediaWiki::preOutputCommit: primary transaction round committed
  • MediaWiki::preOutputCommit: pre-send deferred updates completed
  • MediaWiki::preOutputCommit: session changes committed
  • [DBReplication] Wikimedia\Rdbms\LBFactory::shutdown: finished ChronologyProtector shutdown
  • [DBReplication] LBFactory shutdown completed
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] Wikimedia\Rdbms\DatabaseMysqlBase::serverIsReadOnly [0s] database: SELECT @@GLOBAL.read_only AS Value
  • [objectcache] fetchOrRegenerate(global:rdbms-server-readonly:database:mediawiki:): miss, new value computed
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBPerformance] Expectation (writes <= 0) by MediaWiki::main not met (actual: 4): role-primary: INSERT INTO `online` (userid,username,timestamp,wikiid) VALUES (N,'X'
  • [DBQuery] WhosOnlineHooks::onBeforePageDisplay [0s] database: INSERT INTO `online` (userid,username,timestamp,wikiid) VALUES (0,'172.18.0.1','20240417211218','mediawiki') ON DUPLICATE KEY UPDATE timestamp = '20240417211218'
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] Wikimedia\Rdbms\Database::beginIfImplied (MediaWiki\User\TalkPageNotificationManager::dbCheckNewUserMessages) [0s] database: BEGIN
  • [DBQuery] MediaWiki\User\TalkPageNotificationManager::dbCheckNewUserMessages [0s] database: SELECT user_ip FROM `user_newtalk` WHERE user_ip = '172.18.0.1' LIMIT 1
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'rtl' LIMIT 1
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:pt-login' LIMIT 1
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:pt-createaccount' LIMIT 1
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] Wikimedia\Rdbms\Database::select [0s] database: SELECT pp_value FROM `page_props` WHERE pp_page = 0 AND pp_propname = 'MintyDocsPageType'
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:nstab-special' LIMIT 1
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:requestaccount-login' LIMIT 1
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:help-mediawiki' LIMIT 1
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:tooltip-p-navigation' LIMIT 1
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:tooltip-n-help-mediawiki' LIMIT 1
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:accesskey-n-help-mediawiki' LIMIT 1
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:tooltip-p-tb' LIMIT 1
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:tooltip-p-lang' LIMIT 1
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:otherlanguages' LIMIT 1
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:tooltip-p-user-interface-preferences' LIMIT 1
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:tooltip-ca-uls' LIMIT 1
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] MediaWiki\Page\PageStore::getPageByNameViaLinkCache [0s] database: SELECT page_id,page_namespace,page_title,page_is_redirect,page_is_new,page_touched,page_links_updated,page_latest,page_len,page_content_model FROM `page` WHERE page_namespace = 8 AND page_title = 'Tooltip-ca-uls' LIMIT 1
  • [objectcache] fetchOrRegenerate(mediawiki:page:8:6413cf1dc7e48626de004977c677b6c8a55e2805): miss, new value computed
  • [objectcache] fetchOrRegenerate(mediawiki:messages-big:f6c4f725a607bfe8fa0cf0c05ee4f470:Tooltip-ca-uls): miss, new value computed
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:accesskey-ca-uls' LIMIT 1
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] MediaWiki\Page\PageStore::getPageByNameViaLinkCache [0s] database: SELECT page_id,page_namespace,page_title,page_is_redirect,page_is_new,page_touched,page_links_updated,page_latest,page_len,page_content_model FROM `page` WHERE page_namespace = 8 AND page_title = 'Accesskey-ca-uls' LIMIT 1
  • [objectcache] fetchOrRegenerate(mediawiki:page:8:fd39f2d7962ddb50cb19fd00d7cffa75e5365066): miss, new value computed
  • [objectcache] fetchOrRegenerate(mediawiki:messages-big:f6c4f725a607bfe8fa0cf0c05ee4f470:Accesskey-ca-uls): miss, new value computed
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:user-interface-preferences' LIMIT 1
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] MediaWiki\Page\PageStore::getPageByNameViaLinkCache [0s] database: SELECT page_id,page_namespace,page_title,page_is_redirect,page_is_new,page_touched,page_links_updated,page_latest,page_len,page_content_model FROM `page` WHERE page_namespace = 8 AND page_title = 'User-interface-preferences' LIMIT 1
  • [objectcache] fetchOrRegenerate(mediawiki:page:8:cc55e312a5aa3b8484b6bc564e3edba47c592500): miss, new value computed
  • [objectcache] fetchOrRegenerate(mediawiki:messages-big:f6c4f725a607bfe8fa0cf0c05ee4f470:User-interface-preferences): miss, new value computed
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:tooltip-p-user-page' LIMIT 1
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:user-page' LIMIT 1
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] MediaWiki\Page\PageStore::getPageByNameViaLinkCache [0s] database: SELECT page_id,page_namespace,page_title,page_is_redirect,page_is_new,page_touched,page_links_updated,page_latest,page_len,page_content_model FROM `page` WHERE page_namespace = 8 AND page_title = 'User-page' LIMIT 1
  • [objectcache] fetchOrRegenerate(mediawiki:page:8:c70b5a4895ac1b24b96a7e32d0a18d0d4cbe9bdc): miss, new value computed
  • [objectcache] fetchOrRegenerate(mediawiki:messages-big:f6c4f725a607bfe8fa0cf0c05ee4f470:User-page): miss, new value computed
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:tooltip-p-personal' LIMIT 1
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:tooltip-p-notifications' LIMIT 1
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] MediaWiki\Page\PageStore::getPageByNameViaLinkCache [0s] database: SELECT page_id,page_namespace,page_title,page_is_redirect,page_is_new,page_touched,page_links_updated,page_latest,page_len,page_content_model FROM `page` WHERE page_namespace = 8 AND page_title = 'Tooltip-p-notifications' LIMIT 1
  • [objectcache] fetchOrRegenerate(mediawiki:page:8:5e89b9c18080b9e1a98fafc0da774d0eec80a023): miss, new value computed
  • [objectcache] fetchOrRegenerate(mediawiki:messages-big:f6c4f725a607bfe8fa0cf0c05ee4f470:Tooltip-p-notifications): miss, new value computed
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:notifications' LIMIT 1
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:tooltip-p-associated-pages' LIMIT 1
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] MediaWiki\Page\PageStore::getPageByNameViaLinkCache [0s] database: SELECT page_id,page_namespace,page_title,page_is_redirect,page_is_new,page_touched,page_links_updated,page_latest,page_len,page_content_model FROM `page` WHERE page_namespace = 8 AND page_title = 'Tooltip-p-associated-pages' LIMIT 1
  • [objectcache] fetchOrRegenerate(mediawiki:page:8:ef738cc53166fcf45692d0ade99df069e848dfb2): miss, new value computed
  • [objectcache] fetchOrRegenerate(mediawiki:messages-big:f6c4f725a607bfe8fa0cf0c05ee4f470:Tooltip-p-associated-pages): miss, new value computed
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:associated-pages' LIMIT 1
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] MediaWiki\Page\PageStore::getPageByNameViaLinkCache [0s] database: SELECT page_id,page_namespace,page_title,page_is_redirect,page_is_new,page_touched,page_links_updated,page_latest,page_len,page_content_model FROM `page` WHERE page_namespace = 8 AND page_title = 'Associated-pages' LIMIT 1
  • [objectcache] fetchOrRegenerate(mediawiki:page:8:cb7b37d2da1ced2fadc11aa3317c1a8efcf39648): miss, new value computed
  • [objectcache] fetchOrRegenerate(mediawiki:messages-big:f6c4f725a607bfe8fa0cf0c05ee4f470:Associated-pages): miss, new value computed
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:tooltip-p-namespaces' LIMIT 1
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:tooltip-ca-nstab-special' LIMIT 1
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:accesskey-ca-nstab-special' LIMIT 1
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:tooltip-p-views' LIMIT 1
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:tooltip-p-cactions' LIMIT 1
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:cactions' LIMIT 1
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:tooltip-p-variants' LIMIT 1
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:tooltip-p-vector-user-menu-overflow' LIMIT 1
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] MediaWiki\Page\PageStore::getPageByNameViaLinkCache [0s] database: SELECT page_id,page_namespace,page_title,page_is_redirect,page_is_new,page_touched,page_links_updated,page_latest,page_len,page_content_model FROM `page` WHERE page_namespace = 8 AND page_title = 'Tooltip-p-vector-user-menu-overflow' LIMIT 1
  • [objectcache] fetchOrRegenerate(mediawiki:page:8:e1513355c020e501f13cdd486bc0dcd4eb6be013): miss, new value computed
  • [objectcache] fetchOrRegenerate(mediawiki:messages-big:f6c4f725a607bfe8fa0cf0c05ee4f470:Tooltip-p-vector-user-menu-overflow): miss, new value computed
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:tooltip-pt-createaccount-2' LIMIT 1
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] MediaWiki\Page\PageStore::getPageByNameViaLinkCache [0s] database: SELECT page_id,page_namespace,page_title,page_is_redirect,page_is_new,page_touched,page_links_updated,page_latest,page_len,page_content_model FROM `page` WHERE page_namespace = 8 AND page_title = 'Tooltip-pt-createaccount-2' LIMIT 1
  • [objectcache] fetchOrRegenerate(mediawiki:page:8:e702f1464bc010b9a6e6eddb1f622b346a5e59a8): miss, new value computed
  • [objectcache] fetchOrRegenerate(mediawiki:messages-big:f6c4f725a607bfe8fa0cf0c05ee4f470:Tooltip-pt-createaccount-2): miss, new value computed
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:accesskey-pt-createaccount-2' LIMIT 1
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] MediaWiki\Page\PageStore::getPageByNameViaLinkCache [0s] database: SELECT page_id,page_namespace,page_title,page_is_redirect,page_is_new,page_touched,page_links_updated,page_latest,page_len,page_content_model FROM `page` WHERE page_namespace = 8 AND page_title = 'Accesskey-pt-createaccount-2' LIMIT 1
  • [objectcache] fetchOrRegenerate(mediawiki:page:8:67d5e11a789fd771a0c0d066fc8b52a31aab9f10): miss, new value computed
  • [objectcache] fetchOrRegenerate(mediawiki:messages-big:f6c4f725a607bfe8fa0cf0c05ee4f470:Accesskey-pt-createaccount-2): miss, new value computed
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:vector-user-menu-overflow' LIMIT 1
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] MediaWiki\Page\PageStore::getPageByNameViaLinkCache [0s] database: SELECT page_id,page_namespace,page_title,page_is_redirect,page_is_new,page_touched,page_links_updated,page_latest,page_len,page_content_model FROM `page` WHERE page_namespace = 8 AND page_title = 'Vector-user-menu-overflow' LIMIT 1
  • [objectcache] fetchOrRegenerate(mediawiki:page:8:8642b10d6bc1bde39628473b8a6ec36d0c562bfa): miss, new value computed
  • [objectcache] fetchOrRegenerate(mediawiki:messages-big:f6c4f725a607bfe8fa0cf0c05ee4f470:Vector-user-menu-overflow): miss, new value computed
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:tooltip-p-views-overflow' LIMIT 1
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] MediaWiki\Page\PageStore::getPageByNameViaLinkCache [0s] database: SELECT page_id,page_namespace,page_title,page_is_redirect,page_is_new,page_touched,page_links_updated,page_latest,page_len,page_content_model FROM `page` WHERE page_namespace = 8 AND page_title = 'Tooltip-p-views-overflow' LIMIT 1
  • [objectcache] fetchOrRegenerate(mediawiki:page:8:f055c2110fc07b3a656c5c3cafcc4b6c94bb48af): miss, new value computed
  • [objectcache] fetchOrRegenerate(mediawiki:messages-big:f6c4f725a607bfe8fa0cf0c05ee4f470:Tooltip-p-views-overflow): miss, new value computed
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:views-overflow' LIMIT 1
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] MediaWiki\Page\PageStore::getPageByNameViaLinkCache [0s] database: SELECT page_id,page_namespace,page_title,page_is_redirect,page_is_new,page_touched,page_links_updated,page_latest,page_len,page_content_model FROM `page` WHERE page_namespace = 8 AND page_title = 'Views-overflow' LIMIT 1
  • [objectcache] fetchOrRegenerate(mediawiki:page:8:7c6e666dd6029fe6c93284ac7d8c00a46b68e75f): miss, new value computed
  • [objectcache] fetchOrRegenerate(mediawiki:messages-big:f6c4f725a607bfe8fa0cf0c05ee4f470:Views-overflow): miss, new value computed
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:tooltip-pt-uls' LIMIT 1
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] MediaWiki\Page\PageStore::getPageByNameViaLinkCache [0s] database: SELECT page_id,page_namespace,page_title,page_is_redirect,page_is_new,page_touched,page_links_updated,page_latest,page_len,page_content_model FROM `page` WHERE page_namespace = 8 AND page_title = 'Tooltip-pt-uls' LIMIT 1
  • [objectcache] fetchOrRegenerate(mediawiki:page:8:225d4b727fb642595e4832aef4d935cb699182da): miss, new value computed
  • [objectcache] fetchOrRegenerate(mediawiki:messages-big:f6c4f725a607bfe8fa0cf0c05ee4f470:Tooltip-pt-uls): miss, new value computed
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:accesskey-pt-uls' LIMIT 1
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] MediaWiki\Page\PageStore::getPageByNameViaLinkCache [0s] database: SELECT page_id,page_namespace,page_title,page_is_redirect,page_is_new,page_touched,page_links_updated,page_latest,page_len,page_content_model FROM `page` WHERE page_namespace = 8 AND page_title = 'Accesskey-pt-uls' LIMIT 1
  • [objectcache] fetchOrRegenerate(mediawiki:page:8:523f3ac6664d7dd429ec9ea26c2ada43f94ca413): miss, new value computed
  • [objectcache] fetchOrRegenerate(mediawiki:messages-big:f6c4f725a607bfe8fa0cf0c05ee4f470:Accesskey-pt-uls): miss, new value computed
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:forced-globalnotice' LIMIT 1
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] MediaWiki\Page\PageStore::getPageByNameViaLinkCache [0s] database: SELECT page_id,page_namespace,page_title,page_is_redirect,page_is_new,page_touched,page_links_updated,page_latest,page_len,page_content_model FROM `page` WHERE page_namespace = 8 AND page_title = 'Forced-globalnotice' LIMIT 1
  • [objectcache] fetchOrRegenerate(mediawiki:page:8:83c6ecc50fe6ce718203ed0aefba490ba1c23ec3): miss, new value computed
  • [objectcache] fetchOrRegenerate(mediawiki:messages-big:f6c4f725a607bfe8fa0cf0c05ee4f470:Forced-globalnotice): miss, new value computed
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:globalnotice' LIMIT 1
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] MediaWiki\Page\PageStore::getPageByNameViaLinkCache [0s] database: SELECT page_id,page_namespace,page_title,page_is_redirect,page_is_new,page_touched,page_links_updated,page_latest,page_len,page_content_model FROM `page` WHERE page_namespace = 8 AND page_title = 'Globalnotice' LIMIT 1
  • [objectcache] fetchOrRegenerate(mediawiki:page:8:5a58b35f6c1687293410e0e1e4a7224cc9178224): miss, new value computed
  • [objectcache] fetchOrRegenerate(mediawiki:messages-big:f6c4f725a607bfe8fa0cf0c05ee4f470:Globalnotice): miss, new value computed
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:globalnotice-sysop' LIMIT 1
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] MediaWiki\Page\PageStore::getPageByNameViaLinkCache [0s] database: SELECT page_id,page_namespace,page_title,page_is_redirect,page_is_new,page_touched,page_links_updated,page_latest,page_len,page_content_model FROM `page` WHERE page_namespace = 8 AND page_title = 'Globalnotice-sysop' LIMIT 1
  • [objectcache] fetchOrRegenerate(mediawiki:page:8:34d8821d06d31b5148fc45c4bdc4866a122278d9): miss, new value computed
  • [objectcache] fetchOrRegenerate(mediawiki:messages-big:f6c4f725a607bfe8fa0cf0c05ee4f470:Globalnotice-sysop): miss, new value computed
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:globalnotice-bureaucrat' LIMIT 1
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] MediaWiki\Page\PageStore::getPageByNameViaLinkCache [0s] database: SELECT page_id,page_namespace,page_title,page_is_redirect,page_is_new,page_touched,page_links_updated,page_latest,page_len,page_content_model FROM `page` WHERE page_namespace = 8 AND page_title = 'Globalnotice-bureaucrat' LIMIT 1
  • [objectcache] fetchOrRegenerate(mediawiki:page:8:c2f9eee3262fb1b7383e7af0c3c64451a41389f7): miss, new value computed
  • [objectcache] fetchOrRegenerate(mediawiki:messages-big:f6c4f725a607bfe8fa0cf0c05ee4f470:Globalnotice-bureaucrat): miss, new value computed
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:globalnotice-bot' LIMIT 1
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] MediaWiki\Page\PageStore::getPageByNameViaLinkCache [0s] database: SELECT page_id,page_namespace,page_title,page_is_redirect,page_is_new,page_touched,page_links_updated,page_latest,page_len,page_content_model FROM `page` WHERE page_namespace = 8 AND page_title = 'Globalnotice-bot' LIMIT 1
  • [objectcache] fetchOrRegenerate(mediawiki:page:8:898ab349660866676036931128ae83ff8594aacb): miss, new value computed
  • [objectcache] fetchOrRegenerate(mediawiki:messages-big:f6c4f725a607bfe8fa0cf0c05ee4f470:Globalnotice-bot): miss, new value computed
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:globalnotice-rollback' LIMIT 1
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] MediaWiki\Page\PageStore::getPageByNameViaLinkCache [0s] database: SELECT page_id,page_namespace,page_title,page_is_redirect,page_is_new,page_touched,page_links_updated,page_latest,page_len,page_content_model FROM `page` WHERE page_namespace = 8 AND page_title = 'Globalnotice-rollback' LIMIT 1
  • [objectcache] fetchOrRegenerate(mediawiki:page:8:dddfe8db694750c29f68864b75ca1d14b10c4a20): miss, new value computed
  • [objectcache] fetchOrRegenerate(mediawiki:messages-big:f6c4f725a607bfe8fa0cf0c05ee4f470:Globalnotice-rollback): miss, new value computed
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:breadcrumbs' LIMIT 1
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:vector-opt-out-tooltip' LIMIT 1
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:vector-opt-out' LIMIT 1
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:vector-action-toggle-sidebar' LIMIT 1
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:vector-main-menu-tooltip' LIMIT 1
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:vector-jumptosearch' LIMIT 1
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:vector-jumptocontent' LIMIT 1
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:vector-toc-beginning' LIMIT 1
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:vector-toc-heading' LIMIT 1
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:vector-toc-toggle-position-sidebar' LIMIT 1
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:vector-toc-toggle-position-title' LIMIT 1
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:vector-toc-menu-tooltip' LIMIT 1
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:vector-toc-collapsible-button-label' LIMIT 1
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:vector-article-tools-nav-label' LIMIT 1
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:vector-site-nav-label' LIMIT 1
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:sitesubtitle' LIMIT 1
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:sitetitle' LIMIT 1
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:tooltip-vector-anon-user-menu-title' LIMIT 1
  • Unstubbing $wgLang on call of $wgLang::getCode from MediaWiki\Skins\Vector\SkinVector->decoratePortletData
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:variantname-en' LIMIT 1
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] MediaWiki\Page\PageStore::getPageByNameViaLinkCache [0s] database: SELECT page_id,page_namespace,page_title,page_is_redirect,page_is_new,page_touched,page_links_updated,page_latest,page_len,page_content_model FROM `page` WHERE page_namespace = 8 AND page_title = 'Variantname-en' LIMIT 1
  • [objectcache] fetchOrRegenerate(mediawiki:page:8:2065ff0b4b26c26fa83f8ad4a9907bb9ded198d0): miss, new value computed
  • [objectcache] fetchOrRegenerate(mediawiki:messages-big:f6c4f725a607bfe8fa0cf0c05ee4f470:Variantname-en): miss, new value computed
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [objectcache] fetchOrRegenerate(global:resourceloader-titleinfo:mediawiki:da39a3ee5e6b4b0d3255bfef95601890afd80709): miss, new value computed
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'defaultDateFormat' LIMIT 1
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:january' LIMIT 1
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:february' LIMIT 1
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:march' LIMIT 1
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:april' LIMIT 1
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:may_long' LIMIT 1
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:june' LIMIT 1
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:july' LIMIT 1
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:august' LIMIT 1
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:september' LIMIT 1
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:october' LIMIT 1
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:november' LIMIT 1
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:december' LIMIT 1
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
  • [DBQuery] LCStoreDB::get [0s] database: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:vector-language-variant-switcher-label' LIMIT 1 Ksmith197 (talk) 21:23, 17 April 2024 (UTC)Reply
One thing to note i that the user "test" does not exist in the Wiki Database. The user "test" only exists on my Active Directory Server. Ksmith197 (talk) 20:33, 22 April 2024 (UTC)Reply