This file is indexed.

/usr/sbin/ds_removal is in 389-admin 1.1.35-2.

This file is owned by root:root, with mode 0o755.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
#!/bin/sh 
# BEGIN COPYRIGHT BLOCK
# This Program is free software; you can redistribute it and/or modify it under
# the terms of the GNU General Public License as published by the Free Software
# Foundation; version 2 of the License.
# 
# This Program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
# 
# You should have received a copy of the GNU General Public License along with
# this Program; if not, write to the Free Software Foundation, Inc., 59 Temple
# Place, Suite 330, Boston, MA 02111-1307 USA.
# 
# In addition, as a special exception, Red Hat, Inc. gives You the additional
# right to link the code of this Program with code not covered under the GNU
# General Public License ("Non-GPL Code") and to distribute linked combinations
# including the two, subject to the limitations in this paragraph. Non-GPL Code
# permitted under this exception must only link to the code of this Program
# through those well defined interfaces identified in the file named EXCEPTION
# found in the source code files (the "Approved Interfaces"). The files of
# Non-GPL Code may instantiate templates or use macros or inline functions from
# the Approved Interfaces without causing the resulting work to be covered by
# the GNU General Public License. Only Red Hat, Inc. may make changes or
# additions to the list of Approved Interfaces. You must obey the GNU General
# Public License in all respects for all of the Program code and other code used
# in conjunction with the Program except the Non-GPL Code covered by this
# exception. If you modify this file, you may extend this exception to your
# version of the file, but you are not obligated to do so. If you do not wish to
# provide this exception without modification, you must delete this exception
# statement from your version and license this file solely under the GPL without
# exception. 
# 
# 
# Copyright (C) 2007 Red Hat, Inc.
# All rights reserved.
# END COPYRIGHT BLOCK
#

Usage()
{
    echo "Usage: $0 [-f] -s server_id -w admin_password"
    echo "       server_id: Directory server identifier; slapd-<server_id>"
    echo "       admin_password: Administration user password"
    echo "       -f - force - optional - ignore errors and force removal of as much as possible"
}

err0=""
err1=""
err2=""
server_id=""
admin_pw=""
forceflag=0

while [ "$1" != "" ]
do
    if [ "$1" = "-s" ]; then
        shift
        server_id=$1
    elif [ "$1" = "-w" ]; then
        shift
        admin_pw=$1
    elif [ "$1" = "-f" ]; then
        forceflag=1
    elif [ "$1" = "-h" -o "$1" = "-H" -o "$1" = "--help" ]; then
        Usage
        exit 0
    else
        err0="Option $1 is not supported. "
    fi
    if [ "$1" != "" ]; then
        shift
    fi
done

if [ "$server_id" = "" ]; then
    err1="Directory Server identifier is missing. "
fi
if [ "$admin_pw" = "" ]; then
    err2="Administration user password is missing. "
fi

if [ "$err0" != "" -o "$err1" != "" -o "$err2" != "" ];then
    echo Error: ${err0}${err1}${err2}
    Usage
    exit 1
fi

PASSWORD_PIPE=STDIN; export PASSWORD_PIPE
QUERY_STRING="InstanceName=slapd-${server_id}&force=$forceflag"; export QUERY_STRING
SERVER_NAMES=slapd-${server_id}; export SERVER_NAMES
REQUEST_METHOD=GET; export REQUEST_METHOD

if [ -c /dev/null ]; then
    NULL=/dev/null
else
    NULL=/tmp/ds_remove.out
fi

/usr/lib/x86_64-linux-gnu/dirsrv/cgi-bin/ds_remove > $NULL << EOF
Password: ${admin_pw}
EOF

exit $?