libcli/smb: move smb2cli_logoff_* from source3 to the top level
authorStefan Metzmacher <metze@samba.org>
Mon, 14 May 2012 07:47:05 +0000 (09:47 +0200)
committerStefan Metzmacher <metze@samba.org>
Mon, 14 May 2012 15:02:46 +0000 (17:02 +0200)
metze

Autobuild-User: Stefan Metzmacher <metze@samba.org>
Autobuild-Date: Mon May 14 17:02:46 CEST 2012 on sn-devel-104

libcli/smb/smb2cli_session.c
libcli/smb/smbXcli_base.h
source3/Makefile.in
source3/libsmb/smb2cli.h
source3/libsmb/smb2cli_session.c [deleted file]
source3/wscript_build

index b69f0a2a93590e6e962454071147fb7a85368263..640eb95f0b33b96a8a7dc171a7df4f9ce0e7e55b 100644 (file)
@@ -230,4 +230,104 @@ NTSTATUS smb2cli_session_setup_recv(struct tevent_req *req,
        return status;
 }
 
+struct smb2cli_logoff_state {
+       uint8_t fixed[4];
+};
+
+static void smb2cli_logoff_done(struct tevent_req *subreq);
+
+struct tevent_req *smb2cli_logoff_send(TALLOC_CTX *mem_ctx,
+                                      struct tevent_context *ev,
+                                      struct smbXcli_conn *conn,
+                                      uint32_t timeout_msec,
+                                      struct smbXcli_session *session)
+{
+       struct tevent_req *req, *subreq;
+       struct smb2cli_logoff_state *state;
+
+       req = tevent_req_create(mem_ctx, &state,
+                               struct smb2cli_logoff_state);
+       if (req == NULL) {
+               return NULL;
+       }
+       SSVAL(state->fixed, 0, 4);
+
+       subreq = smb2cli_req_send(state, ev,
+                                 conn, SMB2_OP_LOGOFF,
+                                 0, 0, /* flags */
+                                 timeout_msec,
+                                 0xFEFF, /* pid */
+                                 0, /* tid */
+                                 session,
+                                 state->fixed, sizeof(state->fixed),
+                                 NULL, 0);
+       if (tevent_req_nomem(subreq, req)) {
+               return tevent_req_post(req, ev);
+       }
+       tevent_req_set_callback(subreq, smb2cli_logoff_done, req);
+       return req;
+}
+
+static void smb2cli_logoff_done(struct tevent_req *subreq)
+{
+       struct tevent_req *req =
+               tevent_req_callback_data(subreq,
+               struct tevent_req);
+       struct smb2cli_logoff_state *state =
+               tevent_req_data(req,
+               struct smb2cli_logoff_state);
+       NTSTATUS status;
+       struct iovec *iov;
+       static const struct smb2cli_req_expected_response expected[] = {
+       {
+               .status = NT_STATUS_OK,
+               .body_size = 0x04
+       }
+       };
+
+       status = smb2cli_req_recv(subreq, state, &iov,
+                                 expected, ARRAY_SIZE(expected));
+       TALLOC_FREE(subreq);
+       if (tevent_req_nterror(req, status)) {
+               return;
+       }
+       tevent_req_done(req);
+}
 
+NTSTATUS smb2cli_logoff_recv(struct tevent_req *req)
+{
+       return tevent_req_simple_recv_ntstatus(req);
+}
+
+NTSTATUS smb2cli_logoff(struct smbXcli_conn *conn,
+                       uint32_t timeout_msec,
+                       struct smbXcli_session *session)
+{
+       TALLOC_CTX *frame = talloc_stackframe();
+       struct tevent_context *ev;
+       struct tevent_req *req;
+       NTSTATUS status = NT_STATUS_NO_MEMORY;
+
+       if (smbXcli_conn_has_async_calls(conn)) {
+               /*
+                * Can't use sync call while an async call is in flight
+                */
+               status = NT_STATUS_INVALID_PARAMETER;
+               goto fail;
+       }
+       ev = tevent_context_init(frame);
+       if (ev == NULL) {
+               goto fail;
+       }
+       req = smb2cli_logoff_send(frame, ev, conn, timeout_msec, session);
+       if (req == NULL) {
+               goto fail;
+       }
+       if (!tevent_req_poll_ntstatus(req, ev, &status)) {
+               goto fail;
+       }
+       status = smb2cli_logoff_recv(req);
+ fail:
+       TALLOC_FREE(frame);
+       return status;
+}
index 91dc2448351800e94e860970ef021bf54cd4c4e6..81fb1fd5826467de4b01129547ba343f7553e90f 100644 (file)
@@ -280,4 +280,14 @@ NTSTATUS smb2cli_session_setup_recv(struct tevent_req *req,
                                    struct iovec **recv_iov,
                                    DATA_BLOB *out_security_buffer);
 
+struct tevent_req *smb2cli_logoff_send(TALLOC_CTX *mem_ctx,
+                                      struct tevent_context *ev,
+                                      struct smbXcli_conn *conn,
+                                      uint32_t timeout_msec,
+                                      struct smbXcli_session *session);
+NTSTATUS smb2cli_logoff_recv(struct tevent_req *req);
+NTSTATUS smb2cli_logoff(struct smbXcli_conn *conn,
+                       uint32_t timeout_msec,
+                       struct smbXcli_session *session);
+
 #endif /* _SMBXCLI_BASE_H_ */
index 466cd637d4ed91b1609bf2e55e73c958846c6661..52ed5d3450290be91abf7e2db72f1db701708bb2 100644 (file)
@@ -618,7 +618,6 @@ LIBSMB_OBJ = libsmb/clientgen.o libsmb/cliconnect.o libsmb/clifile.o \
             ../libcli/smb/smbXcli_base.o \
             ../libcli/smb/smb1cli_trans.o \
             ../libcli/smb/smb2cli_session.o \
-            libsmb/smb2cli_session.o \
             libsmb/smb2cli_tcon.o \
             libsmb/smb2cli_create.o \
             ../libcli/smb/smb2_create_blob.o \
index bd6b13166963dc55bac64865a90b48f6940cafaa..003e0de9567f01d69888a17eb64d1336331afd49 100644 (file)
@@ -24,16 +24,6 @@ struct smbXcli_conn;
 struct smbXcli_session;
 struct cli_state;
 
-struct tevent_req *smb2cli_logoff_send(TALLOC_CTX *mem_ctx,
-                                      struct tevent_context *ev,
-                                      struct smbXcli_conn *conn,
-                                      uint32_t timeout_msec,
-                                      struct smbXcli_session *session);
-NTSTATUS smb2cli_logoff_recv(struct tevent_req *req);
-NTSTATUS smb2cli_logoff(struct smbXcli_conn *conn,
-                       uint32_t timeout_msec,
-                       struct smbXcli_session *session);
-
 struct tevent_req *smb2cli_tcon_send(TALLOC_CTX *mem_ctx,
                                     struct tevent_context *ev,
                                     struct cli_state *cli,
diff --git a/source3/libsmb/smb2cli_session.c b/source3/libsmb/smb2cli_session.c
deleted file mode 100644 (file)
index 385cca4..0000000
+++ /dev/null
@@ -1,130 +0,0 @@
-/*
-   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 "async_smb.h"
-#include "smb2cli.h"
-#include "../libcli/smb/smbXcli_base.h"
-#include "libsmb/proto.h"
-#include "lib/util/tevent_ntstatus.h"
-#include "../libcli/auth/spnego.h"
-#include "../auth/ntlmssp/ntlmssp.h"
-
-struct smb2cli_logoff_state {
-       uint8_t fixed[4];
-};
-
-static void smb2cli_logoff_done(struct tevent_req *subreq);
-
-struct tevent_req *smb2cli_logoff_send(TALLOC_CTX *mem_ctx,
-                                      struct tevent_context *ev,
-                                      struct smbXcli_conn *conn,
-                                      uint32_t timeout_msec,
-                                      struct smbXcli_session *session)
-{
-       struct tevent_req *req, *subreq;
-       struct smb2cli_logoff_state *state;
-
-       req = tevent_req_create(mem_ctx, &state,
-                               struct smb2cli_logoff_state);
-       if (req == NULL) {
-               return NULL;
-       }
-       SSVAL(state->fixed, 0, 4);
-
-       subreq = smb2cli_req_send(state, ev,
-                                 conn, SMB2_OP_LOGOFF,
-                                 0, 0, /* flags */
-                                 timeout_msec,
-                                 0xFEFF, /* pid */
-                                 0, /* tid */
-                                 session,
-                                 state->fixed, sizeof(state->fixed),
-                                 NULL, 0);
-       if (tevent_req_nomem(subreq, req)) {
-               return tevent_req_post(req, ev);
-       }
-       tevent_req_set_callback(subreq, smb2cli_logoff_done, req);
-       return req;
-}
-
-static void smb2cli_logoff_done(struct tevent_req *subreq)
-{
-       struct tevent_req *req =
-               tevent_req_callback_data(subreq,
-               struct tevent_req);
-       struct smb2cli_logoff_state *state =
-               tevent_req_data(req,
-               struct smb2cli_logoff_state);
-       NTSTATUS status;
-       struct iovec *iov;
-       static const struct smb2cli_req_expected_response expected[] = {
-       {
-               .status = NT_STATUS_OK,
-               .body_size = 0x04
-       }
-       };
-
-       status = smb2cli_req_recv(subreq, state, &iov,
-                                 expected, ARRAY_SIZE(expected));
-       TALLOC_FREE(subreq);
-       if (tevent_req_nterror(req, status)) {
-               return;
-       }
-       tevent_req_done(req);
-}
-
-NTSTATUS smb2cli_logoff_recv(struct tevent_req *req)
-{
-       return tevent_req_simple_recv_ntstatus(req);
-}
-
-NTSTATUS smb2cli_logoff(struct smbXcli_conn *conn,
-                       uint32_t timeout_msec,
-                       struct smbXcli_session *session)
-{
-       TALLOC_CTX *frame = talloc_stackframe();
-       struct tevent_context *ev;
-       struct tevent_req *req;
-       NTSTATUS status = NT_STATUS_NO_MEMORY;
-
-       if (smbXcli_conn_has_async_calls(conn)) {
-               /*
-                * Can't use sync call while an async call is in flight
-                */
-               status = NT_STATUS_INVALID_PARAMETER;
-               goto fail;
-       }
-       ev = tevent_context_init(frame);
-       if (ev == NULL) {
-               goto fail;
-       }
-       req = smb2cli_logoff_send(frame, ev, conn, timeout_msec, session);
-       if (req == NULL) {
-               goto fail;
-       }
-       if (!tevent_req_poll_ntstatus(req, ev, &status)) {
-               goto fail;
-       }
-       status = smb2cli_logoff_recv(req);
- fail:
-       TALLOC_FREE(frame);
-       return status;
-}
index adc98925199844478ddedfa3e2db45718c90927b..99d7bd80748f0b9c48e75f33b6a3943d29a9b813 100755 (executable)
@@ -130,7 +130,6 @@ LIBSMB_SRC = '''libsmb/clientgen.c libsmb/cliconnect.c libsmb/clifile.c
              libsmb/clioplock.c libsmb/clirap2.c
              libsmb/async_smb.c
              libsmb/clisigning.c
-             libsmb/smb2cli_session.c
              libsmb/smb2cli_tcon.c
              libsmb/smb2cli_create.c
              libsmb/smb2cli_close.c