Commit Graph

17034 Commits

Author SHA1 Message Date
UdjinM6
15c6df5835 Bring back "about" menu icon (#3329) 2020-02-11 16:52:24 +03:00
Cofresi
2c30818f7b Add pubKeyOperator to quorum info rpc response (#3327) 2020-02-11 16:52:18 +03:00
UdjinM6
1d507c92e8
Merge pull request #3323 from UdjinM6/bp20200203
Backport candidates to v0.15.x
2020-02-04 15:33:18 +03:00
UdjinM6
2bbf78c1b9 Update release-notes.md 2020-02-03 21:37:58 +03:00
UdjinM6
5da5a6be26 Update translations 2020-02-03 (#3322)
100%: pl, tr, zh_TW
2020-02-03 21:21:19 +03:00
UdjinM6
a9560655b3 Only sync mempool from v0.15+ (proto 70216+) nodes (#3321)
Old nodes aren't able to relay DSTXes properly
2020-02-03 21:21:19 +03:00
UdjinM6
829bde81e6 Fix dark text on dark background in combobox dropdowns on windows (#3315) 2020-02-03 13:04:00 +03:00
UdjinM6
c0a671e840 Fix node protection logic false positives (#3314)
We could be reading multiple messages from a socket buffer at once _without actually processing them yet_ which means that `fSuccessfullyConnected` might not be switched to `true` at the time we already parsed `VERACK` message and started to parse the next one. This is basically a false positive and we drop a legit node as a result even though the order of messages sent by this node was completely fine. To fix this I partially reverted #2790 (where the issue was initially introduced) and moved the logic for tracking the first message into ProcessMessage instead.
2020-02-03 13:04:00 +03:00
Wladimir J. van der Laan
8d5fc6e0ab Merge #13162: [net] Don't incorrectly log that REJECT messages are unknown.
fad63eb [logging] Don't incorrectly log that REJECT messages are unknown. (John Newbery)

Pull request description:

  Reject messages are logged to debug.log if NET debug logging is enabled.

  Because of the way the `ProcessMessages()` function is structured,
  processing for REJECT messages will also drop through to the default
  branch and incorrectly log `Unknown command "reject" from peer-?`. Fix
  that by exiting from `ProcessMessages()` early.

  without this PR:
  ```
  2018-05-03T17:37:00.930600Z received: reject (21 bytes) peer=0
  2018-05-03T17:37:00.930620Z Reject message code 16: spammy spam
  2018-05-03T17:37:00.930656Z Unknown command "reject" from peer=0
  ```
  with this PR:
  ```
  2018-05-03T17:35:04.751246Z received: reject (21 bytes) peer=0
  2018-05-03T17:35:04.751274Z Reject message code 16: spammy spam
  ```

Tree-SHA512: 5c84c98433ab99e0db2dd481f9c2db6f87ff0d39022ff317a791737e918714bbcb4a23e81118212ed8e594ebcf098ab7f52f7fd5e21ebc3f07b1efb279b9b30b
2020-02-03 13:04:00 +03:00
UdjinM6
9e711befda More of 13946 2020-02-03 13:04:00 +03:00
Wladimir J. van der Laan
e5e3572e9d Merge #13946: p2p: Clarify control flow in ProcessMessage
fa6c3dea420b6c50c164ccc34f4e9e8a7d9a8022 p2p: Clarify control flow in ProcessMessage() (MarcoFalke)

Pull request description:

  `ProcessMessage` is effectively a massive switch case construct. In the past there were attempts to clarify the control flow in `ProcessMessage()` by moving each case into a separate static function (see #9608). It was closed because it wasn't clear if moving each case into a function was the right approach.
  Though, we can quasi treat each case as a function by adding a return statement to each case. (Can be seen as a continuation of bugfix #13162)

  This patch does exactly that.

  Also note that this patch is a subset of previous approaches such as #9608 and #10145.

  Review suggestion: `git diff HEAD~ --function-context`

Tree-SHA512: 91f6106840de2f29bb4f10d27bae0616b03a91126e6c6013479e1dd79bee53f22a78902b631fe85517dd5dc0fa7239939b4fefc231851a13c819458559f6c201
2020-02-03 13:04:00 +03:00
UdjinM6
dbbc51121c Add automake package to dash-win-signer's packages list (#3307) 2020-02-03 13:04:00 +03:00
thephez
fd0f24335d
[Trivial] Release note update (#3308)
* Doc: minor release note updates

* Doc: clarification on backported RPCs
2020-01-29 09:25:23 +01:00
UdjinM6
863057d327
Merge pull request #3301 from UdjinM6/bp15rc2_3
Backport remaining "candidates" from develop to v0.15.x
2020-01-24 20:05:14 +03:00
UdjinM6
058872d4f3 Update release-notes.md 2020-01-24 18:41:10 +03:00
UdjinM6
39d124ddb1 Fix CActiveMasternodeManager::GetLocalAddress to prefer IPv4 if multiple local addresses are known (#3304)
* Fix CActiveMasternodeManager::GetLocalAddress to prefer IPv4 if multiple local addresses are known

* Make sure LookupHost succeeded
2020-01-24 17:13:25 +03:00
UdjinM6
8b143ddee9 Drop unused invSet in CDKGSession (#3303) 2020-01-24 17:13:25 +03:00
UdjinM6
87e54c80fe Update translations 2020-01-23 (#3302)
100%: es, ko
97%+: ro, zh_TW
2020-01-24 17:13:25 +03:00
UdjinM6
6b5d3edae3 Fix dip4-coinbasemerkleroots.py race condition (#3297)
Sometimes the node we ask for mnlistdiff is so fast to reply that we receive the message back before we reset `last_mnlistdiff`. To fix this we should reset it before sending the message, not after.
2020-01-23 00:23:11 +03:00
UdjinM6
a8213cadb9 Various fixes for DSTX-es (#3295)
* Check MNs up to 24 blocks deep when verifying `dstx`

* Handle DSTX-es more like regular txes and not like "other" invs

* Try asking for a DSTX too when trying to find missing tx parents

* Check DSTX-es when chainlock arrives

`HasChainLock` was always `false` in `IsExpired` because tip is updated before the corresponding chainlock is received

* Apply `Handle DSTX-es more like regular txes` idea to `AlreadyHave()`

* Alternative handling of DSTX+recentRejects

Co-authored-by: Alexander Block <ablock84@gmail.com>
2020-01-23 00:22:50 +03:00
UdjinM6
6127f3024c
Merge pull request #3293 from codablock/pr_v15_backports
[v0.15.x] Backport pending PRs from develop
2020-01-21 00:30:33 +03:00
Alexander Block
2c26bdf2da Update release-notes.md 2020-01-17 18:37:28 +01:00
Alexander Block
1d9adbe639 Replace generic CScopedDBTransaction with specialized CEvoDBScopedCommitter (#3292)
This has the wanted side effect of proper locking of "cs" inside
CommitCurTransaction and RollbackCurTransaction, which was not easily
possible to implement in the generic version. This fixes some rare crashes.
2020-01-17 16:02:03 +01:00
UdjinM6
8fd486c6bc Translations 2020-01 (#3192)
* en

* ru

* 100%: bg, de, fi, fr, it, nl, pt, sk, vi, zh_CN

* 90%+: ar, es, ja, ko, pl, ro, th, tr, zh_TW

* drop sv

It looks like it was abandoned, dropped below 80% threshold (73.3% atm)
2020-01-17 16:01:41 +01:00
UdjinM6
3c54f65278 Bump copyright year to 2020 (#3290)
* Bump _COPYRIGHT_YEAR

* Run copyright update script

./contrib/devtools/copyright_header.py update .

* Update COPYING

* Bump copyright year in dash-cli/qt/tx and dashd map pages
2020-01-17 15:51:08 +01:00
UdjinM6
35d28c7485 Update man pages (#3291) 2020-01-17 15:50:53 +01:00
taw00
203cc90778 trivial: adding SVG and high contrast icons (#3209)
* adding favicon image
- noticed that someone already contributed all my pixmaps I have been using for
  my builds (thank you, whoever you were). The favicon was left out. Adding
  that as well. It is useful from a completist perspective and have users a
  resource they can just use if they have need of a favicon for their project.

* trivial: adding SVG and high contrast icons
Purpose: for accessibility, if QT wallet is packaged (linux) correctly,
when the user switches to high contrast in their desktop environment
the high contrast icons will be used.
The packaging should land these icons in the
`/usr/share/icons/HighContrast` and `/usr/share/icons/hicolor` trees.

* trivial: HighContrast SVG is actually HighContrast now.
2020-01-17 15:50:24 +01:00
UdjinM6
e875d4925a Define defaultTheme and darkThemePrefix as constants and use them instead of plain strings (#3288) 2020-01-17 15:42:03 +01:00
UdjinM6
1d203b422c Bump PROTOCOL_VERSION to 70216 (#3287)
We removed "alert" p2p message and changed "mempool" message behaviour a bit. It probably makes sense to bump PROTOCOL_VERSION now. This should also help to distinguish v0.15 nodes from late v0.14.0.x ones.
2020-01-17 15:41:43 +01:00
UdjinM6
b84482ac57 Let regtest have its own qt settings (#3286)
Also, avoid messing up testnet settings while playing in regtest
2020-01-17 15:41:25 +01:00
UdjinM6
1c885bbedf Only load valid themes, fallback to "Light" theme otherwise (#3285)
* Only load valid themes, fallback to "light" otherwise

* Refactor PR3285 a bit

* fix

Co-authored-by: Nathan Marley <nathan.marley@gmail.com>
2020-01-17 15:41:10 +01:00
UdjinM6
617c588488
v0.15 release notes draft (#3283)
* Archive 0.14.0.5 release notes

* v0.15 release notes draft

* Apply suggestions from code review

Thanks @thephez!

Co-Authored-By: thephez <thephez@users.noreply.github.com>

* Apply suggestions from code review

Co-Authored-By: thephez <thephez@users.noreply.github.com>

* Fixes and additions to release notes

* Add "Crash reports and stack traces" section

* Few clarifications

Co-authored-by: thephez <thephez@users.noreply.github.com>
Co-authored-by: Alexander Block <ablock84@gmail.com>
2020-01-14 22:46:02 +03:00
UdjinM6
9d48227b04
Merge pull request #3282 from UdjinM6/bprc2
Backport "candidates" from develop to v0.15.x
2020-01-11 04:04:10 +03:00
Alexander Block
ce924278df Don't load caches when blocks/chainstate was deleted and also delete old caches (#3280)
* Don't load caches when blocks/chainstate was not present

* Delete old cache files when we decided to not load them

* Make sure cache files are of the exact format we expected them to be, flush empty objects into them instead of deleting files naively

* Streamline logic a bit, rename fIgnoreCacheFiles to fLoadCacheFiles

Co-authored-by: UdjinM6 <UdjinM6@users.noreply.github.com>
2020-01-10 13:30:56 +03:00
Alexander Block
ebf529e8aa Drop new connection instead of old one when duplicate MNAUTH is received (#3272) 2020-01-10 13:30:47 +03:00
UdjinM6
817cd9a177 AppInitMain should quit early and return false if shutdown was requested at some point (#3267)
This fixes crashes e.g. when user decided to shutdown while rescanning the wallet
2020-01-10 13:30:37 +03:00
UdjinM6
42e104932d Tweak few more strings re mixing and balances (#3265)
* Tweak few more strings re mixing and balances

* "Fully mixed"/"mixed" -> "PrivateSend"

* Apply suggestions from code review

Co-Authored-By: PastaPastaPasta <6443210+PastaPastaPasta@users.noreply.github.com>

Co-authored-by: PastaPastaPasta <6443210+PastaPastaPasta@users.noreply.github.com>
2020-01-10 13:30:18 +03:00
Alexander Block
d30eeb6f8d Use -Wno-psabi for arm builds on Travis/Gitlab (#3264)
This avoids spamming logs with "note: parameter passing for argument of type " warnings.
2020-01-10 13:30:08 +03:00
Alexander Block
1df3c67a8c A few fixes for integration tests (#3263)
* Wait a little bit longer in wallet-encryption.py

The timed wallet locking is happening by an asynchronous task internally,
which means that it might need a little bit longer then the specified
timeout.

* Add workaround for p2p-versionbits-warnings.py until we backport bitcoin#12264
2020-01-10 13:29:59 +03:00
Alexander Block
6e50a7b2a1 Fix params.size() check in "protx list wallet" RPC (#3259)
This should have been "> 4" as otherwise it bails out when the height is
specified.
2020-01-10 13:29:41 +03:00
-k
cbf9c54a1d Backport osslsigncode 2.0 - bitcoin#16669 and bitcoin#17671 (#3258)
* build: use osslsigncode 2.0 in gitian

The original osslsigncode project (https://sourceforge.net/projects/osslsigncode/) has been marked as abandonware,
"This is now - and has been for a long while - abandonware. Feel free to create your own forks etc.".

However, a fork at https://github.com/mtrojnar/osslsigncode has emerged that has incorporated
theuni's patches, updated the tool to work with OpenSSL 1.1 and made other improvements.

This commit switches the windows signer descriptor to use this new version of osslsigncode.

* Fixed wget call in gitian-build.py

Co-authored-by: Michael <fanquake@gmail.com>
Co-authored-by: willyk <k.o.willy@gmail.com>
2020-01-10 13:29:31 +03:00
Alexander Block
1a1cec224a Fix pull request detection in .gitlab-ci.yml (#3256)
* Fix pull request detection on Gitlab CI

* Fix CI_COMMIT_BEFORE_SHA
2020-01-10 13:29:22 +03:00
Alexander Block
31afa9c0fc Don't disconnect masternode connections when we have less then the desired amount of outbound nodes (#3255) 2020-01-10 13:29:11 +03:00
PastaPastaPasta
cecbbab3cd move privatesend rpc methods from rpc/masternode.cpp to new rpc/privatesend.cpp (#3253)
* move privatesend rpc methods from masternode.cpp to new privatesend.cpp

Signed-off-by: Pasta <pasta@dashboost.org>

* add ifdef ENABLE_WALLET check for wallet.h import

Signed-off-by: Pasta <pasta@dashboost.org>

* actually register privatesend rpc

Signed-off-by: Pasta <pasta@dashboost.org>

* add dropped help text and change some weird spacing below

Signed-off-by: Pasta <pasta@dashboost.org>
2020-01-10 13:29:00 +03:00
UdjinM6
8e054f3742 Sync mempool from other nodes on start (#3251)
* Sync mempool from other nodes on start

* Add `-syncmempool` cmd-line option to be able to disable mempool sync if needed

* Only sync mempool with outbound peers

Co-authored-by: Alexander Block <ablock84@gmail.com>
2020-01-10 13:28:42 +03:00
UdjinM6
474f25b8dc Push islock invs when syncing mempool (#3250)
* Push islock invs when syncing mempool

* Send islock invs right away instead of stacking them for later
2020-01-10 13:28:32 +03:00
UdjinM6
3b0f8ff8b3 Skip mnsync restrictions for whitelisted and manually added nodes (#3249) 2020-01-10 13:28:22 +03:00
UdjinM6
fd94e9c38c Streamline, refactor and unify PS checks for mixing entries and final txes (#3246)
* Move PS mixing entry verification on masternodes into `AddEntry()`

Also streamline logic a bit and drop unused/excessive parts.

* Unify PS checks among masternodes and clients

* No need to re-check outputs over and over again

* No need to count, fail early if any output is missing

* No need to look any further once we found the input we expected

A tx with duplicate inputs would be considered invalid anyway and we also know there are no duplicates because we just verified the final tx above.

Also drop an unused variable.

* Unify LogPrint-s

* Drop human-readable strings for unused PoolMessage-s

* Apply suggestions from code review

Co-Authored-By: PastaPastaPasta <6443210+PastaPastaPasta@users.noreply.github.com>

* Re-introduce zero-fee checks

* fix log

* Move all txin/txout verification logic shared by CPrivateSendClientSession::SignFinalTransaction() and CPrivateSendServer::AddEntry() into CPrivateSendBaseSession::IsValidInOuts()

* fix nit

* Add missing return

* Use CCoinsViewMemPool instead of doing it manually

Co-authored-by: PastaPastaPasta <6443210+PastaPastaPasta@users.noreply.github.com>
Co-authored-by: Alexander Block <ablock84@gmail.com>
2020-01-10 13:28:12 +03:00
UdjinM6
c42b200973 Try to avoid being marked as a bad quorum member when we sleep for too long in SleepBeforePhase (#3245)
* Do not sleep at the last block of the phase, it's not safe

* Refactor it a bit to make it clearer what's going on here

* Stop sleeping if blocks came faster than we expected
2020-01-10 13:27:58 +03:00
UdjinM6
db6ea1de8e Fix log output in CDKGPendingMessages::PushPendingMessage (#3244) 2020-01-10 13:27:47 +03:00