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 1187 : NTSTATUS smbd_smb2_request_process_keepalive(struct smbd_smb2_request *req) 30 : { 31 8 : DATA_BLOB outbody; 32 8 : NTSTATUS status; 33 : 34 1187 : status = smbd_smb2_request_verify_sizes(req, 0x04); 35 1187 : 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 1187 : outbody = smbd_smb2_generate_outbody(req, 0x04); 42 1187 : if (outbody.data == NULL) { 43 0 : return smbd_smb2_request_error(req, NT_STATUS_NO_MEMORY); 44 : } 45 : 46 1187 : SSVAL(outbody.data, 0x00, 0x04); /* struct size */ 47 1187 : SSVAL(outbody.data, 0x02, 0); /* reserved */ 48 : 49 1187 : return smbd_smb2_request_done(req, outbody, NULL); 50 : }