From b2ae6e08daee619936f2858eafb31b3a8d8ecfcb Mon Sep 17 00:00:00 2001 From: Gerald Carter Date: Fri, 17 Feb 2006 21:07:26 +0000 Subject: r13547: add earlier checks to deny deleting a printer driver. The previous code relied upon file permissions alone. Now we check that the user is a printer administrator and that the share has not been marked read only for that user. (This used to be commit 117d9fd9e16a7afbc6772506a4f8c33ff99d33f7) --- source3/printing/nt_printing.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'source3/printing') diff --git a/source3/printing/nt_printing.c b/source3/printing/nt_printing.c index e6c6f7d3dc..becd51cd7e 100644 --- a/source3/printing/nt_printing.c +++ b/source3/printing/nt_printing.c @@ -4783,6 +4783,11 @@ static BOOL delete_driver_files( NT_PRINTER_DRIVER_INFO_LEVEL_3 *info_3, struct return False; } + if ( !CAN_WRITE(conn) ) { + DEBUG(3,("delete_driver_files: Cannot delete print driver when [print$] is read-only\n")); + return False; + } + /* Save who we are - we are temporarily becoming the connection user. */ if ( !become_user(conn, conn->vuid) ) { -- cgit