Skip to content
This repository was archived by the owner on Sep 19, 2022. It is now read-only.

Commit d1d19f1

Browse files
committed
fix: use types array and dictionary instead of map
previously all arrays were marked as "map" in config but treated as arrays BREAKING CHANGE: replace "map" in attribute config with either "array" (ArrayList) or "dictionary" (LinkedHashMap)
1 parent 244ae9e commit d1d19f1

File tree

2 files changed

+14
-17
lines changed

2 files changed

+14
-17
lines changed

config-templates/perun_attributes.php

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
'perunFacilityAttr_voShortNames' => [
1616
'rpc' => 'urn:perun:facility:attribute-def:virt:voShortNames',
1717
'ldap' => 'voShortNames',
18-
'type' => 'map',
18+
'type' => 'array',
1919
],
2020
'perunFacilityAttr_dynamicRegistration' => [
2121
'rpc' => 'urn:perun:facility:attribute-def:def:dynamicRegistration',
@@ -60,17 +60,17 @@
6060
'perunFacilityAttr_reqAups' => [
6161
'rpc' => 'urn:perun:facility:attribute-def:def:reqAups',
6262
'ldap' => 'requiredAups',
63-
'type' => 'map',
63+
'type' => 'array',
6464
],
6565
'perunFacilityAttr_capabilities' => [
6666
'rpc' => 'urn:perun:facility:attribute-def:def:capabilities',
6767
'ldap' => 'capabilities',
68-
'type' => 'map',
68+
'type' => 'array',
6969
],
7070
'perunFacilityAttr_spname' => [
7171
'rpc' => 'urn:perun:facility:attribute-def:def:serviceName',
7272
'ldap' => 'serviceName',
73-
'type' => 'map',
73+
'type' => 'array',
7474
],
7575

7676
/*
@@ -150,17 +150,17 @@
150150
'perunUserAttribute_aups' => [
151151
'rpc' => 'urn:perun:user:attribute-def:def:aups',
152152
'ldap' => 'aups',
153-
'type' => 'map',
153+
'type' => 'dictionary',
154154
],
155155
'perunUserAttribute_groupNames' => [
156156
'rpc' => 'urn:perun:user:attribute-def:virt:groupNames',
157157
'ldap' => 'groupNames',
158-
'type' => 'map',
158+
'type' => 'array',
159159
],
160160
'perunUserAttribute_eduPersonEntitlement' => [
161161
'rpc' => 'urn:perun:user:attribute-def:virt:eduPersonEntitlement',
162162
'ldap' => 'eduPersonEntitlement',
163-
'type' => 'map',
163+
'type' => 'array',
164164
],
165165
'perunUserAttribute_entitlement' => [
166166
'rpc' => 'urn:perun:ues:attribute-def:def:entitlement',
@@ -170,12 +170,12 @@
170170
'perunUserAttribute_bonaFideStatus' => [
171171
'rpc' => 'urn:perun:user:attribute-def:def:bonaFideStatus',
172172
'ldap' => 'bonaFideStatus',
173-
'type' => 'map',
173+
'type' => 'array',
174174
],
175175
'perunUserAttribute_eduPersonScopedAffiliations' => [
176176
'rpc' => 'urn:perun:user:attribute-def:virt:eduPersonScopedAffiliations',
177177
'ldap' => 'eduPersonScopedAffiliations',
178-
'type' => 'map',
178+
'type' => 'array',
179179
],
180180
'perunUserAttribute_affiliation' => [
181181
'rpc' => 'urn:perun:ues:attribute-def:def:affiliation',
@@ -190,7 +190,7 @@
190190
'perunUserAttribute_eduPersonPrincipalNames' => [
191191
'rpc' => 'urn:perun:user:attribute-def:virt:eduPersonPrincipalNames',
192192
'ldap' => 'eduPersonPrincipalNames',
193-
'type' => 'map',
193+
'type' => 'array',
194194
],
195195
'perunUserAttribute_cesnet' => [
196196
'rpc' => 'urn:perun:user:attribute-def:def:login-namespace:cesnet',
@@ -230,7 +230,7 @@
230230
'perunGroupAttribute_groupAffiliations' => [
231231
'rpc' => 'urn:perun:group:attribute-def:def:groupAffiliations',
232232
'ldap' => 'groupAffiliations',
233-
'type' => 'map',
233+
'type' => 'array',
234234
],
235235

236236
/*
@@ -250,6 +250,6 @@
250250
'perunResourceAttribute_capabilities' => [
251251
'rpc' => 'urn:perun:resource:attribute-def:def:capabilities',
252252
'ldap' => 'capabilities',
253-
'type' => 'map',
253+
'type' => 'array',
254254
],
255255
];

lib/AdapterLdap.php

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -50,9 +50,6 @@ class AdapterLdap extends Adapter
5050

5151
public const TYPE_ARRAY = 'array';
5252

53-
//TODO: remove in future major release and replace with self::TYPE_ARRAY
54-
public const TYPE_MAP = 'map';
55-
5653
public const TYPE_DICTIONARY = 'dictionary';
5754

5855
public const INTERNAL_ATTR_NAME = 'internalAttrName';
@@ -651,13 +648,13 @@ private function resolveAttrValue($attrsNameTypeMap, $attrsFromLdap, $attr)
651648
if ($attrsNameTypeMap[$attr][self::TYPE] === self::TYPE_BOOL) {
652649
return false;
653650
}
654-
if ($attrsNameTypeMap[$attr][self::TYPE] === self::TYPE_MAP
651+
if ($attrsNameTypeMap[$attr][self::TYPE] === self::TYPE_ARRAY
655652
|| $attrsNameTypeMap[$attr][self::TYPE] === self::TYPE_DICTIONARY
656653
) {
657654
return [];
658655
}
659656
} else {
660-
if ($attrsNameTypeMap[$attr][self::TYPE] === self::TYPE_MAP) {
657+
if ($attrsNameTypeMap[$attr][self::TYPE] === self::TYPE_ARRAY) {
661658
return $attrsFromLdap[$attr];
662659
}
663660
if ($attrsNameTypeMap[$attr][self::TYPE] === self::TYPE_DICTIONARY) {

0 commit comments

Comments
 (0)