summaryrefslogtreecommitdiffstats
path: root/source/include
diff options
context:
space:
mode:
authorDavid O'Neill <dmo@samba.org>2000-09-01 18:49:26 +0000
committerDavid O'Neill <dmo@samba.org>2000-09-01 18:49:26 +0000
commit74af3e2caec7197e5d1ca389e2f78054a4197502 (patch)
treeddc273071a3ca79c763b9f20a1bba6a2d891cc91 /source/include
parent8317d70a35086c5539e67d60cbcf937b6ce0932c (diff)
downloadsamba-74af3e2caec7197e5d1ca389e2f78054a4197502.tar.gz
samba-74af3e2caec7197e5d1ca389e2f78054a4197502.tar.xz
samba-74af3e2caec7197e5d1ca389e2f78054a4197502.zip
Changes from APPLIANCE_HEAD (per Tim Potter):
- make proto - addition of function to convert from errno values to NT status codes (source/lib/error.c) - purge queue done without full access permission will purge only the jobs owned by that user, rather than failing. - unlock job database tdb before sending job to printer - in print_job_start(), ensure that we don't pick a jobid with an existing temporary file that may be owned by another user, as it causes silent failures. - fixes for printer permission checking for NT5 clients (source/include/rpc_spoolss.h, source/printing/nt_printing.c, source/printing/printing.c, source/rpc_server/srv_spoolss_nt.c) - change from uint8 to 'enum SID_NAME_USE' (source/rpc_server/srv_lsa.c) - fixed memory leaks for win95 driver download process (source/smbd/lanman.c) - properly free prs_structs and dacl in testsuite/printing/psec.c
Diffstat (limited to 'source/include')
-rw-r--r--source/include/proto.h7
-rwxr-xr-xsource/include/rpc_spoolss.h7
2 files changed, 11 insertions, 3 deletions
diff --git a/source/include/proto.h b/source/include/proto.h
index 38393e3de8c..9d239d38fda 100644
--- a/source/include/proto.h
+++ b/source/include/proto.h
@@ -93,6 +93,10 @@ SMB_OFF_T dos_file_size(char *file_name);
int dos_ChDir(char *path);
char *dos_GetWd(char *path);
+/*The following definitions come from lib/error.c */
+
+uint32 map_nt_error_from_unix(int unix_error);
+
/*The following definitions come from lib/fault.c */
void fault_setup(void (*fn)(void *));
@@ -1709,8 +1713,7 @@ BOOL get_specific_param(NT_PRINTER_INFO_LEVEL printer, uint32 level,
fstring value, uint8 **data, uint32 *type, uint32 *len);
uint32 nt_printing_setsec(char *printername, SEC_DESC_BUF *secdesc_ctr);
BOOL nt_printing_getsec(char *printername, SEC_DESC_BUF **secdesc_ctr);
-BOOL print_access_check(struct current_user *user, int snum,
- uint32 required_access);
+BOOL print_access_check(struct current_user *user, int snum, int access_type);
BOOL print_time_access_check(int snum);
#endif
diff --git a/source/include/rpc_spoolss.h b/source/include/rpc_spoolss.h
index a77ce55063c..eb521a5b947 100755
--- a/source/include/rpc_spoolss.h
+++ b/source/include/rpc_spoolss.h
@@ -145,13 +145,18 @@
#define PRINTER_STATUS_POWER_SAVE 0x01000000
-/* Printer permissions ACE settings */
+/* Printer permissions ACE settings. NT4 uses generic and standard access
+ rights whereas NT5 converts them all to object specific access rights. */
#define PRINTER_ACE_FULL_CONTROL GENERIC_ALL_ACCESS
#define PRINTER_ACE_MANAGE_DOCUMENTS READ_CONTROL_ACCESS
#define PRINTER_ACE_PRINT \
(GENERIC_READ_ACCESS | GENERIC_WRITE_ACCESS | GENERIC_EXECUTE_ACCESS)
+#define PRINTER_ACE_NT5_FULL_CONTROL 0x000f000c
+#define PRINTER_ACE_NT5_PRINT 0x00020000
+#define PRINTER_ACE_NT5_MANAGE_DOCUMENTS 0x00020008
+
#define SERVER_ACCESS_ADMINISTER 0x00000001
#define SERVER_ACCESS_ENUMERATE 0x00000002
#define PRINTER_ACCESS_ADMINISTER 0x00000004