feat: remove set_upgrade_authority_via_cpi_enabled feature (#17933)

This commit is contained in:
Sebastian Bor
2021-06-22 10:05:33 +01:00
committed by GitHub
parent d9def8e4f6
commit 3a4176aa3e
2 changed files with 3 additions and 11 deletions

View File

@ -21,7 +21,7 @@ use solana_sdk::{
feature_set::{ feature_set::{
blake3_syscall_enabled, cpi_data_cost, demote_sysvar_write_locks, blake3_syscall_enabled, cpi_data_cost, demote_sysvar_write_locks,
enforce_aligned_host_addrs, keccak256_syscall_enabled, memory_ops_syscalls, enforce_aligned_host_addrs, keccak256_syscall_enabled, memory_ops_syscalls,
set_upgrade_authority_via_cpi_enabled, sysvar_via_syscall, update_data_on_realloc, sysvar_via_syscall, update_data_on_realloc,
}, },
hash::{Hasher, HASH_BYTES}, hash::{Hasher, HASH_BYTES},
ic_msg, ic_msg,
@ -2128,16 +2128,13 @@ fn check_account_infos(
fn check_authorized_program( fn check_authorized_program(
program_id: &Pubkey, program_id: &Pubkey,
instruction_data: &[u8], instruction_data: &[u8],
invoke_context: &Ref<&mut dyn InvokeContext>,
) -> Result<(), EbpfError<BpfError>> { ) -> Result<(), EbpfError<BpfError>> {
if native_loader::check_id(program_id) if native_loader::check_id(program_id)
|| bpf_loader::check_id(program_id) || bpf_loader::check_id(program_id)
|| bpf_loader_deprecated::check_id(program_id) || bpf_loader_deprecated::check_id(program_id)
|| (bpf_loader_upgradeable::check_id(program_id) || (bpf_loader_upgradeable::check_id(program_id)
&& !(bpf_loader_upgradeable::is_upgrade_instruction(instruction_data) && !(bpf_loader_upgradeable::is_upgrade_instruction(instruction_data)
|| (bpf_loader_upgradeable::is_set_authority_instruction(instruction_data) || bpf_loader_upgradeable::is_set_authority_instruction(instruction_data)))
&& invoke_context
.is_feature_active(&set_upgrade_authority_via_cpi_enabled::id()))))
{ {
return Err(SyscallError::ProgramNotSupported(*program_id).into()); return Err(SyscallError::ProgramNotSupported(*program_id).into());
} }
@ -2252,7 +2249,7 @@ fn call<'a>(
} }
}) })
.collect::<Vec<bool>>(); .collect::<Vec<bool>>();
check_authorized_program(&callee_program_id, &instruction.data, &invoke_context)?; check_authorized_program(&callee_program_id, &instruction.data)?;
let (accounts, account_refs) = syscall.translate_accounts( let (accounts, account_refs) = syscall.translate_accounts(
&message.account_keys, &message.account_keys,
callee_program_id_index, callee_program_id_index,

View File

@ -119,10 +119,6 @@ pub mod enforce_aligned_host_addrs {
solana_sdk::declare_id!("6Qob9Z4RwGdf599FDVCqsjuKjR8ZFR3oVs2ByRLWBsua"); solana_sdk::declare_id!("6Qob9Z4RwGdf599FDVCqsjuKjR8ZFR3oVs2ByRLWBsua");
} }
pub mod set_upgrade_authority_via_cpi_enabled {
solana_sdk::declare_id!("GQdjCCptpGECG7QfE35hKTAopB1umGoSrdKfax2VmZWy");
}
pub mod update_data_on_realloc { pub mod update_data_on_realloc {
solana_sdk::declare_id!("BkPcYCrwHXBoTsv9vMhiRF9gteZmDj3Uwisz9CDjoMKp"); solana_sdk::declare_id!("BkPcYCrwHXBoTsv9vMhiRF9gteZmDj3Uwisz9CDjoMKp");
} }
@ -185,7 +181,6 @@ lazy_static! {
(sysvar_via_syscall::id(), "provide sysvars via syscalls"), (sysvar_via_syscall::id(), "provide sysvars via syscalls"),
(check_duplicates_by_hash::id(), "use transaction message hash for duplicate check"), (check_duplicates_by_hash::id(), "use transaction message hash for duplicate check"),
(enforce_aligned_host_addrs::id(), "enforce aligned host addresses"), (enforce_aligned_host_addrs::id(), "enforce aligned host addresses"),
(set_upgrade_authority_via_cpi_enabled::id(), "set upgrade authority instruction via cpi calls for upgradable programs"),
(update_data_on_realloc::id(), "Retain updated data values modified after realloc via CPI"), (update_data_on_realloc::id(), "Retain updated data values modified after realloc via CPI"),
(keccak256_syscall_enabled::id(), "keccak256 syscall"), (keccak256_syscall_enabled::id(), "keccak256 syscall"),
(stake_program_v4::id(), "solana_stake_program v4"), (stake_program_v4::id(), "solana_stake_program v4"),