Skip to content
This repository has been archived by the owner on Aug 14, 2024. It is now read-only.

vlmcsd-1105-2016-11-28-Hotbird64

Compare
Choose a tag to compare
@Wind4 Wind4 released this 02 Dec 07:58
· 16 commits to master since this release

2016-11-28 (svn1105)

  • Worked around a bug in older uclibc (0.9.30.x) that realpath is not POSIX 2008 compliant (thx to alorsnon).
  • New binaries for the PowerPC architecture using Linux and musl.

2016-11-26 (svn1104)

  • vlmcsd now supports loading a KMS product database from file (external database)
    • vlmcsd pre-built binaries now only include a basic database which allows them to perform all tasks as usual. However, if you log, all product names show as "Unknown". For logging with clear text names instead of just GUIDs you'll need an external database. You'll find a full product database in ./etc/vlmcsd.kmd
    • pre-built binaries of vlmcsd and vlmcs look for an external database in a file named vlmcsd.kmd in the same directory as vlmcsd and vlmcs. If it is found, the database is loaded automatically on program start up. If you want a full database (for logging), just put vlmcsd.kmd in the same directory as your vlmcsd binary. On OpenBSD, Minix and The Hurd systems, vlmcsd and vlmcs look for /etc/vlmcsd.kmd instead.
    • New command line option -j in vlmcs and vlmcsd to load a specific external database. -j- disables loading a default database.
    • New INI file parameter KmsData = which does the same as command line option -j.
    • New CFLAG -DNO_EXTERNAL_DATA to compile vlmcsd without support for loading an external database.
    • New CFLAG -DNO_INTERNAL_DATA to compile vlmcsd without an internal database at all. vlmcsd will fail, if it doesn't find an external database.
    • New make command line option DATA= to compile vlmcsd with a custom default location for an external database, e.g. DATA=/usr/local/etc/vlmcsd
    • New CFLAG -DUNSAFE_DATA_LOAD to compile vlmcsd without checking an external database for integrity. This safes some bytes but you risk remote code execution if you load a specially crafted database. It is strongly recommended not use this CFLAG.
    • New CFLAG -DFULL_INTERNAL_DATA to compile vlmcsd with a full internal database. If you combine -DFULL_INTERNAL_DATABASE and -DNO_EXTERNAL_DATA, your resulting binary will work like previous versions of vlmcsd.
    • CFLAGs -DNO_EXTENDED_PRODUCT_LIST and -DNO_BASIC_PRODUCT_LIST have been removed.
    • make command line options WINDOWS= and OFFICE201X=8 have been removed.
    • A custom database can be created with License Manager 4.5 or higher.
  • Fixed a bug in ./src/GNUmakefile that CFLAGs -DNO_STRICT_MODES and -DNO_CLIENT_LIST were not automatically defined, if FEATURES=minimum was specified on the make command line or libkms was built.
  • Fixed a bug that the availability of shared memory was not properly detected in Android builds.
  • vlmcs now includes more clear-text error messages if the KMS server reports an error.
  • The Windows version of vlmcs will now convert all error messages from a KMS server to clear-text.
  • In non-verbose logs vlmcsd will now display the SKU ID instead of 'Unknown' (requested by mkuba50)
  • The Atheros OpenWRT pre-built binaries now support limiting concurrent clients in vlmcsd with command line option -m.
  • The Linux x32 binaries now link with bfd instead of gold which makes them smaller.
  • Fixed a bug that the Windows version of vlmcsd did not lock the listening port if vlmcsd was compiled with CFLAG SIMPLE_SOCKETS. This also affected libkms32.dll and libkms64.dll.
  • Removed unecessary socket shutdown calls in vlmcsd.
  • The RPC code of vlmcsd has been hardened against emulator detection
    • vlmcsd now checks the Interface UUID during RPC binding and sends a proper NACK CTX results.
    • vlmcsd now returns a proper RPC_PT_FAULT package if a client tries to call an unbound CTX index.
  • Fixed a bug that vlmcsd complained about wrong Ndr64 Ctx even if Ndr64 is not used if vlmcsd was compiled with CFLAG -D_PEDANTIC.
  • You can now specify AUXV=1 on the make command line for any toolchain that defines GLIBC. In previous versions, AUXV=1 was ignored if linux wasn't defined by the toolchain.