* adds the instance token to crds-labels for node-instance crds-values (#14037)
If a node "a" receives instance-info from node "b1" it will override any
instance-info associated with "b1" pubkey in its crds table. This makes
it less likely that when "b1" receives crds values from "a" (either
through pull or push), it sees other instances of itself (because node
"a" discarded them when it received "b1" instance info).
In order for the crds table to contain all instance-info associated with
the same pubkey at the same time, we need to add the instance tokens to
the keys in the crds table (i.e. the CrdsValueLabel).
(cherry picked from commit 409fe3bca1)
# Conflicts:
# core/src/cluster_info.rs
# core/src/crds_value.rs
* removes backport merge conflicts
Co-authored-by: behzad nouri <behzadnouri@gmail.com>
* Check SlotNotRooted if confirmed block not found in blockstore or bigtable (#13776)
* Separate blockstore checks for not (yet) rooted and cleaned up (#13814)
* Add logging in check_blockstore_max_root (#13887)
* Translate data length and owner as writable (#13914)
(cherry picked from commit 85bec37be4)
# Conflicts:
# programs/bpf/Cargo.toml
# programs/bpf/build.rs
# programs/bpf_loader/src/syscalls.rs
* Resolve conflicts
Co-authored-by: Jack May <jack@solana.com>
* Check that the program was granted access to program_id (#13890)
(cherry picked from commit 733fcbaa6c)
# Conflicts:
# programs/bpf/tests/programs.rs
* Resolve conflicts
* nudge
* nudge
Co-authored-by: Jack May <jack@solana.com>
* Add extra checks to verify_and_update (#13848)
* Add extra checks to verify_and_update
* nudge
(cherry picked from commit ce4304cc9a)
# Conflicts:
# runtime/src/message_processor.rs
* fix conflicts
Co-authored-by: Jack May <jack@solana.com>
* Add stake calculation tests with inflation/slashing
* Clean up the test
(cherry picked from commit 42421e77a9)
Co-authored-by: Ryo Onodera <ryoqun@gmail.com>
The --rpc-pubsub-enable-vote-subscription flag may be used to enable it.
The current vote subscription is problematic because it emits a
notification for *every* vote, so hundreds a second in a real cluster.
Critically it's also missing information about *who* is voting,
rendering all those notifications practically useless.
Until these two issues can be resolved, the vote subscription is not
much more than a potential DoS vector.
(cherry picked from commit 5d72e52ad0)
Co-authored-by: Michael Vines <mvines@gmail.com>
* ip-echo-server: Name the header length magic number
(cherry picked from commit aab5f24518)
* ip-echo-server: Add helper to compute reply length
(cherry picked from commit 7481ba5618)
* ip-echo-server: Limit socket read to expected reply length
(cherry picked from commit d2cfeb31b9)
Co-authored-by: Trent Nelson <trent@solana.com>
* Fix slow/stuck unstaking due to toggling in epoch (#13501)
* Fix slow/stuck unstaking due to toggling in epoch
* nits
* nits
* Add stake_program_v2 feature status check to cli
Co-authored-by: Tyera Eulberg <tyera@solana.com>
(cherry picked from commit 89b474e192)
* Fix conflict
* PartialEq<Vec<T>> is not impl for &[T] on rust v1.45.1
Co-authored-by: Ryo Onodera <ryoqun@gmail.com>
Co-authored-by: Tyera Eulberg <tyera@solana.com>