Bug 239475

Summary: adminutil: Several admin server related bugs
Product: [Retired] 389 Reporter: Rich Megginson <rmeggins>
Component: AdminAssignee: Rich Megginson <rmeggins>
Status: CLOSED CURRENTRELEASE QA Contact: Viktor Ashirov <vashirov>
Severity: medium Docs Contact:
Priority: medium    
Version: 1.0.4   
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-12-07 16:56:07 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 152373, 240316, 427409    
Attachments:
Description Flags
list of files
none
diffs
none
cvs commit log none

Description Rich Megginson 2007-05-08 17:53:01 UTC
I found several problems in adminutil while testing admin server:
1) I needed a function to return the SIE DN given a server ID (e.g. return
cn=slapd-localhost, cn=..... given slapd-localhost).  This is to avoid lots of
duplicate code in the admin server CGIs.  There is an SSL version as well.
2) Need to be able to force NSS initialization via ADMSSL_Init*.  There were a
couple of places where admin server would perform a SHA hash using homegrown
code.  This has been removed in favor of using NSS.  ADMSSL_Init* would fail if
not configured for SSL, so we need to force it to initialize NSS even if SSL is
not configured.
3) PSET attribute removal is just broken.  It corrupts the internal tree
structure used to hold the attr/values.
4) small memory leak in form_post.c - not a big deal as this is only used by
CGIs which usually don't free() anyway but just exit() to release their memory
5) small memory error in the new code in resource.c - does not affect any
released code
6) small memory leaks in various places in uginfo.c - also changed some code to
use PR_smprintf instead of fixed size buffers

Comment 1 Rich Megginson 2007-05-08 17:53:01 UTC
Created attachment 154347 [details]
list of files

Comment 2 Rich Megginson 2007-05-08 17:53:38 UTC
Created attachment 154348 [details]
diffs

Comment 3 Noriko Hosoi 2007-05-08 18:50:29 UTC
Your fixes look good.

Comment 4 Rich Megginson 2007-05-08 19:18:11 UTC
Created attachment 154355 [details]
cvs commit log

Reviewed by: nhosoi (Thanks!)
Fix Description:
1) I needed a function to return the SIE DN given a server ID (e.g. return
cn=slapd-localhost, cn=..... given slapd-localhost).  This is to avoid lots of
duplicate code in the admin server CGIs.  There is an SSL version as well. 
Create non-ssl and ssl function to find the SIE DN given the SIE ID.  Change
pset code to use these new functions
2) Need to be able to force NSS initialization via ADMSSL_Init*.  There were a
couple of places where admin server would perform a SHA hash using homegrown
code.  This has been removed in favor of using NSS.  ADMSSL_Init* would fail if

not configured for SSL, so we need to force it to initialize NSS even if SSL is

not configured.  Change the ADMSSL_Init* routines to accept a force parameter.
If this parameter is true, force NSS_Initialize even if the adminutil is not
configured for SSL.  Changed code that uses ADMSSL_Init* to use this new
parameter.3) PSET attribute removal is just broken.  It corrupts the internal
tree structure used to hold the attr/values.  The pset node removal code needed
to set the node->left or ->right to NULL only after freeing it.  Fortunately
this function is hardly used at all. 4) small memory leak in form_post.c - not
a big deal as this is only used by
CGIs which usually don't free() anyway but just exit() to release their memory.
 free memory after use
5) small memory error in the new code in resource.c - does not affect any
released code.	Make sure the buffer is correctly null terminated.  Also, clean
up a small memory leak.
6) small memory leaks in various places in uginfo.c - also changed some code to

use PR_smprintf instead of fixed size buffers.	Fixed memory leaks.
Platforms tested: RHEL4
Flag Day: no
Doc impact: no

Comment 5 Anh Nguyen 2007-12-03 18:37:18 UTC
Changed to to_be_verified_by_dev.

Comment 6 Nathan Kinder 2007-12-21 22:50:55 UTC
This is covered by our Console tests which do a good job of exercising
adminserver and it's associated CGIs, which all make heavy use of adminutil.

Marking as VERIFIED.