1
0
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:
Michael Adam 2011-09-02 16:42:10 +02:00 committed by Ronnie Sahlberg
parent faf6710cde
commit a3e0079568
3 changed files with 9 additions and 1 deletions

View File

@ -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;
};
/*

View File

@ -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

View File

@ -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) }
};
/*