Skip to content

Commit

Permalink
Add information on static linking and risk with dynamic runtime linking
Browse files Browse the repository at this point in the history
  • Loading branch information
noloader committed Sep 18, 2016
1 parent 002509a commit 73bc1a0
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 1 deletion.
3 changes: 3 additions & 0 deletions Install.txt
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,8 @@ The makefile orders object files to help remediate problems associated with C++

If your linker supports initialization attributes, like init_priority, then you can define CRYPTOPP_INIT_PRIORITY to control object initialization order. Set it to a value like 250. User programs can use CRYPTOPP_USER_PRIORITY to avoid conflicts with library values. Initialization attributes are more reliable than object file ordering, but its not ubiquitously supported by linkers.

The makefile links to the static version of the Crypto++ library to avoid binary planting and other LD_PRELOAD tricks. You should use the static version of the library in your programs to help avoid unwanted redirections.

INSTALLING THE LIBRARY
----------------------

Expand Down Expand Up @@ -174,6 +176,7 @@ Fifth, the test harness provides a "test vector" option which uses many known te

The library also offers its test script for those who want to use it. The test script is names cryptest.sh, and it repeatedly builds the library and exectues the tests under various configurations. It takes 2 to 4 hours to run on a semi-modern desktop or server; and days to run on an IoT gadget. Also see http://github.com/weidai11/cryptopp/blob/master/cryptest.sh and http://cryptopp.com/wiki/Cryptest.sh.


REPORTING PROBLEMS
------------------

Expand Down
6 changes: 5 additions & 1 deletion Readme.txt
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,7 @@ all three forms, and sample applications using each of the three forms
are also included.

To compile Crypto++ with MSVC, open "cryptest.sln" (for MSVC 2005 - 2015)
or "cryptest.dsw" (for MSVC 6 and MSVC .NET 2003) workspace file and build
or "cryptest.dsw" (for MSVC 6 - MSVC .NET 2003) workspace file and build
one or more of the following projects:

cryptdll - This builds the DLL. Please note that if you wish to use Crypto++
Expand Down Expand Up @@ -193,6 +193,10 @@ value like 250. User programs can use CRYPTOPP_USER_PRIORITY to avoid conflicts
library values. Initialization attributes are more reliable than object file ordering,
but its not ubiquitously supported by linkers.

The makefile links to the static version of the Crypto++ library to avoid binary
planting and other LD_PRELOAD tricks. You should use the static version of the
library in your programs to help avoid unwanted redirections.

*** Documentation and Support ***

Crypto++ is documented through inline comments in header files, which are
Expand Down

0 comments on commit 73bc1a0

Please sign in to comment.