Skip to content

Releases: Wind4/vlmcsd

vlmcsd-svn1065-2016-10-12-Hotbird64

14 Oct 05:29
Compare
Choose a tag to compare

2016-10-12 (svn1065)

  • Fixed a bug in MSVC builds that caused incorrect parsing of negative integer numbers.
  • MSVC builds now include the compiler version when using option -V in vlmcs and vlmcsd.
  • Fixed a bug in all Windows builds of vlmcsd that -m accepted a maximum value of 32767.
  • Added support for Visual Studio remote building and debugging on Linux (Requires either Visual Studion "15" preview 5 or Visual Studio 2015 with the Linux C++ extension)
  • New improved directory structure
    • All source files are in ./src
    • man file are in ./man
    • All executables go to ./bin by default
    • All libraries go to ./lib
    • Temporary files will be created in ./build (execpt *.d files if you use DEPENDENCIES=1. These must be created in ./src for dependencies to work)
    • Sample vlmcsd.ini is now in ./etc
  • GNUmakefile now always accepts generic names vlmcs, vlmcsd, vlmcsdmulti, libkms and libkms-static as a target name even if *_NAME variables are set
  • Marked all MSVC binaries to safely run from CD and Network and marked them as Terminal Server aware
  • Fixed build warnings with incorrect order of inclusion of windows.h and winsock2.h
  • Fixed a build bug that the -fPIC compiler was not automatically set if you build libkms on systems that use ELF binaries
  • Fixed a bug that caused libkms did not build correctly if VERBOSE=1 was specified on the make command line
  • The FreeBSD build environment was upgraded to FreeBSD 11.0.
  • NetBSD 64-bit binaries now compile with gcc 6.2
  • Updated GNU Hurd compiler to gcc 6.2
  • kFreeBSD compiler updated to 6.2

vlmcsd-svn1031-2016-10-06-Hotbird64

08 Oct 05:38
Compare
Choose a tag to compare

2016-10-06 (svn1031)

  • Swapped SKU IDs for Win 2016 Azure Core and Cloud Storage because I trust the pkeyconfig files more than the *.cilx files but still not 100 % sure which is which.
  • vlmcsd, vlmcs, vlmcsdmulti and libkms now compile with Visual Studio 2013 and 2015
  • Added Visual Studio 2015 solution
  • Updated Windows build script to build Visual Studio versions
  • Fixed a bug in vlmcsd that Office 2016 reported 50 active clients instead of 10
  • Windows versions of vlmcsd, vlmcs, vlmcsdmulti and libkms now built with Visual C++ (gcc versions still available with suffix -gcc.exe, all msrpc versions still built with gcc)
  • Updated Mac OS X to Sierra and build tools to Xcode 8.0, clang 3.8, gcc 6.2.0

vlmcsd-svn1016-2016-09-16-Hotbird64

08 Oct 05:15
Compare
Choose a tag to compare

2016-09-16 (svn1016)

  • If vlmcsd is compiled with -DNO_LOG, no product names will be included in the binary
  • Some internal changes to easier maintain EPIDs and PKEYCONFIGs
  • The release date of Windows 2016 is now the minimum date generated in random EPIDs
  • New compile time CFLAG -DSMALL_AES that implements a smaller but much slower version of AES
  • It is now safe again to use -DNO_BASIC_PRODUCT_LIST when compiling vlmcsd. Those KMS IDs required to send a proper EPID will always be included in the binary.
  • The APP ID list will no longer be compiled, if -DNO_LOG is used since it is no longer required because EPID generation now uses KMS IDs instead of APP IDs
  • Fixed a bug in vlmcs that incorrect HMACs in KMSv6 were not detected (Thx to CODYQX4)
  • Updated FreeBSD toolchain to gcc 6.1

vlmcsd-svn1006-2016-09-03-Hotbird64

04 Sep 14:06
Compare
Choose a tag to compare

2016-09-03 (svn1006)

  • Changed the GNUmakefile to build Windows versions on Windows after Cygwin's upgrade to MingW32 gcc 5.4 based toolchain
  • vlmcsd now uses a seperate EPID for Office 2016 (Thx to Aty and echo2)
  • New command line option -6 in vlmcsd to specify a user-defined EPID for Office 2016
  • The INI file no longer uses GUIDs to define custom EPIDs and HWIDs. Use keywords Windows, Office2010, Office2013 and Office2016 instead.
  • Fixed a bug in the -G option of vlmcs that wrong requests were sent to the KMS server
  • The -G option in vlmcs now uses the new INI file format for creating/updating INI files
  • The GNUmakefile command line parameter FEATURES=minimum no longer includes -DNO_BASIC_PRODUCT_LIST because KMS IDs are now required to distinguish between Office 2013 and Office 2016
  • New GNUmakefile command line option OFFICE2016= to specify a default EPID for Office2016 at compile time
  • If -DNO_BASIC_PRODUCT_LIST is used in GNUmakefile CFLAGS, the resulting binary is unable to send valid EPIDs for Office 2016. This compile time option should no longer be used.
  • The bootable floppy now accepts a kernel boot parameter of OFFICE2016= to specify an EPID for Office 2016

vlmcsd-svn1003-2016-08-27-Hotbird64

31 Aug 03:58
Compare
Choose a tag to compare

2016-08-27 (svn1003)

  • Added new KMS ID "Windows 10 2016 (Volume)" (thx to kelorgo and Aty)
  • Moved Windows 10 Enterprise 2016 LTSB and LTSB N to "Windows 10 2016 (Volume)

2016-08-26 (svn1001)

  • Added some more products (SKU IDs and KMS IDs)
  • Fixed a critical bug in random ePID generation that ePIDs were generated that never would activate Office 2016, * Windows 10, Windows 8.1, Windows 2012 R2 and Windows 2016 on a genuine server.

vlmcsd-svn998-2016-08-11-Hotbird64

15 Aug 10:40
Compare
Choose a tag to compare

2016-08-11 (svn998)

  • libkms now includes an API for KMS clients
  • Fixed a bug in GNUmakefile that libkms did not build without CAT=2 flag
  • The MS RPC builds of vlmcsd now issue a warning that protection with -o2 is poor
  • Fixed a bug that the svn version number was not included in all builds (Thx to SkyRE)
  • Fixed a bug in the MS RPC server code that ERROR_INVALID_PARAMETER instead of ERROR_INVALID_DATA was reported in some cases
  • Fixed a bug in the RPC client code that could lead in a crash if a MS RPC server reports an error in a specific way
  • vlmcsd now correctly returns an RPC error code if invalid request data was received instead of simply dropping the connection (still drops if a client sends a packet greater than a v5/v6 request to avoid DoS attacks)
  • Added SKU IDs and KMS ID for new Windows 10 SKUs, Windows Server 2016 and XC2R Editions of Visio 2016 and Project 2016
  • If random ePIDs are used, they now include build 14393 (Windows 2016 Servers) as long as you do not turn off NDR64 (-N0)
  • vlmcsd now returns an error (0x8007000D) if the minor version of the KMS protocol is not 0 to behave exactly like a real KMS server.
  • New command line option -K for vlmcs that allows to specify a KMS protocol version explicitly (e.g. 4.1) to allow requests with intentional bad data
  • Fixed a bug that vlmcsd discovered an incorrect protocol version if NDR64 was used
  • vlmcsd now reports at least 50 active clients for Windows and 10 active clients for Office to make emulator detection more difficult. It still always reports enough clients to satisfy the N count policy (minimum clients) in the request. This is just in case MS increases the N count policy of one more products
  • Specifying -t in vlmcs with an incorrect license status ( > 6 ) now works and only prints a warning (Genuine KMS servers ignore this and activate correctly)
  • Fixed a bug in vlmcs that a -r option didn't work with an argument of 1
  • New SKU IDs for rarely used products (e.g. Win 7 Enterprise E)

vlmcsd-svn977-2016-07-13-Hotbird64

02 Aug 14:44
Compare
Choose a tag to compare

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).

vlmcsd-svn934-2016-06-17-Hotbird64

28 Jun 05:15
Compare
Choose a tag to compare

2016-06-17 (svn934)

  • Fixed a bug that -F0 and -F1 were not available in some uClibc builds due to incorrect header files in older uClibc versions.
  • Updated Intel musl toolchains to gcc 5.3.0, binutils 2.25.1 and musl 1.1.14
  • Updated armelv5 musl thumb toolchain to musl 1.1.14, gcc 6.1.0 and binutils 2.26
  • Upgraded armelv5-thumb-glibc toolchain to gcc 6.1.0, binutils 2.26 and glibc 2.23
  • Fixed a bug that vlmcsd tried to #include <semaphore.h> even if compiled with -DNO_LIMIT
  • GNUMakefile now supports building vlmcsd, vlmcs and vlmcsdmulti simultaneously (new target allmulti)
  • Fixed a bug that vlmcsd could not be compiled if NO_SOCKETS was defined without NO_LIMIT also being defined
  • Fixed a build bug that vlmcsdmulti-x86-musl was placed in the static instead of the musl directory
  • Lots of improvements for the bootable floppy disk
  • The kernel has been updated to 3.12.60
  • busybox has been updated to 1.25.git
  • busybox is now built against uClibc-ng 1.0.15 (since the original uClibc does not seem to be maintained anymore)
  • some more busybox commands (e.g. su, sulogin, nslookup, xargs, setfont, chvt, dumpkmap, cryptpw, mkpasswd). Some useless commands removed (umount, lspci)
  • Support for Latin-9 charset on local ttys
  • Support for different keyboard layouts (currently be bg br by cf cz de dk es et fi fr fr_CH gr hr hu il is it jp kg la lt lv mk nl no pl pt ro ru se sg si sk-qwertz sr trf trq ua uk us wo)
  • man page vlmcsd-floppy.7
  • Lots of options can now be configured in syslinux.cfg file (including IPv4 config, vlmcsd listening IP addresses, hostname, keyboard layout, timezone, passwords, ePIDs, HwID). See man page for details
  • If configured for DHCP, an NTP server sent by the DHCP server will now be honored
  • Upon boot there is now a 5 second timeout prompt to set IPv4 configuration and time zone manually or escape to a pre-boot shell
  • On /dev/tty8 (press ALT-F8) there is now a menu which lets you perfom certain tasks (restarting vlmcsd, turn on/off telnet and ftp, change keyboard layout / timezone, view various status information, shutdown and reboot)
  • The configuration files for building the kernel, uClibc-ng and busybox are now included

vlmcsd-svn906-2016-06-05-Hotbird64

06 Jun 02:59
Compare
Choose a tag to compare

2016-06-05 (svn906)

  • Added a mips big-endian build with simple sockets to test simple sockets on a system that is big-endian and that requires data aligning
  • Added new binaries for the GNU kernel (GNU Mach with Hurd).
  • Command line option -V now displays "PIE" if the executable is position independent.
  • Command line option -V now displays "SYS R4" on operating systems that derive from Unix System V R4.
  • All pre-built binaries do no longer contain deprecated options -4, -6, -I and -f. Use CFLAG -DENABLE_DEPRECATED_OPTIONS if you need them in your own binaries.
  • If deprecated options are used in vlmcsd, it now displays a warning.
  • Fixed a bug that the supplementary group list was not replaced when using the -g option in vlmcsd (thx to FF00FF00FF)
  • Fixed a bug that the NetBSD comment was stripped in NetBSD builds (The bug is actually in NetBSD by refusing ELF binaries that do not include that comment)
  • Fixed a bug that an invalid user or group name in option -g or -u could cause an access violation.
  • Fixed a bug that errno was not saved on call of printerrorf
  • New FreeBSD binaries for FreeBSD operating systems with GNU userspace (e.g. debian GNU/kFreeBSD)
  • Option -V now displays the minimum API level in Android builds.
  • NetBSD build system was upgraded to NetBSD 7.0.1. 32-bit binaries are now build with gcc 4.8.4 (the default compiler in NetBSD 7.0.1)
  • OpenBSD build system has been updated to OpenBSD 5.9. OpenBSD binaries now build with gcc 4.9.3.
  • Fixed a bug that 32-bit NetBSD build of vlmcsdmulti crashed.
  • Ensured that all Windows binaries do not use long section names
  • Marked Windows and Cygwing 64-bit binaries compatible with ASLR
  • Added --no-seh linker flag to all Windows and Cygwin binaries except those that use Microsoft RPC
  • Added options -F0 and -F1 to allow binding to (listening on) foreign IP addresses. Only works on Linux (no restrictions) and FreeBSD (IPv4 only and requires root rights, more exactly PRIV_NETINET_BINDANY privilege). That feature can be removed by using CFLAG -DNO_FREEBIND.
  • Fixed a bug that the TCP connection backlog was set to 1 (instead of the operating system default, 128 on most OSses) if vlmcsd was compiles with simple sockets
  • Internal changes to GNUmakefile so autodetected linker flags may be directed to vlmcs or vlmcsd only. This addresses a problem that references to unneccesary libraries were included in vlmcs and vlmcsd.
  • vlmcs now respects the -DNO_VERBOSE_LOG CFLAG
  • Removed lots of code that was linked into libkms although not needed.
  • Better autodetection for required libraries so that binaries no longer reference libpthread and libresolv if not needed
  • Fixed a bug that the MaxTasks directive in the INI file could not be used if vlmcsd was compiled with MS RPC
  • GNUmakefile no longer creates a temp file if used with CAT=1 and uses a pipe instead
  • You can now build a static library libkms.a.
  • New GNUmakefile option COMPILER_LANGUAGE=c or COMPILER_LANGUAGE=c++
  • Visibility of all symbols is now set to hidden except for exported symbols in libkms.so to allow ld more efficient garbage collection.
  • GNUmakefile now uses more optimizing options by default. This causes the build process to fail with older gcc toolchains. You may use SAFE_MODE=1 on the command line to use fewer optimizations (the same as in svn855 and earlier)
  • Changed Mac OS X build script to use SAFE_MODE=1 with the older PowerPC toolchain.
  • Changed Linux build script to use SAFE_MODE=1 with several older toolchains.
  • Endianess will now be detected at runtime and is included in the output of option -V.
  • Random ePIDs no longer contain Windows 10 build number.
  • vlmcsd now assumes wrong system time if the time reported by the system is lower than the build time. This requires to build vlmcsd on a system with (somewhat) correct system time.
  • Switched linker from bfd to gold for x32 builds (smaller binaries)

vlmcsd-svn818-2016-03-07-Hotbird64

11 Apr 05:14
Compare
Choose a tag to compare

2016-03-07 (svn818)

  • Some updates to the documentation
  • Fixed a bug that could lead in wrong interpretation of boolean arguments in the INI file in rare cases
  • Fixed a memory leak bug in MS-RPC module that occured with incorrect incoming KMS requests
  • Removed iOS 4.1 builds because old compiler no longer runs on Mac OS X 10.11 (El Capitan)
  • Mac OS X gcc builds now require Mac OX X 10.11 (El Capitan) or newer because new Homebrew gcc requires this. All non-gcc build still run on Mac OS X 10.4 (Tiger) or higher.
  • OpenSSL build removed for Mac OS X because Xcode 7 does not support OpenSSL
  • Added support for IBM mainframe Linux, 31- and 64-bit (s390 and s390x)