1/* 2 Unix SMB/CIFS implementation. 3 SMB torture tester 4 Copyright (C) Jelmer Vernooij 2006 5 6 This program is free software; you can redistribute it and/or modify 7 it under the terms of the GNU General Public License as published by 8 the Free Software Foundation; either version 3 of the License, or 9 (at your option) any later version. 10 11 This program is distributed in the hope that it will be useful, 12 but WITHOUT ANY WARRANTY; without even the implied warranty of 13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 GNU General Public License for more details. 15 16 You should have received a copy of the GNU General Public License 17 along with this program. If not, see <http://www.gnu.org/licenses/>. 18*/ 19 20#include "includes.h" 21#include "../libcli/nbt/libnbt.h" 22#include "torture/torture.h" 23#include "torture/nbt/proto.h" 24#include "torture/smbtorture.h" 25#include "libcli/resolve/resolve.h" 26#include "param/param.h" 27 28struct nbt_name_socket *torture_init_nbt_socket(struct torture_context *tctx) 29{ 30 return nbt_name_socket_init(tctx, tctx->ev, lp_iconv_convenience(tctx->lp_ctx)); 31} 32 33bool torture_nbt_get_name(struct torture_context *tctx, 34 struct nbt_name *name, 35 const char **address) 36{ 37 make_nbt_name_server(name, strupper_talloc(tctx, 38 torture_setting_string(tctx, "host", NULL))); 39 40 /* do an initial name resolution to find its IP */ 41 torture_assert_ntstatus_ok(tctx, 42 resolve_name(lp_resolve_context(tctx->lp_ctx), name, tctx, address, tctx->ev), 43 talloc_asprintf(tctx, 44 "Failed to resolve %s", name->name)); 45 46 return true; 47} 48 49NTSTATUS torture_nbt_init(void) 50{ 51 struct torture_suite *suite = torture_suite_create( 52 talloc_autofree_context(), "NBT"); 53 /* nbt tests */ 54 torture_suite_add_suite(suite, torture_nbt_register(suite)); 55 torture_suite_add_suite(suite, torture_nbt_wins(suite)); 56 torture_suite_add_suite(suite, torture_nbt_dgram(suite)); 57 torture_suite_add_suite(suite, torture_nbt_winsreplication(suite)); 58 torture_suite_add_suite(suite, torture_bench_nbt(suite)); 59 torture_suite_add_suite(suite, torture_bench_wins(suite)); 60 61 suite->description = talloc_strdup(suite, 62 "NetBIOS over TCP/IP and WINS tests"); 63 64 torture_register_suite(suite); 65 66 return NT_STATUS_OK; 67} 68