/* Unix SMB/CIFS implementation. DNS server handler for signed packets Copyright (C) 2012 Kai Blin This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include "includes.h" #include "lib/crypto/hmacmd5.h" #include "system/network.h" #include "librpc/ndr/libndr.h" #include "librpc/gen_ndr/ndr_dns.h" #include "dns_server/dns_server.h" #include "libcli/util/ntstatus.h" #include "auth/auth.h" #include "auth/gensec/gensec.h" struct dns_server_tkey *dns_find_tkey(struct dns_server_tkey_store *store, const char *name) { struct dns_server_tkey *tkey = NULL; uint16_t i = 0; do { struct dns_server_tkey *tmp_key = store->tkeys[i]; i++; i %= TKEY_BUFFER_SIZE; if (tmp_key == NULL) { continue; } if (dns_name_equal(name, tmp_key->name)) { tkey = tmp_key; break; } } while (i != 0); return tkey; }