From 8daa83a594a2e98f39d764422bfbdbc62c9efd44 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Fri, 19 Apr 2024 19:20:00 +0200 Subject: Adding upstream version 2:4.20.0+dfsg. Signed-off-by: Daniel Baumann --- source3/torture/test_smbsock_any_connect.c | 47 ++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 source3/torture/test_smbsock_any_connect.c (limited to 'source3/torture/test_smbsock_any_connect.c') diff --git a/source3/torture/test_smbsock_any_connect.c b/source3/torture/test_smbsock_any_connect.c new file mode 100644 index 0000000..a964e0f --- /dev/null +++ b/source3/torture/test_smbsock_any_connect.c @@ -0,0 +1,47 @@ +/* + 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 . +*/ + +#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, NULL, NULL, NULL, + ARRAY_SIZE(addrs), 0, 0, + &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; +} -- cgit v1.2.3