summaryrefslogtreecommitdiff
path: root/source3/libsmb
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2011-10-24 08:42:10 +0200
committerStefan Metzmacher <metze@samba.org>2011-10-24 10:18:06 +0200
commit7ebd4337acfeeb69ffbf615a0220d0d338705849 (patch)
tree82022e57f61b4944ed10dddcda388c8fa70cbb4f /source3/libsmb
parent6e2ecaf77d789262aa417b751046e2bed15bf8fa (diff)
downloadsamba-7ebd4337acfeeb69ffbf615a0220d0d338705849.tar.gz
samba-7ebd4337acfeeb69ffbf615a0220d0d338705849.tar.bz2
samba-7ebd4337acfeeb69ffbf615a0220d0d338705849.zip
libcli/smb: move source3/libsmb/read_smb.* to the toplevel
metze Autobuild-User: Stefan Metzmacher <metze@samba.org> Autobuild-Date: Mon Oct 24 10:18:06 CEST 2011 on sn-devel-104
Diffstat (limited to 'source3/libsmb')
-rw-r--r--source3/libsmb/async_smb.c2
-rw-r--r--source3/libsmb/cliconnect.c1
-rw-r--r--source3/libsmb/read_smb.c110
-rw-r--r--source3/libsmb/read_smb.h33
-rw-r--r--source3/libsmb/smb2cli_base.c2
-rw-r--r--source3/libsmb/smbsock_connect.c2
6 files changed, 3 insertions, 147 deletions
diff --git a/source3/libsmb/async_smb.c b/source3/libsmb/async_smb.c
index 3786638a0d..283dec6a5a 100644
--- a/source3/libsmb/async_smb.c
+++ b/source3/libsmb/async_smb.c
@@ -25,7 +25,7 @@
#include "async_smb.h"
#include "../libcli/smb/smb_seal.h"
#include "libsmb/nmblib.h"
-#include "read_smb.h"
+#include "../libcli/smb/read_smb.h"
static NTSTATUS cli_pull_raw_error(const uint8_t *buf)
{
diff --git a/source3/libsmb/cliconnect.c b/source3/libsmb/cliconnect.c
index da47bc512c..391903bf3b 100644
--- a/source3/libsmb/cliconnect.c
+++ b/source3/libsmb/cliconnect.c
@@ -32,7 +32,6 @@
#include "../lib/util/tevent_ntstatus.h"
#include "async_smb.h"
#include "libsmb/nmblib.h"
-#include "read_smb.h"
#include "librpc/ndr/libndr.h"
static const struct {
diff --git a/source3/libsmb/read_smb.c b/source3/libsmb/read_smb.c
deleted file mode 100644
index 9c3d8f1e73..0000000000
--- a/source3/libsmb/read_smb.c
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- Unix SMB/CIFS implementation.
- Infrastructure for async SMB client requests
- Copyright (C) Volker Lendecke 2008
-
- 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 "lib/async_req/async_sock.h"
-#include "read_smb.h"
-#include "lib/util/tevent_unix.h"
-
-/*
- * Read an smb packet asynchronously, discard keepalives
- */
-
-struct read_smb_state {
- struct tevent_context *ev;
- int fd;
- uint8_t *buf;
-};
-
-static ssize_t read_smb_more(uint8_t *buf, size_t buflen, void *private_data);
-static void read_smb_done(struct tevent_req *subreq);
-
-struct tevent_req *read_smb_send(TALLOC_CTX *mem_ctx,
- struct tevent_context *ev,
- int fd)
-{
- struct tevent_req *result, *subreq;
- struct read_smb_state *state;
-
- result = tevent_req_create(mem_ctx, &state, struct read_smb_state);
- if (result == NULL) {
- return NULL;
- }
- state->ev = ev;
- state->fd = fd;
-
- subreq = read_packet_send(state, ev, fd, 4, read_smb_more, NULL);
- if (subreq == NULL) {
- goto fail;
- }
- tevent_req_set_callback(subreq, read_smb_done, result);
- return result;
- fail:
- TALLOC_FREE(result);
- return NULL;
-}
-
-static ssize_t read_smb_more(uint8_t *buf, size_t buflen, void *private_data)
-{
- if (buflen > 4) {
- return 0; /* We've been here, we're done */
- }
- return smb_len_tcp(buf);
-}
-
-static void read_smb_done(struct tevent_req *subreq)
-{
- struct tevent_req *req = tevent_req_callback_data(
- subreq, struct tevent_req);
- struct read_smb_state *state = tevent_req_data(
- req, struct read_smb_state);
- ssize_t len;
- int err;
-
- len = read_packet_recv(subreq, state, &state->buf, &err);
- TALLOC_FREE(subreq);
- if (len == -1) {
- tevent_req_error(req, err);
- return;
- }
-
- if (CVAL(state->buf, 0) == NBSSkeepalive) {
- subreq = read_packet_send(state, state->ev, state->fd, 4,
- read_smb_more, NULL);
- if (tevent_req_nomem(subreq, req)) {
- return;
- }
- tevent_req_set_callback(subreq, read_smb_done, req);
- return;
- }
- tevent_req_done(req);
-}
-
-ssize_t read_smb_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx,
- uint8_t **pbuf, int *perrno)
-{
- struct read_smb_state *state = tevent_req_data(
- req, struct read_smb_state);
-
- if (tevent_req_is_unix_error(req, perrno)) {
- return -1;
- }
- *pbuf = talloc_move(mem_ctx, &state->buf);
- return talloc_get_size(*pbuf);
-}
diff --git a/source3/libsmb/read_smb.h b/source3/libsmb/read_smb.h
deleted file mode 100644
index ae4dfdd63a..0000000000
--- a/source3/libsmb/read_smb.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- Unix SMB/CIFS implementation.
- Infrastructure for async SMB client requests
- Copyright (C) Volker Lendecke 2008
-
- 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/>.
-*/
-
-#ifndef __LIBSMB_READ_SMB_H
-#define __LIBSMB_READ_SMB_H
-
-#include "lib/talloc/talloc.h"
-#include "lib/tevent/tevent.h"
-
-struct tevent_req *read_smb_send(TALLOC_CTX *mem_ctx,
- struct tevent_context *ev,
- int fd);
-
-ssize_t read_smb_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx,
- uint8_t **pbuf, int *perrno);
-
-#endif
diff --git a/source3/libsmb/smb2cli_base.c b/source3/libsmb/smb2cli_base.c
index 52b7d0586a..3563af12ef 100644
--- a/source3/libsmb/smb2cli_base.c
+++ b/source3/libsmb/smb2cli_base.c
@@ -20,7 +20,7 @@
#include "includes.h"
#include "client.h"
-#include "read_smb.h"
+#include "libcli/smb/read_smb.h"
#include "smb2cli_base.h"
#include "libsmb/proto.h"
#include "lib/async_req/async_sock.h"
diff --git a/source3/libsmb/smbsock_connect.c b/source3/libsmb/smbsock_connect.c
index 1bb076eee6..1926445c10 100644
--- a/source3/libsmb/smbsock_connect.c
+++ b/source3/libsmb/smbsock_connect.c
@@ -23,7 +23,7 @@
#include "../lib/util/tevent_unix.h"
#include "client.h"
#include "async_smb.h"
-#include "read_smb.h"
+#include "../libcli/smb/read_smb.h"
#include "libsmb/nmblib.h"
struct cli_session_request_state {