summaryrefslogtreecommitdiff
path: root/source3/libsmb/smb2cli_negprot.c
blob: ebf61ec9802c9447121c4da71f56233e4f724549 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
/*
   Unix SMB/CIFS implementation.
   smb2 lib
   Copyright (C) Volker Lendecke 2011

   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 "client.h"
#include "../libcli/smb/smbXcli_base.h"
#include "smb2cli.h"

NTSTATUS smb2cli_negprot(struct cli_state *cli)
{
	if (cli->smb2.conn == NULL) {
		cli->smb2.conn = smbXcli_conn_create(cli,
						     cli->conn.fd,
						     cli->conn.remote_name,
						     0,  /* signing state */
						     0,  /* smb1_capabilities */
						     NULL); /* client guid */
		if (cli->smb2.conn == NULL) {
			return NT_STATUS_NO_MEMORY;
		}
	}

	return smbXcli_negprot(cli->smb2.conn, cli->timeout,
			       PROTOCOL_SMB2_02, PROTOCOL_SMB2_02);
}