[SCM] Samba Shared Repository - branch master updated

Stefan Metzmacher metze at samba.org
Mon Oct 24 02:19:05 MDT 2011


The branch, master has been updated
       via  7ebd433 libcli/smb: move source3/libsmb/read_smb.* to the toplevel
       via  6e2ecaf s3:libsmb/read_smb: make use of smb_len_tcp()
       via  8f356ba s3:libsmb: remove unused sync read_smb()
       via  99666e4 s3:torture: avoid using read_smb()
      from  6b06b0d talloc: simplifiy the logic to build talloc_testsuite in the standalone build

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 7ebd4337acfeeb69ffbf615a0220d0d338705849
Author: Stefan Metzmacher <metze at samba.org>
Date:   Mon Oct 24 08:42:10 2011 +0200

    libcli/smb: move source3/libsmb/read_smb.* to the toplevel
    
    metze
    
    Autobuild-User: Stefan Metzmacher <metze at samba.org>
    Autobuild-Date: Mon Oct 24 10:18:06 CEST 2011 on sn-devel-104

commit 6e2ecaf77d789262aa417b751046e2bed15bf8fa
Author: Stefan Metzmacher <metze at samba.org>
Date:   Mon Oct 24 08:41:15 2011 +0200

    s3:libsmb/read_smb: make use of smb_len_tcp()
    
    metze

commit 8f356baab6c46535a1ed8a5e53859d2e69ce3166
Author: Stefan Metzmacher <metze at samba.org>
Date:   Tue Sep 20 04:47:21 2011 +0200

    s3:libsmb: remove unused sync read_smb()
    
    metze

commit 99666e4a8dd2751b1d39f370e82caa912f7079a2
Author: Stefan Metzmacher <metze at samba.org>
Date:   Tue Sep 20 04:43:05 2011 +0200

    s3:torture: avoid using read_smb()
    
    metze

-----------------------------------------------------------------------

Summary of changes:
 {source3/libsmb => libcli/smb}/read_smb.c |   28 +++-------------------------
 {source3/libsmb => libcli/smb}/read_smb.h |    1 -
 libcli/smb/wscript_build                  |    5 +++--
 source3/Makefile.in                       |    3 ++-
 source3/libsmb/async_smb.c                |    2 +-
 source3/libsmb/cliconnect.c               |    1 -
 source3/libsmb/smb2cli_base.c             |    2 +-
 source3/libsmb/smbsock_connect.c          |    2 +-
 source3/torture/torture.c                 |   19 +++++++++++++++++--
 source3/wscript_build                     |    5 +++--
 10 files changed, 31 insertions(+), 37 deletions(-)
 rename {source3/libsmb => libcli/smb}/read_smb.c (84%)
 rename {source3/libsmb => libcli/smb}/read_smb.h (93%)


Changeset truncated at 500 lines:

diff --git a/source3/libsmb/read_smb.c b/libcli/smb/read_smb.c
similarity index 84%
rename from source3/libsmb/read_smb.c
rename to libcli/smb/read_smb.c
index ecedcfb..26816c3 100644
--- a/source3/libsmb/read_smb.c
+++ b/libcli/smb/read_smb.c
@@ -18,9 +18,11 @@
 */
 
 #include "includes.h"
+#include "system/network.h"
 #include "lib/async_req/async_sock.h"
 #include "read_smb.h"
 #include "lib/util/tevent_unix.h"
+#include "libcli/smb/smb_constants.h"
 
 /*
  * Read an smb packet asynchronously, discard keepalives
@@ -65,7 +67,7 @@ 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_large(buf);
+	return smb_len_tcp(buf);
 }
 
 static void read_smb_done(struct tevent_req *subreq)
@@ -108,27 +110,3 @@ ssize_t read_smb_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx,
 	*pbuf = talloc_move(mem_ctx, &state->buf);
 	return talloc_get_size(*pbuf);
 }
-
-ssize_t read_smb(int fd, TALLOC_CTX *mem_ctx, uint8_t **pbuf, int *perrno)
-{
-	TALLOC_CTX *frame = talloc_stackframe();
-	struct event_context *ev;
-	struct tevent_req *req;
-	ssize_t ret = -1;
-
-	ev = event_context_init(frame);
-	if (ev == NULL) {
-		goto fail;
-	}
-	req = read_smb_send(frame, ev, fd);
-	if (req == NULL) {
-		goto fail;
-	}
-	if (!tevent_req_poll(req, ev)) {
-		goto fail;
-	}
-	ret = read_smb_recv(req, mem_ctx, pbuf, perrno);
- fail:
-	TALLOC_FREE(frame);
-	return ret;
-}
diff --git a/source3/libsmb/read_smb.h b/libcli/smb/read_smb.h
similarity index 93%
rename from source3/libsmb/read_smb.h
rename to libcli/smb/read_smb.h
index b0846c1..ae4dfdd 100644
--- a/source3/libsmb/read_smb.h
+++ b/libcli/smb/read_smb.h
@@ -29,6 +29,5 @@ struct tevent_req *read_smb_send(TALLOC_CTX *mem_ctx,
 
 ssize_t read_smb_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx,
 		      uint8_t **pbuf, int *perrno);
-ssize_t read_smb(int fd, TALLOC_CTX *mem_ctx, uint8_t **pbuf, int *perrno);
 
 #endif
diff --git a/libcli/smb/wscript_build b/libcli/smb/wscript_build
index 6334958..9339b96 100644
--- a/libcli/smb/wscript_build
+++ b/libcli/smb/wscript_build
@@ -2,13 +2,14 @@
 
 
 bld.SAMBA_LIBRARY('cli_smb_common',
-	source='smb_seal.c smb2_create_blob.c smb2_signing.c util.c',
+	source='smb_seal.c smb2_create_blob.c smb2_signing.c util.c read_smb.c',
 	autoproto='smb_common_proto.h',
-	deps='LIBCRYPTO errors gssapi gensec KRB5_WRAP',
+	deps='LIBCRYPTO errors gssapi gensec KRB5_WRAP LIBASYNC_REQ',
 	public_deps='talloc samba-util',
 	private_library=True,
 	public_headers='''smb_common.h smb2_constants.h smb_constants.h
 			smb_seal.h
 			smb2_create_blob.h smb2_signing.h smb_util.h smb_unix_ext.h
+			read_smb.h
 	''',
 	)
diff --git a/source3/Makefile.in b/source3/Makefile.in
index 62aff34..6f216c6 100644
--- a/source3/Makefile.in
+++ b/source3/Makefile.in
@@ -603,8 +603,9 @@ LIBSMB_OBJ = libsmb/clientgen.o libsmb/cliconnect.o libsmb/clifile.o \
 	     libsmb/clistr.o libsmb/cliquota.o libsmb/clifsinfo.o libsmb/clidfs.o \
 	     libsmb/clioplock.o libsmb/clirap2.o \
 	     libsmb/async_smb.o \
-	     libsmb/read_smb.o libsmb/clisigning.o \
+	     libsmb/clisigning.o \
 	     ../libcli/smb/smb_seal.o \
+	     ../libcli/smb/read_smb.o \
 	     libsmb/smb2cli_base.o \
 	     libsmb/smb2cli_negprot.o \
 	     libsmb/smb2cli_session.o \
diff --git a/source3/libsmb/async_smb.c b/source3/libsmb/async_smb.c
index 3786638..283dec6 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 da47bc5..391903b 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/smb2cli_base.c b/source3/libsmb/smb2cli_base.c
index 52b7d05..3563af1 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 1bb076e..1926445 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 {
diff --git a/source3/torture/torture.c b/source3/torture/torture.c
index 1e0983a..e42684d 100644
--- a/source3/torture/torture.c
+++ b/source3/torture/torture.c
@@ -39,7 +39,7 @@
 #include "libsmb/nmblib.h"
 #include "../lib/util/tevent_ntstatus.h"
 #include "util_tdb.h"
-#include "libsmb/read_smb.h"
+#include "../libcli/smb/read_smb.h"
 
 extern char *optarg;
 extern int optind;
@@ -234,6 +234,8 @@ static bool cli_bad_session_request(int fd,
 	bool ret = false;
 	uint8_t message_type;
 	uint8_t error;
+	struct event_context *ev;
+	struct tevent_req *req;
 
 	frame = talloc_stackframe();
 
@@ -279,11 +281,24 @@ static bool cli_bad_session_request(int fd,
 	if (len == -1) {
 		goto fail;
 	}
-	len = read_smb(fd, talloc_tos(), &inbuf, &err);
+
+	ev = event_context_init(frame);
+	if (ev == NULL) {
+		goto fail;
+	}
+	req = read_smb_send(frame, ev, fd);
+	if (req == NULL) {
+		goto fail;
+	}
+	if (!tevent_req_poll(req, ev)) {
+		goto fail;
+	}
+	len = read_smb_recv(req, talloc_tos(), &inbuf, &err);
 	if (len == -1) {
 		errno = err;
 		goto fail;
 	}
+	TALLOC_FREE(ev);
 
 	message_type = CVAL(inbuf, 0);
 	if (message_type != 0x83) {
diff --git a/source3/wscript_build b/source3/wscript_build
index 1c43be3..26a1ea2 100755
--- a/source3/wscript_build
+++ b/source3/wscript_build
@@ -127,7 +127,7 @@ LIBSMB_SRC = '''libsmb/clientgen.c libsmb/cliconnect.c libsmb/clifile.c
              libsmb/clistr.c libsmb/cliquota.c libsmb/clifsinfo.c libsmb/clidfs.c
              libsmb/clioplock.c libsmb/clirap2.c
              libsmb/async_smb.c
-             libsmb/read_smb.c libsmb/clisigning.c
+             libsmb/clisigning.c
              libsmb/smb2cli_base.c
              libsmb/smb2cli_negprot.c
              libsmb/smb2cli_session.c
@@ -874,7 +874,8 @@ bld.SAMBA3_SUBSYSTEM('LIBAFS_SETTOKEN',
 bld.SAMBA3_LIBRARY('smbconf',
                    source=LIB_SMBCONF_SRC,
                    deps='''LIBSMBCONF smbregistry REG_SMBCONF talloc param
-                   util_reg samba-util errors3 charset SAMBA_VERSION''',
+                   util_reg samba-util errors3 charset SAMBA_VERSION
+                   cli_smb_common''',
                    public_headers='../lib/smbconf/smbconf.h',
                    pc_files=[],
                    vnum='0')


-- 
Samba Shared Repository


More information about the samba-cvs mailing list