Skip to content

Commit b721633

Browse files
committed
chore(ISecureRandom): Deprecate generate() in favor of Randomizer::getBytesFromString()
Signed-off-by: provokateurin <kate@provokateurin.de>
1 parent 7e96a52 commit b721633

2 files changed

Lines changed: 140 additions & 0 deletions

File tree

build/psalm-baseline.xml

Lines changed: 137 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,11 @@
2828
<code><![CDATA[getFederationIdFromSharedSecret]]></code>
2929
</DeprecatedMethod>
3030
</file>
31+
<file src="apps/cloud_federation_api/lib/Controller/TokenController.php">
32+
<DeprecatedMethod>
33+
<code><![CDATA[generate]]></code>
34+
</DeprecatedMethod>
35+
</file>
3136
<file src="apps/comments/lib/Activity/Listener.php">
3237
<DeprecatedConstant>
3338
<code><![CDATA[CommentsEvent::EVENT_ADD]]></code>
@@ -185,6 +190,7 @@
185190
</file>
186191
<file src="apps/dav/lib/CalDAV/CalDavBackend.php">
187192
<DeprecatedMethod>
193+
<code><![CDATA[generate]]></code>
188194
<code><![CDATA[getAppValue]]></code>
189195
<code><![CDATA[getAppValue]]></code>
190196
</DeprecatedMethod>
@@ -243,6 +249,11 @@
243249
<code><![CDATA[$this->baseEvent->DTSTART]]></code>
244250
</UndefinedMagicPropertyFetch>
245251
</file>
252+
<file src="apps/dav/lib/CalDAV/Federation/FederationSharingService.php">
253+
<DeprecatedMethod>
254+
<code><![CDATA[generate]]></code>
255+
</DeprecatedMethod>
256+
</file>
246257
<file src="apps/dav/lib/CalDAV/ICSExportPlugin/ICSExportPlugin.php">
247258
<DeprecatedMethod>
248259
<code><![CDATA[getAppValue]]></code>
@@ -422,6 +433,9 @@
422433
</RedundantCondition>
423434
</file>
424435
<file src="apps/dav/lib/CalDAV/Schedule/IMipService.php">
436+
<DeprecatedMethod>
437+
<code><![CDATA[generate]]></code>
438+
</DeprecatedMethod>
425439
<UndefinedMagicPropertyFetch>
426440
<code><![CDATA[$component->DTSTART]]></code>
427441
<code><![CDATA[$component->UID]]></code>
@@ -848,6 +862,11 @@
848862
<code><![CDATA[setAppValue]]></code>
849863
</DeprecatedMethod>
850864
</file>
865+
<file src="apps/dav/lib/Controller/DirectController.php">
866+
<DeprecatedMethod>
867+
<code><![CDATA[generate]]></code>
868+
</DeprecatedMethod>
869+
</file>
851870
<file src="apps/dav/lib/Controller/InvitationResponseController.php">
852871
<UndefinedMagicPropertyFetch>
853872
<code><![CDATA[$vObject->{'VEVENT'}]]></code>
@@ -981,6 +1000,11 @@
9811000
<code><![CDATA[setAppValue]]></code>
9821001
</DeprecatedMethod>
9831002
</file>
1003+
<file src="apps/dav/lib/Paginate/PaginateCache.php">
1004+
<DeprecatedMethod>
1005+
<code><![CDATA[generate]]></code>
1006+
</DeprecatedMethod>
1007+
</file>
9841008
<file src="apps/dav/lib/RootCollection.php">
9851009
<DeprecatedMethod>
9861010
<code><![CDATA[getL10N]]></code>
@@ -1046,6 +1070,9 @@
10461070
</UndefinedMagicPropertyFetch>
10471071
</file>
10481072
<file src="apps/dav/lib/Service/ExampleEventService.php">
1073+
<DeprecatedMethod>
1074+
<code><![CDATA[generate]]></code>
1075+
</DeprecatedMethod>
10491076
<UndefinedMagicPropertyAssignment>
10501077
<code><![CDATA[$vEvent->DTEND]]></code>
10511078
<code><![CDATA[$vEvent->DTSTART]]></code>
@@ -1226,6 +1253,9 @@
12261253
</TypeDoesNotContainType>
12271254
</file>
12281255
<file src="apps/encryption/lib/Crypto/EncryptAll.php">
1256+
<DeprecatedMethod>
1257+
<code><![CDATA[generate]]></code>
1258+
</DeprecatedMethod>
12291259
<InternalMethod>
12301260
<code><![CDATA[copy]]></code>
12311261
<code><![CDATA[file_exists]]></code>
@@ -1326,6 +1356,7 @@
13261356
</file>
13271357
<file src="apps/federatedfilesharing/lib/FederatedShareProvider.php">
13281358
<DeprecatedMethod>
1359+
<code><![CDATA[generate]]></code>
13291360
<code><![CDATA[getAppValue]]></code>
13301361
<code><![CDATA[getAppValue]]></code>
13311362
<code><![CDATA[getAppValue]]></code>
@@ -1360,6 +1391,16 @@
13601391
<code><![CDATA[sendNotification]]></code>
13611392
</DeprecatedMethod>
13621393
</file>
1394+
<file src="apps/federatedfilesharing/lib/TokenHandler.php">
1395+
<DeprecatedMethod>
1396+
<code><![CDATA[generate]]></code>
1397+
</DeprecatedMethod>
1398+
</file>
1399+
<file src="apps/federation/lib/Controller/OCSAuthAPIController.php">
1400+
<DeprecatedMethod>
1401+
<code><![CDATA[generate]]></code>
1402+
</DeprecatedMethod>
1403+
</file>
13631404
<file src="apps/federation/lib/DbHandler.php">
13641405
<LessSpecificReturnStatement>
13651406
<code><![CDATA[$result]]></code>
@@ -1368,6 +1409,11 @@
13681409
<code><![CDATA[list<array{id: int, url: string, url_hash: string, shared_secret: ?string, status: int, sync_token: ?string}>]]></code>
13691410
</MoreSpecificReturnType>
13701411
</file>
1412+
<file src="apps/federation/lib/TrustedServers.php">
1413+
<DeprecatedMethod>
1414+
<code><![CDATA[generate]]></code>
1415+
</DeprecatedMethod>
1416+
</file>
13711417
<file src="apps/files/lib/Activity/Provider.php">
13721418
<FalsableReturnStatement>
13731419
<code><![CDATA[$this->fileEncrypted[$fileId]]]></code>
@@ -1455,6 +1501,11 @@
14551501
<code><![CDATA[getTemplates]]></code>
14561502
</UndefinedInterfaceMethod>
14571503
</file>
1504+
<file src="apps/files/lib/Controller/OpenLocalEditorController.php">
1505+
<DeprecatedMethod>
1506+
<code><![CDATA[generate]]></code>
1507+
</DeprecatedMethod>
1508+
</file>
14581509
<file src="apps/files/lib/Controller/ViewController.php">
14591510
<DeprecatedMethod>
14601511
<code><![CDATA[getUserValue]]></code>
@@ -1596,6 +1647,9 @@
15961647
</DeprecatedMethod>
15971648
</file>
15981649
<file src="apps/files_external/lib/Service/EncryptionService.php">
1650+
<DeprecatedMethod>
1651+
<code><![CDATA[generate]]></code>
1652+
</DeprecatedMethod>
15991653
<InternalMethod>
16001654
<code><![CDATA[decrypt]]></code>
16011655
<code><![CDATA[encrypt]]></code>
@@ -1685,6 +1739,7 @@
16851739
<code><![CDATA[emitAccessShareHook]]></code>
16861740
<code><![CDATA[emitAccessShareHook]]></code>
16871741
<code><![CDATA[emitAccessShareHook]]></code>
1742+
<code><![CDATA[generate]]></code>
16881743
</DeprecatedMethod>
16891744
</file>
16901745
<file src="apps/files_sharing/lib/External/Manager.php">
@@ -2218,11 +2273,26 @@
22182273
<code><![CDATA[deleteUserValue]]></code>
22192274
</DeprecatedMethod>
22202275
</file>
2276+
<file src="apps/oauth2/lib/Controller/LoginRedirectorController.php">
2277+
<DeprecatedMethod>
2278+
<code><![CDATA[generate]]></code>
2279+
</DeprecatedMethod>
2280+
</file>
22212281
<file src="apps/oauth2/lib/Controller/OauthApiController.php">
2282+
<DeprecatedMethod>
2283+
<code><![CDATA[generate]]></code>
2284+
<code><![CDATA[generate]]></code>
2285+
</DeprecatedMethod>
22222286
<NoInterfaceProperties>
22232287
<code><![CDATA[$this->request->server]]></code>
22242288
</NoInterfaceProperties>
22252289
</file>
2290+
<file src="apps/oauth2/lib/Service/ClientService.php">
2291+
<DeprecatedMethod>
2292+
<code><![CDATA[generate]]></code>
2293+
<code><![CDATA[generate]]></code>
2294+
</DeprecatedMethod>
2295+
</file>
22262296
<file src="apps/provisioning_api/lib/Controller/AUserDataOCSController.php">
22272297
<DeprecatedClass>
22282298
<code><![CDATA[\OC_Util::setupFS($user->getUID())]]></code>
@@ -2257,6 +2327,12 @@
22572327
</DeprecatedConstant>
22582328
<DeprecatedMethod>
22592329
<code><![CDATA[deleteUserValue]]></code>
2330+
<code><![CDATA[generate]]></code>
2331+
<code><![CDATA[generate]]></code>
2332+
<code><![CDATA[generate]]></code>
2333+
<code><![CDATA[generate]]></code>
2334+
<code><![CDATA[generate]]></code>
2335+
<code><![CDATA[generate]]></code>
22602336
<code><![CDATA[getAppValue]]></code>
22612337
<code><![CDATA[getAppValue]]></code>
22622338
<code><![CDATA[getAppValue]]></code>
@@ -2289,6 +2365,11 @@
22892365
<code><![CDATA[IAccountManager::PROPERTY_TWITTER]]></code>
22902366
</DeprecatedConstant>
22912367
</file>
2368+
<file src="apps/settings/lib/Controller/AuthSettingsController.php">
2369+
<DeprecatedMethod>
2370+
<code><![CDATA[generate]]></code>
2371+
</DeprecatedMethod>
2372+
</file>
22922373
<file src="apps/settings/lib/Controller/MailSettingsController.php">
22932374
<DeprecatedMethod>
22942375
<code><![CDATA[getUserValue]]></code>
@@ -2328,6 +2409,7 @@
23282409
</file>
23292410
<file src="apps/settings/lib/Mailer/NewUserMailHelper.php">
23302411
<DeprecatedMethod>
2412+
<code><![CDATA[generate]]></code>
23312413
<code><![CDATA[setUserValue]]></code>
23322414
</DeprecatedMethod>
23332415
</file>
@@ -2431,12 +2513,23 @@
24312513
<code><![CDATA[getAppValue]]></code>
24322514
</DeprecatedMethod>
24332515
</file>
2516+
<file src="apps/settings/lib/SetupChecks/RandomnessSecure.php">
2517+
<DeprecatedMethod>
2518+
<code><![CDATA[generate]]></code>
2519+
</DeprecatedMethod>
2520+
</file>
24342521
<file src="apps/sharebymail/lib/Settings/SettingsManager.php">
24352522
<DeprecatedMethod>
24362523
<code><![CDATA[getAppValue]]></code>
24372524
<code><![CDATA[getAppValue]]></code>
24382525
</DeprecatedMethod>
24392526
</file>
2527+
<file src="apps/sharebymail/lib/ShareByMailProvider.php">
2528+
<DeprecatedMethod>
2529+
<code><![CDATA[generate]]></code>
2530+
<code><![CDATA[generate]]></code>
2531+
</DeprecatedMethod>
2532+
</file>
24402533
<file src="apps/testing/lib/AlternativeHomeUserBackend.php">
24412534
<DeprecatedInterface>
24422535
<code><![CDATA[AlternativeHomeUserBackend]]></code>
@@ -2629,6 +2722,16 @@
26292722
<code><![CDATA[getName]]></code>
26302723
</DeprecatedMethod>
26312724
</file>
2725+
<file src="apps/twofactor_backupcodes/lib/Service/BackupCodeStorage.php">
2726+
<DeprecatedMethod>
2727+
<code><![CDATA[generate]]></code>
2728+
</DeprecatedMethod>
2729+
</file>
2730+
<file src="apps/updatenotification/lib/Controller/AdminController.php">
2731+
<DeprecatedMethod>
2732+
<code><![CDATA[generate]]></code>
2733+
</DeprecatedMethod>
2734+
</file>
26322735
<file src="apps/user_ldap/lib/Access.php">
26332736
<DeprecatedMethod>
26342737
<code><![CDATA[emit]]></code>
@@ -2819,6 +2922,11 @@
28192922
<code><![CDATA[is_array($value) ? json_encode($value) : $value]]></code>
28202923
</FalsableReturnStatement>
28212924
</file>
2925+
<file src="apps/webhook_listeners/lib/Service/TokenService.php">
2926+
<DeprecatedMethod>
2927+
<code><![CDATA[generate]]></code>
2928+
</DeprecatedMethod>
2929+
</file>
28222930
<file src="apps/workflowengine/lib/AppInfo/Application.php">
28232931
<RedundantCondition>
28242932
<code><![CDATA[$event instanceof Event]]></code>
@@ -3000,11 +3108,19 @@
30003108
<code><![CDATA[listen]]></code>
30013109
</DeprecatedMethod>
30023110
</file>
3111+
<file src="core/Command/User/Add.php">
3112+
<DeprecatedMethod>
3113+
<code><![CDATA[generate]]></code>
3114+
</DeprecatedMethod>
3115+
</file>
30033116
<file src="core/Command/User/AuthTokens/Add.php">
30043117
<DeprecatedClass>
30053118
<code><![CDATA[IToken::DO_NOT_REMEMBER]]></code>
30063119
<code><![CDATA[IToken::PERMANENT_TOKEN]]></code>
30073120
</DeprecatedClass>
3121+
<DeprecatedMethod>
3122+
<code><![CDATA[generate]]></code>
3123+
</DeprecatedMethod>
30083124
</file>
30093125
<file src="core/Command/User/AuthTokens/ListCommand.php">
30103126
<DeprecatedClass>
@@ -3041,8 +3157,23 @@
30413157
<code><![CDATA[IToken::DO_NOT_REMEMBER]]></code>
30423158
<code><![CDATA[IToken::PERMANENT_TOKEN]]></code>
30433159
</DeprecatedClass>
3160+
<DeprecatedMethod>
3161+
<code><![CDATA[generate]]></code>
3162+
<code><![CDATA[generate]]></code>
3163+
<code><![CDATA[generate]]></code>
3164+
</DeprecatedMethod>
3165+
</file>
3166+
<file src="core/Controller/ClientFlowLoginController.php">
3167+
<DeprecatedMethod>
3168+
<code><![CDATA[generate]]></code>
3169+
<code><![CDATA[generate]]></code>
3170+
<code><![CDATA[generate]]></code>
3171+
</DeprecatedMethod>
30443172
</file>
30453173
<file src="core/Controller/ClientFlowLoginV2Controller.php">
3174+
<DeprecatedMethod>
3175+
<code><![CDATA[generate]]></code>
3176+
</DeprecatedMethod>
30463177
<TypeDoesNotContainType>
30473178
<code><![CDATA[!is_string($stateToken)]]></code>
30483179
</TypeDoesNotContainType>
@@ -3191,6 +3322,11 @@
31913322
<code><![CDATA[IToken::DO_NOT_REMEMBER]]></code>
31923323
<code><![CDATA[IToken::PERMANENT_TOKEN]]></code>
31933324
</DeprecatedClass>
3325+
<DeprecatedMethod>
3326+
<code><![CDATA[generate]]></code>
3327+
<code><![CDATA[generate]]></code>
3328+
<code><![CDATA[generate]]></code>
3329+
</DeprecatedMethod>
31943330
</file>
31953331
<file src="core/templates/publicshareauth.php">
31963332
<DeprecatedMethod>
@@ -4180,6 +4316,7 @@
41804316
<file src="tests/lib/TestCase.php">
41814317
<DeprecatedMethod>
41824318
<code><![CDATA[$container]]></code>
4319+
<code><![CDATA[generate]]></code>
41834320
</DeprecatedMethod>
41844321
<InternalMethod>
41854322
<code><![CDATA[lockFile]]></code>

lib/public/Security/ISecureRandom.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@
99

1010
namespace OCP\Security;
1111

12+
use Random\Randomizer;
13+
1214
/**
1315
* Class SecureRandom provides a wrapper around the random_int function to generate
1416
* secure random strings. For PHP 7 the native CSPRNG is used, older versions do
@@ -62,6 +64,7 @@ interface ISecureRandom {
6264
* specified all valid base64 characters are used.
6365
* @return string
6466
* @since 8.0.0
67+
* @deprecated 35.0.0 Use {@see Randomizer::getBytesFromString()} available in PHP 8.3+ instead.
6568
*/
6669
public function generate(int $length,
6770
string $characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'): string;

0 commit comments

Comments
 (0)