tau3
0c96402fc0
TxConfidenceTable: Fix a lock in seen() and add a test.
2018-09-04 16:34:25 +02:00
Andreas Schildbach
5df91ca886
Wallet: Check early for null context or params.
2018-08-01 19:31:11 +02:00
BigAdam2005
49ea1de34b
LegacyAddressTest: Extend test dataset and move it to a classpath resource.
2018-07-27 14:19:17 +02:00
Andreas Schildbach
6e85ea391d
build.gradle: Version control generated protobuf files again.
...
This effectively reverts commit 002fe8184cf6121856c966272d00f7a80c97b803. It lead to too much support hassle.
2018-07-27 14:14:12 +02:00
BigAdam2005
4a316089fa
Add BlockLocator class for representing block locators as used in GetBlocksMessage and GetHeadersMessage.
2018-07-13 18:44:36 +02:00
ueno
2ec193f847
Wallet: Fix null pointer exception that happens when using witness program on addWatchedAddress().
2018-06-18 11:10:11 +02:00
Oscar Guindzberg
694955c98b
Message.readBytes(): Fail fast if length is too large
2018-05-09 21:20:28 +02:00
Oscar Guindzberg
26adf68948
Limit initial size of some structures
...
Limits initial size of these structures:
- Inputs and Outputs in Transaction
- Transactions in Block
- Hashes in PartialMerkleeTree
The fix prevents this DoS attack:
- Somehow the attacker needs to get a p2p connection to the bitcoinj node.
- The attacker sends a tx msg that says the tx contains a trillion inputs (or a similar msg attacking any other of the structures described above).
- bitcoinj tries to instantiate an ArrayList with a size of a trillion.
OutOfMemoryError and the bitcoinj node is down.
2018-05-08 13:51:26 -03:00
Oscar Guindzberg
a6c356c403
TransactionWitness: Store pushes in a List<byte[]>
...
This is a pre-requisite to fix the exploit to its initial size
2018-05-08 13:44:39 -03:00
Andreas Schildbach
002fe8184c
build.gradle: Don't version control generated protobuf files.
2018-05-05 18:56:29 +02:00
Andreas Schildbach
fb33e72ad2
SPVBlockStore: Fix JavaDoc param.
2018-05-01 23:03:40 +02:00
Andreas Schildbach
aaa5262ef4
Migrate from Maven to Gradle 3.4 for building.
2018-05-01 16:49:30 +02:00
Matthew Leon
a6fd71b767
ECKey: Factor out findRecoveryId() from signMessage().
2018-05-01 16:38:25 +02:00
David Kingsbury
a5aac0f4b7
MnemonicCodeTest: Extract MnemonicCodeVectorsTest for maintainability and to cover empty passphrases.
2018-04-21 23:08:25 +02:00
Andreas Schildbach
c3d162d9b4
DeterministicKeyChain: Fix a conditional and.
2018-04-21 16:15:15 +02:00
Andreas Schildbach
2c370c07c7
DeterministicKeyChain: Make accountPath final. It's not meant to be changed.
2018-04-20 16:37:47 +02:00
Andreas Schildbach
b08cfe3f54
Remove TestNet2.
2018-04-18 16:40:51 +02:00
Andreas Schildbach
22e495fbab
SendHeadersMessageTest: Remove unnecessary FQN-ism.
2018-04-18 16:26:01 +02:00
Andreas Schildbach
9cede7a7e6
PeerGroup: Log shutdown times.
2018-04-16 18:48:57 +02:00
Andreas Schildbach
6764430b5b
PeerGroup: Remove deprecated awaitRunning() and awaitTerminated().
2018-04-16 18:21:15 +02:00
Andreas Schildbach
648655da99
Transaction can serialize and deserialize according to Segwit (BIP144). This adds TransactionWitnesses to the wallet protobuf, too.
...
The goal of this commit is to fix loading blk*.dat files by BlockFileLoader. Bitcoinj cannot yet
create segwit transactions nor does it correctly process them.
Based on code by:
NicolasDorier <nicolas.dorier@gmail.com>
Oscar Guindzberg <oscar.guindzberg@gmail.com>
sstone <sstone@users.noreply.github.com>
2018-04-15 10:31:57 +02:00
Andreas Schildbach
9d6090a7ea
Remove concept of stateful transaction signers.
2018-04-15 09:58:22 +02:00
Andreas Schildbach
ade58d2c19
PeerGroup: Start using VersionMessage.receivingAddr as it was originally intended.
2018-04-07 18:38:49 +02:00
Andreas Schildbach
e34f5e9af5
VersionMessage, AddressMessage: Fix address messages embedded in version messages cannot have time.
2018-04-07 18:38:49 +02:00
Andreas Schildbach
144818ea06
PeerAddressTest: Tidy up parse and bitcoinSerialize tests.
2018-04-07 18:38:49 +02:00
Andreas Schildbach
321ac5dbf2
VersionMessage: Fix names of addr fields.
2018-04-07 14:21:58 +02:00
Andreas Schildbach
3975a89f6a
PeerAddressTest: Add roundtrip tests for all combinations of relevant protocol versions and IP address type.
2018-04-07 14:21:57 +02:00
Andreas Schildbach
7c270c23e6
BlockFileLoader: On an unexpected problem, wrap exception with additional information.
2018-04-06 20:47:16 +02:00
Andreas Schildbach
93b9229397
BlockFileLoader: Add a second constructor that allows to specify a custom directory.
2018-04-06 19:20:05 +02:00
Andreas Schildbach
1700ec0be4
SPVBlockStore: Remove mmap hack for Windows.
...
It breaks on Java9 because it is using unofficial sun.* API.
2018-04-01 23:57:43 +02:00
Andreas Schildbach
03f404506c
MonetaryFormat: Implement equals() and hashCode().
2018-04-01 19:50:32 +02:00
Andreas Schildbach
8663236de0
SPVBlockStore: Ability to grow the block store.
2018-03-31 12:39:59 +02:00
Andreas Schildbach
37525e6eb7
WalletFiles: Getter for wallet that is managed.
2018-03-30 22:58:09 +02:00
Andreas Schildbach
c9a36647a9
WalletFiles: Don't save any more if executor is shut down.
2018-03-30 20:49:03 +02:00
Andreas Schildbach
e244453073
DeterministicKeyChain: Remove type argument from JavaDoc.
2018-03-24 22:58:42 +01:00
Daniel James
0be938b4a7
Block: Avoid NPE in hasTransactions()
...
Field is nullable;
```java
@Nullable List<Transaction> transactions;
```
2018-03-24 22:32:00 +01:00
Oscar Guindzberg
afa14d6968
Transaction: Limit initial size of inputs and outputs ArrayList.
2018-03-21 16:19:10 +01:00
Andreas Schildbach
b976205716
ScriptPattern: Add pattern matcher for segwit commitment (in an output of the coinbase transaction).
...
Adds a test for parsing block 481815, which contains a segwit commitment in its coinbase.
2018-03-21 15:04:03 +01:00
denis
d30d83c616
FiatTest: Increase test coverage for Fiat class.
2018-03-18 19:11:57 +01:00
HashEngineering
6aba962d62
DeterministicKeyChain: Allow decrypting DeterministicKeyChain with arbitrary path
2018-03-14 22:01:53 -07:00
Andreas Schildbach
afe1b69f31
Use InetAddress.getLoopbackAddress() rather than hardcoding '127.0.0.1'.
2018-03-14 12:16:26 +01:00
Andreas Schildbach
8ee5e48171
Update to protobuf-java 3.5.1.
...
In the test data for DeterministicKeyChainTest all occurences of the (often invisible) 0x7f
character is replaced by its numerical literal "\177". This change is needed because a bug of
previous versions was fixed, which caused this character not being printed as text.
2018-03-13 21:55:47 +01:00
Andreas Schildbach
dbc4c35209
SPVBlockStoreTest: Add tests for file locking.
2018-03-13 16:13:11 +01:00
Andreas Schildbach
c35d892fa6
Add Utils.isLinux() and Utils.isMac() helpers.
2018-03-13 13:05:59 +01:00
Andreas Schildbach
9e2b0c05c7
Use Utils.isWindows() helper consistently.
2018-03-13 13:05:52 +01:00
HashEngineering
e0d9683bd5
DeterministicKeyChain: Allow encrypting DeterministicKeyChain with arbitrary path
2018-03-12 08:50:16 +01:00
Andreas Schildbach
4bbb7be059
Migrate fully qualified names to using imports.
2018-03-11 21:36:25 +01:00
Andreas Schildbach
9e16d5fdeb
JavaDoc: Fix references.
2018-03-11 20:53:42 +01:00
Andreas Schildbach
fa5bdbb672
JavaDoc: Fix HTML structure.
2018-03-11 20:40:28 +01:00
Andreas Schildbach
bdfc1b3716
JavaDoc: Fix exception not thrown.
2018-03-11 20:31:59 +01:00