NTSTATUS smbsock_connect_recv(struct tevent_req *req, int *sock,
uint16_t *ret_port);
-NTSTATUS smbsock_connect(const struct sockaddr_storage *addr, uint16_t port,
+NTSTATUS smbsock_connect(const struct sockaddr_storage *addr,
+ const struct smb_transports *transports,
const char *called_name, int called_type,
const char *calling_name, int calling_type,
- int *pfd, uint16_t *ret_port, int sec_timeout);
+ int *pfd, uint16_t *ret_port, int sec_timeout)
+ NONNULL(1) NONNULL(2) NONNULL(7);
struct tevent_req *smbsock_any_connect_send(TALLOC_CTX *mem_ctx,
struct tevent_context *ev,
return NT_STATUS_OK;
}
-NTSTATUS smbsock_connect(const struct sockaddr_storage *addr, uint16_t port,
+NTSTATUS smbsock_connect(const struct sockaddr_storage *addr,
+ const struct smb_transports *transports,
const char *called_name, int called_type,
const char *calling_name, int calling_type,
int *pfd, uint16_t *ret_port, int sec_timeout)
struct tevent_context *ev;
struct tevent_req *req;
NTSTATUS status = NT_STATUS_NO_MEMORY;
- struct smb_transports ts = smbsock_transports_from_port(port);
ev = samba_tevent_context_init(frame);
if (ev == NULL) {
goto fail;
}
- req = smbsock_connect_send(frame, ev, addr, &ts,
+ req = smbsock_connect_send(frame, ev, addr, transports,
called_name, called_type,
calling_name, calling_type);
if (req == NULL) {
int *fd)
{
char *saf_servername = NULL;
+ struct smb_transports ts =
+ smb_transports_parse("client smb transports",
+ lp_client_smb_transports());
NTSTATUS status;
bool ok;
return false;
}
- status = smbsock_connect(&domain->dcaddr, 0,
+ status = smbsock_connect(&domain->dcaddr, &ts,
domain->dcname, -1, NULL, -1,
fd, NULL, 10);
if (!NT_STATUS_IS_OK(status)) {