summaryrefslogtreecommitdiff
path: root/source3/printing/printing.c
diff options
context:
space:
mode:
authorDavid Disseldorp <ddiss@samba.org>2013-09-26 13:24:15 +0200
committerGünther Deschner <gd@samba.org>2013-11-20 08:16:25 +0100
commit956a4552f2c66cfe61493de772b5986d95511135 (patch)
tree0a987e4e9e6e3cfdf0a535b7d9f3b197a0d0e31e /source3/printing/printing.c
parent2d91577f984bc83c2c87141cfdda87d068060b32 (diff)
downloadsamba-956a4552f2c66cfe61493de772b5986d95511135.tar.gz
printing: return WERROR from print_access_check
print_access_check() currently returns a bool based on whether access is granted or denied. Errno is set on failure, but none of the callers use it. This change converts print_access_check() to return a WERROR. Signed-off-by: David Disseldorp <ddiss@samba.org> Reviewed-by: Guenther Deschner <gd@samba.org>
Diffstat (limited to 'source3/printing/printing.c')
-rw-r--r--source3/printing/printing.c72
1 files changed, 35 insertions, 37 deletions
diff --git a/source3/printing/printing.c b/source3/printing/printing.c
index b126bd5cbaf..a989d816632 100644
--- a/source3/printing/printing.c
+++ b/source3/printing/printing.c
@@ -2226,17 +2226,16 @@ WERROR print_job_delete(const struct auth_session_info *server_info,
owns their job. */
if (!owner &&
- !print_access_check(server_info, msg_ctx, snum,
- JOB_ACCESS_ADMINISTER)) {
+ !W_ERROR_IS_OK(print_access_check(server_info, msg_ctx, snum,
+ JOB_ACCESS_ADMINISTER))) {
DEBUG(3, ("delete denied by security descriptor\n"));
- /* BEGIN_ADMIN_LOG */
- sys_adminlog( LOG_ERR,
- "Permission denied-- user not allowed to delete, \
-pause, or resume print job. User name: %s. Printer name: %s.",
- uidtoname(server_info->unix_token->uid),
- lp_printername(talloc_tos(), snum) );
- /* END_ADMIN_LOG */
+ sys_adminlog(LOG_ERR,
+ "Permission denied-- user not allowed to delete, "
+ "pause, or resume print job. User name: %s. "
+ "Printer name: %s.",
+ uidtoname(server_info->unix_token->uid),
+ lp_printername(tmp_ctx, snum) );
werr = WERR_ACCESS_DENIED;
goto err_out;
@@ -2316,17 +2315,16 @@ WERROR print_job_pause(const struct auth_session_info *server_info,
}
if (!is_owner(server_info, lp_const_servicename(snum), jobid) &&
- !print_access_check(server_info, msg_ctx, snum,
- JOB_ACCESS_ADMINISTER)) {
+ !W_ERROR_IS_OK(print_access_check(server_info, msg_ctx, snum,
+ JOB_ACCESS_ADMINISTER))) {
DEBUG(3, ("pause denied by security descriptor\n"));
- /* BEGIN_ADMIN_LOG */
- sys_adminlog( LOG_ERR,
- "Permission denied-- user not allowed to delete, \
-pause, or resume print job. User name: %s. Printer name: %s.",
- uidtoname(server_info->unix_token->uid),
- lp_printername(talloc_tos(), snum) );
- /* END_ADMIN_LOG */
+ sys_adminlog(LOG_ERR,
+ "Permission denied-- user not allowed to delete, "
+ "pause, or resume print job. User name: %s. "
+ "Printer name: %s.",
+ uidtoname(server_info->unix_token->uid),
+ lp_printername(tmp_ctx, snum) );
werr = WERR_ACCESS_DENIED;
goto err_out;
@@ -2388,17 +2386,17 @@ WERROR print_job_resume(const struct auth_session_info *server_info,
}
if (!is_owner(server_info, lp_const_servicename(snum), jobid) &&
- !print_access_check(server_info, msg_ctx, snum,
- JOB_ACCESS_ADMINISTER)) {
+ !W_ERROR_IS_OK(print_access_check(server_info, msg_ctx, snum,
+ JOB_ACCESS_ADMINISTER))) {
DEBUG(3, ("resume denied by security descriptor\n"));
- /* BEGIN_ADMIN_LOG */
- sys_adminlog( LOG_ERR,
- "Permission denied-- user not allowed to delete, \
-pause, or resume print job. User name: %s. Printer name: %s.",
- uidtoname(server_info->unix_token->uid),
- lp_printername(talloc_tos(), snum) );
- /* END_ADMIN_LOG */
+ sys_adminlog(LOG_ERR,
+ "Permission denied-- user not allowed to delete, "
+ "pause, or resume print job. User name: %s. "
+ "Printer name: %s.",
+ uidtoname(server_info->unix_token->uid),
+ lp_printername(tmp_ctx, snum));
+
werr = WERR_ACCESS_DENIED;
goto err_out;
}
@@ -2654,8 +2652,8 @@ static WERROR print_job_checks(const struct auth_session_info *server_info,
uint64_t minspace;
int ret;
- if (!print_access_check(server_info, msg_ctx, snum,
- PRINTER_ACCESS_USE)) {
+ if (!W_ERROR_IS_OK(print_access_check(server_info, msg_ctx, snum,
+ PRINTER_ACCESS_USE))) {
DEBUG(3, ("print_job_checks: "
"job start denied by security descriptor\n"));
return WERR_ACCESS_DENIED;
@@ -3285,8 +3283,8 @@ WERROR print_queue_pause(const struct auth_session_info *server_info,
int ret;
struct printif *current_printif = get_printer_fns( snum );
- if (!print_access_check(server_info, msg_ctx, snum,
- PRINTER_ACCESS_ADMINISTER)) {
+ if (!W_ERROR_IS_OK(print_access_check(server_info, msg_ctx, snum,
+ PRINTER_ACCESS_ADMINISTER))) {
return WERR_ACCESS_DENIED;
}
@@ -3322,8 +3320,8 @@ WERROR print_queue_resume(const struct auth_session_info *server_info,
int ret;
struct printif *current_printif = get_printer_fns( snum );
- if (!print_access_check(server_info, msg_ctx, snum,
- PRINTER_ACCESS_ADMINISTER)) {
+ if (!W_ERROR_IS_OK(print_access_check(server_info, msg_ctx, snum,
+ PRINTER_ACCESS_ADMINISTER))) {
return WERR_ACCESS_DENIED;
}
@@ -3364,10 +3362,10 @@ WERROR print_queue_purge(const struct auth_session_info *server_info,
/* Force and update so the count is accurate (i.e. not a cached count) */
print_queue_update(msg_ctx, snum, True);
- can_job_admin = print_access_check(server_info,
- msg_ctx,
- snum,
- JOB_ACCESS_ADMINISTER);
+ can_job_admin = W_ERROR_IS_OK(print_access_check(server_info,
+ msg_ctx,
+ snum,
+ JOB_ACCESS_ADMINISTER));
njobs = print_queue_status(msg_ctx, snum, &queue, &status);
if ( can_job_admin )