summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Potter <tpot@samba.org>2000-07-06 07:10:32 +0000
committerTim Potter <tpot@samba.org>2000-07-06 07:10:32 +0000
commit75dd5b5051f6e0f29ae51ecbc493d78e44ca5e21 (patch)
tree17c4eb637730638847563035a4ee7b6935a7d363
parent957aa91e9eeedf605307ad2129e7f687cf7e5f61 (diff)
downloadsamba-75dd5b5051f6e0f29ae51ecbc493d78e44ca5e21.tar.gz
samba-75dd5b5051f6e0f29ae51ecbc493d78e44ca5e21.tar.bz2
samba-75dd5b5051f6e0f29ae51ecbc493d78e44ca5e21.zip
Don't check NT permissions when printing from lanman.
(This used to be commit e84607eedf3be454f8f709c70cafc5ded4ea951d)
-rw-r--r--source3/printing/nt_printing.c8
-rw-r--r--source3/smbd/lanman.c12
2 files changed, 14 insertions, 6 deletions
diff --git a/source3/printing/nt_printing.c b/source3/printing/nt_printing.c
index 3a6ab9256b..e666c1d6a7 100644
--- a/source3/printing/nt_printing.c
+++ b/source3/printing/nt_printing.c
@@ -1678,6 +1678,14 @@ BOOL print_access_check(struct current_user *user, int snum,
BOOL result;
char *pname;
int i;
+
+ /* If the user is NULL then we are being called by the lanman
+ printing system. Let the lower level printing permissions
+ handle this. */
+
+ if (user == NULL) {
+ return True;
+ }
/* Get printer name */
diff --git a/source3/smbd/lanman.c b/source3/smbd/lanman.c
index bf635b88b1..82f0c25fa8 100644
--- a/source3/smbd/lanman.c
+++ b/source3/smbd/lanman.c
@@ -1773,13 +1773,13 @@ static BOOL api_RDosPrintJobDel(connection_struct *conn,uint16 vuid, char *param
switch (function) {
case 81: /* delete */
- if (print_job_delete(jobid, vuid)) errcode = NERR_Success;
+ if (print_job_delete(NULL, jobid)) errcode = NERR_Success;
break;
case 82: /* pause */
- if (print_job_pause(jobid, vuid)) errcode = NERR_Success;
+ if (print_job_pause(NULL, jobid)) errcode = NERR_Success;
break;
case 83: /* resume */
- if (print_job_resume(jobid, vuid)) errcode = NERR_Success;
+ if (print_job_resume(NULL, jobid)) errcode = NERR_Success;
break;
}
@@ -1822,13 +1822,13 @@ static BOOL api_WPrintQueuePurge(connection_struct *conn,uint16 vuid, char *para
switch (function) {
case 74: /* Pause queue */
- if (print_queue_pause(snum, vuid)) errcode = NERR_Success;
+ if (print_queue_pause(NULL, snum)) errcode = NERR_Success;
break;
case 75: /* Resume queue */
- if (print_queue_resume(snum, vuid)) errcode = NERR_Success;
+ if (print_queue_resume(NULL, snum)) errcode = NERR_Success;
break;
case 103: /* Purge */
- if (print_queue_purge(snum, vuid)) errcode = NERR_Success;
+ if (print_queue_purge(NULL, snum)) errcode = NERR_Success;
break;
}