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 <[email protected]>
Date:   Tue Feb 17 14:26:56 2009 +0100

    s3-spoolss: remove old spoolss_XcvData.
    
    Guenther

commit 73123420623b5d6bfb5d39f9a937c71976bdc450
Author: Günther Deschner <[email protected]>
Date:   Tue Feb 17 14:23:56 2009 +0100

    s3-spoolss: use pidl for _spoolss_XcvData.
    
    Guenther

commit e9bfc0ab512338c43030f70b4aaa94598157deaf
Author: Günther Deschner <[email protected]>
Date:   Wed Feb 18 16:10:40 2009 +0100

    s3: re-run make samba3-idl.
    
    Guenther

commit 6c91a83e941ff4ef4b1d8e18118f8fa3860c6134
Author: Günther Deschner <[email protected]>
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

Reply via email to