summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJean-François Micouleau <jfm@samba.org>2001-02-10 15:58:22 +0000
committerJean-François Micouleau <jfm@samba.org>2001-02-10 15:58:22 +0000
commit13eefb97f5827bb9d0be3151aec49cc263f59fea (patch)
tree97d78fb89e0a6aadda2867c19dfa72675c0f9538
parent02901750dd2bb29ea7ebc5c5e34ba0ed3118f8d5 (diff)
downloadsamba-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.c3
-rw-r--r--source/rpc_client/cli_spoolss.c7
-rw-r--r--source/rpc_client/msrpc_spoolss.c12
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);