VLMCSD.INI(5)                KMS Activation Manual               VLMCSD.INI(5)



NAME
       vlmcsd.ini - vlmcsd KMS emulator configuration file


SYNOPSIS
       vlmcsd.ini


DESCRIPTION
       vlmcsd.ini  (or  simply  called the "ini file") is a configuration file
       for vlmcsd(8). By default vlmcsd does not use a configuration file.  It
       is completely optional and for advanced users only. You must use the -i
       option on the vlmcsd command line to use  an  ini  file.  There  is  no
       default name or default location for the ini file.

       Everything,  that can be configured in the ini file, may also be speci‐
       fied on the command line. Any configuration  option  specified  on  the
       command line takes precedence over the respective configuration line in
       the ini file.

       Benefits of a configuration file

       While you can use the configuration file to simply modify  the  default
       behavior  of vlmcsd, it can also be used to change the configuration of
       vlmcsd after you sent a HUP signal(7). Whenever you  send  SIGHUP,  the
       configuration  file  will  be  re-read. Any changes you made to the ini
       file will be reflected after vlmcsd received the hangup signal.

       Differences between command line and configuration file

       If you specify an illegal option or  option  argument  on  the  command
       line,  vlmcsd displays help and exits. If you specify an incorrect key‐
       word or argument in the ini file, vlmcsd displays a warning  with  some
       information,  ignores the respective line and continues. This is inten‐
       tional and prevents vlmcsd from aborting after a SIGHUP if the configu‐
       ration was modified incorrectly.


SYNTAX
       vlmcsd.ini  is  a  UTF-8  encoded text file with each line being in the
       format keyword = argument. The keyword is not case-sensitive. The argu‐
       ment  is  treated  literally.  It  is  neither  required nor allowed to
       enclose the argument in any form of quote characters except when  quote
       characters  are  part of the argument itself. Whitespace characters are
       ignored only

       - at the beginning of a line
       - between the keyword and '='
       - between '=' and the argument

       Lines, that start with '#' or ';' are treated as comments. Empty  lines
       are  ignored  as well. If a keyword is repeated in another line, vlmcsd
       will use the argument of the last occurence of the keyword.  An  excep‐
       tion  to  this  is  the  Listen keyword which can be specified multiple
       times and causes vlmcsd to listen on more than one  IP  address  and/or
       port.

       Some  arguments  are  binary  arguments  that need to be either TRUE or
       FALSE. You can use "Yes", "On" or "1" as an alias for  TRUE  and  "No",
       "Off"  or "0" as an alias for FALSE. Binary arguments are case-insensi‐
       tive.


KEYWORDS
       The following keywords are defined:


       Listen This defines on what combinations of IP addresses and ports vlm‐
              csd  should  listen. Listen can be specified more than once. The
              argument has the form ipaddress[:port]. If you  omit  the  port,
              the  default  port  of  1688  is used. If the ipaddress contains
              colons and a port is used, you must  enclose  the  ipaddress  in
              brackets. The default is to listen to 0.0.0.0:1688 and [::]:1688
              which means listen to all IPv4 and all IPv6 addresses.  See  the
              -L  option  in  vlmcsd(8) for more info about the syntax. If you
              use -L, -P, -4 or -6 on the command line, all Listen keywords in
              the  ini file will be ignored. The Listen keyword cannot be used
              on Windows and Cygwin if vlmcsd has been compiled to use  Micro‐
              soft RPC.

              Examples:

              Listen = 192.168.1.123:1688
              Listen = 0.0.0.0:1234
              Listen = [fe80::1721:12ff:fe81:d36b%eth0]:1688


       Port   Can  only  be used on Windows and Cygwin if vlmcsd has been com‐
              piled to use Microsoft RPC. Causes vlmcsd to listen on that port
              instead of 1688. On all non-Windows operating systems or if vlm‐
              csd has been compiled to use its  own  RPC  implementation,  you
              must use Listen instead.


       UseNDR64
              Can  be  TRUE  or  FALSE.  Specifies whether you want to use the
              NDR64 transfer syntax. See options -n0 and -n1 in vlmcsd(8). The
              default is TRUE.


       UseBTFN
              Can  be  TRUE  or  FALSE. Specifies whether you want to use bind
              time feature negotiation in RPC. See options -b0 and -b1 in vlm‐
              csd(8). The default is TRUE.


       RandomizationLevel
              The  argument must 0, 1 or 2. This specifies the ePID randomiza‐
              tion level. See options -r0,  -r1  and  -r2  in  vlmcsd(8).  The
              default randomization level is 1.


       LCID   Use a specific culture id (LCID) even if the ePID is randomized.
              The argument must be a number between 1  and  32767.  While  any
              number in that range is valid, you should use an offcial LCID. A
              list of  assigned  LCIDs  can  be  found  at  http://msdn.micro‐
              soft.com/en-us/goglobal/bb964664.aspx.  On  the command line you
              control this setting with option -C.


       MaxWorkers
              The argument specifies the maximum number of worker processes or
              threads  that  will be used to serve activation requests concur‐
              rently. This is the same as specifying -m on the  command  line.
              Minimum  is  1. The maximum is platform specific and is at least
              32767 but is likely to be greater on most systems.  The  default
              is no limit.


       ConnectionTimeout
              Used  to  control  when  the vlmcsd disconnects idle TPC connec‐
              tions. The default is 30 seconds. This is the same setting as -t
              on the command line.


       DisconnectClientsImmediately
              Set  this to TRUE to disconnect a client after it got an activa‐
              tion response regardless whether a timeout has occured  or  not.
              The  default  is  FALSE.  Setting  this  to TRUE is non-standard
              behavior. Use only if you are experiencing DoS or DDoS  attacks.
              On  the  command  line you control this behavior with options -d
              and -k.


       PidFile
              Write a pid file. The argument is the full  pathname  of  a  pid
              file.  The  pid  file  contains  is  single  line containing the
              process id of the  vlmcsd  process.  It  can  be  used  to  stop
              (SIGTERM)  or  restart  (SIGHUP)  vlmcsd.  This directive can be
              overriden using -p on the command line.


       LogFile
              Write a log file. The argument is the full  pathname  of  a  log
              file.  On  a  unixoid OS and with Cygwin you can use the special
              filename 'syslog' to log to the syslog  facility.  This  is  the
              same as specifying -l on the command line.


       LogVerbose
              Set  this  to either TRUE or FALSE. The default is FALSE. If set
              to TRUE, more details of each activation will be logged. You use
              -v  and  -q in the command line to control this setting. LogVer‐
              bose has an effect only if you specify a log  file  or  redirect
              logging to stdout(3).


       ActivationInterval
              This  is the same as specifying -A on the command line. See vlm‐
              csd(8) for details. The default is 2 hours. Example: Activation‐
              Interval = 1h


       RenewalInterval
              This  is the same as specifying -R on the command line. See vlm‐
              csd(8) for details. The default is 7 days. Example:  Activation‐
              Interval  =  3h.  Please note that the KMS client decides itself
              when to renew activation. Even though vlmcsd sends  the  renewal
              interval  you specify, it is no more than some kind of recommen‐
              dation to the client. Older KMS clients did follow the recommen‐
              dation from a KMS server or emulator. Newer clients do not.


       User   Run  vlmcsd  as  another, preferrably less privileged, user. The
              argument can be a user name or a numeric user id. You must  have
              the  required  privileges  (capabilities on Linux) to change the
              security context of a process without providing any  credentials
              (a  password in most cases). On most unixoid OSses 'root' is the
              only user who has these privileges in the default configuration.
              This  setting  is not available in the native Windows version of
              vlmcsd. See -u in vlmcsd(8). This setting cannot be  changed  on
              the fly by sending SIGHUP to vlmcsd.


       Group  Run  vlmcsd  as another, preferrably less privileged, group. The
              argument can be a group name or a numeric  group  id.  You  must
              have  the  required privileges (capabilities on Linux) to change
              the security context of a process without providing any  creden‐
              tials  (a  password in most cases). On most unixoid OSses 'root'
              is the only user who has these privileges in the default config‐
              uration.  This  setting  is  not available in the native Windows
              version of vlmcsd. See -g in vlmcsd(8). This setting  cannot  be
              changed on the fly by sending SIGHUP to vlmcsd.


SPECIAL KEYWORDS
       Any  valid  GUID is being treated as a special keyword in the ini file.
       It is used to select a specfic ePID and HwId for an  application  GUID.
       The  argument  has the form ePID [ / HwId ]. KMS currently knows only 3
       application GUIDs:

       55c92734-d682-4d71-983e-d6ec3f16059f (Windows)
       59a52881-a989-479d-af46-f275c6370663 (Office 2010)
       0ff1ce15-a989-479d-af46-f275c6370663 (Office 2013)

       To use specific ePIDs for Windows, Office  2010  and  Office  2013  you
       could add the following lines to vlmcsd.ini:

       55c92734-d682-4d71-983e-d6ec3f16059f = 55041-00206-184-207146-03-1062-6002.0000-3322013
       59a52881-a989-479d-af46-f275c6370663 = 55041-00096-216-598637-03-17418-6002.0000-3312013
       0ff1ce15-a989-479d-af46-f275c6370663 = 55041-00206-234-742099-03-9217-6002.0000-2942013

       The ePID is currently a comment only. You can specify any string up  to
       63  bytes.  In  Windows  7 Microsoft has blacklisted few ( < 10 ) ePIDs
       that were used in KMSv5 versions of the  "ratiborus  virtual  machine".
       Microsoft  has  given up on blacklisting when KMS emulators appeared in
       the wild.

       Even if you can use "Activated by cool hacker guys" as an ePID, you may
       wish to use ePIDs that cannot be detected as non-MS ePIDs. If you don't
       know how these "valid" ePIDs look like exactly, do  not  use  GUIDS  in
       vlmcsd.ini.  vlmcsd  provides  internal  mechanisms  to  generate valid
       ePIDs.

       If you use non-ASCII characters in your ePID (you shouldn't do anyway),
       these  must  be  in UTF-8 format. This is especially important when you
       run vlmcsd on Windows or cygwin because UTF-8 is not the default encod‐
       ing for most editors.

       If you are specifying an optional HWID it follows the same syntax as in
       the -H option in vlmcsd(8) ecxept that you must not enclose a  HWID  in
       quotes even if it contains spaces.


FILES
       vlmcsd.ini(5)


AUTHOR
       vlmcsd(8) was written by crony12, Hotbird64 and vityan666. With contri‐
       butions from DougQaid.


CREDITS
       Thanks to CODYQX4, deagles, eIcn,  mikmik38,  nosferati87,  qad,  Rati‐
       borus, ...


SEE ALSO
       vlmcsd(8), vlmcsd(7), vlmcs(1), vlmcsdmulti(1)



Hotbird64                        February 2015                   VLMCSD.INI(5)
