<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!--
  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License. See accompanying LICENSE file.
-->

<!-- Put site-specific property overrides in this file. -->

<configuration>
	<property>
		<name>ranger.usersync.port</name>
		<value>5151</value>
	</property>
	<property>
		<name>ranger.usersync.ssl</name>
		<value>true</value>
	</property>
	<property>
		<name>ranger.usersync.passwordvalidator.path</name>
		<value>./native/credValidator.uexe</value>
	</property>
	<property>
		<name>ranger.usersync.enabled</name>
		<value>true</value>
	</property>
	<property>
		<name>ranger.usersync.policymanager.maxrecordsperapicall</name>
		<value>1000</value>
	</property>
	<property>
		<name>ranger.usersync.policymanager.mockrun</name>
		<value>false</value>
	</property>
	<property>
		<name>ranger.usersync.unix.minUserId</name>
		<value>500</value>
	</property>
	<property>
		<name>ranger.usersync.ldap.username.caseconversion</name>
		<value>lower</value>
	</property>
	<property>
		<name>ranger.usersync.ldap.groupname.caseconversion</name>
		<value>lower</value>
	</property>
	<property>
		<name>ranger.usersync.logdir</name>
		<value>./log</value>
	</property>
</configuration>
