#
# basic SmartClient settings
#

#
# common
#

ALL_LDAPHOST=ldap

# obsolute: use ALL_LDAPSERVERS with capability ri instead
# used for timestamp checking in leases2ldap 
# if not specified, timestamp checking is skipped
# timestamps cannot be checked on OpenLDAP replicas
#ALL_LDAPMASTER="ldap,ro,1"

# hierarchy of ldap servers
# syntax: host1,capability1,priority1;...
# capabilities: 
#   rw: read write
#   ro: read only
#   ri: read internal attributes (OpenLDAP: only master)
# used by SmartClient::LDAP
# (leaes2ldap, ldap2dns and ldap2dhcp)
ALL_LDAPSERVERS="ldap01,rw,1;ldap02,ro,1;ldap01,ro,2;ldap01,ri,1"


# LDAP protocol version. Default: 3
ALL_LDAPVERSION=3


# LDAP sync interval in master/slave enviroments (in seconds)
ALL_LDAP_SYNC_INTERVAL=0

# LDAP default search base
ALL_LDAPBASE="o=smartclient,c=de"

# ALL_LDAPBASE_FULL is the top of the LDAP tree.
# In most cases, this is identical with ALL_LDAPBASE.
# But in some cases, the default search base (ALL_LDAPBASE)
# limits the LDAP base to the LDAP objects relevant for SmartClient
ALL_LDAPBASE_FULL="o=smartclient,c=de"


# defines the location of this server. used e.g. by webmin. may gets modified automatically.
ALL_LDAP_LOCATION="o=smartclient,c=de"

ALL_LDAPBIND=simple


# ldap servertype: OpenLDAP / NDS, used in LdapWorkstation.pm (different ACL handling)
ALL_LDAPSERVER_TYPE="OpenLDAP"
ALL_LDAP_FILTER_LOCATION="objectClass=scLocation"

# groupOfNames requires a least one member. If group is empty, it still must contain a dummy entry.
ALL_LDAP_EMPTY_GROUP_MEMBER="cn=none,o=smartclient,c=de"

# LDAP attributes that should be unique 
# in the context of the also specified LDAP search filter
# used by Ldapcheck and can also be useful for other modules
# syntax: 
# "LDAP Attribute 1","LDAP search filter 1","LDAP Attribute 2","LDAP search filter 2", ...
ALL_LDAP_UNIQUE_ATTRIBUTES_SEARCHFILTER="macAddress,(macAddress=*),scClientId,(scClientId=*),uidNumber,(uidNumber=*),uid,(uid=*),mail,(&(objectclass=posixAccount)(mail=*)),mailalias,(mailalias=*),mailRoutingAddress,(mailRoutingAddress=*),gidNumber,(&(objectclass=posixGroup)(gidNumber=*)),ipHostNumber,(&(ipHostNumber=*)(!(objectclass=dbkService)))"
# ipHostNumber isn't unique, because of dbkServer and dbkService
# gid is only unique in posixGroup, but also used (non-unique) in posixAccount


ALL_FILTER_IMAGE="(|(objectclass=dbkRefImage)(objectclass=dbkRefDeltaImage))"
ALL_FILTER_FULLIMAGE="(objectclass=dbkRefImage)"
ALL_FILTER_DELTAIMAGE="(objectclass=dbkRefDeltaImage)"
ALL_FILTER_PRINTER="(objectClass=dbkPrinter)"
ALL_FILTER_PRINTERGROUP="(objectClass=dbkPrinterGroup)"
ALL_FILTER_SERVER="(objectclass=dbkServer)"
ALL_FILTER_SERVICE="(objectclass=dbkService)"
ALL_FILTER_USER="(objectClass=inetOrgPerson)"
#ALL_FILTER_USERGROUP="(&(objectclass=groupOfNames)(!(objectclass=scMasterGroup)))"
ALL_FILTER_USERGROUP="(objectclass=groupOfNames)"
ALL_FILTER_WORKSTATION="(objectClass=dbkWorkstation)"


ALL_CONTAINER_FILTER_IMAGE="(&(objectclass=organizationalUnit)(objectclass=scLocation))"
ALL_CONTAINER_FILTER_PRINTER="(&(objectclass=organizationalUnit)(objectclass=scPrinterContainer))"
# in the same container as printers
ALL_CONTAINER_FILTER_PRINTERGROUP="(&(objectclass=organizationalUnit)(objectclass=scPrinterContainer))"
ALL_CONTAINER_FILTER_SERVER="(&(objectclass=organizationalUnit)(objectclass=scServerContainer))"
# in the same container as servers
ALL_CONTAINER_FILTER_SERVICE="(&(objectclass=organizationalUnit)(objectclass=scServerContainer))"
ALL_CONTAINER_FILTER_USER="(&(objectclass=organizationalUnit)(objectclass=scUserContainer))"
ALL_CONTAINER_FILTER_USERGROUP="(&(objectclass=organizationalUnit)(objectclass=scUserGroupContainer))"
ALL_CONTAINER_FILTER_WORKSTATION="(&(objectclass=organizationalUnit)(objectclass=scWorkstationContainer))"




# defines groups of objectclasses 
# that can be used to define SmartClient objects
# used by webmin
ALL_OBJECTCLASSES_SERVER="dbkCarrierClass,dbkServer,scIpDevice"
ALL_OBJECTCLASSES_WORKSTATION="dbkCarrierClass,dbkWorkstation,scDeviceOptions,dbkUpdate,scIpDevice,scLocalPrinter"
ALL_OBJECTCLASSES_PRINTER="dbkCarrierClass,dbkPrinter,scDeviceOptions,scIpDevice"
ALL_OBJECTCLASSES_PRINTERGROUP="dbkCarrierClass,dbkPrinterGroup"
ALL_OBJECTCLASSES_USER="posixAccount,shadowAccount,inetOrgPerson,scPerson,person,sambaSamAccount"
# inetOrgPerson is inherent from person. 
# person have must attribute cn, sn.
ALL_OBJECTCLASSES_USERGROUP="posixGroup,groupOfNames"

#
# define required attributes for specific objectclasses
# used by webmin/LdapCheck
#
ALL_REQUIRED_ATTRIBUTES_scIpDevice="macAddress,ipHostNumber"
ALL_REQUIRED_ATTRIBUTES_dbkWorkstation="macAddress,ipHostNumber"
ALL_REQUIRED_ATTRIBUTES_dbkPrinter="macAddress,ipHostNumber"


ALL_LDAPTIMEOUT=120
ALL_RSYNC_TIMEOUT=120
ALL_PW_SERVER=password
ALL_PW_PORT=6200
ALL_LOG_DIR=/var/log/smartclient
ALL_SYSLOG_FACILITY=LOG_LOCAL7
ALL_SYSLOG_OPTION=LOG_NDELAY
ALL_SYSLOG_PRIORITY=LOG_ERR

ALL_TFTP_DIR="/var/lib/smartclient/tftpboot/"
ALL_PXE_CFG_DIR="/var/lib/smartclient/tftpboot/pxelinux.cfg/"

# default value for caching image server when adding new workstation
# (TRUE | FALSE)
ALL_CACHING_IMAGE_SERVER_DEFAULT_VALUE="FALSE"


#
# useful (extended) regex for shell
#   sed must be used with 
#       -r (extended)
# see example functions: extract_ip, extract_mac
#

# IMPORTANT: busybox sed (1.6.1) doesn't support case insensitive (i) substitutions
ALL_REGEX_MAC="([0-9a-fA-F]{2}:){5}[0-9a-fA-F]{2}"
ALL_REGEX_IP4="([1-2]?[0-9]{1,2}\.){3}[1-2]?[0-9]{1,2}"



#
# client
#
ALL_SC_VARS=/var/lib/smartclient/netboot_vars
ALL_IMAGES_STATUS_PATH=/etc/smartclient/images/
ALL_IMAGE_STATUS_FILE=/etc/smartclient/images/refImage
ALL_WORKSTATION_CONFIG=/var/cache/smartclient/config
ALL_PRINTER_FILE=/var/cache/smartclient/printer
ALL_NET_PROFILE_FILE=/var/cache/smartclient/net_profile
#ALL_SOCKET_PROGRAM=/usr/bin/netcat
ALL_NETWORK_INTERFACES="eth0 tr0"
# when using NetworkManager, 
# the DNS-Name (FQDN) is not longer set as HOSTNAME by DHCP.
# Therefore, we reimplement this behaviour during boot
ALL_SET_HOSTNAME="yes"
