diff options
author | Tim Potter <tpot@samba.org> | 2000-07-06 07:10:32 +0000 |
---|---|---|
committer | Tim Potter <tpot@samba.org> | 2000-07-06 07:10:32 +0000 |
commit | 75dd5b5051f6e0f29ae51ecbc493d78e44ca5e21 (patch) | |
tree | 17c4eb637730638847563035a4ee7b6935a7d363 | |
parent | 957aa91e9eeedf605307ad2129e7f687cf7e5f61 (diff) | |
download | samba-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.c | 8 | ||||
-rw-r--r-- | source3/smbd/lanman.c | 12 |
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; } |