Report sensitive configuration values instead of the configuration source
parent
33f9d03d22
commit
bd7b177707
|
@ -84,6 +84,7 @@ void osd_t::parse_config(blockstore_config_t & config)
|
||||||
run_primary = config["run_primary"] != "false" && config["run_primary"] != "0" && config["run_primary"] != "no";
|
run_primary = config["run_primary"] != "false" && config["run_primary"] != "0" && config["run_primary"] != "no";
|
||||||
no_rebalance = config["no_rebalance"] == "true" || config["no_rebalance"] == "1" || config["no_rebalance"] == "yes";
|
no_rebalance = config["no_rebalance"] == "true" || config["no_rebalance"] == "1" || config["no_rebalance"] == "yes";
|
||||||
no_recovery = config["no_recovery"] == "true" || config["no_recovery"] == "1" || config["no_recovery"] == "yes";
|
no_recovery = config["no_recovery"] == "true" || config["no_recovery"] == "1" || config["no_recovery"] == "yes";
|
||||||
|
allow_test_ops = config["allow_test_ops"] == "true" || config["allow_test_ops"] == "1" || config["allow_test_ops"] == "yes";
|
||||||
// Cluster configuration
|
// Cluster configuration
|
||||||
bind_address = config["bind_address"];
|
bind_address = config["bind_address"];
|
||||||
if (bind_address == "")
|
if (bind_address == "")
|
||||||
|
|
|
@ -104,7 +104,7 @@ class osd_t
|
||||||
int bind_port, listen_backlog;
|
int bind_port, listen_backlog;
|
||||||
// FIXME: Implement client queue depth limit
|
// FIXME: Implement client queue depth limit
|
||||||
int client_queue_depth = 128;
|
int client_queue_depth = 128;
|
||||||
bool allow_test_ops = true;
|
bool allow_test_ops = false;
|
||||||
int print_stats_interval = 3;
|
int print_stats_interval = 3;
|
||||||
int slow_log_interval = 10;
|
int slow_log_interval = 10;
|
||||||
int immediate_commit = IMMEDIATE_NONE;
|
int immediate_commit = IMMEDIATE_NONE;
|
||||||
|
|
|
@ -144,10 +144,20 @@ void osd_t::exec_secondary(osd_op_t *cur_op)
|
||||||
|
|
||||||
void osd_t::exec_show_config(osd_op_t *cur_op)
|
void osd_t::exec_show_config(osd_op_t *cur_op)
|
||||||
{
|
{
|
||||||
// FIXME: Send the real config, not its source
|
// Expose sensitive configuration values so peers can check them
|
||||||
auto cfg_copy = config;
|
json11::Json::object wire_config = json11::Json::object {
|
||||||
cfg_copy["protocol_version"] = std::to_string(OSD_PROTOCOL_VERSION);
|
{ "osd_num", osd_num },
|
||||||
std::string cfg_str = json11::Json(cfg_copy).dump();
|
{ "protocol_version", OSD_PROTOCOL_VERSION },
|
||||||
|
{ "block_size", (uint64_t)bs_block_size },
|
||||||
|
{ "bitmap_granularity", (uint64_t)bs_bitmap_granularity },
|
||||||
|
{ "primary_enabled", run_primary },
|
||||||
|
{ "blockstore_enabled", bs ? true : false },
|
||||||
|
{ "readonly", readonly },
|
||||||
|
{ "immediate_commit", (immediate_commit == IMMEDIATE_ALL ? "all" :
|
||||||
|
(immediate_commit == IMMEDIATE_SMALL ? "small" : "none")) },
|
||||||
|
{ "lease_timeout", etcd_report_interval+(MAX_ETCD_ATTEMPTS*(2*ETCD_QUICK_TIMEOUT)+999)/1000 },
|
||||||
|
};
|
||||||
|
std::string cfg_str = json11::Json(wire_config).dump();
|
||||||
cur_op->buf = malloc_or_die(cfg_str.size()+1);
|
cur_op->buf = malloc_or_die(cfg_str.size()+1);
|
||||||
memcpy(cur_op->buf, cfg_str.c_str(), cfg_str.size()+1);
|
memcpy(cur_op->buf, cfg_str.c_str(), cfg_str.size()+1);
|
||||||
cur_op->iov.push_back(cur_op->buf, cfg_str.size()+1);
|
cur_op->iov.push_back(cur_op->buf, cfg_str.size()+1);
|
||||||
|
|
Loading…
Reference in New Issue