VLMCSD - KMS Emulator in C (currently runs on Linux including Android, FreeBSD, Solaris, Minix, Mac OS, iOS, Windows with or without Cygwin)
Source and binaries:
http://rgho.st/6sJWQkYxJ
Source only:
http://rgho.st/6by9Mjqvm
7zip password is 2016
CHANGES
2016-07-13 (svn977)
Fixed a bug that the Port= directive in the ini file did not work if vlmcsd was compiled with full socket support (thx to mictlan).
2016-07-11 (svn976)
Fixed a bug with an extra colon displayed if option -T0 was used in the fork versions of vlmcsd (thx to Calistoga)
2016-07-10 (svn972)
Fixed some typos in vlmcsd.8
It is no longer possible to compile vlmcsd with deprecated options. CFLAG -DENABLE_DEPRECATED_OPTIONS has been removed.
New command line parameters -T0 and -T1 to allow logging without date and time on each line (requested by Calistoga)
New INI file parameter LogDateAndTime which does the same as -T0 and -T1
-o1 and -o3 now work with Android
New GNUmakefile command line parameter GETIFADDRS=musl to add -o1 and -o3 support for older uClibc versions that don't have getifaddrs.
2016-07-04 (svn958)
Bootable floppy: Removed ipcs and iprm commands from busybox because of missing kernel support.
Bootable floppy: busybox updated to 1.26 trunk
Bootable floppy: Fixed a bug that ntpd encountered an endless loop if it could not resolve the NTP server (thx to lantern)
New option -o1 in vlmcsd to listen on private IP addresses only
New option -o2 in vlmcsd to refuse clients with public IP addresses
New option -o3 in vlmcsd that combines -o1 and -o2
New compile time CFLAG -DNO_PRIVATE_IP_DETECT to compile vlmcsd without -o options.
New command line option for GNUmakefile NO_GETIFADDRS=1 to allow building of vlmcsd on platforms that do not support getifaddrs(). Required for older uClibc versions (autodetected for Android)
New INI file statement PublicIPProtectionLevel to set -o options via the config file
Fixed a bug in help that an incorrect warning message was displayed if vlmcsd was compiled with -DENABLE_DEPRECATED_OPTIONS