summaryrefslogtreecommitdiffstats
path: root/source/include
diff options
context:
space:
mode:
Diffstat (limited to 'source/include')
-rw-r--r--source/include/proto.h12
-rw-r--r--source/include/rpc_secdes.h10
-rwxr-xr-xsource/include/rpc_spoolss.h20
-rw-r--r--source/include/smb.h10
4 files changed, 36 insertions, 16 deletions
diff --git a/source/include/proto.h b/source/include/proto.h
index 8289412d7bc..1e6bee4badf 100644
--- a/source/include/proto.h
+++ b/source/include/proto.h
@@ -436,6 +436,7 @@ struct cli_connection* RpcHndList_get_connection(const POLICY_HND *hnd);
/*The following definitions come from lib/util_seaccess.c */
+void se_map_generic(uint32 *access_mask, struct generic_mapping *mapping);
BOOL se_access_check(SEC_DESC *sd, struct current_user *user,
uint32 acc_desired, uint32 *acc_granted, uint32 *status);
@@ -694,6 +695,7 @@ BOOL cli_unlink(struct cli_state *cli, char *fname);
BOOL cli_mkdir(struct cli_state *cli, char *dname);
BOOL cli_rmdir(struct cli_state *cli, char *dname);
int cli_nt_create(struct cli_state *cli, char *fname, uint32 DesiredAccess);
+int cli_nt_create_uni(struct cli_state *cli, char *fname, uint32 DesiredAccess);
int cli_open(struct cli_state *cli, char *fname, int flags, int share_mode);
BOOL cli_close(struct cli_state *cli, int fnum);
BOOL cli_lock(struct cli_state *cli, int fnum,
@@ -814,14 +816,17 @@ BOOL deal_with_creds(uchar sess_key[8],
/*The following definitions come from libsmb/namequery.c */
-BOOL name_status(int fd,char *name,int name_type,BOOL recurse,
- struct in_addr to_ip,char *master,char *rname);
+struct node_status *name_status_query(int fd,struct nmb_name *name,
+ struct in_addr to_ip, int *num_names);
+BOOL name_status_find(int type, struct in_addr to_ip, char *name);
struct in_addr *name_query(int fd,const char *name,int name_type,
BOOL bcast,BOOL recurse,
struct in_addr to_ip, int *count);
FILE *startlmhosts(char *fname);
BOOL getlmhostsent( FILE *fp, pstring name, int *name_type, struct in_addr *ipaddr);
void endlmhosts(FILE *fp);
+BOOL name_resolve_bcast(const char *name, int name_type,
+ struct in_addr **return_ip_list, int *return_count);
BOOL is_ip_address(const char *name);
BOOL resolve_name(const char *name, struct in_addr *return_ip, int name_type);
BOOL resolve_srv_name(const char* srv_name, fstring dest_host,
@@ -856,7 +861,7 @@ int name_len(char *s1);
/*The following definitions come from libsmb/nterr.c */
BOOL get_safe_nt_error_msg(uint32 nt_code,char *msg, size_t len);
-const char *get_nt_error_msg(uint32 nt_code);
+char *get_nt_error_msg(uint32 nt_code);
/*The following definitions come from libsmb/passchange.c */
@@ -1790,6 +1795,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);
+void map_printer_permissions(SEC_DESC *sd);
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_secdes.h b/source/include/rpc_secdes.h
index a5c5758434f..ab8a24d2d61 100644
--- a/source/include/rpc_secdes.h
+++ b/source/include/rpc_secdes.h
@@ -156,4 +156,14 @@ typedef struct sec_desc_buf_info
#define _SEC_DESC_BUF
#endif
+/* A type to describe the mapping of generic access rights to object
+ specific access rights. */
+
+typedef struct generic_mapping {
+ uint32 generic_read;
+ uint32 generic_write;
+ uint32 generic_execute;
+ uint32 generic_all;
+} GENERIC_MAPPING;
+
#endif /* _RPC_SECDES_H */
diff --git a/source/include/rpc_spoolss.h b/source/include/rpc_spoolss.h
index 94cfb45dfed..33541c12fe0 100755
--- a/source/include/rpc_spoolss.h
+++ b/source/include/rpc_spoolss.h
@@ -148,24 +148,19 @@
#define PRINTER_STATUS_POWER_SAVE 0x01000000
-/* 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
#define PRINTER_ACCESS_USE 0x00000008
#define JOB_ACCESS_ADMINISTER 0x00000010
+/* ACE masks for the various print permissions */
+
+#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)
+
/* Access rights for print servers */
#define SERVER_ALL_ACCESS STANDARD_RIGHTS_REQUIRED_ACCESS|SERVER_ACCESS_ADMINISTER|SERVER_ACCESS_ENUMERATE
#define SERVER_READ STANDARD_RIGHTS_READ_ACCESS|SERVER_ACCESS_ENUMERATE
@@ -1824,5 +1819,4 @@ SPOOL_R_REPLY_RRPCN;
#define PRINTER_DRIVER_VERSION 2
#define PRINTER_DRIVER_ARCHITECTURE "Windows NT x86"
-
#endif /* _RPC_SPOOLSS_H */
diff --git a/source/include/smb.h b/source/include/smb.h
index 0d802009fdf..a57cdc0e518 100644
--- a/source/include/smb.h
+++ b/source/include/smb.h
@@ -1622,6 +1622,16 @@ struct nmb_name {
unsigned int name_type;
};
+
+/* A netbios node status array element. */
+struct node_status {
+ char name[16];
+ unsigned char type;
+ unsigned char flags;
+};
+
+
+
#define AGENT_CMD_CON 0
#define AGENT_CMD_CON_ANON 2
#define AGENT_CMD_CON_REUSE 1