The branch, master has been updated
       via  05bec77e00cc0f974d8521f781dce9dcff897f76 (commit)
       via  2260cdbb53e1bcc64adf1910c8986a02e3697a36 (commit)
       via  f982c912f47d5bfd00b4736573c7e4219a31a6c8 (commit)
       via  33768fea073fb24763728c1da3424465ebabc1f0 (commit)
       via  c3f461c35f9ca1b6a0e01efe53fbf439faaddad9 (commit)
      from  e16a2a1fa941511a8eeefd05b397dd934a77c9f6 (commit)

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


- Log -----------------------------------------------------------------
commit 05bec77e00cc0f974d8521f781dce9dcff897f76
Author: Günther Deschner <g...@samba.org>
Date:   Thu Jul 16 02:48:34 2009 +0200

    lsa: fix typo in lsa_TrustDomInfoEnum enum in IDL.
    
    Guenther

commit 2260cdbb53e1bcc64adf1910c8986a02e3697a36
Author: Günther Deschner <g...@samba.org>
Date:   Thu Jul 16 02:08:17 2009 +0200

    s3-ldapsam: bring Fedora DS LDAP schema in line with OpenLDAP schema.
    
    Guenther

commit f982c912f47d5bfd00b4736573c7e4219a31a6c8
Author: Günther Deschner <g...@samba.org>
Date:   Wed Jul 15 23:16:19 2009 +0200

    s3-rpc_parse: remove more unused code.
    
    Guenther

commit 33768fea073fb24763728c1da3424465ebabc1f0
Author: Günther Deschner <g...@samba.org>
Date:   Wed Jul 15 21:59:05 2009 +0200

    s3-spoolss: make some of the command hooks static.
    
    Guenther

commit c3f461c35f9ca1b6a0e01efe53fbf439faaddad9
Author: Günther Deschner <g...@samba.org>
Date:   Fri Jul 3 22:01:01 2009 +0200

    s4-smbtorture: some work on getprinterdriver and getprinterdriver2 tests.
    
    Guenther

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

Summary of changes:
 examples/LDAP/samba-schema-FDS.ldif |    8 +
 librpc/gen_ndr/lsa.h                |    6 +-
 librpc/gen_ndr/ndr_lsa.c            |   12 +-
 librpc/idl/lsa.idl                  |    4 +-
 source3/include/proto.h             |   19 --
 source3/rpc_parse/parse_prs.c       |  318 -----------------------------------
 source3/rpc_server/srv_spoolss_nt.c |    6 +-
 source4/rpc_server/lsa/dcesrv_lsa.c |    2 +-
 source4/torture/rpc/spoolss.c       |   69 +++++---
 9 files changed, 69 insertions(+), 375 deletions(-)


Changeset truncated at 500 lines:

diff --git a/examples/LDAP/samba-schema-FDS.ldif 
b/examples/LDAP/samba-schema-FDS.ldif
index e88559f..fb16486 100644
--- a/examples/LDAP/samba-schema-FDS.ldif
+++ b/examples/LDAP/samba-schema-FDS.ldif
@@ -115,6 +115,10 @@ attributeTypes: ( 1.3.6.1.4.1.7165.2.1.65 NAME 
'sambaLockoutThreshold' DESC 'Loc
 attributeTypes: ( 1.3.6.1.4.1.7165.2.1.66 NAME 'sambaForceLogoff' DESC 
'Disconnect Users outside logon hours (default: -1 => off, 0 => on)' EQUALITY 
integerMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
 # "refuse machine password change"
 attributeTypes: ( 1.3.6.1.4.1.7165.2.1.67 NAME 'sambaRefuseMachinePwdChange' 
DESC 'Allow Machine Password changes (default: 0 => off)' EQUALITY integerMatch 
SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
+#
+attributeTypes: ( 1.3.6.1.4.1.7165.2.1.68 NAME 'sambaClearTextPassword' DESC 
'Clear text password (used for trusted domain passwords)' EQUALITY 
octetStringMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.40 )
+#
+attributeTypes: ( 1.3.6.1.4.1.7165.2.1.69 NAME 
'sambaPreviousClearTextPassword' DESC 'Previous clear text password (used for 
trusted domain passwords)' EQUALITY octetStringMatch SYNTAX 
1.3.6.1.4.1.1466.115.121.1.40 )
 ##
 #######################################################################
 ##              objectClasses: used by Samba 3.0 schema               ##
@@ -154,3 +158,7 @@ objectClasses: ( 1.3.6.1.4.1.7165.2.2.12 NAME 
'sambaConfigOption' SUP top STRUCT
 ##     DESC 'Samba Privilege'
 ##     MUST ( sambaSID )
 ##     MAY ( sambaPrivilegeList ) )
+##
+## Trusted Domain Relationships
+##
+objectClasses: ( 1.3.6.1.4.1.7165.2.2.15 NAME 'sambaTrustedDomainPassword' SUP 
top STRUCTURAL DESC 'Samba Trusted Domain Password' MUST ( sambaDomainName $ 
sambaSID $ sambaClearTextPassword $ sambaPwdLastSet ) MAY ( 
sambaPreviousClearTextPassword ) )
diff --git a/librpc/gen_ndr/lsa.h b/librpc/gen_ndr/lsa.h
index 3c9a5d8..06fa445 100644
--- a/librpc/gen_ndr/lsa.h
+++ b/librpc/gen_ndr/lsa.h
@@ -445,7 +445,7 @@ enum lsa_TrustDomInfoEnum
        LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_INTERNAL=10,
        LSA_TRUSTED_DOMAIN_INFO_INFO_EX2_INTERNAL=11,
        LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_2_INTERNAL=12,
-       LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRTYPION_TYPES=13
+       LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES=13
 }
 #else
  { __donnot_use_enum_lsa_TrustDomInfoEnum=0x7FFFFFFF}
@@ -461,7 +461,7 @@ enum lsa_TrustDomInfoEnum
 #define LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_INTERNAL ( 10 )
 #define LSA_TRUSTED_DOMAIN_INFO_INFO_EX2_INTERNAL ( 11 )
 #define LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_2_INTERNAL ( 12 )
-#define LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRTYPION_TYPES ( 13 )
+#define LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES ( 13 )
 #endif
 ;
 
@@ -603,7 +603,7 @@ union lsa_TrustedDomainInfo {
        struct lsa_TrustDomainInfoFullInfoInternal full_info_internal;/* 
[case(LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_INTERNAL)] */
        struct lsa_TrustDomainInfoInfoEx2Internal info_ex2_internal;/* 
[case(LSA_TRUSTED_DOMAIN_INFO_INFO_EX2_INTERNAL)] */
        struct lsa_TrustDomainInfoFullInfo2Internal full_info2_internal;/* 
[case(LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_2_INTERNAL)] */
-       struct lsa_TrustDomainInfoSupportedEncTypes enc_types;/* 
[case(LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRTYPION_TYPES)] */
+       struct lsa_TrustDomainInfoSupportedEncTypes enc_types;/* 
[case(LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES)] */
 }/* [switch_type(lsa_TrustDomInfoEnum)] */;
 
 struct lsa_DATA_BUF_PTR {
diff --git a/librpc/gen_ndr/ndr_lsa.c b/librpc/gen_ndr/ndr_lsa.c
index 3ad9c41..2b12bbf 100644
--- a/librpc/gen_ndr/ndr_lsa.c
+++ b/librpc/gen_ndr/ndr_lsa.c
@@ -2735,7 +2735,7 @@ _PUBLIC_ void ndr_print_lsa_TrustDomInfoEnum(struct 
ndr_print *ndr, const char *
                case LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_INTERNAL: val = 
"LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_INTERNAL"; break;
                case LSA_TRUSTED_DOMAIN_INFO_INFO_EX2_INTERNAL: val = 
"LSA_TRUSTED_DOMAIN_INFO_INFO_EX2_INTERNAL"; break;
                case LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_2_INTERNAL: val = 
"LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_2_INTERNAL"; break;
-               case LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRTYPION_TYPES: val = 
"LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRTYPION_TYPES"; break;
+               case LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES: val = 
"LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES"; break;
        }
        ndr_print_enum(ndr, name, "ENUM", val, r);
 }
@@ -3662,7 +3662,7 @@ static enum ndr_err_code 
ndr_push_lsa_TrustedDomainInfo(struct ndr_push *ndr, in
                                
NDR_CHECK(ndr_push_lsa_TrustDomainInfoFullInfo2Internal(ndr, NDR_SCALARS, 
&r->full_info2_internal));
                        break; }
 
-                       case LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRTYPION_TYPES: {
+                       case LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES: {
                                
NDR_CHECK(ndr_push_lsa_TrustDomainInfoSupportedEncTypes(ndr, NDR_SCALARS, 
&r->enc_types));
                        break; }
 
@@ -3720,7 +3720,7 @@ static enum ndr_err_code 
ndr_push_lsa_TrustedDomainInfo(struct ndr_push *ndr, in
                                
NDR_CHECK(ndr_push_lsa_TrustDomainInfoFullInfo2Internal(ndr, NDR_BUFFERS, 
&r->full_info2_internal));
                        break;
 
-                       case LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRTYPION_TYPES:
+                       case LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES:
                        break;
 
                        default:
@@ -3789,7 +3789,7 @@ static enum ndr_err_code 
ndr_pull_lsa_TrustedDomainInfo(struct ndr_pull *ndr, in
                                
NDR_CHECK(ndr_pull_lsa_TrustDomainInfoFullInfo2Internal(ndr, NDR_SCALARS, 
&r->full_info2_internal));
                        break; }
 
-                       case LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRTYPION_TYPES: {
+                       case LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES: {
                                
NDR_CHECK(ndr_pull_lsa_TrustDomainInfoSupportedEncTypes(ndr, NDR_SCALARS, 
&r->enc_types));
                        break; }
 
@@ -3846,7 +3846,7 @@ static enum ndr_err_code 
ndr_pull_lsa_TrustedDomainInfo(struct ndr_pull *ndr, in
                                
NDR_CHECK(ndr_pull_lsa_TrustDomainInfoFullInfo2Internal(ndr, NDR_BUFFERS, 
&r->full_info2_internal));
                        break;
 
-                       case LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRTYPION_TYPES:
+                       case LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES:
                        break;
 
                        default:
@@ -3910,7 +3910,7 @@ _PUBLIC_ void ndr_print_lsa_TrustedDomainInfo(struct 
ndr_print *ndr, const char
                        ndr_print_lsa_TrustDomainInfoFullInfo2Internal(ndr, 
"full_info2_internal", &r->full_info2_internal);
                break;
 
-               case LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRTYPION_TYPES:
+               case LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES:
                        ndr_print_lsa_TrustDomainInfoSupportedEncTypes(ndr, 
"enc_types", &r->enc_types);
                break;
 
diff --git a/librpc/idl/lsa.idl b/librpc/idl/lsa.idl
index 9e3b7d6..3d7077c 100644
--- a/librpc/idl/lsa.idl
+++ b/librpc/idl/lsa.idl
@@ -651,7 +651,7 @@ import "misc.idl", "security.idl";
                LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_INTERNAL    = 10,
                LSA_TRUSTED_DOMAIN_INFO_INFO_EX2_INTERNAL     = 11,
                LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_2_INTERNAL  = 12,
-               LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRTYPION_TYPES = 13
+               LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES = 13
        } lsa_TrustDomInfoEnum;
 
        typedef [public,bitmap32bit] bitmap {
@@ -788,7 +788,7 @@ import "misc.idl", "security.idl";
                        lsa_TrustDomainInfoInfoEx2Internal   info_ex2_internal;
                [case(LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_2_INTERNAL)]
                        lsa_TrustDomainInfoFullInfo2Internal     
full_info2_internal;
-               [case(LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRTYPION_TYPES)]
+               [case(LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES)]
                        lsa_TrustDomainInfoSupportedEncTypes enc_types;
        } lsa_TrustedDomainInfo;
 
diff --git a/source3/include/proto.h b/source3/include/proto.h
index 15e3f32..d68aa4b 100644
--- a/source3/include/proto.h
+++ b/source3/include/proto.h
@@ -5676,32 +5676,16 @@ void prs_switch_type(prs_struct *ps, bool io);
 void prs_force_dynamic(prs_struct *ps);
 void prs_set_session_key(prs_struct *ps, const char sess_key[16]);
 bool prs_uint8(const char *name, prs_struct *ps, int depth, uint8 *data8);
-bool prs_pointer( const char *name, prs_struct *ps, int depth, 
-                 void *dta, size_t data_size,
-                 bool (*prs_fn)(const char*, prs_struct*, int, void*) );
 bool prs_uint16(const char *name, prs_struct *ps, int depth, uint16 *data16);
 bool prs_uint32(const char *name, prs_struct *ps, int depth, uint32 *data32);
 bool prs_int32(const char *name, prs_struct *ps, int depth, int32 *data32);
 bool prs_uint64(const char *name, prs_struct *ps, int depth, uint64 *data64);
-bool prs_ntstatus(const char *name, prs_struct *ps, int depth, NTSTATUS 
*status);
 bool prs_dcerpc_status(const char *name, prs_struct *ps, int depth, NTSTATUS 
*status);
-bool prs_werror(const char *name, prs_struct *ps, int depth, WERROR *status);
 bool prs_uint8s(bool charmode, const char *name, prs_struct *ps, int depth, 
uint8 *data8s, int len);
 bool prs_uint16s(bool charmode, const char *name, prs_struct *ps, int depth, 
uint16 *data16s, int len);
-bool prs_uint16uni(bool charmode, const char *name, prs_struct *ps, int depth, 
uint16 *data16s, int len);
 bool prs_uint32s(bool charmode, const char *name, prs_struct *ps, int depth, 
uint32 *data32s, int len);
 bool prs_unistr(const char *name, prs_struct *ps, int depth, UNISTR *str);
 bool prs_string(const char *name, prs_struct *ps, int depth, char *str, int 
max_buf_size);
-bool prs_string_alloc(const char *name, prs_struct *ps, int depth, const char 
**str);
-bool prs_uint16_pre(const char *name, prs_struct *ps, int depth, uint16 
*data16, uint32 *offset);
-bool prs_uint16_post(const char *name, prs_struct *ps, int depth, uint16 
*data16,
-                               uint32 ptr_uint16, uint32 start_offset);
-bool prs_uint32_pre(const char *name, prs_struct *ps, int depth, uint32 
*data32, uint32 *offset);
-bool prs_uint32_post(const char *name, prs_struct *ps, int depth, uint32 
*data32,
-                               uint32 ptr_uint32, uint32 data_size);
-int tdb_prs_store(TDB_CONTEXT *tdb, TDB_DATA kbuf, prs_struct *ps);
-int tdb_prs_fetch(TDB_CONTEXT *tdb, TDB_DATA kbuf, prs_struct *ps, TALLOC_CTX 
*mem_ctx);
-bool prs_hash1(prs_struct *ps, uint32 offset, int len);
 void schannel_encode(struct schannel_auth_struct *a, enum pipe_auth_level 
auth_level,
                   enum schannel_direction direction,
                   RPC_AUTH_SCHANNEL_CHK * verf,
@@ -5906,7 +5890,6 @@ void copy_id26_to_sam_passwd(struct samu *to,
 
 /* The following definitions come from rpc_server/srv_spoolss_nt.c  */
 
-WERROR delete_printer_hook(TALLOC_CTX *ctx, NT_USER_TOKEN *token, const char 
*sharename );
 void do_drv_upgrade_printer(struct messaging_context *msg,
                            void *private_data,
                            uint32_t msg_type,
@@ -5995,9 +5978,7 @@ void construct_info_data(struct spoolss_Notify *info_data,
                         int id);
 struct spoolss_DeviceMode *construct_dev_mode(TALLOC_CTX *mem_ctx,
                                              const char *servicename);
-WERROR add_port_hook(TALLOC_CTX *ctx, NT_USER_TOKEN *token, const char 
*portname, const char *uri );
 bool add_printer_hook(TALLOC_CTX *ctx, NT_USER_TOKEN *token, 
NT_PRINTER_INFO_LEVEL *printer);
-WERROR enumports_hook(TALLOC_CTX *ctx, int *count, char ***lines );
 
 /* The following definitions come from rpc_server/srv_srvsvc_nt.c  */
 
diff --git a/source3/rpc_parse/parse_prs.c b/source3/rpc_parse/parse_prs.c
index 0f4829d..621ccf4 100644
--- a/source3/rpc_parse/parse_prs.c
+++ b/source3/rpc_parse/parse_prs.c
@@ -637,42 +637,6 @@ bool prs_uint8(const char *name, prs_struct *ps, int 
depth, uint8 *data8)
 }
 
 /*******************************************************************
- Stream a uint16* (allocate memory if unmarshalling)
- ********************************************************************/
-
-bool prs_pointer( const char *name, prs_struct *ps, int depth, 
-                 void *dta, size_t data_size,
-                 bool (*prs_fn)(const char*, prs_struct*, int, void*) )
-{
-       void ** data = (void **)dta;
-       uint32 data_p;
-
-       /* output f000baaa to stream if the pointer is non-zero. */
-
-       data_p = *data ? 0xf000baaa : 0;
-
-       if ( !prs_uint32("ptr", ps, depth, &data_p ))
-               return False;
-
-       /* we're done if there is no data */
-
-       if ( !data_p )
-               return True;
-
-       if (UNMARSHALLING(ps)) {
-               if (data_size) {
-                       if ( !(*data = PRS_ALLOC_MEM(ps, char, data_size)) )
-                               return False;
-               } else {
-                       *data = NULL;
-               }
-       }
-
-       return prs_fn(name, ps, depth, *data);
-}
-
-
-/*******************************************************************
  Stream a uint16.
  ********************************************************************/
 
@@ -784,36 +748,6 @@ bool prs_uint64(const char *name, prs_struct *ps, int 
depth, uint64 *data64)
 }
 
 /*******************************************************************
- Stream a NTSTATUS
- ********************************************************************/
-
-bool prs_ntstatus(const char *name, prs_struct *ps, int depth, NTSTATUS 
*status)
-{
-       char *q = prs_mem_get(ps, sizeof(uint32));
-       if (q == NULL)
-               return False;
-
-       if (UNMARSHALLING(ps)) {
-               if (ps->bigendian_data)
-                       *status = NT_STATUS(RIVAL(q,0));
-               else
-                       *status = NT_STATUS(IVAL(q,0));
-       } else {
-               if (ps->bigendian_data)
-                       RSIVAL(q,0,NT_STATUS_V(*status));
-               else
-                       SIVAL(q,0,NT_STATUS_V(*status));
-       }
-
-       DEBUGADD(5,("%s%04x %s: %s\n", tab_depth(5,depth), ps->data_offset, 
name,
-                nt_errstr(*status)));
-
-       ps->data_offset += sizeof(uint32);
-
-       return True;
-}
-
-/*******************************************************************
  Stream a DCE error code
  ********************************************************************/
 
@@ -843,38 +777,6 @@ bool prs_dcerpc_status(const char *name, prs_struct *ps, 
int depth, NTSTATUS *st
        return True;
 }
 
-
-/*******************************************************************
- Stream a WERROR
- ********************************************************************/
-
-bool prs_werror(const char *name, prs_struct *ps, int depth, WERROR *status)
-{
-       char *q = prs_mem_get(ps, sizeof(uint32));
-       if (q == NULL)
-               return False;
-
-       if (UNMARSHALLING(ps)) {
-               if (ps->bigendian_data)
-                       *status = W_ERROR(RIVAL(q,0));
-               else
-                       *status = W_ERROR(IVAL(q,0));
-       } else {
-               if (ps->bigendian_data)
-                       RSIVAL(q,0,W_ERROR_V(*status));
-               else
-                       SIVAL(q,0,W_ERROR_V(*status));
-       }
-
-       DEBUGADD(5,("%s%04x %s: %s\n", tab_depth(5,depth), ps->data_offset, 
name,
-                win_errstr(*status)));
-
-       ps->data_offset += sizeof(uint32);
-
-       return True;
-}
-
-
 /******************************************************************
  Stream an array of uint8s. Length is number of uint8s.
  ********************************************************************/
@@ -952,60 +854,6 @@ bool prs_uint16s(bool charmode, const char *name, 
prs_struct *ps, int depth, uin
 }
 
 /******************************************************************
- Start using a function for streaming unicode chars. If unmarshalling,
- output must be little-endian, if marshalling, input must be little-endian.
- ********************************************************************/
-
-static void dbg_rw_punival(bool charmode, const char *name, int depth, 
prs_struct *ps,
-                                                       char *in_buf, char 
*out_buf, int len)
-{
-       int i;
-
-       if (UNMARSHALLING(ps)) {
-               if (ps->bigendian_data) {
-                       for (i = 0; i < len; i++)
-                               SSVAL(out_buf,2*i,RSVAL(in_buf, 2*i));
-               } else {
-                       for (i = 0; i < len; i++)
-                               SSVAL(out_buf, 2*i, SVAL(in_buf, 2*i));
-               }
-       } else {
-               if (ps->bigendian_data) {
-                       for (i = 0; i < len; i++)
-                               RSSVAL(in_buf, 2*i, SVAL(out_buf,2*i));
-               } else {
-                       for (i = 0; i < len; i++)
-                               SSVAL(in_buf, 2*i, SVAL(out_buf,2*i));
-               }
-       }
-
-       DEBUGADD(5,("%s%04x %s: ", tab_depth(5,depth), ps->data_offset, name));
-       if (charmode)
-               print_asc(5, (unsigned char*)out_buf, 2*len);
-       else {
-               for (i = 0; i < len; i++)
-                       DEBUGADD(5,("%04x ", out_buf[i]));
-       }
-       DEBUGADD(5,("\n"));
-}
-
-/******************************************************************
- Stream a unistr. Always little endian.
- ********************************************************************/
-
-bool prs_uint16uni(bool charmode, const char *name, prs_struct *ps, int depth, 
uint16 *data16s, int len)
-{
-       char *q = prs_mem_get(ps, len * sizeof(uint16));
-       if (q == NULL)
-               return False;
-
-       dbg_rw_punival(charmode, name, depth, ps, q, (char *)data16s, len);
-       ps->data_offset += (len * sizeof(uint16));
-
-       return True;
-}
-
-/******************************************************************
  Stream an array of uint32s. Length is number of uint32s.
  ********************************************************************/
 
@@ -1216,172 +1064,6 @@ bool prs_string(const char *name, prs_struct *ps, int 
depth, char *str, int max_
        return True;
 }
 
-bool prs_string_alloc(const char *name, prs_struct *ps, int depth, const char 
**str)
-{
-       size_t len;
-       char *tmp_str;
-
-       if (UNMARSHALLING(ps)) {
-               len = strlen(&ps->data_p[ps->data_offset]);
-       } else {
-               len = strlen(*str);
-       }
-
-       tmp_str = PRS_ALLOC_MEM(ps, char, len+1);
-
-       if (tmp_str == NULL) {
-               return False;
-       }
-
-       if (MARSHALLING(ps)) {
-               strncpy(tmp_str, *str, len);
-       }
-
-       if (!prs_string(name, ps, depth, tmp_str, len+1)) {
-               return False;
-       }
-
-       *str = tmp_str;
-       return True;
-}
-
-/*******************************************************************
- prs_uint16 wrapper. Call this and it sets up a pointer to where the
- uint16 should be stored, or gets the size if reading.
- ********************************************************************/
-
-bool prs_uint16_pre(const char *name, prs_struct *ps, int depth, uint16 
*data16, uint32 *offset)
-{
-       *offset = ps->data_offset;
-       if (UNMARSHALLING(ps)) {
-               /* reading. */
-               return prs_uint16(name, ps, depth, data16);
-       } else {
-               char *q = prs_mem_get(ps, sizeof(uint16));
-               if(q ==NULL)
-                       return False;
-               ps->data_offset += sizeof(uint16);
-       }
-       return True;
-}
-
-/*******************************************************************
- prs_uint16 wrapper.  call this and it retrospectively stores the size.
- does nothing on reading, as that is already handled by ...._pre()
- ********************************************************************/
-
-bool prs_uint16_post(const char *name, prs_struct *ps, int depth, uint16 
*data16,
-                               uint32 ptr_uint16, uint32 start_offset)
-{
-       if (MARSHALLING(ps)) {
-               /* 
-                * Writing - temporarily move the offset pointer.
-                */
-               uint16 data_size = ps->data_offset - start_offset;
-               uint32 old_offset = ps->data_offset;
-
-               ps->data_offset = ptr_uint16;
-               if(!prs_uint16(name, ps, depth, &data_size)) {
-                       ps->data_offset = old_offset;
-                       return False;
-               }
-               ps->data_offset = old_offset;
-       } else {
-               ps->data_offset = start_offset + (uint32)(*data16);
-       }
-       return True;
-}
-
-/*******************************************************************
- prs_uint32 wrapper. Call this and it sets up a pointer to where the
- uint32 should be stored, or gets the size if reading.
- ********************************************************************/
-
-bool prs_uint32_pre(const char *name, prs_struct *ps, int depth, uint32 
*data32, uint32 *offset)
-{
-       *offset = ps->data_offset;
-       if (UNMARSHALLING(ps) && (data32 != NULL)) {
-               /* reading. */
-               return prs_uint32(name, ps, depth, data32);
-       } else {
-               ps->data_offset += sizeof(uint32);
-       }
-       return True;
-}
-
-/*******************************************************************
- prs_uint32 wrapper.  call this and it retrospectively stores the size.
- does nothing on reading, as that is already handled by ...._pre()
- ********************************************************************/
-
-bool prs_uint32_post(const char *name, prs_struct *ps, int depth, uint32 
*data32,
-                               uint32 ptr_uint32, uint32 data_size)
-{
-       if (MARSHALLING(ps)) {
-               /* 
-                * Writing - temporarily move the offset pointer.
-                */
-               uint32 old_offset = ps->data_offset;
-               ps->data_offset = ptr_uint32;
-               if(!prs_uint32(name, ps, depth, &data_size)) {
-                       ps->data_offset = old_offset;
-                       return False;
-               }
-               ps->data_offset = old_offset;
-       }
-       return True;
-}
-
-/* useful function to store a structure in rpc wire format */
-int tdb_prs_store(TDB_CONTEXT *tdb, TDB_DATA kbuf, prs_struct *ps)
-{
-       TDB_DATA dbuf;
-       dbuf.dptr = (uint8 *)ps->data_p;
-       dbuf.dsize = prs_offset(ps);
-       return tdb_trans_store(tdb, kbuf, dbuf, TDB_REPLACE);


-- 
Samba Shared Repository

Reply via email to