argon2 2.0.2 → 2.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.github/workflows/rubocop.yml +16 -0
- data/.github/workflows/ruby.yml +32 -0
- data/.rubocop.yml +150 -5
- data/Changelog.md +3 -0
- data/Gemfile +2 -0
- data/README.md +8 -7
- data/Rakefile +2 -0
- data/argon2.gemspec +9 -6
- data/bin/console +1 -0
- data/ext/argon2_wrap/argon_wrap.c +2 -0
- data/ext/argon2_wrap/extconf.rb +1 -0
- data/ext/phc-winner-argon2/.gitignore +1 -0
- data/ext/phc-winner-argon2/Argon2.sln +2 -4
- data/ext/phc-winner-argon2/LICENSE +2 -2
- data/ext/phc-winner-argon2/Makefile +86 -18
- data/ext/phc-winner-argon2/README.md +3 -1
- data/ext/phc-winner-argon2/include/argon2.h +3 -3
- data/ext/phc-winner-argon2/libargon2.pc.in +18 -0
- data/ext/phc-winner-argon2/src/argon2.c +2 -2
- data/ext/phc-winner-argon2/src/bench.c +4 -4
- data/ext/phc-winner-argon2/src/blake2/blake2-impl.h +3 -3
- data/ext/phc-winner-argon2/src/blake2/blake2.h +2 -2
- data/ext/phc-winner-argon2/src/blake2/blake2b.c +2 -2
- data/ext/phc-winner-argon2/src/blake2/blamka-round-opt.h +2 -2
- data/ext/phc-winner-argon2/src/blake2/blamka-round-ref.h +2 -2
- data/ext/phc-winner-argon2/src/core.c +20 -6
- data/ext/phc-winner-argon2/src/core.h +2 -2
- data/ext/phc-winner-argon2/src/encoding.c +2 -2
- data/ext/phc-winner-argon2/src/encoding.h +2 -2
- data/ext/phc-winner-argon2/src/genkat.c +9 -3
- data/ext/phc-winner-argon2/src/genkat.h +2 -2
- data/ext/phc-winner-argon2/src/opt.c +2 -2
- data/ext/phc-winner-argon2/src/ref.c +2 -2
- data/ext/phc-winner-argon2/src/run.c +2 -2
- data/ext/phc-winner-argon2/src/test.c +2 -2
- data/ext/phc-winner-argon2/src/thread.c +2 -2
- data/ext/phc-winner-argon2/src/thread.h +2 -2
- data/ext/phc-winner-argon2/vs2015/Argon2Opt/Argon2Opt.vcxproj +11 -6
- data/ext/phc-winner-argon2/vs2015/Argon2OptBench/Argon2OptBench.vcxproj +11 -6
- data/ext/phc-winner-argon2/vs2015/Argon2OptDll/Argon2OptDll.vcxproj +11 -6
- data/ext/phc-winner-argon2/vs2015/Argon2OptGenKAT/Argon2OptGenKAT.vcxproj +11 -6
- data/ext/phc-winner-argon2/vs2015/Argon2OptTestCI/Argon2OptTestCI.vcxproj +16 -8
- data/ext/phc-winner-argon2/vs2015/Argon2Ref/Argon2Ref.vcxproj +25 -8
- data/ext/phc-winner-argon2/vs2015/Argon2RefBench/Argon2RefBench.vcxproj +11 -6
- data/ext/phc-winner-argon2/vs2015/Argon2RefDll/Argon2RefDll.vcxproj +11 -6
- data/ext/phc-winner-argon2/vs2015/Argon2RefGenKAT/Argon2RefGenKAT.vcxproj +11 -6
- data/ext/phc-winner-argon2/vs2015/Argon2RefTestCI/Argon2RefTestCI.vcxproj +11 -6
- data/lib/argon2.rb +4 -2
- data/lib/argon2/ffi_engine.rb +31 -21
- data/lib/argon2/version.rb +1 -1
- metadata +40 -31
- data/.travis.yml +0 -13
- data/ext/phc-winner-argon2/libargon2.pc +0 -16
|
@@ -243,6 +243,7 @@ Argon2i 1 iterations 4096 MiB 4 threads: 2.72 cpb 11124.86 Mcycles
|
|
|
243
243
|
Bindings are available for the following languages (make sure to read
|
|
244
244
|
their documentation):
|
|
245
245
|
|
|
246
|
+
* [Android (Java/Kotlin)](https://github.com/lambdapioneer/argon2kt) by [@lambdapioneer](https://github.com/lambdapioneer)
|
|
246
247
|
* [Elixir](https://github.com/riverrun/argon2_elixir) by [@riverrun](https://github.com/riverrun)
|
|
247
248
|
* [Erlang](https://github.com/ergenius/eargon2) by [@ergenius](https://github.com/ergenius)
|
|
248
249
|
* [Go](https://github.com/tvdburgt/go-argon2) by [@tvdburgt](https://github.com/tvdburgt)
|
|
@@ -259,6 +260,7 @@ their documentation):
|
|
|
259
260
|
* [Python (native)](https://pypi.python.org/pypi/argon2), by [@flamewow](https://github.com/flamewow)
|
|
260
261
|
* [Python (ffi)](https://pypi.python.org/pypi/argon2_cffi), by [@hynek](https://github.com/hynek)
|
|
261
262
|
* [Python (ffi, with keyed hashing)](https://github.com/thusoy/porridge), by [@thusoy](https://github.com/thusoy)
|
|
263
|
+
* [Python (ffi, with keyed hashing)](https://github.com/ultrahorizon/pyargon2), by [@ultrahorizon](https://github.com/ultrahorizon)
|
|
262
264
|
* [R](https://cran.r-project.org/package=argon2) by [@wrathematics](https://github.com/wrathematics)
|
|
263
265
|
* [Ruby](https://github.com/technion/ruby-argon2) by [@technion](https://github.com/technion)
|
|
264
266
|
* [Rust](https://github.com/quininer/argon2-rs) by [@quininer](https://github.com/quininer)
|
|
@@ -283,7 +285,7 @@ Except for the components listed below, the Argon2 code in this
|
|
|
283
285
|
repository is copyright (c) 2015 Daniel Dinu, Dmitry Khovratovich (main
|
|
284
286
|
authors), Jean-Philippe Aumasson and Samuel Neves, and dual licensed under the
|
|
285
287
|
[CC0 License](https://creativecommons.org/about/cc0) and the
|
|
286
|
-
[Apache 2.0 License](
|
|
288
|
+
[Apache 2.0 License](https://www.apache.org/licenses/LICENSE-2.0). For more info
|
|
287
289
|
see the LICENSE file.
|
|
288
290
|
|
|
289
291
|
The string encoding routines in [`src/encoding.c`](src/encoding.c) are
|
|
@@ -8,8 +8,8 @@
|
|
|
8
8
|
* License/Waiver or the Apache Public License 2.0, at your option. The terms of
|
|
9
9
|
* these licenses can be found at:
|
|
10
10
|
*
|
|
11
|
-
* - CC0 1.0 Universal :
|
|
12
|
-
* - Apache 2.0 :
|
|
11
|
+
* - CC0 1.0 Universal : https://creativecommons.org/publicdomain/zero/1.0
|
|
12
|
+
* - Apache 2.0 : https://www.apache.org/licenses/LICENSE-2.0
|
|
13
13
|
*
|
|
14
14
|
* You should have received a copy of both of these licenses along with this
|
|
15
15
|
* software. If not, they may be obtained at the above URLs.
|
|
@@ -30,7 +30,7 @@ extern "C" {
|
|
|
30
30
|
#ifdef A2_VISCTL
|
|
31
31
|
#define ARGON2_PUBLIC __attribute__((visibility("default")))
|
|
32
32
|
#define ARGON2_LOCAL __attribute__ ((visibility ("hidden")))
|
|
33
|
-
#elif _MSC_VER
|
|
33
|
+
#elif defined(_MSC_VER)
|
|
34
34
|
#define ARGON2_PUBLIC __declspec(dllexport)
|
|
35
35
|
#define ARGON2_LOCAL
|
|
36
36
|
#else
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# libargon2 info for pkg-config
|
|
2
|
+
## Template for downstream installers:
|
|
3
|
+
## - replace @UPSTREAM_VER@ with current version, e.g. '20160406'
|
|
4
|
+
## - replace @HOST_MULTIARCH@ with target arch lib, e.g. 'lib', 'lib/x86_64-linux-gnu' or 'lib64'
|
|
5
|
+
## - replace @PREFIX@ with install path, e.g. '/usr', '/usr/local', '/usr/pkg'
|
|
6
|
+
## - replace @INCLUDE@ with incluse path, e.g. 'include' or 'include/argon2'
|
|
7
|
+
|
|
8
|
+
prefix=@PREFIX@
|
|
9
|
+
exec_prefix=${prefix}
|
|
10
|
+
libdir=${prefix}/@HOST_MULTIARCH@
|
|
11
|
+
includedir=${prefix}/@INCLUDE@
|
|
12
|
+
|
|
13
|
+
Name: libargon2
|
|
14
|
+
Description: Development libraries for libargon2
|
|
15
|
+
Version: @UPSTREAM_VER@
|
|
16
|
+
Libs: -L${libdir} -largon2 @EXTRA_LIBS@
|
|
17
|
+
Cflags: -I${includedir}
|
|
18
|
+
URL: https://github.com/P-H-C/phc-winner-argon2
|
|
@@ -8,8 +8,8 @@
|
|
|
8
8
|
* License/Waiver or the Apache Public License 2.0, at your option. The terms of
|
|
9
9
|
* these licenses can be found at:
|
|
10
10
|
*
|
|
11
|
-
* - CC0 1.0 Universal :
|
|
12
|
-
* - Apache 2.0 :
|
|
11
|
+
* - CC0 1.0 Universal : https://creativecommons.org/publicdomain/zero/1.0
|
|
12
|
+
* - Apache 2.0 : https://www.apache.org/licenses/LICENSE-2.0
|
|
13
13
|
*
|
|
14
14
|
* You should have received a copy of both of these licenses along with this
|
|
15
15
|
* software. If not, they may be obtained at the above URLs.
|
|
@@ -8,8 +8,8 @@
|
|
|
8
8
|
* License/Waiver or the Apache Public License 2.0, at your option. The terms of
|
|
9
9
|
* these licenses can be found at:
|
|
10
10
|
*
|
|
11
|
-
* - CC0 1.0 Universal :
|
|
12
|
-
* - Apache 2.0 :
|
|
11
|
+
* - CC0 1.0 Universal : https://creativecommons.org/publicdomain/zero/1.0
|
|
12
|
+
* - Apache 2.0 : https://www.apache.org/licenses/LICENSE-2.0
|
|
13
13
|
*
|
|
14
14
|
* You should have received a copy of both of these licenses along with this
|
|
15
15
|
* software. If not, they may be obtained at the above URLs.
|
|
@@ -20,14 +20,14 @@
|
|
|
20
20
|
#include <stdlib.h>
|
|
21
21
|
#include <string.h>
|
|
22
22
|
#include <time.h>
|
|
23
|
-
#ifdef
|
|
23
|
+
#ifdef _WIN32
|
|
24
24
|
#include <intrin.h>
|
|
25
25
|
#endif
|
|
26
26
|
|
|
27
27
|
#include "argon2.h"
|
|
28
28
|
|
|
29
29
|
static uint64_t rdtsc(void) {
|
|
30
|
-
#ifdef
|
|
30
|
+
#ifdef _WIN32
|
|
31
31
|
return __rdtsc();
|
|
32
32
|
#else
|
|
33
33
|
#if defined(__amd64__) || defined(__x86_64__)
|
|
@@ -8,8 +8,8 @@
|
|
|
8
8
|
* License/Waiver or the Apache Public License 2.0, at your option. The terms of
|
|
9
9
|
* these licenses can be found at:
|
|
10
10
|
*
|
|
11
|
-
* - CC0 1.0 Universal :
|
|
12
|
-
* - Apache 2.0 :
|
|
11
|
+
* - CC0 1.0 Universal : https://creativecommons.org/publicdomain/zero/1.0
|
|
12
|
+
* - Apache 2.0 : https://www.apache.org/licenses/LICENSE-2.0
|
|
13
13
|
*
|
|
14
14
|
* You should have received a copy of both of these licenses along with this
|
|
15
15
|
* software. If not, they may be obtained at the above URLs.
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
#include <stdint.h>
|
|
22
22
|
#include <string.h>
|
|
23
23
|
|
|
24
|
-
#
|
|
24
|
+
#ifdef _WIN32
|
|
25
25
|
#define BLAKE2_INLINE __inline
|
|
26
26
|
#elif defined(__GNUC__) || defined(__clang__)
|
|
27
27
|
#define BLAKE2_INLINE __inline__
|
|
@@ -8,8 +8,8 @@
|
|
|
8
8
|
* License/Waiver or the Apache Public License 2.0, at your option. The terms of
|
|
9
9
|
* these licenses can be found at:
|
|
10
10
|
*
|
|
11
|
-
* - CC0 1.0 Universal :
|
|
12
|
-
* - Apache 2.0 :
|
|
11
|
+
* - CC0 1.0 Universal : https://creativecommons.org/publicdomain/zero/1.0
|
|
12
|
+
* - Apache 2.0 : https://www.apache.org/licenses/LICENSE-2.0
|
|
13
13
|
*
|
|
14
14
|
* You should have received a copy of both of these licenses along with this
|
|
15
15
|
* software. If not, they may be obtained at the above URLs.
|
|
@@ -8,8 +8,8 @@
|
|
|
8
8
|
* License/Waiver or the Apache Public License 2.0, at your option. The terms of
|
|
9
9
|
* these licenses can be found at:
|
|
10
10
|
*
|
|
11
|
-
* - CC0 1.0 Universal :
|
|
12
|
-
* - Apache 2.0 :
|
|
11
|
+
* - CC0 1.0 Universal : https://creativecommons.org/publicdomain/zero/1.0
|
|
12
|
+
* - Apache 2.0 : https://www.apache.org/licenses/LICENSE-2.0
|
|
13
13
|
*
|
|
14
14
|
* You should have received a copy of both of these licenses along with this
|
|
15
15
|
* software. If not, they may be obtained at the above URLs.
|
|
@@ -8,8 +8,8 @@
|
|
|
8
8
|
* License/Waiver or the Apache Public License 2.0, at your option. The terms of
|
|
9
9
|
* these licenses can be found at:
|
|
10
10
|
*
|
|
11
|
-
* - CC0 1.0 Universal :
|
|
12
|
-
* - Apache 2.0 :
|
|
11
|
+
* - CC0 1.0 Universal : https://creativecommons.org/publicdomain/zero/1.0
|
|
12
|
+
* - Apache 2.0 : https://www.apache.org/licenses/LICENSE-2.0
|
|
13
13
|
*
|
|
14
14
|
* You should have received a copy of both of these licenses along with this
|
|
15
15
|
* software. If not, they may be obtained at the above URLs.
|
|
@@ -8,8 +8,8 @@
|
|
|
8
8
|
* License/Waiver or the Apache Public License 2.0, at your option. The terms of
|
|
9
9
|
* these licenses can be found at:
|
|
10
10
|
*
|
|
11
|
-
* - CC0 1.0 Universal :
|
|
12
|
-
* - Apache 2.0 :
|
|
11
|
+
* - CC0 1.0 Universal : https://creativecommons.org/publicdomain/zero/1.0
|
|
12
|
+
* - Apache 2.0 : https://www.apache.org/licenses/LICENSE-2.0
|
|
13
13
|
*
|
|
14
14
|
* You should have received a copy of both of these licenses along with this
|
|
15
15
|
* software. If not, they may be obtained at the above URLs.
|
|
@@ -8,15 +8,15 @@
|
|
|
8
8
|
* License/Waiver or the Apache Public License 2.0, at your option. The terms of
|
|
9
9
|
* these licenses can be found at:
|
|
10
10
|
*
|
|
11
|
-
* - CC0 1.0 Universal :
|
|
12
|
-
* - Apache 2.0 :
|
|
11
|
+
* - CC0 1.0 Universal : https://creativecommons.org/publicdomain/zero/1.0
|
|
12
|
+
* - Apache 2.0 : https://www.apache.org/licenses/LICENSE-2.0
|
|
13
13
|
*
|
|
14
14
|
* You should have received a copy of both of these licenses along with this
|
|
15
15
|
* software. If not, they may be obtained at the above URLs.
|
|
16
16
|
*/
|
|
17
17
|
|
|
18
18
|
/*For memory wiping*/
|
|
19
|
-
#ifdef
|
|
19
|
+
#ifdef _WIN32
|
|
20
20
|
#include <windows.h>
|
|
21
21
|
#include <winbase.h> /* For SecureZeroMemory */
|
|
22
22
|
#endif
|
|
@@ -25,6 +25,9 @@
|
|
|
25
25
|
#endif
|
|
26
26
|
#define VC_GE_2005(version) (version >= 1400)
|
|
27
27
|
|
|
28
|
+
/* for explicit_bzero() on glibc */
|
|
29
|
+
#define _DEFAULT_SOURCE
|
|
30
|
+
|
|
28
31
|
#include <stdio.h>
|
|
29
32
|
#include <stdlib.h>
|
|
30
33
|
#include <string.h>
|
|
@@ -120,12 +123,20 @@ void free_memory(const argon2_context *context, uint8_t *memory,
|
|
|
120
123
|
}
|
|
121
124
|
}
|
|
122
125
|
|
|
126
|
+
#if defined(__OpenBSD__)
|
|
127
|
+
#define HAVE_EXPLICIT_BZERO 1
|
|
128
|
+
#elif defined(__GLIBC__) && defined(__GLIBC_PREREQ)
|
|
129
|
+
#if __GLIBC_PREREQ(2,25)
|
|
130
|
+
#define HAVE_EXPLICIT_BZERO 1
|
|
131
|
+
#endif
|
|
132
|
+
#endif
|
|
133
|
+
|
|
123
134
|
void NOT_OPTIMIZED secure_wipe_memory(void *v, size_t n) {
|
|
124
|
-
#if defined(_MSC_VER) && VC_GE_2005(_MSC_VER)
|
|
135
|
+
#if defined(_MSC_VER) && VC_GE_2005(_MSC_VER) || defined(__MINGW32__)
|
|
125
136
|
SecureZeroMemory(v, n);
|
|
126
137
|
#elif defined memset_s
|
|
127
138
|
memset_s(v, n, 0, n);
|
|
128
|
-
#elif defined(
|
|
139
|
+
#elif defined(HAVE_EXPLICIT_BZERO)
|
|
129
140
|
explicit_bzero(v, n);
|
|
130
141
|
#else
|
|
131
142
|
static void *(*const volatile memset_sec)(void *, int, size_t) = &memset;
|
|
@@ -299,7 +310,7 @@ static int fill_memory_blocks_mt(argon2_instance_t *instance) {
|
|
|
299
310
|
|
|
300
311
|
for (r = 0; r < instance->passes; ++r) {
|
|
301
312
|
for (s = 0; s < ARGON2_SYNC_POINTS; ++s) {
|
|
302
|
-
uint32_t l;
|
|
313
|
+
uint32_t l, ll;
|
|
303
314
|
|
|
304
315
|
/* 2. Calling threads */
|
|
305
316
|
for (l = 0; l < instance->lanes; ++l) {
|
|
@@ -324,6 +335,9 @@ static int fill_memory_blocks_mt(argon2_instance_t *instance) {
|
|
|
324
335
|
sizeof(argon2_position_t));
|
|
325
336
|
if (argon2_thread_create(&thread[l], &fill_segment_thr,
|
|
326
337
|
(void *)&thr_data[l])) {
|
|
338
|
+
/* Wait for already running threads */
|
|
339
|
+
for (ll = 0; ll < l; ++ll)
|
|
340
|
+
argon2_thread_join(thread[ll]);
|
|
327
341
|
rc = ARGON2_THREAD_FAIL;
|
|
328
342
|
goto fail;
|
|
329
343
|
}
|
|
@@ -8,8 +8,8 @@
|
|
|
8
8
|
* License/Waiver or the Apache Public License 2.0, at your option. The terms of
|
|
9
9
|
* these licenses can be found at:
|
|
10
10
|
*
|
|
11
|
-
* - CC0 1.0 Universal :
|
|
12
|
-
* - Apache 2.0 :
|
|
11
|
+
* - CC0 1.0 Universal : https://creativecommons.org/publicdomain/zero/1.0
|
|
12
|
+
* - Apache 2.0 : https://www.apache.org/licenses/LICENSE-2.0
|
|
13
13
|
*
|
|
14
14
|
* You should have received a copy of both of these licenses along with this
|
|
15
15
|
* software. If not, they may be obtained at the above URLs.
|
|
@@ -8,8 +8,8 @@
|
|
|
8
8
|
* License/Waiver or the Apache Public License 2.0, at your option. The terms of
|
|
9
9
|
* these licenses can be found at:
|
|
10
10
|
*
|
|
11
|
-
* - CC0 1.0 Universal :
|
|
12
|
-
* - Apache 2.0 :
|
|
11
|
+
* - CC0 1.0 Universal : https://creativecommons.org/publicdomain/zero/1.0
|
|
12
|
+
* - Apache 2.0 : https://www.apache.org/licenses/LICENSE-2.0
|
|
13
13
|
*
|
|
14
14
|
* You should have received a copy of both of these licenses along with this
|
|
15
15
|
* software. If not, they may be obtained at the above URLs.
|
|
@@ -8,8 +8,8 @@
|
|
|
8
8
|
* License/Waiver or the Apache Public License 2.0, at your option. The terms of
|
|
9
9
|
* these licenses can be found at:
|
|
10
10
|
*
|
|
11
|
-
* - CC0 1.0 Universal :
|
|
12
|
-
* - Apache 2.0 :
|
|
11
|
+
* - CC0 1.0 Universal : https://creativecommons.org/publicdomain/zero/1.0
|
|
12
|
+
* - Apache 2.0 : https://www.apache.org/licenses/LICENSE-2.0
|
|
13
13
|
*
|
|
14
14
|
* You should have received a copy of both of these licenses along with this
|
|
15
15
|
* software. If not, they may be obtained at the above URLs.
|
|
@@ -8,8 +8,8 @@
|
|
|
8
8
|
* License/Waiver or the Apache Public License 2.0, at your option. The terms of
|
|
9
9
|
* these licenses can be found at:
|
|
10
10
|
*
|
|
11
|
-
* - CC0 1.0 Universal :
|
|
12
|
-
* - Apache 2.0 :
|
|
11
|
+
* - CC0 1.0 Universal : https://creativecommons.org/publicdomain/zero/1.0
|
|
12
|
+
* - Apache 2.0 : https://www.apache.org/licenses/LICENSE-2.0
|
|
13
13
|
*
|
|
14
14
|
* You should have received a copy of both of these licenses along with this
|
|
15
15
|
* software. If not, they may be obtained at the above URLs.
|
|
@@ -20,6 +20,12 @@
|
|
|
20
20
|
#include <string.h>
|
|
21
21
|
#include "argon2.h"
|
|
22
22
|
#include "core.h"
|
|
23
|
+
#ifdef __MINGW32__
|
|
24
|
+
#include <inttypes.h>
|
|
25
|
+
#else
|
|
26
|
+
/* Don't use <inttypes.h> (it's not C89) */
|
|
27
|
+
#define PRIx64 "llx"
|
|
28
|
+
#endif
|
|
23
29
|
|
|
24
30
|
void initial_kat(const uint8_t *blockhash, const argon2_context *context,
|
|
25
31
|
argon2_type type) {
|
|
@@ -115,7 +121,7 @@ void internal_kat(const argon2_instance_t *instance, uint32_t pass) {
|
|
|
115
121
|
: ARGON2_QWORDS_IN_BLOCK;
|
|
116
122
|
|
|
117
123
|
for (j = 0; j < how_many_words; ++j)
|
|
118
|
-
printf("Block %.4u [%3u]: %
|
|
124
|
+
printf("Block %.4u [%3u]: %016" PRIx64 "\n", i, j,
|
|
119
125
|
(unsigned long long)instance->memory[i].v[j]);
|
|
120
126
|
}
|
|
121
127
|
}
|
|
@@ -8,8 +8,8 @@
|
|
|
8
8
|
* License/Waiver or the Apache Public License 2.0, at your option. The terms of
|
|
9
9
|
* these licenses can be found at:
|
|
10
10
|
*
|
|
11
|
-
* - CC0 1.0 Universal :
|
|
12
|
-
* - Apache 2.0 :
|
|
11
|
+
* - CC0 1.0 Universal : https://creativecommons.org/publicdomain/zero/1.0
|
|
12
|
+
* - Apache 2.0 : https://www.apache.org/licenses/LICENSE-2.0
|
|
13
13
|
*
|
|
14
14
|
* You should have received a copy of both of these licenses along with this
|
|
15
15
|
* software. If not, they may be obtained at the above URLs.
|
|
@@ -8,8 +8,8 @@
|
|
|
8
8
|
* License/Waiver or the Apache Public License 2.0, at your option. The terms of
|
|
9
9
|
* these licenses can be found at:
|
|
10
10
|
*
|
|
11
|
-
* - CC0 1.0 Universal :
|
|
12
|
-
* - Apache 2.0 :
|
|
11
|
+
* - CC0 1.0 Universal : https://creativecommons.org/publicdomain/zero/1.0
|
|
12
|
+
* - Apache 2.0 : https://www.apache.org/licenses/LICENSE-2.0
|
|
13
13
|
*
|
|
14
14
|
* You should have received a copy of both of these licenses along with this
|
|
15
15
|
* software. If not, they may be obtained at the above URLs.
|
|
@@ -8,8 +8,8 @@
|
|
|
8
8
|
* License/Waiver or the Apache Public License 2.0, at your option. The terms of
|
|
9
9
|
* these licenses can be found at:
|
|
10
10
|
*
|
|
11
|
-
* - CC0 1.0 Universal :
|
|
12
|
-
* - Apache 2.0 :
|
|
11
|
+
* - CC0 1.0 Universal : https://creativecommons.org/publicdomain/zero/1.0
|
|
12
|
+
* - Apache 2.0 : https://www.apache.org/licenses/LICENSE-2.0
|
|
13
13
|
*
|
|
14
14
|
* You should have received a copy of both of these licenses along with this
|
|
15
15
|
* software. If not, they may be obtained at the above URLs.
|
|
@@ -8,8 +8,8 @@
|
|
|
8
8
|
* License/Waiver or the Apache Public License 2.0, at your option. The terms of
|
|
9
9
|
* these licenses can be found at:
|
|
10
10
|
*
|
|
11
|
-
* - CC0 1.0 Universal :
|
|
12
|
-
* - Apache 2.0 :
|
|
11
|
+
* - CC0 1.0 Universal : https://creativecommons.org/publicdomain/zero/1.0
|
|
12
|
+
* - Apache 2.0 : https://www.apache.org/licenses/LICENSE-2.0
|
|
13
13
|
*
|
|
14
14
|
* You should have received a copy of both of these licenses along with this
|
|
15
15
|
* software. If not, they may be obtained at the above URLs.
|
|
@@ -8,8 +8,8 @@
|
|
|
8
8
|
* License/Waiver or the Apache Public License 2.0, at your option. The terms of
|
|
9
9
|
* these licenses can be found at:
|
|
10
10
|
*
|
|
11
|
-
* - CC0 1.0 Universal :
|
|
12
|
-
* - Apache 2.0 :
|
|
11
|
+
* - CC0 1.0 Universal : https://creativecommons.org/publicdomain/zero/1.0
|
|
12
|
+
* - Apache 2.0 : https://www.apache.org/licenses/LICENSE-2.0
|
|
13
13
|
*
|
|
14
14
|
* You should have received a copy of both of these licenses along with this
|
|
15
15
|
* software. If not, they may be obtained at the above URLs.
|
|
@@ -8,8 +8,8 @@
|
|
|
8
8
|
* License/Waiver or the Apache Public License 2.0, at your option. The terms of
|
|
9
9
|
* these licenses can be found at:
|
|
10
10
|
*
|
|
11
|
-
* - CC0 1.0 Universal :
|
|
12
|
-
* - Apache 2.0 :
|
|
11
|
+
* - CC0 1.0 Universal : https://creativecommons.org/publicdomain/zero/1.0
|
|
12
|
+
* - Apache 2.0 : https://www.apache.org/licenses/LICENSE-2.0
|
|
13
13
|
*
|
|
14
14
|
* You should have received a copy of both of these licenses along with this
|
|
15
15
|
* software. If not, they may be obtained at the above URLs.
|
|
@@ -8,8 +8,8 @@
|
|
|
8
8
|
* License/Waiver or the Apache Public License 2.0, at your option. The terms of
|
|
9
9
|
* these licenses can be found at:
|
|
10
10
|
*
|
|
11
|
-
* - CC0 1.0 Universal :
|
|
12
|
-
* - Apache 2.0 :
|
|
11
|
+
* - CC0 1.0 Universal : https://creativecommons.org/publicdomain/zero/1.0
|
|
12
|
+
* - Apache 2.0 : https://www.apache.org/licenses/LICENSE-2.0
|
|
13
13
|
*
|
|
14
14
|
* You should have received a copy of both of these licenses along with this
|
|
15
15
|
* software. If not, they may be obtained at the above URLs.
|
|
@@ -32,43 +32,44 @@
|
|
|
32
32
|
<WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
|
|
33
33
|
</PropertyGroup>
|
|
34
34
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
|
35
|
+
<!-- Set DefaultPlatformToolset to v100 (VS2010) if not defined -->
|
|
36
|
+
<PropertyGroup Label="EmptyDefaultPlatformToolset">
|
|
37
|
+
<DefaultPlatformToolset Condition=" '$(DefaultPlatformToolset)' == '' ">v100</DefaultPlatformToolset>
|
|
38
|
+
</PropertyGroup>
|
|
39
|
+
<PropertyGroup Label="PlatformToolset">
|
|
40
|
+
<PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset>
|
|
41
|
+
</PropertyGroup>
|
|
35
42
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
|
36
43
|
<ConfigurationType>Application</ConfigurationType>
|
|
37
44
|
<UseDebugLibraries>true</UseDebugLibraries>
|
|
38
|
-
<PlatformToolset>v140</PlatformToolset>
|
|
39
45
|
<CharacterSet>MultiByte</CharacterSet>
|
|
40
46
|
</PropertyGroup>
|
|
41
47
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
|
42
48
|
<ConfigurationType>Application</ConfigurationType>
|
|
43
49
|
<UseDebugLibraries>false</UseDebugLibraries>
|
|
44
|
-
<PlatformToolset>v140</PlatformToolset>
|
|
45
50
|
<WholeProgramOptimization>true</WholeProgramOptimization>
|
|
46
51
|
<CharacterSet>MultiByte</CharacterSet>
|
|
47
52
|
</PropertyGroup>
|
|
48
53
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseStatic|Win32'" Label="Configuration">
|
|
49
54
|
<ConfigurationType>Application</ConfigurationType>
|
|
50
55
|
<UseDebugLibraries>false</UseDebugLibraries>
|
|
51
|
-
<PlatformToolset>v140</PlatformToolset>
|
|
52
56
|
<WholeProgramOptimization>true</WholeProgramOptimization>
|
|
53
57
|
<CharacterSet>MultiByte</CharacterSet>
|
|
54
58
|
</PropertyGroup>
|
|
55
59
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
|
56
60
|
<ConfigurationType>Application</ConfigurationType>
|
|
57
61
|
<UseDebugLibraries>true</UseDebugLibraries>
|
|
58
|
-
<PlatformToolset>v140</PlatformToolset>
|
|
59
62
|
<CharacterSet>MultiByte</CharacterSet>
|
|
60
63
|
</PropertyGroup>
|
|
61
64
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
|
62
65
|
<ConfigurationType>Application</ConfigurationType>
|
|
63
66
|
<UseDebugLibraries>false</UseDebugLibraries>
|
|
64
|
-
<PlatformToolset>v140</PlatformToolset>
|
|
65
67
|
<WholeProgramOptimization>true</WholeProgramOptimization>
|
|
66
68
|
<CharacterSet>MultiByte</CharacterSet>
|
|
67
69
|
</PropertyGroup>
|
|
68
70
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseStatic|x64'" Label="Configuration">
|
|
69
71
|
<ConfigurationType>Application</ConfigurationType>
|
|
70
72
|
<UseDebugLibraries>false</UseDebugLibraries>
|
|
71
|
-
<PlatformToolset>v140</PlatformToolset>
|
|
72
73
|
<WholeProgramOptimization>true</WholeProgramOptimization>
|
|
73
74
|
<CharacterSet>MultiByte</CharacterSet>
|
|
74
75
|
</PropertyGroup>
|
|
@@ -154,6 +155,7 @@
|
|
|
154
155
|
<Link>
|
|
155
156
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
|
156
157
|
<OptimizeReferences>true</OptimizeReferences>
|
|
158
|
+
<GenerateDebugInformation>true</GenerateDebugInformation>
|
|
157
159
|
</Link>
|
|
158
160
|
</ItemDefinitionGroup>
|
|
159
161
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseStatic|Win32'">
|
|
@@ -169,6 +171,7 @@
|
|
|
169
171
|
<Link>
|
|
170
172
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
|
171
173
|
<OptimizeReferences>true</OptimizeReferences>
|
|
174
|
+
<GenerateDebugInformation>true</GenerateDebugInformation>
|
|
172
175
|
</Link>
|
|
173
176
|
</ItemDefinitionGroup>
|
|
174
177
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
|
@@ -183,6 +186,7 @@
|
|
|
183
186
|
<Link>
|
|
184
187
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
|
185
188
|
<OptimizeReferences>true</OptimizeReferences>
|
|
189
|
+
<GenerateDebugInformation>true</GenerateDebugInformation>
|
|
186
190
|
</Link>
|
|
187
191
|
</ItemDefinitionGroup>
|
|
188
192
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseStatic|x64'">
|
|
@@ -198,6 +202,7 @@
|
|
|
198
202
|
<Link>
|
|
199
203
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
|
200
204
|
<OptimizeReferences>true</OptimizeReferences>
|
|
205
|
+
<GenerateDebugInformation>true</GenerateDebugInformation>
|
|
201
206
|
</Link>
|
|
202
207
|
</ItemDefinitionGroup>
|
|
203
208
|
<ItemGroup>
|