# ldap filter file
#
# lines like this that start with # or empty lines are ignored
# 
# syntax:
#
# <tag>
#   <pattern1>	<delimiters>	<filter1-1>	<desc1-1>	[<scope>]
# 		   		<filter1-2>	<desc1-2>	[<scope>]
#
#   <pattern2>	<delimiters>	<filter2-1>	<desc2-1>	[<scope>] ...
#
# The "desc" should describe the filter and it should correctly complete
# both of the following phrases:
#
#	One <desc> match was found for...
#	Three <desc> matches were found for...
#
# The scope is optional, and should be one of:
#	"base"
#	"onelevel"
#	"subtree"
# if it is included.
#

"finger and ud and go500 and go500gw subtree and web500gw subtree and rp500 and rcpt500 and ufn last"
    "^$"    ""  "(objectclass=*)"   "default filter"
    "="		" "	"%v"				"arbitrary filter"

    "^[0-9][0-9\-]*$"	" "	"(telephoneNumber=*%v)"		"phone number"

    "@"		" "	"(mail=%v)"			"email address"
			"(mail=%v*)"			"start of email address"

    "^.[\. _].*"	". _"	"(cn=%v1* %v2-)"		"first initial"

    ".*[. _].$"	". _"	"(cn=%v1-*)"			"last initial"

    "[. _]"	". _"	"(|(sn=%v1-)(cn=%v1-))"		"exact"
			"(|(sn~=%v1-)(cn~=%v1-))"	"approximate"

    ".*"	". "	"(|(cn=%v1)(sn=%v1)(ou=%v1))"	"exact"
			"(|(cn~=%v1)(sn~=%v1)(ou~=%v1))"	"approximate"

"go500gw onelevel and web500gw onelevel and ufn first and ufn intermediate"
    "^$"    ""  "(!(objectclass=dSA))"   "default filter"
    "="		" "	"%v"				"arbitrary filter"

    "^..$"	" "	"(|(o=%v)(c=%v)(l=%v)(co=%v))"		"exact2"
    			"(|(o~=%v)(c~=%v)(l~=%v)(co~=%v))"	"approximate2"

    " "		" "	"(|(o=%v)(l=%v)(co=%v)(ou=%v))"		"exact"
    			"(|(o~=%v)(l~=%v)(co~=%v)(ou~=%v))"	"approximate"

    "\."	" "	"(associatedDomain=%v)"		"exact"

    ".*"	" "	"(|(o=%v)(l=%v)(co=%v)(ou=%v))"		"exact"
    			"(|(o~=%v)(l~=%v)(co~=%v)(ou~=%v))"	"approximate"


#
# xax500
#

"xax500"
    "="			" "	"(%v)"			"arbitrary filter"

    "^[0-9][0-9-]*$"	" "	"(telephoneNumber=*%v)"	"phone number"

    "@"			" "	"(mail=%v)"		"email address"
				"(mail=%v*)"		"start of email address"

    "^.[. _].*"		". _"	"(cn=%v1* %v2-)"	"first initial"

    ".*[. _].$"		". _"	"(cn=%v1-*)"		"last initial"

    "[. _]"		". _"	"(|(sn=%v1-)(cn=%v1-))"		"exact"
				"(|(sn~=%v1-)(cn~=%v1-))"	"approximate"

    ".*"		". "	"(|(cn=%v1)(sn=%v1)(uid=%v1))"	"exact"
			"(|(cn=%v1)(sn~=%v1))"			"approximate"


"xax500-auth"
    "="			" "	"(%v)"			"arbitrary filter"

    "^[0-9][0-9-]*$"	" "	"(telephoneNumber=*%v)"	"phone number"

    "@"			" "	"(mail=%v)"		"email address"
				"(mail=%v*)"		"start of email address"

    "^.[. _].*"		". _"	"(cn=%v1* %v2-)"	"first initial"

    ".*[. _].$"		". _"	"(cn=%v1-*)"		"last initial"

    "[. _]"		". _"	"(|(sn=%v1-)(cn=%v1-))"	"exact"
			"(|(sn~=%v1-)(cn~=%v1-))"	"approximate"

    ".*"		". "	"(|(cn=%v1)(sn=%v1)(uid=%v1))"	"exact"
			"(|(cn=%v1)(sn~=%v1))"			"approximate"

"list500"
    "[. _]"	". _"	"(|(sn=%v1-)(cn=%v1-))"		"exact"
			"(|(sn~=%v1-)(cn~=%v1-))"	"approximate"

    ".*"	". "	"(|(cn=%v1)(sn=%v1)(uid=%v1))"	"exact"
			"(|(cn~=%v1)(sn~=%v1))"		"approximate"
