Line data Source code
1 : /*
2 : Unix SMB/CIFS implementation.
3 : Core SMB2 server
4 :
5 : Copyright (C) Stefan Metzmacher 2009
6 :
7 : This program is free software; you can redistribute it and/or modify
8 : it under the terms of the GNU General Public License as published by
9 : the Free Software Foundation; either version 3 of the License, or
10 : (at your option) any later version.
11 :
12 : This program is distributed in the hope that it will be useful,
13 : but WITHOUT ANY WARRANTY; without even the implied warranty of
14 : MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 : GNU General Public License for more details.
16 :
17 : You should have received a copy of the GNU General Public License
18 : along with this program. If not, see <http://www.gnu.org/licenses/>.
19 : */
20 :
21 : #include "includes.h"
22 : #include "smbd/smbd.h"
23 : #include "smbd/globals.h"
24 : #include "../libcli/smb/smb_common.h"
25 :
26 : #undef DBGC_CLASS
27 : #define DBGC_CLASS DBGC_SMB2
28 :
29 60 : NTSTATUS smbd_smb2_request_process_keepalive(struct smbd_smb2_request *req)
30 : {
31 : DATA_BLOB outbody;
32 : NTSTATUS status;
33 :
34 60 : status = smbd_smb2_request_verify_sizes(req, 0x04);
35 60 : if (!NT_STATUS_IS_OK(status)) {
36 0 : return smbd_smb2_request_error(req, status);
37 : }
38 :
39 : /* TODO: update some time stamps */
40 :
41 60 : outbody = smbd_smb2_generate_outbody(req, 0x04);
42 60 : if (outbody.data == NULL) {
43 0 : return smbd_smb2_request_error(req, NT_STATUS_NO_MEMORY);
44 : }
45 :
46 60 : SSVAL(outbody.data, 0x00, 0x04); /* struct size */
47 60 : SSVAL(outbody.data, 0x02, 0); /* reserved */
48 :
49 60 : return smbd_smb2_request_done(req, outbody, NULL);
50 : }
|