diff options
author | Jeremy Allison <jra@samba.org> | 2001-03-09 23:48:58 +0000 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2001-03-09 23:48:58 +0000 |
commit | 00ab9021b0cc5fe2667d383eb9cc2973072cdaaa (patch) | |
tree | d6444c6041525e86a61c0aa70247dc332aeb1a80 /source3/rpc_client/cli_spoolss.c | |
parent | 0bfc10011bd5cacecda8b59c36e80f676e5c7fa3 (diff) | |
download | samba-00ab9021b0cc5fe2667d383eb9cc2973072cdaaa.tar.gz samba-00ab9021b0cc5fe2667d383eb9cc2973072cdaaa.tar.bz2 samba-00ab9021b0cc5fe2667d383eb9cc2973072cdaaa.zip |
Serious (and I *mean* serious) attempt to fix little/bigendian RPC issues.
We were reading the endainness in the RPC header and then never propagating
it to the internal parse_structs used to parse the data.
Also removed the "align" argument to prs_init as it was *always* set to
4, and if needed can be set differently on a case by case basis.
Now ready for AS/U testing when Herb gets it set up :-).
Jeremy.
(This used to be commit 0cd37c831d79a12a10e479bf4fa89ffe64c1292a)
Diffstat (limited to 'source3/rpc_client/cli_spoolss.c')
-rw-r--r-- | source3/rpc_client/cli_spoolss.c | 52 |
1 files changed, 26 insertions, 26 deletions
diff --git a/source3/rpc_client/cli_spoolss.c b/source3/rpc_client/cli_spoolss.c index 75e5e66d90..7588ba152f 100644 --- a/source3/rpc_client/cli_spoolss.c +++ b/source3/rpc_client/cli_spoolss.c @@ -47,8 +47,8 @@ uint32 spoolss_enum_printerdrivers(const char *srv_name, const char *environment if (!cli_connection_init(srv_name, PIPE_SPOOLSS, &con)) return False; - prs_init(&buf , MAX_PDU_FRAG_LEN, 4, ctx, MARSHALL); - prs_init(&rbuf, 0, 4, ctx, UNMARSHALL); + prs_init(&buf, MAX_PDU_FRAG_LEN, ctx, MARSHALL); + prs_init(&rbuf, 0, ctx, UNMARSHALL); /* create and send a MSRPC command with api SPOOLSS_ENUM_PRINTERS */ @@ -106,8 +106,8 @@ uint32 spoolss_enum_printers(uint32 flags, fstring srv_name, uint32 level, if (!cli_connection_init(srv_name, PIPE_SPOOLSS, &con)) return False; - prs_init(&buf , MAX_PDU_FRAG_LEN, 4, ctx, MARSHALL); - prs_init(&rbuf, 0, 4, ctx, UNMARSHALL); + prs_init(&buf, MAX_PDU_FRAG_LEN, ctx, MARSHALL); + prs_init(&rbuf, 0, ctx, UNMARSHALL); /* create and send a MSRPC command with api SPOOLSS_ENUM_PRINTERS */ @@ -165,8 +165,8 @@ uint32 spoolss_enum_ports(fstring srv_name, uint32 level, if (!cli_connection_init(srv_name, PIPE_SPOOLSS, &con)) return False; - prs_init(&buf , MAX_PDU_FRAG_LEN, 4, ctx, MARSHALL); - prs_init(&rbuf, 0, 4, ctx, UNMARSHALL); + prs_init(&buf, MAX_PDU_FRAG_LEN, ctx, MARSHALL); + prs_init(&rbuf, 0, ctx, UNMARSHALL); /* create and send a MSRPC command with api SPOOLSS_ENUMPORTS */ @@ -221,8 +221,8 @@ uint32 spoolss_enum_jobs(const POLICY_HND *hnd, uint32 firstjob, uint32 numofjob if (hnd == NULL) return NT_STATUS_INVALID_PARAMETER; - prs_init(&buf , MAX_PDU_FRAG_LEN, 4, ctx, MARSHALL); - prs_init(&rbuf, 0, 4, ctx, UNMARSHALL); + prs_init(&buf, MAX_PDU_FRAG_LEN, ctx, MARSHALL); + prs_init(&rbuf, 0, ctx, UNMARSHALL); /* create and send a MSRPC command with api SPOOLSS_ENUMJOBS */ @@ -278,8 +278,8 @@ uint32 spoolss_enum_printerdata(const POLICY_HND *hnd, uint32 idx, DEBUG(0,("msrpc_spoolss_enum_jobs: talloc_init failed!\n")); return False; } - prs_init(&buf , MAX_PDU_FRAG_LEN, 4, mem_ctx, MARSHALL); - prs_init(&rbuf, 0, 4, mem_ctx, UNMARSHALL); + prs_init(&buf, MAX_PDU_FRAG_LEN, mem_ctx, MARSHALL); + prs_init(&rbuf, 0, mem_ctx, UNMARSHALL); /* create and send a MSRPC command with api SPOOLSS_ENUMPRINTERDATA*/ @@ -337,8 +337,8 @@ uint32 spoolss_getprinter(const POLICY_HND *hnd, uint32 level, if (hnd == NULL) return NT_STATUS_INVALID_PARAMETER; - prs_init(&buf , MAX_PDU_FRAG_LEN, 4, ctx, MARSHALL); - prs_init(&rbuf, 0, 4, ctx, UNMARSHALL); + prs_init(&buf, MAX_PDU_FRAG_LEN, ctx, MARSHALL); + prs_init(&rbuf, 0, ctx, UNMARSHALL); /* create and send a MSRPC command with api SPOOLSS_ENUMJOBS */ @@ -390,8 +390,8 @@ uint32 spoolss_getprinterdriver(const POLICY_HND *hnd, if (hnd == NULL) return NT_STATUS_INVALID_PARAMETER; - prs_init(&buf , MAX_PDU_FRAG_LEN, 4, ctx, MARSHALL); - prs_init(&rbuf, 0, 4, ctx, UNMARSHALL); + prs_init(&buf, MAX_PDU_FRAG_LEN, ctx, MARSHALL); + prs_init(&rbuf, 0, ctx, UNMARSHALL); /* create and send a MSRPC command with api SPOOLSS_ENUMJOBS */ @@ -464,8 +464,8 @@ BOOL spoolss_open_printer_ex( const char *printername, DEBUG(0,("msrpc_spoolss_enum_jobs: talloc_init failed!\n")); return False; } - prs_init(&buf , MAX_PDU_FRAG_LEN, 4, mem_ctx, MARSHALL); - prs_init(&rbuf, 0, 4, mem_ctx, UNMARSHALL); + prs_init(&buf, MAX_PDU_FRAG_LEN, mem_ctx, MARSHALL); + prs_init(&rbuf, 0, mem_ctx, UNMARSHALL); /* create and send a MSRPC command with api SPOOLSS_OPENPRINTEREX */ @@ -538,8 +538,8 @@ BOOL spoolss_addprinterex(POLICY_HND *hnd, const char* srv_name, PRINTER_INFO_2 DEBUG(0,("spoolss_addprinterex: talloc_init() failed!\n")); return NT_STATUS_ACCESS_DENIED; } - prs_init(&buf , MAX_PDU_FRAG_LEN, 4, mem_ctx, MARSHALL); - prs_init(&rbuf, 0, 4, mem_ctx, UNMARSHALL); + prs_init(&buf, MAX_PDU_FRAG_LEN, mem_ctx, MARSHALL); + prs_init(&rbuf, 0, mem_ctx, UNMARSHALL); /* create and send a MSRPC command with api SPOOLSS_ENUMPORTS */ DEBUG(5,("SPOOLSS Add Printer Ex (Server: %s)\n", srv_name)); @@ -611,8 +611,8 @@ BOOL spoolss_closeprinter(POLICY_HND *hnd) DEBUG(0,("msrpc_spoolss_enum_jobs: talloc_init failed!\n")); return False; } - prs_init(&buf , MAX_PDU_FRAG_LEN, 4, mem_ctx, MARSHALL); - prs_init(&rbuf, 0, 4, mem_ctx, UNMARSHALL); + prs_init(&buf, MAX_PDU_FRAG_LEN, mem_ctx, MARSHALL); + prs_init(&rbuf, 0, mem_ctx, UNMARSHALL); DEBUG(4,("SPOOL Close Printer\n")); @@ -671,8 +671,8 @@ uint32 spoolss_getprinterdata(const POLICY_HND *hnd, const UNISTR2 *valuename, DEBUG(0,("msrpc_spoolss_enum_jobs: talloc_init failed!\n")); return False; } - prs_init(&buf , MAX_PDU_FRAG_LEN, 4, mem_ctx, MARSHALL); - prs_init(&rbuf, 0, 4, mem_ctx, UNMARSHALL); + prs_init(&buf, MAX_PDU_FRAG_LEN, mem_ctx, MARSHALL); + prs_init(&rbuf, 0, mem_ctx, UNMARSHALL); /* create and send a MSRPC command with api SPOOLSS_GETPRINTERDATA */ @@ -726,8 +726,8 @@ uint32 spoolss_getprinterdriverdir(fstring srv_name, fstring env_name, uint32 le if (!cli_connection_init(srv_name, PIPE_SPOOLSS, &con)) return False; - prs_init(&buf , MAX_PDU_FRAG_LEN, 4, ctx, MARSHALL); - prs_init(&rbuf, 0, 4, ctx, UNMARSHALL); + prs_init(&buf, MAX_PDU_FRAG_LEN, ctx, MARSHALL); + prs_init(&rbuf, 0, ctx, UNMARSHALL); /* create and send a MSRPC command with api SPOOLSS_ENUM_PRINTERS */ @@ -787,8 +787,8 @@ uint32 spoolss_addprinterdriver(const char *srv_name, uint32 level, PRINTER_DRIV DEBUG(0,("msrpc_spoolss_enum_jobs: talloc_init failed!\n")); return False; } - prs_init(&buf , MAX_PDU_FRAG_LEN, 4, mem_ctx, MARSHALL); - prs_init(&rbuf, 0, 4, mem_ctx, UNMARSHALL); + prs_init(&buf, MAX_PDU_FRAG_LEN, mem_ctx, MARSHALL); + prs_init(&rbuf, 0, mem_ctx, UNMARSHALL); /* make the ADDPRINTERDRIVER PDU */ make_spoolss_q_addprinterdriver(mem_ctx, &q_o, srv_name, level, info); |