diff options
author | Jeremy Allison <jra@samba.org> | 2002-02-09 02:59:31 +0000 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2002-02-09 02:59:31 +0000 |
commit | 8921f4abbd4fcfbab31ea27daf1a4ff579593e03 (patch) | |
tree | b1af3faef294cb20b2023d48c44bc579c31262f8 | |
parent | 60bb11d32221c31e641dead9f0d00daea9ceaa71 (diff) | |
download | samba-8921f4abbd4fcfbab31ea27daf1a4ff579593e03.tar.gz samba-8921f4abbd4fcfbab31ea27daf1a4ff579593e03.tar.xz samba-8921f4abbd4fcfbab31ea27daf1a4ff579593e03.zip |
Merge JohnR's stop form set spinning change.
Jeremy.
-rw-r--r-- | source/rpc_server/srv_spoolss_nt.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/source/rpc_server/srv_spoolss_nt.c b/source/rpc_server/srv_spoolss_nt.c index 521fbbe306e..c0371ab0fb0 100644 --- a/source/rpc_server/srv_spoolss_nt.c +++ b/source/rpc_server/srv_spoolss_nt.c @@ -6587,6 +6587,16 @@ WERROR _spoolss_deleteform( pipes_struct *p, SPOOL_Q_DELETEFORM *q_u, SPOOL_R_DE return WERR_BADFID; } + if (!get_printer_snum(p, handle, &snum)) + return ERROR_INVALID_HANDLE; + + if (!print_access_check(NULL, snum, PRINTER_ACCESS_ADMINISTER)) { + DEBUG(3, ("security descriptor change denied by existing " + "security descriptor\n")); + result = ERROR_ACCESS_DENIED; + goto done; + } + /* can't delete if builtin */ if (get_a_builtin_ntform(form_name,&tmpForm)) { return WERR_INVALID_PARAM; @@ -6642,6 +6652,17 @@ WERROR _spoolss_setform(pipes_struct *p, SPOOL_Q_SETFORM *q_u, SPOOL_R_SETFORM * DEBUG(2,("_spoolss_setform: Invalid handle (%s:%u:%u).\n", OUR_HANDLE(handle))); return WERR_BADFID; } + + if (!get_printer_snum(p, handle, &snum)) + return ERROR_INVALID_HANDLE; + + if (!print_access_check(NULL, snum, PRINTER_ACCESS_ADMINISTER)) { + DEBUG(3, ("security descriptor change denied by existing " + "security descriptor\n")); + result = ERROR_ACCESS_DENIED; + goto done; + } + /* can't set if builtin */ if (get_a_builtin_ntform(&form->name,&tmpForm)) { return WERR_INVALID_PARAM; |