0
0
Fork 0
mirror of https://github.com/bitcoin/bitcoin.git synced 2025-02-03 09:56:38 -05:00
bitcoin-bitcoin-core/src
fanquake 6342348072
Merge bitcoin/bitcoin#28076: util: Replace std::filesystem with util/fs.h
bbbbdb0cd5 ci: Add filesystem lint check (MarcoFalke)
fada2f9110 refactor: Replace <filesystem> with <util/fs.h> (MarcoFalke)

Pull request description:

  Using `std::filesystem` is problematic:

  * There is a `fs` namespace wrapper for it. So having two ways to achieve the same is confusing.
  * Not using the `fs` wrapper is dangerous and buggy, because it disables known bugs by deleting problematic functions.

  Fix all issues by removing use of it and adding a linter to avoid using it again in the future.

ACKs for top commit:
  TheCharlatan:
    ACK  bbbbdb0cd5
  fanquake:
    ACK bbbbdb0cd5 🦀

Tree-SHA512: 0e2d49742b08eb2635e6fce41485277cb9c40fe20b81017c391d3472a43787db1278a236825714ca1e41c9d2f59913865cfb0c649e3c8ab1fb598c849f80c660
2023-11-13 14:10:54 +00:00
..
bench Merge bitcoin/bitcoin#28530: tests, bug fix: DisconnectedBlockTransactions rewrite followups 2023-11-02 11:12:17 +00:00
common Merge bitcoin/bitcoin#28076: util: Replace std::filesystem with util/fs.h 2023-11-13 14:10:54 +00:00
compat Sort includes in compat.h 2023-08-08 17:50:41 +02:00
config
consensus [validation] add TxValidationResult::TX_RECONSIDERABLE, TX_UNKNOWN 2023-11-06 14:41:56 +00:00
crc32c
crypto Add ability to specify SHA256 implementation for benchmark purposes 2023-09-20 21:11:55 +01:00
index coinstats: Fix hash_serialized2 calculation 2023-10-20 22:53:05 +02:00
init init: remove config option names from translated -loglevel strings 2023-06-15 10:27:56 -06:00
interfaces interfaces: Rename CalculateBumpFees methods to be compatible with capn'proto 2023-10-20 10:30:16 -04:00
ipc refactor: Move system from util to common library 2023-05-20 12:08:13 +02:00
kernel scripted-diff: rename vTxHashes to txns_randomized 2023-11-10 16:44:44 +01:00
leveldb
logging
minisketch
node Merge bitcoin/bitcoin#28721: multiprocess compatibility updates 2023-11-13 12:32:55 +00:00
policy Merge bitcoin/bitcoin#28076: util: Replace std::filesystem with util/fs.h 2023-11-13 14:10:54 +00:00
primitives refactor: Add LIFETIMEBOUND to all (w)txid getters 2023-10-27 13:01:42 +02:00
qt Merge bitcoin/bitcoin#28721: multiprocess compatibility updates 2023-11-13 12:32:55 +00:00
rpc Merge bitcoin/bitcoin#28721: multiprocess compatibility updates 2023-11-13 12:32:55 +00:00
script iwyu: Export prevector.h from script.h 2023-10-25 11:55:50 +02:00
secp256k1 Update secp256k1 subtree to upstream release 0.4.0 2023-09-04 12:51:20 -04:00
support Add make_secure_unique helper 2023-09-27 15:05:15 -04:00
test Merge bitcoin/bitcoin#28721: multiprocess compatibility updates 2023-11-13 12:32:55 +00:00
univalue Remove unused raw-pointer read helper from univalue 2023-07-27 14:24:52 +02:00
util Merge bitcoin/bitcoin#28076: util: Replace std::filesystem with util/fs.h 2023-11-13 14:10:54 +00:00
wallet Merge bitcoin/bitcoin#28721: multiprocess compatibility updates 2023-11-13 12:32:55 +00:00
zmq validationinterface: only send zmq notifications for active 2023-09-30 06:38:47 -04:00
.bear-tidy-config tidy: modernize-use-emplace 2023-10-12 11:27:19 +02:00
.clang-format
.clang-tidy refactor: Fix bugprone-string-constructor warning 2023-10-30 14:59:17 +01:00
addrdb.cpp build: Bump minimum supported Clang to clang-13 2023-10-24 18:52:00 +02:00
addrdb.h Use serialization parameters for CAddress serialization 2023-09-05 10:13:25 +02:00
addresstype.cpp Add PubKeyDestination for P2PK scripts 2023-09-12 12:14:31 -04:00
addresstype.h bugfix: Mark CNoDestination and PubKeyDestination constructor explicit 2023-10-25 22:46:55 +02:00
addrman.cpp addrman: log AS only when using asmap 2023-10-30 18:46:06 -03:00
addrman.h rpc: getrawaddrman for addrman entries 2023-10-02 15:34:28 +02:00
addrman_impl.h rpc: getrawaddrman for addrman entries 2023-10-02 15:34:28 +02:00
arith_uint256.cpp
arith_uint256.h
attributes.h Introduce platform-agnostic ALWAYS_INLINE macro 2023-05-04 20:57:51 +01:00
banman.cpp Merge bitcoin/bitcoin#24097: Replace RecursiveMutex m_cs_banned with Mutex, and rename it 2023-11-02 14:09:27 -04:00
banman.h Merge bitcoin/bitcoin#24097: Replace RecursiveMutex m_cs_banned with Mutex, and rename it 2023-11-02 14:09:27 -04:00
base58.cpp
base58.h
bech32.cpp
bech32.h
bip324.cpp net: merge V2Transport constructors, move key gen 2023-09-10 16:11:52 -04:00
bip324.h net: merge V2Transport constructors, move key gen 2023-09-10 16:11:52 -04:00
bitcoin-chainstate.cpp refactor: Replace <filesystem> with <util/fs.h> 2023-09-14 18:58:37 +02:00
bitcoin-cli-res.rc
bitcoin-cli.cpp refactor: Move system from util to common library 2023-05-20 12:08:13 +02:00
bitcoin-tx-res.rc
bitcoin-tx.cpp kernel: Remove Univalue from kernel library 2023-07-25 17:40:07 +02:00
bitcoin-util-res.rc
bitcoin-util.cpp [refactor] Add missing includes for next commit 2023-09-12 22:51:42 +02:00
bitcoin-wallet-res.rc
bitcoin-wallet.cpp refactor: Move system from util to common library 2023-05-20 12:08:13 +02:00
bitcoind-res.rc
bitcoind.cpp Remove the syscall sandbox 2023-06-16 10:38:19 +01:00
blockencodings.cpp scripted-diff: rename vTxHashes to txns_randomized 2023-11-10 16:44:44 +01:00
blockencodings.h
blockfilter.cpp Remove unused GetType() from OverrideStream, CVectorWriter, SpanReader 2023-09-19 14:19:57 +00:00
blockfilter.h Remove unused includes from blockfilter.h 2023-08-17 18:28:15 +02:00
chain.cpp
chain.h refactor: Remove CBlockFileInfo::SetNull 2023-10-20 16:29:02 +02:00
chainparams.cpp test: Throw error when -signetchallenge is non-hex 2023-05-25 19:24:05 +02:00
chainparams.h test: Throw error when -signetchallenge is non-hex 2023-05-25 19:24:05 +02:00
chainparamsbase.cpp refactor: Use ChainType enum exhaustively 2023-05-10 10:39:58 +02:00
chainparamsbase.h refactor: Use ChainType enum exhaustively 2023-05-10 10:39:58 +02:00
chainparamsseeds.h
checkqueue.h Remove the syscall sandbox 2023-06-16 10:38:19 +01:00
clientversion.cpp
clientversion.h
coins.cpp Merge bitcoin/bitcoin#26331: Implement CCoinsViewErrorCatcher::HaveCoin and check disk space periodically 2023-10-09 14:52:00 -04:00
coins.h Merge bitcoin/bitcoin#26331: Implement CCoinsViewErrorCatcher::HaveCoin and check disk space periodically 2023-10-09 14:52:00 -04:00
compressor.cpp Clean up things that include script/standard.h 2023-08-14 17:38:27 -04:00
compressor.h
core_io.h kernel: Remove Univalue from kernel library 2023-07-25 17:40:07 +02:00
core_memusage.h
core_read.cpp kernel: Remove Univalue from kernel library 2023-07-25 17:40:07 +02:00
core_write.cpp Rename script/standard.{cpp/h} to script/solver.{cpp/h} 2023-08-14 17:39:49 -04:00
cuckoocache.h
dbwrapper.cpp dbwrapper: Use DataStream for batch operations 2023-09-12 12:07:39 +02:00
dbwrapper.h dbwrapper: Use DataStream for batch operations 2023-09-12 12:07:39 +02:00
deploymentinfo.cpp
deploymentinfo.h
deploymentstatus.cpp
deploymentstatus.h
dummywallet.cpp
external_signer.cpp tidy: modernize-use-emplace 2023-10-12 11:27:19 +02:00
external_signer.h refactor: Move system from util to common library 2023-05-20 12:08:13 +02:00
flatfile.cpp
flatfile.h
hash.cpp
hash.h Remove CHashWriter type 2023-09-19 16:38:08 +02:00
headerssync.cpp tidy: modernize-use-emplace 2023-10-12 11:27:19 +02:00
headerssync.h
httprpc.cpp refactor: drop protocol.h include header in rpc/util.h 2023-09-19 15:54:17 -06:00
httprpc.h
httpserver.cpp Merge bitcoin/bitcoin#26078: p2p: return CSubNet in LookupSubNet 2023-10-26 14:29:47 -04:00
httpserver.h
i2p.cpp Merge bitcoin/bitcoin#28695: net: Sanity check private keys received from SAM proxy 2023-10-30 14:44:40 +01:00
i2p.h i2p: destroy the session if we get an unexpected error from the I2P router 2023-10-05 14:11:13 +02:00
indirectmap.h
init.cpp Merge bitcoin/bitcoin#28464: net: improve max-connection limits code 2023-11-07 17:01:02 -05:00
init.h refactor: index, decouple 'Init' from 'Start' 2023-07-10 10:47:17 -03:00
key.cpp key: don't allocate secure mem for null (invalid) key 2023-09-27 15:05:26 -04:00
key.h key: don't allocate secure mem for null (invalid) key 2023-09-27 15:05:26 -04:00
key_io.cpp Merge bitcoin/bitcoin#28246: wallet: Use CTxDestination in CRecipient instead of just scriptPubKey 2023-09-19 16:48:43 +00:00
key_io.h Clean up things that include script/standard.h 2023-08-14 17:38:27 -04:00
logging.cpp [log] add category TXPACKAGES for orphanage and package relay 2023-08-29 16:41:22 +01:00
logging.h [log] add category TXPACKAGES for orphanage and package relay 2023-08-29 16:41:22 +01:00
Makefile.am Merge bitcoin/bitcoin#28530: tests, bug fix: DisconnectedBlockTransactions rewrite followups 2023-11-02 11:12:17 +00:00
Makefile.bench.include [bench] DisconnectedBlockTransactions 2023-09-13 11:37:13 +01:00
Makefile.crc32c.include
Makefile.leveldb.include
Makefile.minisketch.include
Makefile.qt.include Merge bitcoin/bitcoin#22764: build: Include qt sources for parsing with extract_strings.py 2023-10-19 13:25:49 +01:00
Makefile.qt_locale.include qt: Translation updates from Transifex 2023-09-01 07:39:00 +01:00
Makefile.qttest.include
Makefile.test.include Merge bitcoin/bitcoin#28721: multiprocess compatibility updates 2023-11-13 12:32:55 +00:00
Makefile.test_fuzz.include
Makefile.test_util.include Merge bitcoin/bitcoin#27425: test: move remaining rand code from util/setup_common to util/random 2023-07-19 10:26:11 +01:00
Makefile.univalue.include
mapport.cpp Remove the syscall sandbox 2023-06-16 10:38:19 +01:00
mapport.h
memusage.h add std::list to memusage 2023-09-13 11:37:45 +01:00
merkleblock.cpp
merkleblock.h
net.cpp Merge bitcoin/bitcoin#28155: net: improves addnode / m_added_nodes logic 2023-11-08 11:31:36 +00:00
net.h Merge bitcoin/bitcoin#28155: net: improves addnode / m_added_nodes logic 2023-11-08 11:31:36 +00:00
net_permissions.cpp Merge bitcoin/bitcoin#26078: p2p: return CSubNet in LookupSubNet 2023-10-26 14:29:47 -04:00
net_permissions.h
net_processing.cpp [validation] add TxValidationResult::TX_RECONSIDERABLE, TX_UNKNOWN 2023-11-06 14:41:56 +00:00
net_processing.h [net processing] PeerManager holds a FastRandomContext 2023-10-03 11:23:24 +01:00
net_types.cpp p2p: return CSubNet in LookupSubNet 2023-05-30 16:27:21 -03:00
net_types.h
netaddress.cpp Inline short, often-called, rarely-changed basic CNetAddr getters 2023-07-19 12:43:05 -06:00
netaddress.h net: put CJDNS prefix byte in a constant 2023-10-05 15:10:32 +02:00
netbase.cpp Merge bitcoin/bitcoin#28649: Do the SOCKS5 handshake reliably 2023-11-07 14:11:58 -05:00
netbase.h Merge bitcoin/bitcoin#28649: Do the SOCKS5 handshake reliably 2023-11-07 14:11:58 -05:00
netgroup.cpp net: put CJDNS prefix byte in a constant 2023-10-05 15:10:32 +02:00
netgroup.h
netmessagemaker.h Remove unused GetType() from OverrideStream, CVectorWriter, SpanReader 2023-09-19 14:19:57 +00:00
noui.cpp
noui.h
outputtype.cpp Clean up things that include script/standard.h 2023-08-14 17:38:27 -04:00
outputtype.h Move CTxDestination to its own file 2023-08-14 17:38:27 -04:00
pow.cpp
pow.h
prevector.h
protocol.cpp net: advertise NODE_P2P_V2 if CLI arg -v2transport is on 2023-10-02 18:09:53 -04:00
protocol.h scripted-diff: Use ser params operator 2023-10-13 10:30:49 +02:00
psbt.cpp script/sign: Miniscript support in Tapscript 2023-10-08 02:43:24 +02:00
psbt.h tidy: modernize-use-emplace 2023-10-12 11:27:19 +02:00
pubkey.cpp pubkey: introduce a GetEvenCorrespondingCPubKey helper 2023-10-08 02:43:19 +02:00
pubkey.h pubkey: introduce a GetEvenCorrespondingCPubKey helper 2023-10-08 02:43:19 +02:00
random.cpp Merge bitcoin/bitcoin#26839: Add support for RNDR/RNDRRS for AArch64 on Linux 2023-11-07 15:00:38 -05:00
random.h crypto: refactor ChaCha20 classes to use Span<std::byte> interface 2023-08-17 15:26:34 -04:00
randomenv.cpp [refactor] Remove compat.h from kernel headers 2023-09-12 22:51:48 +02:00
randomenv.h
rest.cpp Merge bitcoin/bitcoin#28136: refactor: move GetServicesNames from rpc/util.{h,cpp} to rpc/net.cpp 2023-11-07 14:19:09 -05:00
rest.h
reverse_iterator.h
scheduler.cpp Remove the syscall sandbox 2023-06-16 10:38:19 +01:00
scheduler.h
serialize.h Remove WithParams serialization helper 2023-10-30 13:54:52 +01:00
shutdown.cpp kernel: Add fatalError method to notifications 2023-06-28 09:52:33 +02:00
shutdown.h kernel: Add fatalError method to notifications 2023-06-28 09:52:33 +02:00
signet.cpp Remove unused GetType() from OverrideStream, CVectorWriter, SpanReader 2023-09-19 14:19:57 +00:00
signet.h
span.h span: Make Span template deduction guides work in SFINAE context 2023-10-20 10:30:16 -04:00
streams.cpp streams: Teach AutoFile how to XOR 2023-07-19 18:12:42 +02:00
streams.h streams: Add SpanReader ignore method 2023-10-20 09:30:16 -05:00
sync.cpp
sync.h Merge bitcoin/bitcoin#27116: doc: clarify that LOCK() internally checks whether the mutex is held 2023-10-26 15:02:13 -04:00
threadsafety.h
timedata.cpp
timedata.h
tinyformat.h
torcontrol.cpp net: move IsReachable() code to netbase and encapsulate it 2023-10-05 15:10:34 +02:00
torcontrol.h doc, refactor: Changing -torcontrol help to specify that a default port is used 2023-08-17 23:58:47 -05:00
txdb.cpp Merge bitcoin/bitcoin#28195: blockstorage: Drop legacy -txindex check 2023-09-05 11:37:35 +01:00
txdb.h move-only: Move CBlockTreeDB to node/blockstorage 2023-08-01 15:27:33 +02:00
txmempool.cpp scripted-diff: rename vTxHashes to txns_randomized 2023-11-10 16:44:44 +01:00
txmempool.h scripted-diff: rename vTxHashes to txns_randomized 2023-11-10 16:44:44 +01:00
txorphanage.cpp Use type-safe txid types in orphanage 2023-10-12 11:56:37 +01:00
txorphanage.h Use type-safe txid types in orphanage 2023-10-12 11:56:37 +01:00
txrequest.cpp refactor: Remove unused gcc-9 workaround in txrequest 2023-10-30 15:18:40 +01:00
txrequest.h
uint256.cpp
uint256.h Merge bitcoin/bitcoin#27927: util: Allow std::byte and char Span serialization 2023-06-28 15:12:12 -04:00
undo.h
validation.cpp Merge bitcoin/bitcoin#28391: refactor: Simplify CTxMempool/BlockAssembler fields, remove some external mapTx access 2023-11-13 10:51:41 +00:00
validation.h [validation] change package-fee-too-low, return wtxid(s) and effective feerate 2023-11-07 11:26:17 +00:00
validationinterface.cpp validation: pass ChainstateRole for validationinterface calls 2023-09-30 06:38:47 -04:00
validationinterface.h validation: pass ChainstateRole for validationinterface calls 2023-09-30 06:38:47 -04:00
version.h Use serialization parameters for CAddress serialization 2023-09-05 10:13:25 +02:00
versionbits.cpp
versionbits.h
walletinitinterface.h
warnings.cpp refactor: Move system from util to common library 2023-05-20 12:08:13 +02:00
warnings.h