[SCM] Samba Shared Repository - branch v3-4-test updated
Karolin Seeger
kseeger at samba.org
Sun Jul 4 23:34:19 MDT 2010
The branch, v3-4-test has been updated
via 094e864... s3-printing: Fix Bug #7541, %D in "printer admin" causing smbd crash.
from 7321f35... s3-docs: Add missing whitespace.
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-4-test
- Log -----------------------------------------------------------------
commit 094e8643e50c382a0703fb87b1ad469323d0b89e
Author: Günther Deschner <gd at samba.org>
Date: Thu Jul 1 13:58:56 2010 +0200
s3-printing: Fix Bug #7541, %D in "printer admin" causing smbd crash.
Guenther
-----------------------------------------------------------------------
Summary of changes:
source3/printing/nt_printing.c | 4 +++-
source3/rpc_server/srv_spoolss_nt.c | 22 +++++++++++++++-------
2 files changed, 18 insertions(+), 8 deletions(-)
Changeset truncated at 500 lines:
diff --git a/source3/printing/nt_printing.c b/source3/printing/nt_printing.c
index 678a8c5..41708e6 100644
--- a/source3/printing/nt_printing.c
+++ b/source3/printing/nt_printing.c
@@ -5738,7 +5738,9 @@ bool print_access_check(struct auth_serversupplied_info *server_info, int snum,
if (!NT_STATUS_IS_OK(status) &&
(token_contains_name_in_list(uidtoname(server_info->utok.uid),
- NULL, NULL, server_info->ptok,
+ pdb_get_domain(server_info->sam_account),
+ NULL,
+ server_info->ptok,
lp_printer_admin(snum)))) {
talloc_destroy(mem_ctx);
return True;
diff --git a/source3/rpc_server/srv_spoolss_nt.c b/source3/rpc_server/srv_spoolss_nt.c
index ea81fae..4b75d7c 100644
--- a/source3/rpc_server/srv_spoolss_nt.c
+++ b/source3/rpc_server/srv_spoolss_nt.c
@@ -1642,7 +1642,8 @@ WERROR _spoolss_OpenPrinterEx(pipes_struct *p,
&se_printop ) &&
!token_contains_name_in_list(
uidtoname(p->server_info->utok.uid),
- NULL, NULL,
+ pdb_get_domain(p->server_info->sam_account),
+ NULL,
p->server_info->ptok,
lp_printer_admin(snum))) {
close_printer_handle(p, r->out.handle);
@@ -2122,8 +2123,10 @@ WERROR _spoolss_DeletePrinterDriver(pipes_struct *p,
if ( (p->server_info->utok.uid != sec_initial_uid())
&& !user_has_privileges(p->server_info->ptok, &se_printop )
&& !token_contains_name_in_list(
- uidtoname(p->server_info->utok.uid), NULL,
- NULL, p->server_info->ptok,
+ uidtoname(p->server_info->utok.uid),
+ pdb_get_domain(p->server_info->sam_account),
+ NULL,
+ p->server_info->ptok,
lp_printer_admin(-1)) )
{
return WERR_ACCESS_DENIED;
@@ -2222,7 +2225,9 @@ WERROR _spoolss_DeletePrinterDriverEx(pipes_struct *p,
if ( (p->server_info->utok.uid != sec_initial_uid())
&& !user_has_privileges(p->server_info->ptok, &se_printop )
&& !token_contains_name_in_list(
- uidtoname(p->server_info->utok.uid), NULL, NULL,
+ uidtoname(p->server_info->utok.uid),
+ pdb_get_domain(p->server_info->sam_account),
+ NULL,
p->server_info->ptok, lp_printer_admin(-1)) )
{
return WERR_ACCESS_DENIED;
@@ -8214,7 +8219,8 @@ WERROR _spoolss_AddForm(pipes_struct *p,
if ((p->server_info->utok.uid != sec_initial_uid()) &&
!user_has_privileges(p->server_info->ptok, &se_printop) &&
!token_contains_name_in_list(uidtoname(p->server_info->utok.uid),
- NULL, NULL,
+ pdb_get_domain(p->server_info->sam_account),
+ NULL,
p->server_info->ptok,
lp_printer_admin(snum))) {
DEBUG(2,("_spoolss_Addform: denied by insufficient permissions.\n"));
@@ -8295,7 +8301,8 @@ WERROR _spoolss_DeleteForm(pipes_struct *p,
if ((p->server_info->utok.uid != sec_initial_uid()) &&
!user_has_privileges(p->server_info->ptok, &se_printop) &&
!token_contains_name_in_list(uidtoname(p->server_info->utok.uid),
- NULL, NULL,
+ pdb_get_domain(p->server_info->sam_account),
+ NULL,
p->server_info->ptok,
lp_printer_admin(snum))) {
DEBUG(2,("_spoolss_DeleteForm: denied by insufficient permissions.\n"));
@@ -8378,7 +8385,8 @@ WERROR _spoolss_SetForm(pipes_struct *p,
if ((p->server_info->utok.uid != sec_initial_uid()) &&
!user_has_privileges(p->server_info->ptok, &se_printop) &&
!token_contains_name_in_list(uidtoname(p->server_info->utok.uid),
- NULL, NULL,
+ pdb_get_domain(p->server_info->sam_account),
+ NULL,
p->server_info->ptok,
lp_printer_admin(snum))) {
DEBUG(2,("_spoolss_Setform: denied by insufficient permissions.\n"));
--
Samba Shared Repository
More information about the samba-cvs
mailing list