Commit Graph

219 Commits

Author SHA1 Message Date
James E. King, III
0277157023
Merge pull request #55 from danieljames/feature/fix-links
Fix relative links in documentation
2018-01-11 16:50:58 -05:00
Daniel James
69432bbc64 Fix relative links in documentation 2018-01-11 17:27:33 +00:00
James E. King III
52ee2828e9 fix warnings identified in new random provider code through the test matrix, on Windows 64-bit targets 2017-12-20 14:50:26 -05:00
James E. King III
a8a1ec3d82 Changed the default random_generator implementation to use
operating-system provided entropy as it is more secure and
faster for the typical use case of generating one uuid at
a time.

This is a breaking change for anyone passing a mt19937
into one of the explicit constructors of random_generator,
which would be quite rare.

Changed the default random provider on Windows to use BCrypt
where available, falling back to Wincrypt when necessary or
when explicitly requested through a macro.

Provide a new random_generator_mt19937 type definition for
use cases where a large number of uuids need to be created
with high performance.  This is equivalent to the previous
definition of random_generator.

Provide a random generation benchmark test showing the
cutoff where the mt19937-based generator will outperform the
standard generator based on wall time.

Removed template specialization for boost::random::random_device
so that any UniformRandomNumberGenerator can be used properly
with random_generator.

Replaced the seed_rng detail implementation (which had a number
of flaws) with a replacement header-only random_provider
implementation.

Note: entropy generation errors will cause an entropy_error
to be thrown from random_generator.  The previous implementation
ignored errors and silently failed.

Added internal support for entropy generation on cloudabi
platform leveraging the new random_provider implementation.

Added internal support for Universal Windows Platform (UWP)
development leveraging the new random_provider implementation.

Added internal support for getentropy() on Linux and OpenBSD
if certain requirements are met.

This fixes #24
This closes #53
2017-12-18 09:56:02 -05:00
James E. King, III
1df4b88c65
Merge pull request #54 from jeking3/11482-2
revert change to string_generator so it continues to throw std::runtime_error
2017-11-11 14:15:36 -05:00
James E. King, III
8a81273ebf revert change to string_generator so it continues to
throw std::runtime_error like it always had before
therefore removing a breaking change before release

remove one unnecessary code branch in string_generator
2017-11-10 20:04:37 -05:00
James E. King, III
5a48cab9af provide a name_generator_latest that always uses the latest hashing
algorithm for applications that do not need stable hashing over time

This fixes #50
2017-11-04 19:50:09 -04:00
James E. King, III
288fd3ef13 remove non-standards compliant code which is inconsequential in seed_rng 2017-11-03 07:55:54 -07:00
James E. King, III
887111fe66 fix master coverity build job 2017-11-03 05:35:28 -07:00
James E. King, III
46234e79bc fix warning on older msvc in md5 code 2017-11-01 19:39:51 -04:00
James E. King, III
b5adde4409 fix warnings identified by regression matrix 2017-11-01 08:59:25 -04:00
James E. King, III
a489a2838c fix appveyor status shield URL for master branch in top level readme 2017-10-31 21:24:15 -07:00
James E. King, III
7810839cd9 fix build error on cygwin 2017-10-31 21:08:54 -07:00
James E. King, III
797d47df61 improve coverage (except for hashing headers) to 100% 2017-10-31 17:27:11 -07:00
James E. King, III
45b8446255 improve string generator coverage to 100% and resolve build warning 2017-10-31 16:15:38 -07:00
James E. King, III
4481ee0cb7 remove incorrect comment in codecov script 2017-10-31 14:44:17 -07:00
James E. King, III
71abd3cbf4 fix codecov pathing (finally) and improve string generator coverage 2017-10-31 14:18:39 -07:00
James E. King, III
b27a658204 codecov yaml fixes to pathing 2017-10-30 13:05:14 -04:00
James E. King, III
1cbee0e632 enable branch coverage information 2017-10-28 00:46:46 -04:00
James E. King, III
49acd0c629 update build status in readme 2017-10-27 23:47:59 -04:00
James E. King, III
e6af7b44fa get the .codecov.yml file to line up results with git repo 2017-10-27 20:40:52 -04:00
James E. King, III
aa5927510b make codecov.io actually work 2017-10-27 20:26:44 -04:00
James E. King, III
778d39f853 add codecov.io support 2017-10-27 13:39:36 -04:00
James E. King, III
5935ff5d55 travis build job changes 2017-10-26 19:06:09 -04:00
James E. King, III
19ddf9242e add valgrind to a build job 2017-10-25 19:25:55 -04:00
James E. King, III
59cebbf099 Merge pull request #46 from Lastique/update_winapi
Update Boost.WinAPI usage to the new location and namespace
2017-10-24 23:43:03 -04:00
Andrey Semashev
438bbd0bdf Updated Boost.WinAPI usage to the new location and namespace. 2017-10-25 01:16:03 +03:00
James E. King, III
40c3f1a435 resolve some build warnings identified in the test matrix 2017-10-14 22:06:05 -04:00
James E. King, III
a7962053b8 9343: fix incorrect uuid format in string generator comment 2017-10-14 07:55:40 -04:00
James E. King, III
300f0984aa enable coverity scan builds on master pull requests 2017-10-12 05:27:42 -07:00
James E. King, III
966c5dd2d3 re-enable serialization test 2017-10-12 05:26:44 -07:00
James E. King, III
3d2f7758e9 refactor name_generator to have a configurable hash algorithm
and provide backwards compatibility for sha1, and also added
md5 to complete the RFC 4122 spec implementation

as such, boost::uuids::name_generator is deprecated, however
still defined to use the same implementation in previous boost
releases, and name_generator_sha1 as well as name_generator_md5
now exist, in preparation for whatever will replace sha1.

to properly test the new header structure, I took the bjam
rule from winapi to isolate each header as an include and make sure
it has no dependencies on other headers to be included first,
and was able to remove a few test files that became unnecessary.

This fixes #26
2017-10-10 09:01:43 -04:00
James E. King, III
43588c449f Update README.md with build status from official builds 2017-10-08 21:51:39 -04:00
James E. King, III
987b87f41e Merge pull request #35 from jeking3/issue-34-name-constants
Add RFC-4122 namespaces from appendix C to name generator
2017-09-25 19:06:44 -04:00
James E. King, III
31f74b28f3 add RFC-4122 namespaces from appendix C to name generator 2017-09-22 21:03:10 -07:00
James E. King, III
3156f52d2e Merge pull request #30 from jeking3/issue-27
Add appveyor and travis pull request integration
See https://github.com/jeking3/uuid/pull/1 for successful CI runs.
2017-09-10 16:22:14 -04:00
James E. King, III
d69a529573 Add appveyor and travis pull request integration.
Made appveyor.yml and .travis.yml generic so they can be used elsewhere.
Disabled the serialization test for now, until serialization's develop
branch builds successfully on all the CI platforms again.
2017-09-10 10:20:42 -07:00
Edward Diener
c53eb5a92d Merge pull request #23 from jeking3/trac-10665
trac-10665: fix name_generator implementation const correctness, now matches documentation
2017-08-14 10:34:28 -04:00
James E. King, III
5369a9af95 trac-10665: fix name_generator implementation const correctness, now matches documentation 2017-08-12 17:43:46 -07:00
James E. King, III
0fce535ec8 Fix incorrect documentation link in new readme 2017-08-12 07:38:33 -04:00
Marshall Clow
da0f4dae75 Merge pull request #22 from jeking3/readme
added a top level README.md file to appease github
2017-08-11 11:54:31 -07:00
James E. King, III
9b8522433a added a top level README.md file to appease github, modeled after the one in Boost.Log 2017-08-11 14:18:58 -04:00
Edward Diener
4e567094b3 Merge pull request #21 from jeking3/trac-12258
12258: re-enable unit test for random_device generator
2017-08-10 12:50:06 -04:00
James E. King, III
7ba5d2b46a 12258: re-enable unit test for random_device generator 2017-08-10 12:07:03 -04:00
James E. King, III
d5c0706ce5 Merge pull request #20 from jeking3/trac-12280
12280: fix documentation file locations to conform with boost library requirements
2017-08-10 11:45:12 -04:00
James E. King, III
acc282b318 12280: fix documentation file locations to conform with boost library requirements 2017-08-10 11:05:25 -04:00
Michael Caisse
392229005f Add Jim to the maintainers 2017-08-10 07:58:29 -07:00
Edward Diener
1061e09eb8 Merge pull request #17 from jeking3/trac-11482
Fix boost trac 8630, 9343, 11482, 11483, 12253 improving invalid string generator handling in uuid
2017-08-09 18:35:45 -04:00
James E. King, III
07f68d3b9c 11482: uuid string generator now throws if there is any unexpected input following successful conversion of a uuid in the input string
11483: uuid string generator now throws std::invalid_argument instead of std::runtime_error on an invalid uuid string
12253: make the uuid parser reject invalid data and added negative test cases to prove it
2017-08-09 15:38:37 -04:00
Edward Diener
356fcd1dff Merge pull request #18 from jeking3/trac-12971
12971: fix compiler warning converting from NULL on Windows
2017-08-03 22:49:31 -04:00