diff options
author | Volker Lendecke <vl@samba.org> | 2010-12-14 12:50:57 +0100 |
---|---|---|
committer | Volker Lendecke <vl@samba.org> | 2010-12-22 16:39:15 +0100 |
commit | 3ae7ef73b020789634df40d4b74dd4bad36ba4fa (patch) | |
tree | 2b5956ab526b8e1a982cad4237e8bb3f9a54233a /source3/torture | |
parent | d8e3d0af9e52c46fa2ab37dc263ae3a5ea5ce020 (diff) | |
download | samba-3ae7ef73b020789634df40d4b74dd4bad36ba4fa.tar.gz samba-3ae7ef73b020789634df40d4b74dd4bad36ba4fa.tar.bz2 samba-3ae7ef73b020789634df40d4b74dd4bad36ba4fa.zip |
s3: Test smbsock_any_connect
Diffstat (limited to 'source3/torture')
-rw-r--r-- | source3/torture/proto.h | 1 | ||||
-rw-r--r-- | source3/torture/test_smbsock_any_connect.c | 46 | ||||
-rw-r--r-- | source3/torture/torture.c | 1 |
3 files changed, 48 insertions, 0 deletions
diff --git a/source3/torture/proto.h b/source3/torture/proto.h index 63004345ca..a22113e7c6 100644 --- a/source3/torture/proto.h +++ b/source3/torture/proto.h @@ -85,5 +85,6 @@ bool run_posix_append(int dummy); bool run_nbench2(int dummy); bool run_async_echo(int dummy); +bool run_smb_any_connect(int dummy); #endif /* __TORTURE_H__ */ diff --git a/source3/torture/test_smbsock_any_connect.c b/source3/torture/test_smbsock_any_connect.c new file mode 100644 index 0000000000..4ebb4f9b39 --- /dev/null +++ b/source3/torture/test_smbsock_any_connect.c @@ -0,0 +1,46 @@ +/* + Unix SMB/CIFS implementation. + Test the smb_any_connect functionality + Copyright (C) Volker Lendecke 2010 + + 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 <http://www.gnu.org/licenses/>. +*/ + +#include "includes.h" +#include "torture/proto.h" + +bool run_smb_any_connect(int dummy) +{ + int fd; + NTSTATUS status; + struct sockaddr_storage addrs[5]; + size_t chosen_index; + uint16_t port; + + interpret_string_addr(&addrs[0], "192.168.99.5", 0); + interpret_string_addr(&addrs[1], "192.168.99.6", 0); + interpret_string_addr(&addrs[2], "192.168.99.7", 0); + interpret_string_addr(&addrs[3], "192.168.99.8", 0); + interpret_string_addr(&addrs[4], "192.168.99.9", 0); + + status = smbsock_any_connect(addrs, NULL, ARRAY_SIZE(addrs), &fd, + &chosen_index, &port); + + d_printf("smbsock_any_connect returned %s (fd %d)\n", + nt_errstr(status), NT_STATUS_IS_OK(status) ? fd : -1); + if (NT_STATUS_IS_OK(status)) { + close(fd); + } + return true; +} diff --git a/source3/torture/torture.c b/source3/torture/torture.c index f1f2e99760..2eb2566681 100644 --- a/source3/torture/torture.c +++ b/source3/torture/torture.c @@ -7849,6 +7849,7 @@ static struct { { "STREAMERROR", run_streamerror }, { "NOTIFY-BENCH", run_notify_bench }, { "BAD-NBT-SESSION", run_bad_nbt_session }, + { "SMB-ANY-CONNECT", run_smb_any_connect }, { "LOCAL-SUBSTITUTE", run_local_substitute, 0}, { "LOCAL-GENCACHE", run_local_gencache, 0}, { "LOCAL-TALLOC-DICT", run_local_talloc_dict, 0}, |