wiki.techinc.nl/docs
Kevin Israel 7d250d2109 Remove CryptHKDF and MWCryptHKDF
MWCryptHKDF was added ten years ago (in af66c04d39), and as far as
I can tell, it was never used anywhere. It seems unlikely that CryptHKDF
will be used in the future, at least in its current form, for several
reasons:

* PHP 7.1.2+ has hash_hkdf(), so HKDF() would not be needed.

* At the time MWCryptHKDF was created, access to a CSPRNG was dependent
  on server configuration: operating system, enabled PHP extensions,
  open_basedir, etc. The "clock drift" RNG used as a last resort was not
  considered to be secure or fast enough for generating large amounts of
  output.[1] random_bytes(), added in PHP 7, changed the situation.

* Depleting the input pool of Linux's RNG is no longer a concern; there
  is no more blocking output pool for /dev/random.[2][3] In 2022, this
  change and others, including some that improved performance,[4] were
  backported to stable kernels as old as 4.9.[5]

* $wgAuthenticationTokenVersion obviated the primary use case of
  quickly resetting the user_token field for all users, assuming all
  the existing tokens are unique.

* CryptHKDF seems to perform much slower than random_bytes(), at least
  on Linux, making it pointless to use given that the other reasons for
  its existence no longer apply.

[1]: https://bots.wmflabs.org/logs/%23mediawiki-core/20161004.txt
[2]: https://lwn.net/Articles/808575/
[3]: https://lore.kernel.org/all/cover.1577088521.git.luto@kernel.org/
[4]: https://www.zx2c4.com/projects/linux-rng-5.17-5.18/
[5]: https://lore.kernel.org/all/Yo3pmh9hiUFtQz77@zx2c4.com/T/

Change-Id: I29136fad826341d21728671aa30285d5551f1162
2024-11-10 22:49:37 -05:00
..
databases
html
rest REST: Introduce discovery endpoint 2024-09-20 17:02:59 +00:00
abstract-schema-changes.schema.json db: Allow describing table creation via abstract schema change 2023-10-10 20:06:53 -07:00
abstract-schema-table.json
abstract-schema.schema.json
config-schema.yaml Remove CryptHKDF and MWCryptHKDF 2024-11-10 22:49:37 -05:00
config-vars.php Remove CryptHKDF and MWCryptHKDF 2024-11-10 22:49:37 -05:00
contenthandler.md docs: Set stable permalink on markdown files 2024-03-09 22:04:05 +00:00
database.md docs: Migrate to IDatabase::newInsertQueryBuilder 2024-04-14 21:45:08 +02:00
deferred.txt
distributors.txt docs: Update old mailman references to postorius 2024-03-20 14:21:16 +00:00
export-0.1.xsd
export-0.2.xsd
export-0.3.xsd
export-0.4.xsd
export-0.5.xsd
export-0.6.xsd
export-0.7.xsd
export-0.8.xsd
export-0.9.xsd
export-0.10.xsd
export-0.11.xsd docs: Set the <comment> tag back to optional 2023-08-15 02:03:22 +00:00
export-demo.xml tests: Unbreak and actually run ExportDemoTest 2023-08-08 15:30:54 +00:00
extension.schema.v1.json REST: Add support for RestModules to extension.json 2024-06-25 17:00:01 +00:00
extension.schema.v2.json Add OutputPipelineStages from extensions 2024-07-25 11:44:17 -04:00
globals.txt
Hooks.md docs: Set stable permalink on markdown files 2024-03-09 22:04:05 +00:00
Injection.md Injection.md: Improve advice about replacing wfGetDB() 2024-01-23 14:04:31 +00:00
Introduction.md
Language.md docs: Set stable permalink on markdown files 2024-03-09 22:04:05 +00:00
LinkCache.md docs: Set stable permalink on markdown files 2024-03-09 22:04:05 +00:00
Logger.md debug: Improve docs, fix ingroup tags, clean up tests 2023-10-05 11:54:30 +00:00
magicword.md docs: Set stable permalink on markdown files 2024-03-09 22:04:05 +00:00
maintenance.txt Remove superfluous spaces 2024-07-03 04:24:59 +00:00
memcached.md docs: Set stable permalink on markdown files 2024-03-09 22:04:05 +00:00
ontology.owl
pageupdater.md docs: Set stable permalink on markdown files 2024-03-09 22:04:05 +00:00
README
schema.md docs: Set stable permalink on markdown files 2024-03-09 22:04:05 +00:00
sitelist-1.0.xsd
sitelist.md docs: Set stable permalink on markdown files 2024-03-09 22:04:05 +00:00
Skin.md docs: Set stable permalink on markdown files 2024-03-09 22:04:05 +00:00
Title.md docs: Set stable permalink on markdown files 2024-03-09 22:04:05 +00:00

/docs Directory README
======================

The 'docs' directory contain various text files that should help you understand
the most important parts of the code of MediaWiki. More in-depth documentation
can be found at:
  https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Code
  https://www.mediawiki.org/wiki/Special:MyLanguage/Developer_hub
API documentation is automatically generated and updated daily at:
  https://doc.wikimedia.org/mediawiki-core/master/php/

You can get a fresh version using 'make doc' or mwdocgen.php in the
../maintenance/ directory.


For end users, most of the documentation is located online at:
  https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents
Documentation for MediaWiki site administrators is at:
  https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Contents