# -*- text -*-
#
#  dhcp/mssql/queries.conf -- MSSQL configuration for DHCP schema (schema.sql)
#
#  $Id: 8345c700465325f3cc99ad88f318f6730b07c648 $

# Safe characters list for sql queries. Everything else is replaced
# with their mime-encoded equivalents.
# The default list should be ok
# safe_characters = "@abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.-_: /"

#######################################################################
#  Query config:  Identifier
#######################################################################
# This is the identifier that will get substituted, escaped, and added
# as attribute 'SQL-User-Name'.  '%{SQL-User-Name}' should be used
# below everywhere an identifier substitution is needed so you you can
# be sure the identifier passed from the client is escaped properly.
#
sql_user_name = "%{control:DHCP-SQL-Option-Identifier}"

#######################################################################
#  Attribute Lookup Queries
#######################################################################
#  These queries setup the reply items in ${dhcpreply_table} and
#  ${group_reply_query}.  You can use any query/tables you want, but
#  the return data for each row MUST be in the following order:
#
#  0. Row ID (currently unused)
#  1. Identifier
#  2. Item Attr Name
#  3. Item Attr Value
#  4. Item Attr Operation
#######################################################################

authorize_reply_query = "\
	SELECT id, Identifier, Attribute, Value, op \
	FROM ${dhcpreply_table} \
	WHERE Identifier = '%{SQL-User-Name}' AND Context = '%{control:DHCP-SQL-Option-Context}' \
	ORDER BY id"

authorize_group_reply_query = "\
	SELECT id, GroupName, Attribute, Value, op \
	FROM ${groupreply_table} \
	WHERE GroupName = '%{${group_attribute}}' AND Context = '%{control:DHCP-SQL-Option-Context}' \
	ORDER BY id"

group_membership_query = "\
	SELECT GroupName \
	FROM ${dhcpgroup_table} \
	WHERE Identifier='%{SQL-User-Name}' AND Context = '%{control:DHCP-SQL-Option-Context}' \
	ORDER BY priority"
