Bug 1360327

Summary: remove-ds.pl deletes an instance even if wrong prefix was specified
Product: Red Hat Enterprise Linux 7 Reporter: Simon Pichugin <spichugi>
Component: 389-ds-baseAssignee: Noriko Hosoi <nhosoi>
Status: CLOSED ERRATA QA Contact: Viktor Ashirov <vashirov>
Severity: low Docs Contact:
Priority: unspecified    
Version: 7.3CC: nhosoi, nkinder, rmeggins
Target Milestone: pre-dev-freeze   
Target Release: 7.3   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: 389-ds-base-1.3.5.10-6.el7 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-11-03 20:44:25 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Simon Pichugin 2016-07-26 12:32:42 UTC
Description of problem:
It is possible to delete the instance 'slapd-standalone' with remove-ds.pl tool, while specifying wrong prefix 'anyprefix-standalone'.

Version-Release number of selected component:
389-ds-base-1.3.5.10-5.el7.x86_64

How reproducible:
Always

Steps to Reproduce:
1. Install an instance with a name 'standalone'
2. Run remove-ds.pl tool to remove it, but specify a wrong prefix instead of 'slapd'
$ remove-ds.pl -i 'anyprefix-standalone'

Actual results:
Instance anyprefix-standalone removed.

Expected results:
The following errors occurred during removal:
Error: could not find directory server configuration directory 'anyprefix-standalone'.  Error: No such file or directory
Error: could not remove directory server standalone

Additional info:
/usr/sbin/remove-ds.pl contains the next line (50):
my ($slapd, $inst) = split(/-/, $instname, 2);

So it doesn't check that before '-' is 'slapd' prefix and then it just splits that part.

Comment 1 Noriko Hosoi 2016-07-26 16:24:00 UTC
Hi Simon,

Since remove-ds.pl is part of 389-ds-base, updating the Product and Component...

And you are very welcome to provide a git patch since you've already figured how to fix it. ;)  I'll review it and push it for you!

Thank you!!
--noriko

Comment 2 Noriko Hosoi 2016-07-26 16:25:17 UTC
Upstream ticket:
https://fedorahosted.org/389/ticket/48934

Comment 5 Simon Pichugin 2016-08-22 08:17:43 UTC
Build tested:
389-ds-base-1.3.5.10-8.el7.x86_64

Verification steps:
1. Install an instance with a name 'standalone'
2. Run remove-ds.pl tool to remove it, but specify a wrong prefix instead of 'slapd'

$ remove-ds.pl -i 'anyprefix-standalone'

Result:
Error: Invalid instance name "anyprefix-standalone"

$ remove-ds.pl -i 'slapd-standalone'

Result:
Instance slapd-standalone removed.

Marking as verified.

Comment 7 errata-xmlrpc 2016-11-03 20:44:25 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://rhn.redhat.com/errata/RHSA-2016-2594.html