forked from bitcoin/bitcoin
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
backport: batch jul 24 2025 #6780
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
PastaPastaPasta
merged 14 commits into
dashpay:develop
from
DashCoreAutoGuix:backport-batch-jul-24-2025
Jul 29, 2025
Merged
Changes from all commits
Commits
Show all changes
14 commits
Select commit
Hold shift + click to select a range
d2f9d42
Merge bitcoin/bitcoin#26794: test: test banlist database recreation
DashCoreAutoGuix 5351b8b
Merge bitcoin/bitcoin#26924: refactor: Add missing includes to fix gc…
DashCoreAutoGuix 77db9c8
Merge bitcoin/bitcoin#26507: test: remove unused vars in `feature_block`
DashCoreAutoGuix 379f039
Merge bitcoin/bitcoin#25158: rpc, wallet: add abandoned field for all…
DashCoreAutoGuix 8300adb
Merge bitcoin/bitcoin#24330: doc: release-process: Specify remote nam…
DashCoreAutoGuix f7ddd56
Merge bitcoin/bitcoin#24282: docs: Move explanation of hardened key s…
DashCoreAutoGuix fff6c95
Merge bitcoin/bitcoin#24359: doc: Fix typos
DashCoreAutoGuix 7c07a80
Merge bitcoin/bitcoin#22151: build: Follow Transifex docs to prepare …
DashCoreAutoGuix 2fcb230
Merge bitcoin/bitcoin#27068: wallet: SecureString to allow null chara…
DashCoreAutoGuix 4818e39
Merge bitcoin#26119: doc: Move -permitbaremultisig to the relay help …
PastaPastaPasta c07cb09
Merge bitcoin/bitcoin#27271: RPC: Fix fund transaction crash when at …
DashCoreAutoGuix 425ed5e
Merge bitcoin/bitcoin#27124: docs: add ramdisk guide for running test…
DashCoreAutoGuix 669b60e
Merge bitcoin/bitcoin#27073: Convert ArgsManager::GetDataDir to a rea…
DashCoreAutoGuix 49a05e4
Merge bitcoin/bitcoin#26194: rpc, wallet: use the same `next_index` k…
DashCoreAutoGuix File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,4 @@ | ||
| Add `next_index` in `listdescriptors` RPC | ||
| ----------------- | ||
|
|
||
| - Added a new `next_index` field in the response in `listdescriptors` to have the same format as `importdescriptors` |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,6 @@ | ||
| RPC Wallet | ||
| ---------- | ||
|
|
||
| - The `gettransaction`, `listtransactions`, `listsinceblock` RPCs now return | ||
| the `abandoned` field for all transactions. Previously, the "abandoned" field | ||
| was only returned for sent transactions. (#25158) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,6 @@ | ||
| Wallet | ||
| ------ | ||
|
|
||
| - Wallet passphrases may now contain null characters. | ||
| Prior to this change, only characters up to the first | ||
| null character were recognized and accepted. (#27068) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -106,11 +106,10 @@ void AskPassphraseDialog::accept() | |
| oldpass.reserve(MAX_PASSPHRASE_SIZE); | ||
| newpass1.reserve(MAX_PASSPHRASE_SIZE); | ||
| newpass2.reserve(MAX_PASSPHRASE_SIZE); | ||
| // TODO: get rid of this .c_str() by implementing SecureString::operator=(std::string) | ||
| // Alternately, find a way to make this input mlock()'d to begin with. | ||
| oldpass.assign(ui->passEdit1->text().toStdString().c_str()); | ||
| newpass1.assign(ui->passEdit2->text().toStdString().c_str()); | ||
| newpass2.assign(ui->passEdit3->text().toStdString().c_str()); | ||
|
|
||
| oldpass.assign(std::string_view{ui->passEdit1->text().toStdString()}); | ||
| newpass1.assign(std::string_view{ui->passEdit2->text().toStdString()}); | ||
| newpass2.assign(std::string_view{ui->passEdit3->text().toStdString()}); | ||
|
|
||
| secureClearPassFields(); | ||
|
|
||
|
|
@@ -185,8 +184,19 @@ void AskPassphraseDialog::accept() | |
| try { | ||
| if(!model->setWalletLocked(false, oldpass, mode == UnlockMixing)) | ||
| { | ||
| QMessageBox::critical(this, tr("Wallet unlock failed"), | ||
| tr("The passphrase entered for the wallet decryption was incorrect.")); | ||
| // Check if the passphrase has a null character (see #27067 for details) | ||
| if (oldpass.find('\0') == std::string::npos) { | ||
| QMessageBox::critical(this, tr("Wallet unlock failed"), | ||
| tr("The passphrase entered for the wallet decryption was incorrect.")); | ||
| } else { | ||
| QMessageBox::critical(this, tr("Wallet unlock failed"), | ||
| tr("The passphrase entered for the wallet decryption is incorrect. " | ||
| "It contains a null character (ie - a zero byte). " | ||
| "If the passphrase was set with a version of this software prior to 23.0, " | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. ec99c2f4fa289ff004af58618fba00c6088670ca: nit: merge it into original commit maybe |
||
| "please try again with only the characters up to — but not including — " | ||
| "the first null character. If this is successful, please set a new " | ||
| "passphrase to avoid this issue in the future.")); | ||
| } | ||
| } | ||
| else | ||
| { | ||
|
|
@@ -207,8 +217,18 @@ void AskPassphraseDialog::accept() | |
| } | ||
| else | ||
| { | ||
| QMessageBox::critical(this, tr("Wallet encryption failed"), | ||
| tr("The passphrase entered for the wallet decryption was incorrect.")); | ||
| // Check if the old passphrase had a null character (see #27067 for details) | ||
| if (oldpass.find('\0') == std::string::npos) { | ||
| QMessageBox::critical(this, tr("Passphrase change failed"), | ||
| tr("The passphrase entered for the wallet decryption was incorrect.")); | ||
| } else { | ||
| QMessageBox::critical(this, tr("Passphrase change failed"), | ||
| tr("The old passphrase entered for the wallet decryption is incorrect. " | ||
| "It contains a null character (ie - a zero byte). " | ||
| "If the passphrase was set with a version of this software prior to 23.0, " | ||
| "please try again with only the characters up to — but not including — " | ||
| "the first null character.")); | ||
| } | ||
| } | ||
| } | ||
| else | ||
|
|
||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -171,6 +171,7 @@ static void initTranslations(QTranslator &qtTranslatorBase, QTranslator &qtTrans | |
|
|
||
| static bool InitSettings() | ||
| { | ||
| gArgs.EnsureDataDir(); | ||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 27073: need to pull 27176 as well (related docs update) |
||
| if (!gArgs.GetSettingsPath()) { | ||
| return true; // Do nothing if settings file disabled. | ||
| } | ||
|
|
||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
probably 27068 is not full, see
upgradetohdinsrc/wallet/rpc/wallet.cpp