Red Hat Bugzilla – Bug 245369
mod_admserv: Task cache refresh uses wrong credentials
Last modified: 2015-12-07 11:36:52 EST
When refreshing the task cache, the admin server should use the credentials of
the currently authenticated user.
Created attachment 157632 [details]
Created attachment 157665 [details]
cvs commit log
Reviewed by: nkinder (Thanks!)
Fix Description: When the user requests a Task url, the admin server first
figures out which server instance (or product) the request is for, then checks
to see if it has seen that server or product before. If not, it uses the
function sync_task_sie_data() to read the task data from the SIEs and ISIEs.
However, it needs to use the credentials of the currently authenticated user
to do so, because the tasks are protected by ACIs, and the user should only be
allowed to read those tasks the user has access to. The interface to read
these tasks is not great. It expects the SIE is a user with a password, and
it attempts to bind as that user, instead of the currently authenticated user.
I had to hack it to force it to use the current userdn and password instead
of the SIE DN and SIE password.
The SIE DN and password are now deprecated for binding. There were a couple
of places where the SIE was used for both the bind DN and the SIE DN. I've
created another structure member for the admservSieDN for use as the SIE (the
configuration base DN) instead of as a bind DN, and deprecated the use of the
SIE as the bind DN elsewhere in the code.
Platforms tested: RHEL4
Flag Day: no
Doc impact: no
Verified using the following steps:
- open Directory server instance.
- goto Directory tab
- create a new user under cn=config with uid=repl. provide password redhat
- click on menu console -> Login as new user. Enter id , uid=repl,cn=config.
- login works ok.
- goto configuration tab
"user uid=repl, cn=config does not have performission to perform this operation"