[SCM] Samba Shared Repository - branch master updated - release-4-0-0alpha7-2047-g1b806d8

Stefan Metzmacher metze at samba.org
Fri Jun 5 09:33:02 GMT 2009


The branch, master has been updated
       via  1b806d83b723216e3e16778ce33ae710fab2c011 (commit)
       via  160ead46dc13e908903e70e372bdafc2ba8f4615 (commit)
      from  96de8766fc80881c4398ea11ce65cccbb9b7c83b (commit)

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


- Log -----------------------------------------------------------------
commit 1b806d83b723216e3e16778ce33ae710fab2c011
Author: Stefan Metzmacher <metze at samba.org>
Date:   Tue Jun 2 16:07:08 2009 +0200

    s3:smbd: make smbd_server_connection_terminate() a macro
    
    metze

commit 160ead46dc13e908903e70e372bdafc2ba8f4615
Author: Stefan Metzmacher <metze at samba.org>
Date:   Fri Jun 5 11:05:03 2009 +0200

    s3:smbd: implement smbd_smb2_request_error/done() as macros on top of the _ex() function
    
    metze

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

Summary of changes:
 source3/include/smb_macros.h  |    3 ---
 source3/smbd/globals.h        |   22 ++++++++++++++++------
 source3/smbd/smb2_server.c    |   39 ++++++++++++++++-----------------------
 source3/smbd/smb2_sesssetup.c |    3 ++-
 4 files changed, 34 insertions(+), 33 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/include/smb_macros.h b/source3/include/smb_macros.h
index 6dd9cab..7528883 100644
--- a/source3/include/smb_macros.h
+++ b/source3/include/smb_macros.h
@@ -339,7 +339,4 @@ extern const char toupper_ascii_fast_table[];
 #define toupper_ascii_fast(c) toupper_ascii_fast_table[(unsigned int)(c)];
 #endif
 
-#define smbd_smb2_request_error(req, status) \
-	smbd_smb2_request_error_((req), (status), __location__)
-
 #endif /* _SMB_MACROS_H */
diff --git a/source3/smbd/globals.h b/source3/smbd/globals.h
index 4c90e8f..26e63f1 100644
--- a/source3/smbd/globals.h
+++ b/source3/smbd/globals.h
@@ -170,20 +170,30 @@ NTSTATUS smb2_signing_check_pdu(DATA_BLOB session_key,
 				const struct iovec *vector,
 				int count);
 
+void smbd_server_connection_terminate_ex(struct smbd_server_connection *sconn,
+					 const char *reason,
+					 const char *location);
+#define smbd_server_connection_terminate(sconn, reason) \
+	smbd_server_connection_terminate_ex(sconn, reason, __location__)
+
 bool smbd_is_smb2_header(const uint8_t *inbuf, size_t size);
 
 void reply_smb2002(struct smb_request *req, uint16_t choice);
 void smbd_smb2_first_negprot(struct smbd_server_connection *conn,
 			     const uint8_t *inbuf, size_t size);
 
-NTSTATUS smbd_smb2_request_error_(struct smbd_smb2_request *req,
-				 NTSTATUS status,
-				 const char *wherestr);
+NTSTATUS smbd_smb2_request_error_ex(struct smbd_smb2_request *req,
+				    NTSTATUS status,
+				    DATA_BLOB *info,
+				    const char *location);
+#define smbd_smb2_request_error(req, status) \
+	smbd_smb2_request_error_ex(req, status, NULL, __location__)
 NTSTATUS smbd_smb2_request_done_ex(struct smbd_smb2_request *req,
 				   NTSTATUS status,
-				   DATA_BLOB body, DATA_BLOB *dyn);
-NTSTATUS smbd_smb2_request_done(struct smbd_smb2_request *req,
-				DATA_BLOB body, DATA_BLOB *dyn);
+				   DATA_BLOB body, DATA_BLOB *dyn,
+				   const char *location);
+#define smbd_smb2_request_done(req, body, dyn) \
+	smbd_smb2_request_done_ex(req, NT_STATUS_OK, body, dyn, __location__)
 
 NTSTATUS smbd_smb2_request_check_session(struct smbd_smb2_request *req);
 NTSTATUS smbd_smb2_request_check_tcon(struct smbd_smb2_request *req);
diff --git a/source3/smbd/smb2_server.c b/source3/smbd/smb2_server.c
index 5c4bdca..e797bdd 100644
--- a/source3/smbd/smb2_server.c
+++ b/source3/smbd/smb2_server.c
@@ -277,10 +277,12 @@ static NTSTATUS smbd_smb2_request_setup_out(struct smbd_smb2_request *req)
 	return NT_STATUS_OK;
 }
 
-static void smbd_server_connection_terminate(struct smbd_server_connection *conn,
-					     const char *reason)
+void smbd_server_connection_terminate_ex(struct smbd_server_connection *sconn,
+					 const char *reason,
+					 const char *location)
 {
-	DEBUG(10,("smbd_server_connection_terminate: reason[%s]\n", reason));
+	DEBUG(10,("smbd_server_connection_terminate_ex: reason[%s] at %s\n",
+		  reason, location));
 	exit_server_cleanly(reason);
 }
 
@@ -583,17 +585,18 @@ static void smbd_smb2_request_writev_done(struct tevent_req *subreq)
 	talloc_free(mem_pool);
 }
 
-static NTSTATUS smbd_smb2_request_error_ex(struct smbd_smb2_request *req,
+NTSTATUS smbd_smb2_request_error_ex(struct smbd_smb2_request *req,
 				    NTSTATUS status,
-				    const char *wherestr,
-				    DATA_BLOB *info)
+				    DATA_BLOB *info,
+				    const char *location)
 {
 	uint8_t *outhdr;
 	uint8_t *outbody;
 	int i = req->current_idx;
 
-	DEBUG(10,("smbd_smb2_request_error_ex: idx[%d] status[%s] at %s |%s|\n",
-		  i, nt_errstr(status), wherestr, info ? " +info" : ""));
+	DEBUG(10,("smbd_smb2_request_error_ex: idx[%d] status[%s] |%s| at %s\n",
+		  i, nt_errstr(status), info ? " +info" : "",
+		  location));
 
 	outhdr = (uint8_t *)req->out.vector[i].iov_base;
 
@@ -620,15 +623,10 @@ static NTSTATUS smbd_smb2_request_error_ex(struct smbd_smb2_request *req,
 	return smbd_smb2_request_reply(req);
 }
 
-NTSTATUS smbd_smb2_request_error_(struct smbd_smb2_request *req,
-				 NTSTATUS status, const char *wherestr)
-{
-	return smbd_smb2_request_error_ex(req, status, wherestr, NULL);
-}
-
 NTSTATUS smbd_smb2_request_done_ex(struct smbd_smb2_request *req,
 				   NTSTATUS status,
-				   DATA_BLOB body, DATA_BLOB *dyn)
+				   DATA_BLOB body, DATA_BLOB *dyn,
+				   const char *location)
 {
 	uint8_t *outhdr;
 	uint8_t *outdyn;
@@ -636,10 +634,11 @@ NTSTATUS smbd_smb2_request_done_ex(struct smbd_smb2_request *req,
 	uint32_t next_command_ofs;
 
 	DEBUG(10,("smbd_smb2_request_done_ex: "
-		  "idx[%d] status[%s] body[%u] dyn[%s:%u]\n",
+		  "idx[%d] status[%s] body[%u] dyn[%s:%u] at %s\n",
 		  i, nt_errstr(status), (unsigned int)body.length,
 		  dyn ? "yes": "no",
-		  (unsigned int)(dyn ? dyn->length : 0)));
+		  (unsigned int)(dyn ? dyn->length : 0),
+		  location));
 
 	if (body.length < 2) {
 		return smbd_smb2_request_error(req, NT_STATUS_INTERNAL_ERROR);
@@ -690,12 +689,6 @@ NTSTATUS smbd_smb2_request_done_ex(struct smbd_smb2_request *req,
 	return smbd_smb2_request_reply(req);
 }
 
-NTSTATUS smbd_smb2_request_done(struct smbd_smb2_request *req,
-				DATA_BLOB body, DATA_BLOB *dyn)
-{
-	return smbd_smb2_request_done_ex(req, NT_STATUS_OK, body, dyn);
-}
-
 struct smbd_smb2_request_read_state {
 	size_t missing;
 	bool asked_for_header;
diff --git a/source3/smbd/smb2_sesssetup.c b/source3/smbd/smb2_sesssetup.c
index faf7bd3..b56f8bd 100644
--- a/source3/smbd/smb2_sesssetup.c
+++ b/source3/smbd/smb2_sesssetup.c
@@ -114,7 +114,8 @@ NTSTATUS smbd_smb2_request_process_sesssetup(struct smbd_smb2_request *req)
 
 	outdyn = out_security_buffer;
 
-	return smbd_smb2_request_done_ex(req, status, outbody, &outdyn);
+	return smbd_smb2_request_done_ex(req, status, outbody, &outdyn,
+					 __location__);
 }
 
 static int smbd_smb2_session_destructor(struct smbd_smb2_session *session)


-- 
Samba Shared Repository


More information about the samba-cvs mailing list