mirror of
https://github.com/samba-team/samba.git
synced 2024-12-22 13:34:15 +03:00
Add a tunable "AllowClientDBAttach" with default value 1.
When set to 0, clients will not be able to attach to databases via the db_attach control. This might can be useful for maintenance where ctdb should be kept running but clients should not be able to modify databases. (This used to be ctdb commit ddfeecda87955b4e46777599f678e6926d37f4c4)
This commit is contained in:
parent
faf6710cde
commit
a3e0079568
@ -121,6 +121,7 @@ struct ctdb_tunable {
|
||||
uint32_t deferred_attach_timeout;
|
||||
uint32_t vacuum_fast_path_count;
|
||||
uint32_t lcp2_public_ip_assignment;
|
||||
uint32_t allow_client_db_attach;
|
||||
};
|
||||
|
||||
/*
|
||||
|
@ -1010,6 +1010,12 @@ int32_t ctdb_control_db_attach(struct ctdb_context *ctdb, TDB_DATA indata,
|
||||
struct ctdb_node *node = ctdb->nodes[ctdb->pnn];
|
||||
struct ctdb_client *client = NULL;
|
||||
|
||||
if (ctdb->tunable.allow_client_db_attach == 0) {
|
||||
DEBUG(DEBUG_ERR, ("DB Attach to database %s denied by tunable "
|
||||
"AllowClientDBAccess == 0\n", db_name));
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* dont allow any local clients to attach while we are in recovery mode
|
||||
* except for the recovery daemon.
|
||||
* allow all attach from the network since these are always from remote
|
||||
|
@ -68,7 +68,8 @@ static const struct {
|
||||
{ "UseStatusEvents", 0, offsetof(struct ctdb_tunable, use_status_events_for_monitoring) },
|
||||
{ "AllowUnhealthyDBRead", 0, offsetof(struct ctdb_tunable, allow_unhealthy_db_read) },
|
||||
{ "StatHistoryInterval", 1, offsetof(struct ctdb_tunable, stat_history_interval) },
|
||||
{ "DeferredAttachTO", 120, offsetof(struct ctdb_tunable, deferred_attach_timeout) }
|
||||
{ "DeferredAttachTO", 120, offsetof(struct ctdb_tunable, deferred_attach_timeout) },
|
||||
{ "AllowClientDBAttach", 1, offsetof(struct ctdb_tunable, allow_client_db_attach) }
|
||||
};
|
||||
|
||||
/*
|
||||
|
Loading…
Reference in New Issue
Block a user