s3:libsmb: Plumb cli_smb2_close_fnum() inside cli_close().
[obnox/samba/samba-obnox.git] / source3 / libsmb / clifile.c
index 3c799a68a334748b461789638c8de7834d159653..571e1cc68cc50895e068b09e5593e0b258cbe1d1 100644 (file)
@@ -2536,11 +2536,17 @@ NTSTATUS cli_close_recv(struct tevent_req *req)
 
 NTSTATUS cli_close(struct cli_state *cli, uint16_t fnum)
 {
-       TALLOC_CTX *frame = talloc_stackframe();
+       TALLOC_CTX *frame = NULL;
        struct tevent_context *ev;
        struct tevent_req *req;
        NTSTATUS status = NT_STATUS_OK;
 
+       if (smbXcli_conn_protocol(cli->conn) >= PROTOCOL_SMB2_02) {
+               return cli_smb2_close_fnum(cli, fnum);
+       }
+
+       frame = talloc_stackframe();
+
        if (smbXcli_conn_has_async_calls(cli->conn)) {
                /*
                 * Can't use sync call while an async call is in flight