diff options
author | Kai Blin <kai@samba.org> | 2012-08-31 13:41:19 +0200 |
---|---|---|
committer | Kai Blin <kai@samba.org> | 2012-08-31 22:46:01 +0200 |
commit | c256566aa97e040a9b3007c779b1006d20462ccb (patch) | |
tree | af9c0d5a21bf0fde7d27f704b9308f61e088ae0f /source4/dns_server/dns_server.h | |
parent | e4505fc27bf31dbf922635fac19ea52a2a002bd4 (diff) | |
download | samba-c256566aa97e040a9b3007c779b1006d20462ccb.tar.gz |
s4 dns: Store TKEYs in a ringbuffer
This stops us from potentially being DoSed by tons of TKEYs
Autobuild-User(master): Kai Blin <kai@samba.org>
Autobuild-Date(master): Fri Aug 31 22:46:01 CEST 2012 on sn-devel-104
Diffstat (limited to 'source4/dns_server/dns_server.h')
-rw-r--r-- | source4/dns_server/dns_server.h | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/source4/dns_server/dns_server.h b/source4/dns_server/dns_server.h index c2fe6cf9e8f..42ae0ba660c 100644 --- a/source4/dns_server/dns_server.h +++ b/source4/dns_server/dns_server.h @@ -34,7 +34,6 @@ struct dns_server_zone { }; struct dns_server_tkey { - struct dns_server_tkey *prev, *next; const char *name; enum dns_tkey_mode mode; struct auth_session_info *session_info; @@ -42,11 +41,19 @@ struct dns_server_tkey { bool complete; }; +#define TKEY_BUFFER_SIZE 128 + +struct dns_server_tkey_store { + struct dns_server_tkey **tkeys; + uint16_t next_idx; + uint16_t size; +}; + struct dns_server { struct task_server *task; struct ldb_context *samdb; struct dns_server_zone *zones; - struct dns_server_tkey *tkeys; + struct dns_server_tkey_store *tkeys; struct cli_credentials *server_credentials; }; |