[SCM] Samba Shared Repository - branch master updated - release-4-0-0alpha6-966-g1cd3456

Günther Deschner gd at samba.org
Wed Feb 18 15:24:06 GMT 2009


The branch, master has been updated
       via  1cd34565d0ae07dfba773bc9e5679668137b724f (commit)
       via  73123420623b5d6bfb5d39f9a937c71976bdc450 (commit)
       via  e9bfc0ab512338c43030f70b4aaa94598157deaf (commit)
       via  6c91a83e941ff4ef4b1d8e18118f8fa3860c6134 (commit)
      from  6a53ff1ea8ca6eee81652a68fb49b2871c327b72 (commit)

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


- Log -----------------------------------------------------------------
commit 1cd34565d0ae07dfba773bc9e5679668137b724f
Author: Günther Deschner <gd at samba.org>
Date:   Tue Feb 17 14:26:56 2009 +0100

    s3-spoolss: remove old spoolss_XcvData.
    
    Guenther

commit 73123420623b5d6bfb5d39f9a937c71976bdc450
Author: Günther Deschner <gd at samba.org>
Date:   Tue Feb 17 14:23:56 2009 +0100

    s3-spoolss: use pidl for _spoolss_XcvData.
    
    Guenther

commit e9bfc0ab512338c43030f70b4aaa94598157deaf
Author: Günther Deschner <gd at samba.org>
Date:   Wed Feb 18 16:10:40 2009 +0100

    s3: re-run make samba3-idl.
    
    Guenther

commit 6c91a83e941ff4ef4b1d8e18118f8fa3860c6134
Author: Günther Deschner <gd at samba.org>
Date:   Wed Feb 18 16:09:02 2009 +0100

    spoolss: fix spoolss_MonitorUi struct.
    
    Guenther

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

Summary of changes:
 librpc/gen_ndr/ndr_spoolss.c        |   25 +++---
 librpc/gen_ndr/spoolss.h            |    2 +-
 librpc/idl/spoolss.idl              |    2 +-
 source3/include/nt_printing.h       |   22 -----
 source3/include/proto.h             |    5 -
 source3/include/rpc_spoolss.h       |   38 --------
 source3/rpc_parse/parse_spoolss.c   |  170 ----------------------------------
 source3/rpc_server/srv_spoolss.c    |   22 +----
 source3/rpc_server/srv_spoolss_nt.c |  174 ++++++++++++++++++++++------------
 9 files changed, 128 insertions(+), 332 deletions(-)


Changeset truncated at 500 lines:

diff --git a/librpc/gen_ndr/ndr_spoolss.c b/librpc/gen_ndr/ndr_spoolss.c
index 1230343..8ab2290 100644
--- a/librpc/gen_ndr/ndr_spoolss.c
+++ b/librpc/gen_ndr/ndr_spoolss.c
@@ -12545,11 +12545,13 @@ _PUBLIC_ void ndr_print_spoolss_PortData1(struct ndr_print *ndr, const char *nam
 _PUBLIC_ enum ndr_err_code ndr_push_spoolss_MonitorUi(struct ndr_push *ndr, int ndr_flags, const struct spoolss_MonitorUi *r)
 {
 	if (ndr_flags & NDR_SCALARS) {
-		NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dll_name, CH_UTF16)));
-		NDR_CHECK(ndr_push_align(ndr, 2));
-		NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
-		NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dll_name, CH_UTF16)));
-		NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dll_name, ndr_charset_length(r->dll_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
+		NDR_CHECK(ndr_push_align(ndr, 4));
+		{
+			uint32_t _flags_save_string = ndr->flags;
+			ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
+			NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->dll_name));
+			ndr->flags = _flags_save_string;
+		}
 	}
 	if (ndr_flags & NDR_BUFFERS) {
 	}
@@ -12559,14 +12561,13 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_MonitorUi(struct ndr_push *ndr, int
 _PUBLIC_ enum ndr_err_code ndr_pull_spoolss_MonitorUi(struct ndr_pull *ndr, int ndr_flags, struct spoolss_MonitorUi *r)
 {
 	if (ndr_flags & NDR_SCALARS) {
-		NDR_CHECK(ndr_pull_array_size(ndr, &r->dll_name));
-		NDR_CHECK(ndr_pull_align(ndr, 2));
-		NDR_CHECK(ndr_pull_array_length(ndr, &r->dll_name));
-		if (ndr_get_array_length(ndr, &r->dll_name) > ndr_get_array_size(ndr, &r->dll_name)) {
-			return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->dll_name), ndr_get_array_length(ndr, &r->dll_name));
+		NDR_CHECK(ndr_pull_align(ndr, 4));
+		{
+			uint32_t _flags_save_string = ndr->flags;
+			ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
+			NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->dll_name));
+			ndr->flags = _flags_save_string;
 		}
-		NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dll_name), sizeof(uint16_t)));
-		NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dll_name, ndr_get_array_length(ndr, &r->dll_name), sizeof(uint16_t), CH_UTF16));
 	}
 	if (ndr_flags & NDR_BUFFERS) {
 	}
diff --git a/librpc/gen_ndr/spoolss.h b/librpc/gen_ndr/spoolss.h
index 0e6cf0b..9c74969 100644
--- a/librpc/gen_ndr/spoolss.h
+++ b/librpc/gen_ndr/spoolss.h
@@ -1170,7 +1170,7 @@ struct spoolss_PortData1 {
 }/* [public] */;
 
 struct spoolss_MonitorUi {
-	const char *dll_name;/* [charset(UTF16)] */
+	const char * dll_name;/* [flag(LIBNDR_FLAG_STR_NULLTERM)] */
 }/* [public] */;
 
 /* bitmap spoolss_AddPrinterDriverExFlags */
diff --git a/librpc/idl/spoolss.idl b/librpc/idl/spoolss.idl
index 8847247..4c428f8 100644
--- a/librpc/idl/spoolss.idl
+++ b/librpc/idl/spoolss.idl
@@ -1963,7 +1963,7 @@ import "misc.idl", "security.idl", "winreg.idl";
 	} spoolss_PortData1;
 
 	typedef [public] struct {
-		[string,charset(UTF16)] uint16 dll_name[];
+		nstring dll_name;
 	} spoolss_MonitorUi;
 
 	WERROR spoolss_XcvData(
diff --git a/source3/include/nt_printing.h b/source3/include/nt_printing.h
index f515a40..3bf51f2 100644
--- a/source3/include/nt_printing.h
+++ b/source3/include/nt_printing.h
@@ -347,28 +347,6 @@ typedef struct
 #define SAMBA_PRINTER_PORT_NAME "Samba Printer Port"
 #endif
 
-
-/*
- * Structures for the XcvDataPort() calls
- */
-
-#define PORT_PROTOCOL_DIRECT	1
-#define PORT_PROTOCOL_LPR	2
-
-typedef struct {
-	fstring name;
-	uint32 version;
-	uint32 protocol;
-	fstring hostaddr;
-	fstring snmpcommunity;
-	fstring queue;
-	uint32 dblspool;
-	fstring ipaddr;
-	uint32 port;
-	bool enable_snmp;
-	uint32 snmp_index;
-} NT_PORT_DATA_1;
-
 /* DOS header format */
 #define DOS_HEADER_SIZE                 64
 #define DOS_HEADER_MAGIC_OFFSET         0
diff --git a/source3/include/proto.h b/source3/include/proto.h
index 8542fbb..3da5b98 100644
--- a/source3/include/proto.h
+++ b/source3/include/proto.h
@@ -6042,10 +6042,6 @@ bool make_spoolss_q_getjob(SPOOL_Q_GETJOB *q_u, POLICY_HND *handle,
 bool make_spoolss_q_rffpcnex(SPOOL_Q_RFFPCNEX *q_u, POLICY_HND *handle,
 			     uint32 flags, uint32 options, const char *localmachine,
 			     uint32 printerlocal, SPOOL_NOTIFY_OPTION *option);
-bool spoolss_io_q_xcvdataport(const char *desc, SPOOL_Q_XCVDATAPORT *q_u, prs_struct *ps, int depth);
-bool spoolss_io_r_xcvdataport(const char *desc, SPOOL_R_XCVDATAPORT *r_u, prs_struct *ps, int depth);
-bool make_monitorui_buf( RPC_BUFFER *buf, const char *dllname );
-bool convert_port_data_1( NT_PORT_DATA_1 *port1, RPC_BUFFER *buf ) ;
 
 /* The following definitions come from rpc_server/srv_eventlog_lib.c  */
 
@@ -6262,7 +6258,6 @@ WERROR _spoolss_getjob( pipes_struct *p, SPOOL_Q_GETJOB *q_u, SPOOL_R_GETJOB *r_
 WERROR _spoolss_enumprinterkey(pipes_struct *p, SPOOL_Q_ENUMPRINTERKEY *q_u, SPOOL_R_ENUMPRINTERKEY *r_u);
 WERROR _spoolss_enumprinterdataex(pipes_struct *p, SPOOL_Q_ENUMPRINTERDATAEX *q_u, SPOOL_R_ENUMPRINTERDATAEX *r_u);
 WERROR _spoolss_getprintprocessordirectory(pipes_struct *p, SPOOL_Q_GETPRINTPROCESSORDIRECTORY *q_u, SPOOL_R_GETPRINTPROCESSORDIRECTORY *r_u);
-WERROR _spoolss_xcvdataport(pipes_struct *p, SPOOL_Q_XCVDATAPORT *q_u, SPOOL_R_XCVDATAPORT *r_u);
 
 /* The following definitions come from rpc_server/srv_srvsvc_nt.c  */
 
diff --git a/source3/include/rpc_spoolss.h b/source3/include/rpc_spoolss.h
index ba66e42..8eb8785 100644
--- a/source3/include/rpc_spoolss.h
+++ b/source3/include/rpc_spoolss.h
@@ -1497,44 +1497,6 @@ SPOOL_R_GETPRINTPROCESSORDIRECTORY;
 
 /**************************************/
 
-#define MAX_PORTNAME		64
-#define MAX_NETWORK_NAME	49
-#define MAX_SNMP_COMM_NAME	33
-#define	MAX_QUEUE_NAME		33
-#define MAX_IPADDR_STRING	17
-		
-typedef struct {
-	uint16 portname[MAX_PORTNAME];
-	uint32 version;
-	uint32 protocol;
-	uint32 size;
-	uint32 reserved;
-	uint16 hostaddress[MAX_NETWORK_NAME];
-	uint16 snmpcommunity[MAX_SNMP_COMM_NAME];
-	uint32 dblspool;
-	uint16 queue[MAX_QUEUE_NAME];
-	uint16 ipaddress[MAX_IPADDR_STRING];
-	uint32 port;
-	uint32 snmpenabled;
-	uint32 snmpdevindex;
-} SPOOL_PORT_DATA_1;
-
-typedef struct {
-	POLICY_HND handle;
-	UNISTR2 dataname;
-	RPC_BUFFER indata;
-	uint32 indata_len;
-	uint32 offered;
-	uint32 unknown;
-} SPOOL_Q_XCVDATAPORT;
-
-typedef struct {
-	RPC_BUFFER outdata;
-	uint32 needed;
-	uint32 unknown;
-	WERROR status;
-} SPOOL_R_XCVDATAPORT;
-
 #define PRINTER_DRIVER_VERSION 2
 #define PRINTER_DRIVER_ARCHITECTURE "Windows NT x86"
 
diff --git a/source3/rpc_parse/parse_spoolss.c b/source3/rpc_parse/parse_spoolss.c
index 08613bb..2862b55 100644
--- a/source3/rpc_parse/parse_spoolss.c
+++ b/source3/rpc_parse/parse_spoolss.c
@@ -5543,173 +5543,3 @@ bool make_spoolss_q_rffpcnex(SPOOL_Q_RFFPCNEX *q_u, POLICY_HND *handle,
 
 	return True;
 }
-
-
-/*******************************************************************
- ********************************************************************/  
-
-bool spoolss_io_q_xcvdataport(const char *desc, SPOOL_Q_XCVDATAPORT *q_u, prs_struct *ps, int depth)
-{
-	prs_debug(ps, depth, desc, "spoolss_io_q_xcvdataport");
-	depth++;
-
-	if(!prs_align(ps))
-		return False;	
-
-	if(!smb_io_pol_hnd("printer handle", &q_u->handle, ps, depth))
-		return False;
-		
-	if(!smb_io_unistr2("", &q_u->dataname, True, ps, depth))
-		return False;
-
-	if (!prs_align(ps))
-		return False;
-
-	if(!prs_rpcbuffer("", ps, depth, &q_u->indata))
-		return False;
-		
-	if (!prs_align(ps))
-		return False;
-
-	if (!prs_uint32("indata_len", ps, depth, &q_u->indata_len))
-		return False;
-	if (!prs_uint32("offered", ps, depth, &q_u->offered))
-		return False;
-	if (!prs_uint32("unknown", ps, depth, &q_u->unknown))
-		return False;
-	
-	return True;
-}
-
-/*******************************************************************
- ********************************************************************/  
-
-bool spoolss_io_r_xcvdataport(const char *desc, SPOOL_R_XCVDATAPORT *r_u, prs_struct *ps, int depth)
-{
-	prs_debug(ps, depth, desc, "spoolss_io_r_xcvdataport");
-	depth++;
-
-	if(!prs_align(ps))
-		return False;
-	if(!prs_rpcbuffer("", ps, depth, &r_u->outdata))
-		return False;
-		
-	if (!prs_align(ps))
-		return False;
-
-	if (!prs_uint32("needed", ps, depth, &r_u->needed))
-		return False;
-	if (!prs_uint32("unknown", ps, depth, &r_u->unknown))
-		return False;
-
-	if(!prs_werror("status", ps, depth, &r_u->status))
-		return False;
-
-	return True;
-}
-
-/*******************************************************************
- ********************************************************************/  
-
-bool make_monitorui_buf( RPC_BUFFER *buf, const char *dllname )
-{
-	UNISTR string;
-	
-	if ( !buf )
-		return False;
-
-	init_unistr( &string, dllname );
-
-	if ( !prs_unistr( "ui_dll", &buf->prs, 0, &string ) )
-		return False;
-
-	return True;
-}
-
-/*******************************************************************
- ********************************************************************/  
- 
-#define PORT_DATA_1_PAD    540
-
-static bool smb_io_port_data_1( const char *desc, RPC_BUFFER *buf, int depth, SPOOL_PORT_DATA_1 *p1 )
-{
-	prs_struct *ps = &buf->prs;
-	uint8 padding[PORT_DATA_1_PAD];
-
-	prs_debug(ps, depth, desc, "smb_io_port_data_1");
-	depth++;
-
-	if(!prs_align(ps))
-		return False;	
-
-	if( !prs_uint16s(True, "portname", ps, depth, p1->portname, MAX_PORTNAME))
-		return False;
-
-	if (!prs_uint32("version", ps, depth, &p1->version))
-		return False;
-	if (!prs_uint32("protocol", ps, depth, &p1->protocol))
-		return False;
-	if (!prs_uint32("size", ps, depth, &p1->size))
-		return False;
-	if (!prs_uint32("reserved", ps, depth, &p1->reserved))
-		return False;
-
-	if( !prs_uint16s(True, "hostaddress", ps, depth, p1->hostaddress, MAX_NETWORK_NAME))
-		return False;
-	if( !prs_uint16s(True, "snmpcommunity", ps, depth, p1->snmpcommunity, MAX_SNMP_COMM_NAME))
-		return False;
-
-	if (!prs_uint32("dblspool", ps, depth, &p1->dblspool))
-		return False;
-		
-	if( !prs_uint16s(True, "queue", ps, depth, p1->queue, MAX_QUEUE_NAME))
-		return False;
-	if( !prs_uint16s(True, "ipaddress", ps, depth, p1->ipaddress, MAX_IPADDR_STRING))
-		return False;
-
-	if( !prs_uint8s(False, "", ps, depth, padding, PORT_DATA_1_PAD))
-		return False;
-		
-	if (!prs_uint32("port", ps, depth, &p1->port))
-		return False;
-	if (!prs_uint32("snmpenabled", ps, depth, &p1->snmpenabled))
-		return False;
-	if (!prs_uint32("snmpdevindex", ps, depth, &p1->snmpdevindex))
-		return False;
-		
-	return True;
-}
-
-/*******************************************************************
- ********************************************************************/  
-
-bool convert_port_data_1( NT_PORT_DATA_1 *port1, RPC_BUFFER *buf ) 
-{
-	SPOOL_PORT_DATA_1 spdata_1;
-	
-	ZERO_STRUCT( spdata_1 );
-	
-	if ( !smb_io_port_data_1( "port_data_1", buf, 0, &spdata_1 ) )
-		return False;
-		
-	rpcstr_pull(port1->name, spdata_1.portname, sizeof(port1->name), -1, 0);
-	rpcstr_pull(port1->queue, spdata_1.queue, sizeof(port1->queue), -1, 0);
-	rpcstr_pull(port1->hostaddr, spdata_1.hostaddress, sizeof(port1->hostaddr), -1, 0);
-	
-	port1->port = spdata_1.port;
-	
-	switch ( spdata_1.protocol ) {
-	case 1:
-		port1->protocol = PORT_PROTOCOL_DIRECT;
-		break;
-	case 2:
-		port1->protocol = PORT_PROTOCOL_LPR;
-		break;
-	default:
-		DEBUG(3,("convert_port_data_1: unknown protocol [%d]!\n", 
-			spdata_1.protocol));
-		return False;
-	}
-
-	return True;
-}
diff --git a/source3/rpc_server/srv_spoolss.c b/source3/rpc_server/srv_spoolss.c
index c5d20e0..10e983e 100644
--- a/source3/rpc_server/srv_spoolss.c
+++ b/source3/rpc_server/srv_spoolss.c
@@ -974,27 +974,7 @@ static bool api_spoolss_deleteprinterdriverex(pipes_struct *p)
 
 static bool api_spoolss_xcvdataport(pipes_struct *p)
 {
-	SPOOL_Q_XCVDATAPORT q_u;
-	SPOOL_R_XCVDATAPORT r_u;
-	prs_struct *data = &p->in_data.data;
-	prs_struct *rdata = &p->out_data.rdata;
-	
-	ZERO_STRUCT(q_u);
-	ZERO_STRUCT(r_u);
-	
-	if(!spoolss_io_q_xcvdataport("", &q_u, data, 0)) {
-		DEBUG(0,("spoolss_io_q_replyopenprinter: unable to unmarshall SPOOL_Q_XCVDATAPORT.\n"));
-		return False;
-	}
-	
-	r_u.status = _spoolss_xcvdataport(p, &q_u, &r_u);
-				
-	if(!spoolss_io_r_xcvdataport("", &r_u, rdata, 0)) {
-		DEBUG(0,("spoolss_io_r_replyopenprinter: unable to marshall SPOOL_R_XCVDATAPORT.\n"));
-		return False;
-	}
-	
-	return True;
+	return proxy_spoolss_call(p, NDR_SPOOLSS_XCVDATA);
 }
 
 /*******************************************************************
diff --git a/source3/rpc_server/srv_spoolss_nt.c b/source3/rpc_server/srv_spoolss_nt.c
index 8faa1f5..6019d18 100644
--- a/source3/rpc_server/srv_spoolss_nt.c
+++ b/source3/rpc_server/srv_spoolss_nt.c
@@ -69,7 +69,7 @@ extern struct standard_mapping printer_std_mapping, printserver_std_mapping;
 
 struct xcv_api_table {
 	const char *name;
-	WERROR(*fn) (NT_USER_TOKEN *token, RPC_BUFFER *in, RPC_BUFFER *out, uint32 *needed);
+	WERROR(*fn) (TALLOC_CTX *mem_ctx, NT_USER_TOKEN *token, DATA_BLOB *in, DATA_BLOB *out, uint32_t *needed);
 };
 
 /********************************************************************
@@ -9826,21 +9826,41 @@ WERROR _spoolss_getprintprocessordirectory(pipes_struct *p, SPOOL_Q_GETPRINTPROC
 }
 
 /*******************************************************************
+ ********************************************************************/
+
+static bool push_monitorui_buf(TALLOC_CTX *mem_ctx, DATA_BLOB *buf,
+			       const char *dllname)
+{
+	enum ndr_err_code ndr_err;
+	struct spoolss_MonitorUi ui;
+
+	ui.dll_name = dllname;
+
+	ndr_err = ndr_push_struct_blob(buf, mem_ctx, NULL, &ui,
+		       (ndr_push_flags_fn_t)ndr_push_spoolss_MonitorUi);
+	if (NDR_ERR_CODE_IS_SUCCESS(ndr_err) && (DEBUGLEVEL >= 10)) {
+		NDR_PRINT_DEBUG(spoolss_MonitorUi, &ui);
+	}
+	return NDR_ERR_CODE_IS_SUCCESS(ndr_err);
+}
+
+/*******************************************************************
  Streams the monitor UI DLL name in UNICODE
 *******************************************************************/
 
-static WERROR xcvtcp_monitorui( NT_USER_TOKEN *token, RPC_BUFFER *in,
-                                RPC_BUFFER *out, uint32 *needed )
+static WERROR xcvtcp_monitorui(TALLOC_CTX *mem_ctx,
+			       NT_USER_TOKEN *token, DATA_BLOB *in,
+			       DATA_BLOB *out, uint32_t *needed)
 {
 	const char *dllname = "tcpmonui.dll";
 
 	*needed = (strlen(dllname)+1) * 2;
 
-	if ( rpcbuf_get_size(out) < *needed ) {
+	if (out->length < *needed) {
 		return WERR_INSUFFICIENT_BUFFER;
 	}
 
-	if ( !make_monitorui_buf( out, dllname ) ) {
+	if (!push_monitorui_buf(mem_ctx, out, dllname)) {
 		return WERR_NOMEM;
 	}
 
@@ -9848,35 +9868,52 @@ static WERROR xcvtcp_monitorui( NT_USER_TOKEN *token, RPC_BUFFER *in,
 }
 
 /*******************************************************************
+ ********************************************************************/
+
+static bool pull_port_data_1(TALLOC_CTX *mem_ctx,
+			     struct spoolss_PortData1 *port1,
+			     const DATA_BLOB *buf)
+{
+	enum ndr_err_code ndr_err;
+	ndr_err = ndr_pull_struct_blob(buf, mem_ctx, NULL, port1,
+		       (ndr_pull_flags_fn_t)ndr_pull_spoolss_PortData1);
+	if (NDR_ERR_CODE_IS_SUCCESS(ndr_err) && (DEBUGLEVEL >= 10)) {
+		NDR_PRINT_DEBUG(spoolss_PortData1, port1);
+	}
+	return NDR_ERR_CODE_IS_SUCCESS(ndr_err);
+}
+
+/*******************************************************************
  Create a new TCP/IP port
 *******************************************************************/
 
-static WERROR xcvtcp_addport( NT_USER_TOKEN *token, RPC_BUFFER *in,
-                              RPC_BUFFER *out, uint32 *needed )
+static WERROR xcvtcp_addport(TALLOC_CTX *mem_ctx,
+			     NT_USER_TOKEN *token, DATA_BLOB *in,
+			     DATA_BLOB *out, uint32_t *needed)
 {
-	NT_PORT_DATA_1 port1;
-	TALLOC_CTX *ctx = talloc_tos();
+	struct spoolss_PortData1 port1;
 	char *device_uri = NULL;
 
-	ZERO_STRUCT( port1 );
+	ZERO_STRUCT(port1);
 
 	/* convert to our internal port data structure */
 
-	if ( !convert_port_data_1( &port1, in ) ) {
+	if (!pull_port_data_1(mem_ctx, &port1, in)) {
 		return WERR_NOMEM;
 	}
 
 	/* create the device URI and call the add_port_hook() */
 
 	switch ( port1.protocol ) {
-	case PORT_PROTOCOL_DIRECT:
-		device_uri = talloc_asprintf(ctx,
-				"socket://%s:%d/", port1.hostaddr, port1.port );
+	case PROTOCOL_RAWTCP_TYPE:
+		device_uri = talloc_asprintf(mem_ctx,
+				"socket://%s:%d/", port1.hostaddress,
+				port1.port_number);
 		break;


-- 
Samba Shared Repository


More information about the samba-cvs mailing list