The guy who fixes bugs. In daily life I am a Computer Science student specialising in Cyber Security & Cloud.
User Details
- User Since
- Oct 12 2014, 7:12 AM (440 w, 5 d)
- Availability
- Available
- IRC Nick
- Southparkfan
- LDAP User
- Southparkfan
- MediaWiki User
- Southparkfan [ Global Accounts ]
Feb 1 2023
I have expanded https://wikitech.wikimedia.org/wiki/Portal:Cloud_VPS/Admin/Auth_logging. The 'known limitations' section shows there is enough work to do, but to avoid a never ending task, I am fine with resolving this task when T127717#8505600 has been applied to Cloud VPS. I find the lack of monitoring to be a blocker too, though.
Dec 14 2022
Standalone puppetmasters are also affected by this Git update:
$ git push -f project_puppetmaster HEAD:production Total 0 (delta 0), reused 0 (delta 0), pack-reused 0 remote: fatal: detected dubious ownership in repository at '/var/lib/git/operations/puppet' remote: To add an exception for this directory, call: remote: remote: git config --global --add safe.directory /var/lib/git/operations/puppet
Dec 7 2022
I have tested https://gerrit.wikimedia.org/r/c/operations/puppet/+/865731 by using rsyslog-openssl on one syslog client and one syslog server running buster + one syslog client and one syslog server running bullseye. All works as expected.
Status: we chose #3 (Let's Encrypt via acme-chief). We've gotten stuck on a bug in the gnutls driver for rsyslog: T324623
Background: for T127717, we went with Let's Encrypt certificates. Unlike the rather simple chain of trust for the Puppet CA (leaf certificate -> root certificate (Puppet CA)), Let's Encrypt certificates have an intermediate certificate in between. 'Because TLS' (certificates are terrible, I know), the clients need to receive all certificates but the root certificate (because that is in /etc/ssl/certs/ca-certificates.crt).
Dec 5 2022
@Andrew and I have spent this evening on the initial set up of two WMCS-wide syslog servers. Those work fine. However, this setup is broken for all Cloud VPS instances that do not use the central puppetmaster.
Jul 27 2022
I understand, eliminating $wgRequest was low-hanging fruit here. DI is still better than either using ::getMain().
I'm happy to accept it, but keep the task and checkbox open after this lands.
If you'd like to resolve the use of global WebRequest in ::inDebugMode(), I can recommend two approaches to try.
Now that we're at it, I'll try to get a durable solution; after all, I would like to reduce technical debt, not move it somewhere else. Assistance is needed to get me starting here, though :-). Your advice is welcome.
- Perhaps create a setDebugMode() method marked @internal that we'd call from load.php and possibly OutputPage.php. It could take WebRequest and Config as parameter. Doing this would actually highlight an issue which is that we appear to be reading the cookie even when on load.php which is potentially a problem even today. The cookie should instruct OutputPage to make load.php?debug=true requests, there is no need for it to read it directly. If it does, it might actually poison the cache.
Assumptions
- load.php (RL\Context) only needs to know if ?debug=<value> exists; cookies and config don't matter here.
- index.php emits HTML elements (sourcing resources from load.php) that may or may not contain ?debug, depending on the sixth argument of ResourceLoader::makeLoaderQuery(). This entry point is not interested in the presence of a ?debug parameter - inverse of load.php.
Jul 21 2022
Cool! Not sure what the relationship with a DDoS is, though :). If you have time, you can review the patch above. I wasn't too sure about the locations of the default hiera: some things have to be defined in cloud.yaml, others in common/, ...
Jul 20 2022
(wrong task)
https://gerrit.wikimedia.org/r/c/mediawiki/core/+/815776/ would alleviate the 'usage of $wgRequest global' concern, but a second pair of eyes is needed:
- Since [\MediaWiki\ResourceLoader\ResourceLoader]::inDebugMode() is a static function with neither WebRequest exposed via $this->getRequest() or [\MediaWiki\ResourceLoader\Context]->getRequest() available. Unless extensions can/should fetch a 'ResourceLoader object' (and therefore convert this function into a non-static one), I'm not sure how to refrain from this "last restort".
- Apart from OutputPage and OutputPageTest, [\MediaWiki\ResourceLoader\ResourceLoader]::makeCombinedStyles() is the only caller for OutputPage::transformCssMedia(), hence I couldn't refrain from using RequestContext::getMain() here either.
- According to T165176, RequestContext::getMain() can cause side-effects? Will that affect the ResourceLoader Context too?
Jul 18 2022
Nevermind, missed one occurrence :P
Jul 17 2022
Jul 16 2022
Jul 15 2022
Regarding the comment on PS1:
Jul 14 2022
Given that not every extension calls the functions that were mentioned in the description of this task, 99 of the subtasks have been closed as invalid. All tasks that have been left open make at least one call to one of these functions.
Affected functions not present.
Affected functions not present.
Affected functions not present.
Affected functions not present.
Affected functions not present.
Affected functions not present.
Affected functions not present.
Affected functions not present.
Affected functions not present.
Affected functions not present.
Affected functions not present.
Affected functions not present.
Affected functions not present.
Impacted code is not used by this extension.