mediawiki-extensions-LoginN.../extension.json
Dreamy Jazz 8afd8f865c Use loginnotify_seen_net table by default
Why:
* Because of schema changes being made in CheckUser, the cu_changes
  table will soon only contain rows for edit-like actions. Log
  events, including successful login attempts, will be stored to
  the cu_log_event and cu_private_event tables.
* As the integration with CheckUser is being removed, it does not
  make sense to add support to read data from these tables.
  Furthermore, the schema changes should not break LoginNotify
  which means that no changes are needed to prevent server errors.
* As such, making wikis use the loginnotify_seen_net table by
  default should mean that only third-party wikis which understand
  the deprecation would still continue to use the CheckUser
  integration.

What:
* Set wgLoginNotifyUseSeenTable as true and
  wgLoginNotifyUseCheckUser as false in extension.json

Bug: T362321
Change-Id: Ic1e81c547b6e7e3d012aa91c6bcd2e4b4d0913b5
2024-04-11 13:02:44 +01:00

141 lines
4.7 KiB
JSON

{
"name": "LoginNotify",
"version": "0.1",
"author": [
"Brian Wolff"
],
"url": "https://www.mediawiki.org/wiki/Extension:LoginNotify",
"descriptionmsg": "loginnotify-desc",
"license-name": "MIT",
"type": "other",
"requires": {
"MediaWiki": ">= 1.42",
"extensions": {
"Echo": "*"
}
},
"DefaultUserOptions": {
"echo-subscriptions-web-login-fail": true,
"echo-subscriptions-email-login-fail": true,
"echo-subscriptions-web-login-success": false,
"echo-subscriptions-email-login-success": true
},
"MessagesDirs": {
"LoginNotify": [
"i18n"
]
},
"AutoloadNamespaces": {
"LoginNotify\\": "includes/"
},
"Hooks": {
"BeforeCreateEchoEvent": "echo",
"EchoGetBundleRules": "echo",
"AuthManagerLoginAuthenticateAudit": "main",
"LocalUserCreated": "main",
"RecentChange_save": "main",
"LoadExtensionSchemaUpdates": "schema"
},
"HookHandlers": {
"main": {
"class": "LoginNotify\\Hooks",
"services": [
"UserFactory"
]
},
"echo": {
"class": "LoginNotify\\EchoHooks"
},
"schema": {
"class": "LoginNotify\\SchemaHooks"
}
},
"JobClasses": {
"LoginNotifyChecks": {
"class": "LoginNotify\\DeferredChecksJob",
"services": [
"UserFactory"
]
},
"LoginNotifyPurgeSeen": {
"class": "LoginNotify\\PurgeSeenJob",
"services": [
"LoginNotify.LoginNotify"
]
}
},
"ServiceWiringFiles": [
"includes/ServiceWiring.php"
],
"DatabaseVirtualDomains": [
"virtual-LoginNotify"
],
"config": {
"LoginNotifyAttemptsKnownIP": {
"description": "The number of failed login attempts to permit from a known IP before a notification is triggered.",
"value": 5
},
"LoginNotifyExpiryKnownIP": {
"description": "The time-to-live of the count of failed login attempts from a known IP (from the time of the first failed attempt).",
"value": 604800
},
"LoginNotifyAttemptsNewIP": {
"description": "The number of failed login attempts to permit from a new IP before a notification is triggered.",
"value": 1
},
"LoginNotifyExpiryNewIP": {
"description": "The time-to-live of the count of failed login attempts from a new IP (from the time of the first failed attempt).",
"value": 1209600
},
"LoginNotifyCheckKnownIPs": {
"description": "Whether to trigger a notification after failed logins from known IPs.",
"value": true
},
"LoginNotifyEnableOnSuccess": {
"description": "Whether to trigger a notification after successful logins from unknown IPs.",
"value": true
},
"LoginNotifySecretKey": {
"description": "Override this to use a different secret than $wgSecretKey",
"value": null
},
"LoginNotifyCookieExpire": {
"description": "Expiry in seconds. Default is 180 days",
"value": 15552000
},
"LoginNotifyCookieDomain": {
"description": "Override to allow sharing login cookies between sites on different subdomains",
"value": null
},
"LoginNotifyMaxCookieRecords": {
"description": "Maximum number of users (records) to track as having successfully logged in on a particular device.",
"value": 6
},
"LoginNotifyCacheLoginIPExpiry": {
"description": "Set to false to disable caching IPs in memcache. Set to 0 to cache forever. Default 60 days.",
"value": 5184000
},
"LoginNotifyUseCheckUser": {
"description": "Use the CheckUser cu_changes table if it is available. This is redundant with LoginNotify's own table, available with MediaWiki 1.41. Since 1.43, setting this to true is deprecated and when set to true this method may be missing data due to CheckUser schema changes.",
"value": false
},
"LoginNotifyUseSeenTable": {
"description": "Use the loginnotify_seen_net table. This is redundant with LoginNotifyUseCheckUser although both can be enabled during migration.",
"value": true
},
"LoginNotifyUseCentralId": {
"description": "Use central user IDs in the loginnotify_seen_net table. This should be set to true if the loginnotify_seen_net is in a shared database. CentralAuth should be installed and all users should be attached to it.",
"value": false
},
"LoginNotifySeenExpiry": {
"description": "The expiry time of data in the loginnotify_seen_net table, in seconds. This should be a multiple of LoginNotifyBucketSize. Default is 180 days.",
"value": 15552000
},
"LoginNotifySeenBucketSize": {
"description": "The size of a time bucket used when storing data in the loginnotify_seen_net table, in seconds. If this is changed, the data in the loginnotify_seen_net will become invalid and the table should be truncated. Setting this to a small number will require additional storage space. Setting this to a large number will cause the data expiry time to be less accurate. Default: 15 days.",
"value": 1296000
}
},
"manifest_version": 2
}