Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
idn.conf(5)		      File Formats Manual		   idn.conf(5)

NAME
       idn.conf,  .idnrc,  idnalias.conf  - configuration files	for idnkit li-
       brary

SYNOPSIS
       /usr/local/etc/idn.conf
       ~/.idnrc
       /usr/local/etc/idnalias.conf

DESCRIPTION
       idn.conf	and .idnrc are configuration files for idnkit library which is
       a toolkit for handling internationalized	domain names.

       idnkit library tries to load the	 user's	 configuration	file  ~/.idnrc
       first,	and   then   tries  the	 system	 configutation	file  /usr/lo-
       cal/etc/idn.conf.  Note that idnkit library loads either, not both.

       To use internationalized	domain names in	DNS or other  protocols,  they
       must  be	 converted to an appropriate format before further processing.
       In idnkit, this conversion process is comprised of the following	tasks.

       1. Convert the given domain name	in application's local codeset to Uni-
	  code,	and vice versa.

       2. Map certain characters in the	name to	period character so that  they
	  are treated as the domain name delimiter (delimiter mapping).

       3. Map  certain	characters in the name to other	characters or chracter
	  sequences, according to a mapping rule determined by its  top	 level
	  domain (TLD).

       4. Perform  NAMEPREP, which is a	starndard name preparation process for
	  internationalized domain names.  This	process	 is  composed  of  the
	  tree	steps  called  mapping,	 normalization,	 prohibited  character
	  checking and bidirectional string checking.

       5. Convert the nameprepped name to IDN encoding,	which is the  standard
	  encoding  for	 internationalized  domain names (also known as	ASCII-
	  compatible encoding, ACE), and vice versa.

       The configuration file specifies	the parameters for these  tasks,  such
       as:

	 - the encoding	of internationalized domain names (IDN encoding).

	 - NAMEPREP schemes.

SYNTAX
       The  configuration  file	 is  a simple text files, and each line	in the
       file (other than	comment	lines,	which  begin  with  ``#'',  and	 empty
       lines) forms an entry of	the following format:

	   keyword value..

IDN-ENCODING ENTRY
       IDN  encoding entry specifies the encoding name (codeset	name) which is
       used as the encoding of internationalized domain	names.

       The syntax of this entry	is:

	   idn-encoding	encoding

       encoding	is the encoding	name to	be used,  and  any  of	the  following
       names can be specified.

	  ``Punycode''

	  ``UTF-8''

	  Codeset  names which	iconv_open() library function accepts.	Please
	   consult iconv() documentation for the available codesets.

	  Any alias names for the above, defined by  the  alias  file.	  (See
	   section ``ENCODING-ALIAS-FILE'')

       The standard encoding was determined as Punycode.

NAMEPREP ENTRY
       Nameprep	entry specifies	the version of NAMEPREP, which is a specifica-
       tion  of	 ``canonicalization'' process of internationalized domain name
       before it is converted to the IDN encoding.

       The syntax of this entry	is:

	   nameprep version

       version is the version name of NAMEPREP	specification,	and  currently
       the following versions can be specified.

	  ``RFC3491''
	   This	version	refers to RFC3491 ``rfc-3491.txt''.

       The NAMEPREP process consists of	the following 4	subprocesses.

       1. mapping,  which  maps	 certain characters in a name to other charac-
	  ters,	possibly none.

       2. normalization, which replaces	character variants  in	a  name	 to  a
	  unique one.

       3. prohibited character checking, which detects invalid characters in a
	  name.

       4. unassigned  codepoint	 checking,  which also invalid codepoints in a
	  name.

       5. bidirectional	string checking, which detecs invalid string.

LOCAL-MAP ENTRY
       This entry specifies localized  mapping	phase  before  NAMEPREP	 takes
       place.	Different  mapping  rules  can be specified for	each TLD (top-
       level domain).  For example, you	can have one mapping for  ``.tw''  do-
       main, and another for ``.jp'' domain.

       The syntax of this entry	is:

	   local-map tld scheme	[scheme..]

       tld  specifies  the TLD to which	the mapping rule is to be applied, and
       scheme specifies	the mapping scheme, and	 currently  available  schemes
       are:

	 RFC3491
	     Specify mapping defined by	RFC3491.

	 filemap:pathname
	     Specify mapping defined by	the file pathname.  See	``MAPFILE FOR-
	     MAT'' for the format of this file.

       There  are  two	special	tlds for specifying the	mapping	rule for local
       domain names (domain names without any dots in them), and  the  default
       mapping	rule.	If  tld	is ``-'', it matches domain names which	do not
       contain any dots.  If tld is ``.'', it matches any domain  names	 which
       don't  match  to	any other mapping rules	specified by ``local-map'' en-
       tries.

MAPFILE	FORMAT
       A mapfile defines a set of character mapping rules.  It can define  un-
       conditional  one-character  to  N-character-sequence  (N	can be 0, 1 or
       more) mappings.

       A mapfile is a simple text file,	and each line specifies	a single  map-
       ping.  Each line	is of the form:

	   src-codepoint; mapped-codepoint-seq;

       src-codepoint  indicates	source character of the	mapping, and must be a
       Unicode codepoint value in hexadecimal string.  mapped-codepoint-seq is
       a sequence of characters	which is the outcome of	the mapping, and  must
       be  a  (possibly	empty) list of Unicode codepoint values	in hexadecimal
       string, separated by spaces.

       Lines which begin with ``#'' are	treated	as comments and	ignored.

       A sample	mapfile	is shown below.

	   # map "A" to	"a"
	   0041; 0061;
	   # map "#" to	nothing
	   0023; ;
	   # map "@" to	"at"
	   0040; 0061 0074;

LOCAL CODESET
       idn.conf	or ~/.idnrc doesn't have an entry to specify the  local	 code-
       set,  since  it is determined from the application's current locale in-
       formation.  So each application can use different local codeset.

       Although	idnkit tries hard to find out the local	codeset, sometimes  it
       fails.  For example, there are applications which use non-ASCII codeset
       but  work in C locale.  In this case, you can specify the application's
       local codeset by	an environment variable	 ``IDN_LOCAL_CODESET''.	  Just
       set  the	 codeset  name (or its alias name) to the variable, and	idnkit
       will use	the codeset as the local one, regardless of  the  locale  set-
       ting.

ENCODING-ALIAS-FILE
       Encoding	 alias	file specifies codeset name aliases.  It is located on
       /usr/local/etc/idnalias.conf  and  always   loaded   automatically   as
       idn.conf	 and .idnrc.  The aliases in this file can be used just	as the
       real names.

       The alias file is a simple text file, consisting	of lines of the	form:

	   alias-name name

       alias-name is the alias name to be defined, and name is the  real  name
       or another alias	name.

SAMPLE CONFIGURATION
       The following shows a sample configuration file.

	   #
	   # a sample configuration.
	   #

	   # Use Punycode as the IDN encoding.
	   idn-encoding	Punycode

	   # Use RFC3491 as NAMEPREP.
	   nameprep RFC3491

	   # Perform Japanese-specific mapping for .jp domain.
	   # assuming /usr/local/lib/idnkit/jp-map contains the	mapping.
	   local-map .jp filemap:/usr/local/lib/idnkit/jp-map

FILES
       /usr/local/etc/idn.conf
       ~/.idnrc
       /usr/local/etc/idnalias.conf
       /usr/local/etc/idn.conf.sample -	sample configuration with comments
       /usr/local/etc/idnalias.conf.sample - sample alias file

SEE ALSO
       iconv(3)

				  Mar 8, 2002			   idn.conf(5)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=idnrc&sektion=5&manpath=FreeBSD+Ports+14.3.quarterly>

home | help