|
| 1 | +<?xml version="1.0"?> |
| 2 | +<ruleset name="PHPCompatibilityJoomla"> |
| 3 | + <description>Joomla specific ruleset which checks for PHP cross version compatibility.</description> |
| 4 | + |
| 5 | + <!-- |
| 6 | + The Joomla minimum PHP requirement is PHP 5.3.10. |
| 7 | + Add the following in your project PHPCS ruleset to enforce this: |
| 8 | + <config name="testVersion" value="5.3-"/> |
| 9 | +
|
| 10 | + This directive is not included in this ruleset as individual projects may use |
| 11 | + a different (higher) minimum PHP version. |
| 12 | + --> |
| 13 | + |
| 14 | + <rule ref="PHPCompatibility"> |
| 15 | + <!-- Via `ircmaxell/password-compat` --> |
| 16 | + <exclude name="PHPCompatibility.PHP.NewConstants.password_bcryptFound"/> |
| 17 | + <exclude name="PHPCompatibility.PHP.NewConstants.password_bcrypt_default_costFound"/> |
| 18 | + <exclude name="PHPCompatibility.PHP.NewConstants.password_defaultFound"/> |
| 19 | + <exclude name="PHPCompatibility.PHP.NewFunctions.password_get_infoFound"/> |
| 20 | + <exclude name="PHPCompatibility.PHP.NewFunctions.password_hashFound"/> |
| 21 | + <exclude name="PHPCompatibility.PHP.NewFunctions.password_needs_rehashFound"/> |
| 22 | + <exclude name="PHPCompatibility.PHP.NewFunctions.password_verifyFound"/> |
| 23 | + |
| 24 | + <!-- Via `joomla/compat` --> |
| 25 | + <exclude name="PHPCompatibility.PHP.NewClasses.callbackfilteriteratorFound"/> |
| 26 | + <exclude name="PHPCompatibility.PHP.NewInterfaces.jsonserializableFound"/> |
| 27 | + |
| 28 | + <!-- Via `paragonie/random_compat` --> |
| 29 | + <exclude name="PHPCompatibility.PHP.NewClasses.errorFound"/> |
| 30 | + <exclude name="PHPCompatibility.PHP.NewClasses.typeerrorFound"/> |
| 31 | + <exclude name="PHPCompatibility.PHP.NewFunctions.random_intFound"/> |
| 32 | + <exclude name="PHPCompatibility.PHP.NewFunctions.random_bytesFound"/> |
| 33 | + |
| 34 | + <!-- Via `paragonie/sodium_compat` --> |
| 35 | + <exclude name="PHPCompatibility.PHP.NewConstants.sodium_crypto_aead_chacha20poly1305_keybytesFound"/> |
| 36 | + <exclude name="PHPCompatibility.PHP.NewConstants.sodium_crypto_aead_chacha20poly1305_nsecbytesFound"/> |
| 37 | + <exclude name="PHPCompatibility.PHP.NewConstants.sodium_crypto_aead_chacha20poly1305_npubbytesFound"/> |
| 38 | + <exclude name="PHPCompatibility.PHP.NewConstants.sodium_crypto_aead_chacha20poly1305_abytesFound"/> |
| 39 | + <exclude name="PHPCompatibility.PHP.NewConstants.sodium_crypto_aead_aes256gcm_keybytesFound"/> |
| 40 | + <exclude name="PHPCompatibility.PHP.NewConstants.sodium_crypto_aead_aes256gcm_nsecbytesFound"/> |
| 41 | + <exclude name="PHPCompatibility.PHP.NewConstants.sodium_crypto_aead_aes256gcm_npubbytesFound"/> |
| 42 | + <exclude name="PHPCompatibility.PHP.NewConstants.sodium_crypto_aead_aes256gcm_abytesFound"/> |
| 43 | + <exclude name="PHPCompatibility.PHP.NewConstants.sodium_crypto_aead_chacha20poly1305_ietf_keybytesFound"/> |
| 44 | + <exclude name="PHPCompatibility.PHP.NewConstants.sodium_crypto_aead_chacha20poly1305_ietf_nsecbytesFound"/> |
| 45 | + <exclude name="PHPCompatibility.PHP.NewConstants.sodium_crypto_aead_chacha20poly1305_ietf_npubbytesFound"/> |
| 46 | + <exclude name="PHPCompatibility.PHP.NewConstants.sodium_crypto_aead_chacha20poly1305_ietf_abytesFound"/> |
| 47 | + <exclude name="PHPCompatibility.PHP.NewConstants.sodium_crypto_auth_bytesFound"/> |
| 48 | + <exclude name="PHPCompatibility.PHP.NewConstants.sodium_crypto_auth_keybytesFound"/> |
| 49 | + <exclude name="PHPCompatibility.PHP.NewConstants.sodium_crypto_box_sealbytesFound"/> |
| 50 | + <exclude name="PHPCompatibility.PHP.NewConstants.sodium_crypto_box_secretkeybytesFound"/> |
| 51 | + <exclude name="PHPCompatibility.PHP.NewConstants.sodium_crypto_box_publickeybytesFound"/> |
| 52 | + <exclude name="PHPCompatibility.PHP.NewConstants.sodium_crypto_box_keypairbytesFound"/> |
| 53 | + <exclude name="PHPCompatibility.PHP.NewConstants.sodium_crypto_box_macbytesFound"/> |
| 54 | + <exclude name="PHPCompatibility.PHP.NewConstants.sodium_crypto_box_noncebytesFound"/> |
| 55 | + <exclude name="PHPCompatibility.PHP.NewConstants.sodium_crypto_box_seedbytesFound"/> |
| 56 | + <exclude name="PHPCompatibility.PHP.NewConstants.sodium_crypto_kx_bytesFound"/> |
| 57 | + <exclude name="PHPCompatibility.PHP.NewConstants.sodium_crypto_kx_publickeybytesFound"/> |
| 58 | + <exclude name="PHPCompatibility.PHP.NewConstants.sodium_crypto_kx_secretkeybytesFound"/> |
| 59 | + <exclude name="PHPCompatibility.PHP.NewConstants.sodium_crypto_kx_seedbytesFound"/> |
| 60 | + <exclude name="PHPCompatibility.PHP.NewConstants.sodium_crypto_generichash_bytesFound"/> |
| 61 | + <exclude name="PHPCompatibility.PHP.NewConstants.sodium_crypto_generichash_bytes_minFound"/> |
| 62 | + <exclude name="PHPCompatibility.PHP.NewConstants.sodium_crypto_generichash_bytes_maxFound"/> |
| 63 | + <exclude name="PHPCompatibility.PHP.NewConstants.sodium_crypto_generichash_keybytesFound"/> |
| 64 | + <exclude name="PHPCompatibility.PHP.NewConstants.sodium_crypto_generichash_keybytes_minFound"/> |
| 65 | + <exclude name="PHPCompatibility.PHP.NewConstants.sodium_crypto_generichash_keybytes_maxFound"/> |
| 66 | + <exclude name="PHPCompatibility.PHP.NewConstants.sodium_crypto_pwhash_saltbytesFound"/> |
| 67 | + <exclude name="PHPCompatibility.PHP.NewConstants.sodium_crypto_pwhash_strprefixFound"/> |
| 68 | + <exclude name="PHPCompatibility.PHP.NewConstants.sodium_crypto_pwhash_alg_argon2i13Found"/> |
| 69 | + <exclude name="PHPCompatibility.PHP.NewConstants.sodium_crypto_pwhash_alg_argon2id13Found"/> |
| 70 | + <exclude name="PHPCompatibility.PHP.NewConstants.sodium_crypto_pwhash_memlimit_interactiveFound"/> |
| 71 | + <exclude name="PHPCompatibility.PHP.NewConstants.sodium_crypto_pwhash_opslimit_interactiveFound"/> |
| 72 | + <exclude name="PHPCompatibility.PHP.NewConstants.sodium_crypto_pwhash_memlimit_moderateFound"/> |
| 73 | + <exclude name="PHPCompatibility.PHP.NewConstants.sodium_crypto_pwhash_opslimit_moderateFound"/> |
| 74 | + <exclude name="PHPCompatibility.PHP.NewConstants.sodium_crypto_pwhash_memlimit_sensitiveFound"/> |
| 75 | + <exclude name="PHPCompatibility.PHP.NewConstants.sodium_crypto_pwhash_opslimit_sensitiveFound"/> |
| 76 | + <exclude name="PHPCompatibility.PHP.NewConstants.sodium_crypto_scalarmult_bytesFound"/> |
| 77 | + <exclude name="PHPCompatibility.PHP.NewConstants.sodium_crypto_scalarmult_scalarbytesFound"/> |
| 78 | + <exclude name="PHPCompatibility.PHP.NewConstants.sodium_crypto_shorthash_bytesFound"/> |
| 79 | + <exclude name="PHPCompatibility.PHP.NewConstants.sodium_crypto_shorthash_keybytesFound"/> |
| 80 | + <exclude name="PHPCompatibility.PHP.NewConstants.sodium_crypto_secretbox_keybytesFound"/> |
| 81 | + <exclude name="PHPCompatibility.PHP.NewConstants.sodium_crypto_secretbox_macbytesFound"/> |
| 82 | + <exclude name="PHPCompatibility.PHP.NewConstants.sodium_crypto_secretbox_noncebytesFound"/> |
| 83 | + <exclude name="PHPCompatibility.PHP.NewConstants.sodium_crypto_sign_bytesFound"/> |
| 84 | + <exclude name="PHPCompatibility.PHP.NewConstants.sodium_crypto_sign_seedbytesFound"/> |
| 85 | + <exclude name="PHPCompatibility.PHP.NewConstants.sodium_crypto_sign_publickeybytesFound"/> |
| 86 | + <exclude name="PHPCompatibility.PHP.NewConstants.sodium_crypto_sign_secretkeybytesFound"/> |
| 87 | + <exclude name="PHPCompatibility.PHP.NewConstants.sodium_crypto_sign_keypairbytesFound"/> |
| 88 | + <exclude name="PHPCompatibility.PHP.NewConstants.sodium_crypto_stream_keybytesFound"/> |
| 89 | + <exclude name="PHPCompatibility.PHP.NewConstants.sodium_crypto_stream_noncebytesFound"/> |
| 90 | + <exclude name="PHPCompatibility.PHP.NewFunctions.sodium_bin2hexFound"/> |
| 91 | + <exclude name="PHPCompatibility.PHP.NewFunctions.sodium_compareFound"/> |
| 92 | + <exclude name="PHPCompatibility.PHP.NewFunctions.sodium_crypto_aead_aes256gcm_decryptFound"/> |
| 93 | + <exclude name="PHPCompatibility.PHP.NewFunctions.sodium_crypto_aead_aes256gcm_encryptFound"/> |
| 94 | + <exclude name="PHPCompatibility.PHP.NewFunctions.sodium_crypto_aead_aes256gcm_is_availableFound"/> |
| 95 | + <exclude name="PHPCompatibility.PHP.NewFunctions.sodium_crypto_aead_chacha20poly1305_decryptFound"/> |
| 96 | + <exclude name="PHPCompatibility.PHP.NewFunctions.sodium_crypto_aead_chacha20poly1305_encryptFound"/> |
| 97 | + <exclude name="PHPCompatibility.PHP.NewFunctions.sodium_crypto_aead_chacha20poly1305_keygenFound"/> |
| 98 | + <exclude name="PHPCompatibility.PHP.NewFunctions.sodium_crypto_aead_chacha20poly1305_ietf_decryptFound"/> |
| 99 | + <exclude name="PHPCompatibility.PHP.NewFunctions.sodium_crypto_aead_chacha20poly1305_ietf_encryptFound"/> |
| 100 | + <exclude name="PHPCompatibility.PHP.NewFunctions.sodium_crypto_aead_chacha20poly1305_ietf_keygenFound"/> |
| 101 | + <exclude name="PHPCompatibility.PHP.NewFunctions.sodium_crypto_aead_xchacha20poly1305_ietf_decryptFound"/> |
| 102 | + <exclude name="PHPCompatibility.PHP.NewFunctions.sodium_crypto_aead_xchacha20poly1305_ietf_encryptFound"/> |
| 103 | + <exclude name="PHPCompatibility.PHP.NewFunctions.sodium_crypto_aead_xchacha20poly1305_ietf_keygenFound"/> |
| 104 | + <exclude name="PHPCompatibility.PHP.NewFunctions.sodium_crypto_authFound"/> |
| 105 | + <exclude name="PHPCompatibility.PHP.NewFunctions.sodium_crypto_auth_keygenFound"/> |
| 106 | + <exclude name="PHPCompatibility.PHP.NewFunctions.sodium_crypto_auth_verifyFound"/> |
| 107 | + <exclude name="PHPCompatibility.PHP.NewFunctions.sodium_crypto_boxFound"/> |
| 108 | + <exclude name="PHPCompatibility.PHP.NewFunctions.sodium_crypto_box_keypairFound"/> |
| 109 | + <exclude name="PHPCompatibility.PHP.NewFunctions.sodium_crypto_box_keypair_from_secretkey_and_publickeyFound"/> |
| 110 | + <exclude name="PHPCompatibility.PHP.NewFunctions.sodium_crypto_box_openFound"/> |
| 111 | + <exclude name="PHPCompatibility.PHP.NewFunctions.sodium_crypto_box_publickeyFound"/> |
| 112 | + <exclude name="PHPCompatibility.PHP.NewFunctions.sodium_crypto_box_publickey_from_secretkeyFound"/> |
| 113 | + <exclude name="PHPCompatibility.PHP.NewFunctions.sodium_crypto_box_sealFound"/> |
| 114 | + <exclude name="PHPCompatibility.PHP.NewFunctions.sodium_crypto_box_seal_openFound"/> |
| 115 | + <exclude name="PHPCompatibility.PHP.NewFunctions.sodium_crypto_box_secretkeyFound"/> |
| 116 | + <exclude name="PHPCompatibility.PHP.NewFunctions.sodium_crypto_box_seed_keypairFound"/> |
| 117 | + <exclude name="PHPCompatibility.PHP.NewFunctions.sodium_crypto_generichashFound"/> |
| 118 | + <exclude name="PHPCompatibility.PHP.NewFunctions.sodium_crypto_generichash_finalFound"/> |
| 119 | + <exclude name="PHPCompatibility.PHP.NewFunctions.sodium_crypto_generichash_initFound"/> |
| 120 | + <exclude name="PHPCompatibility.PHP.NewFunctions.sodium_crypto_generichash_keygenFound"/> |
| 121 | + <exclude name="PHPCompatibility.PHP.NewFunctions.sodium_crypto_generichash_updateFound"/> |
| 122 | + <exclude name="PHPCompatibility.PHP.NewFunctions.sodium_crypto_kxFound"/> |
| 123 | + <exclude name="PHPCompatibility.PHP.NewFunctions.sodium_crypto_pwhashFound"/> |
| 124 | + <exclude name="PHPCompatibility.PHP.NewFunctions.sodium_crypto_pwhash_strFound"/> |
| 125 | + <exclude name="PHPCompatibility.PHP.NewFunctions.sodium_crypto_pwhash_str_verifyFound"/> |
| 126 | + <exclude name="PHPCompatibility.PHP.NewFunctions.sodium_crypto_pwhash_scryptsalsa208sha256Found"/> |
| 127 | + <exclude name="PHPCompatibility.PHP.NewFunctions.sodium_crypto_pwhash_scryptsalsa208sha256_strFound"/> |
| 128 | + <exclude name="PHPCompatibility.PHP.NewFunctions.sodium_crypto_pwhash_scryptsalsa208sha256_str_verifyFound"/> |
| 129 | + <exclude name="PHPCompatibility.PHP.NewFunctions.sodium_crypto_scalarmultFound"/> |
| 130 | + <exclude name="PHPCompatibility.PHP.NewFunctions.sodium_crypto_scalarmult_baseFound"/> |
| 131 | + <exclude name="PHPCompatibility.PHP.NewFunctions.sodium_crypto_secretboxFound"/> |
| 132 | + <exclude name="PHPCompatibility.PHP.NewFunctions.sodium_crypto_secretbox_keygenFound"/> |
| 133 | + <exclude name="PHPCompatibility.PHP.NewFunctions.sodium_crypto_secretbox_openFound"/> |
| 134 | + <exclude name="PHPCompatibility.PHP.NewFunctions.sodium_crypto_shorthashFound"/> |
| 135 | + <exclude name="PHPCompatibility.PHP.NewFunctions.sodium_crypto_shorthash_keygenFound"/> |
| 136 | + <exclude name="PHPCompatibility.PHP.NewFunctions.sodium_crypto_signFound"/> |
| 137 | + <exclude name="PHPCompatibility.PHP.NewFunctions.sodium_crypto_sign_detachedFound"/> |
| 138 | + <exclude name="PHPCompatibility.PHP.NewFunctions.sodium_crypto_sign_keypairFound"/> |
| 139 | + <exclude name="PHPCompatibility.PHP.NewFunctions.sodium_crypto_sign_openFound"/> |
| 140 | + <exclude name="PHPCompatibility.PHP.NewFunctions.sodium_crypto_sign_publickeyFound"/> |
| 141 | + <exclude name="PHPCompatibility.PHP.NewFunctions.sodium_crypto_sign_publickey_from_secretkeyFound"/> |
| 142 | + <exclude name="PHPCompatibility.PHP.NewFunctions.sodium_crypto_sign_secretkeyFound"/> |
| 143 | + <exclude name="PHPCompatibility.PHP.NewFunctions.sodium_crypto_sign_seed_keypairFound"/> |
| 144 | + <exclude name="PHPCompatibility.PHP.NewFunctions.sodium_crypto_sign_verify_detachedFound"/> |
| 145 | + <exclude name="PHPCompatibility.PHP.NewFunctions.sodium_crypto_sign_ed25519_pk_to_curve25519Found"/> |
| 146 | + <exclude name="PHPCompatibility.PHP.NewFunctions.sodium_crypto_sign_ed25519_sk_to_curve25519Found"/> |
| 147 | + <exclude name="PHPCompatibility.PHP.NewFunctions.sodium_crypto_streamFound"/> |
| 148 | + <exclude name="PHPCompatibility.PHP.NewFunctions.sodium_crypto_stream_keygenFound"/> |
| 149 | + <exclude name="PHPCompatibility.PHP.NewFunctions.sodium_crypto_stream_xorFound"/> |
| 150 | + <exclude name="PHPCompatibility.PHP.NewFunctions.sodium_hex2binFound"/> |
| 151 | + <exclude name="PHPCompatibility.PHP.NewFunctions.sodium_incrementFound"/> |
| 152 | + <exclude name="PHPCompatibility.PHP.NewFunctions.sodium_library_version_majorFound"/> |
| 153 | + <exclude name="PHPCompatibility.PHP.NewFunctions.sodium_library_version_minorFound"/> |
| 154 | + <exclude name="PHPCompatibility.PHP.NewFunctions.sodium_version_stringFound"/> |
| 155 | + <exclude name="PHPCompatibility.PHP.NewFunctions.sodium_memcmpFound"/> |
| 156 | + <exclude name="PHPCompatibility.PHP.NewFunctions.sodium_memzeroFound"/> |
| 157 | + <exclude name="PHPCompatibility.PHP.NewFunctions.sodium_randombytes_bufFound"/> |
| 158 | + <exclude name="PHPCompatibility.PHP.NewFunctions.sodium_randombytes_uniformFound"/> |
| 159 | + <exclude name="PHPCompatibility.PHP.NewFunctions.sodium_randombytes_random16Found"/> |
| 160 | + |
| 161 | + <!-- Via `symfony/polyfill-php55` --> |
| 162 | + <exclude name="PHPCompatibility.PHP.NewFunctions.array_columnFound"/> |
| 163 | + <exclude name="PHPCompatibility.PHP.NewFunctions.boolvalFound"/> |
| 164 | + <exclude name="PHPCompatibility.PHP.NewFunctions.hash_pbkdf2Found"/> |
| 165 | + <exclude name="PHPCompatibility.PHP.NewFunctions.json_last_error_msgFound"/> |
| 166 | + |
| 167 | + <!-- Via `symfony/polyfill-php56` --> |
| 168 | + <exclude name="PHPCompatibility.PHP.NewFunctions.hash_equalsFound"/> |
| 169 | + <exclude name="PHPCompatibility.PHP.NewFunctions.ldap_escapeFound"/> |
| 170 | + |
| 171 | + <!-- Via `symfony/polyfill-php73` --> |
| 172 | + <exclude name="PHPCompatibility.PHP.NewFunctions.is_countableFound"/> |
| 173 | + </rule> |
| 174 | + |
| 175 | +</ruleset> |
0 commit comments