mirror of
https://github.com/samba-team/samba.git
synced 2024-12-28 07:21:54 +03:00
r4134: check the setprinter(3) based on the access permissions on the handle and avoid the call to print_access_chaeck()
(This used to be commit 426634df9c
)
This commit is contained in:
parent
f3074443dc
commit
3c45a093c4
@ -5860,6 +5860,17 @@ static WERROR update_printer_sec(POLICY_HND *handle, uint32 level,
|
||||
result = WERR_BADFID;
|
||||
goto done;
|
||||
}
|
||||
|
||||
/* Check the user has permissions to change the security
|
||||
descriptor. By experimentation with two NT machines, the user
|
||||
requires Full Access to the printer to change security
|
||||
information. */
|
||||
|
||||
if ( Printer->access_granted != PRINTER_ACCESS_ADMINISTER ) {
|
||||
DEBUG(4,("update_printer_sec: updated denied by printer permissions\n"));
|
||||
result = WERR_ACCESS_DENIED;
|
||||
goto done;
|
||||
}
|
||||
|
||||
/* NT seems to like setting the security descriptor even though
|
||||
nothing may have actually changed. */
|
||||
@ -5909,20 +5920,6 @@ static WERROR update_printer_sec(POLICY_HND *handle, uint32 level,
|
||||
goto done;
|
||||
}
|
||||
|
||||
/* Work out which user is performing the operation */
|
||||
|
||||
get_current_user(&user, p);
|
||||
|
||||
/* Check the user has permissions to change the security
|
||||
descriptor. By experimentation with two NT machines, the user
|
||||
requires Full Access to the printer to change security
|
||||
information. */
|
||||
|
||||
if (!print_access_check(&user, snum, PRINTER_ACCESS_ADMINISTER)) {
|
||||
result = WERR_ACCESS_DENIED;
|
||||
goto done;
|
||||
}
|
||||
|
||||
result = nt_printing_setsec(Printer->sharename, new_secdesc_ctr);
|
||||
|
||||
done:
|
||||
|
Loading…
Reference in New Issue
Block a user