Skip to content

Commit

Permalink
vlmcsd-svn1085-2016-10-21-Hotbird64
Browse files Browse the repository at this point in the history
  • Loading branch information
Wind4 committed Oct 24, 2016
1 parent 798675d commit 936811f
Show file tree
Hide file tree
Showing 520 changed files with 1,646 additions and 1,085 deletions.
3 changes: 3 additions & 0 deletions GNUmakefile
Original file line number Diff line number Diff line change
Expand Up @@ -189,6 +189,7 @@ help:
@echo "Useful CFLAGS to save memory when running $(BASE_PROGRAM_NAME) on very small embedded devices (finer control than FEATURES=)"
@echo " -DNO_EXTENDED_PRODUCT_LIST Don't compile the detailed product list."
@echo " -DNO_BASIC_PRODUCT_LIST Don't compile the basic product list."
@echo " -DNO_STRICT_MODES Don't support enhanced emulator detection prevention."
@echo " -DNO_VERBOSE_LOG Don't support verbose logging. Removes -v option."
@echo " -DNO_LOG Don't add support for logging. Implies -DNO_VERBOSE_LOG -DNO_EXTENDED_PRODUCT_LIST and -DNO_BASIC_PRODUCT_LIST."
@echo " -DNO_RANDOM_EPID Don't support random ePIDs."
Expand All @@ -199,6 +200,8 @@ help:
@echo " -DNO_CUSTOM_INTERVALS Don't support custom intervals for retry and refresh activation. Removes -A and -R options."
@echo " -DNO_FREEBIND Don't support binding to foreign IP addresses. Removes -F0 and -F1 options. Only affects FreeBSD and Linux."
@echo " -DNO_SOCKETS Don't support standalone operation. Requires an internet superserver to start $(BASE_PROGRAM_NAME)."
@echo " -DSIMPLE_SOCKETS Don't support listening on explicit IP addresses. Always listens on all IP addresses."
@echo " -DSIMPLE_RPC Don't support RPC with NDR64 and BTFN in $(BASE_PROGRAM_NAME) (but do in $(BASE_CLIENT_NAME)). Makes emulator detection easy."
@echo " -DNO_CL_PIDS Don't support specifying ePIDs and HwId from the command line in $(BASE_PROGRAM_NAME)."
@echo " -DNO_LIMIT Don't support limiting concurrent clients in $(BASE_PROGRAM_NAME)."
@echo " -DNO_SIGHUP Don't support SIGHUP handling in $(BASE_PROGRAM_NAME)."
Expand Down
1 change: 1 addition & 0 deletions VisualStudio/vlmcs/vlmcs.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -177,6 +177,7 @@
<RuntimeTypeInfo>false</RuntimeTypeInfo>
<OpenMPSupport>false</OpenMPSupport>
<AdditionalOptions>$(ExternalCompilerOptions) %(AdditionalOptions)</AdditionalOptions>
<OmitFramePointers>true</OmitFramePointers>
</ClCompile>
<Link>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
Expand Down
4 changes: 2 additions & 2 deletions VisualStudio/vlmcsd.sln
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vlmcsdmulti-Windows", "vlmc
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libkms-Windows", "libkms\libkms.vcxproj", "{2A0FC04D-C3C0-43E2-8812-53AE901C5395}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vlmcsd-gcc5", "..\vlmcsd-linux-remote.vcxproj", "{CC2FBE0B-B9DF-4306-88A1-20706BBD2B0C}"
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vlmcsd-gcc5", "..\src\vlmcsd-linux-remote.vcxproj", "{CC2FBE0B-B9DF-4306-88A1-20706BBD2B0C}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vlmcs-gcc5", "..\vlmcs-linux-remote.vcxproj", "{1ED83566-8AE1-4EE8-9B62-37188A7AC7CA}"
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vlmcs-gcc5", "..\src\vlmcs-linux-remote.vcxproj", "{1ED83566-8AE1-4EE8-9B62-37188A7AC7CA}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Expand Down
8 changes: 8 additions & 0 deletions etc/vlmcsd.ini
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,14 @@
# Command line: -v and -q
;LogVerbose = true

# Whitelist known products
# Command line: -K0, -K1, -K2, -K3
;WhiteListingLevel = 0

# Check that the client time is within +/- 4 hours of the system time
# Command Line: -c0, -c1
;CheckClientTime = false

# Set activation interval to 2 hours
# Command line: -A
;ActivationInterval = 2h
Expand Down
Binary file modified floppy/floppy144.vfd
Binary file not shown.
2 changes: 1 addition & 1 deletion hotbird64-mass-build/make_dragonfly
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ CF45="-static-libgcc -pipe -fno-common -fno-exceptions -fno-stack-protector -fno
CFCLANG="-pipe -fno-common -fno-exceptions -fno-stack-protector -fno-unwind-tables -fno-asynchronous-unwind-tables -fmerge-all-constants"
LF="-Wl,-z,norelro -Wl,--hash-style=sysv -Wl,--build-id=none"
LFCLANG="-Wl,-z,norelro -Wl,--hash-style=sysv"
export CC=gcc5
export CC=gcc6

gmake $MAKEFLAGS MULTI_NAME=$BINDIR/vlmcsdmulti-DragonFly-x64 PROGRAM_NAME=$BINDIR/vlmcsd-DragonFly-x64 CLIENT_NAME=$BINDIR/vlmcs-DragonFly-x64 CFLAGS="$CF" LDFLAGS="$LF" allmulti

Expand Down
4 changes: 2 additions & 2 deletions man/vlmcs.1
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
.mso www.tmac
.TH VLMCS 1 "May 2016" "Hotbird64" "KMS Activation Manual"
.TH VLMCS 1 "October 2016" "Hotbird64" "KMS Activation Manual"
.LO 1

.SH NAME
Expand Down Expand Up @@ -76,7 +76,7 @@ to specify applications that are not listed with \fB-x\fR. The
option is used as a shortcut for the most common applications.

.IP "\fB-K\fR \fIprotocol-version\fR"
Force a specific version of the KMS protocol. Valid versions are 4.0, 5.0 and 6.0. The default is to select a suitable version according to the \fIapplication\fR selected. You may use \fB-K\fR to send an incorrect protocol version to the KMS server and see how it behaves. Genuine KMS servers return HRESULT 0x8007000D if the KMS protocol is not 4.0, 5.0 or 6.0. Emulators should do the same. When sending a request with an incorrect protocol number, vlmcs ignores the minor protocol number (e.g. sends a v4 request for version 4.1). If the major version number is less then 4, it sends a v4 request. If the major version is greater then 6, is sends a v6 request. In any case the \fIprotocol-version\fR as specified by \fB-K\fR is put in the version fields of the request.
Force a specific version of the KMS protocol. Valid versions are 4.0, 5.0 and 6.0. The default is to select a suitable version according to the \fIapplication\fR selected. You may use \fB-K\fR to send an incorrect protocol version to the KMS server and see how it behaves. Genuine KMS servers return HRESULT 0x8007000D if the KMS protocol is not 4.0, 5.0 or 6.0. Emulators should do the same. When sending a request with an incorrect protocol number, vlmcs ignores the minor protocol number (e.g. sends a v4 request for version 4.1). If the major version number is less then 4, it sends a v4 request. If the major version is greater then 6, it sends a v6 request. In any case the \fIprotocol-version\fR as specified by \fB-K\fR is put in the version fields of the request.

.IP "\fB-4\fR, \fB-5\fR and \fB-6"
Force version 4, 5 or 6 of the KMS protocol. These options are actually shortcuts of \fB-K 4.0\fR, \fB-K 5.0\fR and \fB-K 6.0\fR.
Expand Down
4 changes: 2 additions & 2 deletions man/vlmcs.1.dos.txt
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ OPTIONS
same. When sending a request with an incorrect protocol number,
vlmcs ignores the minor protocol number (e.g. sends a v4 request
for version 4.1). If the major version number is less then 4, it
sends a v4 request. If the major version is greater then 6, is
sends a v4 request. If the major version is greater then 6, it
sends a v6 request. In any case the protocol-version as speci‐
fied by -K is put in the version fields of the request.

Expand Down Expand Up @@ -323,4 +323,4 @@ SEE ALSO



Hotbird64 May 2016 VLMCS(1)
Hotbird64 October 2016 VLMCS(1)
10 changes: 5 additions & 5 deletions man/vlmcs.1.html

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Binary file modified man/vlmcs.1.pdf
Binary file not shown.
4 changes: 2 additions & 2 deletions man/vlmcs.1.unix.txt
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ OPTIONS
same. When sending a request with an incorrect protocol number,
vlmcs ignores the minor protocol number (e.g. sends a v4 request
for version 4.1). If the major version number is less then 4, it
sends a v4 request. If the major version is greater then 6, is
sends a v4 request. If the major version is greater then 6, it
sends a v6 request. In any case the protocol-version as speci‐
fied by -K is put in the version fields of the request.

Expand Down Expand Up @@ -323,4 +323,4 @@ SEE ALSO



Hotbird64 May 2016 VLMCS(1)
Hotbird64 October 2016 VLMCS(1)
23 changes: 11 additions & 12 deletions man/vlmcsd-floppy.7.html

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Binary file modified man/vlmcsd-floppy.7.pdf
Binary file not shown.
63 changes: 29 additions & 34 deletions man/vlmcsd.7.html

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Binary file modified man/vlmcsd.7.pdf
Binary file not shown.
23 changes: 20 additions & 3 deletions man/vlmcsd.8
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
.mso www.tmac
.TH VLMCSD 8 "September 2016" "Hotbird64" "KMS Activation Manual"
.TH VLMCSD 8 "October 2016" "Hotbird64" "KMS Activation Manual"
.LO 8

.SH NAME
Expand Down Expand Up @@ -184,6 +184,25 @@ for a list of valid \fILCID\fRs. Please note that some of them are not recognize

Most other KMS emulators use a fixed \fILCID\fR of 1033 (English - US). To achive the same behavior in vlmcsd use \fB-C 1033\fR.

.IP "\fB-K0\fR, \fB-K1\fR, \fB-K2\fR and \fB-K3\fR"
Sets the whitelisting level to determine which products vlmcsd activates or refuses. The default is \fB-K0\fR.

.RS 12
\fB-K0\fR: activate all products with an unknown, retail or beta/preview KMS ID.
.br
\fB-K1\fR: activate products with a retail or beta/preview KMS ID but refuse to activate products with an unknown KMS ID.
.br
\fB-K2\fR: activate products with an unknown KMS ID but refuse products with a retail or beta/preview KMS ID.
.br
\fB-K3\fR: activate only products with a known volume license RTM KMS ID and refuse all others.
.RE

.IP ""
The SKU ID is not checked. Like a genuine KMS server vlmcsd activates a product that has a random or unknown SKU ID. If you select \fB-K1\fR or \fB-K3\fR, vlmcsd also checks the Application ID for correctness. If Microsoft introduces a new KMS ID for a new product, you cannot activate it if you used \fB-K1\fR or \fB-K3\fR until a new version of vlmcsd is available.

.IP "\fB-c0\fR and \fB-c1\fR"
\fB-c1\fR causes vlmcsd to check if the client time differs no more than four hours from the system time. \fB-c0\fR (the default) disables this check. \fB-c1\fR is useful to prevent emulator detection. A client that tries to detect an emulator could simply send two subsequent request with two time stamps that differ more than four hours from each other. If both requests succeed, the server is an emulator. If you specify \fB-c1\fR on a system with no reliable time source, activations will fail. It is ok to set the correct system time after you started vlmcsd.

.IP "\fB-R\fR \fIrenewal-interval\fR"
Instructs clients to renew activation every \fIrenewal-interval\fR. The \fIrenewal-interval\fR is a number optionally immediately followed by a letter indicating the unit. Valid unit letters are s (seconds), m (minutes), h (hours), d (days) and w (weeks). If you do not specify a letter, minutes is assumed.

Expand Down Expand Up @@ -274,8 +293,6 @@ Installs \fBvlmcsd\fR as a Windows service with low privileges and logs everythi
An ePID specified in an ini file must not contain spaces.

.SH INTENTIONAL BUGS
vlmcsd activates non-VL (retail) and beta/preview versions of Windows.
.br
vlmcsd always reports enough active clients to satisfy the N count policy of the request.

.SH AUTHOR
Expand Down
Loading

0 comments on commit 936811f

Please sign in to comment.