wiki.techinc.nl/includes/parser
Bartosz Dziewoński df7231ad89 preferences: Signature validation (lint errors, user links, nested subst)
Three new checks are now applied to user signatures in preferences:

* Disallow invalid HTML and lint errors (T140606)

  Since 15e0e9bb4b we can rely on Parsoid to check the signature for
  lint errors. (The old PHP Parser doesn't have this capability.)

  Most importantly, this will disallow unclosed HTML tags. Unclosed
  formatting tags like `<i>` (and also wikitext markup like `''`)
  could affect the entire page with the bad markup.

  New configuration variable $wgSignatureAllowedLintErrors is added
  to allow ignoring some errors. The default value ignores the
  'obsolete-tag' error (caused by HTML tags like `<font>` and `<tt>`.)

* Require a link to user page, talk page or contributions (T237700)

  Various tools don't work correctly when such a link is missing. For
  example, Echo notifications are not sent, DiscussionTools will not
  allow replying to these comments, English Wikipedia's SineBot treats
  these comments as unsigned.

  Such requirement has been present for a long time in many Wikimedia
  wikis' policies, but it was not enforced by software.

* Disallow "nested" substitution in signature (T230652)

  Clever abuse of "subst" markup and tildes allows users to save edits
  containing wikitext in which substitution occurs again when the page
  is next saved. Disallow this in signatures, at least.

New configuration variable $wgSignatureValidation is added to control
what we do about the result of the validation described above. The
options are:

* 'warning':
  Only displays a warning near the field on Special:Preferences if
  the current signature is invalid. Signatures can still be changed
  regardless of validity and will be used when signing comments.

* 'new':
  In addition to the above, if a user tries to change their signature,
  the new one must be valid. Existing invalid signatures are still
  used when signing comments.

* 'disallow':
  In addition to the above, existing invalid signatures are no longer
  used when signing comments.

Bug: T140606
Bug: T237700
Bug: T230652
Change-Id: I07c575c2d9d2afe7a89c4847d16ac044417297bf
2020-06-24 01:20:05 +02:00
..
Hook Un-deprecate the ParserPreSaveTransformComplete hook 2020-06-01 10:14:39 -04:00
BlockLevelPass.php Remove terminating line breaks from debug messages 2020-06-03 12:01:16 +10:00
CacheTime.php ParserOutput::getCacheTime should stay the same after the first call. 2018-10-04 13:08:56 +02:00
CoreMagicVariables.php Rename CoreMagicWords to CoreMagicVariables and update docs 2020-06-11 13:28:45 +10:00
CoreParserFunctions.php Merge "Revert "Partially revert "Fix impedance mismatch with Parser::getRevisionRecordObject()""" 2020-06-04 17:48:28 +00:00
CoreTagHooks.php Start working on phan-taint-check warnings. Fix minor escaping issues. 2018-07-12 03:26:59 +00:00
DateFormatter.php Fix even more PSR12.Properties.ConstantVisibility.NotFound 2020-05-16 00:28:41 +00:00
DateFormatterFactory.php Rehabilitate DateFormatter 2019-04-10 21:00:04 +10:00
LinkHolderArray.php Avoid variable reuse in LinkHolderArray 2020-06-14 21:25:55 +02:00
MWTidy.php Deprecate a few more tidy-related methods 2020-05-01 21:08:54 +00:00
Parser.php preferences: Signature validation (lint errors, user links, nested subst) 2020-06-24 01:20:05 +02:00
ParserCache.php Remove terminating line breaks from wfDebugLog calls 2020-06-03 02:48:36 +00:00
ParserFactory.php Remove terminating line breaks from debug messages 2020-06-03 12:01:16 +10:00
ParserOptions.php Hard deprecate calling ParserOptions::newCanonical with no parameters 2020-06-15 23:11:45 +00:00
ParserOutput.php preferences: Signature validation (lint errors, user links, nested subst) 2020-06-24 01:20:05 +02:00
PPCustomFrame_Hash.php Split parser related files to have one class in one file 2019-04-27 00:41:47 +00:00
PPDPart.php parser: Declare some dynamic properties 2019-09-08 19:03:03 +00:00
PPDPart_Hash.php phan: Enable PhanTypeMismatchArgument issue 2019-09-19 20:11:42 +02:00
PPDStack.php parser: Declare some dynamic properties 2019-09-08 19:03:03 +00:00
PPDStack_Hash.php Split parser related files to have one class in one file 2019-04-27 00:41:47 +00:00
PPDStackElement.php parser: Declare some dynamic properties 2019-09-08 19:03:03 +00:00
PPDStackElement_Hash.php Unsuppress another phan issue (part 7) 2019-09-03 17:19:21 +00:00
PPFrame.php Fix even more PSR12.Properties.ConstantVisibility.NotFound 2020-05-16 00:28:41 +00:00
PPFrame_Hash.php Remove meaningless (auto-generated?) constructor documentation 2019-10-01 14:34:21 +02:00
PPNode.php Improve type hints in parser related classes 2019-07-05 21:29:32 +00:00
PPNode_Hash_Array.php Split parser related files to have one class in one file 2019-04-27 00:41:47 +00:00
PPNode_Hash_Attr.php Split parser related files to have one class in one file 2019-04-27 00:41:47 +00:00
PPNode_Hash_Text.php Split parser related files to have one class in one file 2019-04-27 00:41:47 +00:00
PPNode_Hash_Tree.php Fix even more PSR12.Properties.ConstantVisibility.NotFound 2020-05-16 00:28:41 +00:00
PPTemplateFrame_Hash.php parser: Declare some dynamic properties 2019-09-08 19:03:03 +00:00
Preprocessor.php Fix even more PSR12.Properties.ConstantVisibility.NotFound 2020-05-16 00:28:41 +00:00
Preprocessor_Hash.php Fix even more PSR12.Properties.ConstantVisibility.NotFound 2020-05-16 00:28:41 +00:00
RemexStripTagHandler.php Merge "Simplify RemexStripTagHandler by extending NullTokenHandler" 2019-11-04 14:42:30 +00:00
Sanitizer.php Merge "Hard-deprecate sequential array as parameter to Sanitizer::validateAttributes" 2020-06-15 12:31:03 +00:00
StripState.php Remove Parser::serializeHalfParsedText() and helpers 2019-11-01 15:22:29 +11:00