@@ -53,6 +53,7 @@ def hasBar( request ):
53
53
from DIRAC .Core .Security .Properties import FULL_DELEGATION , LIMITED_DELEGATION
54
54
from DIRAC .Core .Utilities .DIRACSingleton import DIRACSingleton
55
55
from DIRAC .ConfigurationSystem .Client import PathFinder
56
+ from DIRAC .ConfigurationSystem .Client .Helpers .Registry import getUsernameForDN
56
57
57
58
58
59
class RequestValidator (metaclass = DIRACSingleton ):
@@ -268,28 +269,21 @@ def setAndCheckRequestOwner(request, remoteCredentials):
268
269
269
270
:returns: True if everything is fine, False otherwise
270
271
"""
271
-
272
272
credUserName = remoteCredentials ["username" ]
273
273
credGroup = remoteCredentials ["group" ]
274
274
credProperties = remoteCredentials ["properties" ]
275
- ownershipCheck = None
276
-
277
- # FIXME: code for backward compatibility with requests created by 8.0 clients
278
- # The below can be clearly simplified, leaving the extended checks for clarity
279
- if hasattr (request , "OwnerDN" ) and not hasattr (
280
- request , "Owner"
281
- ): # Requests created by v8.0 client for v8.0 servers
282
- ownershipCheck = request .OwnerDN
283
- if not hasattr (request , "OwnerDN" ) and hasattr (
284
- request , "Owner"
285
- ): # Requests created by v9 client for v9 servers
286
- ownershipCheck = request .Owner
287
- if hasattr (request , "OwnerDN" ) and hasattr (request , "Owner" ): # Requests created by v8.0 client for v9 servers
288
- ownershipCheck = request .Owner
289
- # ##
275
+
276
+ # In case we have an old style request with only a DN and no Owner,
277
+ # get the Owner from the DN.
278
+ if getattr (request , "OwnerDN" , None ) and not getattr (request , "Owner" , None ):
279
+ res = getUsernameForDN (request .OwnerDN )
280
+ if not res ["OK" ]:
281
+ gLogger .error ("Cannot Validate request" , res )
282
+ return False
283
+ request .Owner = res ["Value" ]
290
284
291
285
# If the owner or the group was not set, we use the one of the credentials
292
- if not ownershipCheck or not request .OwnerGroup :
286
+ if not request . Owner or not request .OwnerGroup :
293
287
request .Owner = credUserName
294
288
request .OwnerGroup = credGroup
295
289
return True
0 commit comments