diff options
author | Jean-François Micouleau <jfm@samba.org> | 2001-02-10 15:58:22 +0000 |
---|---|---|
committer | Jean-François Micouleau <jfm@samba.org> | 2001-02-10 15:58:22 +0000 |
commit | 13eefb97f5827bb9d0be3151aec49cc263f59fea (patch) | |
tree | 97d78fb89e0a6aadda2867c19dfa72675c0f9538 | |
parent | 02901750dd2bb29ea7ebc5c5e34ba0ed3118f8d5 (diff) | |
download | samba-13eefb97f5827bb9d0be3151aec49cc263f59fea.tar.gz samba-13eefb97f5827bb9d0be3151aec49cc263f59fea.tar.xz samba-13eefb97f5827bb9d0be3151aec49cc263f59fea.zip |
rpcclient doing 2 RPC BIND in a row. Fixed it, W2K doesn't like that !
Fixed also rpcclient's getprinter buffer size. It used to be correct a
long time ago. I guess the one who changed that made a mistake.
J.F.
-rw-r--r-- | source/rpc_client/cli_connect.c | 3 | ||||
-rw-r--r-- | source/rpc_client/cli_spoolss.c | 7 | ||||
-rw-r--r-- | source/rpc_client/msrpc_spoolss.c | 12 |
3 files changed, 11 insertions, 11 deletions
diff --git a/source/rpc_client/cli_connect.c b/source/rpc_client/cli_connect.c index 0eceda4c4cf..c8021b97927 100644 --- a/source/rpc_client/cli_connect.c +++ b/source/rpc_client/cli_connect.c @@ -177,13 +177,14 @@ static struct cli_connection *cli_con_get(const char *srv_name, { con->auth = &cli_noauth_fns; } - +#if 0 if (!rpc_pipe_bind(con->pCli_state, pipe_name, global_myname)) { DEBUG(0, ("rpc_pipe_bind failed\n")); cli_connection_free(con); return NULL; } +#endif } else { diff --git a/source/rpc_client/cli_spoolss.c b/source/rpc_client/cli_spoolss.c index 3517fbbc9c8..fa15cd050e4 100644 --- a/source/rpc_client/cli_spoolss.c +++ b/source/rpc_client/cli_spoolss.c @@ -358,13 +358,10 @@ uint32 spoolss_getprinter(const POLICY_HND *hnd, uint32 level, r_o.buffer=buffer; if(!spoolss_io_r_getprinter("", &r_o, &rbuf, 0)) - { if (r_o.status != NT_STATUS_NO_PROBLEMO) - { DEBUG(3,("SPOOLSS_GETPRINTER: %s\n", get_nt_error_msg(r_o.status))); - } - *needed=r_o.needed; - } + + *needed=r_o.needed; } prs_mem_free(&rbuf); diff --git a/source/rpc_client/msrpc_spoolss.c b/source/rpc_client/msrpc_spoolss.c index a7a25caaea2..84c182f43c0 100644 --- a/source/rpc_client/msrpc_spoolss.c +++ b/source/rpc_client/msrpc_spoolss.c @@ -566,7 +566,8 @@ BOOL msrpc_spoolss_getprinter( const char* printer_name, const uint32 level, POLICY_HND hnd; uint32 status=0; NEW_BUFFER buffer; - uint32 needed=1000; + uint32 offered=1000; + uint32 needed=0; TALLOC_CTX *mem_ctx = NULL; DEBUG(4,("spoolenum_getprinter - printer: %s\n", printer_name)); @@ -579,13 +580,14 @@ BOOL msrpc_spoolss_getprinter( const char* printer_name, const uint32 level, DEBUG(0,("msrpc_spoolss_getprinter: talloc_init failed!\n")); return False; } - init_buffer(&buffer, needed, mem_ctx); + init_buffer(&buffer, offered, mem_ctx); - status = spoolss_getprinter(&hnd, level, &buffer, needed, &needed); + status = spoolss_getprinter(&hnd, level, &buffer, offered, &needed); if (status==ERROR_INSUFFICIENT_BUFFER) { - init_buffer(&buffer, needed, mem_ctx); - status = spoolss_getprinter(&hnd, level, &buffer, needed, &needed); + offered=needed; + init_buffer(&buffer, offered, mem_ctx); + status = spoolss_getprinter(&hnd, level, &buffer, offered, &needed); } report(out_hnd, "\tstatus:[%d (%x)]\n", status, status); |