diff options
author | Andrew Tridgell <tridge@samba.org> | 2000-08-28 04:42:31 +0000 |
---|---|---|
committer | Andrew Tridgell <tridge@samba.org> | 2000-08-28 04:42:31 +0000 |
commit | 9e1f9a5719315aaa9b184fc5b0a750c68fbd8941 (patch) | |
tree | 736a30deb469db48b63c639f914b9e9b66923e5c /source3/include | |
parent | 4ff15c319eb70396f2534fb8c165b7f71c58b311 (diff) | |
download | samba-9e1f9a5719315aaa9b184fc5b0a750c68fbd8941.tar.gz samba-9e1f9a5719315aaa9b184fc5b0a750c68fbd8941.tar.bz2 samba-9e1f9a5719315aaa9b184fc5b0a750c68fbd8941.zip |
yipee!
The spoolss AddJob function has an [in,out] buffer not an [in] buffer
(despite the comment in the code to the contrary). Also, we must fail
this function - not just blindly reply "no problem" as AddJob should
always fail on non-local printers.
This fixes a bug where the "print test page" failed about half the
time. I suspect it will also fix a bunch of other intermittent spoolss
bugs where the client (incorrectly) tries to use the AddJob printing
interface.
(This used to be commit 14e534a8907c34b53e00a63756efd71903ff9432)
Diffstat (limited to 'source3/include')
-rw-r--r-- | source3/include/proto.h | 3 | ||||
-rwxr-xr-x | source3/include/rpc_spoolss.h | 2 |
2 files changed, 4 insertions, 1 deletions
diff --git a/source3/include/proto.h b/source3/include/proto.h index e782507cf7..5f07214402 100644 --- a/source3/include/proto.h +++ b/source3/include/proto.h @@ -3130,7 +3130,8 @@ uint32 _spoolss_setprinter(POLICY_HND *handle, uint32 level, uint32 command, pipes_struct *p); uint32 _spoolss_fcpn(POLICY_HND *handle); uint32 _spoolss_addjob(POLICY_HND *handle, uint32 level, - NEW_BUFFER *buffer, uint32 offered); + NEW_BUFFER *buffer, uint32 offered, + uint32 *needed); uint32 _spoolss_enumjobs( POLICY_HND *handle, uint32 firstjob, uint32 numofjobs, uint32 level, NEW_BUFFER *buffer, uint32 offered, uint32 *needed, uint32 *returned); diff --git a/source3/include/rpc_spoolss.h b/source3/include/rpc_spoolss.h index 1e0a53d9e0..cb6b29cab3 100755 --- a/source3/include/rpc_spoolss.h +++ b/source3/include/rpc_spoolss.h @@ -958,6 +958,8 @@ SPOOL_Q_ADDJOB; typedef struct spool_r_addjob { + NEW_BUFFER *buffer; + uint32 needed; uint32 status; } SPOOL_R_ADDJOB; |