neobytes/src
Alexander Block d1debfc267
Implement mt_pooled_secure_allocator and use it for BLS secure allocation (#2375)
* Add pooled_secure_allocator and mt_pooled_secure_allocator

* Use mt_pooled_secure_allocator for BLS secure allocation

The old solution relied on thread-local-storage and was thus not compatible
to libc6 2.11 (which is the minimum supported version we use).

Also, the old solution turned out to be erroneous. It would have crashed
or memory leaked when ownership of CBLSPrivateKey would be handled over
to another thread.

* Add new header files to Makefile.am

* Fix copyright headers of new files

* Bail out early from secure deallocation

* Clean up global BLS keys when shutting down
2018-10-26 07:04:22 +02:00
..
bench Review fixes 2018-10-12 20:53:57 +02:00
bls Implement mt_pooled_secure_allocator and use it for BLS secure allocation (#2375) 2018-10-26 07:04:22 +02:00
compat Move to in-docker CI builds and add Jenkins support (#2178) 2018-07-12 16:28:59 +03:00
config
consensus Allow to use low difficulty and higher block rewards for devnet (#2369) 2018-10-25 09:16:38 +02:00
crypto Move bls stuff from crypto/ to bls/ 2018-10-12 19:39:26 +02:00
evo Code style and RPC help string cleanups for DIP2/DIP3 (#2379) 2018-10-26 07:03:14 +02:00
immer Add "immer" functional/immutable containers library (#2244) 2018-08-29 16:31:21 +03:00
leveldb Merge #8613: LevelDB 1.19 2018-01-17 17:31:11 +01:00
obj
obj-test
policy Remove leftover RBF code from BTC (#2297) 2018-09-20 15:39:34 +03:00
primitives Fix some warnings and do a couple of other trivial cleanups (#2315) 2018-09-28 10:55:11 +03:00
qt Change internal references of Darksend to PrivateSend (#2372) 2018-10-25 17:31:32 +03:00
rpc Code style and RPC help string cleanups for DIP2/DIP3 (#2379) 2018-10-26 07:03:14 +02:00
script DIP2 changes to CTransaction and CMutableTransaction 2018-08-29 11:36:14 +02:00
secp256k1 Merge #9334: Update to latest libsecp256k1 2018-01-17 17:31:12 +01:00
support Implement mt_pooled_secure_allocator and use it for BLS secure allocation (#2375) 2018-10-26 07:04:22 +02:00
test Allow referencing other TX outputs for ProRegTx collateral (#2366) 2018-10-25 17:29:50 +03:00
univalue Merge #8863: univalue: Pull subtree 2018-01-12 09:57:56 +01:00
wallet [Trivial] typo Groupped -> Grouped (#2374) 2018-10-25 17:32:08 +03:00
zmq [ZMQ] Notify when an IS double spend is attempted (#2262) 2018-09-12 14:12:44 +03:00
.clang-format Update .clang-format to more accurately show the actual style (#2299) 2018-09-20 15:40:00 +03:00
activemasternode.cpp Allow referencing other TX outputs for ProRegTx collateral (#2366) 2018-10-25 17:29:50 +03:00
activemasternode.h Use BLS keys for the DIP3 operator key (#2352) 2018-10-21 22:45:16 +03:00
addrdb.cpp Merge #9216: Doc: Fix copypasted comment 2018-01-17 17:25:36 +01:00
addrdb.h Merge #9039: Various serialization simplifcations and optimizations 2018-01-15 06:14:15 +01:00
addressindex.h
addrman.cpp A few devnet related fixes (#2168) 2018-07-08 00:19:33 +03:00
addrman.h A few devnet related fixes (#2168) 2018-07-08 00:19:33 +03:00
alert.cpp Remove remaining using namespace std 2018-02-21 22:32:13 +03:00
alert.h Drop BOOST_FOREACH and use references in loops (const ref where applicable, Dash code only) (#1899) 2018-02-06 14:09:33 +03:00
amount.cpp
amount.h Merge #9039: Various serialization simplifcations and optimizations 2018-01-15 06:14:15 +01:00
arith_uint256.cpp Merge #8675: Make copyright header lines uniform 2018-01-13 13:44:39 +01:00
arith_uint256.h Merge #8675: Make copyright header lines uniform 2018-01-13 13:44:39 +01:00
base58.cpp
base58.h Merge #9510: [trivial] Fix typos in comments 2018-01-21 12:48:34 +01:00
bip39_english.h
bip39.cpp Use GetStrongRandBytes in CMnemonic::Generate 2017-12-22 06:00:51 +01:00
bip39.h
blockencodings.cpp Backport compact blocks functionality from bitcoin (#1966) 2018-04-11 14:06:01 +03:00
blockencodings.h Backport compact blocks functionality from bitcoin (#1966) 2018-04-11 14:06:01 +03:00
bloom.cpp Merge #9644: [refactor] Remove using namespace <xxx> from src/ 2018-01-23 09:24:03 +01:00
bloom.h Merge #9039: Various serialization simplifcations and optimizations 2018-01-15 06:14:15 +01:00
cachemap.h Various fixes and refactoring for Cache*Map classes (#1896) 2018-02-06 14:08:43 +03:00
cachemultimap.h Various fixes and refactoring for Cache*Map classes (#1896) 2018-02-06 14:08:43 +03:00
chain.cpp Merge #9644: [refactor] Remove using namespace <xxx> from src/ 2018-01-23 09:24:03 +01:00
chain.h Merge #9490: Replace FindLatestBefore used by importmuti with FindEarliestAtLeast. 2018-01-21 12:48:32 +01:00
chainparams.cpp Clear devNetParams and mimic behavior of other param types (#2367) 2018-10-25 09:17:37 +02:00
chainparams.h Allow to use low difficulty and higher block rewards for devnet (#2369) 2018-10-25 09:16:38 +02:00
chainparamsbase.cpp Clear devNetParams and mimic behavior of other param types (#2367) 2018-10-25 09:17:37 +02:00
chainparamsbase.h
chainparamsseeds.h Use masternode list to generate hardcoded seeds (#1892) 2018-02-05 18:39:26 +03:00
checkpoints.cpp Merge #9472: Disentangle progress estimation from checkpoints and update it 2018-01-21 12:48:32 +01:00
checkpoints.h Merge #9472: Disentangle progress estimation from checkpoints and update it 2018-01-21 12:48:32 +01:00
checkqueue.h Merge #9497: CCheckQueue Unit Tests 2018-01-26 12:59:29 +01:00
clientversion.cpp [GUI] Create QR-code for Masternode private key (#1970) 2018-03-08 15:17:34 +03:00
clientversion.h Bump to 0.12.4.0 pre-release (#2167) 2018-07-12 12:01:10 +03:00
coins.cpp Few (mostly trivial) cleanups and fixes (#1940) 2018-02-21 19:32:08 +03:00
coins.h Few (mostly trivial) cleanups and fixes (#1940) 2018-02-21 19:32:08 +03:00
compat.h Merge #9224: Prevent FD_SETSIZE error building on OpenBSD 2018-01-17 17:27:24 +01:00
compressor.cpp
compressor.h Merge #9039: Various serialization simplifcations and optimizations 2018-01-15 06:14:15 +01:00
core_io.h Merge #9282: CMutableTransaction is defined as struct 2018-01-17 17:31:12 +01:00
core_memusage.h Merge #9125: Make CBlock a vector of shared_ptr of CTransactions 2018-01-15 06:14:16 +01:00
core_read.cpp Merge #9650: Better handle invalid parameters to signrawtransaction 2018-02-07 13:11:08 +01:00
core_write.cpp Merge #9644: [refactor] Remove using namespace <xxx> from src/ 2018-01-23 09:24:03 +01:00
ctpl.h Add ctpl header only library 2018-10-04 16:46:48 +02:00
cuckoocache.h Merge #9510: [trivial] Fix typos in comments 2018-01-21 12:48:34 +01:00
dash-cli-res.rc
dash-cli.cpp Merge #8811: rpc: Add support for JSON-RPC named arguments 2018-01-18 07:38:57 +01:00
dash-tx-res.rc
dash-tx.cpp Merge #10130: bitcoin-tx input verification (awemany, jnewbery) 2018-01-26 12:59:29 +01:00
dashd-res.rc
dashd.cpp Merge #9243: Clean up mapArgs and mapMultiArgs Usage 2018-01-18 07:31:23 +01:00
dbwrapper.cpp Merge #8629: C++11: s/boost::scoped_ptr/std::unique_ptr/ 2018-01-09 14:16:38 +01:00
dbwrapper.h Fix some warnings and do a couple of other trivial cleanups (#2315) 2018-09-28 10:55:11 +03:00
dsnotificationinterface.cpp Remove global fDIP0003ActiveAtTip and fix wrong use of VersionBitsState in auto IX (#2380) 2018-10-26 07:03:33 +02:00
dsnotificationinterface.h Use override keyword for overriden class member functions (#1644) 2018-02-15 10:29:15 +03:00
flat-database.h
governance-classes.cpp Gov cleanup + copyright bump (#2324) 2018-09-28 10:56:17 +03:00
governance-classes.h Gov cleanup + copyright bump (#2324) 2018-09-28 10:56:17 +03:00
governance-exceptions.h Gov cleanup + copyright bump (#2324) 2018-09-28 10:56:17 +03:00
governance-object.cpp Use BLS keys for the DIP3 operator key (#2352) 2018-10-21 22:45:16 +03:00
governance-object.h Use BLS keys for the DIP3 operator key (#2352) 2018-10-21 22:45:16 +03:00
governance-validators.cpp Gov cleanup + copyright bump (#2324) 2018-09-28 10:56:17 +03:00
governance-validators.h Gov cleanup + copyright bump (#2324) 2018-09-28 10:56:17 +03:00
governance-vote.cpp Use BLS keys for the DIP3 operator key (#2352) 2018-10-21 22:45:16 +03:00
governance-vote.h Use BLS keys for the DIP3 operator key (#2352) 2018-10-21 22:45:16 +03:00
governance-votedb.cpp Gov cleanup + copyright bump (#2324) 2018-09-28 10:56:17 +03:00
governance-votedb.h Gov cleanup + copyright bump (#2324) 2018-09-28 10:56:17 +03:00
governance.cpp pack of small cleanup fixes / optimizations (#2334) 2018-10-11 17:33:48 +03:00
governance.h Gov cleanup + copyright bump (#2324) 2018-09-28 10:56:17 +03:00
hash.cpp Merge #9556: Remove redundant semicolons 2018-01-23 09:24:27 +01:00
hash.h Few (mostly trivial) cleanups and fixes (#1940) 2018-02-21 19:32:08 +03:00
hdchain.cpp Fix some warnings and do a couple of other trivial cleanups (#2315) 2018-09-28 10:55:11 +03:00
hdchain.h Some cleanup (mostly trivial) (#2038) 2018-04-20 13:53:23 +03:00
httprpc.cpp Use override keyword for overriden class member functions (#1644) 2018-02-15 10:29:15 +03:00
httprpc.h
httpserver.cpp Use override keyword for overriden class member functions (#1644) 2018-02-15 10:29:15 +03:00
httpserver.h Merge #8513: Fix a type error that would not compile on OSX. 2018-01-08 18:04:55 +01:00
indirectmap.h Merge #8414: prepend license statement to indirectmap.h 2018-01-08 18:04:55 +01:00
init.cpp Implement mt_pooled_secure_allocator and use it for BLS secure allocation (#2375) 2018-10-26 07:04:22 +02:00
init.h Refactor and fix restart (#1999) 2018-03-19 16:09:47 +03:00
instantx.cpp Use BLS keys for the DIP3 operator key (#2352) 2018-10-21 22:45:16 +03:00
instantx.h Fix auto-IS and tests (#2331) 2018-10-15 14:59:57 +03:00
keepass.cpp Refactor: use constant refs and Ret suffix (#1928) 2018-02-12 15:49:00 +03:00
keepass.h Refactor: use constant refs and Ret suffix (#1928) 2018-02-12 15:49:00 +03:00
key.cpp Merge #8753: Locked memory manager 2018-01-13 13:44:39 +01:00
key.h Merge #9039: Various serialization simplifcations and optimizations 2018-01-15 06:14:15 +01:00
keystore.cpp
keystore.h Use override keyword for overriden class member functions (#1644) 2018-02-15 10:29:15 +03:00
limitedmap.h Merge #8353: Trivial: tiny c++11 refactors 2018-01-08 18:04:55 +01:00
Makefile.am Implement mt_pooled_secure_allocator and use it for BLS secure allocation (#2375) 2018-10-26 07:04:22 +02:00
Makefile.bench.include Add ECDSA benchmarks 2018-10-10 08:49:10 +02:00
Makefile.leveldb.include Merge #8826: Do not include env_win.cc on non-Windows systems 2018-01-12 09:56:53 +01:00
Makefile.qt.include Implement wrappers around Chia BLS lib 2018-10-10 08:49:09 +02:00
Makefile.qttest.include Implement wrappers around Chia BLS lib 2018-10-10 08:49:09 +02:00
Makefile.test.include Implement wrappers around Chia BLS lib 2018-10-10 08:49:09 +02:00
masternode-payments.cpp Allow referencing other TX outputs for ProRegTx collateral (#2366) 2018-10-25 17:29:50 +03:00
masternode-payments.h cleanup: remove unused vars, includes, functions (#2306) 2018-09-20 15:41:16 +03:00
masternode-sync.cpp rename vars in mnsync to make more sense (#2308) 2018-09-30 14:02:52 +03:00
masternode-sync.h rename vars in mnsync to make more sense (#2308) 2018-09-30 14:02:52 +03:00
masternode.cpp Allow referencing other TX outputs for ProRegTx collateral (#2366) 2018-10-25 17:29:50 +03:00
masternode.h Use BLS keys for the DIP3 operator key (#2352) 2018-10-21 22:45:16 +03:00
masternodeconfig.cpp use nullptr in Dash-specific code (#2166) 2018-07-12 12:08:43 +03:00
masternodeconfig.h cleanup: remove unused vars, includes, functions (#2306) 2018-09-20 15:41:16 +03:00
masternodeman.cpp Allow referencing other TX outputs for ProRegTx collateral (#2366) 2018-10-25 17:29:50 +03:00
masternodeman.h Change internal references of Darksend to PrivateSend (#2372) 2018-10-25 17:31:32 +03:00
memusage.h Merge #8675: Make copyright header lines uniform 2018-01-13 13:44:39 +01:00
merkleblock.cpp Merge #10309: Trivial: remove extra character from comment 2018-01-26 12:59:29 +01:00
merkleblock.h Merge #10258: Fixed typo in documentation for merkleblock.h 2018-01-26 12:59:29 +01:00
messagesigner.cpp Use spork addresses instead of raw keys and allow changing them on startup (#1969) 2018-03-02 16:15:04 +03:00
messagesigner.h Use spork addresses instead of raw keys and allow changing them on startup (#1969) 2018-03-02 16:15:04 +03:00
miner.cpp Calculate and enforce DIP4 masternodes merkle root in CbTx 2018-09-03 10:46:51 +02:00
miner.h Prepare for DIP3 operator reward payments and switch to array in getblocktemplate (#2216) 2018-08-14 12:58:38 +03:00
net_processing.cpp Change internal references of Darksend to PrivateSend (#2372) 2018-10-25 17:31:32 +03:00
net_processing.h Backport compact blocks functionality from bitcoin (#1966) 2018-04-11 14:06:01 +03:00
net.cpp Fix some warnings and do a couple of other trivial cleanups (#2315) 2018-09-28 10:55:11 +03:00
net.h Honor filterInventoryKnown for non-tx/non-block items (#2292) 2018-09-14 18:53:26 +03:00
netaddress.cpp Merge #8466: [Trivial] Do not shadow variables in networking code 2018-01-09 14:16:38 +01:00
netaddress.h Merge #9510: [trivial] Fix typos in comments 2018-01-21 12:48:34 +01:00
netbase.cpp Merge #9305: Refactor: Removed begin/end_ptr functions. 2018-01-17 17:31:12 +01:00
netbase.h Merge #8466: [Trivial] Do not shadow variables in networking code 2018-01-09 14:16:38 +01:00
netfulfilledman.cpp Switch CNetFulfilledRequestManager and CMasternodeMan maps/funcs to CService (#1967) 2018-03-08 15:16:52 +03:00
netfulfilledman.h Replace Dash-specific threads with Dash-specific scheduled tasks (#2043) 2018-07-16 15:47:37 +03:00
netmessagemaker.h Merge #9659: Net: Turn some methods and params/variables const 2018-01-23 09:24:27 +01:00
noui.cpp
noui.h
pow.cpp Allow to use low difficulty and higher block rewards for devnet (#2369) 2018-10-25 09:16:38 +02:00
pow.h
prevector.h Merge #9856: Terminate immediately when allocation fails 2018-01-26 12:59:29 +01:00
privatesend-client.cpp [Trivial] typo Groupped -> Grouped (#2374) 2018-10-25 17:32:08 +03:00
privatesend-client.h Change internal references of Darksend to PrivateSend (#2372) 2018-10-25 17:31:32 +03:00
privatesend-server.cpp Change internal references of Darksend to PrivateSend (#2372) 2018-10-25 17:31:32 +03:00
privatesend-server.h Change internal references of Darksend to PrivateSend (#2372) 2018-10-25 17:31:32 +03:00
privatesend-util.cpp Don't hold cs_storage in CKeyHolderStorage while calling functions which might lock cs_wallet (#2000) 2018-03-20 14:06:07 +03:00
privatesend-util.h Avoid reference leakage in CKeyHolderStorage::AddKey (#1840) 2018-01-09 14:11:43 +03:00
privatesend.cpp Change internal references of Darksend to PrivateSend (#2372) 2018-10-25 17:31:32 +03:00
privatesend.h Change internal references of Darksend to PrivateSend (#2372) 2018-10-25 17:31:32 +03:00
protocol.cpp Implement GETMNLISTDIFF and MNLISTDIFF P2P messages 2018-09-03 10:46:52 +02:00
protocol.h Implement GETMNLISTDIFF and MNLISTDIFF P2P messages 2018-09-03 10:46:52 +02:00
pubkey.cpp Merge #8655: Do not shadow variables (trivials) 2018-01-11 13:22:22 +01:00
pubkey.h Merge #9039: Various serialization simplifcations and optimizations 2018-01-15 06:14:15 +01:00
random.cpp Merge #9305: Refactor: Removed begin/end_ptr functions. 2018-01-17 17:31:12 +01:00
random.h Get rid of InsecureRand and use equivalent FastRandomContext 2018-01-12 16:37:39 +01:00
rest.cpp Merge #9644: [refactor] Remove using namespace <xxx> from src/ 2018-01-23 09:24:03 +01:00
reverselock.h Merge #8655: Do not shadow variables (trivials) 2018-01-11 13:22:22 +01:00
scheduler.cpp Merge #9186: test: Fix use-after-free in scheduler tests 2018-01-15 06:14:16 +01:00
scheduler.h
sendalert.cpp Merge #9243: Clean up mapArgs and mapMultiArgs Usage 2018-01-18 07:31:23 +01:00
serialize.h Add support for serialization of bitsets and tuples (#2293) 2018-09-14 18:53:49 +03:00
spentindex.h Remove nType and nVersion from Dash related serialization code 2018-01-15 06:14:15 +01:00
spork.cpp Amend SERIALIZATION_VERSION_STRING string for spork cache (#2339) 2018-10-11 17:34:52 +03:00
spork.h document spork system with doxygen comments (#2301) 2018-10-02 12:02:27 +03:00
streams.h Add size() method to CVectorWriter 2018-01-17 17:27:24 +01:00
sync.cpp Remove onlyMaybeDeadlock condition around printing of deadlock info 2018-01-23 12:27:28 +01:00
sync.h Merge #9319: Break addnode out from the outbound connection limits. 2018-01-18 07:38:22 +01:00
threadinterrupt.cpp
threadinterrupt.h
threadsafety.h
timedata.cpp Merge #9644: [refactor] Remove using namespace <xxx> from src/ 2018-01-23 09:24:03 +01:00
timedata.h
tinyformat.h Don't use short version of 'tinyformat/fmt' namespace in util.h (#1975) 2018-03-08 15:18:51 +03:00
torcontrol.cpp Merge #9510: [trivial] Fix typos in comments 2018-01-21 12:48:34 +01:00
torcontrol.h
txdb.cpp Merge #9644: [refactor] Remove using namespace <xxx> from src/ 2018-01-23 09:24:03 +01:00
txdb.h Use override keyword for overriden class member functions (#1644) 2018-02-15 10:29:15 +03:00
txmempool.cpp Allow referencing other TX outputs for ProRegTx collateral (#2366) 2018-10-25 17:29:50 +03:00
txmempool.h Allow referencing other TX outputs for ProRegTx collateral (#2366) 2018-10-25 17:29:50 +03:00
ui_interface.cpp Merge #8486: [wallet] Add high transaction fee warnings 2018-01-11 13:22:22 +01:00
ui_interface.h Merge #8486: [wallet] Add high transaction fee warnings 2018-01-11 13:22:22 +01:00
uint256.cpp
uint256.h Add "immer" functional/immutable containers library (#2244) 2018-08-29 16:31:21 +03:00
undo.h Merge #9039: Various serialization simplifcations and optimizations 2018-01-15 06:14:15 +01:00
util.cpp Add helper to rename all threads of a ctpl::thread_pool 2018-10-04 16:46:48 +02:00
util.h Add helper to rename all threads of a ctpl::thread_pool 2018-10-04 16:46:48 +02:00
utilmoneystr.cpp Merge #9643: [refactor] Remove using namespace <xxx> from wallet/ & util* 2018-02-21 22:32:13 +03:00
utilmoneystr.h
utilstrencodings.cpp Merge #9643: [refactor] Remove using namespace <xxx> from wallet/ & util* 2018-02-21 22:32:13 +03:00
utilstrencodings.h Merge #8168: util: Add ParseUInt32 and ParseUInt64 2017-12-22 17:20:31 +01:00
utiltime.cpp Merge #9643: [refactor] Remove using namespace <xxx> from wallet/ & util* 2018-02-21 22:32:13 +03:00
utiltime.h
validation.cpp Remove global fDIP0003ActiveAtTip and fix wrong use of VersionBitsState in auto IX (#2380) 2018-10-26 07:03:33 +02:00
validation.h Remove global fDIP0003ActiveAtTip and fix wrong use of VersionBitsState in auto IX (#2380) 2018-10-26 07:03:33 +02:00
validationinterface.cpp [ZMQ] Notify when an IS double spend is attempted (#2262) 2018-09-12 14:12:44 +03:00
validationinterface.h [ZMQ] Notify when an IS double spend is attempted (#2262) 2018-09-12 14:12:44 +03:00
version.h Remove nProtocolVersion and add mode/type fields to DIP3 (#2358) 2018-10-23 14:15:38 +03:00
versionbits.cpp Automatic InstantSend locks for "simple" transactions (#2140) 2018-09-26 17:17:47 +03:00
versionbits.h Merge #7948: RPC: augment getblockchaininfo bip9_softforks data 2018-01-13 13:44:37 +01:00
warnings.cpp Drop BOOST_FOREACH and use references in loops (const ref where applicable, Dash code only) (#1899) 2018-02-06 14:09:33 +03:00
warnings.h Merge #9236: Fix races for strMiscWarning and fLargeWork*Found, make QT runawayException use GetWarnings 2018-01-18 07:31:22 +01:00