From 497d7040311c381dcddc44c96124a57f0859f929 Mon Sep 17 00:00:00 2001
From: Christophe Sovant <christophe.sovant@forgerock.com>
Date: Thu, 24 Jan 2008 14:52:33 +0000
Subject: [PATCH] Add tests for ldappasswordmodify utility and new checks for status utility
---
opendj-sdk/opends/tests/functional-tests/testcases/clu/clu.xml | 5
opendj-sdk/opends/tests/shared/functions/ldap.xml | 17 +
opendj-sdk/opends/tests/functional-tests/shared/data/clu/data/clu_start.ldif | 247 ++++++++++++++++++++++++
opendj-sdk/opends/tests/functional-tests/testcases/clu/clu_status_checkbehavior.xml | 19 +
opendj-sdk/opends/tests/functional-tests/testcases/clu/clu_ldappasswordmodify_checkbehavior.xml | 278 +++++++++++++++++++++++++++
5 files changed, 560 insertions(+), 6 deletions(-)
diff --git a/opendj-sdk/opends/tests/functional-tests/shared/data/clu/data/clu_start.ldif b/opendj-sdk/opends/tests/functional-tests/shared/data/clu/data/clu_start.ldif
index b9ddabc..4ebae0c 100644
--- a/opendj-sdk/opends/tests/functional-tests/shared/data/clu/data/clu_start.ldif
+++ b/opendj-sdk/opends/tests/functional-tests/shared/data/clu/data/clu_start.ldif
@@ -20,7 +20,7 @@
#
# CDDL HEADER END
#
-# Portions Copyright 2007 Sun Microsystems, Inc.
+# Portions Copyright 2007-2008 Sun Microsystems, Inc.
#
dn: dc=com
@@ -24778,3 +24778,248 @@
postalAddress: Bree Bjorklund$00450 Fifteenth Street$Colorado Springs, CT 76102
description: This is the description for Bree Bjorklund.
+dn: ou=ldappasswordmodify,o=clu tests,dc=example,dc=com
+objectClass: top
+objectClass: organizationalunit
+ou: ldappasswordmodify
+
+dn: uid=user.0,ou=ldappasswordmodify,o=clu tests,dc=example,dc=com
+objectClass: top
+objectClass: person
+objectClass: organizationalperson
+objectClass: inetorgperson
+givenName: Aaccf
+sn: Amar
+cn: Aaccf Amar
+initials: AUA
+employeeNumber: 0
+uid: user.0
+mail: user.0@example.com
+userPassword: password
+telephoneNumber: +1 910 503 7751
+homePhone: +1 979 402 0677
+pager: +1 584 557 1358
+mobile: +1 598 746 8736
+street: 48346 Spring Street
+l: Pittsburgh
+st: WA
+postalCode: 93681
+postalAddress: Aaccf Amar$48346 Spring Street$Pittsburgh, WA 93681
+description: This is the description for Aaccf Amar.
+
+dn: uid=user.1,ou=ldappasswordmodify,o=clu tests,dc=example,dc=com
+objectClass: top
+objectClass: person
+objectClass: organizationalperson
+objectClass: inetorgperson
+givenName: Aaren
+sn: Atp
+cn: Aaren Atp
+initials: AQA
+employeeNumber: 1
+uid: user.1
+mail: user.1@example.com
+userPassword: password
+telephoneNumber: +1 160 269 4702
+homePhone: +1 140 500 2548
+pager: +1 981 560 1533
+mobile: +1 686 004 4788
+street: 48467 Park Street
+l: Harrisonburg
+st: MA
+postalCode: 16209
+postalAddress: Aaren Atp$48467 Park Street$Harrisonburg, MA 16209
+description: This is the description for Aaren Atp.
+
+dn: uid=user.2,ou=ldappasswordmodify,o=clu tests,dc=example,dc=com
+objectClass: top
+objectClass: person
+objectClass: organizationalperson
+objectClass: inetorgperson
+givenName: Aarika
+sn: Atpco
+cn: Aarika Atpco
+initials: AEA
+employeeNumber: 2
+uid: user.2
+mail: user.2@example.com
+userPassword: password
+telephoneNumber: +1 313 580 8643
+homePhone: +1 804 753 4265
+pager: +1 809 671 1444
+mobile: +1 169 605 3391
+street: 98989 Adams Street
+l: Wilkes Barre
+st: CT
+postalCode: 88853
+postalAddress: Aarika Atpco$98989 Adams Street$Wilkes Barre, CT 88853
+description: This is the description for Aarika Atpco.
+
+dn: uid=user.3,ou=ldappasswordmodify,o=clu tests,dc=example,dc=com
+objectClass: top
+objectClass: person
+objectClass: organizationalperson
+objectClass: inetorgperson
+givenName: Aaron
+sn: Atrc
+cn: Aaron Atrc
+initials: AJA
+employeeNumber: 3
+uid: user.3
+mail: user.3@example.com
+userPassword: password
+telephoneNumber: +1 730 200 5332
+homePhone: +1 543 037 0906
+pager: +1 122 228 0004
+mobile: +1 150 883 5700
+street: 02460 Cedar Street
+l: New York
+st: NJ
+postalCode: 36670
+postalAddress: Aaron Atrc$02460 Cedar Street$New York, NJ 36670
+description: This is the description for Aaron Atrc.
+
+dn: uid=user.4,ou=ldappasswordmodify,o=clu tests,dc=example,dc=com
+objectClass: top
+objectClass: person
+objectClass: organizationalperson
+objectClass: inetorgperson
+givenName: Aartjan
+sn: Aalders
+cn: Aartjan Aalders
+initials: AIA
+employeeNumber: 4
+uid: user.4
+mail: user.4@example.com
+userPassword: password
+telephoneNumber: +1 075 262 8381
+homePhone: +1 004 973 1528
+pager: +1 165 522 1677
+mobile: +1 814 998 1028
+street: 16387 Laurel Street
+l: Joplin
+st: VT
+postalCode: 35249
+postalAddress: Aartjan Aalders$16387 Laurel Street$Joplin, VT 35249
+description: This is the description for Aartjan Aalders.
+
+dn: uid=user.5,ou=ldappasswordmodify,o=clu tests,dc=example,dc=com
+objectClass: top
+objectClass: person
+objectClass: organizationalperson
+objectClass: inetorgperson
+givenName: Abagael
+sn: Aasen
+cn: Abagael Aasen
+initials: AYA
+employeeNumber: 5
+uid: user.5
+mail: user.5@example.com
+userPassword: password
+telephoneNumber: +1 597 207 4061
+homePhone: +1 438 445 7199
+pager: +1 126 880 6083
+mobile: +1 800 623 8653
+street: 01918 Eleventh Street
+l: Portland
+st: WV
+postalCode: 24470
+postalAddress: Abagael Aasen$01918 Eleventh Street$Portland, WV 24470
+description: This is the description for Abagael Aasen.
+
+dn: uid=user.6,ou=ldappasswordmodify,o=clu tests,dc=example,dc=com
+objectClass: top
+objectClass: person
+objectClass: organizationalperson
+objectClass: inetorgperson
+givenName: Abagail
+sn: Abadines
+cn: Abagail Abadines
+initials: ADA
+employeeNumber: 6
+uid: user.6
+mail: user.6@example.com
+userPassword: password
+telephoneNumber: +1 126 483 9756
+homePhone: +1 768 687 5906
+pager: +1 023 639 0068
+mobile: +1 145 442 6600
+street: 50995 Johnson Street
+l: Indianapolis
+st: MA
+postalCode: 58635
+postalAddress: Abagail Abadines$50995 Johnson Street$Indianapolis, MA 58635
+description: This is the description for Abagail Abadines.
+
+dn: uid=user.7,ou=ldappasswordmodify,o=clu tests,dc=example,dc=com
+objectClass: top
+objectClass: person
+objectClass: organizationalperson
+objectClass: inetorgperson
+givenName: Abahri
+sn: Abazari
+cn: Abahri Abazari
+initials: AVA
+employeeNumber: 7
+uid: user.7
+mail: user.7@example.com
+userPassword: password
+telephoneNumber: +1 657 605 0417
+homePhone: +1 710 673 3832
+pager: +1 968 832 7800
+mobile: +1 989 204 3514
+street: 90029 Laurel Street
+l: Honolulu
+st: ME
+postalCode: 51052
+postalAddress: Abahri Abazari$90029 Laurel Street$Honolulu, ME 51052
+description: This is the description for Abahri Abazari.
+
+dn: uid=user.8,ou=ldappasswordmodify,o=clu tests,dc=example,dc=com
+objectClass: top
+objectClass: person
+objectClass: organizationalperson
+objectClass: inetorgperson
+givenName: Abbas
+sn: Abbatantuono
+cn: Abbas Abbatantuono
+initials: AJA
+employeeNumber: 8
+uid: user.8
+mail: user.8@example.com
+userPassword: password
+telephoneNumber: +1 404 733 3860
+homePhone: +1 803 107 8243
+pager: +1 274 591 8881
+mobile: +1 720 956 7009
+street: 63102 Taylor Street
+l: Glendive
+st: FL
+postalCode: 76385
+postalAddress: Abbas Abbatantuono$63102 Taylor Street$Glendive, FL 76385
+description: This is the description for Abbas Abbatantuono.
+
+dn: uid=user.9,ou=ldappasswordmodify,o=clu tests,dc=example,dc=com
+objectClass: top
+objectClass: person
+objectClass: organizationalperson
+objectClass: inetorgperson
+givenName: Abbe
+sn: Abbate
+cn: Abbe Abbate
+initials: AMA
+employeeNumber: 9
+uid: user.9
+mail: user.9@example.com
+userPassword: password
+telephoneNumber: +1 712 054 8412
+homePhone: +1 257 002 0605
+pager: +1 091 356 2843
+mobile: +1 258 453 7401
+street: 76410 Sixth Street
+l: Lafayette
+st: IA
+postalCode: 06698
+postalAddress: Abbe Abbate$76410 Sixth Street$Lafayette, IA 06698
+description: This is the description for Abbe Abbate.
+
diff --git a/opendj-sdk/opends/tests/functional-tests/testcases/clu/clu.xml b/opendj-sdk/opends/tests/functional-tests/testcases/clu/clu.xml
index b2ce51f..333476c 100644
--- a/opendj-sdk/opends/tests/functional-tests/testcases/clu/clu.xml
+++ b/opendj-sdk/opends/tests/functional-tests/testcases/clu/clu.xml
@@ -23,7 +23,7 @@
!
! CDDL HEADER END
!
- ! Portions Copyright 2007 Sun Microsystems, Inc.
+ ! Portions Copyright 2007-2008 Sun Microsystems, Inc.
! -->
<stax>
@@ -58,6 +58,7 @@
testList.append(['.','clu_ldapdelete_checkbehavior'])
testList.append(['.','clu_base64_checkbehavior'])
testList.append(['.','clu_status_checkbehavior'])
+ testList.append(['.','clu_ldappasswordmodify_checkbehavior'])
testList.append(['.','clu_cleanup'])
</script>
@@ -66,7 +67,7 @@
<import machine="STAF_LOCAL_HOSTNAME"
file="'%s/testcases/clu/%s/%s.xml' %
- (TESTS_DIR,_test[0],_test[1])"/>
+ (TESTS_DIR,_test[0],_test[1])"/>
<call function="'%s' % _test[1]" />
diff --git a/opendj-sdk/opends/tests/functional-tests/testcases/clu/clu_ldappasswordmodify_checkbehavior.xml b/opendj-sdk/opends/tests/functional-tests/testcases/clu/clu_ldappasswordmodify_checkbehavior.xml
new file mode 100644
index 0000000..430c56c
--- /dev/null
+++ b/opendj-sdk/opends/tests/functional-tests/testcases/clu/clu_ldappasswordmodify_checkbehavior.xml
@@ -0,0 +1,278 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE stax SYSTEM "../../../shared/stax.dtd">
+<!--
+ ! CDDL HEADER START
+ !
+ ! The contents of this file are subject to the terms of the
+ ! Common Development and Distribution License, Version 1.0 only
+ ! (the "License"). You may not use this file except in compliance
+ ! with the License.
+ !
+ ! You can obtain a copy of the license at
+ ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
+ ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
+ ! See the License for the specific language governing permissions
+ ! and limitations under the License.
+ !
+ ! When distributing Covered Code, exclude this CDDL HEADER in each
+ ! file and exclude the License file at
+ ! trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
+ ! add the following below this CDDL HEADER, with the fields enclosed
+ ! by brackets "[]" replaced with your own identifying information:
+ ! Portions Copyright [yyyy] [name of copyright owner]
+ !
+ ! CDDL HEADER END
+ !
+ ! Portions Copyright 2008 Sun Microsystems, Inc.
+! -->
+<stax>
+
+ <defaultcall function="clu_ldappasswordmodify_checkbehavior"/>
+
+ <function name="clu_ldappasswordmodify_checkbehavior">
+
+ <sequence>
+
+ <block name="'clu_ldappasswordmodify_checkbehavior'">
+
+ <sequence>
+
+ <!--- Test Suite information
+ #@TestSuiteName ldappasswordmodify check behavior tests
+ #@TestSuitePurpose Test the results of ldappasswordmodify
+ command.
+ #@TestSuiteGroup ldappasswordmodify results options tests
+ #@TestScript clu_ldappasswordmodify_checkbehavior.xml
+ -->
+
+ <script>
+ if not CurrentTestPath.has_key('group'):
+ CurrentTestPath['group'] = 'clu'
+ CurrentTestPath['suite'] = STAXCurrentBlock
+ </script>
+
+ <call function="'testSuite_Preamble'"/>
+
+ <!--- Define default value for basedn -->
+ <script>
+ basedn = 'ou=ldappasswordmodify,o=clu tests,dc=example,dc=com'
+ </script>
+
+ <!--- Test Case information
+ #@TestMarker ldappasswordmodify check behavior tests
+ #@TestName ldappasswordmodify: user can change his
+ own pwd
+ #@TestIssue none
+ #@TestPurpose Verify that a user can change his own
+ password.
+ #@TestPreamble none
+ #@TestStep Check that user.0 can do an ldapsearch.
+ #@TestStep Do an ldappasswordmodify to change user
+ password.
+ #@TestStep Check that user.0 can't do an ldapsearch with
+ his old password.
+ #@TestStep Check that user.0 can do an ldapsearch with
+ his new password.
+ #@TestPostamble none
+ #@TestResult Success if ldappasswordmodify returns 0.
+ -->
+ <testcase name="getTestCaseName
+ ('ldappasswordmodify: user can change his own pwd')">
+
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'ldappasswordmodify: user can change his own pwd'
+ </message>
+
+ <call function="'ldapSearchWithScript'">
+ {
+ 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=user.0,%s' % basedn ,
+ 'dsInstancePswd' : 'password' ,
+ 'dsTypesOnly' : 'True' ,
+ 'dsBaseDN' : basedn ,
+ 'dsFilter' : 'uid=user.*'
+ }
+ </call>
+
+ <call function="'ldapPasswordModifyWithScript'">
+ {
+ 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsAuthzID' : 'dn:uid=user.0,%s' % basedn ,
+ 'dsCurrentPassword' : 'password' ,
+ 'dsNewPassword' : 'newpassword'
+ }
+ </call>
+
+ <call function="'ldapSearchWithScript'">
+ {
+ 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=user.0,%s' % basedn ,
+ 'dsInstancePswd' : 'password' ,
+ 'dsTypesOnly' : 'True' ,
+ 'dsBaseDN' : basedn ,
+ 'dsFilter' : 'uid=user.*' ,
+ 'expectedRC' : 49
+ }
+ </call>
+
+ <call function="'ldapSearchWithScript'">
+ {
+ 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=user.0,%s' % basedn ,
+ 'dsInstancePswd' : 'newpassword' ,
+ 'dsTypesOnly' : 'True' ,
+ 'dsBaseDN' : basedn ,
+ 'dsFilter' : 'uid=user.*'
+ }
+ </call>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+
+ </testcase>
+
+ <!--- Test Case information
+ #@TestMarker ldappasswordmodify check behavior tests
+ #@TestName ldappasswordmodify: user cannot modify pwd for
+ another user
+ #@TestIssue none
+ #@TestPurpose Verify that a user cannot modify the password
+ for another user.
+ #@TestPreamble none
+ #@TestStep Do an ldappasswordmodify to change user
+ password.
+ #@TestPostamble none
+ #@TestResult Success if ldappasswordmodify returns 0.
+ -->
+ <testcase name="getTestCaseName
+ ('ldappasswordmodify: user cannot modify pwd for another user')">
+
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'ldappasswordmodify: user cannot modify pwd for another user'
+ </message>
+
+ <call function="'ldapPasswordModifyWithScript'">
+ {
+ 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'dn:uid=user.0,%s' % basedn ,
+ 'dsInstancePswd' : 'newpassword' ,
+ 'dsAuthzID' : 'dn:uid=user.1,%s' % basedn ,
+ 'dsNewPassword' : 'newpassword' ,
+ 'expectedRC' : 49
+ }
+ </call>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+
+ </testcase>
+
+ <!--- Test Case information
+ #@TestMarker ldappasswordmodify check behavior tests
+ #@TestName ldappasswordmodify: DM can modify pwd for
+ another user
+ #@TestIssue none
+ #@TestPurpose Verify that Directory Manager can change the
+ password of a user.
+ #@TestPreamble none
+ #@TestStep Check that user.0 can do an ldapsearch.
+ #@TestStep Do an ldappasswordmodify to change user
+ password.
+ #@TestStep Check that user.0 can't do an ldapsearch with
+ his old password.
+ #@TestStep Check that user.0 can do an ldapsearch with
+ his new password.
+ #@TestPostamble none
+ #@TestResult Success if ldappasswordmodify returns 0.
+ -->
+ <testcase name="getTestCaseName
+ ('ldappasswordmodify: DM can modify pwd for another user')">
+
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'ldappasswordmodify: DM can modify pwd for another user'
+ </message>
+
+ <call function="'ldapSearchWithScript'">
+ {
+ 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=user.1,%s' % basedn ,
+ 'dsInstancePswd' : 'password' ,
+ 'dsTypesOnly' : 'True' ,
+ 'dsBaseDN' : basedn ,
+ 'dsFilter' : 'uid=user.*'
+ }
+ </call>
+
+ <call function="'ldapPasswordModifyWithScript'">
+ {
+ 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsAuthzID' : 'dn:uid=user.1,%s' % basedn ,
+ 'dsNewPassword' : 'newpassword'
+ }
+ </call>
+
+ <call function="'ldapSearchWithScript'">
+ {
+ 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=user.,%s' % basedn ,
+ 'dsInstancePswd' : 'password' ,
+ 'dsTypesOnly' : 'True' ,
+ 'dsBaseDN' : basedn ,
+ 'dsFilter' : 'uid=user.*' ,
+ 'expectedRC' : 49
+ }
+ </call>
+
+ <call function="'ldapSearchWithScript'">
+ {
+ 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=user.1,%s' % basedn ,
+ 'dsInstancePswd' : 'newpassword' ,
+ 'dsTypesOnly' : 'True' ,
+ 'dsBaseDN' : basedn ,
+ 'dsFilter' : 'uid=user.*'
+ }
+ </call>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+
+ </testcase>
+
+ <call function="'testSuite_Postamble'"/>
+
+ </sequence>
+
+ </block>
+
+ </sequence>
+
+ </function>
+
+</stax>
diff --git a/opendj-sdk/opends/tests/functional-tests/testcases/clu/clu_status_checkbehavior.xml b/opendj-sdk/opends/tests/functional-tests/testcases/clu/clu_status_checkbehavior.xml
index 04ec5cf..e92e6f8 100644
--- a/opendj-sdk/opends/tests/functional-tests/testcases/clu/clu_status_checkbehavior.xml
+++ b/opendj-sdk/opends/tests/functional-tests/testcases/clu/clu_status_checkbehavior.xml
@@ -23,7 +23,7 @@
!
! CDDL HEADER END
!
- ! Portions Copyright 2007 Sun Microsystems, Inc.
+ ! Portions Copyright 2007-2008 Sun Microsystems, Inc.
! -->
<stax>
@@ -79,7 +79,7 @@
}
</call>
- <!-- STAXResult is not always a list-->
+ <!-- STAXResult is not always a list-->
<script>
try:
RC,Result=STAXResult[0]
@@ -94,6 +94,21 @@
'result' : Result
}
</call>
+
+ <call function="'checktestString'">
+ {
+ 'returnString' : Result ,
+ 'expectedString' : 'Administrative Users: %s' \
+ % DIRECTORY_INSTANCE_DN
+ }
+ </call>
+
+ <call function="'checktestString'">
+ {
+ 'returnString' : Result ,
+ 'expectedString' : 'Server Run Status: Started'
+ }
+ </call>
<call function="'testCase_Postamble'"/>
diff --git a/opendj-sdk/opends/tests/shared/functions/ldap.xml b/opendj-sdk/opends/tests/shared/functions/ldap.xml
index c7362dc..52c3b35 100755
--- a/opendj-sdk/opends/tests/shared/functions/ldap.xml
+++ b/opendj-sdk/opends/tests/shared/functions/ldap.xml
@@ -1916,6 +1916,12 @@
</function-arg-description>
<function-arg-property name="type" value="option"/>
</function-arg-def>
+ <function-arg-def name="dsReportAuthzID" type="optional">
+ <function-arg-description>
+ Use the authorization identity control
+ </function-arg-description>
+ <function-arg-property name="type" value="option"/>
+ </function-arg-def>
<function-arg-def name="dsFilename" type="optional">
<function-arg-description>
Specifies the LDIF file containing the changes to apply
@@ -2111,7 +2117,10 @@
if dsContinueOnError:
STAFCmdParamsList.append('-c')
-
+
+ if dsReportAuthzID:
+ STAFCmdParamsList.append('-E')
+
if dsFilename:
STAFCmdParamsList.append('-f %s' % dsFilename)
@@ -2485,6 +2494,12 @@
</function-arg-description>
<function-arg-property name="type" value="hostname"/>
</function-arg-def>
+ <function-arg-def name="dsSaslOption" type="optional">
+ <function-arg-description>
+ SASL bind options
+ </function-arg-description>
+ <function-arg-property name="type" value="string"/>
+ </function-arg-def>
<function-arg-def name="dsInstancePort" type="optional">
<function-arg-description>
Directory Server Port Number
--
Gitblit v1.10.0