diff options
author | Gerald Carter <jerry@samba.org> | 2003-03-14 21:21:41 +0000 |
---|---|---|
committer | Gerald Carter <jerry@samba.org> | 2003-03-14 21:21:41 +0000 |
commit | 2a4881d9340426119d00be09cd640058a8c09928 (patch) | |
tree | c2300a3bbf1264de1824a7fd900cbe5c5cb362f0 | |
parent | 23f5951f62dbb524aa61e4a20d022e6c0504a71e (diff) | |
download | samba-2a4881d9340426119d00be09cd640058a8c09928.tar.gz |
more syncs with SAMBA_2_2
137 files changed, 3258 insertions, 2455 deletions
diff --git a/source/client/client.c b/source/client/client.c index be9d8987c13..89d5e685f48 100644 --- a/source/client/client.c +++ b/source/client/client.c @@ -54,6 +54,8 @@ static void cmd_help(void); #define CLIENT_TIMEOUT (30*1000) #define SHORT_TIMEOUT (5*1000) +int timeout_msec = 0; + /* value for unused fid field in trans2 secondary request */ #define FID_UNUSED (0xFFFF) @@ -642,8 +644,9 @@ static void do_get(char *rname,char *lname) struct timeval tp_start; int read_size = io_bufsize; uint16 attr; - size_t size; - off_t nread = 0; + size_t old_size = 0; + SMB_BIG_UINT size = 0; + SMB_BIG_UINT nread = 0; GetTimeOfDay(&tp_start); @@ -669,9 +672,8 @@ static void do_get(char *rname,char *lname) return; } - if (!cli_qfileinfo(cli, fnum, - &attr, &size, NULL, NULL, NULL, NULL, NULL) && + &attr, &old_size, NULL, NULL, NULL, NULL, NULL) && !cli_getattrE(cli, fnum, &attr, &size, NULL, NULL, NULL)) { DEBUG(0,("getattrib: %s\n",cli_errstr(cli))); @@ -1875,10 +1877,10 @@ static BOOL list_servers(char *wk_grp) */ struct { - char *name; + const char *name; void (*fn)(void); - char *description; - char compl_args[2]; /* Completion argument info */ + const char *description; + const char compl_args[2]; /* Completion argument info */ } commands[] = { {"?",cmd_help,"[command] give help on a command",{COMPL_NONE,COMPL_NONE}}, @@ -1991,7 +1993,7 @@ process a -c command string static void process_command_string(char *cmd) { pstring line; - char *ptr; + const char *ptr; /* establish the connection if not already */ @@ -2108,7 +2110,7 @@ process commands on stdin ****************************************************************************/ static void process_stdin(void) { - char *ptr; + const char *ptr; while (1) { fstring tok; @@ -2146,11 +2148,11 @@ static void process_stdin(void) /***************************************************** return a connection to a server *******************************************************/ -struct cli_state *do_connect(char *server, char *share) +struct cli_state *do_connect(const char *server, const char *share) { struct cli_state *c; struct nmb_name called, calling; - char *server_n; + const char *server_n; struct in_addr ip; fstring servicename; char *sharename; @@ -2185,6 +2187,8 @@ struct cli_state *do_connect(char *server, char *share) } c->protocol = max_protocol; + if (timeout_msec) + c->timeout = timeout_msec; if (!cli_session_request(c, &calling, &called)) { char *p; @@ -2624,8 +2628,11 @@ static int do_message_op(void) } while ((opt = - getopt(argc, argv,"s:O:R:M:i:Nn:d:Pp:l:hI:EU:L:t:m:W:T:D:c:b:A:")) != EOF) { + getopt(argc, argv,"s:O:R:M:i:Nn:d:Pp:l:hI:EU:L:t:m:W:T:D:c:b:A:z:")) != EOF) { switch (opt) { + case 'z': + timeout_msec = atoi(optarg); + break; case 's': pstrcpy(servicesf, optarg); break; diff --git a/source/client/clitar.c b/source/client/clitar.c index c6f78715907..80b1d472758 100644 --- a/source/client/clitar.c +++ b/source/client/clitar.c @@ -125,12 +125,12 @@ extern int Protocol; int blocksize=20; int tarhandle; -static void writetarheader(int f, char *aname, SMB_BIG_UINT size, time_t mtime, - char *amode, unsigned char ftype); +static void writetarheader(int f, const char *aname, SMB_BIG_UINT size, time_t mtime, + const char *amode, unsigned char ftype); static void do_atar(char *rname,char *lname,file_info *finfo1); static void do_tar(file_info *finfo); static void oct_it(SMB_BIG_UINT value, int ndgs, char *p); -static void fixtarname(char *tptr, char *fp, int l); +static void fixtarname(char *tptr, const char *fp, int l); static int dotarbuf(int f, char *b, int n); static void dozerobuf(int f, int n); static void dotareof(int f); @@ -168,8 +168,8 @@ static char *string_create_s(int size) /**************************************************************************** Write a tar header to buffer ****************************************************************************/ -static void writetarheader(int f, char *aname, SMB_BIG_UINT size, time_t mtime, - char *amode, unsigned char ftype) +static void writetarheader(int f, const char *aname, SMB_BIG_UINT size, time_t mtime, + const char *amode, unsigned char ftype) { union hblock hb; int i, chk, l; @@ -418,7 +418,7 @@ static void dotareof(int f) /**************************************************************************** (Un)mangle DOS pathname, make nonabsolute ****************************************************************************/ -static void fixtarname(char *tptr, char *fp, int l) +static void fixtarname(char *tptr, const char *fp, int l) { /* add a '.' to start of file name, convert from ugly dos \'s in path * to lovely unix /'s :-} */ @@ -1000,9 +1000,10 @@ static int skip_file(int skipsize) static int get_file(file_info2 finfo) { - int fnum = -1, pos = 0, dsize = 0, rsize = 0, bpos = 0; + int fnum = -1, pos = 0, dsize = 0, bpos = 0; + SMB_BIG_UINT rsize = 0; - DEBUG(5, ("get_file: file: %s, size %i\n", finfo.name, (int)finfo.size)); + DEBUG(5, ("get_file: file: %s, size %.0f\n", finfo.name, (double)finfo.size)); if (ensurepath(finfo.name) && (fnum=cli_open(cli, finfo.name, O_RDWR|O_CREAT|O_TRUNC, DENY_NONE)) == -1) { @@ -1093,7 +1094,7 @@ static int get_file(file_info2 finfo) ntarf++; - DEBUG(0, ("restore tar file %s of size %d bytes\n", finfo.name, (int)finfo.size)); + DEBUG(0, ("restore tar file %s of size %.0f bytes\n", finfo.name, (double)finfo.size)); return(True); } @@ -1123,18 +1124,18 @@ static int get_dir(file_info2 finfo) */ static char * get_longfilename(file_info2 finfo) { - int namesize = finfo.size + strlen(cur_dir) + 2; + int namesize = strlen(finfo.name) + strlen(cur_dir) + 2; char *longname = malloc(namesize); - int offset = 0, left = finfo.size; + SMB_BIG_INT offset = 0, left = finfo.size; BOOL first = True; DEBUG(5, ("Restoring a long file name: %s\n", finfo.name)); - DEBUG(5, ("Len = %d\n", (int)finfo.size)); + DEBUG(5, ("Len = %.0f\n", (double)finfo.size)); if (longname == NULL) { DEBUG(0, ("could not allocate buffer of size %d for longname\n", - (int)(finfo.size + strlen(cur_dir) + 2))); + namesize)); return(NULL); } diff --git a/source/include/charset.h b/source/include/charset.h index 5a683e09683..567c11a61d2 100644 --- a/source/include/charset.h +++ b/source/include/charset.h @@ -27,7 +27,7 @@ extern char *dos_char_map; extern char *upper_char_map; extern char *lower_char_map; -extern void add_char_string(char *s); +extern void add_char_string(const char *s); extern void charset_initialise(void); #ifdef toupper diff --git a/source/include/client.h b/source/include/client.h index c26ec76c5a2..5ee42fd02d3 100644 --- a/source/include/client.h +++ b/source/include/client.h @@ -103,7 +103,7 @@ struct cli_state { int max_mux; char *outbuf; char *inbuf; - int bufsize; + unsigned int bufsize; int initialised; int win95; uint32 capabilities; diff --git a/source/include/debug.h b/source/include/debug.h index 240da0d6fc5..3e3fd083b75 100644 --- a/source/include/debug.h +++ b/source/include/debug.h @@ -37,8 +37,8 @@ arguemnts to DEBUG() right. We have got them wrong too often in the past. */ -int Debug1( char *, ... ) PRINTF_ATTRIBUTE(1,2); -BOOL dbgtext( char *, ... ) PRINTF_ATTRIBUTE(1,2); +int Debug1( const char *, ... ) PRINTF_ATTRIBUTE(1,2); +BOOL dbgtext( const char *, ... ) PRINTF_ATTRIBUTE(1,2); /* If we have these macros, we can add additional info to the header. */ #ifdef HAVE_FILE_MACRO diff --git a/source/include/mapping.h b/source/include/mapping.h index f3e0be6e4a7..a9f0149bad1 100644 --- a/source/include/mapping.h +++ b/source/include/mapping.h @@ -31,8 +31,8 @@ typedef struct _GROUP_MAP { typedef struct _PRIVS { uint32 se_priv; - char *priv; - char *description; + const char *priv; + const char *description; } PRIVS; #define SE_PRIV_NONE 0x0000 diff --git a/source/include/nt_printing.h b/source/include/nt_printing.h index 4c9265f09fa..b9f5716e9ee 100644 --- a/source/include/nt_printing.h +++ b/source/include/nt_printing.h @@ -183,6 +183,8 @@ typedef struct nt_printer_param struct nt_printer_param *next; } NT_PRINTER_PARAM; +#define MAXDEVICENAME 32 + typedef struct ntdevicemode { fstring devicename; diff --git a/source/include/ntdomain.h b/source/include/ntdomain.h index 42679945011..14c6065de87 100644 --- a/source/include/ntdomain.h +++ b/source/include/ntdomain.h @@ -246,7 +246,7 @@ typedef struct pipes_struct struct api_struct { - char *name; + const char *name; uint8 opnum; BOOL (*fn) (pipes_struct *); }; @@ -254,7 +254,7 @@ struct api_struct typedef struct { uint32 rid; - char *name; + const char *name; } rid_name; diff --git a/source/include/proto.h b/source/include/proto.h index 4d38c8c49e2..b90b27a7a77 100644 --- a/source/include/proto.h +++ b/source/include/proto.h @@ -6,7 +6,7 @@ /* The following definitions come from client/client.c */ void do_list(const char *mask,uint16 attribute,void (*fn)(file_info *),BOOL rec, BOOL dirs); -struct cli_state *do_connect(char *server, char *share); +struct cli_state *do_connect(const char *server, const char *share); /* The following definitions come from client/clitar.c */ @@ -44,7 +44,7 @@ void interpret_character_set(char *str, int codepage); void charset_initialise(void); void codepage_initialise(int client_codepage); -void add_char_string(char *s); +void add_char_string(const char *s); /* The following definitions come from lib/crc32.c */ @@ -52,19 +52,19 @@ uint32 crc32_calc_buffer( char *buffer, uint32 count); /* The following definitions come from lib/debug.c */ -char* debug_classname_from_index(int ndx); +const char* debug_classname_from_index(int ndx); int debug_lookup_classname(char* classname); BOOL debug_parse_params(char **params, int *debuglevel_class); BOOL debug_parse_levels(char *params_str); void debug_message(int msg_type, pid_t src, void *buf, size_t len); void debug_message_send(pid_t pid, int level); -void setup_logging(char *pname, BOOL interactive); +void setup_logging(const char *pname, BOOL interactive); BOOL reopen_logs( void ); void force_check_log_size( void ); BOOL need_to_check_log_size( void ); void check_log_size( void ); void dbgflush( void ); -BOOL dbghdr( int level, char *file, char *func, int line ); +BOOL dbghdr( int level, const char *file, const char *func, int line ); /* The following definitions come from lib/error.c */ @@ -86,7 +86,7 @@ char *generate_random_str(size_t len); /* The following definitions come from lib/getsmbpass.c */ -char *getsmbpass(char *prompt) ; +char *getsmbpass(const char *prompt) ; /* The following definitions come from lib/hash.c */ @@ -117,7 +117,7 @@ int get_interfaces(struct iface_struct *ifaces, int max_interfaces); /* The following definitions come from lib/kanji.c */ -void interpret_coding_system(char *str); +void interpret_coding_system(const char *str); void initialize_multibyte_vectors( int client_codepage); /* The following definitions come from lib/md4.c */ @@ -153,8 +153,8 @@ int nt_status_to_pam(NTSTATUS nt_status); /* The following definitions come from lib/pidfile.c */ -pid_t pidfile_pid(char *name); -void pidfile_create(char *name); +pid_t pidfile_pid(const char *name); +void pidfile_create(const char *name); /* The following definitions come from lib/readline.c */ @@ -191,10 +191,10 @@ void CatchChildLeaveStatus(void); /* The following definitions come from libsmb/cliconnect.c */ BOOL cli_session_setup(struct cli_state *cli, - char *user, - char *pass, int passlen, - char *ntpass, int ntpasslen, - char *workgroup); + const char *user, + const char *pass, int passlen, + const char *ntpass, int ntpasslen, + const char *workgroup); BOOL cli_ulogoff(struct cli_state *cli); BOOL cli_send_tconX(struct cli_state *cli, const char *share, const char *dev, const char *pass, int passlen); @@ -205,17 +205,17 @@ BOOL cli_session_request(struct cli_state *cli, struct nmb_name *calling, struct nmb_name *called); BOOL cli_connect(struct cli_state *cli, const char *host, struct in_addr *ip); BOOL cli_establish_connection(struct cli_state *cli, - char *dest_host, struct in_addr *dest_ip, + const char *dest_host, struct in_addr *dest_ip, struct nmb_name *calling, struct nmb_name *called, - char *service, char *service_type, + const char *service, const char *service_type, BOOL do_shutdown, BOOL do_tcon); NTSTATUS cli_full_connection(struct cli_state **output_cli, const char *my_name, const char *dest_host, struct in_addr *dest_ip, int port, - char *service, char *service_type, - char *user, char *domain, - char *password, int pass_len) ; -BOOL attempt_netbios_session_request(struct cli_state *cli, char *srchost, char *desthost, + const char *service, const char *service_type, + const char *user, const char *domain, + const char *password, int pass_len) ; +BOOL attempt_netbios_session_request(struct cli_state *cli, const char *srchost, const char *desthost, struct in_addr *pdest_ip); /* The following definitions come from libsmb/cli_dfs.c */ @@ -237,13 +237,13 @@ NTSTATUS cli_dfs_enum(struct cli_state *cli, TALLOC_CTX *mem_ctx, /* The following definitions come from libsmb/clidgram.c */ -int cli_send_mailslot(int dgram_sock, BOOL unique, char *mailslot, +int cli_send_mailslot(int dgram_sock, BOOL unique, const char *mailslot, char *buf, int len, const char *srcname, int src_type, const char *dstname, int dest_type, struct in_addr dest_ip, struct in_addr src_ip, int dest_port, int src_port); -int cli_get_response(int dgram_sock, BOOL unique, char *mailslot, char *buf, int bufsiz); +int cli_get_response(int dgram_sock, BOOL unique, const char *mailslot, char *buf, int bufsiz); int cli_get_backup_list(const char *myname, const char *send_to_name); int cli_get_backup_server(char *my_name, char *target, char *servername, int namesize); @@ -264,7 +264,7 @@ BOOL cli_send_keepalive(struct cli_state *cli); /* The following definitions come from libsmb/clierror.c */ -char *cli_errstr(struct cli_state *cli); +const char *cli_errstr(struct cli_state *cli); NTSTATUS cli_nt_error(struct cli_state *cli); void cli_dos_error(struct cli_state *cli, uint8 *eclass, uint32 *ecode); int cli_errno_from_dos(uint8 eclass, uint32 num); @@ -301,7 +301,7 @@ BOOL cli_lock64(struct cli_state *cli, int fnum, SMB_BIG_UINT offset, SMB_BIG_UINT len, int timeout, enum brl_type lock_type); BOOL cli_unlock64(struct cli_state *cli, int fnum, SMB_BIG_UINT offset, SMB_BIG_UINT len); BOOL cli_getattrE(struct cli_state *cli, int fd, - uint16 *attr, size_t *size, + uint16 *attr, SMB_BIG_UINT *size, time_t *c_time, time_t *a_time, time_t *m_time); BOOL cli_getatr(struct cli_state *cli, const char *fname, uint16 *attr, size_t *size, time_t *t); @@ -413,7 +413,7 @@ void cli_oplock_handler(struct cli_state *cli, /* The following definitions come from libsmb/cli_pipe_util.c */ struct cli_state *cli_pipe_initialise(struct cli_state *cli, char *system_name, - char *pipe_name, + const char *pipe_name, struct ntuser_creds *creds); void cli_pipe_shutdown(struct cli_state *cli); @@ -425,7 +425,7 @@ int cli_printjob_del(struct cli_state *cli, int job); /* The following definitions come from libsmb/clirap.c */ -BOOL cli_api_pipe(struct cli_state *cli, char *pipe_name, +BOOL cli_api_pipe(struct cli_state *cli, const char *pipe_name, uint16 *setup, uint32 setup_count, uint32 max_setup_count, char *params, uint32 param_count, uint32 max_param_count, char *data, uint32 data_count, uint32 max_data_count, @@ -434,8 +434,8 @@ BOOL cli_api_pipe(struct cli_state *cli, char *pipe_name, BOOL cli_api(struct cli_state *cli, char *param, int prcnt, int mprcnt, char *data, int drcnt, int mdrcnt, - char **rparam, int *rprcnt, - char **rdata, int *rdrcnt); + char **rparam, unsigned int *rprcnt, + char **rdata, unsigned int *rdrcnt); BOOL cli_NetWkstaUserLogon(struct cli_state *cli,char *user, char *workstation); int cli_RNetShareEnum(struct cli_state *cli, void (*fn)(const char *, uint32, const char *, void *), void *state); BOOL cli_NetServerEnum(struct cli_state *cli, char *workgroup, uint32 stype, @@ -539,7 +539,7 @@ NTSTATUS cli_samr_lookup_rids(struct cli_state *cli, TALLOC_CTX *mem_ctx, uint32 **name_types); NTSTATUS cli_samr_lookup_names(struct cli_state *cli, TALLOC_CTX *mem_ctx, POLICY_HND *domain_pol, uint32 flags, - uint32 num_names, char **names, + uint32 num_names, const char **names, uint32 *num_rids, uint32 **rids, uint32 **rid_types); NTSTATUS cli_samr_create_dom_user(struct cli_state *cli, TALLOC_CTX *mem_ctx, @@ -570,7 +570,7 @@ struct cli_state *cli_spoolss_initialise(struct cli_state *cli, char *system_name, struct ntuser_creds *creds); WERROR cli_spoolss_open_printer_ex(struct cli_state *cli, TALLOC_CTX *mem_ctx, - char *printername, char *datatype, uint32 access_required, + char *printername, const char *datatype, uint32 access_required, char *station, char *username, POLICY_HND *pol); WERROR cli_spoolss_close_printer(struct cli_state *cli, TALLOC_CTX *mem_ctx, POLICY_HND *pol); @@ -592,11 +592,11 @@ WERROR cli_spoolss_getprinterdriver(struct cli_state *cli, TALLOC_CTX *mem_ctx, uint32 offered, uint32 *needed, POLICY_HND *pol, uint32 level, - char *env, PRINTER_DRIVER_CTR *ctr); + const char *env, PRINTER_DRIVER_CTR *ctr); WERROR cli_spoolss_enumprinterdrivers (struct cli_state *cli, TALLOC_CTX *mem_ctx, uint32 offered, uint32 *needed, - uint32 level, char *env, + uint32 level, const char *env, uint32 *num_drivers, PRINTER_DRIVER_CTR *ctr); WERROR cli_spoolss_getprinterdriverdir (struct cli_state *cli, @@ -610,7 +610,7 @@ WERROR cli_spoolss_addprinterdriver (struct cli_state *cli, WERROR cli_spoolss_addprinterex (struct cli_state *cli, TALLOC_CTX *mem_ctx, uint32 level, PRINTER_INFO_CTR*ctr); WERROR cli_spoolss_deleteprinterdriver (struct cli_state *cli, - TALLOC_CTX *mem_ctx, char *arch, + TALLOC_CTX *mem_ctx, const char *arch, char *driver); WERROR cli_spoolss_getprintprocessordirectory(struct cli_state *cli, TALLOC_CTX *mem_ctx, @@ -656,21 +656,21 @@ int clistr_align_in(struct cli_state *cli, const void *p, int flags); BOOL cli_send_trans(struct cli_state *cli, int trans, const char *pipe_name, int fid, int flags, - uint16 *setup, int lsetup, int msetup, - char *param, int lparam, int mparam, - char *data, int ldata, int mdata); + uint16 *setup, unsigned int lsetup, unsigned int msetup, + char *param, unsigned int lparam, unsigned int mparam, + char *data, unsigned int ldata, unsigned int mdata); BOOL cli_receive_trans(struct cli_state *cli,int trans, - char **param, int *param_len, - char **data, int *data_len); + char **param, unsigned int *param_len, + char **data, unsigned int *data_len); BOOL cli_send_nt_trans(struct cli_state *cli, int function, int flags, - uint16 *setup, int lsetup, int msetup, - char *param, int lparam, int mparam, - char *data, int ldata, int mdata); + uint16 *setup, unsigned int lsetup, unsigned int msetup, + char *param, unsigned int lparam, unsigned int mparam, + char *data, unsigned int ldata, unsigned int mdata); BOOL cli_receive_nt_trans(struct cli_state *cli, - char **param, int *param_len, - char **data, int *data_len); + char **param, unsigned int *param_len, + char **data, unsigned int *data_len); /* The following definitions come from libsmb/credentials.c */ @@ -689,7 +689,7 @@ BOOL deal_with_creds(uchar sess_key[8], /* The following definitions come from libsmb/doserr.c */ -char *dos_errstr(WERROR werror); +const char *dos_errstr(WERROR werror); /* The following definitions come from libsmb/errormap.c */ @@ -719,7 +719,7 @@ BOOL name_register(int fd, const char *name, int name_type, struct in_addr *name_query(int fd,const char *name,int name_type, BOOL bcast,BOOL recurse, struct in_addr to_ip, int *count, int *flags); -FILE *startlmhosts(char *fname); +FILE *startlmhosts(const char *fname); BOOL getlmhostsent( FILE *fp, pstring name, int *name_type, struct in_addr *ipaddr); void endlmhosts(FILE *fp); BOOL name_register_wins(const char *name, int name_type); @@ -750,8 +750,8 @@ int build_packet(char *buf, struct packet_struct *p); BOOL send_packet(struct packet_struct *p); struct packet_struct *receive_packet(int fd,enum packet_type type,int t); struct packet_struct *receive_nmb_packet(int fd, int t, int trn_id); -struct packet_struct *receive_dgram_packet(int fd, int t, char *mailslot_name); -BOOL match_mailslot_name(struct packet_struct *p, char *mailslot_name); +struct packet_struct *receive_dgram_packet(int fd, int t, const char *mailslot_name); +BOOL match_mailslot_name(struct packet_struct *p, const char *mailslot_name); void sort_query_replies(char *data, int n, struct in_addr ip); char *dns_to_netbios_name(char *dns_name); int name_mangle( char *In, char *Out, char name_type ); @@ -760,9 +760,9 @@ int name_len(char *s1); /* The following definitions come from libsmb/nterr.c */ -char *get_nt_error_msg(NTSTATUS nt_code); -char *nt_errstr(NTSTATUS nt_code); -char *get_nt_error_c_code(NTSTATUS nt_code); +const char *get_nt_error_msg(NTSTATUS nt_code); +const char *nt_errstr(NTSTATUS nt_code); +const char *get_nt_error_c_code(NTSTATUS nt_code); /* The following definitions come from libsmb/passchange.c */ @@ -777,7 +777,7 @@ BOOL pwd_is_nullpwd(const struct pwd_info *pwd); BOOL pwd_compare(struct pwd_info *pwd1, struct pwd_info *pwd2); void pwd_read(struct pwd_info *pwd, char *passwd_report, BOOL do_encrypt); void pwd_set_nullpwd(struct pwd_info *pwd); -void pwd_set_cleartext(struct pwd_info *pwd, char *clr); +void pwd_set_cleartext(struct pwd_info *pwd, const char *clr); void pwd_get_cleartext(struct pwd_info *pwd, char *clr); void pwd_set_lm_nt_16(struct pwd_info *pwd, uchar lm_pwd[16], uchar nt_pwd[16]); void pwd_get_lm_nt_16(struct pwd_info *pwd, uchar lm_pwd[16], uchar nt_pwd[16]); @@ -819,10 +819,10 @@ void nt_owf_genW(const UNISTR2 *pwd, uchar nt_p16[16]); /* The following definitions come from libsmb/smberr.c */ -char *smb_dos_err_name(uint8 class, uint16 num); -char *get_dos_error_msg(WERROR result); -char *smb_dos_err_class(uint8 class); -char *smb_dos_errstr(char *inbuf); +const char *smb_dos_err_name(uint8 class, uint16 num); +const char *get_dos_error_msg(WERROR result); +const char *smb_dos_err_class(uint8 class); +const char *smb_dos_errstr(char *inbuf); WERROR map_werror_from_unix(int error); /* The following definitions come from libsmb/unexpected.c */ @@ -830,7 +830,7 @@ WERROR map_werror_from_unix(int error); void unexpected_packet(struct packet_struct *p); void clear_unexpected(time_t t); struct packet_struct *receive_unexpected(enum packet_type packet_type, int id, - char *mailslot_name); + const char *mailslot_name); /* The following definitions come from lib/snprintf.c */ @@ -840,7 +840,7 @@ struct packet_struct *receive_unexpected(enum packet_type packet_type, int id, void sub_set_smb_name(const char *name); const char* get_remote_machine_name(void); void standard_sub_basic(char *str, int len); -void standard_sub_advanced(int snum, char *user, char *connectpath, gid_t gid, char *str, int len); +void standard_sub_advanced(int snum, char *user, const char *connectpath, gid_t gid, char *str, int len); void standard_sub_conn(connection_struct *conn, char *str, int len); void standard_sub_home(int snum, char *user, char *str, int len); void standard_sub_snum(int snum, char *str, int len); @@ -1060,7 +1060,7 @@ pid_t sys_getpid(void); int sys_popen(const char *command); int sys_pclose(int fd); void *sys_dlopen(const char *name, int flags); -void *sys_dlsym(void *handle, char *symbol); +void *sys_dlsym(void *handle, const char *symbol); int sys_dlclose (void *handle); const char *sys_dlerror(void); void sys_adminlog(int priority, const char *format_str, ...); @@ -1126,12 +1126,12 @@ struct passwd *smb_getpwnam(char *user, BOOL allow_change); /* The following definitions come from lib/util.c */ -char *tmpdir(void); +const char *tmpdir(void); BOOL in_group(gid_t group, gid_t current_gid, int ngroups, gid_t *groups); -char *Atoic(char *p, int *n, char *c); -char *get_numlist(char *p, uint32 **num, int *count); +const char *Atoic(const char *p, int *n, const char *c); +const char *get_numlist(const char *p, uint32 **num, int *count); BOOL file_exist(char *fname,SMB_STRUCT_STAT *sbuf); -time_t file_modtime(char *fname); +time_t file_modtime(const char *fname); BOOL directory_exist(char *dname,SMB_STRUCT_STAT *st); SMB_OFF_T get_file_size(char *file_name); char *attrib_string(uint16 mode); @@ -1142,7 +1142,7 @@ int set_message_bcc(char *buf,int num_bytes); int set_message_end(void *outbuf,void *end_ptr); void dos_clean_name(char *s); void unix_clean_name(char *s); -void make_dir_struct(char *buf,char *mask,char *fname,SMB_OFF_T size,int mode,time_t date); +void make_dir_struct(char *buf,const char *mask,const char *fname,SMB_OFF_T size,int mode,time_t date); void close_low_fds(void); int set_blocking(int fd, BOOL set); ssize_t transfer_file_internal(int infd, int outfd, size_t n, ssize_t (*read_fn)(int, void *, size_t), @@ -1168,9 +1168,9 @@ char *uidtoname(uid_t uid); char *gidtoname(gid_t gid); uid_t nametouid(char *name); gid_t nametogid(char *name); -void smb_panic(char *why); +void smb_panic(const char *why); char *readdirname(DIR *p); -BOOL is_in_path(char *name, name_compare_entry *namelist); +BOOL is_in_path(const char *name, name_compare_entry *namelist); void set_namearray(name_compare_entry **ppname_array, char *namelist); void free_namearray(name_compare_entry *name_array); BOOL fcntl_lock(int fd, int op, SMB_OFF_T offset, SMB_OFF_T count, int type); @@ -1187,7 +1187,7 @@ char *tab_depth(int depth); int str_checksum(const char *s); void zero_free(void *p, size_t size); int set_maxfiles(int requested_max); -BOOL reg_split_key(char *full_keyname, uint32 *reg_type, char *key_name); +BOOL reg_split_key(const char *full_keyname, uint32 *reg_type, char *key_name); int smb_mkstemp(char *template); void *smb_xmalloc(size_t size); void *smb_xmemdup(const void *p, size_t size); @@ -1195,11 +1195,11 @@ char *smb_xstrdup(const char *s); int smb_xvasprintf(char **ptr, const char *format, va_list ap); void *memdup(void *p, size_t size); char *myhostname(void); -char *lock_path(char *name); +char *lock_path(const char *name); char *pid_path(char *name); char *parent_dirname(const char *path); BOOL ms_has_wild(char *s); -BOOL mask_match(char *string, char *pattern, BOOL is_case_sensitive); +BOOL mask_match(const char *string, char *pattern, BOOL is_case_sensitive); BOOL unix_wild_match(char *pattern, char *string); DATA_BLOB data_blob(const void *p, size_t length); DATA_BLOB data_blob_talloc(TALLOC_CTX *mem_ctx, const void *p, size_t length); @@ -1219,12 +1219,12 @@ SMB_BIG_UINT getfilepwpos(void *vp); BOOL setfilepwpos(void *vp, SMB_BIG_UINT tok); int getfileline(void *vp, char *linebuf, int linebuf_size); char *fgets_slash(char *s2,int maxlen,FILE *f); -char *file_pload(char *syscmd, size_t *size); +char *file_pload(const char *syscmd, size_t *size); char *fd_load(int fd, size_t *size); -char *file_load(char *fname, size_t *size); -char **file_lines_load(char *fname, int *numlines, BOOL convert); +char *file_load(const char *fname, size_t *size); +char **file_lines_load(const char *fname, int *numlines, BOOL convert); char **fd_lines_load(int fd, int *numlines, BOOL convert); -char **file_lines_pload(char *syscmd, int *numlines, BOOL convert); +char **file_lines_pload(const char *syscmd, int *numlines, BOOL convert); void file_lines_free(char **lines); void file_lines_slashcont(char **lines); @@ -1297,7 +1297,7 @@ char *sid_binstring(DOM_SID *sid); /* The following definitions come from lib/util_sock.c */ BOOL is_a_socket(int fd); -void set_socket_options(int fd, char *options); +void set_socket_options(int fd, const char *options); ssize_t read_udp_socket(int fd,char *buf,size_t len); ssize_t read_with_timeout(int fd,char *buf,size_t mincnt,size_t maxcnt,unsigned int time_out); BOOL send_keepalive(int client); @@ -1325,15 +1325,15 @@ int sock_exec(const char *prog); /* The following definitions come from lib/util_str.c */ void set_first_token(char *ptr); -BOOL next_token(char **ptr,char *buff,const char *sep, size_t bufsize); -char **toktocliplist(int *ctok, char *sep); +BOOL next_token(const char **ptr,char *buff,const char *sep, size_t bufsize); +char **toktocliplist(int *ctok, const char *sep); int StrCaseCmp(const char *s, const char *t); int StrnCaseCmp(const char *s, const char *t, size_t n); BOOL strequal(const char *s1, const char *s2); BOOL strequal_unix(const char *s1, const char *s2); BOOL strnequal(const char *s1,const char *s2,size_t n); BOOL strcsequal(const char *s1,const char *s2); -int strwicmp(char *psz1, char *psz2); +int strwicmp(const char *psz1, const char *psz2); void strlower(char *s); void strupper(char *s); char *strupper_static(const char *s); @@ -1361,7 +1361,7 @@ void fstring_sub(char *s,const char *pattern,const char *insert); void pstring_sub(char *s,const char *pattern,const char *insert); void all_string_sub(char *s,const char *pattern,const char *insert, size_t len); void split_at_last_component(char *path, char *front, char sep, char *back); -char *octal_string(int i); +const char *octal_string(int i); char *string_truncate(char *s, int length); char *binary_string(char *buf, int len); @@ -1455,7 +1455,7 @@ int rpcstr_pull(char* dest, void *src, int dest_len, int src_len, int flags); /* The following definitions come from lib/wins_srv.c */ -BOOL wins_srv_load_list( char *src ); +BOOL wins_srv_load_list( const char *src ); struct in_addr wins_srv_ip( void ); void wins_srv_died( struct in_addr boothill_ip ); unsigned long wins_srv_count( void ); @@ -1559,7 +1559,7 @@ void insert_permanent_name_into_unicast( struct subnet_record *subrec, void unbecome_local_master_browser(struct subnet_record *subrec, struct work_record *work, BOOL force_new_election); void become_local_master_browser(struct subnet_record *subrec, struct work_record *work); -void set_workgroup_local_master_browser_name( struct work_record *work, char *newname); +void set_workgroup_local_master_browser_name( struct work_record *work, const char *newname); /* The following definitions come from nmbd/nmbd_browserdb.c */ @@ -1645,7 +1645,7 @@ struct name_record *find_name_for_remote_broadcast_subnet( BOOL self_only ); void update_name_ttl( struct name_record *namerec, int ttl ); struct name_record *add_name_to_subnet( struct subnet_record *subrec, - char *name, + const char *name, int type, uint16 nb_flags, int ttl, @@ -1687,7 +1687,7 @@ BOOL query_name_from_wins_server(struct in_addr ip_to, /* The following definitions come from nmbd/nmbd_nameregister.c */ BOOL register_name(struct subnet_record *subrec, - char *name, int type, uint16 nb_flags, + const char *name, int type, uint16 nb_flags, register_name_success_function success_fn, register_name_fail_function fail_fn, struct userdata_struct *userdata); @@ -1775,16 +1775,16 @@ void reply_netbios_packet(struct packet_struct *orig_packet, void run_packet_queue(void); void retransmit_or_expire_response_records(time_t t); BOOL listen_for_packets(BOOL run_election); -BOOL send_mailslot(BOOL unique, char *mailslot,char *buf,int len, - char *srcname, int src_type, - char *dstname, int dest_type, +BOOL send_mailslot(BOOL unique, const char *mailslot,char *buf,int len, + const char *srcname, int src_type, + const char *dstname, int dest_type, struct in_addr dest_ip,struct in_addr src_ip, int dest_port); /* The following definitions come from nmbd/nmbd_processlogon.c */ void process_logon_packet(struct packet_struct *p,char *buf,int len, - char *mailslot); + const char *mailslot); /* The following definitions come from nmbd/nmbd_responserecordsdb.c */ @@ -1803,7 +1803,7 @@ BOOL is_refresh_already_queued(struct subnet_record *subrec, struct name_record /* The following definitions come from nmbd/nmbd_sendannounce.c */ -void send_browser_reset(int reset_type, char *to_name, int to_type, struct in_addr to_ip); +void send_browser_reset(int reset_type, const char *to_name, int to_type, struct in_addr to_ip); void broadcast_announce_request(struct subnet_record *subrec, struct work_record *work); void announce_my_server_names(time_t t); void announce_my_lm_server_names(time_t t); @@ -1960,6 +1960,7 @@ char *lp_domain_guest_group(void); char *lp_template_homedir(void); char *lp_template_shell(void); char *lp_winbind_separator(void); +char *lp_acl_compatibility(void); BOOL lp_winbind_enum_users(void); BOOL lp_winbind_enum_groups(void); BOOL lp_winbind_use_default_domain(void); @@ -2182,7 +2183,7 @@ BOOL lp_file_list_changed(void); BOOL lp_winbind_uid(uid_t *low, uid_t *high); BOOL lp_winbind_gid(gid_t *low, gid_t *high); void *lp_local_ptr(int snum, void *ptr); -BOOL lp_do_parameter(int snum, char *pszParmName, char *pszParmValue); +BOOL lp_do_parameter(int snum, const char *pszParmName, const char *pszParmValue); void init_locals(void); BOOL lp_is_default(int snum, struct parm_struct *parm); struct parm_struct *lp_next_parameter(int snum, int *i, int allparameters); @@ -2191,13 +2192,13 @@ void lp_add_one_printer(char *name, char *comment); BOOL lp_loaded(void); void lp_killunused(BOOL (*snumused) (int)); void lp_killservice(int iServiceIn); -BOOL lp_load(char *pszFname, BOOL global_only, BOOL save_defaults, +BOOL lp_load(const char *pszFname, BOOL global_only, BOOL save_defaults, BOOL add_ipc); void lp_resetnumservices(void); int lp_numservices(void); void lp_dump(FILE *f, BOOL show_defaults, int maxtoprint, char *(*dos_to_ext)(const char *)); void lp_dump_one(FILE * f, BOOL show_defaults, int snum, char *(*dos_to_ext)(const char *)); -int lp_servicenumber(char *pszServiceName); +int lp_servicenumber(const char *pszServiceName); char *volume_label(int snum); int lp_server_role(void); BOOL lp_domain_master(void); @@ -2268,8 +2269,8 @@ BOOL local_sid_to_gid(gid_t *pgid, DOM_SID *psid, enum SID_NAME_USE *name_type); void copy_id23_to_sam_passwd(SAM_ACCOUNT *to, SAM_USER_INFO_23 *from); void copy_id21_to_sam_passwd(SAM_ACCOUNT *to, SAM_USER_INFO_21 *from); void copy_sam_passwd(SAM_ACCOUNT *to, const SAM_ACCOUNT *from); -BOOL local_password_change(char *user_name, int local_flags, - char *new_passwd, +BOOL local_password_change(const char *user_name, int local_flags, + const char *new_passwd, char *err_str, size_t err_str_len, char *msg_str, size_t msg_str_len); uint16 pdb_get_acct_ctrl (SAM_ACCOUNT *sampass); @@ -2341,9 +2342,9 @@ BOOL pdb_getsampwuid (SAM_ACCOUNT* user, uid_t uid); BOOL pdb_setsampwent(BOOL update); void pdb_endsampwent(void); BOOL pdb_getsampwent(SAM_ACCOUNT * user); -BOOL pdb_getsampwnam(SAM_ACCOUNT * user, char *sname); +BOOL pdb_getsampwnam(SAM_ACCOUNT * user, const char *sname); BOOL pdb_getsampwrid(SAM_ACCOUNT * user, uint32 rid); -BOOL pdb_delete_sam_account(char *sname); +BOOL pdb_delete_sam_account(const char *sname); BOOL pdb_update_sam_account(SAM_ACCOUNT * newpwd, BOOL override); BOOL pdb_add_sam_account(SAM_ACCOUNT * newpwd); @@ -2352,9 +2353,9 @@ BOOL pdb_add_sam_account(SAM_ACCOUNT * newpwd); BOOL pdb_setsampwent(BOOL update); void pdb_endsampwent(void); BOOL pdb_getsampwent(SAM_ACCOUNT *user); -BOOL pdb_getsampwnam(SAM_ACCOUNT * user, char *sname); +BOOL pdb_getsampwnam(SAM_ACCOUNT * user, const char *sname); BOOL pdb_getsampwrid(SAM_ACCOUNT * user, uint32 rid); -BOOL pdb_delete_sam_account(char *sname); +BOOL pdb_delete_sam_account(const char *sname); BOOL pdb_add_sam_account(SAM_ACCOUNT * newpwd); BOOL pdb_update_sam_account(SAM_ACCOUNT * newpwd, BOOL override); @@ -2363,42 +2364,42 @@ BOOL pdb_update_sam_account(SAM_ACCOUNT * newpwd, BOOL override); BOOL pdb_setsampwent (BOOL update); void pdb_endsampwent (void); BOOL pdb_getsampwent(SAM_ACCOUNT *user); -BOOL pdb_getsampwnam(SAM_ACCOUNT *sam_acct, char *username); +BOOL pdb_getsampwnam(SAM_ACCOUNT *sam_acct, const char *username); BOOL pdb_getsampwrid(SAM_ACCOUNT *sam_acct,uint32 rid); BOOL pdb_add_sam_account(SAM_ACCOUNT *sampass); BOOL pdb_update_sam_account(SAM_ACCOUNT *sampass, BOOL override); -BOOL pdb_delete_sam_account (char* username); +BOOL pdb_delete_sam_account (const char* username); /* The following definitions come from passdb/pdb_tdb.c */ BOOL pdb_setsampwent(BOOL update); void pdb_endsampwent(void); BOOL pdb_getsampwent(SAM_ACCOUNT *user); -BOOL pdb_getsampwnam (SAM_ACCOUNT *user, char *sname); +BOOL pdb_getsampwnam (SAM_ACCOUNT *user, const char *sname); BOOL pdb_getsampwrid (SAM_ACCOUNT *user, uint32 rid); -BOOL pdb_delete_sam_account(char *sname); +BOOL pdb_delete_sam_account(const char *sname); BOOL pdb_update_sam_account (SAM_ACCOUNT *newpwd, BOOL override); BOOL pdb_add_sam_account (SAM_ACCOUNT *newpwd); /* The following definitions come from passdb/secrets.c */ BOOL secrets_init(void); -void *secrets_fetch(char *key, size_t *size); -BOOL secrets_store(char *key, void *data, size_t size); -BOOL secrets_delete(char *key); -BOOL secrets_store_domain_sid(char *domain, DOM_SID *sid); -BOOL secrets_fetch_domain_sid(char *domain, DOM_SID *sid); -char *trust_keystr(char *domain); -BOOL secrets_lock_trust_account_password(char *domain, BOOL dolock); -BOOL secrets_fetch_trust_account_password(char *domain, uint8 ret_pwd[16], +void *secrets_fetch(const char *key, size_t *size); +BOOL secrets_store(const char *key, const void *data, size_t size); +BOOL secrets_delete(const char *key); +BOOL secrets_store_domain_sid(const char *domain, DOM_SID *sid); +BOOL secrets_fetch_domain_sid(const char *domain, DOM_SID *sid); +const char *trust_keystr(const char *domain); +BOOL secrets_lock_trust_account_password(const char *domain, BOOL dolock); +BOOL secrets_fetch_trust_account_password(const char *domain, uint8 ret_pwd[16], time_t *pass_last_set_time); -BOOL secrets_store_trust_account_password(char *domain, uint8 new_pwd[16]); -BOOL trust_password_delete(char *domain); +BOOL secrets_store_trust_account_password(const char *domain, uint8 new_pwd[16]); +BOOL trust_password_delete(const char *domain); void reset_globals_after_fork(void); -BOOL secrets_store_ldap_pw(char* dn, char* pw); -BOOL fetch_ldap_pw(char *dn, char* pw, int len); +BOOL secrets_store_ldap_pw(const char* dn, const char* pw); +BOOL fetch_ldap_pw(const char *dn, char* pw, int len); BOOL secrets_named_mutex(const char *name, unsigned int timeout); -void secrets_named_mutex_release(char *name); +void secrets_named_mutex_release(const char *name); /* The following definitions come from passdb/smbpassfile.c */ @@ -2428,12 +2429,12 @@ BOOL add_a_form(nt_forms_struct **list, const FORM *form, int *count); BOOL delete_a_form(nt_forms_struct **list, UNISTR2 *del_name, int *count, WERROR *ret); void update_a_form(nt_forms_struct **list, const FORM *form, int count); int get_ntdrivers(fstring **list, char *architecture, uint32 version); -BOOL get_short_archi(char *short_archi, char *long_archi); +BOOL get_short_archi(char *short_archi, const char *long_archi); WERROR clean_up_driver_struct(NT_PRINTER_DRIVER_INFO_LEVEL driver_abstract, uint32 level, struct current_user *user); BOOL move_driver_to_download_area(NT_PRINTER_DRIVER_INFO_LEVEL driver_abstract, uint32 level, struct current_user *user, WERROR *perr); -uint32 get_a_printer_driver_9x_compatible(pstring line, fstring model); +uint32 get_a_printer_driver_9x_compatible(pstring line, const fstring model); uint32 del_a_printer(char *sharename); void add_a_specific_param(NT_PRINTER_INFO_LEVEL_2 *info_2, NT_PRINTER_PARAM **param); BOOL unlink_specific_param_if_exist(NT_PRINTER_INFO_LEVEL_2 *info_2, NT_PRINTER_PARAM *param); @@ -2451,7 +2452,7 @@ WERROR get_a_printer(NT_PRINTER_INFO_LEVEL **pp_printer, uint32 level, fstring s uint32 free_a_printer(NT_PRINTER_INFO_LEVEL **pp_printer, uint32 level); uint32 add_a_printer_driver(NT_PRINTER_DRIVER_INFO_LEVEL driver, uint32 level); WERROR get_a_printer_driver(NT_PRINTER_DRIVER_INFO_LEVEL *driver, uint32 level, - fstring drivername, fstring architecture, uint32 version); + fstring drivername, const fstring architecture, uint32 version); uint32 free_a_printer_driver(NT_PRINTER_DRIVER_INFO_LEVEL driver, uint32 level); BOOL printer_driver_in_use ( NT_PRINTER_DRIVER_INFO_LEVEL_3 *info_3 ); WERROR delete_printer_driver( NT_PRINTER_DRIVER_INFO_LEVEL_3 *info_3, struct current_user *user, @@ -2571,7 +2572,7 @@ WERROR cli_spoolss_reply_rrpcn(struct cli_state *cli, TALLOC_CTX *mem_ctx, /* The following definitions come from rpc_client/cli_trust.c */ -BOOL change_trust_account_password( char *domain, char *remote_machine_list); +BOOL change_trust_account_password( char *domain, const char *remote_machine_list); /* The following definitions come from rpcclient/cmd_dfs.c */ @@ -2590,7 +2591,7 @@ BOOL change_trust_account_password( char *domain, char *remote_machine_list); /* The following definitions come from rpcclient/cmd_spoolss.c */ -BOOL get_short_archi(char *short_archi, char *long_archi); +BOOL get_short_archi(char *short_archi, const char *long_archi); void set_drv_info_3_env (DRIVER_INFO_3 *info, const char *arch); /* The following definitions come from rpcclient/cmd_srvsvc.c */ @@ -2612,123 +2613,123 @@ int main(int argc, char *argv[]); /* The following definitions come from rpc_parse/parse_dfs.c */ void init_dfs_q_dfs_exist(DFS_Q_DFS_EXIST *q_d); -BOOL dfs_io_q_dfs_exist(char *desc, DFS_Q_DFS_EXIST *q_d, prs_struct *ps, int depth); -BOOL dfs_io_r_dfs_exist(char *desc, DFS_R_DFS_EXIST *q_d, prs_struct *ps, int depth); -BOOL init_dfs_q_dfs_remove(DFS_Q_DFS_REMOVE *q_d, char *entrypath, - char *servername, char *sharename); -BOOL dfs_io_q_dfs_remove(char *desc, DFS_Q_DFS_REMOVE *q_d, prs_struct *ps, int depth); -BOOL dfs_io_r_dfs_remove(char *desc, DFS_R_DFS_REMOVE *r_d, prs_struct *ps, int depth); -BOOL init_dfs_q_dfs_add(DFS_Q_DFS_ADD *q_d, char *entrypath, char *servername, - char *sharename, char *comment, uint32 flags); -BOOL dfs_io_q_dfs_add(char *desc, DFS_Q_DFS_ADD *q_d, prs_struct *ps, int depth); -BOOL dfs_io_r_dfs_add(char *desc, DFS_R_DFS_ADD *r_d, prs_struct *ps, int depth); -BOOL init_dfs_q_dfs_get_info(DFS_Q_DFS_GET_INFO *q_d, char *entrypath, - char *servername, char *sharename, +BOOL dfs_io_q_dfs_exist(const char *desc, DFS_Q_DFS_EXIST *q_d, prs_struct *ps, int depth); +BOOL dfs_io_r_dfs_exist(const char *desc, DFS_R_DFS_EXIST *q_d, prs_struct *ps, int depth); +BOOL init_dfs_q_dfs_remove(DFS_Q_DFS_REMOVE *q_d, const char *entrypath, + const char *servername, const char *sharename); +BOOL dfs_io_q_dfs_remove(const char *desc, DFS_Q_DFS_REMOVE *q_d, prs_struct *ps, int depth); +BOOL dfs_io_r_dfs_remove(const char *desc, DFS_R_DFS_REMOVE *r_d, prs_struct *ps, int depth); +BOOL init_dfs_q_dfs_add(DFS_Q_DFS_ADD *q_d, const char *entrypath, const char *servername, + const char *sharename, const char *comment, uint32 flags); +BOOL dfs_io_q_dfs_add(const char *desc, DFS_Q_DFS_ADD *q_d, prs_struct *ps, int depth); +BOOL dfs_io_r_dfs_add(const char *desc, DFS_R_DFS_ADD *r_d, prs_struct *ps, int depth); +BOOL init_dfs_q_dfs_get_info(DFS_Q_DFS_GET_INFO *q_d, const char *entrypath, + const char *servername, const char *sharename, uint32 info_level); -BOOL dfs_io_q_dfs_get_info(char* desc, DFS_Q_DFS_GET_INFO* q_i, prs_struct* ps, int depth); -BOOL dfs_io_r_dfs_get_info(char* desc, DFS_R_DFS_GET_INFO* r_i, prs_struct* ps, int depth); +BOOL dfs_io_q_dfs_get_info(const char* desc, DFS_Q_DFS_GET_INFO* q_i, prs_struct* ps, int depth); +BOOL dfs_io_r_dfs_get_info(const char* desc, DFS_R_DFS_GET_INFO* r_i, prs_struct* ps, int depth); BOOL init_dfs_q_dfs_enum(DFS_Q_DFS_ENUM *q_d, uint32 level, DFS_INFO_CTR *ctr); -BOOL dfs_io_q_dfs_enum(char *desc, DFS_Q_DFS_ENUM *q_d, prs_struct *ps, int depth); -BOOL dfs_io_dfs_info_ctr(char* desc, DFS_INFO_CTR* ctr, uint32 num_entries, uint32 level, prs_struct* ps, int depth); -BOOL dfs_io_r_dfs_enum(char *desc, DFS_R_DFS_ENUM *q_d, prs_struct *ps, int depth); -BOOL dfs_io_dfs_storage_info(char *desc, DFS_INFO_3* info3, prs_struct *ps, int depth); +BOOL dfs_io_q_dfs_enum(const char *desc, DFS_Q_DFS_ENUM *q_d, prs_struct *ps, int depth); +BOOL dfs_io_dfs_info_ctr(const char *desc, DFS_INFO_CTR* ctr, uint32 num_entries, uint32 level, prs_struct* ps, int depth); +BOOL dfs_io_r_dfs_enum(const char *desc, DFS_R_DFS_ENUM *q_d, prs_struct *ps, int depth); +BOOL dfs_io_dfs_storage_info(const char *desc, DFS_INFO_3* info3, prs_struct *ps, int depth); /* The following definitions come from rpc_parse/parse_lsa.c */ void init_lsa_trans_name(LSA_TRANS_NAME *trn, UNISTR2 *uni_name, - uint16 sid_name_use, char *name, uint32 idx); + uint16 sid_name_use, const char *name, uint32 idx); void init_lsa_sec_qos(LSA_SEC_QOS *qos, uint16 imp_lev, uint8 ctxt, uint8 eff); void init_lsa_obj_attr(LSA_OBJ_ATTR *attr, uint32 attributes, LSA_SEC_QOS *qos); void init_q_open_pol(LSA_Q_OPEN_POL *r_q, uint16 system_name, uint32 attributes, uint32 desired_access, LSA_SEC_QOS *qos); -BOOL lsa_io_q_open_pol(char *desc, LSA_Q_OPEN_POL *r_q, prs_struct *ps, +BOOL lsa_io_q_open_pol(const char *desc, LSA_Q_OPEN_POL *r_q, prs_struct *ps, int depth); -BOOL lsa_io_r_open_pol(char *desc, LSA_R_OPEN_POL *r_p, prs_struct *ps, +BOOL lsa_io_r_open_pol(const char *desc, LSA_R_OPEN_POL *r_p, prs_struct *ps, int depth); -void init_q_open_pol2(LSA_Q_OPEN_POL2 *r_q, char *server_name, +void init_q_open_pol2(LSA_Q_OPEN_POL2 *r_q, const char *server_name, uint32 attributes, uint32 desired_access, LSA_SEC_QOS *qos); -BOOL lsa_io_q_open_pol2(char *desc, LSA_Q_OPEN_POL2 *r_q, prs_struct *ps, +BOOL lsa_io_q_open_pol2(const char *desc, LSA_Q_OPEN_POL2 *r_q, prs_struct *ps, int depth); -BOOL lsa_io_r_open_pol2(char *desc, LSA_R_OPEN_POL2 *r_p, prs_struct *ps, +BOOL lsa_io_r_open_pol2(const char *desc, LSA_R_OPEN_POL2 *r_p, prs_struct *ps, int depth); void init_q_query_sec_obj(LSA_Q_QUERY_SEC_OBJ *q_q, const POLICY_HND *hnd, uint32 sec_info); -BOOL lsa_io_q_query_sec_obj(char *desc, LSA_Q_QUERY_SEC_OBJ *q_q, +BOOL lsa_io_q_query_sec_obj(const char *desc, LSA_Q_QUERY_SEC_OBJ *q_q, prs_struct *ps, int depth); -BOOL lsa_io_r_query_sec_obj(char *desc, LSA_R_QUERY_SEC_OBJ *r_u, +BOOL lsa_io_r_query_sec_obj(const char *desc, LSA_R_QUERY_SEC_OBJ *r_u, prs_struct *ps, int depth); void init_q_query(LSA_Q_QUERY_INFO *q_q, POLICY_HND *hnd, uint16 info_class); -BOOL lsa_io_q_query(char *desc, LSA_Q_QUERY_INFO *q_q, prs_struct *ps, +BOOL lsa_io_q_query(const char *desc, LSA_Q_QUERY_INFO *q_q, prs_struct *ps, int depth); BOOL init_q_enum_trust_dom(LSA_Q_ENUM_TRUST_DOM * q_e, POLICY_HND *pol, uint32 enum_context, uint32 preferred_len); -BOOL lsa_io_q_enum_trust_dom(char *desc, LSA_Q_ENUM_TRUST_DOM *q_e, +BOOL lsa_io_q_enum_trust_dom(const char *desc, LSA_Q_ENUM_TRUST_DOM *q_e, prs_struct *ps, int depth); void init_r_enum_trust_dom(TALLOC_CTX *ctx, LSA_R_ENUM_TRUST_DOM *r_e, uint32 enum_context, - char *domain_name, DOM_SID *domain_sid, + const char *domain_name, DOM_SID *domain_sid, NTSTATUS status); -BOOL lsa_io_r_enum_trust_dom(char *desc, LSA_R_ENUM_TRUST_DOM *r_e, +BOOL lsa_io_r_enum_trust_dom(const char *desc, LSA_R_ENUM_TRUST_DOM *r_e, prs_struct *ps, int depth); -BOOL lsa_io_dom_query_5(char *desc, DOM_QUERY_5 *d_q, prs_struct *ps, int depth); -BOOL lsa_io_r_query(char *desc, LSA_R_QUERY_INFO *r_q, prs_struct *ps, +BOOL lsa_io_dom_query_5(const char *desc, DOM_QUERY_5 *d_q, prs_struct *ps, int depth); +BOOL lsa_io_r_query(const char *desc, LSA_R_QUERY_INFO *r_q, prs_struct *ps, int depth); void init_lsa_sid_enum(TALLOC_CTX *mem_ctx, LSA_SID_ENUM *sen, int num_entries, DOM_SID *sids); void init_q_lookup_sids(TALLOC_CTX *mem_ctx, LSA_Q_LOOKUP_SIDS *q_l, POLICY_HND *hnd, int num_sids, DOM_SID *sids, uint16 level); -BOOL lsa_io_q_lookup_sids(char *desc, LSA_Q_LOOKUP_SIDS *q_s, prs_struct *ps, +BOOL lsa_io_q_lookup_sids(const char *desc, LSA_Q_LOOKUP_SIDS *q_s, prs_struct *ps, int depth); -BOOL lsa_io_r_lookup_sids(char *desc, LSA_R_LOOKUP_SIDS *r_s, +BOOL lsa_io_r_lookup_sids(const char *desc, LSA_R_LOOKUP_SIDS *r_s, prs_struct *ps, int depth); void init_q_lookup_names(TALLOC_CTX *mem_ctx, LSA_Q_LOOKUP_NAMES *q_l, POLICY_HND *hnd, int num_names, const char **names); -BOOL lsa_io_q_lookup_names(char *desc, LSA_Q_LOOKUP_NAMES *q_r, +BOOL lsa_io_q_lookup_names(const char *desc, LSA_Q_LOOKUP_NAMES *q_r, prs_struct *ps, int depth); -BOOL lsa_io_r_lookup_names(char *desc, LSA_R_LOOKUP_NAMES *r_r, +BOOL lsa_io_r_lookup_names(const char *desc, LSA_R_LOOKUP_NAMES *r_r, prs_struct *ps, int depth); void init_lsa_q_close(LSA_Q_CLOSE *q_c, POLICY_HND *hnd); -BOOL lsa_io_q_close(char *desc, LSA_Q_CLOSE *q_c, prs_struct *ps, int depth); -BOOL lsa_io_r_close(char *desc, LSA_R_CLOSE *r_c, prs_struct *ps, int depth); -BOOL lsa_io_q_open_secret(char *desc, LSA_Q_OPEN_SECRET *q_c, prs_struct *ps, int depth); -BOOL lsa_io_r_open_secret(char *desc, LSA_R_OPEN_SECRET *r_c, prs_struct *ps, int depth); +BOOL lsa_io_q_close(const char *desc, LSA_Q_CLOSE *q_c, prs_struct *ps, int depth); +BOOL lsa_io_r_close(const char *desc, LSA_R_CLOSE *r_c, prs_struct *ps, int depth); +BOOL lsa_io_q_open_secret(const char *desc, LSA_Q_OPEN_SECRET *q_c, prs_struct *ps, int depth); +BOOL lsa_io_r_open_secret(const char *desc, LSA_R_OPEN_SECRET *r_c, prs_struct *ps, int depth); void init_q_enum_privs(LSA_Q_ENUM_PRIVS *q_q, POLICY_HND *hnd, uint32 enum_context, uint32 pref_max_length); -BOOL lsa_io_q_enum_privs(char *desc, LSA_Q_ENUM_PRIVS *q_q, prs_struct *ps, int depth); +BOOL lsa_io_q_enum_privs(const char *desc, LSA_Q_ENUM_PRIVS *q_q, prs_struct *ps, int depth); void init_lsa_r_enum_privs(LSA_R_ENUM_PRIVS *r_u, uint32 enum_context, uint32 count, LSA_PRIV_ENTRY *entries); -BOOL lsa_io_r_enum_privs(char *desc, LSA_R_ENUM_PRIVS *r_q, prs_struct *ps, int depth); -void init_lsa_priv_get_dispname(LSA_Q_PRIV_GET_DISPNAME *trn, POLICY_HND *hnd, char *name, uint16 lang_id, uint16 lang_id_sys); -BOOL lsa_io_q_priv_get_dispname(char *desc, LSA_Q_PRIV_GET_DISPNAME *q_q, prs_struct *ps, int depth); -BOOL lsa_io_r_priv_get_dispname(char *desc, LSA_R_PRIV_GET_DISPNAME *r_q, prs_struct *ps, int depth); +BOOL lsa_io_r_enum_privs(const char *desc, LSA_R_ENUM_PRIVS *r_q, prs_struct *ps, int depth); +void init_lsa_priv_get_dispname(LSA_Q_PRIV_GET_DISPNAME *trn, POLICY_HND *hnd, const char *name, uint16 lang_id, uint16 lang_id_sys); +BOOL lsa_io_q_priv_get_dispname(const char *desc, LSA_Q_PRIV_GET_DISPNAME *q_q, prs_struct *ps, int depth); +BOOL lsa_io_r_priv_get_dispname(const char *desc, LSA_R_PRIV_GET_DISPNAME *r_q, prs_struct *ps, int depth); void init_lsa_q_enum_accounts(LSA_Q_ENUM_ACCOUNTS *trn, POLICY_HND *hnd, uint32 enum_context, uint32 pref_max_length); -BOOL lsa_io_q_enum_accounts(char *desc, LSA_Q_ENUM_ACCOUNTS *q_q, prs_struct *ps, int depth); +BOOL lsa_io_q_enum_accounts(const char *desc, LSA_Q_ENUM_ACCOUNTS *q_q, prs_struct *ps, int depth); void init_lsa_r_enum_accounts(LSA_R_ENUM_ACCOUNTS *r_u, uint32 enum_context); -BOOL lsa_io_r_enum_accounts(char *desc, LSA_R_ENUM_ACCOUNTS *r_q, prs_struct *ps, int depth); -BOOL lsa_io_q_unk_get_connuser(char *desc, LSA_Q_UNK_GET_CONNUSER *q_c, prs_struct *ps, int depth); -BOOL lsa_io_r_unk_get_connuser(char *desc, LSA_R_UNK_GET_CONNUSER *r_c, prs_struct *ps, int depth); +BOOL lsa_io_r_enum_accounts(const char *desc, LSA_R_ENUM_ACCOUNTS *r_q, prs_struct *ps, int depth); +BOOL lsa_io_q_unk_get_connuser(const char *desc, LSA_Q_UNK_GET_CONNUSER *q_c, prs_struct *ps, int depth); +BOOL lsa_io_r_unk_get_connuser(const char *desc, LSA_R_UNK_GET_CONNUSER *r_c, prs_struct *ps, int depth); void init_lsa_q_open_account(LSA_Q_OPENACCOUNT *trn, POLICY_HND *hnd, DOM_SID *sid, uint32 desired_access); -BOOL lsa_io_q_open_account(char *desc, LSA_Q_OPENACCOUNT *r_c, prs_struct *ps, int depth); -BOOL lsa_io_r_open_account(char *desc, LSA_R_OPENACCOUNT *r_c, prs_struct *ps, int depth); +BOOL lsa_io_q_open_account(const char *desc, LSA_Q_OPENACCOUNT *r_c, prs_struct *ps, int depth); +BOOL lsa_io_r_open_account(const char *desc, LSA_R_OPENACCOUNT *r_c, prs_struct *ps, int depth); void init_lsa_q_enum_privsaccount(LSA_Q_ENUMPRIVSACCOUNT *trn, POLICY_HND *hnd); -BOOL lsa_io_q_enum_privsaccount(char *desc, LSA_Q_ENUMPRIVSACCOUNT *r_c, prs_struct *ps, int depth); -BOOL lsa_io_luid(char *desc, LUID *r_c, prs_struct *ps, int depth); -BOOL lsa_io_luid_attr(char *desc, LUID_ATTR *r_c, prs_struct *ps, int depth); -BOOL lsa_io_privilege_set(char *desc, PRIVILEGE_SET *r_c, prs_struct *ps, int depth); +BOOL lsa_io_q_enum_privsaccount(const char *desc, LSA_Q_ENUMPRIVSACCOUNT *r_c, prs_struct *ps, int depth); +BOOL lsa_io_luid(const char *desc, LUID *r_c, prs_struct *ps, int depth); +BOOL lsa_io_luid_attr(const char *desc, LUID_ATTR *r_c, prs_struct *ps, int depth); +BOOL lsa_io_privilege_set(const char *desc, PRIVILEGE_SET *r_c, prs_struct *ps, int depth); void init_lsa_r_enum_privsaccount(LSA_R_ENUMPRIVSACCOUNT *r_u, LUID_ATTR *set, uint32 count, uint32 control); -BOOL lsa_io_r_enum_privsaccount(char *desc, LSA_R_ENUMPRIVSACCOUNT *r_c, prs_struct *ps, int depth); -BOOL lsa_io_q_getsystemaccount(char *desc, LSA_Q_GETSYSTEMACCOUNT *r_c, prs_struct *ps, int depth); -BOOL lsa_io_r_getsystemaccount(char *desc, LSA_R_GETSYSTEMACCOUNT *r_c, prs_struct *ps, int depth); -BOOL lsa_io_q_setsystemaccount(char *desc, LSA_Q_SETSYSTEMACCOUNT *r_c, prs_struct *ps, int depth); -BOOL lsa_io_r_setsystemaccount(char *desc, LSA_R_SETSYSTEMACCOUNT *r_c, prs_struct *ps, int depth); -void init_lsa_q_lookupprivvalue(LSA_Q_LOOKUPPRIVVALUE *trn, POLICY_HND *hnd, char *name); -BOOL lsa_io_q_lookupprivvalue(char *desc, LSA_Q_LOOKUPPRIVVALUE *r_c, prs_struct *ps, int depth); -BOOL lsa_io_r_lookupprivvalue(char *desc, LSA_R_LOOKUPPRIVVALUE *r_c, prs_struct *ps, int depth); -BOOL lsa_io_q_addprivs(char *desc, LSA_Q_ADDPRIVS *r_c, prs_struct *ps, int depth); -BOOL lsa_io_r_addprivs(char *desc, LSA_R_ADDPRIVS *r_c, prs_struct *ps, int depth); -BOOL lsa_io_q_removeprivs(char *desc, LSA_Q_REMOVEPRIVS *r_c, prs_struct *ps, int depth); -BOOL lsa_io_r_removeprivs(char *desc, LSA_R_REMOVEPRIVS *r_c, prs_struct *ps, int depth); +BOOL lsa_io_r_enum_privsaccount(const char *desc, LSA_R_ENUMPRIVSACCOUNT *r_c, prs_struct *ps, int depth); +BOOL lsa_io_q_getsystemaccount(const char *desc, LSA_Q_GETSYSTEMACCOUNT *r_c, prs_struct *ps, int depth); +BOOL lsa_io_r_getsystemaccount(const char *desc, LSA_R_GETSYSTEMACCOUNT *r_c, prs_struct *ps, int depth); +BOOL lsa_io_q_setsystemaccount(const char *desc, LSA_Q_SETSYSTEMACCOUNT *r_c, prs_struct *ps, int depth); +BOOL lsa_io_r_setsystemaccount(const char *desc, LSA_R_SETSYSTEMACCOUNT *r_c, prs_struct *ps, int depth); +void init_lsa_q_lookupprivvalue(LSA_Q_LOOKUPPRIVVALUE *trn, POLICY_HND *hnd, const char *name); +BOOL lsa_io_q_lookupprivvalue(const char *desc, LSA_Q_LOOKUPPRIVVALUE *r_c, prs_struct *ps, int depth); +BOOL lsa_io_r_lookupprivvalue(const char *desc, LSA_R_LOOKUPPRIVVALUE *r_c, prs_struct *ps, int depth); +BOOL lsa_io_q_addprivs(const char *desc, LSA_Q_ADDPRIVS *r_c, prs_struct *ps, int depth); +BOOL lsa_io_r_addprivs(const char *desc, LSA_R_ADDPRIVS *r_c, prs_struct *ps, int depth); +BOOL lsa_io_q_removeprivs(const char *desc, LSA_Q_REMOVEPRIVS *r_c, prs_struct *ps, int depth); +BOOL lsa_io_r_removeprivs(const char *desc, LSA_R_REMOVEPRIVS *r_c, prs_struct *ps, int depth); BOOL policy_handle_is_valid(const POLICY_HND *hnd); /* The following definitions come from rpc_parse/parse_misc.c */ @@ -2738,118 +2739,118 @@ void set_current_rpc_talloc( TALLOC_CTX *ctx); void main_loop_talloc_free(void); TALLOC_CTX *main_loop_talloc_get(void); TALLOC_CTX *get_talloc_ctx(void); -BOOL smb_io_time(char *desc, NTTIME *nttime, prs_struct *ps, int depth); -BOOL smb_io_lookup_level(char *desc, LOOKUP_LEVEL *level, prs_struct *ps, int depth); +BOOL smb_io_time(const char *desc, NTTIME *nttime, prs_struct *ps, int depth); +BOOL smb_io_lookup_level(const char *desc, LOOKUP_LEVEL *level, prs_struct *ps, int depth); uint32 get_enum_hnd(ENUM_HND *enh); void init_enum_hnd(ENUM_HND *enh, uint32 hnd); -BOOL smb_io_enum_hnd(char *desc, ENUM_HND *hnd, prs_struct *ps, int depth); -BOOL smb_io_dom_sid(char *desc, DOM_SID *sid, prs_struct *ps, int depth); -void init_dom_sid(DOM_SID *sid, char *str_sid); +BOOL smb_io_enum_hnd(const char *desc, ENUM_HND *hnd, prs_struct *ps, int depth); +BOOL smb_io_dom_sid(const char *desc, DOM_SID *sid, prs_struct *ps, int depth); +void init_dom_sid(DOM_SID *sid, const char *str_sid); void init_dom_sid2(DOM_SID2 *sid2, const DOM_SID *sid); -BOOL smb_io_dom_sid2(char *desc, DOM_SID2 *sid, prs_struct *ps, int depth); +BOOL smb_io_dom_sid2(const char *desc, DOM_SID2 *sid, prs_struct *ps, int depth); void init_str_hdr(STRHDR *hdr, int max_len, int len, uint32 buffer); -BOOL smb_io_strhdr(char *desc, STRHDR *hdr, prs_struct *ps, int depth); +BOOL smb_io_strhdr(const char *desc, STRHDR *hdr, prs_struct *ps, int depth); void init_uni_hdr(UNIHDR *hdr, int len); -BOOL smb_io_unihdr(char *desc, UNIHDR *hdr, prs_struct *ps, int depth); +BOOL smb_io_unihdr(const char *desc, UNIHDR *hdr, prs_struct *ps, int depth); void init_buf_hdr(BUFHDR *hdr, int max_len, int len); -BOOL smb_io_hdrbuf_pre(char *desc, BUFHDR *hdr, prs_struct *ps, int depth, uint32 *offset); -BOOL smb_io_hdrbuf_post(char *desc, BUFHDR *hdr, prs_struct *ps, int depth, +BOOL smb_io_hdrbuf_pre(const char *desc, BUFHDR *hdr, prs_struct *ps, int depth, uint32 *offset); +BOOL smb_io_hdrbuf_post(const char *desc, BUFHDR *hdr, prs_struct *ps, int depth, uint32 ptr_hdrbuf, uint32 max_len, uint32 len); -BOOL smb_io_hdrbuf(char *desc, BUFHDR *hdr, prs_struct *ps, int depth); +BOOL smb_io_hdrbuf(const char *desc, BUFHDR *hdr, prs_struct *ps, int depth); void init_uni_hdr2(UNIHDR2 *hdr, int len); -BOOL smb_io_unihdr2(char *desc, UNIHDR2 *hdr2, prs_struct *ps, int depth); +BOOL smb_io_unihdr2(const char *desc, UNIHDR2 *hdr2, prs_struct *ps, int depth); void init_unistr(UNISTR *str, const char *buf); -BOOL smb_io_unistr(char *desc, UNISTR *uni, prs_struct *ps, int depth); +BOOL smb_io_unistr(const char *desc, UNISTR *uni, prs_struct *ps, int depth); void init_buffer3_uint32(BUFFER3 *str, uint32 val); void init_buffer3_str(BUFFER3 *str, char *buf, int len); void init_buffer3_hex(BUFFER3 *str, char *buf); void init_buffer3_bytes(BUFFER3 *str, uint8 *buf, int len); -BOOL smb_io_buffer3(char *desc, BUFFER3 *buf3, prs_struct *ps, int depth); -BOOL smb_io_buffer5(char *desc, BUFFER5 *buf5, prs_struct *ps, int depth); +BOOL smb_io_buffer3(const char *desc, BUFFER3 *buf3, prs_struct *ps, int depth); +BOOL smb_io_buffer5(const char *desc, BUFFER5 *buf5, prs_struct *ps, int depth); void init_buffer2(BUFFER2 *str, uint8 *buf, int len); -BOOL smb_io_buffer2(char *desc, BUFFER2 *buf2, uint32 buffer, prs_struct *ps, int depth); +BOOL smb_io_buffer2(const char *desc, BUFFER2 *buf2, uint32 buffer, prs_struct *ps, int depth); void init_buf_unistr2(UNISTR2 *str, uint32 *ptr, const char *buf); void copy_unistr2(UNISTR2 *str, const UNISTR2 *from); void init_string2(STRING2 *str, const char *buf, int max_len, int str_len); -BOOL smb_io_string2(char *desc, STRING2 *str2, uint32 buffer, prs_struct *ps, int depth); +BOOL smb_io_string2(const char *desc, STRING2 *str2, uint32 buffer, prs_struct *ps, int depth); void init_unistr2(UNISTR2 *str, const char *buf, size_t len); void init_unistr2_from_unistr (UNISTR2 *to, UNISTR *from); -BOOL smb_io_unistr2(char *desc, UNISTR2 *uni2, uint32 buffer, prs_struct *ps, int depth); +BOOL smb_io_unistr2(const char *desc, UNISTR2 *uni2, uint32 buffer, prs_struct *ps, int depth); void init_dom_rid2(DOM_RID2 *rid2, uint32 rid, uint8 type, uint32 idx); -BOOL smb_io_dom_rid2(char *desc, DOM_RID2 *rid2, prs_struct *ps, int depth); +BOOL smb_io_dom_rid2(const char *desc, DOM_RID2 *rid2, prs_struct *ps, int depth); void init_dom_rid3(DOM_RID3 *rid3, uint32 rid, uint8 type); -BOOL smb_io_dom_rid3(char *desc, DOM_RID3 *rid3, prs_struct *ps, int depth); +BOOL smb_io_dom_rid3(const char *desc, DOM_RID3 *rid3, prs_struct *ps, int depth); void init_dom_rid4(DOM_RID4 *rid4, uint16 unknown, uint16 attr, uint32 rid); -void init_log_info(DOM_LOG_INFO *log, char *logon_srv, char *acct_name, - uint16 sec_chan, char *comp_name); -BOOL smb_io_log_info(char *desc, DOM_LOG_INFO *log, prs_struct *ps, int depth); -BOOL smb_io_chal(char *desc, DOM_CHAL *chal, prs_struct *ps, int depth); -BOOL smb_io_cred(char *desc, DOM_CRED *cred, prs_struct *ps, int depth); +void init_log_info(DOM_LOG_INFO *log, const char *logon_srv, const char *acct_name, + uint16 sec_chan, const char *comp_name); +BOOL smb_io_log_info(const char *desc, DOM_LOG_INFO *log, prs_struct *ps, int depth); +BOOL smb_io_chal(const char *desc, DOM_CHAL *chal, prs_struct *ps, int depth); +BOOL smb_io_cred(const char *desc, DOM_CRED *cred, prs_struct *ps, int depth); void init_clnt_info2(DOM_CLNT_INFO2 *clnt, - char *logon_srv, char *comp_name, + const char *logon_srv, const char *comp_name, DOM_CRED *clnt_cred); -BOOL smb_io_clnt_info2(char *desc, DOM_CLNT_INFO2 *clnt, prs_struct *ps, int depth); +BOOL smb_io_clnt_info2(const char *desc, DOM_CLNT_INFO2 *clnt, prs_struct *ps, int depth); void init_clnt_info(DOM_CLNT_INFO *clnt, - char *logon_srv, char *acct_name, - uint16 sec_chan, char *comp_name, + const char *logon_srv, const char *acct_name, + uint16 sec_chan, const char *comp_name, DOM_CRED *cred); -BOOL smb_io_clnt_info(char *desc, DOM_CLNT_INFO *clnt, prs_struct *ps, int depth); +BOOL smb_io_clnt_info(const char *desc, DOM_CLNT_INFO *clnt, prs_struct *ps, int depth); void init_logon_id(DOM_LOGON_ID *log, uint32 log_id_low, uint32 log_id_high); -BOOL smb_io_logon_id(char *desc, DOM_LOGON_ID *log, prs_struct *ps, int depth); +BOOL smb_io_logon_id(const char *desc, DOM_LOGON_ID *log, prs_struct *ps, int depth); void init_owf_info(OWF_INFO *hash, uint8 data[16]); -BOOL smb_io_owf_info(char *desc, OWF_INFO *hash, prs_struct *ps, int depth); -BOOL smb_io_gid(char *desc, DOM_GID *gid, prs_struct *ps, int depth); -BOOL smb_io_pol_hnd(char *desc, POLICY_HND *pol, prs_struct *ps, int depth); +BOOL smb_io_owf_info(const char *desc, OWF_INFO *hash, prs_struct *ps, int depth); +BOOL smb_io_gid(const char *desc, DOM_GID *gid, prs_struct *ps, int depth); +BOOL smb_io_pol_hnd(const char *desc, POLICY_HND *pol, prs_struct *ps, int depth); void init_unistr3(UNISTR3 *str, const char *buf); -BOOL smb_io_unistr3(char *desc, UNISTR3 *name, prs_struct *ps, int depth); -BOOL prs_uint64(char *name, prs_struct *ps, int depth, UINT64_S *data64); -BOOL smb_io_bufhdr2(char *desc, BUFHDR2 *hdr, prs_struct *ps, int depth); -BOOL smb_io_buffer4(char *desc, BUFFER4 *buf4, uint32 buffer, prs_struct *ps, int depth); +BOOL smb_io_unistr3(const char *desc, UNISTR3 *name, prs_struct *ps, int depth); +BOOL prs_uint64(const char *name, prs_struct *ps, int depth, UINT64_S *data64); +BOOL smb_io_bufhdr2(const char *desc, BUFHDR2 *hdr, prs_struct *ps, int depth); +BOOL smb_io_buffer4(const char *desc, BUFFER4 *buf4, uint32 buffer, prs_struct *ps, int depth); BOOL make_uni_hdr(UNIHDR *hdr, int len); BOOL make_bufhdr2(BUFHDR2 *hdr, uint32 info_level, uint32 length, uint32 buffer); /* The following definitions come from rpc_parse/parse_net.c */ -BOOL net_io_q_logon_ctrl2(char *desc, NET_Q_LOGON_CTRL2 *q_l, prs_struct *ps, int depth); -void init_net_q_logon_ctrl2(NET_Q_LOGON_CTRL2 *q_l, char *srv_name, +BOOL net_io_q_logon_ctrl2(const char *desc, NET_Q_LOGON_CTRL2 *q_l, prs_struct *ps, int depth); +void init_net_q_logon_ctrl2(NET_Q_LOGON_CTRL2 *q_l, const char *srv_name, uint32 query_level); void init_net_r_logon_ctrl2(NET_R_LOGON_CTRL2 *r_l, uint32 query_level, uint32 flags, uint32 pdc_status, uint32 logon_attempts, uint32 tc_status, - char *trusted_domain_name); -BOOL net_io_r_logon_ctrl2(char *desc, NET_R_LOGON_CTRL2 *r_l, prs_struct *ps, int depth); -BOOL net_io_q_logon_ctrl(char *desc, NET_Q_LOGON_CTRL *q_l, prs_struct *ps, + const char *trusted_domain_name); +BOOL net_io_r_logon_ctrl2(const char *desc, NET_R_LOGON_CTRL2 *r_l, prs_struct *ps, int depth); +BOOL net_io_q_logon_ctrl(const char *desc, NET_Q_LOGON_CTRL *q_l, prs_struct *ps, int depth); -void init_net_q_logon_ctrl(NET_Q_LOGON_CTRL *q_l, char *srv_name, +void init_net_q_logon_ctrl(NET_Q_LOGON_CTRL *q_l, const char *srv_name, uint32 query_level); void init_net_r_logon_ctrl(NET_R_LOGON_CTRL *r_l, uint32 query_level, uint32 flags, uint32 pdc_status); -BOOL net_io_r_logon_ctrl(char *desc, NET_R_LOGON_CTRL *r_l, prs_struct *ps, +BOOL net_io_r_logon_ctrl(const char *desc, NET_R_LOGON_CTRL *r_l, prs_struct *ps, int depth); void init_r_trust_dom(NET_R_TRUST_DOM_LIST *r_t, - uint32 num_doms, char *dom_name); -BOOL net_io_r_trust_dom(char *desc, NET_R_TRUST_DOM_LIST *r_t, prs_struct *ps, int depth); -BOOL net_io_q_trust_dom(char *desc, NET_Q_TRUST_DOM_LIST *q_l, prs_struct *ps, int depth); + uint32 num_doms, const char *dom_name); +BOOL net_io_r_trust_dom(const char *desc, NET_R_TRUST_DOM_LIST *r_t, prs_struct *ps, int depth); +BOOL net_io_q_trust_dom(const char *desc, NET_Q_TRUST_DOM_LIST *q_l, prs_struct *ps, int depth); void init_q_req_chal(NET_Q_REQ_CHAL *q_c, - char *logon_srv, char *logon_clnt, + const char *logon_srv, const char *logon_clnt, DOM_CHAL *clnt_chal); -BOOL net_io_q_req_chal(char *desc, NET_Q_REQ_CHAL *q_c, prs_struct *ps, int depth); -BOOL net_io_r_req_chal(char *desc, NET_R_REQ_CHAL *r_c, prs_struct *ps, int depth); -BOOL net_io_q_auth(char *desc, NET_Q_AUTH *q_a, prs_struct *ps, int depth); -BOOL net_io_r_auth(char *desc, NET_R_AUTH *r_a, prs_struct *ps, int depth); +BOOL net_io_q_req_chal(const char *desc, NET_Q_REQ_CHAL *q_c, prs_struct *ps, int depth); +BOOL net_io_r_req_chal(const char *desc, NET_R_REQ_CHAL *r_c, prs_struct *ps, int depth); +BOOL net_io_q_auth(const char *desc, NET_Q_AUTH *q_a, prs_struct *ps, int depth); +BOOL net_io_r_auth(const char *desc, NET_R_AUTH *r_a, prs_struct *ps, int depth); void init_q_auth_2(NET_Q_AUTH_2 *q_a, - char *logon_srv, char *acct_name, uint16 sec_chan, char *comp_name, + const char *logon_srv, const char *acct_name, uint16 sec_chan, const char *comp_name, DOM_CHAL *clnt_chal, uint32 clnt_flgs); -BOOL net_io_q_auth_2(char *desc, NET_Q_AUTH_2 *q_a, prs_struct *ps, int depth); -BOOL net_io_r_auth_2(char *desc, NET_R_AUTH_2 *r_a, prs_struct *ps, int depth); -void init_q_srv_pwset(NET_Q_SRV_PWSET *q_s, char *logon_srv, char *acct_name, - uint16 sec_chan, char *comp_name, DOM_CRED *cred, char nt_cypher[16]); -BOOL net_io_q_srv_pwset(char *desc, NET_Q_SRV_PWSET *q_s, prs_struct *ps, int depth); -BOOL net_io_r_srv_pwset(char *desc, NET_R_SRV_PWSET *r_s, prs_struct *ps, int depth); -void init_id_info1(NET_ID_INFO_1 *id, char *domain_name, +BOOL net_io_q_auth_2(const char *desc, NET_Q_AUTH_2 *q_a, prs_struct *ps, int depth); +BOOL net_io_r_auth_2(const char *desc, NET_R_AUTH_2 *r_a, prs_struct *ps, int depth); +void init_q_srv_pwset(NET_Q_SRV_PWSET *q_s, const char *logon_srv, const char *acct_name, + uint16 sec_chan, const char *comp_name, DOM_CRED *cred, char nt_cypher[16]); +BOOL net_io_q_srv_pwset(const char *desc, NET_Q_SRV_PWSET *q_s, prs_struct *ps, int depth); +BOOL net_io_r_srv_pwset(const char *desc, NET_R_SRV_PWSET *r_s, prs_struct *ps, int depth); +void init_id_info1(NET_ID_INFO_1 *id, const char *domain_name, uint32 param_ctrl, uint32 log_id_low, uint32 log_id_high, - char *user_name, char *wksta_name, - char *sess_key, + const char *user_name, const char *wksta_name, + const char *sess_key, unsigned char lm_cypher[16], unsigned char nt_cypher[16]); void init_id_info2(NET_ID_INFO_2 * id, const char *domain_name, uint32 param_ctrl, @@ -2859,23 +2860,23 @@ void init_id_info2(NET_ID_INFO_2 * id, const char *domain_name, const uchar * lm_chal_resp, int lm_chal_resp_len, const uchar * nt_chal_resp, int nt_chal_resp_len); void init_sam_info(DOM_SAM_INFO *sam, - char *logon_srv, char *comp_name, DOM_CRED *clnt_cred, + const char *logon_srv, const char *comp_name, DOM_CRED *clnt_cred, DOM_CRED *rtn_cred, uint16 logon_level, NET_ID_INFO_CTR *ctr); void init_net_user_info3(TALLOC_CTX *ctx, NET_USER_INFO_3 *usr, SAM_ACCOUNT *sampw, uint16 logon_count, uint16 bad_pw_count, uint32 num_groups, DOM_GID *gids, uint32 user_flgs, uchar *sess_key, - char *logon_srv, char *logon_dom, - DOM_SID *dom_sid, char *other_sids); -BOOL net_io_q_sam_logon(char *desc, NET_Q_SAM_LOGON *q_l, prs_struct *ps, int depth); -BOOL net_io_r_sam_logon(char *desc, NET_R_SAM_LOGON *r_l, prs_struct *ps, int depth); -BOOL net_io_q_sam_logoff(char *desc, NET_Q_SAM_LOGOFF *q_l, prs_struct *ps, int depth); -BOOL net_io_r_sam_logoff(char *desc, NET_R_SAM_LOGOFF *r_l, prs_struct *ps, int depth); + const char *logon_srv, const char *logon_dom, + DOM_SID *dom_sid, const char *other_sids); +BOOL net_io_q_sam_logon(const char *desc, NET_Q_SAM_LOGON *q_l, prs_struct *ps, int depth); +BOOL net_io_r_sam_logon(const char *desc, NET_R_SAM_LOGON *r_l, prs_struct *ps, int depth); +BOOL net_io_q_sam_logoff(const char *desc, NET_Q_SAM_LOGOFF *q_l, prs_struct *ps, int depth); +BOOL net_io_r_sam_logoff(const char *desc, NET_R_SAM_LOGOFF *r_l, prs_struct *ps, int depth); BOOL init_net_q_sam_sync(NET_Q_SAM_SYNC * q_s, const char *srv_name, const char *cli_name, DOM_CRED * cli_creds, DOM_CRED *ret_creds, uint32 database_id); -BOOL net_io_q_sam_sync(char *desc, NET_Q_SAM_SYNC * q_s, prs_struct *ps, +BOOL net_io_q_sam_sync(const char *desc, NET_Q_SAM_SYNC * q_s, prs_struct *ps, int depth); BOOL make_sam_account_info(SAM_ACCOUNT_INFO * info, const UNISTR2 *user_name, @@ -2889,20 +2890,20 @@ BOOL make_sam_account_info(SAM_ACCOUNT_INFO * info, const UNISTR2 *prof_path, const UNISTR2 *wkstas, const UNISTR2 *unk_str, const UNISTR2 *mung_dial); -BOOL net_io_r_sam_sync(char *desc, uint8 sess_key[16], +BOOL net_io_r_sam_sync(const char *desc, uint8 sess_key[16], NET_R_SAM_SYNC * r_s, prs_struct *ps, int depth); BOOL init_net_q_sam_deltas(NET_Q_SAM_DELTAS *q_s, const char *srv_name, const char *cli_name, DOM_CRED *cli_creds, uint32 database_id, UINT64_S dom_mod_count); -BOOL net_io_q_sam_deltas(char *desc, NET_Q_SAM_DELTAS *q_s, prs_struct *ps, +BOOL net_io_q_sam_deltas(const char *desc, NET_Q_SAM_DELTAS *q_s, prs_struct *ps, int depth); -BOOL net_io_r_sam_deltas(char *desc, uint8 sess_key[16], +BOOL net_io_r_sam_deltas(const char *desc, uint8 sess_key[16], NET_R_SAM_DELTAS *r_s, prs_struct *ps, int depth); /* The following definitions come from rpc_parse/parse_prs.c */ -void prs_dump(char *name, int v, prs_struct *ps); -void prs_debug(prs_struct *ps, int depth, char *desc, char *fn_name); +void prs_dump(const char *name, int v, prs_struct *ps); +void prs_debug(prs_struct *ps, int depth, const char *desc, const char *fn_name); BOOL prs_init(prs_struct *ps, uint32 size, TALLOC_CTX *ctx, BOOL io); BOOL prs_read(prs_struct *ps, int fd, size_t len, int timeout); void prs_mem_free(prs_struct *ps); @@ -2929,27 +2930,27 @@ BOOL prs_align_needed(prs_struct *ps, uint32 needed); char *prs_mem_get(prs_struct *ps, uint32 extra_size); void prs_switch_type(prs_struct *ps, BOOL io); void prs_force_dynamic(prs_struct *ps); -BOOL prs_uint8(char *name, prs_struct *ps, int depth, uint8 *data8); -BOOL prs_uint16(char *name, prs_struct *ps, int depth, uint16 *data16); -BOOL prs_uint32(char *name, prs_struct *ps, int depth, uint32 *data32); -BOOL prs_ntstatus(char *name, prs_struct *ps, int depth, NTSTATUS *status); -BOOL prs_werror(char *name, prs_struct *ps, int depth, WERROR *status); -BOOL prs_uint8s(BOOL charmode, char *name, prs_struct *ps, int depth, uint8 *data8s, int len); -BOOL prs_uint16s(BOOL charmode, char *name, prs_struct *ps, int depth, uint16 *data16s, int len); -BOOL prs_uint16uni(BOOL charmode, char *name, prs_struct *ps, int depth, uint16 *data16s, int len); -BOOL prs_uint32s(BOOL charmode, char *name, prs_struct *ps, int depth, uint32 *data32s, int len); -BOOL prs_buffer5(BOOL charmode, char *name, prs_struct *ps, int depth, BUFFER5 *str); -BOOL prs_buffer2(BOOL charmode, char *name, prs_struct *ps, int depth, BUFFER2 *str); -BOOL prs_string2(BOOL charmode, char *name, prs_struct *ps, int depth, STRING2 *str); -BOOL prs_unistr2(BOOL charmode, char *name, prs_struct *ps, int depth, UNISTR2 *str); -BOOL prs_unistr3(BOOL charmode, char *name, UNISTR3 *str, prs_struct *ps, int depth); -BOOL prs_unistr(char *name, prs_struct *ps, int depth, UNISTR *str); -BOOL prs_string(char *name, prs_struct *ps, int depth, char *str, int len, int max_buf_size); -BOOL prs_uint16_pre(char *name, prs_struct *ps, int depth, uint16 *data16, uint32 *offset); -BOOL prs_uint16_post(char *name, prs_struct *ps, int depth, uint16 *data16, +BOOL prs_uint8(const char *name, prs_struct *ps, int depth, uint8 *data8); +BOOL prs_uint16(const char *name, prs_struct *ps, int depth, uint16 *data16); +BOOL prs_uint32(const char *name, prs_struct *ps, int depth, uint32 *data32); +BOOL prs_ntstatus(const char *name, prs_struct *ps, int depth, NTSTATUS *status); +BOOL prs_werror(const char *name, prs_struct *ps, int depth, WERROR *status); +BOOL prs_uint8s(BOOL charmode, const char *name, prs_struct *ps, int depth, uint8 *data8s, int len); +BOOL prs_uint16s(BOOL charmode, const char *name, prs_struct *ps, int depth, uint16 *data16s, int len); +BOOL prs_uint16uni(BOOL charmode, const char *name, prs_struct *ps, int depth, uint16 *data16s, int len); +BOOL prs_uint32s(BOOL charmode, const char *name, prs_struct *ps, int depth, uint32 *data32s, int len); +BOOL prs_buffer5(BOOL charmode, const char *name, prs_struct *ps, int depth, BUFFER5 *str); +BOOL prs_buffer2(BOOL charmode, const char *name, prs_struct *ps, int depth, BUFFER2 *str); +BOOL prs_string2(BOOL charmode, const char *name, prs_struct *ps, int depth, STRING2 *str); +BOOL prs_unistr2(BOOL charmode, const char *name, prs_struct *ps, int depth, UNISTR2 *str); +BOOL prs_unistr3(BOOL charmode, const char *name, UNISTR3 *str, prs_struct *ps, int depth); +BOOL prs_unistr(const char *name, prs_struct *ps, int depth, UNISTR *str); +BOOL prs_string(const char *name, prs_struct *ps, int depth, char *str, int len, int max_buf_size); +BOOL prs_uint16_pre(const char *name, prs_struct *ps, int depth, uint16 *data16, uint32 *offset); +BOOL prs_uint16_post(const char *name, prs_struct *ps, int depth, uint16 *data16, uint32 ptr_uint16, uint32 start_offset); -BOOL prs_uint32_pre(char *name, prs_struct *ps, int depth, uint32 *data32, uint32 *offset); -BOOL prs_uint32_post(char *name, prs_struct *ps, int depth, uint32 *data32, +BOOL prs_uint32_pre(const char *name, prs_struct *ps, int depth, uint32 *data32, uint32 *offset); +BOOL prs_uint32_post(const char *name, prs_struct *ps, int depth, uint32 *data32, uint32 ptr_uint32, uint32 data_size); int tdb_prs_store(TDB_CONTEXT *tdb, char *keystr, prs_struct *ps); int tdb_prs_fetch(TDB_CONTEXT *tdb, char *keystr, prs_struct *ps, TALLOC_CTX *mem_ctx); @@ -2959,214 +2960,214 @@ BOOL prs_hash1(prs_struct *ps, uint32 offset, uint8 sess_key[16]); void init_reg_q_open_hkcr(REG_Q_OPEN_HKCR *q_o, uint16 unknown_0, uint32 level); -BOOL reg_io_q_open_hkcr(char *desc, REG_Q_OPEN_HKCR *r_q, prs_struct *ps, int depth); -BOOL reg_io_r_open_hkcr(char *desc, REG_R_OPEN_HKCR *r_r, prs_struct *ps, int depth); +BOOL reg_io_q_open_hkcr(const char *desc, REG_Q_OPEN_HKCR *r_q, prs_struct *ps, int depth); +BOOL reg_io_r_open_hkcr(const char *desc, REG_R_OPEN_HKCR *r_r, prs_struct *ps, int depth); void init_reg_q_open_hklm(REG_Q_OPEN_HKLM * q_o, uint16 unknown_0, uint32 access_mask); -BOOL reg_io_q_open_hklm(char *desc, REG_Q_OPEN_HKLM * r_q, prs_struct *ps, +BOOL reg_io_q_open_hklm(const char *desc, REG_Q_OPEN_HKLM * r_q, prs_struct *ps, int depth); -BOOL reg_io_r_open_hklm(char *desc, REG_R_OPEN_HKLM * r_r, prs_struct *ps, +BOOL reg_io_r_open_hklm(const char *desc, REG_R_OPEN_HKLM * r_r, prs_struct *ps, int depth); void init_reg_q_flush_key(REG_Q_FLUSH_KEY *q_u, POLICY_HND *pol); -BOOL reg_io_q_flush_key(char *desc, REG_Q_FLUSH_KEY *r_q, prs_struct *ps, int depth); -BOOL reg_io_r_flush_key(char *desc, REG_R_FLUSH_KEY *r_r, prs_struct *ps, int depth); +BOOL reg_io_q_flush_key(const char *desc, REG_Q_FLUSH_KEY *r_q, prs_struct *ps, int depth); +BOOL reg_io_r_flush_key(const char *desc, REG_R_FLUSH_KEY *r_r, prs_struct *ps, int depth); void init_reg_q_create_key(REG_Q_CREATE_KEY *q_c, POLICY_HND *hnd, - char *name, char *class, SEC_ACCESS *sam_access, + const char *name, const char *class, SEC_ACCESS *sam_access, SEC_DESC_BUF *sec_buf); -BOOL reg_io_q_create_key(char *desc, REG_Q_CREATE_KEY *r_q, prs_struct *ps, int depth); -BOOL reg_io_r_create_key(char *desc, REG_R_CREATE_KEY *r_r, prs_struct *ps, int depth); +BOOL reg_io_q_create_key(const char *desc, REG_Q_CREATE_KEY *r_q, prs_struct *ps, int depth); +BOOL reg_io_r_create_key(const char *desc, REG_R_CREATE_KEY *r_r, prs_struct *ps, int depth); void init_reg_q_delete_val(REG_Q_DELETE_VALUE *q_c, POLICY_HND *hnd, - char *name); -BOOL reg_io_q_delete_val(char *desc, REG_Q_DELETE_VALUE *r_q, prs_struct *ps, int depth); -BOOL reg_io_r_delete_val(char *desc, REG_R_DELETE_VALUE *r_r, prs_struct *ps, int depth); + const char *name); +BOOL reg_io_q_delete_val(const char *desc, REG_Q_DELETE_VALUE *r_q, prs_struct *ps, int depth); +BOOL reg_io_r_delete_val(const char *desc, REG_R_DELETE_VALUE *r_r, prs_struct *ps, int depth); void init_reg_q_delete_key(REG_Q_DELETE_KEY *q_c, POLICY_HND *hnd, - char *name); -BOOL reg_io_q_delete_key(char *desc, REG_Q_DELETE_KEY *r_q, prs_struct *ps, int depth); -BOOL reg_io_r_delete_key(char *desc, REG_R_DELETE_KEY *r_r, prs_struct *ps, int depth); + const char *name); +BOOL reg_io_q_delete_key(const char *desc, REG_Q_DELETE_KEY *r_q, prs_struct *ps, int depth); +BOOL reg_io_r_delete_key(const char *desc, REG_R_DELETE_KEY *r_r, prs_struct *ps, int depth); void init_reg_q_query_key(REG_Q_QUERY_KEY *q_o, POLICY_HND *hnd, uint32 max_class_len); -BOOL reg_io_q_query_key(char *desc, REG_Q_QUERY_KEY *r_q, prs_struct *ps, int depth); -BOOL reg_io_r_query_key(char *desc, REG_R_QUERY_KEY *r_r, prs_struct *ps, int depth); +BOOL reg_io_q_query_key(const char *desc, REG_Q_QUERY_KEY *r_q, prs_struct *ps, int depth); +BOOL reg_io_r_query_key(const char *desc, REG_R_QUERY_KEY *r_r, prs_struct *ps, int depth); void init_reg_q_unk_1a(REG_Q_UNK_1A *q_o, POLICY_HND *hnd); -BOOL reg_io_q_unk_1a(char *desc, REG_Q_UNK_1A *r_q, prs_struct *ps, int depth); -BOOL reg_io_r_unk_1a(char *desc, REG_R_UNK_1A *r_r, prs_struct *ps, int depth); +BOOL reg_io_q_unk_1a(const char *desc, REG_Q_UNK_1A *r_q, prs_struct *ps, int depth); +BOOL reg_io_r_unk_1a(const char *desc, REG_R_UNK_1A *r_r, prs_struct *ps, int depth); void init_reg_q_open_hku(REG_Q_OPEN_HKU *q_o, uint16 unknown_0, uint32 level); -BOOL reg_io_q_open_hku(char *desc, REG_Q_OPEN_HKU *r_q, prs_struct *ps, int depth); -BOOL reg_io_r_open_hku(char *desc, REG_R_OPEN_HKU *r_r, prs_struct *ps, int depth); +BOOL reg_io_q_open_hku(const char *desc, REG_Q_OPEN_HKU *r_q, prs_struct *ps, int depth); +BOOL reg_io_r_open_hku(const char *desc, REG_R_OPEN_HKU *r_r, prs_struct *ps, int depth); void init_reg_q_close(REG_Q_CLOSE *q_c, POLICY_HND *hnd); -BOOL reg_io_q_close(char *desc, REG_Q_CLOSE *q_u, prs_struct *ps, int depth); -BOOL reg_io_r_close(char *desc, REG_R_CLOSE *r_u, prs_struct *ps, int depth); +BOOL reg_io_q_close(const char *desc, REG_Q_CLOSE *q_u, prs_struct *ps, int depth); +BOOL reg_io_r_close(const char *desc, REG_R_CLOSE *r_u, prs_struct *ps, int depth); void init_reg_q_set_key_sec(REG_Q_SET_KEY_SEC *q_i, POLICY_HND *pol, SEC_DESC_BUF *sec_desc_buf); -BOOL reg_io_q_set_key_sec(char *desc, REG_Q_SET_KEY_SEC *r_q, prs_struct *ps, int depth); -BOOL reg_io_r_set_key_sec(char *desc, REG_R_SET_KEY_SEC *r_q, prs_struct *ps, int depth); +BOOL reg_io_q_set_key_sec(const char *desc, REG_Q_SET_KEY_SEC *r_q, prs_struct *ps, int depth); +BOOL reg_io_r_set_key_sec(const char *desc, REG_R_SET_KEY_SEC *r_q, prs_struct *ps, int depth); void init_reg_q_get_key_sec(REG_Q_GET_KEY_SEC *q_i, POLICY_HND *pol, uint32 sec_buf_size, SEC_DESC_BUF *psdb); -BOOL reg_io_q_get_key_sec(char *desc, REG_Q_GET_KEY_SEC *r_q, prs_struct *ps, int depth); -BOOL reg_io_r_get_key_sec(char *desc, REG_R_GET_KEY_SEC *r_q, prs_struct *ps, int depth); +BOOL reg_io_q_get_key_sec(const char *desc, REG_Q_GET_KEY_SEC *r_q, prs_struct *ps, int depth); +BOOL reg_io_r_get_key_sec(const char *desc, REG_R_GET_KEY_SEC *r_q, prs_struct *ps, int depth); BOOL init_reg_q_info(REG_Q_INFO *q_i, POLICY_HND *pol, char* val_name); -BOOL reg_io_q_info(char *desc, REG_Q_INFO *r_q, prs_struct *ps, int depth); +BOOL reg_io_q_info(const char *desc, REG_Q_INFO *r_q, prs_struct *ps, int depth); BOOL init_reg_r_info(uint32 include_keyval, REG_R_INFO *r_r, BUFFER2* buf, uint32 type, NTSTATUS status); -BOOL reg_io_r_info(char *desc, REG_R_INFO *r_r, prs_struct *ps, int depth); +BOOL reg_io_r_info(const char *desc, REG_R_INFO *r_r, prs_struct *ps, int depth); void init_reg_q_enum_val(REG_Q_ENUM_VALUE *q_i, POLICY_HND *pol, uint32 val_idx, uint32 max_val_len, uint32 max_buf_len); -BOOL reg_io_q_enum_val(char *desc, REG_Q_ENUM_VALUE *q_q, prs_struct *ps, int depth); -BOOL reg_io_r_enum_val(char *desc, REG_R_ENUM_VALUE *r_q, prs_struct *ps, int depth); +BOOL reg_io_q_enum_val(const char *desc, REG_Q_ENUM_VALUE *q_q, prs_struct *ps, int depth); +BOOL reg_io_r_enum_val(const char *desc, REG_R_ENUM_VALUE *r_q, prs_struct *ps, int depth); void init_reg_q_create_val(REG_Q_CREATE_VALUE *q_i, POLICY_HND *pol, - char *val_name, uint32 type, + const char *val_name, uint32 type, BUFFER3 *val); -BOOL reg_io_q_create_val(char *desc, REG_Q_CREATE_VALUE *q_q, prs_struct *ps, int depth); -BOOL reg_io_r_create_val(char *desc, REG_R_CREATE_VALUE *r_q, prs_struct *ps, int depth); +BOOL reg_io_q_create_val(const char *desc, REG_Q_CREATE_VALUE *q_q, prs_struct *ps, int depth); +BOOL reg_io_r_create_val(const char *desc, REG_R_CREATE_VALUE *r_q, prs_struct *ps, int depth); void init_reg_q_enum_key(REG_Q_ENUM_KEY *q_i, POLICY_HND *pol, uint32 key_idx); -BOOL reg_io_q_enum_key(char *desc, REG_Q_ENUM_KEY *q_q, prs_struct *ps, int depth); -BOOL reg_io_r_enum_key(char *desc, REG_R_ENUM_KEY *r_q, prs_struct *ps, int depth); +BOOL reg_io_q_enum_key(const char *desc, REG_Q_ENUM_KEY *q_q, prs_struct *ps, int depth); +BOOL reg_io_r_enum_key(const char *desc, REG_R_ENUM_KEY *r_q, prs_struct *ps, int depth); void init_reg_q_open_entry(REG_Q_OPEN_ENTRY *r_q, POLICY_HND *pol, - char *key_name, uint32 unk); -BOOL reg_io_q_open_entry(char *desc, REG_Q_OPEN_ENTRY *r_q, prs_struct *ps, int depth); + const char *key_name, uint32 unk); +BOOL reg_io_q_open_entry(const char *desc, REG_Q_OPEN_ENTRY *r_q, prs_struct *ps, int depth); void init_reg_r_open_entry(REG_R_OPEN_ENTRY *r_r, POLICY_HND *pol, NTSTATUS status); -BOOL reg_io_r_open_entry(char *desc, REG_R_OPEN_ENTRY *r_r, prs_struct *ps, int depth); +BOOL reg_io_r_open_entry(const char *desc, REG_R_OPEN_ENTRY *r_r, prs_struct *ps, int depth); void init_reg_q_shutdown(REG_Q_SHUTDOWN * q_s, const char *msg, uint32 timeout, uint16 flags); -BOOL reg_io_q_shutdown(char *desc, REG_Q_SHUTDOWN * q_s, prs_struct *ps, +BOOL reg_io_q_shutdown(const char *desc, REG_Q_SHUTDOWN * q_s, prs_struct *ps, int depth); -BOOL reg_io_r_shutdown(char *desc, REG_R_SHUTDOWN * r_s, prs_struct *ps, +BOOL reg_io_r_shutdown(const char *desc, REG_R_SHUTDOWN * r_s, prs_struct *ps, int depth); void init_reg_q_abort_shutdown(REG_Q_ABORT_SHUTDOWN * q_s); -BOOL reg_io_q_abort_shutdown(char *desc, REG_Q_ABORT_SHUTDOWN * q_s, +BOOL reg_io_q_abort_shutdown(const char *desc, REG_Q_ABORT_SHUTDOWN * q_s, prs_struct *ps, int depth); -BOOL reg_io_r_abort_shutdown(char *desc, REG_R_ABORT_SHUTDOWN * r_s, +BOOL reg_io_r_abort_shutdown(const char *desc, REG_R_ABORT_SHUTDOWN * r_s, prs_struct *ps, int depth); /* The following definitions come from rpc_parse/parse_rpc.c */ void init_rpc_hdr(RPC_HDR *hdr, enum RPC_PKT_TYPE pkt_type, uint8 flags, uint32 call_id, int data_len, int auth_len); -BOOL smb_io_rpc_hdr(char *desc, RPC_HDR *rpc, prs_struct *ps, int depth); +BOOL smb_io_rpc_hdr(const char *desc, RPC_HDR *rpc, prs_struct *ps, int depth); void init_rpc_hdr_rb(RPC_HDR_RB *rpc, uint16 max_tsize, uint16 max_rsize, uint32 assoc_gid, uint32 num_elements, uint16 context_id, uint8 num_syntaxes, RPC_IFACE *abstract, RPC_IFACE *transfer); -BOOL smb_io_rpc_hdr_rb(char *desc, RPC_HDR_RB *rpc, prs_struct *ps, int depth); +BOOL smb_io_rpc_hdr_rb(const char *desc, RPC_HDR_RB *rpc, prs_struct *ps, int depth); void init_rpc_hdr_ba(RPC_HDR_BA *rpc, uint16 max_tsize, uint16 max_rsize, uint32 assoc_gid, - char *pipe_addr, + const char *pipe_addr, uint8 num_results, uint16 result, uint16 reason, RPC_IFACE *transfer); -BOOL smb_io_rpc_hdr_ba(char *desc, RPC_HDR_BA *rpc, prs_struct *ps, int depth); +BOOL smb_io_rpc_hdr_ba(const char *desc, RPC_HDR_BA *rpc, prs_struct *ps, int depth); void init_rpc_hdr_req(RPC_HDR_REQ *hdr, uint32 alloc_hint, uint16 opnum); -BOOL smb_io_rpc_hdr_req(char *desc, RPC_HDR_REQ *rpc, prs_struct *ps, int depth); -BOOL smb_io_rpc_hdr_resp(char *desc, RPC_HDR_RESP *rpc, prs_struct *ps, int depth); -BOOL smb_io_rpc_hdr_fault(char *desc, RPC_HDR_FAULT *rpc, prs_struct *ps, int depth); +BOOL smb_io_rpc_hdr_req(const char *desc, RPC_HDR_REQ *rpc, prs_struct *ps, int depth); +BOOL smb_io_rpc_hdr_resp(const char *desc, RPC_HDR_RESP *rpc, prs_struct *ps, int depth); +BOOL smb_io_rpc_hdr_fault(const char *desc, RPC_HDR_FAULT *rpc, prs_struct *ps, int depth); void init_rpc_hdr_autha(RPC_HDR_AUTHA *rai, uint16 max_tsize, uint16 max_rsize, uint8 auth_type, uint8 auth_level, uint8 stub_type_len); -BOOL smb_io_rpc_hdr_autha(char *desc, RPC_HDR_AUTHA *rai, prs_struct *ps, int depth); +BOOL smb_io_rpc_hdr_autha(const char *desc, RPC_HDR_AUTHA *rai, prs_struct *ps, int depth); BOOL rpc_hdr_auth_chk(RPC_HDR_AUTH *rai); void init_rpc_hdr_auth(RPC_HDR_AUTH *rai, uint8 auth_type, uint8 auth_level, uint8 stub_type_len, uint32 ptr); -BOOL smb_io_rpc_hdr_auth(char *desc, RPC_HDR_AUTH *rai, prs_struct *ps, int depth); +BOOL smb_io_rpc_hdr_auth(const char *desc, RPC_HDR_AUTH *rai, prs_struct *ps, int depth); BOOL rpc_auth_verifier_chk(RPC_AUTH_VERIFIER *rav, - char *signature, uint32 msg_type); + const char *signature, uint32 msg_type); void init_rpc_auth_verifier(RPC_AUTH_VERIFIER *rav, - char *signature, uint32 msg_type); -BOOL smb_io_rpc_auth_verifier(char *desc, RPC_AUTH_VERIFIER *rav, prs_struct *ps, int depth); + const char *signature, uint32 msg_type); +BOOL smb_io_rpc_auth_verifier(const char *desc, RPC_AUTH_VERIFIER *rav, prs_struct *ps, int depth); void init_rpc_auth_ntlmssp_neg(RPC_AUTH_NTLMSSP_NEG *neg, uint32 neg_flgs, fstring myname, fstring domain); -BOOL smb_io_rpc_auth_ntlmssp_neg(char *desc, RPC_AUTH_NTLMSSP_NEG *neg, prs_struct *ps, int depth); +BOOL smb_io_rpc_auth_ntlmssp_neg(const char *desc, RPC_AUTH_NTLMSSP_NEG *neg, prs_struct *ps, int depth); void init_rpc_auth_ntlmssp_chal(RPC_AUTH_NTLMSSP_CHAL *chl, uint32 neg_flags, uint8 challenge[8]); -BOOL smb_io_rpc_auth_ntlmssp_chal(char *desc, RPC_AUTH_NTLMSSP_CHAL *chl, prs_struct *ps, int depth); +BOOL smb_io_rpc_auth_ntlmssp_chal(const char *desc, RPC_AUTH_NTLMSSP_CHAL *chl, prs_struct *ps, int depth); void init_rpc_auth_ntlmssp_resp(RPC_AUTH_NTLMSSP_RESP *rsp, uchar lm_resp[24], uchar nt_resp[24], - char *domain, char *user, char *wks, + const char *domain, const char *user, const char *wks, uint32 neg_flags); -BOOL smb_io_rpc_auth_ntlmssp_resp(char *desc, RPC_AUTH_NTLMSSP_RESP *rsp, prs_struct *ps, int depth); +BOOL smb_io_rpc_auth_ntlmssp_resp(const char *desc, RPC_AUTH_NTLMSSP_RESP *rsp, prs_struct *ps, int depth); BOOL rpc_auth_ntlmssp_chk(RPC_AUTH_NTLMSSP_CHK *chk, uint32 crc32, uint32 seq_num); void init_rpc_auth_ntlmssp_chk(RPC_AUTH_NTLMSSP_CHK *chk, uint32 ver, uint32 crc32, uint32 seq_num); -BOOL smb_io_rpc_auth_ntlmssp_chk(char *desc, RPC_AUTH_NTLMSSP_CHK *chk, prs_struct *ps, int depth); +BOOL smb_io_rpc_auth_ntlmssp_chk(const char *desc, RPC_AUTH_NTLMSSP_CHK *chk, prs_struct *ps, int depth); /* The following definitions come from rpc_parse/parse_samr.c */ void init_samr_q_close_hnd(SAMR_Q_CLOSE_HND * q_c, POLICY_HND *hnd); -BOOL samr_io_q_close_hnd(char *desc, SAMR_Q_CLOSE_HND * q_u, +BOOL samr_io_q_close_hnd(const char *desc, SAMR_Q_CLOSE_HND * q_u, prs_struct *ps, int depth); -BOOL samr_io_r_close_hnd(char *desc, SAMR_R_CLOSE_HND * r_u, +BOOL samr_io_r_close_hnd(const char *desc, SAMR_R_CLOSE_HND * r_u, prs_struct *ps, int depth); void init_samr_q_lookup_domain(SAMR_Q_LOOKUP_DOMAIN * q_u, - POLICY_HND *pol, char *dom_name); -BOOL samr_io_q_lookup_domain(char *desc, SAMR_Q_LOOKUP_DOMAIN * q_u, + POLICY_HND *pol, const char *dom_name); +BOOL samr_io_q_lookup_domain(const char *desc, SAMR_Q_LOOKUP_DOMAIN * q_u, prs_struct *ps, int depth); void init_samr_r_lookup_domain(SAMR_R_LOOKUP_DOMAIN * r_u, DOM_SID *dom_sid, NTSTATUS status); -BOOL samr_io_r_lookup_domain(char *desc, SAMR_R_LOOKUP_DOMAIN * r_u, +BOOL samr_io_r_lookup_domain(const char *desc, SAMR_R_LOOKUP_DOMAIN * r_u, prs_struct *ps, int depth); void init_samr_q_unknown_2d(SAMR_Q_UNKNOWN_2D * q_u, POLICY_HND *dom_pol, DOM_SID *sid); -BOOL samr_io_q_unknown_2d(char *desc, SAMR_Q_UNKNOWN_2D * q_u, +BOOL samr_io_q_unknown_2d(const char *desc, SAMR_Q_UNKNOWN_2D * q_u, prs_struct *ps, int depth); -BOOL samr_io_r_unknown_2d(char *desc, SAMR_R_UNKNOWN_2D * r_u, +BOOL samr_io_r_unknown_2d(const char *desc, SAMR_R_UNKNOWN_2D * r_u, prs_struct *ps, int depth); void init_samr_q_open_domain(SAMR_Q_OPEN_DOMAIN * q_u, POLICY_HND *pol, uint32 flags, const DOM_SID *sid); -BOOL samr_io_q_open_domain(char *desc, SAMR_Q_OPEN_DOMAIN * q_u, +BOOL samr_io_q_open_domain(const char *desc, SAMR_Q_OPEN_DOMAIN * q_u, prs_struct *ps, int depth); -BOOL samr_io_r_open_domain(char *desc, SAMR_R_OPEN_DOMAIN * r_u, +BOOL samr_io_r_open_domain(const char *desc, SAMR_R_OPEN_DOMAIN * r_u, prs_struct *ps, int depth); void init_samr_q_get_usrdom_pwinfo(SAMR_Q_GET_USRDOM_PWINFO * q_u, POLICY_HND *user_pol); -BOOL samr_io_q_get_usrdom_pwinfo(char *desc, SAMR_Q_GET_USRDOM_PWINFO * q_u, +BOOL samr_io_q_get_usrdom_pwinfo(const char *desc, SAMR_Q_GET_USRDOM_PWINFO * q_u, prs_struct *ps, int depth); void init_samr_r_get_usrdom_pwinfo(SAMR_R_GET_USRDOM_PWINFO *r_u, NTSTATUS status); -BOOL samr_io_r_get_usrdom_pwinfo(char *desc, SAMR_R_GET_USRDOM_PWINFO * r_u, +BOOL samr_io_r_get_usrdom_pwinfo(const char *desc, SAMR_R_GET_USRDOM_PWINFO * r_u, prs_struct *ps, int depth); void init_samr_q_query_sec_obj(SAMR_Q_QUERY_SEC_OBJ * q_u, POLICY_HND *user_pol, uint32 sec_info); -BOOL samr_io_q_query_sec_obj(char *desc, SAMR_Q_QUERY_SEC_OBJ * q_u, +BOOL samr_io_q_query_sec_obj(const char *desc, SAMR_Q_QUERY_SEC_OBJ * q_u, prs_struct *ps, int depth); void init_samr_q_query_dom_info(SAMR_Q_QUERY_DOMAIN_INFO * q_u, POLICY_HND *domain_pol, uint16 switch_value); -BOOL samr_io_q_query_dom_info(char *desc, SAMR_Q_QUERY_DOMAIN_INFO * q_u, +BOOL samr_io_q_query_dom_info(const char *desc, SAMR_Q_QUERY_DOMAIN_INFO * q_u, prs_struct *ps, int depth); void init_unk_info3(SAM_UNK_INFO_3 *u_3, NTTIME nt_logout); void init_unk_info6(SAM_UNK_INFO_6 * u_6); void init_unk_info7(SAM_UNK_INFO_7 * u_7); void init_unk_info12(SAM_UNK_INFO_12 * u_12, NTTIME nt_lock_duration, NTTIME nt_reset_time, uint16 lockout); -void init_unk_info5(SAM_UNK_INFO_5 * u_5,char *server); +void init_unk_info5(SAM_UNK_INFO_5 * u_5,const char *server); void init_unk_info2(SAM_UNK_INFO_2 * u_2, - char *domain, char *server, + const char *domain, const char *server, uint32 seq_num, uint32 num_users, uint32 num_groups, uint32 num_alias); void init_unk_info1(SAM_UNK_INFO_1 *u_1, uint16 min_pass_len, uint16 pass_hist, uint32 flag, NTTIME nt_expire, NTTIME nt_min_age); void init_samr_r_query_dom_info(SAMR_R_QUERY_DOMAIN_INFO * r_u, uint16 switch_value, SAM_UNK_CTR * ctr, NTSTATUS status); -BOOL samr_io_r_query_dom_info(char *desc, SAMR_R_QUERY_DOMAIN_INFO * r_u, +BOOL samr_io_r_query_dom_info(const char *desc, SAMR_R_QUERY_DOMAIN_INFO * r_u, prs_struct *ps, int depth); -BOOL samr_io_r_query_sec_obj(char *desc, SAMR_R_QUERY_SEC_OBJ * r_u, +BOOL samr_io_r_query_sec_obj(const char *desc, SAMR_R_QUERY_SEC_OBJ * r_u, prs_struct *ps, int depth); void init_sam_entry(SAM_ENTRY * sam, uint32 len_sam_name, uint32 rid); void init_samr_q_enum_dom_users(SAMR_Q_ENUM_DOM_USERS * q_e, POLICY_HND *pol, uint32 start_idx, uint16 acb_mask, uint16 unk_1, uint32 size); -BOOL samr_io_q_enum_dom_users(char *desc, SAMR_Q_ENUM_DOM_USERS * q_e, +BOOL samr_io_q_enum_dom_users(const char *desc, SAMR_Q_ENUM_DOM_USERS * q_e, prs_struct *ps, int depth); void init_samr_r_enum_dom_users(SAMR_R_ENUM_DOM_USERS * r_u, uint32 next_idx, uint32 num_sam_entries); -BOOL samr_io_r_enum_dom_users(char *desc, SAMR_R_ENUM_DOM_USERS * r_u, +BOOL samr_io_r_enum_dom_users(const char *desc, SAMR_R_ENUM_DOM_USERS * r_u, prs_struct *ps, int depth); void init_samr_q_query_dispinfo(SAMR_Q_QUERY_DISPINFO * q_e, POLICY_HND *pol, uint16 switch_level, uint32 start_idx, uint32 max_entries, uint32 max_size); -BOOL samr_io_q_query_dispinfo(char *desc, SAMR_Q_QUERY_DISPINFO * q_e, +BOOL samr_io_q_query_dispinfo(const char *desc, SAMR_Q_QUERY_DISPINFO * q_e, prs_struct *ps, int depth); NTSTATUS init_sam_dispinfo_1(TALLOC_CTX *ctx, SAM_DISPINFO_1 *sam, uint32 num_entries, uint32 start_idx, DISP_USER_INFO *disp_user_info); @@ -3182,247 +3183,247 @@ void init_samr_r_query_dispinfo(SAMR_R_QUERY_DISPINFO * r_u, uint32 num_entries, uint32 total_size, uint32 data_size, uint16 switch_level, SAM_DISPINFO_CTR * ctr, NTSTATUS status); -BOOL samr_io_r_query_dispinfo(char *desc, SAMR_R_QUERY_DISPINFO * r_u, +BOOL samr_io_r_query_dispinfo(const char *desc, SAMR_R_QUERY_DISPINFO * r_u, prs_struct *ps, int depth); void init_samr_q_open_group(SAMR_Q_OPEN_GROUP * q_c, POLICY_HND *hnd, uint32 access_mask, uint32 rid); -BOOL samr_io_q_open_group(char *desc, SAMR_Q_OPEN_GROUP * q_u, +BOOL samr_io_q_open_group(const char *desc, SAMR_Q_OPEN_GROUP * q_u, prs_struct *ps, int depth); -BOOL samr_io_r_open_group(char *desc, SAMR_R_OPEN_GROUP * r_u, +BOOL samr_io_r_open_group(const char *desc, SAMR_R_OPEN_GROUP * r_u, prs_struct *ps, int depth); void init_samr_group_info1(GROUP_INFO1 * gr1, - char *acct_name, char *acct_desc, + const char *acct_name, const char *acct_desc, uint32 num_members); -BOOL samr_io_group_info1(char *desc, GROUP_INFO1 * gr1, +BOOL samr_io_group_info1(const char *desc, GROUP_INFO1 * gr1, prs_struct *ps, int depth); void init_samr_group_info3(GROUP_INFO3 *gr3); -BOOL samr_io_group_info3(char *desc, GROUP_INFO3 *gr3, prs_struct *ps, int depth); -void init_samr_group_info4(GROUP_INFO4 * gr4, char *acct_desc); -BOOL samr_io_group_info4(char *desc, GROUP_INFO4 * gr4, +BOOL samr_io_group_info3(const char *desc, GROUP_INFO3 *gr3, prs_struct *ps, int depth); +void init_samr_group_info4(GROUP_INFO4 * gr4, const char *acct_desc); +BOOL samr_io_group_info4(const char *desc, GROUP_INFO4 * gr4, prs_struct *ps, int depth); void init_samr_q_create_dom_group(SAMR_Q_CREATE_DOM_GROUP * q_e, - POLICY_HND *pol, char *acct_desc, + POLICY_HND *pol, const char *acct_desc, uint32 access_mask); -BOOL samr_io_q_create_dom_group(char *desc, SAMR_Q_CREATE_DOM_GROUP * q_e, +BOOL samr_io_q_create_dom_group(const char *desc, SAMR_Q_CREATE_DOM_GROUP * q_e, prs_struct *ps, int depth); -BOOL samr_io_r_create_dom_group(char *desc, SAMR_R_CREATE_DOM_GROUP * r_u, +BOOL samr_io_r_create_dom_group(const char *desc, SAMR_R_CREATE_DOM_GROUP * r_u, prs_struct *ps, int depth); void init_samr_q_delete_dom_group(SAMR_Q_DELETE_DOM_GROUP * q_c, POLICY_HND *hnd); -BOOL samr_io_q_delete_dom_group(char *desc, SAMR_Q_DELETE_DOM_GROUP * q_u, +BOOL samr_io_q_delete_dom_group(const char *desc, SAMR_Q_DELETE_DOM_GROUP * q_u, prs_struct *ps, int depth); -BOOL samr_io_r_delete_dom_group(char *desc, SAMR_R_DELETE_DOM_GROUP * r_u, +BOOL samr_io_r_delete_dom_group(const char *desc, SAMR_R_DELETE_DOM_GROUP * r_u, prs_struct *ps, int depth); void init_samr_q_del_groupmem(SAMR_Q_DEL_GROUPMEM * q_e, POLICY_HND *pol, uint32 rid); -BOOL samr_io_q_del_groupmem(char *desc, SAMR_Q_DEL_GROUPMEM * q_e, +BOOL samr_io_q_del_groupmem(const char *desc, SAMR_Q_DEL_GROUPMEM * q_e, prs_struct *ps, int depth); void init_samr_r_del_groupmem(SAMR_R_DEL_GROUPMEM * r_u, POLICY_HND *pol, NTSTATUS status); -BOOL samr_io_r_del_groupmem(char *desc, SAMR_R_DEL_GROUPMEM * r_u, +BOOL samr_io_r_del_groupmem(const char *desc, SAMR_R_DEL_GROUPMEM * r_u, prs_struct *ps, int depth); void init_samr_q_add_groupmem(SAMR_Q_ADD_GROUPMEM * q_e, POLICY_HND *pol, uint32 rid); -BOOL samr_io_q_add_groupmem(char *desc, SAMR_Q_ADD_GROUPMEM * q_e, +BOOL samr_io_q_add_groupmem(const char *desc, SAMR_Q_ADD_GROUPMEM * q_e, prs_struct *ps, int depth); void init_samr_r_add_groupmem(SAMR_R_ADD_GROUPMEM * r_u, POLICY_HND *pol, NTSTATUS status); -BOOL samr_io_r_add_groupmem(char *desc, SAMR_R_ADD_GROUPMEM * r_u, +BOOL samr_io_r_add_groupmem(const char *desc, SAMR_R_ADD_GROUPMEM * r_u, prs_struct *ps, int depth); void init_samr_q_set_groupinfo(SAMR_Q_SET_GROUPINFO * q_e, POLICY_HND *pol, GROUP_INFO_CTR * ctr); -BOOL samr_io_q_set_groupinfo(char *desc, SAMR_Q_SET_GROUPINFO * q_e, +BOOL samr_io_q_set_groupinfo(const char *desc, SAMR_Q_SET_GROUPINFO * q_e, prs_struct *ps, int depth); void init_samr_r_set_groupinfo(SAMR_R_SET_GROUPINFO * r_u, NTSTATUS status); -BOOL samr_io_r_set_groupinfo(char *desc, SAMR_R_SET_GROUPINFO * r_u, +BOOL samr_io_r_set_groupinfo(const char *desc, SAMR_R_SET_GROUPINFO * r_u, prs_struct *ps, int depth); void init_samr_q_query_groupinfo(SAMR_Q_QUERY_GROUPINFO * q_e, POLICY_HND *pol, uint16 switch_level); -BOOL samr_io_q_query_groupinfo(char *desc, SAMR_Q_QUERY_GROUPINFO * q_e, +BOOL samr_io_q_query_groupinfo(const char *desc, SAMR_Q_QUERY_GROUPINFO * q_e, prs_struct *ps, int depth); void init_samr_r_query_groupinfo(SAMR_R_QUERY_GROUPINFO * r_u, GROUP_INFO_CTR * ctr, NTSTATUS status); -BOOL samr_io_r_query_groupinfo(char *desc, SAMR_R_QUERY_GROUPINFO * r_u, +BOOL samr_io_r_query_groupinfo(const char *desc, SAMR_R_QUERY_GROUPINFO * r_u, prs_struct *ps, int depth); void init_samr_q_query_groupmem(SAMR_Q_QUERY_GROUPMEM * q_c, POLICY_HND *hnd); -BOOL samr_io_q_query_groupmem(char *desc, SAMR_Q_QUERY_GROUPMEM * q_u, +BOOL samr_io_q_query_groupmem(const char *desc, SAMR_Q_QUERY_GROUPMEM * q_u, prs_struct *ps, int depth); void init_samr_r_query_groupmem(SAMR_R_QUERY_GROUPMEM * r_u, uint32 num_entries, uint32 *rid, uint32 *attr, NTSTATUS status); -BOOL samr_io_r_query_groupmem(char *desc, SAMR_R_QUERY_GROUPMEM * r_u, +BOOL samr_io_r_query_groupmem(const char *desc, SAMR_R_QUERY_GROUPMEM * r_u, prs_struct *ps, int depth); void init_samr_q_query_usergroups(SAMR_Q_QUERY_USERGROUPS * q_u, POLICY_HND *hnd); -BOOL samr_io_q_query_usergroups(char *desc, SAMR_Q_QUERY_USERGROUPS * q_u, +BOOL samr_io_q_query_usergroups(const char *desc, SAMR_Q_QUERY_USERGROUPS * q_u, prs_struct *ps, int depth); void init_samr_r_query_usergroups(SAMR_R_QUERY_USERGROUPS * r_u, uint32 num_gids, DOM_GID * gid, NTSTATUS status); -BOOL samr_io_gids(char *desc, uint32 *num_gids, DOM_GID ** gid, +BOOL samr_io_gids(const char *desc, uint32 *num_gids, DOM_GID ** gid, prs_struct *ps, int depth); -BOOL samr_io_r_query_usergroups(char *desc, SAMR_R_QUERY_USERGROUPS * r_u, +BOOL samr_io_r_query_usergroups(const char *desc, SAMR_R_QUERY_USERGROUPS * r_u, prs_struct *ps, int depth); void init_samr_q_enum_domains(SAMR_Q_ENUM_DOMAINS * q_e, POLICY_HND *pol, uint32 start_idx, uint32 size); -BOOL samr_io_q_enum_domains(char *desc, SAMR_Q_ENUM_DOMAINS * q_e, +BOOL samr_io_q_enum_domains(const char *desc, SAMR_Q_ENUM_DOMAINS * q_e, prs_struct *ps, int depth); void init_samr_r_enum_domains(SAMR_R_ENUM_DOMAINS * r_u, uint32 next_idx, uint32 num_sam_entries); -BOOL samr_io_r_enum_domains(char *desc, SAMR_R_ENUM_DOMAINS * r_u, +BOOL samr_io_r_enum_domains(const char *desc, SAMR_R_ENUM_DOMAINS * r_u, prs_struct *ps, int depth); void init_samr_q_enum_dom_groups(SAMR_Q_ENUM_DOM_GROUPS * q_e, POLICY_HND *pol, uint32 start_idx, uint32 size); -BOOL samr_io_q_enum_dom_groups(char *desc, SAMR_Q_ENUM_DOM_GROUPS * q_e, +BOOL samr_io_q_enum_dom_groups(const char *desc, SAMR_Q_ENUM_DOM_GROUPS * q_e, prs_struct *ps, int depth); void init_samr_r_enum_dom_groups(SAMR_R_ENUM_DOM_GROUPS * r_u, uint32 next_idx, uint32 num_sam_entries); -BOOL samr_io_r_enum_dom_groups(char *desc, SAMR_R_ENUM_DOM_GROUPS * r_u, +BOOL samr_io_r_enum_dom_groups(const char *desc, SAMR_R_ENUM_DOM_GROUPS * r_u, prs_struct *ps, int depth); void init_samr_q_enum_dom_aliases(SAMR_Q_ENUM_DOM_ALIASES * q_e, POLICY_HND *pol, uint32 start_idx, uint32 size); -BOOL samr_io_q_enum_dom_aliases(char *desc, SAMR_Q_ENUM_DOM_ALIASES * q_e, +BOOL samr_io_q_enum_dom_aliases(const char *desc, SAMR_Q_ENUM_DOM_ALIASES * q_e, prs_struct *ps, int depth); void init_samr_r_enum_dom_aliases(SAMR_R_ENUM_DOM_ALIASES *r_u, uint32 next_idx, uint32 num_sam_entries); -BOOL samr_io_r_enum_dom_aliases(char *desc, SAMR_R_ENUM_DOM_ALIASES * r_u, +BOOL samr_io_r_enum_dom_aliases(const char *desc, SAMR_R_ENUM_DOM_ALIASES * r_u, prs_struct *ps, int depth); -void init_samr_alias_info1(ALIAS_INFO1 * al1, char *acct_name, uint32 num_member, char *acct_desc); -BOOL samr_io_alias_info1(char *desc, ALIAS_INFO1 * al1, +void init_samr_alias_info1(ALIAS_INFO1 * al1, const char *acct_name, uint32 num_member, const char *acct_desc); +BOOL samr_io_alias_info1(const char *desc, ALIAS_INFO1 * al1, prs_struct *ps, int depth); -void init_samr_alias_info3(ALIAS_INFO3 * al3, char *acct_desc); -BOOL samr_io_alias_info3(char *desc, ALIAS_INFO3 * al3, +void init_samr_alias_info3(ALIAS_INFO3 * al3, const char *acct_desc); +BOOL samr_io_alias_info3(const char *desc, ALIAS_INFO3 * al3, prs_struct *ps, int depth); -BOOL samr_alias_info_ctr(char *desc, ALIAS_INFO_CTR * ctr, +BOOL samr_alias_info_ctr(const char *desc, ALIAS_INFO_CTR * ctr, prs_struct *ps, int depth); void init_samr_q_query_aliasinfo(SAMR_Q_QUERY_ALIASINFO * q_e, POLICY_HND *pol, uint16 switch_level); -BOOL samr_io_q_query_aliasinfo(char *desc, SAMR_Q_QUERY_ALIASINFO * q_e, +BOOL samr_io_q_query_aliasinfo(const char *desc, SAMR_Q_QUERY_ALIASINFO * q_e, prs_struct *ps, int depth); void init_samr_r_query_aliasinfo(SAMR_R_QUERY_ALIASINFO * r_u, ALIAS_INFO_CTR * ctr, NTSTATUS status); -BOOL samr_io_r_query_aliasinfo(char *desc, SAMR_R_QUERY_ALIASINFO * r_u, +BOOL samr_io_r_query_aliasinfo(const char *desc, SAMR_R_QUERY_ALIASINFO * r_u, prs_struct *ps, int depth); void init_samr_q_set_aliasinfo(SAMR_Q_SET_ALIASINFO * q_u, POLICY_HND *hnd, ALIAS_INFO_CTR * ctr); -BOOL samr_io_q_set_aliasinfo(char *desc, SAMR_Q_SET_ALIASINFO * q_u, +BOOL samr_io_q_set_aliasinfo(const char *desc, SAMR_Q_SET_ALIASINFO * q_u, prs_struct *ps, int depth); -BOOL samr_io_r_set_aliasinfo(char *desc, SAMR_R_SET_ALIASINFO * r_u, +BOOL samr_io_r_set_aliasinfo(const char *desc, SAMR_R_SET_ALIASINFO * r_u, prs_struct *ps, int depth); void init_samr_q_query_useraliases(SAMR_Q_QUERY_USERALIASES * q_u, POLICY_HND *hnd, uint32 num_sids, uint32 *ptr_sid, DOM_SID2 * sid); -BOOL samr_io_q_query_useraliases(char *desc, SAMR_Q_QUERY_USERALIASES * q_u, +BOOL samr_io_q_query_useraliases(const char *desc, SAMR_Q_QUERY_USERALIASES * q_u, prs_struct *ps, int depth); void init_samr_r_query_useraliases(SAMR_R_QUERY_USERALIASES * r_u, uint32 num_rids, uint32 *rid, NTSTATUS status); -BOOL samr_io_rids(char *desc, uint32 *num_rids, uint32 **rid, +BOOL samr_io_rids(const char *desc, uint32 *num_rids, uint32 **rid, prs_struct *ps, int depth); -BOOL samr_io_r_query_useraliases(char *desc, SAMR_R_QUERY_USERALIASES * r_u, +BOOL samr_io_r_query_useraliases(const char *desc, SAMR_R_QUERY_USERALIASES * r_u, prs_struct *ps, int depth); void init_samr_q_open_alias(SAMR_Q_OPEN_ALIAS * q_u, POLICY_HND *pol, uint32 access_mask, uint32 rid); -BOOL samr_io_q_open_alias(char *desc, SAMR_Q_OPEN_ALIAS * q_u, +BOOL samr_io_q_open_alias(const char *desc, SAMR_Q_OPEN_ALIAS * q_u, prs_struct *ps, int depth); -BOOL samr_io_r_open_alias(char *desc, SAMR_R_OPEN_ALIAS * r_u, +BOOL samr_io_r_open_alias(const char *desc, SAMR_R_OPEN_ALIAS * r_u, prs_struct *ps, int depth); void init_samr_q_lookup_rids(TALLOC_CTX *ctx, SAMR_Q_LOOKUP_RIDS * q_u, POLICY_HND *pol, uint32 flags, uint32 num_rids, uint32 *rid); -BOOL samr_io_q_lookup_rids(char *desc, SAMR_Q_LOOKUP_RIDS * q_u, +BOOL samr_io_q_lookup_rids(const char *desc, SAMR_Q_LOOKUP_RIDS * q_u, prs_struct *ps, int depth); void init_samr_r_lookup_rids(SAMR_R_LOOKUP_RIDS * r_u, uint32 num_names, UNIHDR * hdr_name, UNISTR2 *uni_name, uint32 *type); -BOOL samr_io_r_lookup_rids(char *desc, SAMR_R_LOOKUP_RIDS * r_u, +BOOL samr_io_r_lookup_rids(const char *desc, SAMR_R_LOOKUP_RIDS * r_u, prs_struct *ps, int depth); void init_samr_q_delete_alias(SAMR_Q_DELETE_DOM_ALIAS * q_u, POLICY_HND *hnd); -BOOL samr_io_q_delete_alias(char *desc, SAMR_Q_DELETE_DOM_ALIAS * q_u, +BOOL samr_io_q_delete_alias(const char *desc, SAMR_Q_DELETE_DOM_ALIAS * q_u, prs_struct *ps, int depth); -BOOL samr_io_r_delete_alias(char *desc, SAMR_R_DELETE_DOM_ALIAS * r_u, +BOOL samr_io_r_delete_alias(const char *desc, SAMR_R_DELETE_DOM_ALIAS * r_u, prs_struct *ps, int depth); void init_samr_q_create_dom_alias(SAMR_Q_CREATE_DOM_ALIAS * q_u, - POLICY_HND *hnd, char *acct_desc); -BOOL samr_io_q_create_dom_alias(char *desc, SAMR_Q_CREATE_DOM_ALIAS * q_u, + POLICY_HND *hnd, const char *acct_desc); +BOOL samr_io_q_create_dom_alias(const char *desc, SAMR_Q_CREATE_DOM_ALIAS * q_u, prs_struct *ps, int depth); -BOOL samr_io_r_create_dom_alias(char *desc, SAMR_R_CREATE_DOM_ALIAS * r_u, +BOOL samr_io_r_create_dom_alias(const char *desc, SAMR_R_CREATE_DOM_ALIAS * r_u, prs_struct *ps, int depth); void init_samr_q_add_aliasmem(SAMR_Q_ADD_ALIASMEM * q_u, POLICY_HND *hnd, DOM_SID *sid); -BOOL samr_io_q_add_aliasmem(char *desc, SAMR_Q_ADD_ALIASMEM * q_u, +BOOL samr_io_q_add_aliasmem(const char *desc, SAMR_Q_ADD_ALIASMEM * q_u, prs_struct *ps, int depth); -BOOL samr_io_r_add_aliasmem(char *desc, SAMR_R_ADD_ALIASMEM * r_u, +BOOL samr_io_r_add_aliasmem(const char *desc, SAMR_R_ADD_ALIASMEM * r_u, prs_struct *ps, int depth); void init_samr_q_del_aliasmem(SAMR_Q_DEL_ALIASMEM * q_u, POLICY_HND *hnd, DOM_SID *sid); -BOOL samr_io_q_del_aliasmem(char *desc, SAMR_Q_DEL_ALIASMEM * q_u, +BOOL samr_io_q_del_aliasmem(const char *desc, SAMR_Q_DEL_ALIASMEM * q_u, prs_struct *ps, int depth); -BOOL samr_io_r_del_aliasmem(char *desc, SAMR_R_DEL_ALIASMEM * r_u, +BOOL samr_io_r_del_aliasmem(const char *desc, SAMR_R_DEL_ALIASMEM * r_u, prs_struct *ps, int depth); void init_samr_q_delete_dom_alias(SAMR_Q_DELETE_DOM_ALIAS * q_c, POLICY_HND *hnd); -BOOL samr_io_q_delete_dom_alias(char *desc, SAMR_Q_DELETE_DOM_ALIAS * q_u, +BOOL samr_io_q_delete_dom_alias(const char *desc, SAMR_Q_DELETE_DOM_ALIAS * q_u, prs_struct *ps, int depth); void init_samr_r_delete_dom_alias(SAMR_R_DELETE_DOM_ALIAS * r_u, NTSTATUS status); -BOOL samr_io_r_delete_dom_alias(char *desc, SAMR_R_DELETE_DOM_ALIAS * r_u, +BOOL samr_io_r_delete_dom_alias(const char *desc, SAMR_R_DELETE_DOM_ALIAS * r_u, prs_struct *ps, int depth); void init_samr_q_query_aliasmem(SAMR_Q_QUERY_ALIASMEM * q_c, POLICY_HND *hnd); -BOOL samr_io_q_query_aliasmem(char *desc, SAMR_Q_QUERY_ALIASMEM * q_u, +BOOL samr_io_q_query_aliasmem(const char *desc, SAMR_Q_QUERY_ALIASMEM * q_u, prs_struct *ps, int depth); void init_samr_r_query_aliasmem(SAMR_R_QUERY_ALIASMEM * r_u, uint32 num_sids, DOM_SID2 * sid, NTSTATUS status); -BOOL samr_io_r_query_aliasmem(char *desc, SAMR_R_QUERY_ALIASMEM * r_u, +BOOL samr_io_r_query_aliasmem(const char *desc, SAMR_R_QUERY_ALIASMEM * r_u, prs_struct *ps, int depth); NTSTATUS init_samr_q_lookup_names(TALLOC_CTX *ctx, SAMR_Q_LOOKUP_NAMES * q_u, POLICY_HND *pol, uint32 flags, - uint32 num_names, char **name); -BOOL samr_io_q_lookup_names(char *desc, SAMR_Q_LOOKUP_NAMES * q_u, + uint32 num_names, const char **name); +BOOL samr_io_q_lookup_names(const char *desc, SAMR_Q_LOOKUP_NAMES * q_u, prs_struct *ps, int depth); NTSTATUS init_samr_r_lookup_names(TALLOC_CTX *ctx, SAMR_R_LOOKUP_NAMES * r_u, uint32 num_rids, uint32 *rid, uint32 *type, NTSTATUS status); -BOOL samr_io_r_lookup_names(char *desc, SAMR_R_LOOKUP_NAMES * r_u, +BOOL samr_io_r_lookup_names(const char *desc, SAMR_R_LOOKUP_NAMES * r_u, prs_struct *ps, int depth); void init_samr_q_delete_dom_user(SAMR_Q_DELETE_DOM_USER * q_c, POLICY_HND *hnd); -BOOL samr_io_q_delete_dom_user(char *desc, SAMR_Q_DELETE_DOM_USER * q_u, +BOOL samr_io_q_delete_dom_user(const char *desc, SAMR_Q_DELETE_DOM_USER * q_u, prs_struct *ps, int depth); -BOOL samr_io_r_delete_dom_user(char *desc, SAMR_R_DELETE_DOM_USER * r_u, +BOOL samr_io_r_delete_dom_user(const char *desc, SAMR_R_DELETE_DOM_USER * r_u, prs_struct *ps, int depth); void init_samr_q_open_user(SAMR_Q_OPEN_USER * q_u, POLICY_HND *pol, uint32 access_mask, uint32 rid); -BOOL samr_io_q_open_user(char *desc, SAMR_Q_OPEN_USER * q_u, +BOOL samr_io_q_open_user(const char *desc, SAMR_Q_OPEN_USER * q_u, prs_struct *ps, int depth); -BOOL samr_io_r_open_user(char *desc, SAMR_R_OPEN_USER * r_u, +BOOL samr_io_r_open_user(const char *desc, SAMR_R_OPEN_USER * r_u, prs_struct *ps, int depth); void init_samr_q_create_user(SAMR_Q_CREATE_USER * q_u, POLICY_HND *pol, const char *name, uint32 acb_info, uint32 access_mask); -BOOL samr_io_q_create_user(char *desc, SAMR_Q_CREATE_USER * q_u, +BOOL samr_io_q_create_user(const char *desc, SAMR_Q_CREATE_USER * q_u, prs_struct *ps, int depth); -BOOL samr_io_r_create_user(char *desc, SAMR_R_CREATE_USER * r_u, +BOOL samr_io_r_create_user(const char *desc, SAMR_R_CREATE_USER * r_u, prs_struct *ps, int depth); void init_samr_q_query_userinfo(SAMR_Q_QUERY_USERINFO * q_u, POLICY_HND *hnd, uint16 switch_value); -BOOL samr_io_q_query_userinfo(char *desc, SAMR_Q_QUERY_USERINFO * q_u, +BOOL samr_io_q_query_userinfo(const char *desc, SAMR_Q_QUERY_USERINFO * q_u, prs_struct *ps, int depth); void init_sam_user_info12(SAM_USER_INFO_12 * usr, const uint8 lm_pwd[16], const uint8 nt_pwd[16]); void init_sam_user_info10(SAM_USER_INFO_10 * usr, uint32 acb_info); void init_sam_user_info11(SAM_USER_INFO_11 * usr, NTTIME * expiry, - char *mach_acct, + const char *mach_acct, uint32 rid_user, uint32 rid_group, uint16 acct_ctrl); void init_sam_user_info24(SAM_USER_INFO_24 * usr, char newpass[516], uint16 pw_len); void init_sam_user_info23W(SAM_USER_INFO_23 * usr, NTTIME * logon_time, /* all zeros */ @@ -3455,11 +3456,11 @@ void init_sam_user_info23A(SAM_USER_INFO_23 * usr, NTTIME * logon_time, /* all z NTTIME * pass_last_set_time, /* all zeros */ NTTIME * pass_can_change_time, /* all zeros */ NTTIME * pass_must_change_time, /* all zeros */ - char *user_name, /* NULL */ - char *full_name, - char *home_dir, char *dir_drive, char *log_scr, - char *prof_path, char *desc, char *wkstas, - char *unk_str, char *mung_dial, uint32 user_rid, /* 0x0000 0000 */ + const char *user_name, /* NULL */ + const char *full_name, + const char *home_dir, const char *dir_drive, const char *log_scr, + const char *prof_path, const char *desc, const char *wkstas, + const char *unk_str, const char *mung_dial, uint32 user_rid, /* 0x0000 0000 */ uint32 group_rid, uint32 acb_info, uint32 unknown_3, uint16 logon_divs, LOGON_HRS * hrs, uint32 unknown_5, @@ -3499,84 +3500,84 @@ void init_samr_userinfo_ctr(SAM_USERINFO_CTR * ctr, uchar * sess_key, uint16 switch_value, void *info); void init_samr_r_query_userinfo(SAMR_R_QUERY_USERINFO * r_u, SAM_USERINFO_CTR * ctr, NTSTATUS status); -BOOL samr_io_r_query_userinfo(char *desc, SAMR_R_QUERY_USERINFO * r_u, +BOOL samr_io_r_query_userinfo(const char *desc, SAMR_R_QUERY_USERINFO * r_u, prs_struct *ps, int depth); void init_samr_q_set_userinfo(SAMR_Q_SET_USERINFO * q_u, POLICY_HND *hnd, unsigned char sess_key[16], uint16 switch_value, void *info); -BOOL samr_io_q_set_userinfo(char *desc, SAMR_Q_SET_USERINFO * q_u, +BOOL samr_io_q_set_userinfo(const char *desc, SAMR_Q_SET_USERINFO * q_u, prs_struct *ps, int depth); void init_samr_r_set_userinfo(SAMR_R_SET_USERINFO * r_u, NTSTATUS status); -BOOL samr_io_r_set_userinfo(char *desc, SAMR_R_SET_USERINFO * r_u, +BOOL samr_io_r_set_userinfo(const char *desc, SAMR_R_SET_USERINFO * r_u, prs_struct *ps, int depth); void init_samr_q_set_userinfo2(SAMR_Q_SET_USERINFO2 * q_u, POLICY_HND *hnd, unsigned char sess_key[16], uint16 switch_value, SAM_USERINFO_CTR * ctr); -BOOL samr_io_q_set_userinfo2(char *desc, SAMR_Q_SET_USERINFO2 * q_u, +BOOL samr_io_q_set_userinfo2(const char *desc, SAMR_Q_SET_USERINFO2 * q_u, prs_struct *ps, int depth); void init_samr_r_set_userinfo2(SAMR_R_SET_USERINFO2 * r_u, NTSTATUS status); -BOOL samr_io_r_set_userinfo2(char *desc, SAMR_R_SET_USERINFO2 * r_u, +BOOL samr_io_r_set_userinfo2(const char *desc, SAMR_R_SET_USERINFO2 * r_u, prs_struct *ps, int depth); void init_samr_q_connect(SAMR_Q_CONNECT * q_u, - char *srv_name, uint32 access_mask); -BOOL samr_io_q_connect(char *desc, SAMR_Q_CONNECT * q_u, + const char *srv_name, uint32 access_mask); +BOOL samr_io_q_connect(const char *desc, SAMR_Q_CONNECT * q_u, prs_struct *ps, int depth); -BOOL samr_io_r_connect(char *desc, SAMR_R_CONNECT * r_u, +BOOL samr_io_r_connect(const char *desc, SAMR_R_CONNECT * r_u, prs_struct *ps, int depth); void init_samr_q_connect_anon(SAMR_Q_CONNECT_ANON * q_u); -BOOL samr_io_q_connect_anon(char *desc, SAMR_Q_CONNECT_ANON * q_u, +BOOL samr_io_q_connect_anon(const char *desc, SAMR_Q_CONNECT_ANON * q_u, prs_struct *ps, int depth); -BOOL samr_io_r_connect_anon(char *desc, SAMR_R_CONNECT_ANON * r_u, +BOOL samr_io_r_connect_anon(const char *desc, SAMR_R_CONNECT_ANON * r_u, prs_struct *ps, int depth); void init_samr_q_get_dom_pwinfo(SAMR_Q_GET_DOM_PWINFO * q_u, - char *srv_name); -BOOL samr_io_q_get_dom_pwinfo(char *desc, SAMR_Q_GET_DOM_PWINFO * q_u, + const char *srv_name); +BOOL samr_io_q_get_dom_pwinfo(const char *desc, SAMR_Q_GET_DOM_PWINFO * q_u, prs_struct *ps, int depth); -BOOL samr_io_r_get_dom_pwinfo(char *desc, SAMR_R_GET_DOM_PWINFO * r_u, +BOOL samr_io_r_get_dom_pwinfo(const char *desc, SAMR_R_GET_DOM_PWINFO * r_u, prs_struct *ps, int depth); void init_enc_passwd(SAMR_ENC_PASSWD * pwd, char pass[512]); -BOOL samr_io_enc_passwd(char *desc, SAMR_ENC_PASSWD * pwd, +BOOL samr_io_enc_passwd(const char *desc, SAMR_ENC_PASSWD * pwd, prs_struct *ps, int depth); void init_enc_hash(SAMR_ENC_HASH * hsh, uchar hash[16]); -BOOL samr_io_enc_hash(char *desc, SAMR_ENC_HASH * hsh, +BOOL samr_io_enc_hash(const char *desc, SAMR_ENC_HASH * hsh, prs_struct *ps, int depth); void init_samr_q_chgpasswd_user(SAMR_Q_CHGPASSWD_USER * q_u, - char *dest_host, char *user_name, + const char *dest_host, const char *user_name, char nt_newpass[516], uchar nt_oldhash[16], char lm_newpass[516], uchar lm_oldhash[16]); -BOOL samr_io_q_chgpasswd_user(char *desc, SAMR_Q_CHGPASSWD_USER * q_u, +BOOL samr_io_q_chgpasswd_user(const char *desc, SAMR_Q_CHGPASSWD_USER * q_u, prs_struct *ps, int depth); void init_samr_r_chgpasswd_user(SAMR_R_CHGPASSWD_USER * r_u, NTSTATUS status); -BOOL samr_io_r_chgpasswd_user(char *desc, SAMR_R_CHGPASSWD_USER * r_u, +BOOL samr_io_r_chgpasswd_user(const char *desc, SAMR_R_CHGPASSWD_USER * r_u, prs_struct *ps, int depth); void init_samr_q_unknown_2e(SAMR_Q_UNKNOWN_2E *q_u, POLICY_HND *domain_pol, uint16 switch_value); -BOOL samr_io_q_unknown_2e(char *desc, SAMR_Q_UNKNOWN_2E *q_u, +BOOL samr_io_q_unknown_2e(const char *desc, SAMR_Q_UNKNOWN_2E *q_u, prs_struct *ps, int depth); void init_samr_r_samr_unknown_2e(SAMR_R_UNKNOWN_2E * r_u, uint16 switch_value, SAM_UNK_CTR * ctr, NTSTATUS status); -BOOL samr_io_r_samr_unknown_2e(char *desc, SAMR_R_UNKNOWN_2E * r_u, +BOOL samr_io_r_samr_unknown_2e(const char *desc, SAMR_R_UNKNOWN_2E * r_u, prs_struct *ps, int depth); void init_samr_q_set_domain_info(SAMR_Q_SET_DOMAIN_INFO *q_u, POLICY_HND *domain_pol, uint16 switch_value, SAM_UNK_CTR *ctr); -BOOL samr_io_q_set_domain_info(char *desc, SAMR_Q_SET_DOMAIN_INFO *q_u, +BOOL samr_io_q_set_domain_info(const char *desc, SAMR_Q_SET_DOMAIN_INFO *q_u, prs_struct *ps, int depth); void init_samr_r_set_domain_info(SAMR_R_SET_DOMAIN_INFO * r_u, NTSTATUS status); -BOOL samr_io_r_set_domain_info(char *desc, SAMR_R_SET_DOMAIN_INFO * r_u, +BOOL samr_io_r_set_domain_info(const char *desc, SAMR_R_SET_DOMAIN_INFO * r_u, prs_struct *ps, int depth); /* The following definitions come from rpc_parse/parse_sec.c */ void init_sec_access(SEC_ACCESS *t, uint32 mask); -BOOL sec_io_access(char *desc, SEC_ACCESS *t, prs_struct *ps, int depth); +BOOL sec_io_access(const char *desc, SEC_ACCESS *t, prs_struct *ps, int depth); void init_sec_ace(SEC_ACE *t, DOM_SID *sid, uint8 type, SEC_ACCESS mask, uint8 flag); -BOOL sec_io_ace(char *desc, SEC_ACE *psa, prs_struct *ps, int depth); +BOOL sec_io_ace(const char *desc, SEC_ACE *psa, prs_struct *ps, int depth); SEC_ACL *make_sec_acl(TALLOC_CTX *ctx, uint16 revision, int num_aces, SEC_ACE *ace_list); SEC_ACL *dup_sec_acl(TALLOC_CTX *ctx, SEC_ACL *src); -BOOL sec_io_acl(char *desc, SEC_ACL **ppsa, prs_struct *ps, int depth); +BOOL sec_io_acl(const char *desc, SEC_ACL **ppsa, prs_struct *ps, int depth); size_t sec_desc_size(SEC_DESC *psd); BOOL sec_ace_equal(SEC_ACE *s1, SEC_ACE *s2); BOOL sec_acl_equal(SEC_ACL *s1, SEC_ACL *s2); @@ -3588,17 +3589,17 @@ SEC_DESC *make_sec_desc(TALLOC_CTX *ctx, uint16 revision, SEC_DESC *dup_sec_desc( TALLOC_CTX *ctx, SEC_DESC *src); SEC_DESC *make_standard_sec_desc(TALLOC_CTX *ctx, DOM_SID *owner_sid, DOM_SID *grp_sid, SEC_ACL *dacl, size_t *sd_size); -BOOL sec_io_desc(char *desc, SEC_DESC **ppsd, prs_struct *ps, int depth); +BOOL sec_io_desc(const char *desc, SEC_DESC **ppsd, prs_struct *ps, int depth); SEC_DESC_BUF *make_sec_desc_buf(TALLOC_CTX *ctx, size_t len, SEC_DESC *sec_desc); SEC_DESC_BUF *dup_sec_desc_buf(TALLOC_CTX *ctx, SEC_DESC_BUF *src); -BOOL sec_io_desc_buf(char *desc, SEC_DESC_BUF **ppsdb, prs_struct *ps, int depth); +BOOL sec_io_desc_buf(const char *desc, SEC_DESC_BUF **ppsdb, prs_struct *ps, int depth); /* The following definitions come from rpc_parse/parse_spoolss.c */ BOOL make_systemtime(SYSTEMTIME *systime, struct tm *unixtime); -BOOL smb_io_notify_info_data_strings(char *desc,SPOOL_NOTIFY_INFO_DATA *data, +BOOL smb_io_notify_info_data_strings(const char *desc,SPOOL_NOTIFY_INFO_DATA *data, prs_struct *ps, int depth); -BOOL spoolss_io_devmode(char *desc, prs_struct *ps, int depth, DEVICEMODE *devmode); +BOOL spoolss_io_devmode(const char *desc, prs_struct *ps, int depth, DEVICEMODE *devmode); BOOL make_spoolss_q_open_printer_ex(SPOOL_Q_OPEN_PRINTER_EX *q_u, const fstring printername, const fstring datatype, @@ -3615,10 +3616,10 @@ BOOL make_spoolss_q_addprinterex( PRINTER_INFO_CTR *ctr); BOOL make_spoolss_printer_info_2(TALLOC_CTX *mem_ctx, SPOOL_PRINTER_INFO_LEVEL_2 **spool_info2, PRINTER_INFO_2 *info); -BOOL spoolss_io_q_open_printer(char *desc, SPOOL_Q_OPEN_PRINTER *q_u, prs_struct *ps, int depth); -BOOL spoolss_io_r_open_printer(char *desc, SPOOL_R_OPEN_PRINTER *r_u, prs_struct *ps, int depth); -BOOL spoolss_io_q_open_printer_ex(char *desc, SPOOL_Q_OPEN_PRINTER_EX *q_u, prs_struct *ps, int depth); -BOOL spoolss_io_r_open_printer_ex(char *desc, SPOOL_R_OPEN_PRINTER_EX *r_u, prs_struct *ps, int depth); +BOOL spoolss_io_q_open_printer(const char *desc, SPOOL_Q_OPEN_PRINTER *q_u, prs_struct *ps, int depth); +BOOL spoolss_io_r_open_printer(const char *desc, SPOOL_R_OPEN_PRINTER *r_u, prs_struct *ps, int depth); +BOOL spoolss_io_q_open_printer_ex(const char *desc, SPOOL_Q_OPEN_PRINTER_EX *q_u, prs_struct *ps, int depth); +BOOL spoolss_io_r_open_printer_ex(const char *desc, SPOOL_R_OPEN_PRINTER_EX *r_u, prs_struct *ps, int depth); BOOL make_spoolss_q_deleteprinterdriver( TALLOC_CTX *mem_ctx, SPOOL_Q_DELETEPRINTERDRIVER *q_u, @@ -3629,57 +3630,57 @@ BOOL make_spoolss_q_deleteprinterdriver( BOOL make_spoolss_q_getprinterdata(SPOOL_Q_GETPRINTERDATA *q_u, const POLICY_HND *handle, UNISTR2 *valuename, uint32 size); -BOOL spoolss_io_q_getprinterdata(char *desc, SPOOL_Q_GETPRINTERDATA *q_u, prs_struct *ps, int depth); -BOOL spoolss_io_q_deleteprinterdata(char *desc, SPOOL_Q_DELETEPRINTERDATA *q_u, prs_struct *ps, int depth); -BOOL spoolss_io_r_deleteprinterdata(char *desc, SPOOL_R_DELETEPRINTERDATA *r_u, prs_struct *ps, int depth); -BOOL spoolss_io_r_getprinterdata(char *desc, SPOOL_R_GETPRINTERDATA *r_u, prs_struct *ps, int depth); +BOOL spoolss_io_q_getprinterdata(const char *desc, SPOOL_Q_GETPRINTERDATA *q_u, prs_struct *ps, int depth); +BOOL spoolss_io_q_deleteprinterdata(const char *desc, SPOOL_Q_DELETEPRINTERDATA *q_u, prs_struct *ps, int depth); +BOOL spoolss_io_r_deleteprinterdata(const char *desc, SPOOL_R_DELETEPRINTERDATA *r_u, prs_struct *ps, int depth); +BOOL spoolss_io_r_getprinterdata(const char *desc, SPOOL_R_GETPRINTERDATA *r_u, prs_struct *ps, int depth); BOOL make_spoolss_q_closeprinter(SPOOL_Q_CLOSEPRINTER *q_u, POLICY_HND *hnd); -BOOL spoolss_io_q_abortprinter(char *desc, SPOOL_Q_ABORTPRINTER *q_u, prs_struct *ps, int depth); -BOOL spoolss_io_r_abortprinter(char *desc, SPOOL_R_ABORTPRINTER *r_u, prs_struct *ps, int depth); -BOOL spoolss_io_q_deleteprinter(char *desc, SPOOL_Q_DELETEPRINTER *q_u, prs_struct *ps, int depth); -BOOL spoolss_io_r_deleteprinter(char *desc, SPOOL_R_DELETEPRINTER *r_u, prs_struct *ps, int depth); -BOOL spoolss_io_q_deleteprinterdriver(char *desc, SPOOL_Q_DELETEPRINTERDRIVER *q_u, prs_struct *ps, int depth); -BOOL spoolss_io_r_deleteprinterdriver(char *desc, SPOOL_R_DELETEPRINTERDRIVER *r_u, prs_struct *ps, int depth); -BOOL spoolss_io_q_closeprinter(char *desc, SPOOL_Q_CLOSEPRINTER *q_u, prs_struct *ps, int depth); -BOOL spoolss_io_r_closeprinter(char *desc, SPOOL_R_CLOSEPRINTER *r_u, prs_struct *ps, int depth); -BOOL spoolss_io_q_startdocprinter(char *desc, SPOOL_Q_STARTDOCPRINTER *q_u, prs_struct *ps, int depth); -BOOL spoolss_io_r_startdocprinter(char *desc, SPOOL_R_STARTDOCPRINTER *r_u, prs_struct *ps, int depth); -BOOL spoolss_io_q_enddocprinter(char *desc, SPOOL_Q_ENDDOCPRINTER *q_u, prs_struct *ps, int depth); -BOOL spoolss_io_r_enddocprinter(char *desc, SPOOL_R_ENDDOCPRINTER *r_u, prs_struct *ps, int depth); -BOOL spoolss_io_q_startpageprinter(char *desc, SPOOL_Q_STARTPAGEPRINTER *q_u, prs_struct *ps, int depth); -BOOL spoolss_io_r_startpageprinter(char *desc, SPOOL_R_STARTPAGEPRINTER *r_u, prs_struct *ps, int depth); -BOOL spoolss_io_q_endpageprinter(char *desc, SPOOL_Q_ENDPAGEPRINTER *q_u, prs_struct *ps, int depth); -BOOL spoolss_io_r_endpageprinter(char *desc, SPOOL_R_ENDPAGEPRINTER *r_u, prs_struct *ps, int depth); -BOOL spoolss_io_q_writeprinter(char *desc, SPOOL_Q_WRITEPRINTER *q_u, prs_struct *ps, int depth); -BOOL spoolss_io_r_writeprinter(char *desc, SPOOL_R_WRITEPRINTER *r_u, prs_struct *ps, int depth); -BOOL spoolss_io_q_rffpcnex(char *desc, SPOOL_Q_RFFPCNEX *q_u, prs_struct *ps, int depth); -BOOL spoolss_io_r_rffpcnex(char *desc, SPOOL_R_RFFPCNEX *r_u, prs_struct *ps, int depth); -BOOL spoolss_io_q_rfnpcnex(char *desc, SPOOL_Q_RFNPCNEX *q_u, prs_struct *ps, int depth); -BOOL spoolss_io_r_rfnpcnex(char *desc, SPOOL_R_RFNPCNEX *r_u, prs_struct *ps, int depth); -BOOL smb_io_printer_info_0(char *desc, NEW_BUFFER *buffer, PRINTER_INFO_0 *info, int depth); -BOOL smb_io_printer_info_1(char *desc, NEW_BUFFER *buffer, PRINTER_INFO_1 *info, int depth); -BOOL smb_io_printer_info_2(char *desc, NEW_BUFFER *buffer, PRINTER_INFO_2 *info, int depth); -BOOL smb_io_printer_info_3(char *desc, NEW_BUFFER *buffer, PRINTER_INFO_3 *info, int depth); -BOOL smb_io_printer_info_4(char *desc, NEW_BUFFER *buffer, PRINTER_INFO_4 *info, int depth); -BOOL smb_io_printer_info_5(char *desc, NEW_BUFFER *buffer, PRINTER_INFO_5 *info, int depth); -BOOL smb_io_port_info_1(char *desc, NEW_BUFFER *buffer, PORT_INFO_1 *info, int depth); -BOOL smb_io_port_info_2(char *desc, NEW_BUFFER *buffer, PORT_INFO_2 *info, int depth); -BOOL smb_io_printer_driver_info_1(char *desc, NEW_BUFFER *buffer, DRIVER_INFO_1 *info, int depth) ; -BOOL smb_io_printer_driver_info_2(char *desc, NEW_BUFFER *buffer, DRIVER_INFO_2 *info, int depth) ; -BOOL smb_io_printer_driver_info_3(char *desc, NEW_BUFFER *buffer, DRIVER_INFO_3 *info, int depth); -BOOL smb_io_printer_driver_info_6(char *desc, NEW_BUFFER *buffer, DRIVER_INFO_6 *info, int depth); -BOOL smb_io_job_info_1(char *desc, NEW_BUFFER *buffer, JOB_INFO_1 *info, int depth); -BOOL smb_io_job_info_2(char *desc, NEW_BUFFER *buffer, JOB_INFO_2 *info, int depth); -BOOL smb_io_form_1(char *desc, NEW_BUFFER *buffer, FORM_1 *info, int depth); +BOOL spoolss_io_q_abortprinter(const char *desc, SPOOL_Q_ABORTPRINTER *q_u, prs_struct *ps, int depth); +BOOL spoolss_io_r_abortprinter(const char *desc, SPOOL_R_ABORTPRINTER *r_u, prs_struct *ps, int depth); +BOOL spoolss_io_q_deleteprinter(const char *desc, SPOOL_Q_DELETEPRINTER *q_u, prs_struct *ps, int depth); +BOOL spoolss_io_r_deleteprinter(const char *desc, SPOOL_R_DELETEPRINTER *r_u, prs_struct *ps, int depth); +BOOL spoolss_io_q_deleteprinterdriver(const char *desc, SPOOL_Q_DELETEPRINTERDRIVER *q_u, prs_struct *ps, int depth); +BOOL spoolss_io_r_deleteprinterdriver(const char *desc, SPOOL_R_DELETEPRINTERDRIVER *r_u, prs_struct *ps, int depth); +BOOL spoolss_io_q_closeprinter(const char *desc, SPOOL_Q_CLOSEPRINTER *q_u, prs_struct *ps, int depth); +BOOL spoolss_io_r_closeprinter(const char *desc, SPOOL_R_CLOSEPRINTER *r_u, prs_struct *ps, int depth); +BOOL spoolss_io_q_startdocprinter(const char *desc, SPOOL_Q_STARTDOCPRINTER *q_u, prs_struct *ps, int depth); +BOOL spoolss_io_r_startdocprinter(const char *desc, SPOOL_R_STARTDOCPRINTER *r_u, prs_struct *ps, int depth); +BOOL spoolss_io_q_enddocprinter(const char *desc, SPOOL_Q_ENDDOCPRINTER *q_u, prs_struct *ps, int depth); +BOOL spoolss_io_r_enddocprinter(const char *desc, SPOOL_R_ENDDOCPRINTER *r_u, prs_struct *ps, int depth); +BOOL spoolss_io_q_startpageprinter(const char *desc, SPOOL_Q_STARTPAGEPRINTER *q_u, prs_struct *ps, int depth); +BOOL spoolss_io_r_startpageprinter(const char *desc, SPOOL_R_STARTPAGEPRINTER *r_u, prs_struct *ps, int depth); +BOOL spoolss_io_q_endpageprinter(const char *desc, SPOOL_Q_ENDPAGEPRINTER *q_u, prs_struct *ps, int depth); +BOOL spoolss_io_r_endpageprinter(const char *desc, SPOOL_R_ENDPAGEPRINTER *r_u, prs_struct *ps, int depth); +BOOL spoolss_io_q_writeprinter(const char *desc, SPOOL_Q_WRITEPRINTER *q_u, prs_struct *ps, int depth); +BOOL spoolss_io_r_writeprinter(const char *desc, SPOOL_R_WRITEPRINTER *r_u, prs_struct *ps, int depth); +BOOL spoolss_io_q_rffpcnex(const char *desc, SPOOL_Q_RFFPCNEX *q_u, prs_struct *ps, int depth); +BOOL spoolss_io_r_rffpcnex(const char *desc, SPOOL_R_RFFPCNEX *r_u, prs_struct *ps, int depth); +BOOL spoolss_io_q_rfnpcnex(const char *desc, SPOOL_Q_RFNPCNEX *q_u, prs_struct *ps, int depth); +BOOL spoolss_io_r_rfnpcnex(const char *desc, SPOOL_R_RFNPCNEX *r_u, prs_struct *ps, int depth); +BOOL smb_io_printer_info_0(const char *desc, NEW_BUFFER *buffer, PRINTER_INFO_0 *info, int depth); +BOOL smb_io_printer_info_1(const char *desc, NEW_BUFFER *buffer, PRINTER_INFO_1 *info, int depth); +BOOL smb_io_printer_info_2(const char *desc, NEW_BUFFER *buffer, PRINTER_INFO_2 *info, int depth); +BOOL smb_io_printer_info_3(const char *desc, NEW_BUFFER *buffer, PRINTER_INFO_3 *info, int depth); +BOOL smb_io_printer_info_4(const char *desc, NEW_BUFFER *buffer, PRINTER_INFO_4 *info, int depth); +BOOL smb_io_printer_info_5(const char *desc, NEW_BUFFER *buffer, PRINTER_INFO_5 *info, int depth); +BOOL smb_io_port_info_1(const char *desc, NEW_BUFFER *buffer, PORT_INFO_1 *info, int depth); +BOOL smb_io_port_info_2(const char *desc, NEW_BUFFER *buffer, PORT_INFO_2 *info, int depth); +BOOL smb_io_printer_driver_info_1(const char *desc, NEW_BUFFER *buffer, DRIVER_INFO_1 *info, int depth) ; +BOOL smb_io_printer_driver_info_2(const char *desc, NEW_BUFFER *buffer, DRIVER_INFO_2 *info, int depth) ; +BOOL smb_io_printer_driver_info_3(const char *desc, NEW_BUFFER *buffer, DRIVER_INFO_3 *info, int depth); +BOOL smb_io_printer_driver_info_6(const char *desc, NEW_BUFFER *buffer, DRIVER_INFO_6 *info, int depth); +BOOL smb_io_job_info_1(const char *desc, NEW_BUFFER *buffer, JOB_INFO_1 *info, int depth); +BOOL smb_io_job_info_2(const char *desc, NEW_BUFFER *buffer, JOB_INFO_2 *info, int depth); +BOOL smb_io_form_1(const char *desc, NEW_BUFFER *buffer, FORM_1 *info, int depth); void spoolss_move_buffer(NEW_BUFFER *src, NEW_BUFFER **dest); uint32 new_get_buffer_size(NEW_BUFFER *buffer); -BOOL smb_io_driverdir_1(char *desc, NEW_BUFFER *buffer, DRIVER_DIRECTORY_1 *info, int depth); -BOOL smb_io_port_1(char *desc, NEW_BUFFER *buffer, PORT_INFO_1 *info, int depth); -BOOL smb_io_port_2(char *desc, NEW_BUFFER *buffer, PORT_INFO_2 *info, int depth); -BOOL smb_io_printprocessor_info_1(char *desc, NEW_BUFFER *buffer, PRINTPROCESSOR_1 *info, int depth); -BOOL smb_io_printprocdatatype_info_1(char *desc, NEW_BUFFER *buffer, PRINTPROCDATATYPE_1 *info, int depth); -BOOL smb_io_printmonitor_info_1(char *desc, NEW_BUFFER *buffer, PRINTMONITOR_1 *info, int depth); -BOOL smb_io_printmonitor_info_2(char *desc, NEW_BUFFER *buffer, PRINTMONITOR_2 *info, int depth); +BOOL smb_io_driverdir_1(const char *desc, NEW_BUFFER *buffer, DRIVER_DIRECTORY_1 *info, int depth); +BOOL smb_io_port_1(const char *desc, NEW_BUFFER *buffer, PORT_INFO_1 *info, int depth); +BOOL smb_io_port_2(const char *desc, NEW_BUFFER *buffer, PORT_INFO_2 *info, int depth); +BOOL smb_io_printprocessor_info_1(const char *desc, NEW_BUFFER *buffer, PRINTPROCESSOR_1 *info, int depth); +BOOL smb_io_printprocdatatype_info_1(const char *desc, NEW_BUFFER *buffer, PRINTPROCDATATYPE_1 *info, int depth); +BOOL smb_io_printmonitor_info_1(const char *desc, NEW_BUFFER *buffer, PRINTMONITOR_1 *info, int depth); +BOOL smb_io_printmonitor_info_2(const char *desc, NEW_BUFFER *buffer, PRINTMONITOR_2 *info, int depth); uint32 spoolss_size_printer_info_0(PRINTER_INFO_0 *info); uint32 spoolss_size_printer_info_1(PRINTER_INFO_1 *info); uint32 spoolss_size_printer_info_2(PRINTER_INFO_2 *info); @@ -3708,8 +3709,8 @@ BOOL make_spoolss_q_getprinterdriver2(SPOOL_Q_GETPRINTERDRIVER2 *q_u, const fstring architecture, uint32 level, uint32 clientmajor, uint32 clientminor, NEW_BUFFER *buffer, uint32 offered); -BOOL spoolss_io_q_getprinterdriver2(char *desc, SPOOL_Q_GETPRINTERDRIVER2 *q_u, prs_struct *ps, int depth); -BOOL spoolss_io_r_getprinterdriver2(char *desc, SPOOL_R_GETPRINTERDRIVER2 *r_u, prs_struct *ps, int depth); +BOOL spoolss_io_q_getprinterdriver2(const char *desc, SPOOL_Q_GETPRINTERDRIVER2 *q_u, prs_struct *ps, int depth); +BOOL spoolss_io_r_getprinterdriver2(const char *desc, SPOOL_R_GETPRINTERDRIVER2 *r_u, prs_struct *ps, int depth); BOOL make_spoolss_q_enumprinters( SPOOL_Q_ENUMPRINTERS *q_u, uint32 flags, @@ -3721,10 +3722,10 @@ BOOL make_spoolss_q_enumprinters( BOOL make_spoolss_q_enumports(SPOOL_Q_ENUMPORTS *q_u, fstring servername, uint32 level, NEW_BUFFER *buffer, uint32 offered); -BOOL spoolss_io_q_enumprinters(char *desc, SPOOL_Q_ENUMPRINTERS *q_u, prs_struct *ps, int depth); -BOOL spoolss_io_r_enumprinters(char *desc, SPOOL_R_ENUMPRINTERS *r_u, prs_struct *ps, int depth); -BOOL spoolss_io_r_getprinter(char *desc, SPOOL_R_GETPRINTER *r_u, prs_struct *ps, int depth); -BOOL spoolss_io_q_getprinter(char *desc, SPOOL_Q_GETPRINTER *q_u, prs_struct *ps, int depth); +BOOL spoolss_io_q_enumprinters(const char *desc, SPOOL_Q_ENUMPRINTERS *q_u, prs_struct *ps, int depth); +BOOL spoolss_io_r_enumprinters(const char *desc, SPOOL_R_ENUMPRINTERS *r_u, prs_struct *ps, int depth); +BOOL spoolss_io_r_getprinter(const char *desc, SPOOL_R_GETPRINTER *r_u, prs_struct *ps, int depth); +BOOL spoolss_io_q_getprinter(const char *desc, SPOOL_Q_GETPRINTER *q_u, prs_struct *ps, int depth); BOOL make_spoolss_q_getprinter( TALLOC_CTX *mem_ctx, SPOOL_Q_GETPRINTER *q_u, @@ -3736,50 +3737,50 @@ BOOL make_spoolss_q_getprinter( BOOL make_spoolss_q_setprinter(TALLOC_CTX *mem_ctx, SPOOL_Q_SETPRINTER *q_u, const POLICY_HND *hnd, uint32 level, PRINTER_INFO_CTR *info, uint32 command); -BOOL spoolss_io_r_setprinter(char *desc, SPOOL_R_SETPRINTER *r_u, prs_struct *ps, int depth); -BOOL spoolss_io_q_setprinter(char *desc, SPOOL_Q_SETPRINTER *q_u, prs_struct *ps, int depth); -BOOL spoolss_io_r_fcpn(char *desc, SPOOL_R_FCPN *r_u, prs_struct *ps, int depth); -BOOL spoolss_io_q_fcpn(char *desc, SPOOL_Q_FCPN *q_u, prs_struct *ps, int depth); -BOOL spoolss_io_r_addjob(char *desc, SPOOL_R_ADDJOB *r_u, prs_struct *ps, int depth); -BOOL spoolss_io_q_addjob(char *desc, SPOOL_Q_ADDJOB *q_u, prs_struct *ps, int depth); -BOOL spoolss_io_r_enumjobs(char *desc, SPOOL_R_ENUMJOBS *r_u, prs_struct *ps, int depth); +BOOL spoolss_io_r_setprinter(const char *desc, SPOOL_R_SETPRINTER *r_u, prs_struct *ps, int depth); +BOOL spoolss_io_q_setprinter(const char *desc, SPOOL_Q_SETPRINTER *q_u, prs_struct *ps, int depth); +BOOL spoolss_io_r_fcpn(const char *desc, SPOOL_R_FCPN *r_u, prs_struct *ps, int depth); +BOOL spoolss_io_q_fcpn(const char *desc, SPOOL_Q_FCPN *q_u, prs_struct *ps, int depth); +BOOL spoolss_io_r_addjob(const char *desc, SPOOL_R_ADDJOB *r_u, prs_struct *ps, int depth); +BOOL spoolss_io_q_addjob(const char *desc, SPOOL_Q_ADDJOB *q_u, prs_struct *ps, int depth); +BOOL spoolss_io_r_enumjobs(const char *desc, SPOOL_R_ENUMJOBS *r_u, prs_struct *ps, int depth); BOOL make_spoolss_q_enumjobs(SPOOL_Q_ENUMJOBS *q_u, const POLICY_HND *hnd, uint32 firstjob, uint32 numofjobs, uint32 level, NEW_BUFFER *buffer, uint32 offered); -BOOL spoolss_io_q_enumjobs(char *desc, SPOOL_Q_ENUMJOBS *q_u, prs_struct *ps, int depth); -BOOL spoolss_io_r_schedulejob(char *desc, SPOOL_R_SCHEDULEJOB *r_u, prs_struct *ps, int depth); -BOOL spoolss_io_q_schedulejob(char *desc, SPOOL_Q_SCHEDULEJOB *q_u, prs_struct *ps, int depth); -BOOL spoolss_io_r_setjob(char *desc, SPOOL_R_SETJOB *r_u, prs_struct *ps, int depth); -BOOL spoolss_io_q_setjob(char *desc, SPOOL_Q_SETJOB *q_u, prs_struct *ps, int depth); -BOOL spoolss_io_r_enumprinterdrivers(char *desc, SPOOL_R_ENUMPRINTERDRIVERS *r_u, prs_struct *ps, int depth); +BOOL spoolss_io_q_enumjobs(const char *desc, SPOOL_Q_ENUMJOBS *q_u, prs_struct *ps, int depth); +BOOL spoolss_io_r_schedulejob(const char *desc, SPOOL_R_SCHEDULEJOB *r_u, prs_struct *ps, int depth); +BOOL spoolss_io_q_schedulejob(const char *desc, SPOOL_Q_SCHEDULEJOB *q_u, prs_struct *ps, int depth); +BOOL spoolss_io_r_setjob(const char *desc, SPOOL_R_SETJOB *r_u, prs_struct *ps, int depth); +BOOL spoolss_io_q_setjob(const char *desc, SPOOL_Q_SETJOB *q_u, prs_struct *ps, int depth); +BOOL spoolss_io_r_enumprinterdrivers(const char *desc, SPOOL_R_ENUMPRINTERDRIVERS *r_u, prs_struct *ps, int depth); BOOL make_spoolss_q_enumprinterdrivers(SPOOL_Q_ENUMPRINTERDRIVERS *q_u, const char *name, const char *environment, uint32 level, NEW_BUFFER *buffer, uint32 offered); -BOOL spoolss_io_q_enumprinterdrivers(char *desc, SPOOL_Q_ENUMPRINTERDRIVERS *q_u, prs_struct *ps, int depth); -BOOL spoolss_io_q_enumforms(char *desc, SPOOL_Q_ENUMFORMS *q_u, prs_struct *ps, int depth); -BOOL spoolss_io_r_enumforms(char *desc, SPOOL_R_ENUMFORMS *r_u, prs_struct *ps, int depth); -BOOL spoolss_io_q_getform(char *desc, SPOOL_Q_GETFORM *q_u, prs_struct *ps, int depth); -BOOL spoolss_io_r_getform(char *desc, SPOOL_R_GETFORM *r_u, prs_struct *ps, int depth); -BOOL spoolss_io_r_enumports(char *desc, SPOOL_R_ENUMPORTS *r_u, prs_struct *ps, int depth); -BOOL spoolss_io_q_enumports(char *desc, SPOOL_Q_ENUMPORTS *q_u, prs_struct *ps, int depth); -BOOL spool_io_printer_info_level_1(char *desc, SPOOL_PRINTER_INFO_LEVEL_1 *il, prs_struct *ps, int depth); -BOOL spool_io_printer_info_level_3(char *desc, SPOOL_PRINTER_INFO_LEVEL_3 *il, prs_struct *ps, int depth); -BOOL spool_io_printer_info_level_2(char *desc, SPOOL_PRINTER_INFO_LEVEL_2 *il, prs_struct *ps, int depth); -BOOL spool_io_printer_info_level(char *desc, SPOOL_PRINTER_INFO_LEVEL *il, prs_struct *ps, int depth); -BOOL spoolss_io_q_addprinterex(char *desc, SPOOL_Q_ADDPRINTEREX *q_u, prs_struct *ps, int depth); -BOOL spoolss_io_r_addprinterex(char *desc, SPOOL_R_ADDPRINTEREX *r_u, +BOOL spoolss_io_q_enumprinterdrivers(const char *desc, SPOOL_Q_ENUMPRINTERDRIVERS *q_u, prs_struct *ps, int depth); +BOOL spoolss_io_q_enumforms(const char *desc, SPOOL_Q_ENUMFORMS *q_u, prs_struct *ps, int depth); +BOOL spoolss_io_r_enumforms(const char *desc, SPOOL_R_ENUMFORMS *r_u, prs_struct *ps, int depth); +BOOL spoolss_io_q_getform(const char *desc, SPOOL_Q_GETFORM *q_u, prs_struct *ps, int depth); +BOOL spoolss_io_r_getform(const char *desc, SPOOL_R_GETFORM *r_u, prs_struct *ps, int depth); +BOOL spoolss_io_r_enumports(const char *desc, SPOOL_R_ENUMPORTS *r_u, prs_struct *ps, int depth); +BOOL spoolss_io_q_enumports(const char *desc, SPOOL_Q_ENUMPORTS *q_u, prs_struct *ps, int depth); +BOOL spool_io_printer_info_level_1(const char *desc, SPOOL_PRINTER_INFO_LEVEL_1 *il, prs_struct *ps, int depth); +BOOL spool_io_printer_info_level_3(const char *desc, SPOOL_PRINTER_INFO_LEVEL_3 *il, prs_struct *ps, int depth); +BOOL spool_io_printer_info_level_2(const char *desc, SPOOL_PRINTER_INFO_LEVEL_2 *il, prs_struct *ps, int depth); +BOOL spool_io_printer_info_level(const char *desc, SPOOL_PRINTER_INFO_LEVEL *il, prs_struct *ps, int depth); +BOOL spoolss_io_q_addprinterex(const char *desc, SPOOL_Q_ADDPRINTEREX *q_u, prs_struct *ps, int depth); +BOOL spoolss_io_r_addprinterex(const char *desc, SPOOL_R_ADDPRINTEREX *r_u, prs_struct *ps, int depth); -BOOL spool_io_printer_driver_info_level_3(char *desc, SPOOL_PRINTER_DRIVER_INFO_LEVEL_3 **q_u, +BOOL spool_io_printer_driver_info_level_3(const char *desc, SPOOL_PRINTER_DRIVER_INFO_LEVEL_3 **q_u, prs_struct *ps, int depth); -BOOL spool_io_printer_driver_info_level_6(char *desc, SPOOL_PRINTER_DRIVER_INFO_LEVEL_6 **q_u, +BOOL spool_io_printer_driver_info_level_6(const char *desc, SPOOL_PRINTER_DRIVER_INFO_LEVEL_6 **q_u, prs_struct *ps, int depth); -BOOL smb_io_unibuffer(char *desc, UNISTR2 *buffer, prs_struct *ps, int depth); -BOOL spool_io_printer_driver_info_level(char *desc, SPOOL_PRINTER_DRIVER_INFO_LEVEL *il, prs_struct *ps, int depth); +BOOL smb_io_unibuffer(const char *desc, UNISTR2 *buffer, prs_struct *ps, int depth); +BOOL spool_io_printer_driver_info_level(const char *desc, SPOOL_PRINTER_DRIVER_INFO_LEVEL *il, prs_struct *ps, int depth); BOOL make_spoolss_q_addprinterdriver(TALLOC_CTX *mem_ctx, SPOOL_Q_ADDPRINTERDRIVER *q_u, const char* srv_name, uint32 level, PRINTER_DRIVER_CTR *info); @@ -3787,8 +3788,8 @@ BOOL make_spoolss_driver_info_3(TALLOC_CTX *mem_ctx, SPOOL_PRINTER_DRIVER_INFO_LEVEL_3 **spool_drv_info, DRIVER_INFO_3 *info3); BOOL make_spoolss_buffer5(TALLOC_CTX *mem_ctx, BUFFER5 *buf5, uint32 len, uint16 *src); -BOOL spoolss_io_q_addprinterdriver(char *desc, SPOOL_Q_ADDPRINTERDRIVER *q_u, prs_struct *ps, int depth); -BOOL spoolss_io_r_addprinterdriver(char *desc, SPOOL_R_ADDPRINTERDRIVER *q_u, prs_struct *ps, int depth); +BOOL spoolss_io_q_addprinterdriver(const char *desc, SPOOL_Q_ADDPRINTERDRIVER *q_u, prs_struct *ps, int depth); +BOOL spoolss_io_r_addprinterdriver(const char *desc, SPOOL_R_ADDPRINTERDRIVER *q_u, prs_struct *ps, int depth); BOOL uni_2_asc_printer_driver_3(SPOOL_PRINTER_DRIVER_INFO_LEVEL_3 *uni, NT_PRINTER_DRIVER_INFO_LEVEL_3 **asc); BOOL uni_2_asc_printer_driver_6(SPOOL_PRINTER_DRIVER_INFO_LEVEL_6 *uni, @@ -3798,37 +3799,37 @@ BOOL uni_2_asc_printer_info_2(const SPOOL_PRINTER_INFO_LEVEL_2 *uni, BOOL make_spoolss_q_getprinterdriverdir(SPOOL_Q_GETPRINTERDRIVERDIR *q_u, fstring servername, fstring env_name, uint32 level, NEW_BUFFER *buffer, uint32 offered); -BOOL spoolss_io_q_getprinterdriverdir(char *desc, SPOOL_Q_GETPRINTERDRIVERDIR *q_u, prs_struct *ps, int depth); -BOOL spoolss_io_r_getprinterdriverdir(char *desc, SPOOL_R_GETPRINTERDRIVERDIR *r_u, prs_struct *ps, int depth); -BOOL spoolss_io_r_enumprintprocessors(char *desc, SPOOL_R_ENUMPRINTPROCESSORS *r_u, prs_struct *ps, int depth); -BOOL spoolss_io_q_enumprintprocessors(char *desc, SPOOL_Q_ENUMPRINTPROCESSORS *q_u, prs_struct *ps, int depth); -BOOL spoolss_io_q_addprintprocessor(char *desc, SPOOL_Q_ADDPRINTPROCESSOR *q_u, prs_struct *ps, int depth); -BOOL spoolss_io_r_addprintprocessor(char *desc, SPOOL_R_ADDPRINTPROCESSOR *r_u, prs_struct *ps, int depth); -BOOL spoolss_io_r_enumprintprocdatatypes(char *desc, SPOOL_R_ENUMPRINTPROCDATATYPES *r_u, prs_struct *ps, int depth); -BOOL spoolss_io_q_enumprintprocdatatypes(char *desc, SPOOL_Q_ENUMPRINTPROCDATATYPES *q_u, prs_struct *ps, int depth); -BOOL spoolss_io_q_enumprintmonitors(char *desc, SPOOL_Q_ENUMPRINTMONITORS *q_u, prs_struct *ps, int depth); -BOOL spoolss_io_r_enumprintmonitors(char *desc, SPOOL_R_ENUMPRINTMONITORS *r_u, prs_struct *ps, int depth); -BOOL spoolss_io_r_enumprinterdata(char *desc, SPOOL_R_ENUMPRINTERDATA *r_u, prs_struct *ps, int depth); -BOOL spoolss_io_q_enumprinterdata(char *desc, SPOOL_Q_ENUMPRINTERDATA *q_u, prs_struct *ps, int depth); +BOOL spoolss_io_q_getprinterdriverdir(const char *desc, SPOOL_Q_GETPRINTERDRIVERDIR *q_u, prs_struct *ps, int depth); +BOOL spoolss_io_r_getprinterdriverdir(const char *desc, SPOOL_R_GETPRINTERDRIVERDIR *r_u, prs_struct *ps, int depth); +BOOL spoolss_io_r_enumprintprocessors(const char *desc, SPOOL_R_ENUMPRINTPROCESSORS *r_u, prs_struct *ps, int depth); +BOOL spoolss_io_q_enumprintprocessors(const char *desc, SPOOL_Q_ENUMPRINTPROCESSORS *q_u, prs_struct *ps, int depth); +BOOL spoolss_io_q_addprintprocessor(const char *desc, SPOOL_Q_ADDPRINTPROCESSOR *q_u, prs_struct *ps, int depth); +BOOL spoolss_io_r_addprintprocessor(const char *desc, SPOOL_R_ADDPRINTPROCESSOR *r_u, prs_struct *ps, int depth); +BOOL spoolss_io_r_enumprintprocdatatypes(const char *desc, SPOOL_R_ENUMPRINTPROCDATATYPES *r_u, prs_struct *ps, int depth); +BOOL spoolss_io_q_enumprintprocdatatypes(const char *desc, SPOOL_Q_ENUMPRINTPROCDATATYPES *q_u, prs_struct *ps, int depth); +BOOL spoolss_io_q_enumprintmonitors(const char *desc, SPOOL_Q_ENUMPRINTMONITORS *q_u, prs_struct *ps, int depth); +BOOL spoolss_io_r_enumprintmonitors(const char *desc, SPOOL_R_ENUMPRINTMONITORS *r_u, prs_struct *ps, int depth); +BOOL spoolss_io_r_enumprinterdata(const char *desc, SPOOL_R_ENUMPRINTERDATA *r_u, prs_struct *ps, int depth); +BOOL spoolss_io_q_enumprinterdata(const char *desc, SPOOL_Q_ENUMPRINTERDATA *q_u, prs_struct *ps, int depth); BOOL make_spoolss_q_enumprinterdata(SPOOL_Q_ENUMPRINTERDATA *q_u, const POLICY_HND *hnd, uint32 idx, uint32 valuelen, uint32 datalen); BOOL make_spoolss_q_setprinterdata(SPOOL_Q_SETPRINTERDATA *q_u, TALLOC_CTX *ctx, const POLICY_HND *hnd, char* value, char* data); -BOOL spoolss_io_q_setprinterdata(char *desc, SPOOL_Q_SETPRINTERDATA *q_u, prs_struct *ps, int depth); -BOOL spoolss_io_r_setprinterdata(char *desc, SPOOL_R_SETPRINTERDATA *r_u, prs_struct *ps, int depth); -BOOL spoolss_io_q_resetprinter(char *desc, SPOOL_Q_RESETPRINTER *q_u, prs_struct *ps, int depth); -BOOL spoolss_io_r_resetprinter(char *desc, SPOOL_R_RESETPRINTER *r_u, prs_struct *ps, int depth); +BOOL spoolss_io_q_setprinterdata(const char *desc, SPOOL_Q_SETPRINTERDATA *q_u, prs_struct *ps, int depth); +BOOL spoolss_io_r_setprinterdata(const char *desc, SPOOL_R_SETPRINTERDATA *r_u, prs_struct *ps, int depth); +BOOL spoolss_io_q_resetprinter(const char *desc, SPOOL_Q_RESETPRINTER *q_u, prs_struct *ps, int depth); +BOOL spoolss_io_r_resetprinter(const char *desc, SPOOL_R_RESETPRINTER *r_u, prs_struct *ps, int depth); BOOL convert_specific_param(NT_PRINTER_PARAM **param, const UNISTR2 *value, uint32 type, const uint8 *data, uint32 len); -BOOL spoolss_io_q_deleteform(char *desc, SPOOL_Q_DELETEFORM *q_u, prs_struct *ps, int depth); -BOOL spoolss_io_r_deleteform(char *desc, SPOOL_R_DELETEFORM *r_u, prs_struct *ps, int depth); -BOOL spoolss_io_q_addform(char *desc, SPOOL_Q_ADDFORM *q_u, prs_struct *ps, int depth); -BOOL spoolss_io_r_addform(char *desc, SPOOL_R_ADDFORM *r_u, prs_struct *ps, int depth); -BOOL spoolss_io_q_setform(char *desc, SPOOL_Q_SETFORM *q_u, prs_struct *ps, int depth); -BOOL spoolss_io_r_setform(char *desc, SPOOL_R_SETFORM *r_u, prs_struct *ps, int depth); -BOOL spoolss_io_r_getjob(char *desc, SPOOL_R_GETJOB *r_u, prs_struct *ps, int depth); -BOOL spoolss_io_q_getjob(char *desc, SPOOL_Q_GETJOB *q_u, prs_struct *ps, int depth); +BOOL spoolss_io_q_deleteform(const char *desc, SPOOL_Q_DELETEFORM *q_u, prs_struct *ps, int depth); +BOOL spoolss_io_r_deleteform(const char *desc, SPOOL_R_DELETEFORM *r_u, prs_struct *ps, int depth); +BOOL spoolss_io_q_addform(const char *desc, SPOOL_Q_ADDFORM *q_u, prs_struct *ps, int depth); +BOOL spoolss_io_r_addform(const char *desc, SPOOL_R_ADDFORM *r_u, prs_struct *ps, int depth); +BOOL spoolss_io_q_setform(const char *desc, SPOOL_Q_SETFORM *q_u, prs_struct *ps, int depth); +BOOL spoolss_io_r_setform(const char *desc, SPOOL_R_SETFORM *r_u, prs_struct *ps, int depth); +BOOL spoolss_io_r_getjob(const char *desc, SPOOL_R_GETJOB *r_u, prs_struct *ps, int depth); +BOOL spoolss_io_q_getjob(const char *desc, SPOOL_Q_GETJOB *q_u, prs_struct *ps, int depth); void free_devmode(DEVICEMODE *devmode); void free_printer_info_1(PRINTER_INFO_1 *printer); void free_printer_info_2(PRINTER_INFO_2 *printer); @@ -3838,32 +3839,32 @@ void free_printer_info_5(PRINTER_INFO_5 *printer); void free_job_info_2(JOB_INFO_2 *job); BOOL make_spoolss_q_replyopenprinter(SPOOL_Q_REPLYOPENPRINTER *q_u, const fstring string, uint32 printer, uint32 type); -BOOL spoolss_io_q_replyopenprinter(char *desc, SPOOL_Q_REPLYOPENPRINTER *q_u, prs_struct *ps, int depth); -BOOL spoolss_io_r_replyopenprinter(char *desc, SPOOL_R_REPLYOPENPRINTER *r_u, prs_struct *ps, int depth); +BOOL spoolss_io_q_replyopenprinter(const char *desc, SPOOL_Q_REPLYOPENPRINTER *q_u, prs_struct *ps, int depth); +BOOL spoolss_io_r_replyopenprinter(const char *desc, SPOOL_R_REPLYOPENPRINTER *r_u, prs_struct *ps, int depth); BOOL make_spoolss_q_routerreplyprinter(SPOOL_Q_ROUTERREPLYPRINTER *q_u, POLICY_HND *hnd, uint32 condition, uint32 change_id); -BOOL spoolss_io_q_routerreplyprinter (char *desc, SPOOL_Q_ROUTERREPLYPRINTER *q_u, prs_struct *ps, int depth); -BOOL spoolss_io_r_routerreplyprinter (char *desc, SPOOL_R_ROUTERREPLYPRINTER *r_u, prs_struct *ps, int depth); +BOOL spoolss_io_q_routerreplyprinter (const char *desc, SPOOL_Q_ROUTERREPLYPRINTER *q_u, prs_struct *ps, int depth); +BOOL spoolss_io_r_routerreplyprinter (const char *desc, SPOOL_R_ROUTERREPLYPRINTER *r_u, prs_struct *ps, int depth); BOOL make_spoolss_q_reply_closeprinter(SPOOL_Q_REPLYCLOSEPRINTER *q_u, POLICY_HND *hnd); -BOOL spoolss_io_q_replycloseprinter(char *desc, SPOOL_Q_REPLYCLOSEPRINTER *q_u, prs_struct *ps, int depth); -BOOL spoolss_io_r_replycloseprinter(char *desc, SPOOL_R_REPLYCLOSEPRINTER *r_u, prs_struct *ps, int depth); +BOOL spoolss_io_q_replycloseprinter(const char *desc, SPOOL_Q_REPLYCLOSEPRINTER *q_u, prs_struct *ps, int depth); +BOOL spoolss_io_r_replycloseprinter(const char *desc, SPOOL_R_REPLYCLOSEPRINTER *r_u, prs_struct *ps, int depth); BOOL make_spoolss_q_reply_rrpcn(SPOOL_Q_REPLY_RRPCN *q_u, POLICY_HND *hnd, uint32 change_low, uint32 change_high, SPOOL_NOTIFY_INFO *info); -BOOL spoolss_io_q_reply_rrpcn(char *desc, SPOOL_Q_REPLY_RRPCN *q_u, prs_struct *ps, int depth); -BOOL spoolss_io_r_reply_rrpcn(char *desc, SPOOL_R_REPLY_RRPCN *r_u, prs_struct *ps, int depth); -BOOL spoolss_io_q_getprinterdataex(char *desc, SPOOL_Q_GETPRINTERDATAEX *q_u, prs_struct *ps, int depth); -BOOL spoolss_io_r_getprinterdataex(char *desc, SPOOL_R_GETPRINTERDATAEX *r_u, prs_struct *ps, int depth); -BOOL spoolss_io_q_setprinterdataex(char *desc, SPOOL_Q_SETPRINTERDATAEX *q_u, prs_struct *ps, int depth); -BOOL spoolss_io_r_setprinterdataex(char *desc, SPOOL_R_SETPRINTERDATAEX *r_u, prs_struct *ps, int depth); -BOOL spoolss_io_q_enumprinterkey(char *desc, SPOOL_Q_ENUMPRINTERKEY *q_u, prs_struct *ps, int depth); -BOOL spoolss_io_r_enumprinterkey(char *desc, SPOOL_R_ENUMPRINTERKEY *r_u, prs_struct *ps, int depth); -BOOL spoolss_io_q_enumprinterdataex(char *desc, SPOOL_Q_ENUMPRINTERDATAEX *q_u, prs_struct *ps, int depth); -BOOL spoolss_io_r_enumprinterdataex(char *desc, SPOOL_R_ENUMPRINTERDATAEX *r_u, prs_struct *ps, int depth); +BOOL spoolss_io_q_reply_rrpcn(const char *desc, SPOOL_Q_REPLY_RRPCN *q_u, prs_struct *ps, int depth); +BOOL spoolss_io_r_reply_rrpcn(const char *desc, SPOOL_R_REPLY_RRPCN *r_u, prs_struct *ps, int depth); +BOOL spoolss_io_q_getprinterdataex(const char *desc, SPOOL_Q_GETPRINTERDATAEX *q_u, prs_struct *ps, int depth); +BOOL spoolss_io_r_getprinterdataex(const char *desc, SPOOL_R_GETPRINTERDATAEX *r_u, prs_struct *ps, int depth); +BOOL spoolss_io_q_setprinterdataex(const char *desc, SPOOL_Q_SETPRINTERDATAEX *q_u, prs_struct *ps, int depth); +BOOL spoolss_io_r_setprinterdataex(const char *desc, SPOOL_R_SETPRINTERDATAEX *r_u, prs_struct *ps, int depth); +BOOL spoolss_io_q_enumprinterkey(const char *desc, SPOOL_Q_ENUMPRINTERKEY *q_u, prs_struct *ps, int depth); +BOOL spoolss_io_r_enumprinterkey(const char *desc, SPOOL_R_ENUMPRINTERKEY *r_u, prs_struct *ps, int depth); +BOOL spoolss_io_q_enumprinterdataex(const char *desc, SPOOL_Q_ENUMPRINTERDATAEX *q_u, prs_struct *ps, int depth); +BOOL spoolss_io_r_enumprinterdataex(const char *desc, SPOOL_R_ENUMPRINTERDATAEX *r_u, prs_struct *ps, int depth); BOOL make_spoolss_q_getprintprocessordirectory(SPOOL_Q_GETPRINTPROCESSORDIRECTORY *q_u, const char *name, char *environment, int level, NEW_BUFFER *buffer, uint32 offered); -BOOL spoolss_io_q_getprintprocessordirectory(char *desc, SPOOL_Q_GETPRINTPROCESSORDIRECTORY *q_u, prs_struct *ps, int depth); -BOOL spoolss_io_r_getprintprocessordirectory(char *desc, SPOOL_R_GETPRINTPROCESSORDIRECTORY *r_u, prs_struct *ps, int depth); -BOOL smb_io_printprocessordirectory_1(char *desc, NEW_BUFFER *buffer, PRINTPROCESSOR_DIRECTORY_1 *info, int depth); +BOOL spoolss_io_q_getprintprocessordirectory(const char *desc, SPOOL_Q_GETPRINTPROCESSORDIRECTORY *q_u, prs_struct *ps, int depth); +BOOL spoolss_io_r_getprintprocessordirectory(const char *desc, SPOOL_R_GETPRINTPROCESSORDIRECTORY *r_u, prs_struct *ps, int depth); +BOOL smb_io_printprocessordirectory_1(const char *desc, NEW_BUFFER *buffer, PRINTPROCESSOR_DIRECTORY_1 *info, int depth); BOOL make_spoolss_q_addform(SPOOL_Q_ADDFORM *q_u, POLICY_HND *handle, int level, FORM *form); BOOL make_spoolss_q_setform(SPOOL_Q_SETFORM *q_u, POLICY_HND *handle, @@ -3878,124 +3879,124 @@ BOOL make_spoolss_q_enumforms(SPOOL_Q_ENUMFORMS *q_u, POLICY_HND *handle, /* The following definitions come from rpc_parse/parse_srv.c */ -void init_srv_share_info1_str(SH_INFO_1_STR *sh1, char *net_name, char *remark); -void init_srv_share_info1(SH_INFO_1 *sh1, char *net_name, uint32 type, char *remark); +void init_srv_share_info1_str(SH_INFO_1_STR *sh1, const char *net_name, const char *remark); +void init_srv_share_info1(SH_INFO_1 *sh1, const char *net_name, uint32 type, const char *remark); void init_srv_share_info2_str(SH_INFO_2_STR *sh2, - char *net_name, char *remark, - char *path, char *passwd); + const char *net_name, const char *remark, + const char *path, const char *passwd); void init_srv_share_info2(SH_INFO_2 *sh2, - char *net_name, uint32 type, char *remark, + const char *net_name, uint32 type, const char *remark, uint32 perms, uint32 max_uses, uint32 num_uses, - char *path, char *passwd); -void init_srv_share_info501(SH_INFO_501 *sh501, char *net_name, uint32 type, char *remark, uint32 csc_policy); -void init_srv_share_info501_str(SH_INFO_501_STR *sh501, char *net_name, char *remark); + const char *path, const char *passwd); +void init_srv_share_info501(SH_INFO_501 *sh501, const char *net_name, uint32 type, const char *remark, uint32 csc_policy); +void init_srv_share_info501_str(SH_INFO_501_STR *sh501, const char *net_name, const char *remark); void init_srv_share_info502(SH_INFO_502 *sh502, - char *net_name, uint32 type, char *remark, + const char *net_name, uint32 type, const char *remark, uint32 perms, uint32 max_uses, uint32 num_uses, - char *path, char *passwd, SEC_DESC *psd, size_t sd_size); + const char *path, const char *passwd, SEC_DESC *psd, size_t sd_size); void init_srv_share_info502_str(SH_INFO_502_STR *sh502str, SH_INFO_502 *ptrs, - char *net_name, char *remark, - char *path, char *passwd, SEC_DESC *psd, size_t sd_size); + const char *net_name, const char *remark, + const char *path, const char *passwd, SEC_DESC *psd, size_t sd_size); void init_srv_q_net_share_enum(SRV_Q_NET_SHARE_ENUM *q_n, - char *srv_name, uint32 info_level, + const char *srv_name, uint32 info_level, uint32 preferred_len, ENUM_HND *hnd); -BOOL srv_io_q_net_share_enum(char *desc, SRV_Q_NET_SHARE_ENUM *q_n, prs_struct *ps, int depth); -BOOL srv_io_r_net_share_enum(char *desc, SRV_R_NET_SHARE_ENUM *r_n, prs_struct *ps, int depth); -BOOL srv_io_q_net_share_get_info(char *desc, SRV_Q_NET_SHARE_GET_INFO *q_n, prs_struct *ps, int depth); -BOOL srv_io_r_net_share_get_info(char *desc, SRV_R_NET_SHARE_GET_INFO *r_n, prs_struct *ps, int depth); -BOOL srv_io_q_net_share_set_info(char *desc, SRV_Q_NET_SHARE_SET_INFO *q_n, prs_struct *ps, int depth); -BOOL srv_io_r_net_share_set_info(char *desc, SRV_R_NET_SHARE_SET_INFO *q_n, prs_struct *ps, int depth); -BOOL srv_io_q_net_share_add(char *desc, SRV_Q_NET_SHARE_ADD *q_n, prs_struct *ps, int depth); -BOOL srv_io_r_net_share_add(char *desc, SRV_R_NET_SHARE_ADD *q_n, prs_struct *ps, int depth); -BOOL srv_io_q_net_share_del(char *desc, SRV_Q_NET_SHARE_DEL *q_n, prs_struct *ps, int depth); -BOOL srv_io_r_net_share_del(char *desc, SRV_R_NET_SHARE_DEL *q_n, prs_struct *ps, int depth); -void init_srv_sess_info0_str(SESS_INFO_0_STR *ss0, char *name); -void init_srv_sess_info0(SESS_INFO_0 *ss0, char *name); -void init_srv_sess_info1_str(SESS_INFO_1_STR *ss1, char *name, char *user); +BOOL srv_io_q_net_share_enum(const char *desc, SRV_Q_NET_SHARE_ENUM *q_n, prs_struct *ps, int depth); +BOOL srv_io_r_net_share_enum(const char *desc, SRV_R_NET_SHARE_ENUM *r_n, prs_struct *ps, int depth); +BOOL srv_io_q_net_share_get_info(const char *desc, SRV_Q_NET_SHARE_GET_INFO *q_n, prs_struct *ps, int depth); +BOOL srv_io_r_net_share_get_info(const char *desc, SRV_R_NET_SHARE_GET_INFO *r_n, prs_struct *ps, int depth); +BOOL srv_io_q_net_share_set_info(const char *desc, SRV_Q_NET_SHARE_SET_INFO *q_n, prs_struct *ps, int depth); +BOOL srv_io_r_net_share_set_info(const char *desc, SRV_R_NET_SHARE_SET_INFO *q_n, prs_struct *ps, int depth); +BOOL srv_io_q_net_share_add(const char *desc, SRV_Q_NET_SHARE_ADD *q_n, prs_struct *ps, int depth); +BOOL srv_io_r_net_share_add(const char *desc, SRV_R_NET_SHARE_ADD *q_n, prs_struct *ps, int depth); +BOOL srv_io_q_net_share_del(const char *desc, SRV_Q_NET_SHARE_DEL *q_n, prs_struct *ps, int depth); +BOOL srv_io_r_net_share_del(const char *desc, SRV_R_NET_SHARE_DEL *q_n, prs_struct *ps, int depth); +void init_srv_sess_info0_str(SESS_INFO_0_STR *ss0, const char *name); +void init_srv_sess_info0(SESS_INFO_0 *ss0, const char *name); +void init_srv_sess_info1_str(SESS_INFO_1_STR *ss1, const char *name, const char *user); void init_srv_sess_info1(SESS_INFO_1 *ss1, - char *name, char *user, + const char *name, const char *user, uint32 num_opens, uint32 open_time, uint32 idle_time, uint32 user_flags); void init_srv_q_net_sess_enum(SRV_Q_NET_SESS_ENUM *q_n, - char *srv_name, char *qual_name, + const char *srv_name, const char *qual_name, uint32 sess_level, SRV_SESS_INFO_CTR *ctr, uint32 preferred_len, ENUM_HND *hnd); -BOOL srv_io_q_net_sess_enum(char *desc, SRV_Q_NET_SESS_ENUM *q_n, prs_struct *ps, int depth); -BOOL srv_io_r_net_sess_enum(char *desc, SRV_R_NET_SESS_ENUM *r_n, prs_struct *ps, int depth); +BOOL srv_io_q_net_sess_enum(const char *desc, SRV_Q_NET_SESS_ENUM *q_n, prs_struct *ps, int depth); +BOOL srv_io_r_net_sess_enum(const char *desc, SRV_R_NET_SESS_ENUM *r_n, prs_struct *ps, int depth); void init_srv_conn_info0(CONN_INFO_0 *ss0, uint32 id); -void init_srv_conn_info1_str(CONN_INFO_1_STR *ss1, char *usr_name, char *net_name); +void init_srv_conn_info1_str(CONN_INFO_1_STR *ss1, const char *usr_name, const char *net_name); void init_srv_conn_info1(CONN_INFO_1 *ss1, uint32 id, uint32 type, uint32 num_opens, uint32 num_users, uint32 open_time, - char *usr_name, char *net_name); + const char *usr_name, const char *net_name); void init_srv_q_net_conn_enum(SRV_Q_NET_CONN_ENUM *q_n, - char *srv_name, char *qual_name, + const char *srv_name, const char *qual_name, uint32 conn_level, SRV_CONN_INFO_CTR *ctr, uint32 preferred_len, ENUM_HND *hnd); -BOOL srv_io_q_net_conn_enum(char *desc, SRV_Q_NET_CONN_ENUM *q_n, prs_struct *ps, int depth); -BOOL srv_io_r_net_conn_enum(char *desc, SRV_R_NET_CONN_ENUM *r_n, prs_struct *ps, int depth); -void init_srv_file_info3_str(FILE_INFO_3_STR *fi3, char *user_name, char *path_name); +BOOL srv_io_q_net_conn_enum(const char *desc, SRV_Q_NET_CONN_ENUM *q_n, prs_struct *ps, int depth); +BOOL srv_io_r_net_conn_enum(const char *desc, SRV_R_NET_CONN_ENUM *r_n, prs_struct *ps, int depth); +void init_srv_file_info3_str(FILE_INFO_3_STR *fi3, const char *user_name, const char *path_name); void init_srv_file_info3(FILE_INFO_3 *fl3, uint32 id, uint32 perms, uint32 num_locks, - char *path_name, char *user_name); + const char *path_name, const char *user_name); void init_srv_q_net_file_enum(SRV_Q_NET_FILE_ENUM *q_n, - char *srv_name, char *qual_name, + const char *srv_name, const char *qual_name, uint32 file_level, SRV_FILE_INFO_CTR *ctr, uint32 preferred_len, ENUM_HND *hnd); -BOOL srv_io_q_net_file_enum(char *desc, SRV_Q_NET_FILE_ENUM *q_n, prs_struct *ps, int depth); -BOOL srv_io_r_net_file_enum(char *desc, SRV_R_NET_FILE_ENUM *r_n, prs_struct *ps, int depth); -void init_srv_info_100(SRV_INFO_100 *sv100, uint32 platform_id, char *name); -void init_srv_info_101(SRV_INFO_101 *sv101, uint32 platform_id, char *name, +BOOL srv_io_q_net_file_enum(const char *desc, SRV_Q_NET_FILE_ENUM *q_n, prs_struct *ps, int depth); +BOOL srv_io_r_net_file_enum(const char *desc, SRV_R_NET_FILE_ENUM *r_n, prs_struct *ps, int depth); +void init_srv_info_100(SRV_INFO_100 *sv100, uint32 platform_id, const char *name); +void init_srv_info_101(SRV_INFO_101 *sv101, uint32 platform_id, const char *name, uint32 ver_major, uint32 ver_minor, - uint32 srv_type, char *comment); -void init_srv_info_102(SRV_INFO_102 *sv102, uint32 platform_id, char *name, - char *comment, uint32 ver_major, uint32 ver_minor, + uint32 srv_type, const char *comment); +void init_srv_info_102(SRV_INFO_102 *sv102, uint32 platform_id, const char *name, + const char *comment, uint32 ver_major, uint32 ver_minor, uint32 srv_type, uint32 users, uint32 disc, uint32 hidden, uint32 announce, uint32 ann_delta, uint32 licenses, - char *usr_path); + const char *usr_path); void init_srv_q_net_srv_get_info(SRV_Q_NET_SRV_GET_INFO *srv, - char *server_name, uint32 switch_value); -BOOL srv_io_q_net_srv_get_info(char *desc, SRV_Q_NET_SRV_GET_INFO *q_n, prs_struct *ps, int depth); + const char *server_name, uint32 switch_value); +BOOL srv_io_q_net_srv_get_info(const char *desc, SRV_Q_NET_SRV_GET_INFO *q_n, prs_struct *ps, int depth); void init_srv_r_net_srv_get_info(SRV_R_NET_SRV_GET_INFO *srv, uint32 switch_value, SRV_INFO_CTR *ctr, WERROR status); void init_srv_r_net_srv_set_info(SRV_R_NET_SRV_SET_INFO *srv, uint32 switch_value, WERROR status); -BOOL srv_io_q_net_srv_set_info(char *desc, SRV_Q_NET_SRV_SET_INFO *q_n, +BOOL srv_io_q_net_srv_set_info(const char *desc, SRV_Q_NET_SRV_SET_INFO *q_n, prs_struct *ps, int depth); -BOOL srv_io_r_net_srv_get_info(char *desc, SRV_R_NET_SRV_GET_INFO *r_n, prs_struct *ps, int depth); -BOOL srv_io_r_net_srv_set_info(char *desc, SRV_R_NET_SRV_SET_INFO *r_n, +BOOL srv_io_r_net_srv_get_info(const char *desc, SRV_R_NET_SRV_GET_INFO *r_n, prs_struct *ps, int depth); +BOOL srv_io_r_net_srv_set_info(const char *desc, SRV_R_NET_SRV_SET_INFO *r_n, prs_struct *ps, int depth); -BOOL srv_io_q_net_remote_tod(char *desc, SRV_Q_NET_REMOTE_TOD *q_n, prs_struct *ps, int depth); +BOOL srv_io_q_net_remote_tod(const char *desc, SRV_Q_NET_REMOTE_TOD *q_n, prs_struct *ps, int depth); void init_time_of_day_info(TIME_OF_DAY_INFO *tod, uint32 elapsedt, uint32 msecs, uint32 hours, uint32 mins, uint32 secs, uint32 hunds, uint32 zone, uint32 tintervals, uint32 day, uint32 month, uint32 year, uint32 weekday); -BOOL srv_io_r_net_remote_tod(char *desc, SRV_R_NET_REMOTE_TOD *r_n, prs_struct *ps, int depth); -BOOL srv_io_q_net_disk_enum(char *desc, SRV_Q_NET_DISK_ENUM *q_n, prs_struct *ps, int depth); -BOOL srv_io_r_net_disk_enum(char *desc, SRV_R_NET_DISK_ENUM *r_n, prs_struct *ps, int depth); -BOOL srv_io_q_net_name_validate(char *desc, SRV_Q_NET_NAME_VALIDATE *q_n, prs_struct *ps, int depth); -BOOL srv_io_r_net_name_validate(char *desc, SRV_R_NET_NAME_VALIDATE *r_n, prs_struct *ps, int depth); -BOOL srv_io_q_net_file_query_secdesc(char *desc, SRV_Q_NET_FILE_QUERY_SECDESC *q_n, prs_struct *ps, int depth); -BOOL srv_io_r_net_file_query_secdesc(char *desc, SRV_R_NET_FILE_QUERY_SECDESC *r_n, prs_struct *ps, int depth); -BOOL srv_io_q_net_file_set_secdesc(char *desc, SRV_Q_NET_FILE_SET_SECDESC *q_n, prs_struct *ps, int depth); -BOOL srv_io_r_net_file_set_secdesc(char *desc, SRV_R_NET_FILE_SET_SECDESC *r_n, prs_struct *ps, int depth); +BOOL srv_io_r_net_remote_tod(const char *desc, SRV_R_NET_REMOTE_TOD *r_n, prs_struct *ps, int depth); +BOOL srv_io_q_net_disk_enum(const char *desc, SRV_Q_NET_DISK_ENUM *q_n, prs_struct *ps, int depth); +BOOL srv_io_r_net_disk_enum(const char *desc, SRV_R_NET_DISK_ENUM *r_n, prs_struct *ps, int depth); +BOOL srv_io_q_net_name_validate(const char *desc, SRV_Q_NET_NAME_VALIDATE *q_n, prs_struct *ps, int depth); +BOOL srv_io_r_net_name_validate(const char *desc, SRV_R_NET_NAME_VALIDATE *r_n, prs_struct *ps, int depth); +BOOL srv_io_q_net_file_query_secdesc(const char *desc, SRV_Q_NET_FILE_QUERY_SECDESC *q_n, prs_struct *ps, int depth); +BOOL srv_io_r_net_file_query_secdesc(const char *desc, SRV_R_NET_FILE_QUERY_SECDESC *r_n, prs_struct *ps, int depth); +BOOL srv_io_q_net_file_set_secdesc(const char *desc, SRV_Q_NET_FILE_SET_SECDESC *q_n, prs_struct *ps, int depth); +BOOL srv_io_r_net_file_set_secdesc(const char *desc, SRV_R_NET_FILE_SET_SECDESC *r_n, prs_struct *ps, int depth); /* The following definitions come from rpc_parse/parse_wks.c */ void init_wks_q_query_info(WKS_Q_QUERY_INFO *q_u, - char *server, uint16 switch_value) ; -BOOL wks_io_q_query_info(char *desc, WKS_Q_QUERY_INFO *q_u, prs_struct *ps, int depth); + const char *server, uint16 switch_value) ; +BOOL wks_io_q_query_info(const char *desc, WKS_Q_QUERY_INFO *q_u, prs_struct *ps, int depth); void init_wks_info_100(WKS_INFO_100 *inf, uint32 platform_id, uint32 ver_major, uint32 ver_minor, - char *my_name, char *domain_name); + const char *my_name, const char *domain_name); void init_wks_r_query_info(WKS_R_QUERY_INFO *r_u, uint32 switch_value, WKS_INFO_100 *wks100, NTSTATUS status) ; -BOOL wks_io_r_query_info(char *desc, WKS_R_QUERY_INFO *r_u, prs_struct *ps, int depth); +BOOL wks_io_r_query_info(const char *desc, WKS_R_QUERY_INFO *r_u, prs_struct *ps, int depth); /* The following definitions come from rpc_server/srv_dfs.c */ @@ -4067,7 +4068,7 @@ BOOL api_pipe_bind_req(pipes_struct *p, prs_struct *rpc_in_p); BOOL api_pipe_auth_process(pipes_struct *p, prs_struct *rpc_in); struct current_user *get_current_user(struct current_user *user, pipes_struct *p); BOOL api_pipe_request(pipes_struct *p); -BOOL api_rpcTNP(pipes_struct *p, char *rpc_name, +BOOL api_rpcTNP(pipes_struct *p, const char *rpc_name, struct api_struct *api_rpc_cmds); /* The following definitions come from rpc_server/srv_pipe_hnd.c */ @@ -4156,7 +4157,7 @@ BOOL api_spoolss_rpc(pipes_struct *p); void do_drv_upgrade_printer(int msg_type, pid_t src, void *buf, size_t len); WERROR _spoolss_open_printer(pipes_struct *p, SPOOL_Q_OPEN_PRINTER *q_u, SPOOL_R_OPEN_PRINTER *r_u); WERROR _spoolss_open_printer_ex( pipes_struct *p, SPOOL_Q_OPEN_PRINTER_EX *q_u, SPOOL_R_OPEN_PRINTER_EX *r_u); -BOOL convert_devicemode(char *printername, const DEVICEMODE *devmode, +BOOL convert_devicemode(const char *printername, const DEVICEMODE *devmode, NT_DEVICEMODE **pp_nt_devmode); WERROR _spoolss_closeprinter(pipes_struct *p, SPOOL_Q_CLOSEPRINTER *q_u, SPOOL_R_CLOSEPRINTER *r_u); WERROR _spoolss_deleteprinter(pipes_struct *p, SPOOL_Q_DELETEPRINTER *q_u, SPOOL_R_DELETEPRINTER *r_u); @@ -4328,8 +4329,8 @@ void process_blocking_lock_queue(time_t t); /* The following definitions come from smbd/chgpasswd.c */ -BOOL chgpasswd(char *name, char *oldpass, char *newpass, BOOL as_root); -BOOL chgpasswd(char *name, char *oldpass, char *newpass, BOOL as_root); +BOOL chgpasswd(char *name, const char *oldpass, const char *newpass, BOOL as_root); +BOOL chgpasswd(char *name, const char *oldpass, const char *newpass, BOOL as_root); BOOL check_lanman_password(char *user, uchar * pass1, uchar * pass2, SAM_ACCOUNT **hnd); BOOL change_lanman_password(SAM_ACCOUNT *sampass, uchar * pass1, @@ -4366,8 +4367,8 @@ void msg_force_tdis(int msg_type, pid_t pid, void *buf, size_t len); /* The following definitions come from smbd/connection.c */ TDB_CONTEXT *conn_tdb_ctx(void); -BOOL yield_connection(connection_struct *conn,char *name); -BOOL claim_connection(connection_struct *conn,char *name,int max_connections,BOOL Clear); +BOOL yield_connection(connection_struct *conn,const char *name); +BOOL claim_connection(connection_struct *conn,const char *name,int max_connections,BOOL Clear); /* The following definitions come from smbd/dfree.c */ @@ -4393,13 +4394,13 @@ void *dptr_fetch_lanman2(int dptr_num); BOOL dir_check_ftype(connection_struct *conn,int mode,SMB_STRUCT_STAT *st,int dirtype); BOOL get_dir_entry(connection_struct *conn,char *mask,int dirtype,char *fname, SMB_OFF_T *size,int *mode,time_t *date,BOOL check_descend); -void *OpenDir(connection_struct *conn, char *name, BOOL use_veto); +void *OpenDir(connection_struct *conn, const char *name, BOOL use_veto); void CloseDir(void *p); char *ReadDirName(void *p); BOOL SeekDir(void *p,int pos); int TellDir(void *p); -void DirCacheAdd( char *path, char *name, char *dname, int snum ); -char *DirCacheCheck( char *path, char *name, int snum ); +void DirCacheAdd( const char *path, const char *name, const char *dname, int snum ); +char *DirCacheCheck( const char *path, const char *name, int snum ); void DirCacheFlush(int snum); /* The following definitions come from smbd/dosmode.c */ @@ -4622,9 +4623,11 @@ int reply_pipe_close(connection_struct *conn, char *inbuf,char *outbuf); /* The following definitions come from smbd/posix_acls.c */ +SMB_ACL_T free_empty_sys_acl(connection_struct *conn, SMB_ACL_T acl); size_t get_nt_acl(files_struct *fsp, SEC_DESC **ppdesc); BOOL set_nt_acl(files_struct *fsp, uint32 security_info_sent, SEC_DESC *psd); int chmod_acl(connection_struct *conn, const char *name, mode_t mode); +int inherit_access_acl(connection_struct *conn, const char *name, mode_t mode); int fchmod_acl(files_struct *fsp, int fd, mode_t mode); BOOL directory_has_default_acl(connection_struct *conn, const char *fname); @@ -4634,7 +4637,7 @@ BOOL push_oplock_pending_smb_message(char *buf, int msg_len); BOOL receive_next_smb(char *inbuf, int bufsize, int timeout); void respond_to_all_remaining_local_messages(void); void process_smb(char *inbuf, char *outbuf); -char *smb_fn_name(int type); +const char *smb_fn_name(int type); void construct_reply_common(char *inbuf,char *outbuf); int chain_reply(char *inbuf,char *outbuf,int size,int bufsize); void check_reload(int t); @@ -4736,7 +4739,7 @@ void smbd_set_server_fd(int fd); BOOL allowable_number_of_smbd_processes(void); BOOL reload_services(BOOL test); int32 increment_smbd_process_count(void); -void exit_server(char *reason); +void exit_server(const char *reason); /* The following definitions come from smbd/service.c */ @@ -5015,22 +5018,22 @@ int tdb_reopen_all(void); /* The following definitions come from tdb/tdbutil.c */ int tdb_chainlock_with_timeout( TDB_CONTEXT *tdb, TDB_DATA key, unsigned int timeout); -int tdb_lock_bystring(TDB_CONTEXT *tdb, char *keyval, unsigned int timeout); -void tdb_unlock_bystring(TDB_CONTEXT *tdb, char *keyval); -int32 tdb_fetch_int32_byblob(TDB_CONTEXT *tdb, char *keyval, size_t len); -int32 tdb_fetch_int32(TDB_CONTEXT *tdb, char *keystr); -int tdb_store_int32_byblob(TDB_CONTEXT *tdb, char *keystr, size_t len, int32 v); -int tdb_store_int32(TDB_CONTEXT *tdb, char *keystr, int32 v); -BOOL tdb_fetch_uint32_byblob(TDB_CONTEXT *tdb, char *keyval, size_t len, uint32 *value); -BOOL tdb_fetch_uint32(TDB_CONTEXT *tdb, char *keystr, uint32 *value); -BOOL tdb_store_uint32_byblob(TDB_CONTEXT *tdb, char *keystr, size_t len, uint32 value); -BOOL tdb_store_uint32(TDB_CONTEXT *tdb, char *keystr, uint32 value); -int tdb_store_by_string(TDB_CONTEXT *tdb, char *keystr, void *buffer, int len); -TDB_DATA tdb_fetch_by_string(TDB_CONTEXT *tdb, char *keystr); -int32 tdb_change_int32_atomic(TDB_CONTEXT *tdb, char *keystr, int32 *oldval, int32 change_val); +int tdb_lock_bystring(TDB_CONTEXT *tdb, const char *keyval, unsigned int timeout); +void tdb_unlock_bystring(TDB_CONTEXT *tdb, const char *keyval); +int32 tdb_fetch_int32_byblob(TDB_CONTEXT *tdb, const char *keyval, size_t len); +int32 tdb_fetch_int32(TDB_CONTEXT *tdb, const char *keystr); +int tdb_store_int32_byblob(TDB_CONTEXT *tdb, const char *keystr, size_t len, int32 v); +int tdb_store_int32(TDB_CONTEXT *tdb, const char *keystr, int32 v); +BOOL tdb_fetch_uint32_byblob(TDB_CONTEXT *tdb, const char *keyval, size_t len, uint32 *value); +BOOL tdb_fetch_uint32(TDB_CONTEXT *tdb, const char *keystr, uint32 *value); +BOOL tdb_store_uint32_byblob(TDB_CONTEXT *tdb, const char *keystr, size_t len, uint32 value); +BOOL tdb_store_uint32(TDB_CONTEXT *tdb, const char *keystr, uint32 value); +int tdb_store_by_string(TDB_CONTEXT *tdb, const char *keystr, void *buffer, int len); +TDB_DATA tdb_fetch_by_string(TDB_CONTEXT *tdb, const char *keystr); +int32 tdb_change_int32_atomic(TDB_CONTEXT *tdb, const char *keystr, int32 *oldval, int32 change_val); BOOL tdb_change_uint32_atomic(TDB_CONTEXT *tdb, char *keystr, uint32 *oldval, uint32 change_val); -size_t tdb_pack(char *buf, int bufsize, char *fmt, ...); -int tdb_unpack(char *buf, int bufsize, char *fmt, ...); +size_t tdb_pack(char *buf, int bufsize, const char *fmt, ...); +int tdb_unpack(char *buf, int bufsize, const char *fmt, ...); TDB_CONTEXT *tdb_open_log(const char *name, int hash_size, int tdb_flags, int open_flags, mode_t mode); int tdb_traverse_delete_fn(TDB_CONTEXT *the_tdb, TDB_DATA key, TDB_DATA dbuf, @@ -5057,12 +5060,12 @@ int cli_setfileinfo_test(struct cli_state *cli, int fnum, int level, char *data, /* The following definitions come from web/cgi.c */ void cgi_load_variables(FILE *f1); -char *cgi_variable(char *name); +const char *cgi_variable(const char *name); BOOL am_root(void); char *cgi_user_name(void); -void cgi_setup(char *rootdir, int auth_required); -char *cgi_baseurl(void); -char *cgi_pathinfo(void); +void cgi_setup(const char *rootdir, int auth_required); +const char *cgi_baseurl(void); +const char *cgi_pathinfo(void); char *cgi_remote_host(void); char *cgi_remote_addr(void); BOOL cgi_waspost(void); diff --git a/source/include/rpc_dce.h b/source/include/rpc_dce.h index f9ebaae0b81..0b44b3fe554 100644 --- a/source/include/rpc_dce.h +++ b/source/include/rpc_dce.h @@ -112,10 +112,10 @@ struct pipe_id_info { /* the names appear not to matter: the syntaxes _do_ matter */ - char *client_pipe; + const char *client_pipe; RPC_IFACE abstr_syntax; /* this one is the abstract syntax id */ - char *server_pipe; /* this one is the secondary syntax name */ + const char *server_pipe; /* this one is the secondary syntax name */ RPC_IFACE trans_syntax; /* this one is the primary syntax id */ }; diff --git a/source/include/smb.h b/source/include/smb.h index 613e2d06ad0..6377be7f145 100644 --- a/source/include/smb.h +++ b/source/include/smb.h @@ -727,7 +727,7 @@ enum brl_type {READ_LOCK, WRITE_LOCK, PENDING_LOCK}; struct enum_list { int value; - char *name; + const char *name; }; #define BRLOCK_FN_CAST() \ @@ -740,11 +740,11 @@ struct enum_list { br_off start, br_off size) struct parm_struct { - char *label; + const char *label; parm_type type; parm_class class; void *ptr; - BOOL (*special)(char *, char **); + BOOL (*special)(const char *, char **); struct enum_list *enum_list; unsigned flags; union { @@ -1369,7 +1369,7 @@ enum schema_types {SCHEMA_COMPAT, SCHEMA_AD, SCHEMA_SAMBA}; enum ldap_ssl_types {LDAP_SSL_ON, LDAP_SSL_OFF, LDAP_SSL_START_TLS}; /* Remote architectures we know about. */ -enum remote_arch_types {RA_UNKNOWN, RA_WFWG, RA_OS2, RA_WIN95, RA_WINNT, RA_WIN2K, RA_SAMBA}; +enum remote_arch_types {RA_UNKNOWN, RA_WFWG, RA_OS2, RA_WIN95, RA_WINNT, RA_WIN2K, RA_WINXP, RA_WIN2K3, RA_SAMBA}; /* case handling */ enum case_handling {CASE_LOWER,CASE_UPPER}; diff --git a/source/include/version.h b/source/include/version.h index 8bdb1a56ce3..b0f6d08e3d1 100644 --- a/source/include/version.h +++ b/source/include/version.h @@ -1 +1 @@ -#define VERSION "2.2.8pre2" +#define VERSION "2.2.8pre3" diff --git a/source/lib/access.c b/source/lib/access.c index 8bf3ba19337..a62d0438954 100644 --- a/source/lib/access.c +++ b/source/lib/access.c @@ -11,7 +11,7 @@ #include "includes.h" /* Delimiters for lists of daemons or clients. */ -static char *sep = ", \t"; +static const char *sep = ", \t"; #define FAIL (-1) diff --git a/source/lib/charcnv.c b/source/lib/charcnv.c index a4f90a5a10f..583744a486a 100644 --- a/source/lib/charcnv.c +++ b/source/lib/charcnv.c @@ -39,8 +39,8 @@ static void initmaps(void) { mapsinited = True; } -static void update_map(char *str) { - char *p; +static void update_map(const char *str) { + const char *p; for (p = str; *p; p++) { if (p[1]) { diff --git a/source/lib/charset.c b/source/lib/charset.c index b4da2174c09..78500c6c89c 100644 --- a/source/lib/charset.c +++ b/source/lib/charset.c @@ -376,7 +376,7 @@ for code page %d failed. Using default client codepage 850\n", /******************************************************************* add characters depending on a string passed by the user ********************************************************************/ -void add_char_string(char *s) +void add_char_string(const char *s) { char *extra_chars = (char *)strdup(s); char *t; diff --git a/source/lib/debug.c b/source/lib/debug.c index 347c644c2a0..b32a58c17cd 100644 --- a/source/lib/debug.c +++ b/source/lib/debug.c @@ -129,7 +129,7 @@ static BOOL log_overflow = False; * white space. There must be one name for each DBGC_<class name>, and they * must be in the table in the order of DBGC_<class name>.. */ -char *classname_table[] = { +const char *classname_table[] = { "all", /* DBGC_ALL; index references traditional DEBUGLEVEL */ "tdb", /* DBGC_TDB */ "printdrivers", /* DBGC_PRINTDRIVERS */ @@ -144,7 +144,7 @@ char *classname_table[] = { /**************************************************************************** utility access to debug class names's ****************************************************************************/ -char* debug_classname_from_index(int ndx) +const char* debug_classname_from_index(int ndx) { return classname_table[ndx]; } @@ -278,7 +278,7 @@ void debug_message_send(pid_t pid, int level) * get ready for syslog stuff * ************************************************************************** ** */ -void setup_logging(char *pname, BOOL interactive) +void setup_logging(const char *pname, BOOL interactive) { message_register(MSG_DEBUG, debug_message); @@ -464,7 +464,7 @@ void check_log_size( void ) * This is called by dbghdr() and format_debug_text(). * ************************************************************************** ** */ - int Debug1( char *format_str, ... ) + int Debug1( const char *format_str, ... ) { va_list ap; int old_errno = errno; @@ -662,7 +662,7 @@ void dbgflush( void ) * ************************************************************************** ** */ -BOOL dbghdr( int level, char *file, char *func, int line ) +BOOL dbghdr( int level, const char *file, const char *func, int line ) { /* Ensure we don't lose any real errno value. */ int old_errno = errno; @@ -732,7 +732,7 @@ BOOL dbghdr( int level, char *file, char *func, int line ) * * ************************************************************************** ** */ - BOOL dbgtext( char *format_str, ... ) + BOOL dbgtext( const char *format_str, ... ) { va_list ap; pstring msgbuf; diff --git a/source/lib/genrand.c b/source/lib/genrand.c index aad61d08309..009c62fcf35 100644 --- a/source/lib/genrand.c +++ b/source/lib/genrand.c @@ -102,7 +102,7 @@ static void get_random_stream(unsigned char *data, size_t datasize) Note that the hash is not initialised. *****************************************************************/ -static void do_filehash(char *fname, unsigned char *the_hash) +static void do_filehash(const char *fname, unsigned char *the_hash) { unsigned char buf[1011]; /* deliberate weird size */ unsigned char tmp_md4[16]; diff --git a/source/lib/getsmbpass.c b/source/lib/getsmbpass.c index 0874529d325..f0c24710e00 100644 --- a/source/lib/getsmbpass.c +++ b/source/lib/getsmbpass.c @@ -83,7 +83,7 @@ static int tcsetattr(int fd, int flags, struct sgttyb *t) static struct termios t; #endif /* SYSV_TERMIO */ -char *getsmbpass(char *prompt) +char *getsmbpass(const char *prompt) { FILE *in, *out; int echo_off; diff --git a/source/lib/interface.c b/source/lib/interface.c index 2e67b4a4a67..e5cbd337f1f 100644 --- a/source/lib/interface.c +++ b/source/lib/interface.c @@ -164,7 +164,7 @@ load the list of network interfaces ****************************************************************************/ void load_interfaces(void) { - char *ptr; + const char *ptr; fstring token; int i; struct iface_struct ifaces[MAX_INTERFACES]; diff --git a/source/lib/kanji.c b/source/lib/kanji.c index 940457d1681..1f7372d6b73 100644 --- a/source/lib/kanji.c +++ b/source/lib/kanji.c @@ -1528,7 +1528,7 @@ static void setup_string_function(int codes) Interpret coding system. ************************************************************************/ -void interpret_coding_system(char *str) +void interpret_coding_system(const char *str) { int codes = UNKNOWN_CODE; diff --git a/source/lib/messages.c b/source/lib/messages.c index 7e6c2a75ac6..ac6e61473a9 100644 --- a/source/lib/messages.c +++ b/source/lib/messages.c @@ -81,7 +81,7 @@ static void sig_usr1(void) void ping_message(int msg_type, pid_t src, void *buf, size_t len) { - char *msg = buf ? buf : "none"; + const char *msg = buf ? buf : "none"; DEBUG(1,("INFO: Received PING message from PID %u [%s]\n",(unsigned int)src, msg)); message_send_pid(src, MSG_PONG, buf, len, True); } diff --git a/source/lib/pidfile.c b/source/lib/pidfile.c index a856541ca89..5715afbb4f9 100644 --- a/source/lib/pidfile.c +++ b/source/lib/pidfile.c @@ -30,7 +30,7 @@ /* return the pid in a pidfile. return 0 if the process (or pidfile) does not exist */ -pid_t pidfile_pid(char *name) +pid_t pidfile_pid(const char *name) { int fd; char pidstr[20]; @@ -71,7 +71,7 @@ pid_t pidfile_pid(char *name) } /* create a pid file in the pid directory. open it and leave it locked */ -void pidfile_create(char *name) +void pidfile_create(const char *name) { int fd; char buf[20]; diff --git a/source/lib/substitute.c b/source/lib/substitute.c index 0dbd7be384f..97250bc9780 100644 --- a/source/lib/substitute.c +++ b/source/lib/substitute.c @@ -258,7 +258,7 @@ void standard_sub_basic(char *str, int len) Do some standard substitutions in a string. ****************************************************************************/ -void standard_sub_advanced(int snum, char *user, char *connectpath, gid_t gid, char *str, int len) +void standard_sub_advanced(int snum, char *user, const char *connectpath, gid_t gid, char *str, int len) { char *p, *s, *home; diff --git a/source/lib/system.c b/source/lib/system.c index a449600b21f..5145d6cfd7f 100644 --- a/source/lib/system.c +++ b/source/lib/system.c @@ -1277,7 +1277,7 @@ void *sys_dlopen(const char *name, int flags) #endif } -void *sys_dlsym(void *handle, char *symbol) +void *sys_dlsym(void *handle, const char *symbol) { #if defined(HAVE_DLSYM) return dlsym(handle, symbol); diff --git a/source/lib/username.c b/source/lib/username.c index 3cc90ee418e..263ffb57aed 100644 --- a/source/lib/username.c +++ b/source/lib/username.c @@ -451,7 +451,7 @@ BOOL user_in_group_list(char *user,char *gname) BOOL user_in_list(char *user,char *list) { pstring tok; - char *p=list; + const char *p=list; DEBUG(10,("user_in_list: checking user %s in list %s\n", user, list)); diff --git a/source/lib/util.c b/source/lib/util.c index daaa480a462..bbcbc2e60cd 100644 --- a/source/lib/util.c +++ b/source/lib/util.c @@ -92,9 +92,9 @@ char **my_netbios_names; as it may be overwritten by a subsequent call. ****************************************************************************/ -char *tmpdir(void) +const char *tmpdir(void) { - char *p; + const char *p; if ((p = getenv("TMPDIR"))) return p; return "/tmp"; @@ -122,7 +122,7 @@ BOOL in_group(gid_t group, gid_t current_gid, int ngroups, gid_t *groups) Like atoi but gets the value up to the separator character. ****************************************************************************/ -char *Atoic(char *p, int *n, char *c) +const char *Atoic(const char *p, int *n, const char *c) { if (!isdigit((int)*p)) { DEBUG(5, ("Atoic: malformed number\n")); @@ -146,7 +146,7 @@ char *Atoic(char *p, int *n, char *c) Reads a list of numbers. *************************************************************************/ -char *get_numlist(char *p, uint32 **num, int *count) +const char *get_numlist(const char *p, uint32 **num, int *count) { int val; @@ -194,7 +194,7 @@ BOOL file_exist(char *fname,SMB_STRUCT_STAT *sbuf) Check a files mod time. ********************************************************************/ -time_t file_modtime(char *fname) +time_t file_modtime(const char *fname) { SMB_STRUCT_STAT st; @@ -416,7 +416,7 @@ void unix_clean_name(char *s) /**************************************************************************** make a dir struct ****************************************************************************/ -void make_dir_struct(char *buf,char *mask,char *fname,SMB_OFF_T size,int mode,time_t date) +void make_dir_struct(char *buf,const char *mask,const char *fname,SMB_OFF_T size,int mode,time_t date) { char *p; pstring mask2; @@ -1085,7 +1085,7 @@ gid_t nametogid(char *name) /******************************************************************* something really nasty happened - panic! ********************************************************************/ -void smb_panic(char *why) +void smb_panic(const char *why) { char *cmd = lp_panic_action(); if (cmd && *cmd) { @@ -1137,7 +1137,7 @@ char *readdirname(DIR *p) of a path matches a (possibly wildcarded) entry in a namelist. ********************************************************************/ -BOOL is_in_path(char *name, name_compare_entry *namelist) +BOOL is_in_path(const char *name, name_compare_entry *namelist) { pstring last_component; char *p; @@ -1386,7 +1386,7 @@ const char* get_my_primary_ip (void) BOOL is_myname_or_ipaddr(char *s) { - char *ptr; + const char *ptr; pstring nbname; /* optimize for the common case */ @@ -1450,6 +1450,12 @@ void set_remote_arch(enum remote_arch_types type) case RA_WIN2K: fstrcpy(remote_arch, "Win2K"); return; + case RA_WINXP: + fstrcpy(remote_arch, "WinXP"); + return; + case RA_WIN2K3: + fstrcpy(remote_arch, "Win2K3"); + return; case RA_SAMBA: fstrcpy(remote_arch,"Samba"); return; @@ -1689,7 +1695,7 @@ int set_maxfiles(int requested_max) /***************************************************************** splits out the start of the key (HKLM or HKU) and the rest of the key *****************************************************************/ -BOOL reg_split_key(char *full_keyname, uint32 *reg_type, char *key_name) +BOOL reg_split_key(const char *full_keyname, uint32 *reg_type, char *key_name) { pstring tmp; @@ -1829,7 +1835,7 @@ char *myhostname(void) /***************************************************************** a useful function for returning a path in the Samba lock directory *****************************************************************/ -char *lock_path(char *name) +char *lock_path(const char *name) { static pstring fname; @@ -1918,7 +1924,7 @@ BOOL ms_has_wild(char *s) a wrapper that handles case sensitivity and the special handling of the ".." name *******************************************************************/ -BOOL mask_match(char *string, char *pattern, BOOL is_case_sensitive) +BOOL mask_match(const char *string, char *pattern, BOOL is_case_sensitive) { fstring p2, s2; if (strcmp(string,"..") == 0) string = "."; diff --git a/source/lib/util_file.c b/source/lib/util_file.c index 7ea9825ad1d..45f4f0a0b76 100644 --- a/source/lib/util_file.c +++ b/source/lib/util_file.c @@ -353,7 +353,7 @@ char *fgets_slash(char *s2,int maxlen,FILE *f) /**************************************************************************** load from a pipe into memory ****************************************************************************/ -char *file_pload(char *syscmd, size_t *size) +char *file_pload(const char *syscmd, size_t *size) { int fd, n; char *p, *tp; @@ -415,7 +415,7 @@ char *fd_load(int fd, size_t *size) /**************************************************************************** load a file into memory ****************************************************************************/ -char *file_load(char *fname, size_t *size) +char *file_load(const char *fname, size_t *size) { int fd; char *p; @@ -479,7 +479,7 @@ load a file into memory and return an array of pointers to lines in the file must be freed with file_lines_free(). If convert is true calls unix_to_dos on the list. ****************************************************************************/ -char **file_lines_load(char *fname, int *numlines, BOOL convert) +char **file_lines_load(const char *fname, int *numlines, BOOL convert) { char *p; size_t size; @@ -512,7 +512,7 @@ load a pipe into memory and return an array of pointers to lines in the data must be freed with file_lines_free(). If convert is true calls unix_to_dos on the list. ****************************************************************************/ -char **file_lines_pload(char *syscmd, int *numlines, BOOL convert) +char **file_lines_pload(const char *syscmd, int *numlines, BOOL convert) { char *p; size_t size; diff --git a/source/lib/util_sid.c b/source/lib/util_sid.c index af739a20d49..78b3960f34f 100644 --- a/source/lib/util_sid.c +++ b/source/lib/util_sid.c @@ -54,7 +54,7 @@ const DOM_SID *global_sid_everyone = &global_sid_World; typedef struct _known_sid_users { uint32 rid; enum SID_NAME_USE sid_name_use; - char *known_user_name; + const char *known_user_name; } known_sid_users; /* static known_sid_users no_users[] = {{0, 0, NULL}}; */ @@ -95,7 +95,7 @@ static known_sid_users builtin_groups[] = { static struct sid_name_map_info { DOM_SID *sid; - char *name; + const char *name; known_sid_users *known_users; } sid_name_map[MAX_SID_NAMES]; @@ -382,7 +382,8 @@ const char *sid_string_static(const DOM_SID *sid) BOOL string_to_sid(DOM_SID *sidout, const char *sidstr) { pstring tok; - char *p, *q; + char *q; + const char *p; /* BIG NOTE: this function only does SIDS where the identauth is not >= 2^32 */ uint32 ia; @@ -393,7 +394,7 @@ BOOL string_to_sid(DOM_SID *sidout, const char *sidstr) memset((char *)sidout, '\0', sizeof(DOM_SID)); - q = p = strdup(sidstr + 2); + p = q = strdup(sidstr + 2); if (p == NULL) { DEBUG(0, ("string_to_sid: out of memory!\n")); return False; diff --git a/source/lib/util_sock.c b/source/lib/util_sock.c index 7339e46626e..7fa9c18fd76 100644 --- a/source/lib/util_sock.c +++ b/source/lib/util_sock.c @@ -51,7 +51,7 @@ BOOL is_a_socket(int fd) enum SOCK_OPT_TYPES {OPT_BOOL,OPT_INT,OPT_ON}; typedef struct smb_socket_option { - char *name; + const char *name; int level; int option; int value; @@ -117,7 +117,7 @@ static void print_socket_options(int s) Set user socket options. ****************************************************************************/ -void set_socket_options(int fd, char *options) +void set_socket_options(int fd, const char *options) { fstring tok; diff --git a/source/lib/util_str.c b/source/lib/util_str.c index 215979f0179..be1588d1e4b 100644 --- a/source/lib/util_str.c +++ b/source/lib/util_str.c @@ -21,7 +21,7 @@ #include "includes.h" -static char *last_ptr=NULL; +static const char *last_ptr=NULL; void set_first_token(char *ptr) { @@ -35,9 +35,9 @@ Based on a routine by GJC@VILLAGE.COM. Extensively modified by Andrew.Tridgell@anu.edu.au ****************************************************************************/ -BOOL next_token(char **ptr,char *buff,const char *sep, size_t bufsize) +BOOL next_token(const char **ptr,char *buff,const char *sep, size_t bufsize) { - char *s; + const char *s; BOOL quoted; size_t len=1; @@ -81,9 +81,9 @@ BOOL next_token(char **ptr,char *buff,const char *sep, size_t bufsize) Convert list of tokens to array; dependent on above routine. Uses last_ptr from above - bit of a hack. ****************************************************************************/ -char **toktocliplist(int *ctok, char *sep) +char **toktocliplist(int *ctok, const char *sep) { - char *s=last_ptr; + char *s= (char *)last_ptr; int ictok=0; char **ret, **iret; @@ -322,7 +322,7 @@ BOOL strcsequal(const char *s1,const char *s2) /*************************************************************************** Do a case-insensitive, whitespace-ignoring string compare. ***************************************************************************/ -int strwicmp(char *psz1, char *psz2) +int strwicmp(const char *psz1, const char *psz2) { /* if BOTH strings are NULL, return TRUE, if ONE is NULL return */ /* appropriate value. */ @@ -1069,7 +1069,7 @@ size_t strhex_to_str(char *p, size_t len, const char *strhex) size_t i; size_t num_chars = 0; unsigned char lonybble, hinybble; - char *hexchars = "0123456789ABCDEF"; + const char *hexchars = "0123456789ABCDEF"; char *p1 = NULL, *p2 = NULL; for (i = 0; i < len && strhex[i] != 0; i++) @@ -1111,7 +1111,7 @@ check if a string is part of a list BOOL in_list(char *s,char *list,BOOL casesensitive) { pstring tok; - char *p=list; + const char *p=list; if (!list) return(False); @@ -1328,7 +1328,7 @@ void split_at_last_component(char *path, char *front, char sep, char *back) /**************************************************************************** write an octal as a string ****************************************************************************/ -char *octal_string(int i) +const char *octal_string(int i) { static char ret[64]; if (i == -1) { diff --git a/source/lib/wins_srv.c b/source/lib/wins_srv.c index 23700a026b5..1b0b8bc8e75 100644 --- a/source/lib/wins_srv.c +++ b/source/lib/wins_srv.c @@ -105,7 +105,7 @@ static ubi_slNewList( wins_srv_list ); */ -BOOL wins_srv_load_list( char *src ) +BOOL wins_srv_load_list( const char *src ) /* ------------------------------------------------------------------------ ** * Create or recreate the linked list of failover WINS servers. * @@ -123,7 +123,7 @@ BOOL wins_srv_load_list( char *src ) */ { list_entry *entry; - char *p = src; + const char *p = src; pstring wins_id_bufr; unsigned long count; diff --git a/source/libsmb/cli_pipe_util.c b/source/libsmb/cli_pipe_util.c index 9521d817fa5..fee4b491047 100644 --- a/source/libsmb/cli_pipe_util.c +++ b/source/libsmb/cli_pipe_util.c @@ -24,7 +24,7 @@ /* Opens a SMB connection to a named pipe */ struct cli_state *cli_pipe_initialise(struct cli_state *cli, char *system_name, - char *pipe_name, + const char *pipe_name, struct ntuser_creds *creds) { struct in_addr dest_ip; diff --git a/source/libsmb/cli_samr.c b/source/libsmb/cli_samr.c index 1f14da4206c..59a567c1317 100644 --- a/source/libsmb/cli_samr.c +++ b/source/libsmb/cli_samr.c @@ -994,7 +994,7 @@ NTSTATUS cli_samr_lookup_rids(struct cli_state *cli, TALLOC_CTX *mem_ctx, NTSTATUS cli_samr_lookup_names(struct cli_state *cli, TALLOC_CTX *mem_ctx, POLICY_HND *domain_pol, uint32 flags, - uint32 num_names, char **names, + uint32 num_names, const char **names, uint32 *num_rids, uint32 **rids, uint32 **rid_types) { diff --git a/source/libsmb/cli_spoolss.c b/source/libsmb/cli_spoolss.c index c56ecf05f80..684c55ed757 100644 --- a/source/libsmb/cli_spoolss.c +++ b/source/libsmb/cli_spoolss.c @@ -280,7 +280,7 @@ static void decode_printerdriverdir_1 (TALLOC_CTX *mem_ctx, NEW_BUFFER *buffer, ********************************************************************************/ WERROR cli_spoolss_open_printer_ex(struct cli_state *cli, TALLOC_CTX *mem_ctx, - char *printername, char *datatype, uint32 access_required, + char *printername, const char *datatype, uint32 access_required, char *station, char *username, POLICY_HND *pol) { prs_struct qbuf, rbuf; @@ -728,7 +728,7 @@ WERROR cli_spoolss_getprinterdriver(struct cli_state *cli, TALLOC_CTX *mem_ctx, uint32 offered, uint32 *needed, POLICY_HND *pol, uint32 level, - char *env, PRINTER_DRIVER_CTR *ctr) + const char *env, PRINTER_DRIVER_CTR *ctr) { prs_struct qbuf, rbuf; SPOOL_Q_GETPRINTERDRIVER2 q; @@ -804,7 +804,7 @@ WERROR cli_spoolss_getprinterdriver(struct cli_state *cli, WERROR cli_spoolss_enumprinterdrivers (struct cli_state *cli, TALLOC_CTX *mem_ctx, uint32 offered, uint32 *needed, - uint32 level, char *env, + uint32 level, const char *env, uint32 *num_drivers, PRINTER_DRIVER_CTR *ctr) { @@ -1067,7 +1067,7 @@ WERROR cli_spoolss_addprinterex (struct cli_state *cli, TALLOC_CTX *mem_ctx, * the driver files */ WERROR cli_spoolss_deleteprinterdriver (struct cli_state *cli, - TALLOC_CTX *mem_ctx, char *arch, + TALLOC_CTX *mem_ctx, const char *arch, char *driver) { prs_struct qbuf, rbuf; diff --git a/source/libsmb/cliconnect.c b/source/libsmb/cliconnect.c index 0da6b03dcd5..a16dc1093b2 100644 --- a/source/libsmb/cliconnect.c +++ b/source/libsmb/cliconnect.c @@ -43,8 +43,8 @@ static const struct { Do an old lanman2 style session setup. ****************************************************************************/ -static BOOL cli_session_setup_lanman2(struct cli_state *cli, char *user, - char *pass, int passlen) +static BOOL cli_session_setup_lanman2(struct cli_state *cli, const char *user, + const char *pass, int passlen) { fstring pword; char *p; @@ -184,8 +184,8 @@ static BOOL cli_session_setup_guest(struct cli_state *cli) Do a NT1 plaintext session setup. ****************************************************************************/ -static BOOL cli_session_setup_plaintext(struct cli_state *cli, char *user, - char *pass, char *workgroup) +static BOOL cli_session_setup_plaintext(struct cli_state *cli, const char *user, + const char *pass, const char *workgroup) { uint32 capabilities = cli_session_setup_capabilities(cli); fstring pword; @@ -240,10 +240,10 @@ static BOOL cli_session_setup_plaintext(struct cli_state *cli, char *user, Do a NT1 NTLM/LM encrypted session setup. ****************************************************************************/ -static BOOL cli_session_setup_nt1(struct cli_state *cli, char *user, - char *pass, int passlen, - char *ntpass, int ntpasslen, - char *workgroup) +static BOOL cli_session_setup_nt1(struct cli_state *cli, const char *user, + const char *pass, int passlen, + const char *ntpass, int ntpasslen, + const char *workgroup) { uint32 capabilities = cli_session_setup_capabilities(cli); fstring pword, ntpword; @@ -320,10 +320,10 @@ static BOOL cli_session_setup_nt1(struct cli_state *cli, char *user, ****************************************************************************/ BOOL cli_session_setup(struct cli_state *cli, - char *user, - char *pass, int passlen, - char *ntpass, int ntpasslen, - char *workgroup) + const char *user, + const char *pass, int passlen, + const char *ntpass, int ntpasslen, + const char *workgroup) { char *p; fstring user2; @@ -431,13 +431,8 @@ BOOL cli_send_tconX(struct cli_state *cli, } } - if (cli->port == 445) { - slprintf(fullshare, sizeof(fullshare)-1, - "%s", share); - } else { - slprintf(fullshare, sizeof(fullshare)-1, - "\\\\%s\\%s", cli->desthost, share); - } + slprintf(fullshare, sizeof(fullshare)-1, + "\\\\%s\\%s", cli->desthost, share); set_message(cli->outbuf,4, 0, True); SCVAL(cli->outbuf,smb_com,SMBtconX); @@ -799,9 +794,9 @@ BOOL cli_connect(struct cli_state *cli, const char *host, struct in_addr *ip) ****************************************************************************/ BOOL cli_establish_connection(struct cli_state *cli, - char *dest_host, struct in_addr *dest_ip, + const char *dest_host, struct in_addr *dest_ip, struct nmb_name *calling, struct nmb_name *called, - char *service, char *service_type, + const char *service, const char *service_type, BOOL do_shutdown, BOOL do_tcon) { DEBUG(5,("cli_establish_connection: %s connecting to %s (%s) - %s [%s]\n", @@ -918,8 +913,8 @@ BOOL cli_establish_connection(struct cli_state *cli, Initialise client credentials for authenticated pipe access. ****************************************************************************/ -static void init_creds(struct ntuser_creds *creds, char* username, - char* domain, char* password, int pass_len) +static void init_creds(struct ntuser_creds *creds, const char* username, + const char* domain, const char* password, int pass_len) { ZERO_STRUCTP(creds); @@ -940,9 +935,9 @@ static void init_creds(struct ntuser_creds *creds, char* username, NTSTATUS cli_full_connection(struct cli_state **output_cli, const char *my_name, const char *dest_host, struct in_addr *dest_ip, int port, - char *service, char *service_type, - char *user, char *domain, - char *password, int pass_len) + const char *service, const char *service_type, + const char *user, const char *domain, + const char *password, int pass_len) { struct ntuser_creds creds; NTSTATUS nt_status; @@ -1015,7 +1010,7 @@ again: if (service) { if (!cli_send_tconX(cli, service, service_type, - (char*)password, pass_len)) { + password, pass_len)) { DEBUG(1,("failed tcon_X\n")); nt_status = cli_nt_error(cli); cli_shutdown(cli); @@ -1036,7 +1031,7 @@ again: Attempt a NetBIOS session request, falling back to *SMBSERVER if needed. ****************************************************************************/ -BOOL attempt_netbios_session_request(struct cli_state *cli, char *srchost, char *desthost, +BOOL attempt_netbios_session_request(struct cli_state *cli, const char *srchost, const char *desthost, struct in_addr *pdest_ip) { struct nmb_name calling, called; diff --git a/source/libsmb/clidgram.c b/source/libsmb/clidgram.c index c21c4263f5a..2511c787ca6 100644 --- a/source/libsmb/clidgram.c +++ b/source/libsmb/clidgram.c @@ -29,7 +29,7 @@ * cli_send_mailslot, send a mailslot for client code ... */ -int cli_send_mailslot(int dgram_sock, BOOL unique, char *mailslot, +int cli_send_mailslot(int dgram_sock, BOOL unique, const char *mailslot, char *buf, int len, const char *srcname, int src_type, const char *dstname, int dest_type, @@ -105,7 +105,7 @@ int cli_send_mailslot(int dgram_sock, BOOL unique, char *mailslot, /* * cli_get_response: Get a response ... */ -int cli_get_response(int dgram_sock, BOOL unique, char *mailslot, char *buf, int bufsiz) +int cli_get_response(int dgram_sock, BOOL unique, const char *mailslot, char *buf, int bufsiz) { struct packet_struct *packet; diff --git a/source/libsmb/clierror.c b/source/libsmb/clierror.c index 30a4344555e..a01f74d2914 100644 --- a/source/libsmb/clierror.c +++ b/source/libsmb/clierror.c @@ -30,7 +30,7 @@ static const struct { int err; - char *message; + const char *message; } rap_errmap[] = { {5, "RAP5: User has insufficient privilege" }, {50, "RAP50: Not supported by server" }, @@ -58,7 +58,7 @@ static const struct /**************************************************************************** return a description of an SMB error ****************************************************************************/ -static char *cli_smb_errstr(struct cli_state *cli) +static const char *cli_smb_errstr(struct cli_state *cli) { return smb_dos_errstr(cli->inbuf); } @@ -69,7 +69,7 @@ static char *cli_smb_errstr(struct cli_state *cli) in which case they can be safely ignored. ****************************************************************************/ -char *cli_errstr(struct cli_state *cli) +const char *cli_errstr(struct cli_state *cli) { static fstring cli_error_message; uint32 flgs2 = SVAL(cli->inbuf,smb_flg2), errnum; diff --git a/source/libsmb/clifile.c b/source/libsmb/clifile.c index cce36613b74..f74758b4f02 100644 --- a/source/libsmb/clifile.c +++ b/source/libsmb/clifile.c @@ -30,8 +30,8 @@ static BOOL cli_link_internal(struct cli_state *cli, const char *fname_src, const char *fname_dst, BOOL hard_link) { - int data_len = 0; - int param_len = 0; + unsigned int data_len = 0; + unsigned int param_len = 0; uint16 setup = TRANSACT2_SETPATHINFO; char param[sizeof(pstring)+6]; pstring data; @@ -124,8 +124,8 @@ BOOL cli_unix_hardlink(struct cli_state *cli, const char *fname_src, const char static BOOL cli_unix_chmod_chown_internal(struct cli_state *cli, const char *fname, uint32 mode, uint32 uid, uint32 gid) { - int data_len = 0; - int param_len = 0; + unsigned int data_len = 0; + unsigned int param_len = 0; uint16 setup = TRANSACT2_SETPATHINFO; char param[sizeof(pstring)+6]; char data[100]; @@ -336,8 +336,8 @@ BOOL cli_rmdir(struct cli_state *cli, const char *dname) int cli_nt_delete_on_close(struct cli_state *cli, int fnum, BOOL flag) { - int data_len = 1; - int param_len = 6; + unsigned int data_len = 1; + unsigned int param_len = 6; uint16 setup = TRANSACT2_SETFILEINFO; pstring param; unsigned char data; @@ -802,11 +802,11 @@ BOOL cli_unlock64(struct cli_state *cli, int fnum, SMB_BIG_UINT offset, SMB_BIG_ } /**************************************************************************** - Do a SMBgetattrE call. + Do a SMBgetattrE call. The size is 32 bits. ****************************************************************************/ BOOL cli_getattrE(struct cli_state *cli, int fd, - uint16 *attr, size_t *size, + uint16 *attr, SMB_BIG_UINT *size, time_t *c_time, time_t *a_time, time_t *m_time) { memset(cli->outbuf,'\0',smb_size); diff --git a/source/libsmb/clilist.c b/source/libsmb/clilist.c index d95e347642e..5707963e191 100644 --- a/source/libsmb/clilist.c +++ b/source/libsmb/clilist.c @@ -152,7 +152,7 @@ int cli_list_new(struct cli_state *cli,const char *Mask,uint16 attribute, int ff_dir_handle=0; int loop_count = 0; char *rparam=NULL, *rdata=NULL; - int param_len, data_len; + unsigned int param_len, data_len; uint16 setup; pstring param; diff --git a/source/libsmb/cliprint.c b/source/libsmb/cliprint.c index 57e2c049d8f..6785170ceed 100644 --- a/source/libsmb/cliprint.c +++ b/source/libsmb/cliprint.c @@ -28,7 +28,7 @@ This function contains code to prevent core dumps if the server returns invalid data. *****************************************************************************/ -static char *fix_char_ptr(unsigned int datap, unsigned int converter, +static const char *fix_char_ptr(unsigned int datap, unsigned int converter, char *rdata, int rdrcnt) { if (datap == 0) { /* turn NULL pointers into zero length strings */ diff --git a/source/libsmb/clirap.c b/source/libsmb/clirap.c index e0e5bc0c1f8..bea3939565f 100644 --- a/source/libsmb/clirap.c +++ b/source/libsmb/clirap.c @@ -27,7 +27,7 @@ /**************************************************************************** Call a remote api on an arbitrary pipe. takes param, data and setup buffers. ****************************************************************************/ -BOOL cli_api_pipe(struct cli_state *cli, char *pipe_name, +BOOL cli_api_pipe(struct cli_state *cli, const char *pipe_name, uint16 *setup, uint32 setup_count, uint32 max_setup_count, char *params, uint32 param_count, uint32 max_param_count, char *data, uint32 data_count, uint32 max_data_count, @@ -42,8 +42,8 @@ BOOL cli_api_pipe(struct cli_state *cli, char *pipe_name, data, data_count, max_data_count); return (cli_receive_trans(cli, SMBtrans, - rparam, (int *)rparam_count, - rdata, (int *)rdata_count)); + rparam, (unsigned int *)rparam_count, + rdata, (unsigned int *)rdata_count)); } /**************************************************************************** @@ -52,8 +52,8 @@ call a remote api BOOL cli_api(struct cli_state *cli, char *param, int prcnt, int mprcnt, char *data, int drcnt, int mdrcnt, - char **rparam, int *rprcnt, - char **rdata, int *rdrcnt) + char **rparam, unsigned int *rprcnt, + char **rdata, unsigned int *rdrcnt) { cli_send_trans(cli,SMBtrans, PIPE_LANMAN, /* Name */ @@ -176,7 +176,7 @@ int cli_RNetShareEnum(struct cli_state *cli, void (*fn)(const char *, uint32, co char *sname = p; int type = SVAL(p,14); int comment_offset = IVAL(p,16) & 0xFFFF; - char *cmnt = comment_offset?(rdata+comment_offset-converter):""; + const char *cmnt = comment_offset?(rdata+comment_offset-converter):""; pstring s1, s2; pstrcpy(s1, dos_to_unix_static(sname)); @@ -254,7 +254,7 @@ BOOL cli_NetServerEnum(struct cli_state *cli, char *workgroup, uint32 stype, for (i = 0;i < count;i++, p += 26) { char *sname = p; int comment_offset = (IVAL(p,22) & 0xFFFF)-converter; - char *cmnt = comment_offset?(rdata+comment_offset):""; + const char *cmnt = comment_offset?(rdata+comment_offset):""; pstring s1, s2; if (comment_offset < 0 || comment_offset > rdrcnt) continue; @@ -289,8 +289,8 @@ BOOL cli_oem_change_password(struct cli_state *cli, const char *user, const char fstring upper_case_new_pw; unsigned char old_pw_hash[16]; unsigned char new_pw_hash[16]; - int data_len; - int param_len = 0; + unsigned int data_len; + unsigned int param_len = 0; char *rparam = NULL; char *rdata = NULL; int rprcnt, rdrcnt; @@ -372,8 +372,8 @@ BOOL cli_qpathinfo(struct cli_state *cli, const char *fname, time_t *c_time, time_t *a_time, time_t *m_time, size_t *size, uint16 *mode) { - int data_len = 0; - int param_len = 0; + unsigned int data_len = 0; + unsigned int param_len = 0; uint16 setup = TRANSACT2_QPATHINFO; pstring param; char *rparam=NULL, *rdata=NULL; @@ -451,8 +451,8 @@ BOOL cli_qpathinfo2(struct cli_state *cli, const char *fname, time_t *w_time, size_t *size, uint16 *mode, SMB_INO_T *ino) { - int data_len = 0; - int param_len = 0; + unsigned int data_len = 0; + unsigned int param_len = 0; uint16 setup = TRANSACT2_QPATHINFO; pstring param; char *rparam=NULL, *rdata=NULL; @@ -522,8 +522,8 @@ BOOL cli_qfileinfo(struct cli_state *cli, int fnum, time_t *c_time, time_t *a_time, time_t *m_time, time_t *w_time, SMB_INO_T *ino) { - int data_len = 0; - int param_len = 0; + unsigned int data_len = 0; + unsigned int param_len = 0; uint16 setup = TRANSACT2_QFILEINFO; pstring param; char *rparam=NULL, *rdata=NULL; @@ -590,8 +590,8 @@ send a qfileinfo call ****************************************************************************/ BOOL cli_qfileinfo_test(struct cli_state *cli, int fnum, int level, char *outdata) { - int data_len = 0; - int param_len = 0; + unsigned int data_len = 0; + unsigned int param_len = 0; uint16 setup = TRANSACT2_QFILEINFO; pstring param; char *rparam=NULL, *rdata=NULL; @@ -635,8 +635,8 @@ BOOL cli_qfileinfo_test(struct cli_state *cli, int fnum, int level, char *outdat NTSTATUS cli_qpathinfo_alt_name(struct cli_state *cli, const char *fname, fstring alt_name) { - int data_len = 0; - int param_len = 0; + unsigned int data_len = 0; + unsigned int param_len = 0; uint16 setup = TRANSACT2_QPATHINFO; pstring param; char *rparam=NULL, *rdata=NULL; diff --git a/source/libsmb/clitrans.c b/source/libsmb/clitrans.c index bd8647421b2..7d91fa08bbd 100644 --- a/source/libsmb/clitrans.c +++ b/source/libsmb/clitrans.c @@ -25,18 +25,19 @@ /**************************************************************************** - send a SMB trans or trans2 request - ****************************************************************************/ + Send a SMB trans or trans2 request. +****************************************************************************/ + BOOL cli_send_trans(struct cli_state *cli, int trans, const char *pipe_name, int fid, int flags, - uint16 *setup, int lsetup, int msetup, - char *param, int lparam, int mparam, - char *data, int ldata, int mdata) + uint16 *setup, unsigned int lsetup, unsigned int msetup, + char *param, unsigned int lparam, unsigned int mparam, + char *data, unsigned int ldata, unsigned int mdata) { int i; - int this_ldata,this_lparam; - int tot_data=0,tot_param=0; + unsigned int this_ldata,this_lparam; + unsigned int tot_data=0,tot_param=0; char *outdata,*outparam; char *p; int pipe_name_len=0; @@ -84,14 +85,13 @@ BOOL cli_send_trans(struct cli_state *cli, int trans, cli_setup_bcc(cli, outdata+this_ldata); show_msg(cli->outbuf); - cli_send_smb(cli); + if (!cli_send_smb(cli)) + return False; if (this_ldata < ldata || this_lparam < lparam) { /* receive interim response */ - if (!cli_receive_smb(cli) || - cli_is_error(cli)) { + if (!cli_receive_smb(cli) || cli_is_error(cli)) return(False); - } tot_data = this_ldata; tot_param = this_lparam; @@ -124,7 +124,8 @@ BOOL cli_send_trans(struct cli_state *cli, int trans, cli_setup_bcc(cli, outdata+this_ldata); show_msg(cli->outbuf); - cli_send_smb(cli); + if (!cli_send_smb(cli)) + return False; tot_data += this_ldata; tot_param += this_lparam; @@ -134,17 +135,17 @@ BOOL cli_send_trans(struct cli_state *cli, int trans, return(True); } - /**************************************************************************** - receive a SMB trans or trans2 response allocating the necessary memory - ****************************************************************************/ + Receive a SMB trans or trans2 response allocating the necessary memory. +****************************************************************************/ + BOOL cli_receive_trans(struct cli_state *cli,int trans, - char **param, int *param_len, - char **data, int *data_len) + char **param, unsigned int *param_len, + char **data, unsigned int *data_len) { - int total_data=0; - int total_param=0; - int this_data,this_param; + unsigned int total_data=0; + unsigned int total_param=0; + unsigned int this_data,this_param; NTSTATUS status; char *tdata; char *tparam; @@ -171,9 +172,8 @@ BOOL cli_receive_trans(struct cli_state *cli,int trans, */ status = cli_nt_error(cli); - if (NT_STATUS_IS_ERR(status)) { + if (NT_STATUS_IS_ERR(status)) return False; - } /* parse out the lengths */ total_data = SVAL(cli->inbuf,smb_tdrcnt); @@ -200,7 +200,7 @@ BOOL cli_receive_trans(struct cli_state *cli,int trans, *param = tparam; } - while (1) { + for (;;) { this_data = SVAL(cli->inbuf,smb_drcnt); this_param = SVAL(cli->inbuf,smb_prcnt); @@ -210,21 +210,59 @@ BOOL cli_receive_trans(struct cli_state *cli,int trans, return False; } - if (this_data) - memcpy(*data + SVAL(cli->inbuf,smb_drdisp), - smb_base(cli->inbuf) + SVAL(cli->inbuf,smb_droff), - this_data); - if (this_param) - memcpy(*param + SVAL(cli->inbuf,smb_prdisp), - smb_base(cli->inbuf) + SVAL(cli->inbuf,smb_proff), - this_param); + if (this_data + *data_len < this_data || + this_data + *data_len < *data_len || + this_param + *param_len < this_param || + this_param + *param_len < *param_len) { + DEBUG(1,("Data overflow in cli_receive_trans\n")); + return False; + } + + if (this_data) { + unsigned int data_offset_out = SVAL(cli->inbuf,smb_drdisp); + unsigned int data_offset_in = SVAL(cli->inbuf,smb_droff); + + if (data_offset_out > total_data || + data_offset_out + this_data > total_data || + data_offset_out + this_data < data_offset_out || + data_offset_out + this_data < this_data) { + DEBUG(1,("Data overflow in cli_receive_trans\n")); + return False; + } + if (data_offset_in > cli->bufsize || + data_offset_in + this_data > cli->bufsize || + data_offset_in + this_data < data_offset_in || + data_offset_in + this_data < this_data) { + DEBUG(1,("Data overflow in cli_receive_trans\n")); + return False; + } + + memcpy(*data + data_offset_out, smb_base(cli->inbuf) + data_offset_in, this_data); + } + if (this_param) { + unsigned int param_offset_out = SVAL(cli->inbuf,smb_prdisp); + unsigned int param_offset_in = SVAL(cli->inbuf,smb_proff); + + if (param_offset_out > total_param || + param_offset_out + this_param > total_param || + param_offset_out + this_param < param_offset_out || + param_offset_out + this_param < this_param) { + DEBUG(1,("Param overflow in cli_receive_trans\n")); + return False; + } + if (param_offset_in > cli->bufsize || + param_offset_in + this_param > cli->bufsize || + param_offset_in + this_param < param_offset_in || + param_offset_in + this_param < this_param) { + DEBUG(1,("Param overflow in cli_receive_trans\n")); + return False; + } + + memcpy(*param + param_offset_out, smb_base(cli->inbuf) + param_offset_in, this_param); + } *data_len += this_data; *param_len += this_param; - /* parse out the total lengths again - they can shrink! */ - total_data = SVAL(cli->inbuf,smb_tdrcnt); - total_param = SVAL(cli->inbuf,smb_tprcnt); - if (total_data <= *data_len && total_param <= *param_len) break; @@ -243,27 +281,35 @@ BOOL cli_receive_trans(struct cli_state *cli,int trans, if (NT_STATUS_IS_ERR(cli_nt_error(cli))) { return(False); } + + /* parse out the total lengths again - they can shrink! */ + if (SVAL(cli->inbuf,smb_tdrcnt) < total_data) + total_data = SVAL(cli->inbuf,smb_tdrcnt); + if (SVAL(cli->inbuf,smb_tprcnt) < total_param) + total_param = SVAL(cli->inbuf,smb_tprcnt); + + if (total_data <= *data_len && total_param <= *param_len) + break; + } return(True); } - - - /**************************************************************************** - send a SMB nttrans request - ****************************************************************************/ + Send a SMB nttrans request. +****************************************************************************/ + BOOL cli_send_nt_trans(struct cli_state *cli, int function, int flags, - uint16 *setup, int lsetup, int msetup, - char *param, int lparam, int mparam, - char *data, int ldata, int mdata) + uint16 *setup, unsigned int lsetup, unsigned int msetup, + char *param, unsigned int lparam, unsigned int mparam, + char *data, unsigned int ldata, unsigned int mdata) { - int i; - int this_ldata,this_lparam; - int tot_data=0,tot_param=0; + unsigned int i; + unsigned int this_ldata,this_lparam; + unsigned int tot_data=0,tot_param=0; char *outdata,*outparam; this_lparam = MIN(lparam,cli->max_xmit - (500+lsetup*2)); /* hack */ @@ -302,14 +348,13 @@ BOOL cli_send_nt_trans(struct cli_state *cli, cli_setup_bcc(cli, outdata+this_ldata); show_msg(cli->outbuf); - cli_send_smb(cli); + if (!cli_send_smb(cli)) + return False; if (this_ldata < ldata || this_lparam < lparam) { /* receive interim response */ - if (!cli_receive_smb(cli) || - cli_is_error(cli)) { + if (!cli_receive_smb(cli) || cli_is_error(cli)) return(False); - } tot_data = this_ldata; tot_param = this_lparam; @@ -341,7 +386,8 @@ BOOL cli_send_nt_trans(struct cli_state *cli, cli_setup_bcc(cli, outdata+this_ldata); show_msg(cli->outbuf); - cli_send_smb(cli); + if (!cli_send_smb(cli)) + return False; tot_data += this_ldata; tot_param += this_lparam; @@ -356,13 +402,14 @@ BOOL cli_send_nt_trans(struct cli_state *cli, /**************************************************************************** receive a SMB nttrans response allocating the necessary memory ****************************************************************************/ + BOOL cli_receive_nt_trans(struct cli_state *cli, - char **param, int *param_len, - char **data, int *data_len) + char **param, unsigned int *param_len, + char **data, unsigned int *data_len) { - int total_data=0; - int total_param=0; - int this_data,this_param; + unsigned int total_data=0; + unsigned int total_param=0; + unsigned int this_data,this_param; uint8 eclass; uint32 ecode; char *tdata; @@ -424,25 +471,65 @@ BOOL cli_receive_nt_trans(struct cli_state *cli, if (this_data + *data_len > total_data || this_param + *param_len > total_param) { - DEBUG(1,("Data overflow in cli_receive_trans\n")); + DEBUG(1,("Data overflow in cli_receive_nt_trans\n")); + return False; + } + + if (this_data + *data_len < this_data || + this_data + *data_len < *data_len || + this_param + *param_len < this_param || + this_param + *param_len < *param_len) { + DEBUG(1,("Data overflow in cli_receive_nt_trans\n")); return False; } - if (this_data) - memcpy(*data + SVAL(cli->inbuf,smb_ntr_DataDisplacement), - smb_base(cli->inbuf) + SVAL(cli->inbuf,smb_ntr_DataOffset), - this_data); - if (this_param) - memcpy(*param + SVAL(cli->inbuf,smb_ntr_ParameterDisplacement), - smb_base(cli->inbuf) + SVAL(cli->inbuf,smb_ntr_ParameterOffset), - this_param); + if (this_data) { + unsigned int data_offset_out = SVAL(cli->inbuf,smb_ntr_DataDisplacement); + unsigned int data_offset_in = SVAL(cli->inbuf,smb_ntr_DataOffset); + + if (data_offset_out > total_data || + data_offset_out + this_data > total_data || + data_offset_out + this_data < data_offset_out || + data_offset_out + this_data < this_data) { + DEBUG(1,("Data overflow in cli_receive_nt_trans\n")); + return False; + } + if (data_offset_in > cli->bufsize || + data_offset_in + this_data > cli->bufsize || + data_offset_in + this_data < data_offset_in || + data_offset_in + this_data < this_data) { + DEBUG(1,("Data overflow in cli_receive_nt_trans\n")); + return False; + } + + memcpy(*data + data_offset_out, smb_base(cli->inbuf) + data_offset_in, this_data); + } + + if (this_param) { + unsigned int param_offset_out = SVAL(cli->inbuf,smb_ntr_ParameterDisplacement); + unsigned int param_offset_in = SVAL(cli->inbuf,smb_ntr_ParameterOffset); + + if (param_offset_out > total_param || + param_offset_out + this_param > total_param || + param_offset_out + this_param < param_offset_out || + param_offset_out + this_param < this_param) { + DEBUG(1,("Param overflow in cli_receive_nt_trans\n")); + return False; + } + if (param_offset_in > cli->bufsize || + param_offset_in + this_param > cli->bufsize || + param_offset_in + this_param < param_offset_in || + param_offset_in + this_param < this_param) { + DEBUG(1,("Param overflow in cli_receive_nt_trans\n")); + return False; + } + + memcpy(*param + param_offset_out, smb_base(cli->inbuf) + param_offset_in, this_param); + } + *data_len += this_data; *param_len += this_param; - /* parse out the total lengths again - they can shrink! */ - total_data = SVAL(cli->inbuf,smb_ntr_TotalDataCount); - total_param = SVAL(cli->inbuf,smb_ntr_TotalParameterCount); - if (total_data <= *data_len && total_param <= *param_len) break; @@ -463,6 +550,14 @@ BOOL cli_receive_nt_trans(struct cli_state *cli, !(eclass == ERRDOS && ecode == ERRmoredata)) return(False); } + /* parse out the total lengths again - they can shrink! */ + if (SVAL(cli->inbuf,smb_ntr_TotalDataCount) < total_data) + total_data = SVAL(cli->inbuf,smb_ntr_TotalDataCount); + if (SVAL(cli->inbuf,smb_ntr_TotalParameterCount) < total_param) + total_param = SVAL(cli->inbuf,smb_ntr_TotalParameterCount); + + if (total_data <= *data_len && total_param <= *param_len) + break; } return(True); diff --git a/source/libsmb/doserr.c b/source/libsmb/doserr.c index 116a54e76fd..a28721308bd 100644 --- a/source/libsmb/doserr.c +++ b/source/libsmb/doserr.c @@ -24,7 +24,7 @@ typedef const struct { - char *dos_errstr; + const char *dos_errstr; WERROR werror; } werror_code_struct; @@ -72,7 +72,8 @@ werror_code_struct dos_errs[] = /***************************************************************************** returns a DOS error message. not amazingly helpful, but better than a number. *****************************************************************************/ -char *dos_errstr(WERROR werror) + +const char *dos_errstr(WERROR werror) { static pstring msg; int idx = 0; diff --git a/source/libsmb/namecache.c b/source/libsmb/namecache.c index 2252e8e59ce..6ab20e42741 100644 --- a/source/libsmb/namecache.c +++ b/source/libsmb/namecache.c @@ -161,7 +161,7 @@ BOOL namecache_fetch(const char *name, int name_type, struct in_addr **ip_list, int *num_names) { TDB_DATA key, value; - struct nc_value *data; + struct nc_value *data = NULL; time_t now; int i; @@ -196,6 +196,7 @@ BOOL namecache_fetch(const char *name, int name_type, struct in_addr **ip_list, tdb_delete(namecache_tdb, key); + SAFE_FREE(value.dptr); value = tdb_null; goto done; @@ -210,6 +211,7 @@ BOOL namecache_fetch(const char *name, int name_type, struct in_addr **ip_list, tdb_delete(namecache_tdb, key); + SAFE_FREE(value.dptr); value = tdb_null; goto done; diff --git a/source/libsmb/namequery.c b/source/libsmb/namequery.c index e880e385a04..7ce8486b150 100644 --- a/source/libsmb/namequery.c +++ b/source/libsmb/namequery.c @@ -467,7 +467,7 @@ struct in_addr *name_query(int fd,const char *name,int name_type, Start parsing the lmhosts file. *********************************************************/ -FILE *startlmhosts(char *fname) +FILE *startlmhosts(const char *fname) { FILE *fp = sys_fopen(fname,"r"); if (!fp) { @@ -488,7 +488,8 @@ BOOL getlmhostsent( FILE *fp, pstring name, int *name_type, struct in_addr *ipad while(!feof(fp) && !ferror(fp)) { pstring ip,flags,extra; - char *ptr; + const char *ptr; + char *ptr1; int count = 0; *name_type = -1; @@ -541,20 +542,20 @@ BOOL getlmhostsent( FILE *fp, pstring name, int *name_type, struct in_addr *ipad /* Extra feature. If the name ends in '#XX', where XX is a hex number, then only add that name type. */ - if((ptr = strchr(name, '#')) != NULL) + if((ptr1 = strchr(name, '#')) != NULL) { char *endptr; - ptr++; - *name_type = (int)strtol(ptr, &endptr, 16); + ptr1++; + *name_type = (int)strtol(ptr1, &endptr, 16); - if(!*ptr || (endptr == ptr)) + if(!*ptr1 || (endptr == ptr1)) { DEBUG(0,("getlmhostsent: invalid name %s containing '#'.\n", name)); continue; } - *(--ptr) = '\0'; /* Truncate at the '#' */ + *(--ptr1) = '\0'; /* Truncate at the '#' */ } return True; @@ -836,7 +837,7 @@ static BOOL internal_resolve_name(const char *name, int name_type, { pstring name_resolve_list; fstring tok; - char *ptr; + const char *ptr; BOOL allones = (strcmp(name,"255.255.255.255") == 0); BOOL allzeros = (strcmp(name,"0.0.0.0") == 0); BOOL is_address = is_ipaddress(name); @@ -1301,7 +1302,7 @@ BOOL get_dc_list(BOOL pdc_only, const char *group, struct in_addr **ip_list, int */ if (strequal(group, lp_workgroup())) { - char *p; + const char *p; char *pserver = lp_passwordserver(); fstring name; int num_addresses = 0; diff --git a/source/libsmb/nmblib.c b/source/libsmb/nmblib.c index 95d124c0208..cf5f078fc4f 100644 --- a/source/libsmb/nmblib.c +++ b/source/libsmb/nmblib.c @@ -26,7 +26,7 @@ int num_good_sends = 0; int num_good_receives = 0; static const struct opcode_names { - char *nmb_opcode_name; + const char *nmb_opcode_name; int opcode; } nmb_header_opcode_names[] = { {"Query", 0 }, @@ -58,7 +58,7 @@ static const char *lookup_opcode_name( int opcode ) /**************************************************************************** print out a res_rec structure ****************************************************************************/ -static void debug_nmb_res_rec(struct res_rec *res, char *hdr) +static void debug_nmb_res_rec(struct res_rec *res, const char *hdr) { int i, j; @@ -1010,7 +1010,7 @@ struct packet_struct *receive_nmb_packet(int fd, int t, int trn_id) queue. The packet must be a reply packet and have the specified mailslot name The timeout is in milliseconds ***************************************************************************/ -struct packet_struct *receive_dgram_packet(int fd, int t, char *mailslot_name) +struct packet_struct *receive_dgram_packet(int fd, int t, const char *mailslot_name) { struct packet_struct *p; @@ -1029,7 +1029,7 @@ struct packet_struct *receive_dgram_packet(int fd, int t, char *mailslot_name) /**************************************************************************** see if a datagram has the right mailslot name ***************************************************************************/ -BOOL match_mailslot_name(struct packet_struct *p, char *mailslot_name) +BOOL match_mailslot_name(struct packet_struct *p, const char *mailslot_name) { struct dgram_packet *dgram = &p->packet.dgram; char *buf; diff --git a/source/libsmb/nterr.c b/source/libsmb/nterr.c index e9e6c131ac4..46f6e0ec265 100644 --- a/source/libsmb/nterr.c +++ b/source/libsmb/nterr.c @@ -25,7 +25,7 @@ typedef const struct { - char *nt_errstr; + const char *nt_errstr; NTSTATUS nt_errcode; } nt_err_code_struct; @@ -542,7 +542,8 @@ nt_err_code_struct nt_errs[] = /***************************************************************************** returns an NT error message. not amazingly helpful, but better than a number. *****************************************************************************/ -char *get_nt_error_msg(NTSTATUS nt_code) + +const char *get_nt_error_msg(NTSTATUS nt_code) { static pstring msg; int idx = 0; @@ -560,7 +561,7 @@ char *get_nt_error_msg(NTSTATUS nt_code) return msg; } -char *nt_errstr(NTSTATUS nt_code) +const char *nt_errstr(NTSTATUS nt_code) { return get_nt_error_msg(nt_code); } @@ -568,7 +569,8 @@ char *nt_errstr(NTSTATUS nt_code) /***************************************************************************** returns an NT_STATUS constant as a string for inclusion in autogen C code *****************************************************************************/ -char *get_nt_error_c_code(NTSTATUS nt_code) + +const char *get_nt_error_c_code(NTSTATUS nt_code) { static pstring out; int idx = 0; diff --git a/source/libsmb/pwd_cache.c b/source/libsmb/pwd_cache.c index dde5a02ead2..ecbcf0d6785 100644 --- a/source/libsmb/pwd_cache.c +++ b/source/libsmb/pwd_cache.c @@ -128,7 +128,7 @@ void pwd_set_nullpwd(struct pwd_info *pwd) Stores a cleartext password. ****************************************************************************/ -void pwd_set_cleartext(struct pwd_info *pwd, char *clr) +void pwd_set_cleartext(struct pwd_info *pwd, const char *clr) { pwd_init(pwd); fstrcpy(pwd->password, clr); diff --git a/source/libsmb/smberr.c b/source/libsmb/smberr.c index 3085211115b..7eeb4fff673 100644 --- a/source/libsmb/smberr.c +++ b/source/libsmb/smberr.c @@ -38,9 +38,9 @@ typedef const struct { - char *name; + const char *name; int code; - char *message; + const char *message; } err_code_struct; /* Dos Error Messages */ @@ -143,7 +143,7 @@ err_code_struct hard_msgs[] = { const struct { int code; - char *class; + const char *class; err_code_struct *err_msgs; } err_classes[] = { {0,"SUCCESS",NULL}, @@ -161,7 +161,8 @@ const struct /**************************************************************************** return a SMB error name from a class and code ****************************************************************************/ -char *smb_dos_err_name(uint8 class, uint16 num) + +const char *smb_dos_err_name(uint8 class, uint16 num) { static pstring ret; int i,j; @@ -185,7 +186,7 @@ char *smb_dos_err_name(uint8 class, uint16 num) /* Return a string for a DOS error */ -char *get_dos_error_msg(WERROR result) +const char *get_dos_error_msg(WERROR result) { uint16 errnum; @@ -197,7 +198,8 @@ char *get_dos_error_msg(WERROR result) /**************************************************************************** return a SMB error class name as a string. ****************************************************************************/ -char *smb_dos_err_class(uint8 class) + +const char *smb_dos_err_class(uint8 class) { static pstring ret; int i; @@ -215,7 +217,8 @@ char *smb_dos_err_class(uint8 class) /**************************************************************************** return a SMB string from an SMB buffer ****************************************************************************/ -char *smb_dos_errstr(char *inbuf) + +const char *smb_dos_errstr(char *inbuf) { static pstring ret; int class = CVAL(inbuf,smb_rcls); @@ -250,6 +253,7 @@ char *smb_dos_errstr(char *inbuf) /***************************************************************************** map a unix errno to a win32 error *****************************************************************************/ + WERROR map_werror_from_unix(int error) { NTSTATUS status = map_nt_error_from_unix(error); diff --git a/source/libsmb/unexpected.c b/source/libsmb/unexpected.c index 2d17e3e9a41..96b80e2e715 100644 --- a/source/libsmb/unexpected.c +++ b/source/libsmb/unexpected.c @@ -111,7 +111,7 @@ void clear_unexpected(time_t t) static struct packet_struct *matched_packet; static int match_id; static enum packet_type match_type; -static char *match_name; +static const char *match_name; /**************************************************************************** tdb traversal fn to find a matching 137 packet @@ -145,7 +145,7 @@ static int traverse_match(TDB_CONTEXT *ttdb, TDB_DATA kbuf, TDB_DATA dbuf, void check for a particular packet in the unexpected packet queue **************************************************************************/ struct packet_struct *receive_unexpected(enum packet_type packet_type, int id, - char *mailslot_name) + const char *mailslot_name) { TDB_CONTEXT *tdb2 = NULL; diff --git a/source/nmbd/nmbd.c b/source/nmbd/nmbd.c index 122bd8ba42a..2ff522f5016 100644 --- a/source/nmbd/nmbd.c +++ b/source/nmbd/nmbd.c @@ -558,7 +558,8 @@ static BOOL open_sockets(BOOL isdaemon, int port) static BOOL init_structs(void) { extern fstring local_machine; - char *p, *ptr; + char *p; + const char *ptr; int namecount; int n; int nodup; diff --git a/source/nmbd/nmbd_become_lmb.c b/source/nmbd/nmbd_become_lmb.c index 52955d9bfc0..7767eff805c 100644 --- a/source/nmbd/nmbd_become_lmb.c +++ b/source/nmbd/nmbd_become_lmb.c @@ -584,7 +584,7 @@ in workgroup %s on subnet %s\n", as the workgroup name. ****************************************************************/ -void set_workgroup_local_master_browser_name( struct work_record *work, char *newname) +void set_workgroup_local_master_browser_name( struct work_record *work, const char *newname) { DEBUG(5,("set_workgroup_local_master_browser_name: setting local master name to '%s' \ for workgroup %s.\n", newname, work->work_group )); diff --git a/source/nmbd/nmbd_elections.c b/source/nmbd/nmbd_elections.c index ae225184951..1e8579282c0 100644 --- a/source/nmbd/nmbd_elections.c +++ b/source/nmbd/nmbd_elections.c @@ -33,8 +33,8 @@ extern time_t StartupTime; /**************************************************************************** Send an election datagram packet. **************************************************************************/ -static void send_election_dgram(struct subnet_record *subrec, char *workgroup_name, - uint32 criterion, int timeup,char *server_name) +static void send_election_dgram(struct subnet_record *subrec, const char *workgroup_name, + uint32 criterion, int timeup,const char *server_name) { pstring outbuf; char *p; diff --git a/source/nmbd/nmbd_namelistdb.c b/source/nmbd/nmbd_namelistdb.c index 4e8c251b3ec..b3b36fac05f 100644 --- a/source/nmbd/nmbd_namelistdb.c +++ b/source/nmbd/nmbd_namelistdb.c @@ -176,7 +176,7 @@ void update_name_ttl( struct name_record *namerec, int ttl ) * ************************************************************************** ** */ struct name_record *add_name_to_subnet( struct subnet_record *subrec, - char *name, + const char *name, int type, uint16 nb_flags, int ttl, @@ -527,7 +527,7 @@ void add_samba_names_to_subnet( struct subnet_record *subrec ) static void dump_subnet_namelist( struct subnet_record *subrec, FILE *fp) { struct name_record *namerec; - char *src_type; + const char *src_type; struct tm *tm; int i; diff --git a/source/nmbd/nmbd_nameregister.c b/source/nmbd/nmbd_nameregister.c index c3361cec60b..de68265840a 100644 --- a/source/nmbd/nmbd_nameregister.c +++ b/source/nmbd/nmbd_nameregister.c @@ -324,7 +324,7 @@ register name %s IP %s\n", nmb_namestr(nmbname), inet_ntoa(ip_list[i]) )); ****************************************************************************/ BOOL register_name(struct subnet_record *subrec, - char *name, int type, uint16 nb_flags, + const char *name, int type, uint16 nb_flags, register_name_success_function success_fn, register_name_fail_function fail_fn, struct userdata_struct *userdata) diff --git a/source/nmbd/nmbd_packets.c b/source/nmbd/nmbd_packets.c index 9d4dfbc8078..e3f2912ae60 100644 --- a/source/nmbd/nmbd_packets.c +++ b/source/nmbd/nmbd_packets.c @@ -852,7 +852,7 @@ void reply_netbios_packet(struct packet_struct *orig_packet, struct res_rec answers; struct nmb_packet *orig_nmb = &orig_packet->packet.nmb; BOOL loopback_this_packet = False; - char *packet_type = "unknown"; + const char *packet_type = "unknown"; /* Check if we are sending to or from ourselves. */ if(ismyip(orig_packet->ip) && (orig_packet->port == global_nmb_port)) @@ -1894,9 +1894,9 @@ BOOL listen_for_packets(BOOL run_election) /**************************************************************************** Construct and send a netbios DGRAM. **************************************************************************/ -BOOL send_mailslot(BOOL unique, char *mailslot,char *buf,int len, - char *srcname, int src_type, - char *dstname, int dest_type, +BOOL send_mailslot(BOOL unique, const char *mailslot,char *buf,int len, + const char *srcname, int src_type, + const char *dstname, int dest_type, struct in_addr dest_ip,struct in_addr src_ip, int dest_port) { diff --git a/source/nmbd/nmbd_processlogon.c b/source/nmbd/nmbd_processlogon.c index c9130fe478c..852c43f4b1d 100644 --- a/source/nmbd/nmbd_processlogon.c +++ b/source/nmbd/nmbd_processlogon.c @@ -34,7 +34,7 @@ Process a domain logon packet **************************************************************************/ void process_logon_packet(struct packet_struct *p,char *buf,int len, - char *mailslot) + const char *mailslot) { struct dgram_packet *dgram = &p->packet.dgram; pstring my_name; diff --git a/source/nmbd/nmbd_sendannounce.c b/source/nmbd/nmbd_sendannounce.c index 2c1704c73fe..2437e11a9ee 100644 --- a/source/nmbd/nmbd_sendannounce.c +++ b/source/nmbd/nmbd_sendannounce.c @@ -37,7 +37,7 @@ extern BOOL found_lm_clients; Send a browser reset packet. **************************************************************************/ -void send_browser_reset(int reset_type, char *to_name, int to_type, struct in_addr to_ip) +void send_browser_reset(int reset_type, const char *to_name, int to_type, struct in_addr to_ip) { pstring outbuf; char *p; @@ -93,9 +93,9 @@ to subnet %s\n", work->work_group, subrec->subnet_name)); **************************************************************************/ static void send_announcement(struct subnet_record *subrec, int announce_type, - char *from_name, char *to_name, int to_type, struct in_addr to_ip, + const char *from_name, const char *to_name, int to_type, struct in_addr to_ip, time_t announce_interval, - char *server_name, int server_type, char *server_comment) + const char *server_name, int server_type, const char *server_comment) { pstring outbuf; char *p; @@ -487,7 +487,8 @@ void announce_my_servers_removed(void) void announce_remote(time_t t) { - char *s,*ptr; + char *s; + const char *ptr; static time_t last_time = 0; pstring s2; struct in_addr addr; @@ -550,7 +551,8 @@ void announce_remote(time_t t) void browse_sync_remote(time_t t) { - char *s,*ptr; + char *s; + const char *ptr; static time_t last_time = 0; pstring s2; struct in_addr addr; diff --git a/source/nmbd/nmbd_subnetdb.c b/source/nmbd/nmbd_subnetdb.c index 0067d89f669..95f10df09d4 100644 --- a/source/nmbd/nmbd_subnetdb.c +++ b/source/nmbd/nmbd_subnetdb.c @@ -110,7 +110,7 @@ void close_subnet(struct subnet_record *subrec) Create a subnet entry. ****************************************************************************/ -static struct subnet_record *make_subnet(char *name, enum subnet_type type, +static struct subnet_record *make_subnet(const char *name, enum subnet_type type, struct in_addr myip, struct in_addr bcast_ip, struct in_addr mask_ip) { diff --git a/source/nmbd/nmbd_synclists.c b/source/nmbd/nmbd_synclists.c index 4fbd442c880..39c6bff25d3 100644 --- a/source/nmbd/nmbd_synclists.c +++ b/source/nmbd/nmbd_synclists.c @@ -250,7 +250,7 @@ static void complete_sync(struct sync_record *s) unsigned type; pstring comment; pstring line; - char *ptr; + const char *ptr; int count=0; f = sys_fopen(s->fname,"r"); diff --git a/source/nmbd/nmbd_winsserver.c b/source/nmbd/nmbd_winsserver.c index 45385fc4e00..72c51b469ad 100644 --- a/source/nmbd/nmbd_winsserver.c +++ b/source/nmbd/nmbd_winsserver.c @@ -30,10 +30,10 @@ possibly call the WINS hook external program when a WINS change is made *****************************************************************************/ -static void wins_hook(char *operation, struct name_record *namerec, int ttl) +static void wins_hook(const char *operation, struct name_record *namerec, int ttl) { pstring command; - char *cmd = lp_wins_hook(); + const char *cmd = lp_wins_hook(); char *p; int i; @@ -194,7 +194,7 @@ BOOL initialise_wins(void) int type = 0; int nb_flags; int ttl; - char *ptr; + const char *ptr; char *p; BOOL got_token; BOOL was_ip; diff --git a/source/nsswitch/wbinfo.c b/source/nsswitch/wbinfo.c index 2879db8f691..025cf6a8e9e 100644 --- a/source/nsswitch/wbinfo.c +++ b/source/nsswitch/wbinfo.c @@ -207,7 +207,7 @@ static BOOL wbinfo_list_domains(void) /* Display response */ if (response.extra_data) { - char *extra_data = (char *)response.extra_data; + const char *extra_data = (const char *)response.extra_data; while(next_token(&extra_data, name, ",", sizeof(fstring))) printf("%s\n", name); @@ -523,7 +523,7 @@ static BOOL wbinfo_auth_crap(char *username) static BOOL print_domain_users(void) { struct winbindd_response response; - char *extra_data; + const char *extra_data; fstring name; /* Send request to winbind daemon */ @@ -539,7 +539,7 @@ static BOOL print_domain_users(void) if (!response.extra_data) goto done; - extra_data = (char *)response.extra_data; + extra_data = (const char *)response.extra_data; while(next_token(&extra_data, name, ",", sizeof(fstring))) printf("%s\n", name); @@ -558,7 +558,7 @@ done: static BOOL print_domain_groups(void) { struct winbindd_response response; - char *extra_data; + const char *extra_data; fstring name; ZERO_STRUCT(response); @@ -572,7 +572,7 @@ static BOOL print_domain_groups(void) if (!response.extra_data) goto done; - extra_data = (char *)response.extra_data; + extra_data = (const char *)response.extra_data; while(next_token(&extra_data, name, ",", sizeof(fstring))) printf("%s\n", name); diff --git a/source/nsswitch/winbind_nss.c b/source/nsswitch/winbind_nss.c index 250e2df59be..c63dfcfbb93 100644 --- a/source/nsswitch/winbind_nss.c +++ b/source/nsswitch/winbind_nss.c @@ -550,9 +550,9 @@ static char *get_static(char **buffer, int *buflen, int len) lib/util_str.c as I really don't want to have to link in any other objects if I can possibly avoid it. */ -BOOL next_token(char **ptr,char *buff,char *sep, size_t bufsize) +BOOL next_token(const char **ptr,char *buff,const char *sep, size_t bufsize) { - char *s; + const char *s; BOOL quoted; size_t len=1; @@ -745,7 +745,7 @@ static int fill_grent(struct group *result, struct winbindd_gr *gr, i = 0; - while(next_token((char **)&gr_mem, name, ",", sizeof(fstring))) { + while(next_token((const char **)&gr_mem, name, ",", sizeof(fstring))) { /* Allocate space for member */ diff --git a/source/nsswitch/winbindd.c b/source/nsswitch/winbindd.c index f5998d47c78..edacd27ea7f 100644 --- a/source/nsswitch/winbindd.c +++ b/source/nsswitch/winbindd.c @@ -208,7 +208,7 @@ static int create_sock(void) struct dispatch_table { enum winbindd_cmd cmd; enum winbindd_result (*fn)(struct winbindd_cli_state *state); - char *winbindd_cmd_name; + const char *winbindd_cmd_name; }; static struct dispatch_table dispatch_table[] = { diff --git a/source/nsswitch/winbindd_util.c b/source/nsswitch/winbindd_util.c index 5b772a35dcb..78ea7d16dbb 100644 --- a/source/nsswitch/winbindd_util.c +++ b/source/nsswitch/winbindd_util.c @@ -337,7 +337,7 @@ BOOL winbindd_param_init(void) BOOL check_domain_env(char *domain_env, char *domain) { fstring name; - char *tmp = domain_env; + const char *tmp = domain_env; while(next_token(&tmp, name, ",", sizeof(fstring))) { if (strequal(name, domain)) diff --git a/source/param/loadparm.c b/source/param/loadparm.c index dd183ab8af9..47515d688a6 100644 --- a/source/param/loadparm.c +++ b/source/param/loadparm.c @@ -240,6 +240,7 @@ typedef struct BOOL sslReqServerCert; BOOL sslCompatibility; #endif /* WITH_SSL */ + char *szAclCompat; BOOL bMsAddPrinterWizard; BOOL bDNSproxy; BOOL bWINSsupport; @@ -556,19 +557,20 @@ static int default_server_announce; #define NUMPARAMETERS (sizeof(parm_table) / sizeof(struct parm_struct)) /* prototypes for the special type handlers */ -static BOOL handle_valid_chars(char *pszParmValue, char **ptr); -static BOOL handle_include(char *pszParmValue, char **ptr); -static BOOL handle_copy(char *pszParmValue, char **ptr); -static BOOL handle_character_set(char *pszParmValue, char **ptr); -static BOOL handle_coding_system(char *pszParmValue, char **ptr); -static BOOL handle_client_code_page(char *pszParmValue, char **ptr); -static BOOL handle_vfs_object(char *pszParmValue, char **ptr); -static BOOL handle_source_env(char *pszParmValue, char **ptr); -static BOOL handle_netbios_name(char *pszParmValue, char **ptr); -static BOOL handle_winbind_uid(char *pszParmValue, char **ptr); -static BOOL handle_winbind_gid(char *pszParmValue, char **ptr); -static BOOL handle_wins_server_list(char *pszParmValue, char **ptr); -static BOOL handle_debug_list( char *pszParmValue, char **ptr ); +static BOOL handle_valid_chars(const char *pszParmValue, char **ptr); +static BOOL handle_include(const char *pszParmValue, char **ptr); +static BOOL handle_copy(const char *pszParmValue, char **ptr); +static BOOL handle_character_set(const char *pszParmValue, char **ptr); +static BOOL handle_coding_system(const char *pszParmValue, char **ptr); +static BOOL handle_client_code_page(const char *pszParmValue, char **ptr); +static BOOL handle_vfs_object(const char *pszParmValue, char **ptr); +static BOOL handle_source_env(const char *pszParmValue, char **ptr); +static BOOL handle_netbios_name(const char *pszParmValue, char **ptr); +static BOOL handle_winbind_uid(const char *pszParmValue, char **ptr); +static BOOL handle_winbind_gid(const char *pszParmValue, char **ptr); +static BOOL handle_wins_server_list(const char *pszParmValue, char **ptr); +static BOOL handle_debug_list(const char *pszParmValue, char **ptr ); +static BOOL handle_acl_compatibility(const char *pszParmValue, char **ptr); static void set_server_role(void); static void set_default_server_announce_type(void); @@ -858,6 +860,7 @@ static struct parm_struct parm_table[] = { {"read raw", P_BOOL, P_GLOBAL, &Globals.bReadRaw, NULL, NULL, 0}, {"write raw", P_BOOL, P_GLOBAL, &Globals.bWriteRaw, NULL, NULL, 0}, + {"acl compatibility", P_STRING, P_GLOBAL, &Globals.szAclCompat, handle_acl_compatibility, NULL, FLAG_SHARE | FLAG_GLOBAL | FLAG_ADVANCED}, {"nt smb support", P_BOOL, P_GLOBAL, &Globals.bNTSmbSupport, NULL, NULL, 0}, {"nt pipe support", P_BOOL, P_GLOBAL, &Globals.bNTPipeSupport, NULL, NULL, 0}, {"nt acl support", P_BOOL, P_LOCAL, &sDefault.bNTAclSupport, NULL, NULL, FLAG_GLOBAL | FLAG_SHARE }, @@ -1451,6 +1454,7 @@ static void init_globals(void) string_set(&Globals.szTemplateShell, "/bin/false"); string_set(&Globals.szTemplateHomedir, "/home/%D/%U"); string_set(&Globals.szWinbindSeparator, "\\"); + string_set(&Globals.szAclCompat, ""); Globals.winbind_cache_time = 15; Globals.bWinbindEnumUsers = True; @@ -1594,6 +1598,7 @@ FN_GLOBAL_STRING(lp_domain_guest_group, &Globals.szDomainGuestGroup) FN_GLOBAL_STRING(lp_template_homedir, &Globals.szTemplateHomedir) FN_GLOBAL_STRING(lp_template_shell, &Globals.szTemplateShell) FN_GLOBAL_STRING(lp_winbind_separator, &Globals.szWinbindSeparator) +FN_GLOBAL_STRING(lp_acl_compatibility, &Globals.szAclCompat) FN_GLOBAL_BOOL(lp_winbind_enum_users, &Globals.bWinbindEnumUsers) FN_GLOBAL_BOOL(lp_winbind_enum_groups, &Globals.bWinbindEnumGroups) FN_GLOBAL_BOOL(lp_winbind_use_default_domain, &Globals.bWinbindUseDefaultDomain) @@ -1825,9 +1830,9 @@ FN_GLOBAL_BOOL(lp_hide_local_users, &Globals.bHideLocalUsers) /* local prototypes */ -static int map_parameter(char *pszParmName); -static BOOL set_boolean(BOOL *pb, char *pszParmValue); -static int getservicebyname(char *pszServiceName, +static int map_parameter(const char *pszParmName); +static BOOL set_boolean(BOOL *pb, const char *pszParmValue); +static int getservicebyname(const char *pszServiceName, service * pserviceDest); static void copy_service(service * pserviceDest, service * pserviceSource, BOOL *pcopymapDest); @@ -1879,7 +1884,7 @@ static void free_service(service * pservice) add a new service to the services array initialising it with the given service. name must be in DOS codepage. ***************************************************************************/ -static int add_a_service(service * pservice, char *name) +static int add_a_service(service * pservice, const char *name) { int i; service tservice; @@ -1996,7 +2001,7 @@ int lp_add_service(char *pszService, int iDefaultService) /*************************************************************************** add the IPC service ***************************************************************************/ -static BOOL lp_add_ipc(char *ipc_name, BOOL guest_ok) +static BOOL lp_add_ipc(const char *ipc_name, BOOL guest_ok) { pstring comment; int i = add_a_service(&sDefault, ipc_name); @@ -2032,7 +2037,7 @@ printername must be in DOS codepage. ***************************************************************************/ BOOL lp_add_printer(char *pszPrintername, int iDefaultService) { - char *comment = "From Printcap"; + const char *comment = "From Printcap"; int i = add_a_service(ServicePtrs[iDefaultService], pszPrintername); if (i < 0) @@ -2063,7 +2068,7 @@ BOOL lp_add_printer(char *pszPrintername, int iDefaultService) Map a parameter's string representation to something we can use. Returns False if the parameter string is not recognised, else TRUE. ***************************************************************************/ -static int map_parameter(char *pszParmName) +static int map_parameter(const char *pszParmName) { int iIndex; @@ -2084,7 +2089,7 @@ Set a boolean variable from the text value stored in the passed string. Returns True in success, False if the passed string does not correctly represent a boolean. ***************************************************************************/ -static BOOL set_boolean(BOOL *pb, char *pszParmValue) +static BOOL set_boolean(BOOL *pb, const char *pszParmValue) { BOOL bRetval; @@ -2111,7 +2116,7 @@ static BOOL set_boolean(BOOL *pb, char *pszParmValue) /*************************************************************************** Find a service by name. Otherwise works like get_service. ***************************************************************************/ -static int getservicebyname(char *pszServiceName, service * pserviceDest) +static int getservicebyname(const char *pszServiceName, service * pserviceDest) { int iService; @@ -2254,7 +2259,7 @@ static struct file_lists keep a linked list of all config files so we know when one has changed it's date and needs to be reloaded ********************************************************************/ -static void add_to_file_list(char *fname, char *subfname) +static void add_to_file_list(const char *fname, const char *subfname) { struct file_lists *f = file_lists; @@ -2326,7 +2331,7 @@ BOOL lp_file_list_changed(void) Note: We must *NOT* use string_set() here as ptr points to global_myname. ***************************************************************************/ -static BOOL handle_netbios_name(char *pszParmValue, char **ptr) +static BOOL handle_netbios_name(const char *pszParmValue, char **ptr) { pstring netbios_name; @@ -2410,7 +2415,7 @@ static BOOL source_env(char **lines) Handle the source environment operation ***************************************************************************/ -static BOOL handle_source_env(char *pszParmValue, char **ptr) +static BOOL handle_source_env(const char *pszParmValue, char **ptr) { pstring fname; char *p = fname; @@ -2455,7 +2460,7 @@ static BOOL handle_source_env(char *pszParmValue, char **ptr) /*************************************************************************** handle the interpretation of the vfs object parameter *************************************************************************/ -static BOOL handle_vfs_object(char *pszParmValue, char **ptr) +static BOOL handle_vfs_object(const char *pszParmValue, char **ptr) { /* Set string value */ @@ -2470,7 +2475,7 @@ static BOOL handle_vfs_object(char *pszParmValue, char **ptr) /*************************************************************************** handle the interpretation of the coding system parameter *************************************************************************/ -static BOOL handle_coding_system(char *pszParmValue, char **ptr) +static BOOL handle_coding_system(const char *pszParmValue, char **ptr) { string_set(ptr, pszParmValue); interpret_coding_system(pszParmValue); @@ -2483,7 +2488,7 @@ static BOOL handle_coding_system(char *pszParmValue, char **ptr) static char *saved_character_set = NULL; -static BOOL handle_character_set(char *pszParmValue, char **ptr) +static BOOL handle_character_set(const char *pszParmValue, char **ptr) { /* A dependency here is that the parameter client code page should be set before this is called. @@ -2501,7 +2506,7 @@ static BOOL handle_character_set(char *pszParmValue, char **ptr) parameter in case this came before 'client code page' in the smb.conf. ***************************************************************************/ -static BOOL handle_client_code_page(char *pszParmValue, char **ptr) +static BOOL handle_client_code_page(const char *pszParmValue, char **ptr) { Globals.client_code_page = atoi(pszParmValue); if (saved_character_set != NULL) @@ -2515,7 +2520,7 @@ static BOOL handle_client_code_page(char *pszParmValue, char **ptr) handle the valid chars lines ***************************************************************************/ -static BOOL handle_valid_chars(char *pszParmValue, char **ptr) +static BOOL handle_valid_chars(const char *pszParmValue, char **ptr) { string_set(ptr, pszParmValue); @@ -2533,7 +2538,7 @@ static BOOL handle_valid_chars(char *pszParmValue, char **ptr) handle the include operation ***************************************************************************/ -static BOOL handle_include(char *pszParmValue, char **ptr) +static BOOL handle_include(const char *pszParmValue, char **ptr) { pstring fname; pstrcpy(fname, pszParmValue); @@ -2556,7 +2561,7 @@ static BOOL handle_include(char *pszParmValue, char **ptr) /*************************************************************************** handle the interpretation of the copy parameter ***************************************************************************/ -static BOOL handle_copy(char *pszParmValue, char **ptr) +static BOOL handle_copy(const char *pszParmValue, char **ptr) { BOOL bRetval; int iTemp; @@ -2646,7 +2651,7 @@ BOOL lp_winbind_gid(gid_t *low, gid_t *high) /* Do some simple checks on "winbind [ug]id" parameter values */ -static BOOL handle_winbind_uid(char *pszParmValue, char **ptr) +static BOOL handle_winbind_uid(const char *pszParmValue, char **ptr) { unsigned int low, high; @@ -2663,7 +2668,7 @@ static BOOL handle_winbind_uid(char *pszParmValue, char **ptr) return True; } -static BOOL handle_winbind_gid(char *pszParmValue, char **ptr) +static BOOL handle_winbind_gid(const char *pszParmValue, char **ptr) { unsigned int low, high; @@ -2684,7 +2689,7 @@ static BOOL handle_winbind_gid(char *pszParmValue, char **ptr) Handle the WINS SERVER list. ***************************************************************************/ -static BOOL handle_wins_server_list( char *pszParmValue, char **ptr ) +static BOOL handle_wins_server_list(const char *pszParmValue, char **ptr ) { if( !wins_srv_load_list( pszParmValue ) ) return( False ); /* Parse failed. */ @@ -2697,7 +2702,7 @@ static BOOL handle_wins_server_list( char *pszParmValue, char **ptr ) Handle the DEBUG level list. ***************************************************************************/ -static BOOL handle_debug_list( char *pszParmValueIn, char **ptr ) +static BOOL handle_debug_list(const char *pszParmValueIn, char **ptr ) { pstring pszParmValue; @@ -2706,6 +2711,19 @@ static BOOL handle_debug_list( char *pszParmValueIn, char **ptr ) } +static BOOL handle_acl_compatibility(const char *pszParmValue, char **ptr) +{ + if (strequal(pszParmValue, "auto")) + string_set(ptr, ""); + else if (strequal(pszParmValue, "winnt")) + string_set(ptr, "winnt"); + else if (strequal(pszParmValue, "win2k")) + string_set(ptr, "win2k"); + else + return False; + return True; +} + /*************************************************************************** Initialise a copymap. ***************************************************************************/ @@ -2738,7 +2756,7 @@ void *lp_local_ptr(int snum, void *ptr) Process a parameter for a particular service number. If snum < 0 then assume we are in the globals ***************************************************************************/ -BOOL lp_do_parameter(int snum, char *pszParmName, char *pszParmValue) +BOOL lp_do_parameter(int snum, const char *pszParmName, const char *pszParmValue) { int parmnum, i; void *parm_ptr = NULL; /* where we are going to store the result */ @@ -3450,7 +3468,7 @@ static void set_server_role(void) Load the services array from the services file. Return True on success, False on failure. ***************************************************************************/ -BOOL lp_load(char *pszFname, BOOL global_only, BOOL save_defaults, +BOOL lp_load(const char *pszFname, BOOL global_only, BOOL save_defaults, BOOL add_ipc) { pstring n2; @@ -3569,7 +3587,7 @@ exist. Note that this is a DIFFERENT ANIMAL from the internal function getservicebyname()! This works ONLY if all services have been loaded, and does not copy the found service. ***************************************************************************/ -int lp_servicenumber(char *pszServiceName) +int lp_servicenumber(const char *pszServiceName) { int iService; fstring serviceName; diff --git a/source/param/params.c b/source/param/params.c index a1f9e6bc23c..495dd7cf71a 100644 --- a/source/param/params.c +++ b/source/param/params.c @@ -233,7 +233,7 @@ static BOOL Section( myFILE *InFile, BOOL (*sfunc)(char *) ) int c; int i; int end; - char *func = "params.c:Section() -"; + const char *func = "params.c:Section() -"; i = 0; /* <i> is the offset of the next free byte in bufr[] and */ end = 0; /* <end> is the current "end of string" offset. In most */ @@ -339,7 +339,7 @@ static BOOL Parameter( myFILE *InFile, BOOL (*pfunc)(char *, char *), int c ) int i = 0; /* Position within bufr. */ int end = 0; /* bufr[end] is current end-of-string. */ int vstart = 0; /* Starting position of the parameter value. */ - char *func = "params.c:Parameter() -"; + const char *func = "params.c:Parameter() -"; /* Read the parameter name. */ while( 0 == vstart ) /* Loop until we've found the start of the value. */ @@ -527,7 +527,7 @@ static myFILE *OpenConfFile( char *FileName ) * ------------------------------------------------------------------------ ** */ { - char *func = "params.c:OpenConfFile() -"; + const char *func = "params.c:OpenConfFile() -"; extern BOOL in_client; int lvl = in_client?1:0; myFILE *ret; @@ -568,7 +568,7 @@ BOOL pm_process( char *FileName, { int result; myFILE *InFile; - char *func = "params.c:pm_process() -"; + const char *func = "params.c:pm_process() -"; InFile = OpenConfFile( FileName ); /* Open the config file. */ if( NULL == InFile ) diff --git a/source/passdb/passdb.c b/source/passdb/passdb.c index 517a82b94fb..cf98f78ee28 100644 --- a/source/passdb/passdb.c +++ b/source/passdb/passdb.c @@ -348,7 +348,7 @@ BOOL pdb_gethexpwd(char *p, unsigned char *pwd) { int i; unsigned char lonybble, hinybble; - char *hexchars = "0123456789ABCDEF"; + const char *hexchars = "0123456789ABCDEF"; char *p1, *p2; if (!p) @@ -481,12 +481,12 @@ BOOL local_lookup_rid(uint32 rid, char *name, enum SID_NAME_USE *psid_name_use) if(is_user) { if(rid == DOMAIN_USER_RID_ADMIN) { - char *p = lp_admin_users(-1); + const char *p = lp_admin_users(-1); *psid_name_use = SID_NAME_USER; if(!next_token(&p, name, NULL, sizeof(fstring))) fstrcpy(name, "Administrator"); } else if (rid == DOMAIN_USER_RID_GUEST) { - char *p = lp_guestaccount(-1); + const char *p = lp_guestaccount(-1); *psid_name_use = SID_NAME_USER; if(!next_token(&p, name, NULL, sizeof(fstring))) fstrcpy(name, "Guest"); @@ -871,8 +871,8 @@ void copy_sam_passwd(SAM_ACCOUNT *to, const SAM_ACCOUNT *from) changed to DOS codepage before hashing. *************************************************************/ -BOOL local_password_change(char *user_name, int local_flags, - char *new_passwd, +BOOL local_password_change(const char *user_name, int local_flags, + const char *new_passwd, char *err_str, size_t err_str_len, char *msg_str, size_t msg_str_len) { diff --git a/source/passdb/pdb_ldap.c b/source/passdb/pdb_ldap.c index 9d416f7c8bd..0ee8a1e355f 100644 --- a/source/passdb/pdb_ldap.c +++ b/source/passdb/pdb_ldap.c @@ -912,7 +912,7 @@ BOOL pdb_getsampwent(SAM_ACCOUNT * user) /********************************************************************** Get SAM_ACCOUNT entry from LDAP by username *********************************************************************/ -BOOL pdb_getsampwnam(SAM_ACCOUNT * user, char *sname) +BOOL pdb_getsampwnam(SAM_ACCOUNT * user, const char *sname) { LDAP *ldap_struct; LDAPMessage *result; @@ -1010,7 +1010,7 @@ BOOL pdb_getsampwrid(SAM_ACCOUNT * user, uint32 rid) Delete entry from LDAP for username *********************************************************************/ -BOOL pdb_delete_sam_account(char *sname) +BOOL pdb_delete_sam_account(const char *sname) { int rc; char *dn; diff --git a/source/passdb/pdb_nisplus.c b/source/passdb/pdb_nisplus.c index 0bcae57c2b4..9a929e6c452 100644 --- a/source/passdb/pdb_nisplus.c +++ b/source/passdb/pdb_nisplus.c @@ -978,7 +978,7 @@ BOOL pdb_getsampwent(SAM_ACCOUNT *user) /************************************************************************* Routine to search the nisplus passwd file for an entry matching the username *************************************************************************/ -BOOL pdb_getsampwnam(SAM_ACCOUNT * user, char *sname) +BOOL pdb_getsampwnam(SAM_ACCOUNT * user, const char *sname) { /* Static buffers we will return. */ nis_result *result = NULL; @@ -1045,7 +1045,7 @@ BOOL pdb_getsampwrid(SAM_ACCOUNT * user, uint32 rid) /************************************************************************* Routine to remove entry from the nisplus smbpasswd table *************************************************************************/ -BOOL pdb_delete_sam_account(char *sname) +BOOL pdb_delete_sam_account(const char *sname) { char *pfile = smb_passwd_table(); pstring nisname; diff --git a/source/passdb/pdb_smbpasswd.c b/source/passdb/pdb_smbpasswd.c index 75a9a9e820d..f105b80be8f 100644 --- a/source/passdb/pdb_smbpasswd.c +++ b/source/passdb/pdb_smbpasswd.c @@ -1335,7 +1335,7 @@ BOOL pdb_getsampwent(SAM_ACCOUNT *user) call getpwnam() for unix account information until we have found the correct entry ***************************************************************/ -BOOL pdb_getsampwnam(SAM_ACCOUNT *sam_acct, char *username) +BOOL pdb_getsampwnam(SAM_ACCOUNT *sam_acct, const char *username) { struct smb_passwd *smb_pw; void *fp = NULL; @@ -1475,7 +1475,7 @@ BOOL pdb_update_sam_account(SAM_ACCOUNT *sampass, BOOL override) return True; } -BOOL pdb_delete_sam_account (char* username) +BOOL pdb_delete_sam_account (const char* username) { return del_smbfilepwd_entry(username); } diff --git a/source/passdb/pdb_tdb.c b/source/passdb/pdb_tdb.c index aaada4d6687..7902ad235bb 100644 --- a/source/passdb/pdb_tdb.c +++ b/source/passdb/pdb_tdb.c @@ -528,7 +528,7 @@ BOOL pdb_getsampwent(SAM_ACCOUNT *user) Lookup a name in the SAM TDB ******************************************************************/ -BOOL pdb_getsampwnam (SAM_ACCOUNT *user, char *sname) +BOOL pdb_getsampwnam (SAM_ACCOUNT *user, const char *sname) { TDB_CONTEXT *pwd_tdb; TDB_DATA data, key; @@ -641,7 +641,7 @@ BOOL pdb_getsampwrid (SAM_ACCOUNT *user, uint32 rid) Delete a SAM_ACCOUNT ****************************************************************************/ -BOOL pdb_delete_sam_account(char *sname) +BOOL pdb_delete_sam_account(const char *sname) { SAM_ACCOUNT *sam_pass = NULL; TDB_CONTEXT *pwd_tdb; diff --git a/source/passdb/secrets.c b/source/passdb/secrets.c index 7d2cb73b7eb..241965e143d 100644 --- a/source/passdb/secrets.c +++ b/source/passdb/secrets.c @@ -50,7 +50,7 @@ BOOL secrets_init(void) /* read a entry from the secrets database - the caller must free the result if size is non-null then the size of the entry is put in there */ -void *secrets_fetch(char *key, size_t *size) +void *secrets_fetch(const char *key, size_t *size) { TDB_DATA kbuf, dbuf; @@ -66,7 +66,7 @@ void *secrets_fetch(char *key, size_t *size) /* store a secrets entry */ -BOOL secrets_store(char *key, void *data, size_t size) +BOOL secrets_store(const char *key, const void *data, size_t size) { TDB_DATA kbuf, dbuf; if (!tdb) @@ -81,7 +81,7 @@ BOOL secrets_store(char *key, void *data, size_t size) /* delete a secets database entry */ -BOOL secrets_delete(char *key) +BOOL secrets_delete(const char *key) { TDB_DATA kbuf; if (!tdb) @@ -91,7 +91,7 @@ BOOL secrets_delete(char *key) return tdb_delete(tdb, kbuf) == 0; } -BOOL secrets_store_domain_sid(char *domain, DOM_SID *sid) +BOOL secrets_store_domain_sid(const char *domain, DOM_SID *sid) { fstring key; @@ -100,7 +100,7 @@ BOOL secrets_store_domain_sid(char *domain, DOM_SID *sid) return secrets_store(key, sid, sizeof(DOM_SID)); } -BOOL secrets_fetch_domain_sid(char *domain, DOM_SID *sid) +BOOL secrets_fetch_domain_sid(const char *domain, DOM_SID *sid) { DOM_SID *dyn_sid; fstring key; @@ -131,7 +131,7 @@ BOOL secrets_fetch_domain_sid(char *domain, DOM_SID *sid) form a key for fetching a domain trust password ************************************************************************/ -char *trust_keystr(char *domain) +const char *trust_keystr(const char *domain) { static fstring keystr; fstring dos_domain; @@ -150,7 +150,7 @@ char *trust_keystr(char *domain) Lock the trust password entry. ************************************************************************/ -BOOL secrets_lock_trust_account_password(char *domain, BOOL dolock) +BOOL secrets_lock_trust_account_password(const char *domain, BOOL dolock) { if (!tdb) return False; @@ -168,7 +168,7 @@ BOOL secrets_lock_trust_account_password(char *domain, BOOL dolock) the above call. ************************************************************************/ -BOOL secrets_fetch_trust_account_password(char *domain, uint8 ret_pwd[16], +BOOL secrets_fetch_trust_account_password(const char *domain, uint8 ret_pwd[16], time_t *pass_last_set_time) { struct machine_acct_pass *pass; @@ -184,11 +184,11 @@ BOOL secrets_fetch_trust_account_password(char *domain, uint8 ret_pwd[16], return True; } - /************************************************************************ Routine to set the trust account password for a domain. ************************************************************************/ -BOOL secrets_store_trust_account_password(char *domain, uint8 new_pwd[16]) + +BOOL secrets_store_trust_account_password(const char *domain, uint8 new_pwd[16]) { struct machine_acct_pass pass; @@ -202,7 +202,7 @@ BOOL secrets_store_trust_account_password(char *domain, uint8 new_pwd[16]) Routine to delete the trust account password file for a domain. ************************************************************************/ -BOOL trust_password_delete(char *domain) +BOOL trust_password_delete(const char *domain) { return secrets_delete(trust_keystr(domain)); } @@ -236,7 +236,7 @@ void reset_globals_after_fork(void) generate_random_buffer( &dummy, 1, True); } -BOOL secrets_store_ldap_pw(char* dn, char* pw) +BOOL secrets_store_ldap_pw(const char* dn, const char* pw) { fstring key; char *p; @@ -248,7 +248,7 @@ BOOL secrets_store_ldap_pw(char* dn, char* pw) return secrets_store(key, pw, strlen(pw)); } -BOOL fetch_ldap_pw(char *dn, char* pw, int len) +BOOL fetch_ldap_pw(const char *dn, char* pw, int len) { fstring key; char *p; @@ -298,7 +298,7 @@ BOOL secrets_named_mutex(const char *name, unsigned int timeout) /* unlock a named mutex */ -void secrets_named_mutex_release(char *name) +void secrets_named_mutex_release(const char *name) { tdb_unlock_bystring(tdb, name); DEBUG(10,("secrets_named_mutex: released mutex for %s\n", name )); diff --git a/source/printing/lpq_parse.c b/source/printing/lpq_parse.c index 96484eaf583..ccebe6bce19 100644 --- a/source/printing/lpq_parse.c +++ b/source/printing/lpq_parse.c @@ -23,7 +23,7 @@ #include "includes.h" -static char *Months[13] = { "Jan", "Feb", "Mar", "Apr", "May", "Jun", +static const char *Months[13] = { "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec", "Err"}; @@ -234,12 +234,11 @@ static BOOL parse_lpq_lprng(char *line,print_queue_struct *buf,BOOL first) #define LPRNG_MAXTOK 128 /* PFMA just to keep us from running away. */ fstring tokarr[LPRNG_MAXTOK]; - char *cptr; + const char *cptr; + char *ptr; int num_tok = 0; - pstring line2; - pstrcpy(line2,line); - cptr = line2; + cptr = line; while(next_token( &cptr, tokarr[num_tok], " \t", sizeof(fstring)) && (num_tok < LPRNG_MAXTOK)) num_tok++; @@ -275,8 +274,8 @@ static BOOL parse_lpq_lprng(char *line,print_queue_struct *buf,BOOL first) * for the current user on the taskbar. Plop in a null. */ - if ((cptr = strchr(buf->fs_user,'@')) != NULL) { - *cptr = '\0'; + if ((ptr = strchr(buf->fs_user,'@')) != NULL) { + *ptr = '\0'; } fstrcpy(buf->fs_file,tokarr[LPRNG_FILETOK]); @@ -316,6 +315,7 @@ static BOOL parse_lpq_aix(char *line,print_queue_struct *buf,BOOL first) { fstring tok[11]; int count=0; + const char *cline = line; /* handle the case of "(standard input)" as a filename */ pstring_sub(line,"standard input","STDIN"); @@ -324,7 +324,7 @@ static BOOL parse_lpq_aix(char *line,print_queue_struct *buf,BOOL first) for (count=0; count<10 && - next_token(&line,tok[count],NULL, sizeof(tok[count])); + next_token(&cline,tok[count],NULL, sizeof(tok[count])); count++) ; /* we must get 6 tokens */ @@ -423,6 +423,7 @@ static BOOL parse_lpq_hpux(char * line, print_queue_struct *buf, BOOL first) int count; char htab = '\011'; + const char *cline = line; fstring tok[12]; /* If a line begins with a horizontal TAB, it is a subline type */ @@ -439,7 +440,7 @@ static BOOL parse_lpq_hpux(char * line, print_queue_struct *buf, BOOL first) all_string_sub(line,"(","\"",0); all_string_sub(line,")","\"",0); - for (count=0; count<2 && next_token(&line,tok[count],NULL,sizeof(tok[count])); count++) ; + for (count=0; count<2 && next_token(&cline,tok[count],NULL,sizeof(tok[count])); count++) ; /* we must get 2 tokens */ if (count < 2) return(False); @@ -475,7 +476,7 @@ static BOOL parse_lpq_hpux(char * line, print_queue_struct *buf, BOOL first) /* handle the dash in the job id */ pstring_sub(line,"-"," "); - for (count=0; count<12 && next_token(&line,tok[count],NULL,sizeof(tok[count])); count++) ; + for (count=0; count<12 && next_token(&cline,tok[count],NULL,sizeof(tok[count])); count++) ; /* we must get 8 tokens */ if (count < 8) return(False); @@ -521,7 +522,8 @@ static BOOL parse_lpq_sysv(char *line,print_queue_struct *buf,BOOL first) fstring tok[9]; int count=0; char *p; - + const char *cline = line; + /* * Handle the dash in the job id, but make sure that we skip over * the printer name in case we have a dash in that. @@ -544,7 +546,7 @@ static BOOL parse_lpq_sysv(char *line,print_queue_struct *buf,BOOL first) if((p >= line) && (*p == '-')) *p = ' '; - for (count=0; count<9 && next_token(&line,tok[count],NULL,sizeof(tok[count])); count++) + for (count=0; count<9 && next_token(&cline,tok[count],NULL,sizeof(tok[count])); count++) ; /* we must get 7 tokens */ @@ -593,6 +595,7 @@ static BOOL parse_lpq_qnx(char *line,print_queue_struct *buf,BOOL first) { fstring tok[7]; int count=0; + const char *cline = line; DEBUG(4,("antes [%s]\n", line)); @@ -606,10 +609,8 @@ static BOOL parse_lpq_qnx(char *line,print_queue_struct *buf,BOOL first) pstring_sub(line,"[job #",""); pstring_sub(line,"]",""); DEBUG(4,("despues 2 [%s]\n", line)); - - - for (count=0; count<7 && next_token(&line,tok[count],NULL,sizeof(tok[count])); count++) ; + for (count=0; count<7 && next_token(&cline,tok[count],NULL,sizeof(tok[count])); count++) ; /* we must get 7 tokens */ if (count < 7) @@ -658,13 +659,14 @@ static BOOL parse_lpq_plp(char *line,print_queue_struct *buf,BOOL first) { fstring tok[11]; int count=0; + const char *cline = line; /* handle the case of "(standard input)" as a filename */ pstring_sub(line,"stdin","STDIN"); all_string_sub(line,"(","\"",0); all_string_sub(line,")","\"",0); - for (count=0; count<11 && next_token(&line,tok[count],NULL,sizeof(tok[count])); count++) ; + for (count=0; count<11 && next_token(&cline,tok[count],NULL,sizeof(tok[count])); count++) ; /* we must get 11 tokens */ if (count < 11) @@ -728,11 +730,12 @@ static BOOL parse_lpq_softq(char *line,print_queue_struct *buf,BOOL first) { fstring tok[10]; int count=0; + const char *cline = line; /* mung all the ":"s to spaces*/ pstring_sub(line,":"," "); - for (count=0; count<10 && next_token(&line,tok[count],NULL,sizeof(tok[count])); count++) ; + for (count=0; count<10 && next_token(&cline,tok[count],NULL,sizeof(tok[count])); count++) ; /* we must get 9 tokens */ if (count < 9) @@ -947,9 +950,9 @@ static BOOL parse_lpq_os2(char *line,print_queue_struct *buf,BOOL first) return(True); } -static char *stat0_strings[] = { "enabled", "online", "idle", "no entries", "free", "ready", NULL }; -static char *stat1_strings[] = { "offline", "disabled", "down", "off", "waiting", "no daemon", NULL }; -static char *stat2_strings[] = { "jam", "paper", "error", "responding", "not accepting", "not running", "turned off", NULL }; +static const char *stat0_strings[] = { "enabled", "online", "idle", "no entries", "free", "ready", NULL }; +static const char *stat1_strings[] = { "offline", "disabled", "down", "off", "waiting", "no daemon", NULL }; +static const char *stat2_strings[] = { "jam", "paper", "error", "responding", "not accepting", "not running", "turned off", NULL }; #ifdef DEVELOPER @@ -960,6 +963,7 @@ static BOOL parse_lpq_vlp(char *line,print_queue_struct *buf,BOOL first) { int toknum = 0; fstring tok; + const char *cline = line; /* First line is printer status */ @@ -967,7 +971,7 @@ static BOOL parse_lpq_vlp(char *line,print_queue_struct *buf,BOOL first) /* Parse a print job entry */ - while(next_token(&line, tok, NULL, sizeof(fstring))) { + while(next_token(&cline, tok, NULL, sizeof(fstring))) { switch (toknum) { case 0: buf->job = atoi(tok); diff --git a/source/printing/nt_printing.c b/source/printing/nt_printing.c index 8d3fde212b3..52a7386010c 100644 --- a/source/printing/nt_printing.c +++ b/source/printing/nt_printing.c @@ -257,7 +257,7 @@ static BOOL upgrade_to_version_3(void) BOOL nt_printing_init(void) { static pid_t local_pid; - char *vstring = "INFO/version"; + const char *vstring = "INFO/version"; if (tdb_drivers && tdb_printers && tdb_forms && local_pid == sys_getpid()) return True; @@ -644,11 +644,12 @@ int get_ntdrivers(fstring **list, char *architecture, uint32 version) function to do the mapping between the long architecture name and the short one. ****************************************************************************/ -BOOL get_short_archi(char *short_archi, char *long_archi) + +BOOL get_short_archi(char *short_archi, const char *long_archi) { struct table { - char *long_archi; - char *short_archi; + const char *long_archi; + const char *short_archi; }; struct table archi_table[]= @@ -1049,6 +1050,8 @@ static uint32 get_correct_cversion(fstring architecture, fstring driverpath_in, pstring driverpath; fstring user_name; fstring null_pw; + fstring dev; + fstring sharename; files_struct *fsp = NULL; BOOL bad_path; int ecode; @@ -1087,7 +1090,9 @@ static uint32 get_correct_cversion(fstring architecture, fstring driverpath_in, /* Null password is ok - we are already an authenticated user... */ *null_pw = '\0'; - conn = make_connection("print$", user_name, null_pw, 0, "A:", user->vuid, &ecode); + fstrcpy(dev, "A:"); + fstrcpy(sharename, "print$"); + conn = make_connection(sharename, user_name, null_pw, 0, dev, user->vuid, &ecode); unbecome_root(); if (conn == NULL) { @@ -1376,6 +1381,8 @@ BOOL move_driver_to_download_area(NT_PRINTER_DRIVER_INFO_LEVEL driver_abstract, pstring new_name; fstring user_name; fstring null_pw; + fstring dev; + fstring sharename; connection_struct *conn; pstring inbuf; pstring outbuf; @@ -1419,7 +1426,9 @@ BOOL move_driver_to_download_area(NT_PRINTER_DRIVER_INFO_LEVEL driver_abstract, /* Null password is ok - we are already an authenticated user... */ *null_pw = '\0'; - conn = make_connection("print$", user_name, null_pw, 0, "A:", user->vuid, &ecode); + fstrcpy(dev, "A:"); + fstrcpy(sharename, "print$"); + conn = make_connection(sharename, user_name, null_pw, 0, dev, user->vuid, &ecode); unbecome_root(); if (conn == NULL) { @@ -1721,7 +1730,7 @@ static uint32 add_a_printer_driver_6(NT_PRINTER_DRIVER_INFO_LEVEL_6 *driver) /**************************************************************************** ****************************************************************************/ -static WERROR get_a_printer_driver_3_default(NT_PRINTER_DRIVER_INFO_LEVEL_3 **info_ptr, fstring in_prt, fstring in_arch) +static WERROR get_a_printer_driver_3_default(NT_PRINTER_DRIVER_INFO_LEVEL_3 **info_ptr, const fstring in_prt, const fstring in_arch) { NT_PRINTER_DRIVER_INFO_LEVEL_3 info; @@ -1748,7 +1757,7 @@ static WERROR get_a_printer_driver_3_default(NT_PRINTER_DRIVER_INFO_LEVEL_3 **in /**************************************************************************** ****************************************************************************/ -static WERROR get_a_printer_driver_3(NT_PRINTER_DRIVER_INFO_LEVEL_3 **info_ptr, fstring in_prt, fstring in_arch, uint32 version) +static WERROR get_a_printer_driver_3(NT_PRINTER_DRIVER_INFO_LEVEL_3 **info_ptr, const fstring in_prt, const fstring in_arch, uint32 version) { NT_PRINTER_DRIVER_INFO_LEVEL_3 driver; TDB_DATA kbuf, dbuf; @@ -1817,7 +1826,7 @@ static WERROR get_a_printer_driver_3(NT_PRINTER_DRIVER_INFO_LEVEL_3 **info_ptr, /**************************************************************************** ****************************************************************************/ -uint32 get_a_printer_driver_9x_compatible(pstring line, fstring model) +uint32 get_a_printer_driver_9x_compatible(pstring line, const fstring model) { NT_PRINTER_DRIVER_INFO_LEVEL_3 *info3; TDB_DATA kbuf; @@ -2227,7 +2236,7 @@ void free_nt_printer_param(NT_PRINTER_PARAM **param_ptr) NT_DEVICEMODE *construct_nt_devicemode(const fstring default_devicename) { - char adevice[32]; + char adevice[MAXDEVICENAME+1]; NT_DEVICEMODE *nt_devmode = (NT_DEVICEMODE *)malloc(sizeof(NT_DEVICEMODE)); if (nt_devmode == NULL) { @@ -2237,7 +2246,7 @@ NT_DEVICEMODE *construct_nt_devicemode(const fstring default_devicename) ZERO_STRUCTP(nt_devmode); - safe_strcpy(adevice, default_devicename, sizeof(adevice)); + safe_strcpy(adevice, default_devicename, sizeof(adevice)-1); fstrcpy(nt_devmode->devicename, adevice); fstrcpy(nt_devmode->formname, "Letter"); @@ -3377,7 +3386,7 @@ uint32 add_a_printer_driver(NT_PRINTER_DRIVER_INFO_LEVEL driver, uint32 level) /**************************************************************************** ****************************************************************************/ WERROR get_a_printer_driver(NT_PRINTER_DRIVER_INFO_LEVEL *driver, uint32 level, - fstring drivername, fstring architecture, uint32 version) + fstring drivername, const fstring architecture, uint32 version) { WERROR result; diff --git a/source/printing/printing.c b/source/printing/printing.c index 4f30c47481e..c5d2564a850 100644 --- a/source/printing/printing.c +++ b/source/printing/printing.c @@ -51,7 +51,7 @@ static int get_queue_status(int, print_status_struct *); BOOL print_backend_init(void) { - char *sversion = "INFO/version"; + const char *sversion = "INFO/version"; if (tdb && local_pid == sys_getpid()) return True; diff --git a/source/rpc_client/cli_spoolss_notify.c b/source/rpc_client/cli_spoolss_notify.c index 4a4d9d17093..a6ce3341b78 100644 --- a/source/rpc_client/cli_spoolss_notify.c +++ b/source/rpc_client/cli_spoolss_notify.c @@ -29,7 +29,7 @@ extern pstring global_myname; struct msg_info_table { uint32 msg; uint32 field; - char* name; + const char *name; void (*construct_fn) (int snum, SPOOL_NOTIFY_INFO_DATA *data, print_queue_struct *queue, NT_PRINTER_INFO_LEVEL *printer, TALLOC_CTX *mem_ctx); diff --git a/source/rpc_client/cli_trust.c b/source/rpc_client/cli_trust.c index a5be01b66f7..662c8443968 100644 --- a/source/rpc_client/cli_trust.c +++ b/source/rpc_client/cli_trust.c @@ -169,7 +169,7 @@ machine %s. Error was : %s.\n", remote_machine, cli_errstr(&cli))); update. ************************************************************************/ -BOOL change_trust_account_password( char *domain, char *remote_machine_list) +BOOL change_trust_account_password( char *domain, const char *remote_machine_list) { fstring remote_machine; unsigned char old_trust_passwd_hash[16]; diff --git a/source/rpc_parse/parse_dfs.c b/source/rpc_parse/parse_dfs.c index a152e3528e3..dc6cbca1c77 100644 --- a/source/rpc_parse/parse_dfs.c +++ b/source/rpc_parse/parse_dfs.c @@ -39,7 +39,7 @@ void init_dfs_q_dfs_exist(DFS_Q_DFS_EXIST *q_d) Read/write a DFS_Q_DFS_EXIST structure - dummy... ************************************************************/ -BOOL dfs_io_q_dfs_exist(char *desc, DFS_Q_DFS_EXIST *q_d, prs_struct *ps, int depth) +BOOL dfs_io_q_dfs_exist(const char *desc, DFS_Q_DFS_EXIST *q_d, prs_struct *ps, int depth) { if(q_d == NULL) return False; @@ -53,7 +53,7 @@ BOOL dfs_io_q_dfs_exist(char *desc, DFS_Q_DFS_EXIST *q_d, prs_struct *ps, int de Read/write a DFS_R_DFS_EXIST structure ************************************************************/ -BOOL dfs_io_r_dfs_exist(char *desc, DFS_R_DFS_EXIST *q_d, prs_struct *ps, int depth) +BOOL dfs_io_r_dfs_exist(const char *desc, DFS_R_DFS_EXIST *q_d, prs_struct *ps, int depth) { if(q_d == NULL) return False; @@ -74,8 +74,8 @@ BOOL dfs_io_r_dfs_exist(char *desc, DFS_R_DFS_EXIST *q_d, prs_struct *ps, int de Make a DFS_Q_DFS_REMOVE structure *******************************************************************/ -BOOL init_dfs_q_dfs_remove(DFS_Q_DFS_REMOVE *q_d, char *entrypath, - char *servername, char *sharename) +BOOL init_dfs_q_dfs_remove(DFS_Q_DFS_REMOVE *q_d, const char *entrypath, + const char *servername, const char *sharename) { DEBUG(5,("init_dfs_q_dfs_remove\n")); init_unistr2(&q_d->DfsEntryPath, entrypath, strlen(entrypath)+1); @@ -89,7 +89,7 @@ BOOL init_dfs_q_dfs_remove(DFS_Q_DFS_REMOVE *q_d, char *entrypath, Read/write a DFS_Q_DFS_REMOVE structure *******************************************************************/ -BOOL dfs_io_q_dfs_remove(char *desc, DFS_Q_DFS_REMOVE *q_d, prs_struct *ps, int depth) +BOOL dfs_io_q_dfs_remove(const char *desc, DFS_Q_DFS_REMOVE *q_d, prs_struct *ps, int depth) { if(q_d == NULL) return False; @@ -129,7 +129,7 @@ BOOL dfs_io_q_dfs_remove(char *desc, DFS_Q_DFS_REMOVE *q_d, prs_struct *ps, int Read/write a DFS_R_DFS_REMOVE structure *******************************************************************/ -BOOL dfs_io_r_dfs_remove(char *desc, DFS_R_DFS_REMOVE *r_d, prs_struct *ps, int depth) +BOOL dfs_io_r_dfs_remove(const char *desc, DFS_R_DFS_REMOVE *r_d, prs_struct *ps, int depth) { if(r_d == NULL) return False; @@ -147,8 +147,8 @@ BOOL dfs_io_r_dfs_remove(char *desc, DFS_R_DFS_REMOVE *r_d, prs_struct *ps, int Make a DFS_Q_DFS_ADD structure *******************************************************************/ -BOOL init_dfs_q_dfs_add(DFS_Q_DFS_ADD *q_d, char *entrypath, char *servername, - char *sharename, char *comment, uint32 flags) +BOOL init_dfs_q_dfs_add(DFS_Q_DFS_ADD *q_d, const char *entrypath, const char *servername, + const char *sharename, const char *comment, uint32 flags) { DEBUG(5,("init_dfs_q_dfs_add\n")); q_d->ptr_DfsEntryPath = q_d->ptr_ServerName = q_d->ptr_ShareName = 1; @@ -170,7 +170,7 @@ BOOL init_dfs_q_dfs_add(DFS_Q_DFS_ADD *q_d, char *entrypath, char *servername, Read/write a DFS_Q_DFS_ADD structure ************************************************************/ -BOOL dfs_io_q_dfs_add(char *desc, DFS_Q_DFS_ADD *q_d, prs_struct *ps, int depth) +BOOL dfs_io_q_dfs_add(const char *desc, DFS_Q_DFS_ADD *q_d, prs_struct *ps, int depth) { if(q_d == NULL) return False; @@ -215,7 +215,7 @@ BOOL dfs_io_q_dfs_add(char *desc, DFS_Q_DFS_ADD *q_d, prs_struct *ps, int depth) Read/write a DFS_R_DFS_ADD structure ************************************************************/ -BOOL dfs_io_r_dfs_add(char *desc, DFS_R_DFS_ADD *r_d, prs_struct *ps, int depth) +BOOL dfs_io_r_dfs_add(const char *desc, DFS_R_DFS_ADD *r_d, prs_struct *ps, int depth) { if(r_d == NULL) return False; @@ -229,8 +229,8 @@ BOOL dfs_io_r_dfs_add(char *desc, DFS_R_DFS_ADD *r_d, prs_struct *ps, int depth) return True; } -BOOL init_dfs_q_dfs_get_info(DFS_Q_DFS_GET_INFO *q_d, char *entrypath, - char *servername, char *sharename, +BOOL init_dfs_q_dfs_get_info(DFS_Q_DFS_GET_INFO *q_d, const char *entrypath, + const char *servername, const char *sharename, uint32 info_level) { DEBUG(5,("init_dfs_q2_get_info\n")); @@ -246,7 +246,7 @@ BOOL init_dfs_q_dfs_get_info(DFS_Q_DFS_GET_INFO *q_d, char *entrypath, Read/write a DFS_Q_GET_INFO structure ************************************************************/ -BOOL dfs_io_q_dfs_get_info(char* desc, DFS_Q_DFS_GET_INFO* q_i, prs_struct* ps, int depth) +BOOL dfs_io_q_dfs_get_info(const char* desc, DFS_Q_DFS_GET_INFO* q_i, prs_struct* ps, int depth) { if(q_i == NULL) return False; @@ -286,7 +286,7 @@ BOOL dfs_io_q_dfs_get_info(char* desc, DFS_Q_DFS_GET_INFO* q_i, prs_struct* ps, Read/write a DFS_R_GET_INFO structure ************************************************************/ -BOOL dfs_io_r_dfs_get_info(char* desc, DFS_R_DFS_GET_INFO* r_i, prs_struct* ps, int depth) +BOOL dfs_io_r_dfs_get_info(const char* desc, DFS_R_DFS_GET_INFO* r_i, prs_struct* ps, int depth) { if(r_i == NULL) return False; @@ -325,7 +325,7 @@ BOOL init_dfs_q_dfs_enum(DFS_Q_DFS_ENUM *q_d, uint32 level, DFS_INFO_CTR *ctr) Read or write the DFS_Q_DFS_ENUM structure ************************************************************/ -BOOL dfs_io_q_dfs_enum(char *desc, DFS_Q_DFS_ENUM *q_d, prs_struct *ps, int depth) +BOOL dfs_io_q_dfs_enum(const char *desc, DFS_Q_DFS_ENUM *q_d, prs_struct *ps, int depth) { if(q_d == NULL) return False; @@ -362,7 +362,7 @@ BOOL dfs_io_q_dfs_enum(char *desc, DFS_Q_DFS_ENUM *q_d, prs_struct *ps, int dept Read/write a DFS_INFO_CTR structure ************************************************************/ -BOOL dfs_io_dfs_info_ctr(char* desc, DFS_INFO_CTR* ctr, uint32 num_entries, uint32 level, prs_struct* ps, int depth) +BOOL dfs_io_dfs_info_ctr(const char *desc, DFS_INFO_CTR* ctr, uint32 num_entries, uint32 level, prs_struct* ps, int depth) { int i=0; @@ -462,7 +462,7 @@ BOOL dfs_io_dfs_info_ctr(char* desc, DFS_INFO_CTR* ctr, uint32 num_entries, uint Read/write a DFS_R_DFS_ENUM structure ************************************************************/ -BOOL dfs_io_r_dfs_enum(char *desc, DFS_R_DFS_ENUM *q_d, prs_struct *ps, int depth) +BOOL dfs_io_r_dfs_enum(const char *desc, DFS_R_DFS_ENUM *q_d, prs_struct *ps, int depth) { DFS_INFO_CTR *ctr; if(q_d == NULL) @@ -504,7 +504,7 @@ BOOL dfs_io_r_dfs_enum(char *desc, DFS_R_DFS_ENUM *q_d, prs_struct *ps, int dept return True; } -BOOL dfs_io_dfs_storage_info(char *desc, DFS_INFO_3* info3, prs_struct *ps, int depth) +BOOL dfs_io_dfs_storage_info(const char *desc, DFS_INFO_3* info3, prs_struct *ps, int depth) { int i=0; if(info3 == NULL) diff --git a/source/rpc_parse/parse_lsa.c b/source/rpc_parse/parse_lsa.c index 16f0a5bde8b..bce5c1c1964 100644 --- a/source/rpc_parse/parse_lsa.c +++ b/source/rpc_parse/parse_lsa.c @@ -22,14 +22,14 @@ #include "includes.h" -static BOOL lsa_io_trans_names(char *desc, LSA_TRANS_NAME_ENUM *trn, prs_struct *ps, int depth); +static BOOL lsa_io_trans_names(const char *desc, LSA_TRANS_NAME_ENUM *trn, prs_struct *ps, int depth); /******************************************************************* Inits a LSA_TRANS_NAME structure. ********************************************************************/ void init_lsa_trans_name(LSA_TRANS_NAME *trn, UNISTR2 *uni_name, - uint16 sid_name_use, char *name, uint32 idx) + uint16 sid_name_use, const char *name, uint32 idx) { int len_name = strlen(name); @@ -46,7 +46,7 @@ void init_lsa_trans_name(LSA_TRANS_NAME *trn, UNISTR2 *uni_name, Reads or writes a LSA_TRANS_NAME structure. ********************************************************************/ -static BOOL lsa_io_trans_name(char *desc, LSA_TRANS_NAME *trn, prs_struct *ps, +static BOOL lsa_io_trans_name(const char *desc, LSA_TRANS_NAME *trn, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "lsa_io_trans_name"); @@ -72,7 +72,7 @@ static BOOL lsa_io_trans_name(char *desc, LSA_TRANS_NAME *trn, prs_struct *ps, Reads or writes a DOM_R_REF structure. ********************************************************************/ -static BOOL lsa_io_dom_r_ref(char *desc, DOM_R_REF *r_r, prs_struct *ps, +static BOOL lsa_io_dom_r_ref(const char *desc, DOM_R_REF *r_r, prs_struct *ps, int depth) { int i; @@ -151,7 +151,7 @@ void init_lsa_sec_qos(LSA_SEC_QOS *qos, uint16 imp_lev, uint8 ctxt, uint8 eff) Reads or writes an LSA_SEC_QOS structure. ********************************************************************/ -static BOOL lsa_io_sec_qos(char *desc, LSA_SEC_QOS *qos, prs_struct *ps, +static BOOL lsa_io_sec_qos(const char *desc, LSA_SEC_QOS *qos, prs_struct *ps, int depth) { uint32 start; @@ -211,7 +211,7 @@ void init_lsa_obj_attr(LSA_OBJ_ATTR *attr, uint32 attributes, LSA_SEC_QOS *qos) Reads or writes an LSA_OBJ_ATTR structure. ********************************************************************/ -static BOOL lsa_io_obj_attr(char *desc, LSA_OBJ_ATTR *attr, prs_struct *ps, +static BOOL lsa_io_obj_attr(const char *desc, LSA_OBJ_ATTR *attr, prs_struct *ps, int depth) { uint32 start; @@ -285,7 +285,7 @@ void init_q_open_pol(LSA_Q_OPEN_POL *r_q, uint16 system_name, Reads or writes an LSA_Q_OPEN_POL structure. ********************************************************************/ -BOOL lsa_io_q_open_pol(char *desc, LSA_Q_OPEN_POL *r_q, prs_struct *ps, +BOOL lsa_io_q_open_pol(const char *desc, LSA_Q_OPEN_POL *r_q, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "lsa_io_q_open_pol"); @@ -311,7 +311,7 @@ BOOL lsa_io_q_open_pol(char *desc, LSA_Q_OPEN_POL *r_q, prs_struct *ps, Reads or writes an LSA_R_OPEN_POL structure. ********************************************************************/ -BOOL lsa_io_r_open_pol(char *desc, LSA_R_OPEN_POL *r_p, prs_struct *ps, +BOOL lsa_io_r_open_pol(const char *desc, LSA_R_OPEN_POL *r_p, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "lsa_io_r_open_pol"); @@ -330,7 +330,7 @@ BOOL lsa_io_r_open_pol(char *desc, LSA_R_OPEN_POL *r_p, prs_struct *ps, Inits an LSA_Q_OPEN_POL2 structure. ********************************************************************/ -void init_q_open_pol2(LSA_Q_OPEN_POL2 *r_q, char *server_name, +void init_q_open_pol2(LSA_Q_OPEN_POL2 *r_q, const char *server_name, uint32 attributes, uint32 desired_access, LSA_SEC_QOS *qos) { @@ -351,7 +351,7 @@ void init_q_open_pol2(LSA_Q_OPEN_POL2 *r_q, char *server_name, Reads or writes an LSA_Q_OPEN_POL2 structure. ********************************************************************/ -BOOL lsa_io_q_open_pol2(char *desc, LSA_Q_OPEN_POL2 *r_q, prs_struct *ps, +BOOL lsa_io_q_open_pol2(const char *desc, LSA_Q_OPEN_POL2 *r_q, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "lsa_io_q_open_pol2"); @@ -375,7 +375,7 @@ BOOL lsa_io_q_open_pol2(char *desc, LSA_Q_OPEN_POL2 *r_q, prs_struct *ps, Reads or writes an LSA_R_OPEN_POL2 structure. ********************************************************************/ -BOOL lsa_io_r_open_pol2(char *desc, LSA_R_OPEN_POL2 *r_p, prs_struct *ps, +BOOL lsa_io_r_open_pol2(const char *desc, LSA_R_OPEN_POL2 *r_p, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "lsa_io_r_open_pol2"); @@ -409,7 +409,7 @@ void init_q_query_sec_obj(LSA_Q_QUERY_SEC_OBJ *q_q, const POLICY_HND *hnd, Reads or writes an LSA_Q_QUERY_SEC_OBJ structure. ********************************************************************/ -BOOL lsa_io_q_query_sec_obj(char *desc, LSA_Q_QUERY_SEC_OBJ *q_q, +BOOL lsa_io_q_query_sec_obj(const char *desc, LSA_Q_QUERY_SEC_OBJ *q_q, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "lsa_io_q_query_sec_obj"); @@ -428,7 +428,7 @@ BOOL lsa_io_q_query_sec_obj(char *desc, LSA_Q_QUERY_SEC_OBJ *q_q, Reads or writes a LSA_R_QUERY_SEC_OBJ structure. ********************************************************************/ -BOOL lsa_io_r_query_sec_obj(char *desc, LSA_R_QUERY_SEC_OBJ *r_u, +BOOL lsa_io_r_query_sec_obj(const char *desc, LSA_R_QUERY_SEC_OBJ *r_u, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "lsa_io_r_query_sec_obj"); @@ -468,7 +468,7 @@ void init_q_query(LSA_Q_QUERY_INFO *q_q, POLICY_HND *hnd, uint16 info_class) Reads or writes an LSA_Q_QUERY_INFO structure. ********************************************************************/ -BOOL lsa_io_q_query(char *desc, LSA_Q_QUERY_INFO *q_q, prs_struct *ps, +BOOL lsa_io_q_query(const char *desc, LSA_Q_QUERY_INFO *q_q, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "lsa_io_q_query"); @@ -502,7 +502,7 @@ BOOL init_q_enum_trust_dom(LSA_Q_ENUM_TRUST_DOM * q_e, POLICY_HND *pol, Reads or writes an LSA_Q_ENUM_TRUST_DOM structure. ********************************************************************/ -BOOL lsa_io_q_enum_trust_dom(char *desc, LSA_Q_ENUM_TRUST_DOM *q_e, +BOOL lsa_io_q_enum_trust_dom(const char *desc, LSA_Q_ENUM_TRUST_DOM *q_e, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "lsa_io_q_enum_trust_dom"); @@ -524,7 +524,7 @@ BOOL lsa_io_q_enum_trust_dom(char *desc, LSA_Q_ENUM_TRUST_DOM *q_e, ********************************************************************/ void init_r_enum_trust_dom(TALLOC_CTX *ctx, LSA_R_ENUM_TRUST_DOM *r_e, uint32 enum_context, - char *domain_name, DOM_SID *domain_sid, + const char *domain_name, DOM_SID *domain_sid, NTSTATUS status) { DEBUG(5, ("init_r_enum_trust_dom\n")); @@ -563,7 +563,7 @@ void init_r_enum_trust_dom(TALLOC_CTX *ctx, LSA_R_ENUM_TRUST_DOM *r_e, uint32 en Reads or writes an LSA_R_ENUM_TRUST_DOM structure. ********************************************************************/ -BOOL lsa_io_r_enum_trust_dom(char *desc, LSA_R_ENUM_TRUST_DOM *r_e, +BOOL lsa_io_r_enum_trust_dom(const char *desc, LSA_R_ENUM_TRUST_DOM *r_e, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "lsa_io_r_enum_trust_dom"); @@ -622,7 +622,7 @@ BOOL lsa_io_r_enum_trust_dom(char *desc, LSA_R_ENUM_TRUST_DOM *r_e, reads or writes a dom query structure. ********************************************************************/ -static BOOL lsa_io_dom_query(char *desc, DOM_QUERY *d_q, prs_struct *ps, int depth) +static BOOL lsa_io_dom_query(const char *desc, DOM_QUERY *d_q, prs_struct *ps, int depth) { if (d_q == NULL) return False; @@ -663,7 +663,7 @@ static BOOL lsa_io_dom_query(char *desc, DOM_QUERY *d_q, prs_struct *ps, int dep reads or writes a structure. ********************************************************************/ -static BOOL lsa_io_dom_query_2(char *desc, DOM_QUERY_2 *d_q, prs_struct *ps, int depth) +static BOOL lsa_io_dom_query_2(const char *desc, DOM_QUERY_2 *d_q, prs_struct *ps, int depth) { uint32 ptr = 1; @@ -704,7 +704,7 @@ static BOOL lsa_io_dom_query_2(char *desc, DOM_QUERY_2 *d_q, prs_struct *ps, int Reads or writes a dom query structure. ********************************************************************/ -static BOOL lsa_io_dom_query_3(char *desc, DOM_QUERY_3 *d_q, prs_struct *ps, int depth) +static BOOL lsa_io_dom_query_3(const char *desc, DOM_QUERY_3 *d_q, prs_struct *ps, int depth) { return lsa_io_dom_query("", d_q, ps, depth); } @@ -713,7 +713,7 @@ static BOOL lsa_io_dom_query_3(char *desc, DOM_QUERY_3 *d_q, prs_struct *ps, int Reads or writes a dom query structure. ********************************************************************/ -BOOL lsa_io_dom_query_5(char *desc, DOM_QUERY_5 *d_q, prs_struct *ps, int depth) +BOOL lsa_io_dom_query_5(const char *desc, DOM_QUERY_5 *d_q, prs_struct *ps, int depth) { return lsa_io_dom_query("", d_q, ps, depth); } @@ -722,7 +722,7 @@ BOOL lsa_io_dom_query_5(char *desc, DOM_QUERY_5 *d_q, prs_struct *ps, int depth) Reads or writes a dom query structure. ********************************************************************/ -static BOOL lsa_io_dom_query_6(char *desc, DOM_QUERY_6 *d_q, prs_struct *ps, int depth) +static BOOL lsa_io_dom_query_6(const char *desc, DOM_QUERY_6 *d_q, prs_struct *ps, int depth) { if (d_q == NULL) return False; @@ -740,7 +740,7 @@ static BOOL lsa_io_dom_query_6(char *desc, DOM_QUERY_6 *d_q, prs_struct *ps, int Reads or writes an LSA_R_QUERY_INFO structure. ********************************************************************/ -BOOL lsa_io_r_query(char *desc, LSA_R_QUERY_INFO *r_q, prs_struct *ps, +BOOL lsa_io_r_query(const char *desc, LSA_R_QUERY_INFO *r_q, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "lsa_io_r_query"); @@ -831,7 +831,7 @@ void init_lsa_sid_enum(TALLOC_CTX *mem_ctx, LSA_SID_ENUM *sen, Reads or writes a LSA_SID_ENUM structure. ********************************************************************/ -static BOOL lsa_io_sid_enum(char *desc, LSA_SID_ENUM *sen, prs_struct *ps, +static BOOL lsa_io_sid_enum(const char *desc, LSA_SID_ENUM *sen, prs_struct *ps, int depth) { int i; @@ -919,7 +919,7 @@ void init_q_lookup_sids(TALLOC_CTX *mem_ctx, LSA_Q_LOOKUP_SIDS *q_l, Reads or writes a LSA_Q_LOOKUP_SIDS structure. ********************************************************************/ -BOOL lsa_io_q_lookup_sids(char *desc, LSA_Q_LOOKUP_SIDS *q_s, prs_struct *ps, +BOOL lsa_io_q_lookup_sids(const char *desc, LSA_Q_LOOKUP_SIDS *q_s, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "lsa_io_q_lookup_sids"); @@ -947,7 +947,7 @@ BOOL lsa_io_q_lookup_sids(char *desc, LSA_Q_LOOKUP_SIDS *q_s, prs_struct *ps, Reads or writes a structure. ********************************************************************/ -static BOOL lsa_io_trans_names(char *desc, LSA_TRANS_NAME_ENUM *trn, +static BOOL lsa_io_trans_names(const char *desc, LSA_TRANS_NAME_ENUM *trn, prs_struct *ps, int depth) { int i; @@ -1008,7 +1008,7 @@ static BOOL lsa_io_trans_names(char *desc, LSA_TRANS_NAME_ENUM *trn, Reads or writes a structure. ********************************************************************/ -BOOL lsa_io_r_lookup_sids(char *desc, LSA_R_LOOKUP_SIDS *r_s, +BOOL lsa_io_r_lookup_sids(const char *desc, LSA_R_LOOKUP_SIDS *r_s, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "lsa_io_r_lookup_sids"); @@ -1082,7 +1082,7 @@ void init_q_lookup_names(TALLOC_CTX *mem_ctx, LSA_Q_LOOKUP_NAMES *q_l, reads or writes a structure. ********************************************************************/ -BOOL lsa_io_q_lookup_names(char *desc, LSA_Q_LOOKUP_NAMES *q_r, +BOOL lsa_io_q_lookup_names(const char *desc, LSA_Q_LOOKUP_NAMES *q_r, prs_struct *ps, int depth) { int i; @@ -1146,7 +1146,7 @@ BOOL lsa_io_q_lookup_names(char *desc, LSA_Q_LOOKUP_NAMES *q_r, reads or writes a structure. ********************************************************************/ -BOOL lsa_io_r_lookup_names(char *desc, LSA_R_LOOKUP_NAMES *r_r, +BOOL lsa_io_r_lookup_names(const char *desc, LSA_R_LOOKUP_NAMES *r_r, prs_struct *ps, int depth) { int i; @@ -1216,7 +1216,7 @@ void init_lsa_q_close(LSA_Q_CLOSE *q_c, POLICY_HND *hnd) Reads or writes an LSA_Q_CLOSE structure. ********************************************************************/ -BOOL lsa_io_q_close(char *desc, LSA_Q_CLOSE *q_c, prs_struct *ps, int depth) +BOOL lsa_io_q_close(const char *desc, LSA_Q_CLOSE *q_c, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "lsa_io_q_close"); depth++; @@ -1231,7 +1231,7 @@ BOOL lsa_io_q_close(char *desc, LSA_Q_CLOSE *q_c, prs_struct *ps, int depth) Reads or writes an LSA_R_CLOSE structure. ********************************************************************/ -BOOL lsa_io_r_close(char *desc, LSA_R_CLOSE *r_c, prs_struct *ps, int depth) +BOOL lsa_io_r_close(const char *desc, LSA_R_CLOSE *r_c, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "lsa_io_r_close"); depth++; @@ -1249,7 +1249,7 @@ BOOL lsa_io_r_close(char *desc, LSA_R_CLOSE *r_c, prs_struct *ps, int depth) Reads or writes an LSA_Q_OPEN_SECRET structure. ********************************************************************/ -BOOL lsa_io_q_open_secret(char *desc, LSA_Q_OPEN_SECRET *q_c, prs_struct *ps, int depth) +BOOL lsa_io_q_open_secret(const char *desc, LSA_Q_OPEN_SECRET *q_c, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "lsa_io_q_open_secret"); depth++; @@ -1262,7 +1262,7 @@ BOOL lsa_io_q_open_secret(char *desc, LSA_Q_OPEN_SECRET *q_c, prs_struct *ps, in Reads or writes an LSA_R_OPEN_SECRET structure. ********************************************************************/ -BOOL lsa_io_r_open_secret(char *desc, LSA_R_OPEN_SECRET *r_c, prs_struct *ps, int depth) +BOOL lsa_io_r_open_secret(const char *desc, LSA_R_OPEN_SECRET *r_c, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "lsa_io_r_open_secret"); depth++; @@ -1301,7 +1301,7 @@ void init_q_enum_privs(LSA_Q_ENUM_PRIVS *q_q, POLICY_HND *hnd, uint32 enum_conte /******************************************************************* reads or writes a structure. ********************************************************************/ -BOOL lsa_io_q_enum_privs(char *desc, LSA_Q_ENUM_PRIVS *q_q, prs_struct *ps, int depth) +BOOL lsa_io_q_enum_privs(const char *desc, LSA_Q_ENUM_PRIVS *q_q, prs_struct *ps, int depth) { if (q_q == NULL) return False; @@ -1323,7 +1323,7 @@ BOOL lsa_io_q_enum_privs(char *desc, LSA_Q_ENUM_PRIVS *q_q, prs_struct *ps, int /******************************************************************* reads or writes a structure. ********************************************************************/ -static BOOL lsa_io_priv_entries(char *desc, LSA_PRIV_ENTRY *entries, uint32 count, prs_struct *ps, int depth) +static BOOL lsa_io_priv_entries(const char *desc, LSA_PRIV_ENTRY *entries, uint32 count, prs_struct *ps, int depth) { uint32 i; @@ -1378,7 +1378,7 @@ void init_lsa_r_enum_privs(LSA_R_ENUM_PRIVS *r_u, uint32 enum_context, /******************************************************************* reads or writes a structure. ********************************************************************/ -BOOL lsa_io_r_enum_privs(char *desc, LSA_R_ENUM_PRIVS *r_q, prs_struct *ps, int depth) +BOOL lsa_io_r_enum_privs(const char *desc, LSA_R_ENUM_PRIVS *r_q, prs_struct *ps, int depth) { if (r_q == NULL) return False; @@ -1417,7 +1417,7 @@ BOOL lsa_io_r_enum_privs(char *desc, LSA_R_ENUM_PRIVS *r_q, prs_struct *ps, int return True; } -void init_lsa_priv_get_dispname(LSA_Q_PRIV_GET_DISPNAME *trn, POLICY_HND *hnd, char *name, uint16 lang_id, uint16 lang_id_sys) +void init_lsa_priv_get_dispname(LSA_Q_PRIV_GET_DISPNAME *trn, POLICY_HND *hnd, const char *name, uint16 lang_id, uint16 lang_id_sys) { int len_name = strlen(name); @@ -1435,7 +1435,7 @@ void init_lsa_priv_get_dispname(LSA_Q_PRIV_GET_DISPNAME *trn, POLICY_HND *hnd, c /******************************************************************* reads or writes a structure. ********************************************************************/ -BOOL lsa_io_q_priv_get_dispname(char *desc, LSA_Q_PRIV_GET_DISPNAME *q_q, prs_struct *ps, int depth) +BOOL lsa_io_q_priv_get_dispname(const char *desc, LSA_Q_PRIV_GET_DISPNAME *q_q, prs_struct *ps, int depth) { if (q_q == NULL) return False; @@ -1466,7 +1466,7 @@ BOOL lsa_io_q_priv_get_dispname(char *desc, LSA_Q_PRIV_GET_DISPNAME *q_q, prs_st /******************************************************************* reads or writes a structure. ********************************************************************/ -BOOL lsa_io_r_priv_get_dispname(char *desc, LSA_R_PRIV_GET_DISPNAME *r_q, prs_struct *ps, int depth) +BOOL lsa_io_r_priv_get_dispname(const char *desc, LSA_R_PRIV_GET_DISPNAME *r_q, prs_struct *ps, int depth) { if (r_q == NULL) return False; @@ -1513,7 +1513,7 @@ void init_lsa_q_enum_accounts(LSA_Q_ENUM_ACCOUNTS *trn, POLICY_HND *hnd, uint32 /******************************************************************* reads or writes a structure. ********************************************************************/ -BOOL lsa_io_q_enum_accounts(char *desc, LSA_Q_ENUM_ACCOUNTS *q_q, prs_struct *ps, int depth) +BOOL lsa_io_q_enum_accounts(const char *desc, LSA_Q_ENUM_ACCOUNTS *q_q, prs_struct *ps, int depth) { if (q_q == NULL) return False; @@ -1555,7 +1555,7 @@ void init_lsa_r_enum_accounts(LSA_R_ENUM_ACCOUNTS *r_u, uint32 enum_context) /******************************************************************* reads or writes a structure. ********************************************************************/ -BOOL lsa_io_r_enum_accounts(char *desc, LSA_R_ENUM_ACCOUNTS *r_q, prs_struct *ps, int depth) +BOOL lsa_io_r_enum_accounts(const char *desc, LSA_R_ENUM_ACCOUNTS *r_q, prs_struct *ps, int depth) { if (r_q == NULL) return False; @@ -1586,7 +1586,7 @@ BOOL lsa_io_r_enum_accounts(char *desc, LSA_R_ENUM_ACCOUNTS *r_q, prs_struct *ps Reads or writes an LSA_Q_UNK_GET_CONNUSER structure. ********************************************************************/ -BOOL lsa_io_q_unk_get_connuser(char *desc, LSA_Q_UNK_GET_CONNUSER *q_c, prs_struct *ps, int depth) +BOOL lsa_io_q_unk_get_connuser(const char *desc, LSA_Q_UNK_GET_CONNUSER *q_c, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "lsa_io_q_unk_get_connuser"); depth++; @@ -1618,7 +1618,7 @@ BOOL lsa_io_q_unk_get_connuser(char *desc, LSA_Q_UNK_GET_CONNUSER *q_c, prs_stru Reads or writes an LSA_R_UNK_GET_CONNUSER structure. ********************************************************************/ -BOOL lsa_io_r_unk_get_connuser(char *desc, LSA_R_UNK_GET_CONNUSER *r_c, prs_struct *ps, int depth) +BOOL lsa_io_r_unk_get_connuser(const char *desc, LSA_R_UNK_GET_CONNUSER *r_c, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "lsa_io_r_unk_get_connuser"); depth++; @@ -1667,7 +1667,7 @@ void init_lsa_q_open_account(LSA_Q_OPENACCOUNT *trn, POLICY_HND *hnd, DOM_SID *s Reads or writes an LSA_Q_OPENACCOUNT structure. ********************************************************************/ -BOOL lsa_io_q_open_account(char *desc, LSA_Q_OPENACCOUNT *r_c, prs_struct *ps, int depth) +BOOL lsa_io_q_open_account(const char *desc, LSA_Q_OPENACCOUNT *r_c, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "lsa_io_q_open_account"); depth++; @@ -1691,7 +1691,7 @@ BOOL lsa_io_q_open_account(char *desc, LSA_Q_OPENACCOUNT *r_c, prs_struct *ps, i Reads or writes an LSA_R_OPENACCOUNT structure. ********************************************************************/ -BOOL lsa_io_r_open_account(char *desc, LSA_R_OPENACCOUNT *r_c, prs_struct *ps, int depth) +BOOL lsa_io_r_open_account(const char *desc, LSA_R_OPENACCOUNT *r_c, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "lsa_io_r_open_account"); depth++; @@ -1719,7 +1719,7 @@ void init_lsa_q_enum_privsaccount(LSA_Q_ENUMPRIVSACCOUNT *trn, POLICY_HND *hnd) Reads or writes an LSA_Q_ENUMPRIVSACCOUNT structure. ********************************************************************/ -BOOL lsa_io_q_enum_privsaccount(char *desc, LSA_Q_ENUMPRIVSACCOUNT *r_c, prs_struct *ps, int depth) +BOOL lsa_io_q_enum_privsaccount(const char *desc, LSA_Q_ENUMPRIVSACCOUNT *r_c, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "lsa_io_q_enum_privsaccount"); depth++; @@ -1737,7 +1737,7 @@ BOOL lsa_io_q_enum_privsaccount(char *desc, LSA_Q_ENUMPRIVSACCOUNT *r_c, prs_str Reads or writes an LUID structure. ********************************************************************/ -BOOL lsa_io_luid(char *desc, LUID *r_c, prs_struct *ps, int depth) +BOOL lsa_io_luid(const char *desc, LUID *r_c, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "lsa_io_luid"); depth++; @@ -1758,7 +1758,7 @@ BOOL lsa_io_luid(char *desc, LUID *r_c, prs_struct *ps, int depth) Reads or writes an LUID_ATTR structure. ********************************************************************/ -BOOL lsa_io_luid_attr(char *desc, LUID_ATTR *r_c, prs_struct *ps, int depth) +BOOL lsa_io_luid_attr(const char *desc, LUID_ATTR *r_c, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "lsa_io_luid_attr"); depth++; @@ -1779,7 +1779,7 @@ BOOL lsa_io_luid_attr(char *desc, LUID_ATTR *r_c, prs_struct *ps, int depth) Reads or writes an PRIVILEGE_SET structure. ********************************************************************/ -BOOL lsa_io_privilege_set(char *desc, PRIVILEGE_SET *r_c, prs_struct *ps, int depth) +BOOL lsa_io_privilege_set(const char *desc, PRIVILEGE_SET *r_c, prs_struct *ps, int depth) { uint32 i; @@ -1816,7 +1816,7 @@ void init_lsa_r_enum_privsaccount(LSA_R_ENUMPRIVSACCOUNT *r_u, LUID_ATTR *set, u Reads or writes an LSA_R_ENUMPRIVSACCOUNT structure. ********************************************************************/ -BOOL lsa_io_r_enum_privsaccount(char *desc, LSA_R_ENUMPRIVSACCOUNT *r_c, prs_struct *ps, int depth) +BOOL lsa_io_r_enum_privsaccount(const char *desc, LSA_R_ENUMPRIVSACCOUNT *r_c, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "lsa_io_r_enum_privsaccount"); depth++; @@ -1855,7 +1855,7 @@ BOOL lsa_io_r_enum_privsaccount(char *desc, LSA_R_ENUMPRIVSACCOUNT *r_c, prs_str Reads or writes an LSA_Q_GETSYSTEMACCOUNTstructure. ********************************************************************/ -BOOL lsa_io_q_getsystemaccount(char *desc, LSA_Q_GETSYSTEMACCOUNT *r_c, prs_struct *ps, int depth) +BOOL lsa_io_q_getsystemaccount(const char *desc, LSA_Q_GETSYSTEMACCOUNT *r_c, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "lsa_io_q_getsystemaccount"); depth++; @@ -1873,7 +1873,7 @@ BOOL lsa_io_q_getsystemaccount(char *desc, LSA_Q_GETSYSTEMACCOUNT *r_c, prs_str Reads or writes an LSA_R_GETSYSTEMACCOUNTstructure. ********************************************************************/ -BOOL lsa_io_r_getsystemaccount(char *desc, LSA_R_GETSYSTEMACCOUNT *r_c, prs_struct *ps, int depth) +BOOL lsa_io_r_getsystemaccount(const char *desc, LSA_R_GETSYSTEMACCOUNT *r_c, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "lsa_io_r_getsystemaccount"); depth++; @@ -1895,7 +1895,7 @@ BOOL lsa_io_r_getsystemaccount(char *desc, LSA_R_GETSYSTEMACCOUNT *r_c, prs_str Reads or writes an LSA_Q_SETSYSTEMACCOUNT structure. ********************************************************************/ -BOOL lsa_io_q_setsystemaccount(char *desc, LSA_Q_SETSYSTEMACCOUNT *r_c, prs_struct *ps, int depth) +BOOL lsa_io_q_setsystemaccount(const char *desc, LSA_Q_SETSYSTEMACCOUNT *r_c, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "lsa_io_q_setsystemaccount"); depth++; @@ -1916,7 +1916,7 @@ BOOL lsa_io_q_setsystemaccount(char *desc, LSA_Q_SETSYSTEMACCOUNT *r_c, prs_str Reads or writes an LSA_R_SETSYSTEMACCOUNT structure. ********************************************************************/ -BOOL lsa_io_r_setsystemaccount(char *desc, LSA_R_SETSYSTEMACCOUNT *r_c, prs_struct *ps, int depth) +BOOL lsa_io_r_setsystemaccount(const char *desc, LSA_R_SETSYSTEMACCOUNT *r_c, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "lsa_io_r_setsystemaccount"); depth++; @@ -1931,7 +1931,7 @@ BOOL lsa_io_r_setsystemaccount(char *desc, LSA_R_SETSYSTEMACCOUNT *r_c, prs_str } -void init_lsa_q_lookupprivvalue(LSA_Q_LOOKUPPRIVVALUE *trn, POLICY_HND *hnd, char *name) +void init_lsa_q_lookupprivvalue(LSA_Q_LOOKUPPRIVVALUE *trn, POLICY_HND *hnd, const char *name) { int len_name = strlen(name); memcpy(&trn->pol, hnd, sizeof(trn->pol)); @@ -1947,7 +1947,7 @@ void init_lsa_q_lookupprivvalue(LSA_Q_LOOKUPPRIVVALUE *trn, POLICY_HND *hnd, cha Reads or writes an LSA_Q_LOOKUPPRIVVALUE structure. ********************************************************************/ -BOOL lsa_io_q_lookupprivvalue(char *desc, LSA_Q_LOOKUPPRIVVALUE *r_c, prs_struct *ps, int depth) +BOOL lsa_io_q_lookupprivvalue(const char *desc, LSA_Q_LOOKUPPRIVVALUE *r_c, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "lsa_io_q_lookupprivvalue"); depth++; @@ -1969,7 +1969,7 @@ BOOL lsa_io_q_lookupprivvalue(char *desc, LSA_Q_LOOKUPPRIVVALUE *r_c, prs_struc Reads or writes an LSA_R_LOOKUPPRIVVALUE structure. ********************************************************************/ -BOOL lsa_io_r_lookupprivvalue(char *desc, LSA_R_LOOKUPPRIVVALUE *r_c, prs_struct *ps, int depth) +BOOL lsa_io_r_lookupprivvalue(const char *desc, LSA_R_LOOKUPPRIVVALUE *r_c, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "lsa_io_r_lookupprivvalue"); depth++; @@ -1991,7 +1991,7 @@ BOOL lsa_io_r_lookupprivvalue(char *desc, LSA_R_LOOKUPPRIVVALUE *r_c, prs_struc Reads or writes an LSA_Q_ADDPRIVS structure. ********************************************************************/ -BOOL lsa_io_q_addprivs(char *desc, LSA_Q_ADDPRIVS *r_c, prs_struct *ps, int depth) +BOOL lsa_io_q_addprivs(const char *desc, LSA_Q_ADDPRIVS *r_c, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "lsa_io_q_addprivs"); depth++; @@ -2020,7 +2020,7 @@ BOOL lsa_io_q_addprivs(char *desc, LSA_Q_ADDPRIVS *r_c, prs_struct *ps, int dept Reads or writes an LSA_R_ADDPRIVS structure. ********************************************************************/ -BOOL lsa_io_r_addprivs(char *desc, LSA_R_ADDPRIVS *r_c, prs_struct *ps, int depth) +BOOL lsa_io_r_addprivs(const char *desc, LSA_R_ADDPRIVS *r_c, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "lsa_io_r_addprivs"); depth++; @@ -2038,7 +2038,7 @@ BOOL lsa_io_r_addprivs(char *desc, LSA_R_ADDPRIVS *r_c, prs_struct *ps, int dept Reads or writes an LSA_Q_REMOVEPRIVS structure. ********************************************************************/ -BOOL lsa_io_q_removeprivs(char *desc, LSA_Q_REMOVEPRIVS *r_c, prs_struct *ps, int depth) +BOOL lsa_io_q_removeprivs(const char *desc, LSA_Q_REMOVEPRIVS *r_c, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "lsa_io_q_removeprivs"); depth++; @@ -2080,7 +2080,7 @@ BOOL lsa_io_q_removeprivs(char *desc, LSA_Q_REMOVEPRIVS *r_c, prs_struct *ps, in Reads or writes an LSA_R_REMOVEPRIVS structure. ********************************************************************/ -BOOL lsa_io_r_removeprivs(char *desc, LSA_R_REMOVEPRIVS *r_c, prs_struct *ps, int depth) +BOOL lsa_io_r_removeprivs(const char *desc, LSA_R_REMOVEPRIVS *r_c, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "lsa_io_r_removeprivs"); depth++; diff --git a/source/rpc_parse/parse_misc.c b/source/rpc_parse/parse_misc.c index 13b3706c972..e1cd3eb5122 100644 --- a/source/rpc_parse/parse_misc.c +++ b/source/rpc_parse/parse_misc.c @@ -90,7 +90,7 @@ TALLOC_CTX *get_talloc_ctx(void) Reads or writes a UTIME type. ********************************************************************/ -static BOOL smb_io_utime(char *desc, UTIME *t, prs_struct *ps, int depth) +static BOOL smb_io_utime(const char *desc, UTIME *t, prs_struct *ps, int depth) { if (t == NULL) return False; @@ -111,7 +111,7 @@ static BOOL smb_io_utime(char *desc, UTIME *t, prs_struct *ps, int depth) Reads or writes an NTTIME structure. ********************************************************************/ -BOOL smb_io_time(char *desc, NTTIME *nttime, prs_struct *ps, int depth) +BOOL smb_io_time(const char *desc, NTTIME *nttime, prs_struct *ps, int depth) { if (nttime == NULL) return False; @@ -134,7 +134,7 @@ BOOL smb_io_time(char *desc, NTTIME *nttime, prs_struct *ps, int depth) Reads or writes a LOOKUP_LEVEL structure. ********************************************************************/ -BOOL smb_io_lookup_level(char *desc, LOOKUP_LEVEL *level, prs_struct *ps, int depth) +BOOL smb_io_lookup_level(const char *desc, LOOKUP_LEVEL *level, prs_struct *ps, int depth) { if (level == NULL) return False; @@ -177,7 +177,7 @@ void init_enum_hnd(ENUM_HND *enh, uint32 hnd) Reads or writes an ENUM_HND structure. ********************************************************************/ -BOOL smb_io_enum_hnd(char *desc, ENUM_HND *hnd, prs_struct *ps, int depth) +BOOL smb_io_enum_hnd(const char *desc, ENUM_HND *hnd, prs_struct *ps, int depth) { if (hnd == NULL) return False; @@ -203,7 +203,7 @@ BOOL smb_io_enum_hnd(char *desc, ENUM_HND *hnd, prs_struct *ps, int depth) Reads or writes a DOM_SID structure. ********************************************************************/ -BOOL smb_io_dom_sid(char *desc, DOM_SID *sid, prs_struct *ps, int depth) +BOOL smb_io_dom_sid(const char *desc, DOM_SID *sid, prs_struct *ps, int depth) { int i; @@ -246,7 +246,7 @@ BOOL smb_io_dom_sid(char *desc, DOM_SID *sid, prs_struct *ps, int depth) identauth >= 2^32 can be detected because it will be specified in hex ********************************************************************/ -void init_dom_sid(DOM_SID *sid, char *str_sid) +void init_dom_sid(DOM_SID *sid, const char *str_sid) { pstring domsid; int identauth; @@ -304,7 +304,7 @@ void init_dom_sid2(DOM_SID2 *sid2, const DOM_SID *sid) Reads or writes a DOM_SID2 structure. ********************************************************************/ -BOOL smb_io_dom_sid2(char *desc, DOM_SID2 *sid, prs_struct *ps, int depth) +BOOL smb_io_dom_sid2(const char *desc, DOM_SID2 *sid, prs_struct *ps, int depth) { if (sid == NULL) return False; @@ -339,7 +339,7 @@ void init_str_hdr(STRHDR *hdr, int max_len, int len, uint32 buffer) Reads or writes a STRHDR structure. ********************************************************************/ -BOOL smb_io_strhdr(char *desc, STRHDR *hdr, prs_struct *ps, int depth) +BOOL smb_io_strhdr(const char *desc, STRHDR *hdr, prs_struct *ps, int depth) { if (hdr == NULL) return False; @@ -374,7 +374,7 @@ void init_uni_hdr(UNIHDR *hdr, int len) Reads or writes a UNIHDR structure. ********************************************************************/ -BOOL smb_io_unihdr(char *desc, UNIHDR *hdr, prs_struct *ps, int depth) +BOOL smb_io_unihdr(const char *desc, UNIHDR *hdr, prs_struct *ps, int depth) { if (hdr == NULL) return False; @@ -410,7 +410,7 @@ void init_buf_hdr(BUFHDR *hdr, int max_len, int len) uint16 should be stored, or gets the size if reading. ********************************************************************/ -BOOL smb_io_hdrbuf_pre(char *desc, BUFHDR *hdr, prs_struct *ps, int depth, uint32 *offset) +BOOL smb_io_hdrbuf_pre(const char *desc, BUFHDR *hdr, prs_struct *ps, int depth, uint32 *offset) { (*offset) = prs_offset(ps); if (ps->io) { @@ -436,7 +436,7 @@ BOOL smb_io_hdrbuf_pre(char *desc, BUFHDR *hdr, prs_struct *ps, int depth, uint3 Does nothing on reading, as that is already handled by ...._pre() ********************************************************************/ -BOOL smb_io_hdrbuf_post(char *desc, BUFHDR *hdr, prs_struct *ps, int depth, +BOOL smb_io_hdrbuf_post(const char *desc, BUFHDR *hdr, prs_struct *ps, int depth, uint32 ptr_hdrbuf, uint32 max_len, uint32 len) { if (!ps->io) { @@ -461,7 +461,7 @@ BOOL smb_io_hdrbuf_post(char *desc, BUFHDR *hdr, prs_struct *ps, int depth, Reads or writes a BUFHDR structure. ********************************************************************/ -BOOL smb_io_hdrbuf(char *desc, BUFHDR *hdr, prs_struct *ps, int depth) +BOOL smb_io_hdrbuf(const char *desc, BUFHDR *hdr, prs_struct *ps, int depth) { if (hdr == NULL) return False; @@ -494,7 +494,7 @@ void init_uni_hdr2(UNIHDR2 *hdr, int len) Reads or writes a UNIHDR2 structure. ********************************************************************/ -BOOL smb_io_unihdr2(char *desc, UNIHDR2 *hdr2, prs_struct *ps, int depth) +BOOL smb_io_unihdr2(const char *desc, UNIHDR2 *hdr2, prs_struct *ps, int depth) { if (hdr2 == NULL) return False; @@ -546,7 +546,7 @@ reads or writes a UNISTR structure. XXXX NOTE: UNISTR structures NEED to be null-terminated. ********************************************************************/ -BOOL smb_io_unistr(char *desc, UNISTR *uni, prs_struct *ps, int depth) +BOOL smb_io_unistr(const char *desc, UNISTR *uni, prs_struct *ps, int depth) { if (uni == NULL) return False; @@ -643,7 +643,7 @@ void init_buffer3_bytes(BUFFER3 *str, uint8 *buf, int len) the uni_str_len member tells you how much of the buffer is really used. ********************************************************************/ -BOOL smb_io_buffer3(char *desc, BUFFER3 *buf3, prs_struct *ps, int depth) +BOOL smb_io_buffer3(const char *desc, BUFFER3 *buf3, prs_struct *ps, int depth) { if (buf3 == NULL) return False; @@ -676,7 +676,7 @@ BOOL smb_io_buffer3(char *desc, BUFFER3 *buf3, prs_struct *ps, int depth) reads or writes a BUFFER5 structure. the buf_len member tells you how large the buffer is. ********************************************************************/ -BOOL smb_io_buffer5(char *desc, BUFFER5 *buf5, prs_struct *ps, int depth) +BOOL smb_io_buffer5(const char *desc, BUFFER5 *buf5, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "smb_io_buffer5"); depth++; @@ -725,7 +725,7 @@ void init_buffer2(BUFFER2 *str, uint8 *buf, int len) the uni_str_len member tells you how much of the buffer is really used. ********************************************************************/ -BOOL smb_io_buffer2(char *desc, BUFFER2 *buf2, uint32 buffer, prs_struct *ps, int depth) +BOOL smb_io_buffer2(const char *desc, BUFFER2 *buf2, uint32 buffer, prs_struct *ps, int depth) { if (buf2 == NULL) return False; @@ -848,7 +848,7 @@ void init_string2(STRING2 *str, const char *buf, int max_len, int str_len) the str_max_len member tells you how large the buffer is. ********************************************************************/ -BOOL smb_io_string2(char *desc, STRING2 *str2, uint32 buffer, prs_struct *ps, int depth) +BOOL smb_io_string2(const char *desc, STRING2 *str2, uint32 buffer, prs_struct *ps, int depth) { if (str2 == NULL) return False; @@ -966,7 +966,7 @@ void init_unistr2_from_unistr (UNISTR2 *to, UNISTR *from) the uni_max_len member tells you how large the buffer is. ********************************************************************/ -BOOL smb_io_unistr2(char *desc, UNISTR2 *uni2, uint32 buffer, prs_struct *ps, int depth) +BOOL smb_io_unistr2(const char *desc, UNISTR2 *uni2, uint32 buffer, prs_struct *ps, int depth) { if (uni2 == NULL) return False; @@ -1017,7 +1017,7 @@ void init_dom_rid2(DOM_RID2 *rid2, uint32 rid, uint8 type, uint32 idx) Reads or writes a DOM_RID2 structure. ********************************************************************/ -BOOL smb_io_dom_rid2(char *desc, DOM_RID2 *rid2, prs_struct *ps, int depth) +BOOL smb_io_dom_rid2(const char *desc, DOM_RID2 *rid2, prs_struct *ps, int depth) { if (rid2 == NULL) return False; @@ -1057,7 +1057,7 @@ void init_dom_rid3(DOM_RID3 *rid3, uint32 rid, uint8 type) reads or writes a DOM_RID3 structure. ********************************************************************/ -BOOL smb_io_dom_rid3(char *desc, DOM_RID3 *rid3, prs_struct *ps, int depth) +BOOL smb_io_dom_rid3(const char *desc, DOM_RID3 *rid3, prs_struct *ps, int depth) { if (rid3 == NULL) return False; @@ -1097,7 +1097,7 @@ void init_dom_rid4(DOM_RID4 *rid4, uint16 unknown, uint16 attr, uint32 rid) Inits a DOM_CLNT_SRV structure. ********************************************************************/ -static void init_clnt_srv(DOM_CLNT_SRV *log, char *logon_srv, char *comp_name) +static void init_clnt_srv(DOM_CLNT_SRV *log, const char *logon_srv, const char *comp_name) { DEBUG(5,("init_clnt_srv: %d\n", __LINE__)); @@ -1120,7 +1120,7 @@ static void init_clnt_srv(DOM_CLNT_SRV *log, char *logon_srv, char *comp_name) Inits or writes a DOM_CLNT_SRV structure. ********************************************************************/ -static BOOL smb_io_clnt_srv(char *desc, DOM_CLNT_SRV *log, prs_struct *ps, int depth) +static BOOL smb_io_clnt_srv(const char *desc, DOM_CLNT_SRV *log, prs_struct *ps, int depth) { if (log == NULL) return False; @@ -1157,8 +1157,8 @@ static BOOL smb_io_clnt_srv(char *desc, DOM_CLNT_SRV *log, prs_struct *ps, int d Inits a DOM_LOG_INFO structure. ********************************************************************/ -void init_log_info(DOM_LOG_INFO *log, char *logon_srv, char *acct_name, - uint16 sec_chan, char *comp_name) +void init_log_info(DOM_LOG_INFO *log, const char *logon_srv, const char *acct_name, + uint16 sec_chan, const char *comp_name) { DEBUG(5,("make_log_info %d\n", __LINE__)); @@ -1176,7 +1176,7 @@ void init_log_info(DOM_LOG_INFO *log, char *logon_srv, char *acct_name, Reads or writes a DOM_LOG_INFO structure. ********************************************************************/ -BOOL smb_io_log_info(char *desc, DOM_LOG_INFO *log, prs_struct *ps, int depth) +BOOL smb_io_log_info(const char *desc, DOM_LOG_INFO *log, prs_struct *ps, int depth) { if (log == NULL) return False; @@ -1208,7 +1208,7 @@ BOOL smb_io_log_info(char *desc, DOM_LOG_INFO *log, prs_struct *ps, int depth) Reads or writes a DOM_CHAL structure. ********************************************************************/ -BOOL smb_io_chal(char *desc, DOM_CHAL *chal, prs_struct *ps, int depth) +BOOL smb_io_chal(const char *desc, DOM_CHAL *chal, prs_struct *ps, int depth) { if (chal == NULL) return False; @@ -1229,7 +1229,7 @@ BOOL smb_io_chal(char *desc, DOM_CHAL *chal, prs_struct *ps, int depth) Reads or writes a DOM_CRED structure. ********************************************************************/ -BOOL smb_io_cred(char *desc, DOM_CRED *cred, prs_struct *ps, int depth) +BOOL smb_io_cred(const char *desc, DOM_CRED *cred, prs_struct *ps, int depth) { if (cred == NULL) return False; @@ -1254,7 +1254,7 @@ BOOL smb_io_cred(char *desc, DOM_CRED *cred, prs_struct *ps, int depth) ********************************************************************/ void init_clnt_info2(DOM_CLNT_INFO2 *clnt, - char *logon_srv, char *comp_name, + const char *logon_srv, const char *comp_name, DOM_CRED *clnt_cred) { DEBUG(5,("make_clnt_info: %d\n", __LINE__)); @@ -1273,7 +1273,7 @@ void init_clnt_info2(DOM_CLNT_INFO2 *clnt, Reads or writes a DOM_CLNT_INFO2 structure. ********************************************************************/ -BOOL smb_io_clnt_info2(char *desc, DOM_CLNT_INFO2 *clnt, prs_struct *ps, int depth) +BOOL smb_io_clnt_info2(const char *desc, DOM_CLNT_INFO2 *clnt, prs_struct *ps, int depth) { if (clnt == NULL) return False; @@ -1303,8 +1303,8 @@ BOOL smb_io_clnt_info2(char *desc, DOM_CLNT_INFO2 *clnt, prs_struct *ps, int dep ********************************************************************/ void init_clnt_info(DOM_CLNT_INFO *clnt, - char *logon_srv, char *acct_name, - uint16 sec_chan, char *comp_name, + const char *logon_srv, const char *acct_name, + uint16 sec_chan, const char *comp_name, DOM_CRED *cred) { DEBUG(5,("make_clnt_info\n")); @@ -1317,7 +1317,7 @@ void init_clnt_info(DOM_CLNT_INFO *clnt, Reads or writes a DOM_CLNT_INFO structure. ********************************************************************/ -BOOL smb_io_clnt_info(char *desc, DOM_CLNT_INFO *clnt, prs_struct *ps, int depth) +BOOL smb_io_clnt_info(const char *desc, DOM_CLNT_INFO *clnt, prs_struct *ps, int depth) { if (clnt == NULL) return False; @@ -1352,7 +1352,7 @@ void init_logon_id(DOM_LOGON_ID *log, uint32 log_id_low, uint32 log_id_high) Reads or writes a DOM_LOGON_ID structure. ********************************************************************/ -BOOL smb_io_logon_id(char *desc, DOM_LOGON_ID *log, prs_struct *ps, int depth) +BOOL smb_io_logon_id(const char *desc, DOM_LOGON_ID *log, prs_struct *ps, int depth) { if (log == NULL) return False; @@ -1389,7 +1389,7 @@ void init_owf_info(OWF_INFO *hash, uint8 data[16]) Reads or writes an OWF_INFO structure. ********************************************************************/ -BOOL smb_io_owf_info(char *desc, OWF_INFO *hash, prs_struct *ps, int depth) +BOOL smb_io_owf_info(const char *desc, OWF_INFO *hash, prs_struct *ps, int depth) { if (hash == NULL) return False; @@ -1410,7 +1410,7 @@ BOOL smb_io_owf_info(char *desc, OWF_INFO *hash, prs_struct *ps, int depth) Reads or writes a DOM_GID structure. ********************************************************************/ -BOOL smb_io_gid(char *desc, DOM_GID *gid, prs_struct *ps, int depth) +BOOL smb_io_gid(const char *desc, DOM_GID *gid, prs_struct *ps, int depth) { if (gid == NULL) return False; @@ -1433,7 +1433,7 @@ BOOL smb_io_gid(char *desc, DOM_GID *gid, prs_struct *ps, int depth) Reads or writes an POLICY_HND structure. ********************************************************************/ -BOOL smb_io_pol_hnd(char *desc, POLICY_HND *pol, prs_struct *ps, int depth) +BOOL smb_io_pol_hnd(const char *desc, POLICY_HND *pol, prs_struct *ps, int depth) { if (pol == NULL) return False; @@ -1496,7 +1496,7 @@ void init_unistr3(UNISTR3 *str, const char *buf) Reads or writes a UNISTR3 structure. ********************************************************************/ -BOOL smb_io_unistr3(char *desc, UNISTR3 *name, prs_struct *ps, int depth) +BOOL smb_io_unistr3(const char *desc, UNISTR3 *name, prs_struct *ps, int depth) { if (name == NULL) return False; @@ -1523,7 +1523,7 @@ BOOL smb_io_unistr3(char *desc, UNISTR3 *name, prs_struct *ps, int depth) /******************************************************************* Stream a uint64_struct ********************************************************************/ -BOOL prs_uint64(char *name, prs_struct *ps, int depth, UINT64_S *data64) +BOOL prs_uint64(const char *name, prs_struct *ps, int depth, UINT64_S *data64) { return prs_uint32(name, ps, depth+1, &data64->low) && prs_uint32(name, ps, depth+1, &data64->high); @@ -1532,7 +1532,7 @@ BOOL prs_uint64(char *name, prs_struct *ps, int depth, UINT64_S *data64) /******************************************************************* reads or writes a BUFHDR2 structure. ********************************************************************/ -BOOL smb_io_bufhdr2(char *desc, BUFHDR2 *hdr, prs_struct *ps, int depth) +BOOL smb_io_bufhdr2(const char *desc, BUFHDR2 *hdr, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "smb_io_bufhdr2"); depth++; @@ -1548,7 +1548,7 @@ BOOL smb_io_bufhdr2(char *desc, BUFHDR2 *hdr, prs_struct *ps, int depth) /******************************************************************* reads or writes a BUFFER4 structure. ********************************************************************/ -BOOL smb_io_buffer4(char *desc, BUFFER4 *buf4, uint32 buffer, prs_struct *ps, int depth) +BOOL smb_io_buffer4(const char *desc, BUFFER4 *buf4, uint32 buffer, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "smb_io_buffer4"); depth++; diff --git a/source/rpc_parse/parse_net.c b/source/rpc_parse/parse_net.c index 988b7e32200..ba81fee7e93 100644 --- a/source/rpc_parse/parse_net.c +++ b/source/rpc_parse/parse_net.c @@ -27,7 +27,7 @@ Reads or writes a structure. ********************************************************************/ -static BOOL net_io_neg_flags(char *desc, NEG_FLAGS *neg, prs_struct *ps, int depth) +static BOOL net_io_neg_flags(const char *desc, NEG_FLAGS *neg, prs_struct *ps, int depth) { if (neg == NULL) return False; @@ -63,7 +63,7 @@ static void init_netinfo_3(NETLOGON_INFO_3 *info, uint32 flags, uint32 logon_att Reads or writes a NETLOGON_INFO_3 structure. ********************************************************************/ -static BOOL net_io_netinfo_3(char *desc, NETLOGON_INFO_3 *info, prs_struct *ps, int depth) +static BOOL net_io_netinfo_3(const char *desc, NETLOGON_INFO_3 *info, prs_struct *ps, int depth) { if (info == NULL) return False; @@ -107,7 +107,7 @@ static void init_netinfo_1(NETLOGON_INFO_1 *info, uint32 flags, uint32 pdc_statu Reads or writes a NETLOGON_INFO_1 structure. ********************************************************************/ -static BOOL net_io_netinfo_1(char *desc, NETLOGON_INFO_1 *info, prs_struct *ps, int depth) +static BOOL net_io_netinfo_1(const char *desc, NETLOGON_INFO_1 *info, prs_struct *ps, int depth) { if (info == NULL) return False; @@ -131,7 +131,7 @@ static BOOL net_io_netinfo_1(char *desc, NETLOGON_INFO_1 *info, prs_struct *ps, ********************************************************************/ static void init_netinfo_2(NETLOGON_INFO_2 *info, uint32 flags, uint32 pdc_status, - uint32 tc_status, char *trusted_dc_name) + uint32 tc_status, const char *trusted_dc_name) { int len_dc_name = strlen(trusted_dc_name); info->flags = flags; @@ -149,7 +149,7 @@ static void init_netinfo_2(NETLOGON_INFO_2 *info, uint32 flags, uint32 pdc_statu Reads or writes a NETLOGON_INFO_2 structure. ********************************************************************/ -static BOOL net_io_netinfo_2(char *desc, NETLOGON_INFO_2 *info, prs_struct *ps, int depth) +static BOOL net_io_netinfo_2(const char *desc, NETLOGON_INFO_2 *info, prs_struct *ps, int depth) { if (info == NULL) return False; @@ -184,7 +184,7 @@ static BOOL net_io_netinfo_2(char *desc, NETLOGON_INFO_2 *info, prs_struct *ps, Reads or writes an NET_Q_LOGON_CTRL2 structure. ********************************************************************/ -BOOL net_io_q_logon_ctrl2(char *desc, NET_Q_LOGON_CTRL2 *q_l, prs_struct *ps, int depth) +BOOL net_io_q_logon_ctrl2(const char *desc, NET_Q_LOGON_CTRL2 *q_l, prs_struct *ps, int depth) { if (q_l == NULL) return False; @@ -218,7 +218,7 @@ BOOL net_io_q_logon_ctrl2(char *desc, NET_Q_LOGON_CTRL2 *q_l, prs_struct *ps, in Inits an NET_Q_LOGON_CTRL2 structure. ********************************************************************/ -void init_net_q_logon_ctrl2(NET_Q_LOGON_CTRL2 *q_l, char *srv_name, +void init_net_q_logon_ctrl2(NET_Q_LOGON_CTRL2 *q_l, const char *srv_name, uint32 query_level) { DEBUG(5,("init_q_logon_ctrl2\n")); @@ -237,7 +237,7 @@ void init_net_q_logon_ctrl2(NET_Q_LOGON_CTRL2 *q_l, char *srv_name, void init_net_r_logon_ctrl2(NET_R_LOGON_CTRL2 *r_l, uint32 query_level, uint32 flags, uint32 pdc_status, uint32 logon_attempts, uint32 tc_status, - char *trusted_domain_name) + const char *trusted_domain_name) { DEBUG(5,("init_r_logon_ctrl2\n")); @@ -275,7 +275,7 @@ void init_net_r_logon_ctrl2(NET_R_LOGON_CTRL2 *r_l, uint32 query_level, Reads or writes an NET_R_LOGON_CTRL2 structure. ********************************************************************/ -BOOL net_io_r_logon_ctrl2(char *desc, NET_R_LOGON_CTRL2 *r_l, prs_struct *ps, int depth) +BOOL net_io_r_logon_ctrl2(const char *desc, NET_R_LOGON_CTRL2 *r_l, prs_struct *ps, int depth) { if (r_l == NULL) return False; @@ -319,7 +319,7 @@ BOOL net_io_r_logon_ctrl2(char *desc, NET_R_LOGON_CTRL2 *r_l, prs_struct *ps, in Reads or writes an NET_Q_LOGON_CTRL structure. ********************************************************************/ -BOOL net_io_q_logon_ctrl(char *desc, NET_Q_LOGON_CTRL *q_l, prs_struct *ps, +BOOL net_io_q_logon_ctrl(const char *desc, NET_Q_LOGON_CTRL *q_l, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "net_io_q_logon_ctrl"); @@ -349,7 +349,7 @@ BOOL net_io_q_logon_ctrl(char *desc, NET_Q_LOGON_CTRL *q_l, prs_struct *ps, Inits an NET_Q_LOGON_CTRL structure. ********************************************************************/ -void init_net_q_logon_ctrl(NET_Q_LOGON_CTRL *q_l, char *srv_name, +void init_net_q_logon_ctrl(NET_Q_LOGON_CTRL *q_l, const char *srv_name, uint32 query_level) { DEBUG(5,("init_q_logon_ctrl\n")); @@ -392,7 +392,7 @@ void init_net_r_logon_ctrl(NET_R_LOGON_CTRL *r_l, uint32 query_level, Reads or writes an NET_R_LOGON_CTRL structure. ********************************************************************/ -BOOL net_io_r_logon_ctrl(char *desc, NET_R_LOGON_CTRL *r_l, prs_struct *ps, +BOOL net_io_r_logon_ctrl(const char *desc, NET_R_LOGON_CTRL *r_l, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "net_io_r_logon_ctrl"); @@ -427,7 +427,7 @@ BOOL net_io_r_logon_ctrl(char *desc, NET_R_LOGON_CTRL *r_l, prs_struct *ps, ********************************************************************/ void init_r_trust_dom(NET_R_TRUST_DOM_LIST *r_t, - uint32 num_doms, char *dom_name) + uint32 num_doms, const char *dom_name) { int i = 0; @@ -456,7 +456,7 @@ void init_r_trust_dom(NET_R_TRUST_DOM_LIST *r_t, Reads or writes an NET_R_TRUST_DOM_LIST structure. ********************************************************************/ -BOOL net_io_r_trust_dom(char *desc, NET_R_TRUST_DOM_LIST *r_t, prs_struct *ps, int depth) +BOOL net_io_r_trust_dom(const char *desc, NET_R_TRUST_DOM_LIST *r_t, prs_struct *ps, int depth) { uint32 value; @@ -508,7 +508,7 @@ BOOL net_io_r_trust_dom(char *desc, NET_R_TRUST_DOM_LIST *r_t, prs_struct *ps, i Reads or writes an NET_Q_TRUST_DOM_LIST structure. ********************************************************************/ -BOOL net_io_q_trust_dom(char *desc, NET_Q_TRUST_DOM_LIST *q_l, prs_struct *ps, int depth) +BOOL net_io_q_trust_dom(const char *desc, NET_Q_TRUST_DOM_LIST *q_l, prs_struct *ps, int depth) { if (q_l == NULL) return False; @@ -529,7 +529,7 @@ BOOL net_io_q_trust_dom(char *desc, NET_Q_TRUST_DOM_LIST *q_l, prs_struct *ps, i ********************************************************************/ void init_q_req_chal(NET_Q_REQ_CHAL *q_c, - char *logon_srv, char *logon_clnt, + const char *logon_srv, const char *logon_clnt, DOM_CHAL *clnt_chal) { DEBUG(5,("init_q_req_chal: %d\n", __LINE__)); @@ -548,7 +548,7 @@ void init_q_req_chal(NET_Q_REQ_CHAL *q_c, Reads or writes an NET_Q_REQ_CHAL structure. ********************************************************************/ -BOOL net_io_q_req_chal(char *desc, NET_Q_REQ_CHAL *q_c, prs_struct *ps, int depth) +BOOL net_io_q_req_chal(const char *desc, NET_Q_REQ_CHAL *q_c, prs_struct *ps, int depth) { int old_align; @@ -586,7 +586,7 @@ BOOL net_io_q_req_chal(char *desc, NET_Q_REQ_CHAL *q_c, prs_struct *ps, int dep Reads or writes a structure. ********************************************************************/ -BOOL net_io_r_req_chal(char *desc, NET_R_REQ_CHAL *r_c, prs_struct *ps, int depth) +BOOL net_io_r_req_chal(const char *desc, NET_R_REQ_CHAL *r_c, prs_struct *ps, int depth) { if (r_c == NULL) return False; @@ -611,7 +611,7 @@ BOOL net_io_r_req_chal(char *desc, NET_R_REQ_CHAL *r_c, prs_struct *ps, int dept Reads or writes a structure. ********************************************************************/ -BOOL net_io_q_auth(char *desc, NET_Q_AUTH *q_a, prs_struct *ps, int depth) +BOOL net_io_q_auth(const char *desc, NET_Q_AUTH *q_a, prs_struct *ps, int depth) { int old_align; if (q_a == NULL) @@ -642,7 +642,7 @@ BOOL net_io_q_auth(char *desc, NET_Q_AUTH *q_a, prs_struct *ps, int depth) Reads or writes a structure. ********************************************************************/ -BOOL net_io_r_auth(char *desc, NET_R_AUTH *r_a, prs_struct *ps, int depth) +BOOL net_io_r_auth(const char *desc, NET_R_AUTH *r_a, prs_struct *ps, int depth) { if (r_a == NULL) return False; @@ -667,7 +667,7 @@ BOOL net_io_r_auth(char *desc, NET_R_AUTH *r_a, prs_struct *ps, int depth) ********************************************************************/ void init_q_auth_2(NET_Q_AUTH_2 *q_a, - char *logon_srv, char *acct_name, uint16 sec_chan, char *comp_name, + const char *logon_srv, const char *acct_name, uint16 sec_chan, const char *comp_name, DOM_CHAL *clnt_chal, uint32 clnt_flgs) { DEBUG(5,("init_q_auth_2: %d\n", __LINE__)); @@ -683,7 +683,7 @@ void init_q_auth_2(NET_Q_AUTH_2 *q_a, Reads or writes a structure. ********************************************************************/ -BOOL net_io_q_auth_2(char *desc, NET_Q_AUTH_2 *q_a, prs_struct *ps, int depth) +BOOL net_io_q_auth_2(const char *desc, NET_Q_AUTH_2 *q_a, prs_struct *ps, int depth) { int old_align; if (q_a == NULL) @@ -716,7 +716,7 @@ BOOL net_io_q_auth_2(char *desc, NET_Q_AUTH_2 *q_a, prs_struct *ps, int depth) Reads or writes a structure. ********************************************************************/ -BOOL net_io_r_auth_2(char *desc, NET_R_AUTH_2 *r_a, prs_struct *ps, int depth) +BOOL net_io_r_auth_2(const char *desc, NET_R_AUTH_2 *r_a, prs_struct *ps, int depth) { if (r_a == NULL) return False; @@ -743,8 +743,8 @@ BOOL net_io_r_auth_2(char *desc, NET_R_AUTH_2 *r_a, prs_struct *ps, int depth) Inits a NET_Q_SRV_PWSET. ********************************************************************/ -void init_q_srv_pwset(NET_Q_SRV_PWSET *q_s, char *logon_srv, char *acct_name, - uint16 sec_chan, char *comp_name, DOM_CRED *cred, char nt_cypher[16]) +void init_q_srv_pwset(NET_Q_SRV_PWSET *q_s, const char *logon_srv, const char *acct_name, + uint16 sec_chan, const char *comp_name, DOM_CRED *cred, char nt_cypher[16]) { DEBUG(5,("init_q_srv_pwset\n")); @@ -757,7 +757,7 @@ void init_q_srv_pwset(NET_Q_SRV_PWSET *q_s, char *logon_srv, char *acct_name, Reads or writes a structure. ********************************************************************/ -BOOL net_io_q_srv_pwset(char *desc, NET_Q_SRV_PWSET *q_s, prs_struct *ps, int depth) +BOOL net_io_q_srv_pwset(const char *desc, NET_Q_SRV_PWSET *q_s, prs_struct *ps, int depth) { if (q_s == NULL) return False; @@ -780,7 +780,7 @@ BOOL net_io_q_srv_pwset(char *desc, NET_Q_SRV_PWSET *q_s, prs_struct *ps, int de Reads or writes a structure. ********************************************************************/ -BOOL net_io_r_srv_pwset(char *desc, NET_R_SRV_PWSET *r_s, prs_struct *ps, int depth) +BOOL net_io_r_srv_pwset(const char *desc, NET_R_SRV_PWSET *r_s, prs_struct *ps, int depth) { if (r_s == NULL) return False; @@ -804,9 +804,9 @@ BOOL net_io_r_srv_pwset(char *desc, NET_R_SRV_PWSET *r_s, prs_struct *ps, int de Init DOM_SID2 array from a string containing multiple sids *************************************************************************/ -static int init_dom_sid2s(TALLOC_CTX *ctx, char *sids_str, DOM_SID2 **ppsids) +static int init_dom_sid2s(TALLOC_CTX *ctx, const char *sids_str, DOM_SID2 **ppsids) { - char *ptr; + const char *ptr; pstring s2; int count = 0; @@ -845,10 +845,10 @@ static int init_dom_sid2s(TALLOC_CTX *ctx, char *sids_str, DOM_SID2 **ppsids) Inits a NET_ID_INFO_1 structure. ********************************************************************/ -void init_id_info1(NET_ID_INFO_1 *id, char *domain_name, +void init_id_info1(NET_ID_INFO_1 *id, const char *domain_name, uint32 param_ctrl, uint32 log_id_low, uint32 log_id_high, - char *user_name, char *wksta_name, - char *sess_key, + const char *user_name, const char *wksta_name, + const char *sess_key, unsigned char lm_cypher[16], unsigned char nt_cypher[16]) { int len_domain_name = strlen(domain_name); @@ -912,7 +912,7 @@ void init_id_info1(NET_ID_INFO_1 *id, char *domain_name, Reads or writes an NET_ID_INFO_1 structure. ********************************************************************/ -static BOOL net_io_id_info1(char *desc, NET_ID_INFO_1 *id, prs_struct *ps, int depth) +static BOOL net_io_id_info1(const char *desc, NET_ID_INFO_1 *id, prs_struct *ps, int depth) { if (id == NULL) return False; @@ -1028,7 +1028,7 @@ void init_id_info2(NET_ID_INFO_2 * id, const char *domain_name, Reads or writes an NET_ID_INFO_2 structure. ********************************************************************/ -static BOOL net_io_id_info2(char *desc, NET_ID_INFO_2 *id, prs_struct *ps, int depth) +static BOOL net_io_id_info2(const char *desc, NET_ID_INFO_2 *id, prs_struct *ps, int depth) { if (id == NULL) return False; @@ -1090,7 +1090,7 @@ static BOOL net_io_id_info2(char *desc, NET_ID_INFO_2 *id, prs_struct *ps, int ********************************************************************/ void init_sam_info(DOM_SAM_INFO *sam, - char *logon_srv, char *comp_name, DOM_CRED *clnt_cred, + const char *logon_srv, const char *comp_name, DOM_CRED *clnt_cred, DOM_CRED *rtn_cred, uint16 logon_level, NET_ID_INFO_CTR *ctr) { @@ -1113,7 +1113,7 @@ void init_sam_info(DOM_SAM_INFO *sam, Reads or writes a DOM_SAM_INFO structure. ********************************************************************/ -static BOOL net_io_id_info_ctr(char *desc, NET_ID_INFO_CTR **pp_ctr, prs_struct *ps, int depth) +static BOOL net_io_id_info_ctr(const char *desc, NET_ID_INFO_CTR **pp_ctr, prs_struct *ps, int depth) { NET_ID_INFO_CTR *ctr = *pp_ctr; @@ -1156,7 +1156,7 @@ static BOOL net_io_id_info_ctr(char *desc, NET_ID_INFO_CTR **pp_ctr, prs_struct Reads or writes a DOM_SAM_INFO structure. ********************************************************************/ -static BOOL smb_io_sam_info(char *desc, DOM_SAM_INFO *sam, prs_struct *ps, int depth) +static BOOL smb_io_sam_info(const char *desc, DOM_SAM_INFO *sam, prs_struct *ps, int depth) { if (sam == NULL) return False; @@ -1194,8 +1194,8 @@ void init_net_user_info3(TALLOC_CTX *ctx, NET_USER_INFO_3 *usr, SAM_ACCOUNT *sam uint16 logon_count, uint16 bad_pw_count, uint32 num_groups, DOM_GID *gids, uint32 user_flgs, uchar *sess_key, - char *logon_srv, char *logon_dom, - DOM_SID *dom_sid, char *other_sids) + const char *logon_srv, const char *logon_dom, + DOM_SID *dom_sid, const char *other_sids) { /* only cope with one "other" sid, right now. */ /* need to count the number of space-delimited sids */ @@ -1318,7 +1318,7 @@ void init_net_user_info3(TALLOC_CTX *ctx, NET_USER_INFO_3 *usr, SAM_ACCOUNT *sam Jacobsen at HP. JRA. ********************************************************************/ -static BOOL net_io_user_info3(char *desc, NET_USER_INFO_3 *usr, prs_struct *ps, int depth, uint16 validation_level) +static BOOL net_io_user_info3(const char *desc, NET_USER_INFO_3 *usr, prs_struct *ps, int depth, uint16 validation_level) { int i; @@ -1478,7 +1478,7 @@ static BOOL net_io_user_info3(char *desc, NET_USER_INFO_3 *usr, prs_struct *ps, Reads or writes a structure. ********************************************************************/ -BOOL net_io_q_sam_logon(char *desc, NET_Q_SAM_LOGON *q_l, prs_struct *ps, int depth) +BOOL net_io_q_sam_logon(const char *desc, NET_Q_SAM_LOGON *q_l, prs_struct *ps, int depth) { if (q_l == NULL) return False; @@ -1502,7 +1502,7 @@ BOOL net_io_q_sam_logon(char *desc, NET_Q_SAM_LOGON *q_l, prs_struct *ps, int de Reads or writes a structure. ********************************************************************/ -BOOL net_io_r_sam_logon(char *desc, NET_R_SAM_LOGON *r_l, prs_struct *ps, int depth) +BOOL net_io_r_sam_logon(const char *desc, NET_R_SAM_LOGON *r_l, prs_struct *ps, int depth) { if (r_l == NULL) return False; @@ -1546,7 +1546,7 @@ BOOL net_io_r_sam_logon(char *desc, NET_R_SAM_LOGON *r_l, prs_struct *ps, int de Reads or writes a structure. ********************************************************************/ -BOOL net_io_q_sam_logoff(char *desc, NET_Q_SAM_LOGOFF *q_l, prs_struct *ps, int depth) +BOOL net_io_q_sam_logoff(const char *desc, NET_Q_SAM_LOGOFF *q_l, prs_struct *ps, int depth) { if (q_l == NULL) return False; @@ -1567,7 +1567,7 @@ BOOL net_io_q_sam_logoff(char *desc, NET_Q_SAM_LOGOFF *q_l, prs_struct *ps, int Reads or writes a structure. ********************************************************************/ -BOOL net_io_r_sam_logoff(char *desc, NET_R_SAM_LOGOFF *r_l, prs_struct *ps, int depth) +BOOL net_io_r_sam_logoff(const char *desc, NET_R_SAM_LOGOFF *r_l, prs_struct *ps, int depth) { if (r_l == NULL) return False; @@ -1620,7 +1620,7 @@ BOOL init_net_q_sam_sync(NET_Q_SAM_SYNC * q_s, const char *srv_name, /******************************************************************* reads or writes a structure. ********************************************************************/ -BOOL net_io_q_sam_sync(char *desc, NET_Q_SAM_SYNC * q_s, prs_struct *ps, +BOOL net_io_q_sam_sync(const char *desc, NET_Q_SAM_SYNC * q_s, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "net_io_q_sam_sync"); @@ -1652,7 +1652,7 @@ BOOL net_io_q_sam_sync(char *desc, NET_Q_SAM_SYNC * q_s, prs_struct *ps, /******************************************************************* reads or writes a structure. ********************************************************************/ -static BOOL net_io_sam_delta_hdr(char *desc, SAM_DELTA_HDR * delta, +static BOOL net_io_sam_delta_hdr(const char *desc, SAM_DELTA_HDR * delta, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "net_io_sam_delta_hdr"); @@ -1682,7 +1682,7 @@ static BOOL net_io_sam_delta_hdr(char *desc, SAM_DELTA_HDR * delta, /******************************************************************* reads or writes a structure. ********************************************************************/ -static BOOL net_io_sam_delta_stamp(char *desc, SAM_DELTA_STAMP *info, +static BOOL net_io_sam_delta_stamp(const char *desc, SAM_DELTA_STAMP *info, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "net_io_sam_delta_stamp"); @@ -1706,7 +1706,7 @@ static BOOL net_io_sam_delta_stamp(char *desc, SAM_DELTA_STAMP *info, /******************************************************************* reads or writes a structure. ********************************************************************/ -static BOOL net_io_sam_domain_info(char *desc, SAM_DOMAIN_INFO * info, +static BOOL net_io_sam_domain_info(const char *desc, SAM_DOMAIN_INFO * info, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "net_io_sam_domain_info"); @@ -1761,7 +1761,7 @@ static BOOL net_io_sam_domain_info(char *desc, SAM_DOMAIN_INFO * info, /******************************************************************* reads or writes a structure. ********************************************************************/ -static BOOL net_io_sam_group_info(char *desc, SAM_GROUP_INFO * info, +static BOOL net_io_sam_group_info(const char *desc, SAM_GROUP_INFO * info, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "net_io_sam_group_info"); @@ -1796,7 +1796,7 @@ static BOOL net_io_sam_group_info(char *desc, SAM_GROUP_INFO * info, /******************************************************************* reads or writes a structure. ********************************************************************/ -static BOOL net_io_sam_passwd_info(char *desc, SAM_PWD * pwd, +static BOOL net_io_sam_passwd_info(const char *desc, SAM_PWD * pwd, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "net_io_sam_passwd_info"); @@ -1906,7 +1906,7 @@ BOOL make_sam_account_info(SAM_ACCOUNT_INFO * info, /******************************************************************* reads or writes a structure. ********************************************************************/ -static BOOL net_io_sam_account_info(char *desc, uint8 sess_key[16], +static BOOL net_io_sam_account_info(const char *desc, uint8 sess_key[16], SAM_ACCOUNT_INFO * info, prs_struct *ps, int depth) { @@ -2097,7 +2097,7 @@ static BOOL net_io_sam_account_info(char *desc, uint8 sess_key[16], /******************************************************************* reads or writes a structure. ********************************************************************/ -static BOOL net_io_sam_group_mem_info(char *desc, SAM_GROUP_MEM_INFO * info, +static BOOL net_io_sam_group_mem_info(const char *desc, SAM_GROUP_MEM_INFO * info, prs_struct *ps, int depth) { uint32 i; @@ -2181,7 +2181,7 @@ static BOOL net_io_sam_group_mem_info(char *desc, SAM_GROUP_MEM_INFO * info, /******************************************************************* reads or writes a structure. ********************************************************************/ -static BOOL net_io_sam_alias_info(char *desc, SAM_ALIAS_INFO * info, +static BOOL net_io_sam_alias_info(const char *desc, SAM_ALIAS_INFO * info, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "net_io_sam_alias_info"); @@ -2216,7 +2216,7 @@ static BOOL net_io_sam_alias_info(char *desc, SAM_ALIAS_INFO * info, /******************************************************************* reads or writes a structure. ********************************************************************/ -static BOOL net_io_sam_alias_mem_info(char *desc, SAM_ALIAS_MEM_INFO * info, +static BOOL net_io_sam_alias_mem_info(const char *desc, SAM_ALIAS_MEM_INFO * info, prs_struct *ps, int depth) { uint32 i; @@ -2289,7 +2289,7 @@ static BOOL net_io_sam_alias_mem_info(char *desc, SAM_ALIAS_MEM_INFO * info, /******************************************************************* reads or writes a structure. ********************************************************************/ -static BOOL net_io_sam_delta_ctr(char *desc, uint8 sess_key[16], +static BOOL net_io_sam_delta_ctr(const char *desc, uint8 sess_key[16], SAM_DELTA_CTR * delta, uint16 type, prs_struct *ps, int depth) { @@ -2368,7 +2368,7 @@ static BOOL net_io_sam_delta_ctr(char *desc, uint8 sess_key[16], /******************************************************************* reads or writes a structure. ********************************************************************/ -BOOL net_io_r_sam_sync(char *desc, uint8 sess_key[16], +BOOL net_io_r_sam_sync(const char *desc, uint8 sess_key[16], NET_R_SAM_SYNC * r_s, prs_struct *ps, int depth) { uint32 i; @@ -2481,7 +2481,7 @@ BOOL init_net_q_sam_deltas(NET_Q_SAM_DELTAS *q_s, const char *srv_name, /******************************************************************* reads or writes a structure. ********************************************************************/ -BOOL net_io_q_sam_deltas(char *desc, NET_Q_SAM_DELTAS *q_s, prs_struct *ps, +BOOL net_io_q_sam_deltas(const char *desc, NET_Q_SAM_DELTAS *q_s, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "net_io_q_sam_deltas"); @@ -2510,7 +2510,7 @@ BOOL net_io_q_sam_deltas(char *desc, NET_Q_SAM_DELTAS *q_s, prs_struct *ps, /******************************************************************* reads or writes a structure. ********************************************************************/ -BOOL net_io_r_sam_deltas(char *desc, uint8 sess_key[16], +BOOL net_io_r_sam_deltas(const char *desc, uint8 sess_key[16], NET_R_SAM_DELTAS *r_s, prs_struct *ps, int depth) { int i; diff --git a/source/rpc_parse/parse_prs.c b/source/rpc_parse/parse_prs.c index c983903f767..d8a26d7bf1e 100644 --- a/source/rpc_parse/parse_prs.c +++ b/source/rpc_parse/parse_prs.c @@ -26,7 +26,7 @@ /******************************************************************* dump a prs to a file ********************************************************************/ -void prs_dump(char *name, int v, prs_struct *ps) +void prs_dump(const char *name, int v, prs_struct *ps) { int fd, i; pstring fname; @@ -55,7 +55,7 @@ void prs_dump(char *name, int v, prs_struct *ps) XXXX side-effect of this function is to increase the debug depth XXXX ********************************************************************/ -void prs_debug(prs_struct *ps, int depth, char *desc, char *fn_name) +void prs_debug(prs_struct *ps, int depth, const char *desc, const char *fn_name) { DEBUG(5+depth, ("%s%06x %s %s\n", tab_depth(depth), ps->data_offset, fn_name, desc)); } @@ -516,7 +516,7 @@ void prs_force_dynamic(prs_struct *ps) Stream a uint8. ********************************************************************/ -BOOL prs_uint8(char *name, prs_struct *ps, int depth, uint8 *data8) +BOOL prs_uint8(const char *name, prs_struct *ps, int depth, uint8 *data8) { char *q = prs_mem_get(ps, 1); if (q == NULL) @@ -538,7 +538,7 @@ BOOL prs_uint8(char *name, prs_struct *ps, int depth, uint8 *data8) Stream a uint16. ********************************************************************/ -BOOL prs_uint16(char *name, prs_struct *ps, int depth, uint16 *data16) +BOOL prs_uint16(const char *name, prs_struct *ps, int depth, uint16 *data16) { char *q = prs_mem_get(ps, sizeof(uint16)); if (q == NULL) @@ -567,7 +567,7 @@ BOOL prs_uint16(char *name, prs_struct *ps, int depth, uint16 *data16) Stream a uint32. ********************************************************************/ -BOOL prs_uint32(char *name, prs_struct *ps, int depth, uint32 *data32) +BOOL prs_uint32(const char *name, prs_struct *ps, int depth, uint32 *data32) { char *q = prs_mem_get(ps, sizeof(uint32)); if (q == NULL) @@ -596,7 +596,7 @@ BOOL prs_uint32(char *name, prs_struct *ps, int depth, uint32 *data32) Stream a NTSTATUS ********************************************************************/ -BOOL prs_ntstatus(char *name, prs_struct *ps, int depth, NTSTATUS *status) +BOOL prs_ntstatus(const char *name, prs_struct *ps, int depth, NTSTATUS *status) { char *q = prs_mem_get(ps, sizeof(uint32)); if (q == NULL) @@ -626,7 +626,7 @@ BOOL prs_ntstatus(char *name, prs_struct *ps, int depth, NTSTATUS *status) Stream a WERROR ********************************************************************/ -BOOL prs_werror(char *name, prs_struct *ps, int depth, WERROR *status) +BOOL prs_werror(const char *name, prs_struct *ps, int depth, WERROR *status) { char *q = prs_mem_get(ps, sizeof(uint32)); if (q == NULL) @@ -657,7 +657,7 @@ BOOL prs_werror(char *name, prs_struct *ps, int depth, WERROR *status) Stream an array of uint8s. Length is number of uint8s. ********************************************************************/ -BOOL prs_uint8s(BOOL charmode, char *name, prs_struct *ps, int depth, uint8 *data8s, int len) +BOOL prs_uint8s(BOOL charmode, const char *name, prs_struct *ps, int depth, uint8 *data8s, int len) { int i; char *q = prs_mem_get(ps, len); @@ -690,7 +690,7 @@ BOOL prs_uint8s(BOOL charmode, char *name, prs_struct *ps, int depth, uint8 *dat Stream an array of uint16s. Length is number of uint16s. ********************************************************************/ -BOOL prs_uint16s(BOOL charmode, char *name, prs_struct *ps, int depth, uint16 *data16s, int len) +BOOL prs_uint16s(BOOL charmode, const char *name, prs_struct *ps, int depth, uint16 *data16s, int len) { int i; char *q = prs_mem_get(ps, len * sizeof(uint16)); @@ -734,7 +734,7 @@ BOOL prs_uint16s(BOOL charmode, char *name, prs_struct *ps, int depth, uint16 *d output must be little-endian, if marshalling, input must be little-endian. ********************************************************************/ -static void dbg_rw_punival(BOOL charmode, char *name, int depth, prs_struct *ps, +static void dbg_rw_punival(BOOL charmode, const char *name, int depth, prs_struct *ps, char *in_buf, char *out_buf, int len) { int i; @@ -771,7 +771,7 @@ static void dbg_rw_punival(BOOL charmode, char *name, int depth, prs_struct *ps, Stream a unistr. Always little endian. ********************************************************************/ -BOOL prs_uint16uni(BOOL charmode, char *name, prs_struct *ps, int depth, uint16 *data16s, int len) +BOOL prs_uint16uni(BOOL charmode, const char *name, prs_struct *ps, int depth, uint16 *data16s, int len) { char *q = prs_mem_get(ps, len * sizeof(uint16)); if (q == NULL) @@ -787,7 +787,7 @@ BOOL prs_uint16uni(BOOL charmode, char *name, prs_struct *ps, int depth, uint16 Stream an array of uint32s. Length is number of uint32s. ********************************************************************/ -BOOL prs_uint32s(BOOL charmode, char *name, prs_struct *ps, int depth, uint32 *data32s, int len) +BOOL prs_uint32s(BOOL charmode, const char *name, prs_struct *ps, int depth, uint32 *data32s, int len) { int i; char *q = prs_mem_get(ps, len * sizeof(uint32)); @@ -831,7 +831,7 @@ BOOL prs_uint32s(BOOL charmode, char *name, prs_struct *ps, int depth, uint32 *d in uint16 chars. The unicode string is already in little-endian format. ********************************************************************/ -BOOL prs_buffer5(BOOL charmode, char *name, prs_struct *ps, int depth, BUFFER5 *str) +BOOL prs_buffer5(BOOL charmode, const char *name, prs_struct *ps, int depth, BUFFER5 *str) { char *p; char *q = prs_mem_get(ps, str->buf_len * sizeof(uint16)); @@ -862,7 +862,7 @@ BOOL prs_buffer5(BOOL charmode, char *name, prs_struct *ps, int depth, BUFFER5 * in byte chars. String is in little-endian format. ********************************************************************/ -BOOL prs_buffer2(BOOL charmode, char *name, prs_struct *ps, int depth, BUFFER2 *str) +BOOL prs_buffer2(BOOL charmode, const char *name, prs_struct *ps, int depth, BUFFER2 *str) { char *p; char *q = prs_mem_get(ps, str->buf_len); @@ -888,7 +888,7 @@ BOOL prs_buffer2(BOOL charmode, char *name, prs_struct *ps, int depth, BUFFER2 * in uint8 chars. ********************************************************************/ -BOOL prs_string2(BOOL charmode, char *name, prs_struct *ps, int depth, STRING2 *str) +BOOL prs_string2(BOOL charmode, const char *name, prs_struct *ps, int depth, STRING2 *str) { int i; char *q = prs_mem_get(ps, str->str_max_len); @@ -928,7 +928,7 @@ BOOL prs_string2(BOOL charmode, char *name, prs_struct *ps, int depth, STRING2 * in uint16 chars. The unicode string is already in little-endian format. ********************************************************************/ -BOOL prs_unistr2(BOOL charmode, char *name, prs_struct *ps, int depth, UNISTR2 *str) +BOOL prs_unistr2(BOOL charmode, const char *name, prs_struct *ps, int depth, UNISTR2 *str) { char *p; char *q = prs_mem_get(ps, str->uni_str_len * sizeof(uint16)); @@ -959,7 +959,7 @@ BOOL prs_unistr2(BOOL charmode, char *name, prs_struct *ps, int depth, UNISTR2 * in uint16 chars. The unicode string is already in little-endian format. ********************************************************************/ -BOOL prs_unistr3(BOOL charmode, char *name, UNISTR3 *str, prs_struct *ps, int depth) +BOOL prs_unistr3(BOOL charmode, const char *name, UNISTR3 *str, prs_struct *ps, int depth) { char *p; char *q = prs_mem_get(ps, str->uni_str_len * sizeof(uint16)); @@ -985,7 +985,7 @@ BOOL prs_unistr3(BOOL charmode, char *name, UNISTR3 *str, prs_struct *ps, int de in little-endian format then do it as a stream of bytes. ********************************************************************/ -BOOL prs_unistr(char *name, prs_struct *ps, int depth, UNISTR *str) +BOOL prs_unistr(const char *name, prs_struct *ps, int depth, UNISTR *str) { int len = 0; unsigned char *p = (unsigned char *)str->buffer; @@ -1105,7 +1105,7 @@ BOOL prs_unistr(char *name, prs_struct *ps, int depth, UNISTR *str) not include the null-termination character. ********************************************************************/ -BOOL prs_string(char *name, prs_struct *ps, int depth, char *str, int len, int max_buf_size) +BOOL prs_string(const char *name, prs_struct *ps, int depth, char *str, int len, int max_buf_size) { char *q; int i; @@ -1142,7 +1142,7 @@ BOOL prs_string(char *name, prs_struct *ps, int depth, char *str, int len, int m uint16 should be stored, or gets the size if reading. ********************************************************************/ -BOOL prs_uint16_pre(char *name, prs_struct *ps, int depth, uint16 *data16, uint32 *offset) +BOOL prs_uint16_pre(const char *name, prs_struct *ps, int depth, uint16 *data16, uint32 *offset) { *offset = ps->data_offset; if (UNMARSHALLING(ps)) { @@ -1162,7 +1162,7 @@ BOOL prs_uint16_pre(char *name, prs_struct *ps, int depth, uint16 *data16, uint3 does nothing on reading, as that is already handled by ...._pre() ********************************************************************/ -BOOL prs_uint16_post(char *name, prs_struct *ps, int depth, uint16 *data16, +BOOL prs_uint16_post(const char *name, prs_struct *ps, int depth, uint16 *data16, uint32 ptr_uint16, uint32 start_offset) { if (MARSHALLING(ps)) { @@ -1189,7 +1189,7 @@ BOOL prs_uint16_post(char *name, prs_struct *ps, int depth, uint16 *data16, uint32 should be stored, or gets the size if reading. ********************************************************************/ -BOOL prs_uint32_pre(char *name, prs_struct *ps, int depth, uint32 *data32, uint32 *offset) +BOOL prs_uint32_pre(const char *name, prs_struct *ps, int depth, uint32 *data32, uint32 *offset) { *offset = ps->data_offset; if (UNMARSHALLING(ps) && (data32 != NULL)) { @@ -1206,7 +1206,7 @@ BOOL prs_uint32_pre(char *name, prs_struct *ps, int depth, uint32 *data32, uint3 does nothing on reading, as that is already handled by ...._pre() ********************************************************************/ -BOOL prs_uint32_post(char *name, prs_struct *ps, int depth, uint32 *data32, +BOOL prs_uint32_post(const char *name, prs_struct *ps, int depth, uint32 *data32, uint32 ptr_uint32, uint32 data_size) { if (MARSHALLING(ps)) { diff --git a/source/rpc_parse/parse_reg.c b/source/rpc_parse/parse_reg.c index c26aaee3c30..78acbe688e7 100644 --- a/source/rpc_parse/parse_reg.c +++ b/source/rpc_parse/parse_reg.c @@ -42,7 +42,7 @@ void init_reg_q_open_hkcr(REG_Q_OPEN_HKCR *q_o, reads or writes a structure. ********************************************************************/ -BOOL reg_io_q_open_hkcr(char *desc, REG_Q_OPEN_HKCR *r_q, prs_struct *ps, int depth) +BOOL reg_io_q_open_hkcr(const char *desc, REG_Q_OPEN_HKCR *r_q, prs_struct *ps, int depth) { if (r_q == NULL) return False; @@ -73,7 +73,7 @@ BOOL reg_io_q_open_hkcr(char *desc, REG_Q_OPEN_HKCR *r_q, prs_struct *ps, int d reads or writes a structure. ********************************************************************/ -BOOL reg_io_r_open_hkcr(char *desc, REG_R_OPEN_HKCR *r_r, prs_struct *ps, int depth) +BOOL reg_io_r_open_hkcr(const char *desc, REG_R_OPEN_HKCR *r_r, prs_struct *ps, int depth) { if (r_r == NULL) return False; @@ -110,7 +110,7 @@ void init_reg_q_open_hklm(REG_Q_OPEN_HKLM * q_o, /******************************************************************* reads or writes a structure. ********************************************************************/ -BOOL reg_io_q_open_hklm(char *desc, REG_Q_OPEN_HKLM * r_q, prs_struct *ps, +BOOL reg_io_q_open_hklm(const char *desc, REG_Q_OPEN_HKLM * r_q, prs_struct *ps, int depth) { if (r_q == NULL) @@ -141,7 +141,7 @@ BOOL reg_io_q_open_hklm(char *desc, REG_Q_OPEN_HKLM * r_q, prs_struct *ps, /******************************************************************* reads or writes a structure. ********************************************************************/ -BOOL reg_io_r_open_hklm(char *desc, REG_R_OPEN_HKLM * r_r, prs_struct *ps, +BOOL reg_io_r_open_hklm(const char *desc, REG_R_OPEN_HKLM * r_r, prs_struct *ps, int depth) { if (r_r == NULL) @@ -176,7 +176,7 @@ void init_reg_q_flush_key(REG_Q_FLUSH_KEY *q_u, POLICY_HND *pol) reads or writes a structure. ********************************************************************/ -BOOL reg_io_q_flush_key(char *desc, REG_Q_FLUSH_KEY *r_q, prs_struct *ps, int depth) +BOOL reg_io_q_flush_key(const char *desc, REG_Q_FLUSH_KEY *r_q, prs_struct *ps, int depth) { if (r_q == NULL) return False; @@ -197,7 +197,7 @@ BOOL reg_io_q_flush_key(char *desc, REG_Q_FLUSH_KEY *r_q, prs_struct *ps, int d reads or writes a structure. ********************************************************************/ -BOOL reg_io_r_flush_key(char *desc, REG_R_FLUSH_KEY *r_r, prs_struct *ps, int depth) +BOOL reg_io_r_flush_key(const char *desc, REG_R_FLUSH_KEY *r_r, prs_struct *ps, int depth) { if (r_r == NULL) return False; @@ -256,7 +256,7 @@ static BOOL reg_io_hdrbuf_sec(uint32 ptr, uint32 *ptr3, BUFHDR *hdr_sec, SEC_DES ********************************************************************/ void init_reg_q_create_key(REG_Q_CREATE_KEY *q_c, POLICY_HND *hnd, - char *name, char *class, SEC_ACCESS *sam_access, + const char *name, const char *class, SEC_ACCESS *sam_access, SEC_DESC_BUF *sec_buf) { int len_name = name != NULL ? strlen(name ) + 1: 0; @@ -289,7 +289,7 @@ void init_reg_q_create_key(REG_Q_CREATE_KEY *q_c, POLICY_HND *hnd, reads or writes a structure. ********************************************************************/ -BOOL reg_io_q_create_key(char *desc, REG_Q_CREATE_KEY *r_q, prs_struct *ps, int depth) +BOOL reg_io_q_create_key(const char *desc, REG_Q_CREATE_KEY *r_q, prs_struct *ps, int depth) { if (r_q == NULL) return False; @@ -345,7 +345,7 @@ BOOL reg_io_q_create_key(char *desc, REG_Q_CREATE_KEY *r_q, prs_struct *ps, int reads or writes a structure. ********************************************************************/ -BOOL reg_io_r_create_key(char *desc, REG_R_CREATE_KEY *r_r, prs_struct *ps, int depth) +BOOL reg_io_r_create_key(const char *desc, REG_R_CREATE_KEY *r_r, prs_struct *ps, int depth) { if (r_r == NULL) return False; @@ -373,7 +373,7 @@ BOOL reg_io_r_create_key(char *desc, REG_R_CREATE_KEY *r_r, prs_struct *ps, int ********************************************************************/ void init_reg_q_delete_val(REG_Q_DELETE_VALUE *q_c, POLICY_HND *hnd, - char *name) + const char *name) { int len_name = name != NULL ? strlen(name ) + 1: 0; ZERO_STRUCTP(q_c); @@ -388,7 +388,7 @@ void init_reg_q_delete_val(REG_Q_DELETE_VALUE *q_c, POLICY_HND *hnd, reads or writes a structure. ********************************************************************/ -BOOL reg_io_q_delete_val(char *desc, REG_Q_DELETE_VALUE *r_q, prs_struct *ps, int depth) +BOOL reg_io_q_delete_val(const char *desc, REG_Q_DELETE_VALUE *r_q, prs_struct *ps, int depth) { if (r_q == NULL) return False; @@ -417,7 +417,7 @@ BOOL reg_io_q_delete_val(char *desc, REG_Q_DELETE_VALUE *r_q, prs_struct *ps, i reads or writes a structure. ********************************************************************/ -BOOL reg_io_r_delete_val(char *desc, REG_R_DELETE_VALUE *r_r, prs_struct *ps, int depth) +BOOL reg_io_r_delete_val(const char *desc, REG_R_DELETE_VALUE *r_r, prs_struct *ps, int depth) { if (r_r == NULL) return False; @@ -439,7 +439,7 @@ BOOL reg_io_r_delete_val(char *desc, REG_R_DELETE_VALUE *r_r, prs_struct *ps, i ********************************************************************/ void init_reg_q_delete_key(REG_Q_DELETE_KEY *q_c, POLICY_HND *hnd, - char *name) + const char *name) { int len_name = name != NULL ? strlen(name ) + 1: 0; ZERO_STRUCTP(q_c); @@ -454,7 +454,7 @@ void init_reg_q_delete_key(REG_Q_DELETE_KEY *q_c, POLICY_HND *hnd, reads or writes a structure. ********************************************************************/ -BOOL reg_io_q_delete_key(char *desc, REG_Q_DELETE_KEY *r_q, prs_struct *ps, int depth) +BOOL reg_io_q_delete_key(const char *desc, REG_Q_DELETE_KEY *r_q, prs_struct *ps, int depth) { if (r_q == NULL) return False; @@ -482,7 +482,7 @@ BOOL reg_io_q_delete_key(char *desc, REG_Q_DELETE_KEY *r_q, prs_struct *ps, int reads or writes a structure. ********************************************************************/ -BOOL reg_io_r_delete_key(char *desc, REG_R_DELETE_KEY *r_r, prs_struct *ps, int depth) +BOOL reg_io_r_delete_key(const char *desc, REG_R_DELETE_KEY *r_r, prs_struct *ps, int depth) { if (r_r == NULL) return False; @@ -517,7 +517,7 @@ void init_reg_q_query_key(REG_Q_QUERY_KEY *q_o, POLICY_HND *hnd, reads or writes a structure. ********************************************************************/ -BOOL reg_io_q_query_key(char *desc, REG_Q_QUERY_KEY *r_q, prs_struct *ps, int depth) +BOOL reg_io_q_query_key(const char *desc, REG_Q_QUERY_KEY *r_q, prs_struct *ps, int depth) { if (r_q == NULL) return False; @@ -546,7 +546,7 @@ BOOL reg_io_q_query_key(char *desc, REG_Q_QUERY_KEY *r_q, prs_struct *ps, int d reads or writes a structure. ********************************************************************/ -BOOL reg_io_r_query_key(char *desc, REG_R_QUERY_KEY *r_r, prs_struct *ps, int depth) +BOOL reg_io_r_query_key(const char *desc, REG_R_QUERY_KEY *r_r, prs_struct *ps, int depth) { if (r_r == NULL) return False; @@ -601,7 +601,7 @@ void init_reg_q_unk_1a(REG_Q_UNK_1A *q_o, POLICY_HND *hnd) reads or writes a structure. ********************************************************************/ -BOOL reg_io_q_unk_1a(char *desc, REG_Q_UNK_1A *r_q, prs_struct *ps, int depth) +BOOL reg_io_q_unk_1a(const char *desc, REG_Q_UNK_1A *r_q, prs_struct *ps, int depth) { if (r_q == NULL) return False; @@ -622,7 +622,7 @@ BOOL reg_io_q_unk_1a(char *desc, REG_Q_UNK_1A *r_q, prs_struct *ps, int depth) reads or writes a structure. ********************************************************************/ -BOOL reg_io_r_unk_1a(char *desc, REG_R_UNK_1A *r_r, prs_struct *ps, int depth) +BOOL reg_io_r_unk_1a(const char *desc, REG_R_UNK_1A *r_r, prs_struct *ps, int depth) { if (r_r == NULL) return False; @@ -658,7 +658,7 @@ void init_reg_q_open_hku(REG_Q_OPEN_HKU *q_o, reads or writes a structure. ********************************************************************/ -BOOL reg_io_q_open_hku(char *desc, REG_Q_OPEN_HKU *r_q, prs_struct *ps, int depth) +BOOL reg_io_q_open_hku(const char *desc, REG_Q_OPEN_HKU *r_q, prs_struct *ps, int depth) { if (r_q == NULL) return False; @@ -687,7 +687,7 @@ BOOL reg_io_q_open_hku(char *desc, REG_Q_OPEN_HKU *r_q, prs_struct *ps, int dep reads or writes a structure. ********************************************************************/ -BOOL reg_io_r_open_hku(char *desc, REG_R_OPEN_HKU *r_r, prs_struct *ps, int depth) +BOOL reg_io_r_open_hku(const char *desc, REG_R_OPEN_HKU *r_r, prs_struct *ps, int depth) { if (r_r == NULL) return False; @@ -722,7 +722,7 @@ void init_reg_q_close(REG_Q_CLOSE *q_c, POLICY_HND *hnd) reads or writes a structure. ********************************************************************/ -BOOL reg_io_q_close(char *desc, REG_Q_CLOSE *q_u, prs_struct *ps, int depth) +BOOL reg_io_q_close(const char *desc, REG_Q_CLOSE *q_u, prs_struct *ps, int depth) { if (q_u == NULL) return False; @@ -745,7 +745,7 @@ BOOL reg_io_q_close(char *desc, REG_Q_CLOSE *q_u, prs_struct *ps, int depth) reads or writes a structure. ********************************************************************/ -BOOL reg_io_r_close(char *desc, REG_R_CLOSE *r_u, prs_struct *ps, int depth) +BOOL reg_io_r_close(const char *desc, REG_R_CLOSE *r_u, prs_struct *ps, int depth) { if (r_u == NULL) return False; @@ -786,7 +786,7 @@ void init_reg_q_set_key_sec(REG_Q_SET_KEY_SEC *q_i, POLICY_HND *pol, SEC_DESC_BU reads or writes a structure. ********************************************************************/ -BOOL reg_io_q_set_key_sec(char *desc, REG_Q_SET_KEY_SEC *r_q, prs_struct *ps, int depth) +BOOL reg_io_q_set_key_sec(const char *desc, REG_Q_SET_KEY_SEC *r_q, prs_struct *ps, int depth) { if (r_q == NULL) return False; @@ -815,7 +815,7 @@ BOOL reg_io_q_set_key_sec(char *desc, REG_Q_SET_KEY_SEC *r_q, prs_struct *ps, i reads or writes a structure. ********************************************************************/ -BOOL reg_io_r_set_key_sec(char *desc, REG_R_SET_KEY_SEC *r_q, prs_struct *ps, int depth) +BOOL reg_io_r_set_key_sec(const char *desc, REG_R_SET_KEY_SEC *r_q, prs_struct *ps, int depth) { if (r_q == NULL) return False; @@ -856,7 +856,7 @@ void init_reg_q_get_key_sec(REG_Q_GET_KEY_SEC *q_i, POLICY_HND *pol, reads or writes a structure. ********************************************************************/ -BOOL reg_io_q_get_key_sec(char *desc, REG_Q_GET_KEY_SEC *r_q, prs_struct *ps, int depth) +BOOL reg_io_q_get_key_sec(const char *desc, REG_Q_GET_KEY_SEC *r_q, prs_struct *ps, int depth) { if (r_q == NULL) return False; @@ -901,7 +901,7 @@ makes a structure. reads or writes a structure. ********************************************************************/ -BOOL reg_io_r_get_key_sec(char *desc, REG_R_GET_KEY_SEC *r_q, prs_struct *ps, int depth) +BOOL reg_io_r_get_key_sec(const char *desc, REG_R_GET_KEY_SEC *r_q, prs_struct *ps, int depth) { if (r_q == NULL) return False; @@ -967,7 +967,7 @@ BOOL init_reg_q_info(REG_Q_INFO *q_i, POLICY_HND *pol, char* val_name) reads or writes a structure. ********************************************************************/ -BOOL reg_io_q_info(char *desc, REG_Q_INFO *r_q, prs_struct *ps, int depth) +BOOL reg_io_q_info(const char *desc, REG_Q_INFO *r_q, prs_struct *ps, int depth) { if (r_q == NULL) return False; @@ -1056,7 +1056,7 @@ BOOL init_reg_r_info(uint32 include_keyval, REG_R_INFO *r_r, reads or writes a structure. ********************************************************************/ -BOOL reg_io_r_info(char *desc, REG_R_INFO *r_r, prs_struct *ps, int depth) +BOOL reg_io_r_info(const char *desc, REG_R_INFO *r_r, prs_struct *ps, int depth) { if (r_r == NULL) return False; @@ -1140,7 +1140,7 @@ void init_reg_q_enum_val(REG_Q_ENUM_VALUE *q_i, POLICY_HND *pol, reads or writes a structure. ********************************************************************/ -BOOL reg_io_q_enum_val(char *desc, REG_Q_ENUM_VALUE *q_q, prs_struct *ps, int depth) +BOOL reg_io_q_enum_val(const char *desc, REG_Q_ENUM_VALUE *q_q, prs_struct *ps, int depth) { if (q_q == NULL) return False; @@ -1198,7 +1198,7 @@ BOOL reg_io_q_enum_val(char *desc, REG_Q_ENUM_VALUE *q_q, prs_struct *ps, int d reads or writes a structure. ********************************************************************/ -BOOL reg_io_r_enum_val(char *desc, REG_R_ENUM_VALUE *r_q, prs_struct *ps, int depth) +BOOL reg_io_r_enum_val(const char *desc, REG_R_ENUM_VALUE *r_q, prs_struct *ps, int depth) { if (r_q == NULL) return False; @@ -1256,7 +1256,7 @@ makes a structure. ********************************************************************/ void init_reg_q_create_val(REG_Q_CREATE_VALUE *q_i, POLICY_HND *pol, - char *val_name, uint32 type, + const char *val_name, uint32 type, BUFFER3 *val) { int val_len = strlen(val_name) + 1; @@ -1276,7 +1276,7 @@ void init_reg_q_create_val(REG_Q_CREATE_VALUE *q_i, POLICY_HND *pol, reads or writes a structure. ********************************************************************/ -BOOL reg_io_q_create_val(char *desc, REG_Q_CREATE_VALUE *q_q, prs_struct *ps, int depth) +BOOL reg_io_q_create_val(const char *desc, REG_Q_CREATE_VALUE *q_q, prs_struct *ps, int depth) { if (q_q == NULL) return False; @@ -1311,7 +1311,7 @@ BOOL reg_io_q_create_val(char *desc, REG_Q_CREATE_VALUE *q_q, prs_struct *ps, i reads or writes a structure. ********************************************************************/ -BOOL reg_io_r_create_val(char *desc, REG_R_CREATE_VALUE *r_q, prs_struct *ps, int depth) +BOOL reg_io_r_create_val(const char *desc, REG_R_CREATE_VALUE *r_q, prs_struct *ps, int depth) { if (r_q == NULL) return False; @@ -1355,7 +1355,7 @@ void init_reg_q_enum_key(REG_Q_ENUM_KEY *q_i, POLICY_HND *pol, uint32 key_idx) reads or writes a structure. ********************************************************************/ -BOOL reg_io_q_enum_key(char *desc, REG_Q_ENUM_KEY *q_q, prs_struct *ps, int depth) +BOOL reg_io_q_enum_key(const char *desc, REG_Q_ENUM_KEY *q_q, prs_struct *ps, int depth) { if (q_q == NULL) return False; @@ -1409,7 +1409,7 @@ BOOL reg_io_q_enum_key(char *desc, REG_Q_ENUM_KEY *q_q, prs_struct *ps, int dep reads or writes a structure. ********************************************************************/ -BOOL reg_io_r_enum_key(char *desc, REG_R_ENUM_KEY *r_q, prs_struct *ps, int depth) +BOOL reg_io_r_enum_key(const char *desc, REG_R_ENUM_KEY *r_q, prs_struct *ps, int depth) { if (r_q == NULL) return False; @@ -1466,7 +1466,7 @@ makes a structure. ********************************************************************/ void init_reg_q_open_entry(REG_Q_OPEN_ENTRY *r_q, POLICY_HND *pol, - char *key_name, uint32 unk) + const char *key_name, uint32 unk) { int len_name = strlen(key_name)+1; @@ -1483,7 +1483,7 @@ void init_reg_q_open_entry(REG_Q_OPEN_ENTRY *r_q, POLICY_HND *pol, reads or writes a structure. ********************************************************************/ -BOOL reg_io_q_open_entry(char *desc, REG_Q_OPEN_ENTRY *r_q, prs_struct *ps, int depth) +BOOL reg_io_q_open_entry(const char *desc, REG_Q_OPEN_ENTRY *r_q, prs_struct *ps, int depth) { if (r_q == NULL) return False; @@ -1527,7 +1527,7 @@ void init_reg_r_open_entry(REG_R_OPEN_ENTRY *r_r, reads or writes a structure. ********************************************************************/ -BOOL reg_io_r_open_entry(char *desc, REG_R_OPEN_ENTRY *r_r, prs_struct *ps, int depth) +BOOL reg_io_r_open_entry(const char *desc, REG_R_OPEN_ENTRY *r_r, prs_struct *ps, int depth) { if (r_r == NULL) return False; @@ -1571,7 +1571,7 @@ void init_reg_q_shutdown(REG_Q_SHUTDOWN * q_s, /******************************************************************* reads or writes a structure. ********************************************************************/ -BOOL reg_io_q_shutdown(char *desc, REG_Q_SHUTDOWN * q_s, prs_struct *ps, +BOOL reg_io_q_shutdown(const char *desc, REG_Q_SHUTDOWN * q_s, prs_struct *ps, int depth) { if (q_s == NULL) @@ -1608,7 +1608,7 @@ BOOL reg_io_q_shutdown(char *desc, REG_Q_SHUTDOWN * q_s, prs_struct *ps, /******************************************************************* reads or writes a structure. ********************************************************************/ -BOOL reg_io_r_shutdown(char *desc, REG_R_SHUTDOWN * r_s, prs_struct *ps, +BOOL reg_io_r_shutdown(const char *desc, REG_R_SHUTDOWN * r_s, prs_struct *ps, int depth) { if (r_s == NULL) @@ -1639,7 +1639,7 @@ void init_reg_q_abort_shutdown(REG_Q_ABORT_SHUTDOWN * q_s) /******************************************************************* reads or writes a structure. ********************************************************************/ -BOOL reg_io_q_abort_shutdown(char *desc, REG_Q_ABORT_SHUTDOWN * q_s, +BOOL reg_io_q_abort_shutdown(const char *desc, REG_Q_ABORT_SHUTDOWN * q_s, prs_struct *ps, int depth) { if (q_s == NULL) @@ -1663,7 +1663,7 @@ BOOL reg_io_q_abort_shutdown(char *desc, REG_Q_ABORT_SHUTDOWN * q_s, /******************************************************************* reads or writes a structure. ********************************************************************/ -BOOL reg_io_r_abort_shutdown(char *desc, REG_R_ABORT_SHUTDOWN * r_s, +BOOL reg_io_r_abort_shutdown(const char *desc, REG_R_ABORT_SHUTDOWN * r_s, prs_struct *ps, int depth) { if (r_s == NULL) diff --git a/source/rpc_parse/parse_rpc.c b/source/rpc_parse/parse_rpc.c index 2dec12dbd0a..46a57daaaf7 100644 --- a/source/rpc_parse/parse_rpc.c +++ b/source/rpc_parse/parse_rpc.c @@ -167,7 +167,7 @@ void init_rpc_hdr(RPC_HDR *hdr, enum RPC_PKT_TYPE pkt_type, uint8 flags, Reads or writes an RPC_HDR structure. ********************************************************************/ -BOOL smb_io_rpc_hdr(char *desc, RPC_HDR *rpc, prs_struct *ps, int depth) +BOOL smb_io_rpc_hdr(const char *desc, RPC_HDR *rpc, prs_struct *ps, int depth) { if (rpc == NULL) return False; @@ -221,7 +221,7 @@ BOOL smb_io_rpc_hdr(char *desc, RPC_HDR *rpc, prs_struct *ps, int depth) Reads or writes an RPC_IFACE structure. ********************************************************************/ -static BOOL smb_io_rpc_iface(char *desc, RPC_IFACE *ifc, prs_struct *ps, int depth) +static BOOL smb_io_rpc_iface(const char *desc, RPC_IFACE *ifc, prs_struct *ps, int depth) { if (ifc == NULL) return False; @@ -251,7 +251,7 @@ static BOOL smb_io_rpc_iface(char *desc, RPC_IFACE *ifc, prs_struct *ps, int dep Inits an RPC_ADDR_STR structure. ********************************************************************/ -static void init_rpc_addr_str(RPC_ADDR_STR *str, char *name) +static void init_rpc_addr_str(RPC_ADDR_STR *str, const char *name) { str->len = strlen(name) + 1; fstrcpy(str->str, name); @@ -261,7 +261,7 @@ static void init_rpc_addr_str(RPC_ADDR_STR *str, char *name) Reads or writes an RPC_ADDR_STR structure. ********************************************************************/ -static BOOL smb_io_rpc_addr_str(char *desc, RPC_ADDR_STR *str, prs_struct *ps, int depth) +static BOOL smb_io_rpc_addr_str(const char *desc, RPC_ADDR_STR *str, prs_struct *ps, int depth) { if (str == NULL) return False; @@ -293,7 +293,7 @@ static void init_rpc_hdr_bba(RPC_HDR_BBA *bba, uint16 max_tsize, uint16 max_rsiz Reads or writes an RPC_HDR_BBA structure. ********************************************************************/ -static BOOL smb_io_rpc_hdr_bba(char *desc, RPC_HDR_BBA *rpc, prs_struct *ps, int depth) +static BOOL smb_io_rpc_hdr_bba(const char *desc, RPC_HDR_BBA *rpc, prs_struct *ps, int depth) { if (rpc == NULL) return False; @@ -336,7 +336,7 @@ void init_rpc_hdr_rb(RPC_HDR_RB *rpc, Reads or writes an RPC_HDR_RB structure. ********************************************************************/ -BOOL smb_io_rpc_hdr_rb(char *desc, RPC_HDR_RB *rpc, prs_struct *ps, int depth) +BOOL smb_io_rpc_hdr_rb(const char *desc, RPC_HDR_RB *rpc, prs_struct *ps, int depth) { if (rpc == NULL) return False; @@ -382,7 +382,7 @@ static void init_rpc_results(RPC_RESULTS *res, lkclXXXX only one reason at the moment! ********************************************************************/ -static BOOL smb_io_rpc_results(char *desc, RPC_RESULTS *res, prs_struct *ps, int depth) +static BOOL smb_io_rpc_results(const char *desc, RPC_RESULTS *res, prs_struct *ps, int depth) { if (res == NULL) return False; @@ -415,7 +415,7 @@ static BOOL smb_io_rpc_results(char *desc, RPC_RESULTS *res, prs_struct *ps, int void init_rpc_hdr_ba(RPC_HDR_BA *rpc, uint16 max_tsize, uint16 max_rsize, uint32 assoc_gid, - char *pipe_addr, + const char *pipe_addr, uint8 num_results, uint16 result, uint16 reason, RPC_IFACE *transfer) { @@ -431,7 +431,7 @@ void init_rpc_hdr_ba(RPC_HDR_BA *rpc, Reads or writes an RPC_HDR_BA structure. ********************************************************************/ -BOOL smb_io_rpc_hdr_ba(char *desc, RPC_HDR_BA *rpc, prs_struct *ps, int depth) +BOOL smb_io_rpc_hdr_ba(const char *desc, RPC_HDR_BA *rpc, prs_struct *ps, int depth) { if (rpc == NULL) return False; @@ -465,7 +465,7 @@ void init_rpc_hdr_req(RPC_HDR_REQ *hdr, uint32 alloc_hint, uint16 opnum) Reads or writes an RPC_HDR_REQ structure. ********************************************************************/ -BOOL smb_io_rpc_hdr_req(char *desc, RPC_HDR_REQ *rpc, prs_struct *ps, int depth) +BOOL smb_io_rpc_hdr_req(const char *desc, RPC_HDR_REQ *rpc, prs_struct *ps, int depth) { if (rpc == NULL) return False; @@ -486,7 +486,7 @@ BOOL smb_io_rpc_hdr_req(char *desc, RPC_HDR_REQ *rpc, prs_struct *ps, int depth) Reads or writes an RPC_HDR_RESP structure. ********************************************************************/ -BOOL smb_io_rpc_hdr_resp(char *desc, RPC_HDR_RESP *rpc, prs_struct *ps, int depth) +BOOL smb_io_rpc_hdr_resp(const char *desc, RPC_HDR_RESP *rpc, prs_struct *ps, int depth) { if (rpc == NULL) return False; @@ -509,7 +509,7 @@ BOOL smb_io_rpc_hdr_resp(char *desc, RPC_HDR_RESP *rpc, prs_struct *ps, int dept Reads or writes an RPC_HDR_FAULT structure. ********************************************************************/ -BOOL smb_io_rpc_hdr_fault(char *desc, RPC_HDR_FAULT *rpc, prs_struct *ps, int depth) +BOOL smb_io_rpc_hdr_fault(const char *desc, RPC_HDR_FAULT *rpc, prs_struct *ps, int depth) { if (rpc == NULL) return False; @@ -549,7 +549,7 @@ void init_rpc_hdr_autha(RPC_HDR_AUTHA *rai, Reads or writes an RPC_HDR_AUTHA structure. ********************************************************************/ -BOOL smb_io_rpc_hdr_autha(char *desc, RPC_HDR_AUTHA *rai, prs_struct *ps, int depth) +BOOL smb_io_rpc_hdr_autha(const char *desc, RPC_HDR_AUTHA *rai, prs_struct *ps, int depth) { if (rai == NULL) return False; @@ -607,7 +607,7 @@ void init_rpc_hdr_auth(RPC_HDR_AUTH *rai, Reads or writes an RPC_HDR_AUTH structure. ********************************************************************/ -BOOL smb_io_rpc_hdr_auth(char *desc, RPC_HDR_AUTH *rai, prs_struct *ps, int depth) +BOOL smb_io_rpc_hdr_auth(const char *desc, RPC_HDR_AUTH *rai, prs_struct *ps, int depth) { if (rai == NULL) return False; @@ -638,7 +638,7 @@ BOOL smb_io_rpc_hdr_auth(char *desc, RPC_HDR_AUTH *rai, prs_struct *ps, int dept ********************************************************************/ BOOL rpc_auth_verifier_chk(RPC_AUTH_VERIFIER *rav, - char *signature, uint32 msg_type) + const char *signature, uint32 msg_type) { return (strequal(rav->signature, signature) && rav->msg_type == msg_type); } @@ -648,7 +648,7 @@ BOOL rpc_auth_verifier_chk(RPC_AUTH_VERIFIER *rav, ********************************************************************/ void init_rpc_auth_verifier(RPC_AUTH_VERIFIER *rav, - char *signature, uint32 msg_type) + const char *signature, uint32 msg_type) { fstrcpy(rav->signature, signature); /* "NTLMSSP" */ rav->msg_type = msg_type; /* NTLMSSP_MESSAGE_TYPE */ @@ -658,7 +658,7 @@ void init_rpc_auth_verifier(RPC_AUTH_VERIFIER *rav, Reads or writes an RPC_AUTH_VERIFIER structure. ********************************************************************/ -BOOL smb_io_rpc_auth_verifier(char *desc, RPC_AUTH_VERIFIER *rav, prs_struct *ps, int depth) +BOOL smb_io_rpc_auth_verifier(const char *desc, RPC_AUTH_VERIFIER *rav, prs_struct *ps, int depth) { if (rav == NULL) return False; @@ -702,7 +702,7 @@ void init_rpc_auth_ntlmssp_neg(RPC_AUTH_NTLMSSP_NEG *neg, *** lkclXXXX HACK ALERT! *** ********************************************************************/ -BOOL smb_io_rpc_auth_ntlmssp_neg(char *desc, RPC_AUTH_NTLMSSP_NEG *neg, prs_struct *ps, int depth) +BOOL smb_io_rpc_auth_ntlmssp_neg(const char *desc, RPC_AUTH_NTLMSSP_NEG *neg, prs_struct *ps, int depth) { uint32 start_offset = prs_offset(ps); if (neg == NULL) @@ -789,7 +789,7 @@ void init_rpc_auth_ntlmssp_chal(RPC_AUTH_NTLMSSP_CHAL *chl, Reads or writes an RPC_AUTH_NTLMSSP_CHAL structure. ********************************************************************/ -BOOL smb_io_rpc_auth_ntlmssp_chal(char *desc, RPC_AUTH_NTLMSSP_CHAL *chl, prs_struct *ps, int depth) +BOOL smb_io_rpc_auth_ntlmssp_chal(const char *desc, RPC_AUTH_NTLMSSP_CHAL *chl, prs_struct *ps, int depth) { if (chl == NULL) return False; @@ -821,7 +821,7 @@ BOOL smb_io_rpc_auth_ntlmssp_chal(char *desc, RPC_AUTH_NTLMSSP_CHAL *chl, prs_st void init_rpc_auth_ntlmssp_resp(RPC_AUTH_NTLMSSP_RESP *rsp, uchar lm_resp[24], uchar nt_resp[24], - char *domain, char *user, char *wks, + const char *domain, const char *user, const char *wks, uint32 neg_flags) { uint32 offset; @@ -893,7 +893,7 @@ void init_rpc_auth_ntlmssp_resp(RPC_AUTH_NTLMSSP_RESP *rsp, *** lkclXXXX the actual offset is at the start of the auth verifier *** ********************************************************************/ -BOOL smb_io_rpc_auth_ntlmssp_resp(char *desc, RPC_AUTH_NTLMSSP_RESP *rsp, prs_struct *ps, int depth) +BOOL smb_io_rpc_auth_ntlmssp_resp(const char *desc, RPC_AUTH_NTLMSSP_RESP *rsp, prs_struct *ps, int depth) { if (rsp == NULL) return False; @@ -1067,7 +1067,7 @@ void init_rpc_auth_ntlmssp_chk(RPC_AUTH_NTLMSSP_CHK *chk, Reads or writes an RPC_AUTH_NTLMSSP_CHK structure. ********************************************************************/ -BOOL smb_io_rpc_auth_ntlmssp_chk(char *desc, RPC_AUTH_NTLMSSP_CHK *chk, prs_struct *ps, int depth) +BOOL smb_io_rpc_auth_ntlmssp_chk(const char *desc, RPC_AUTH_NTLMSSP_CHK *chk, prs_struct *ps, int depth) { if (chk == NULL) return False; diff --git a/source/rpc_parse/parse_samr.c b/source/rpc_parse/parse_samr.c index b86717704e6..7d0c3b44718 100644 --- a/source/rpc_parse/parse_samr.c +++ b/source/rpc_parse/parse_samr.c @@ -43,7 +43,7 @@ void init_samr_q_close_hnd(SAMR_Q_CLOSE_HND * q_c, POLICY_HND *hnd) reads or writes a structure. ********************************************************************/ -BOOL samr_io_q_close_hnd(char *desc, SAMR_Q_CLOSE_HND * q_u, +BOOL samr_io_q_close_hnd(const char *desc, SAMR_Q_CLOSE_HND * q_u, prs_struct *ps, int depth) { if (q_u == NULL) @@ -62,7 +62,7 @@ BOOL samr_io_q_close_hnd(char *desc, SAMR_Q_CLOSE_HND * q_u, reads or writes a structure. ********************************************************************/ -BOOL samr_io_r_close_hnd(char *desc, SAMR_R_CLOSE_HND * r_u, +BOOL samr_io_r_close_hnd(const char *desc, SAMR_R_CLOSE_HND * r_u, prs_struct *ps, int depth) { if (r_u == NULL) @@ -88,7 +88,7 @@ inits a SAMR_Q_LOOKUP_DOMAIN structure. ********************************************************************/ void init_samr_q_lookup_domain(SAMR_Q_LOOKUP_DOMAIN * q_u, - POLICY_HND *pol, char *dom_name) + POLICY_HND *pol, const char *dom_name) { int len_name = strlen(dom_name); @@ -103,7 +103,7 @@ void init_samr_q_lookup_domain(SAMR_Q_LOOKUP_DOMAIN * q_u, /******************************************************************* reads or writes a structure. ********************************************************************/ -BOOL samr_io_q_lookup_domain(char *desc, SAMR_Q_LOOKUP_DOMAIN * q_u, +BOOL samr_io_q_lookup_domain(const char *desc, SAMR_Q_LOOKUP_DOMAIN * q_u, prs_struct *ps, int depth) { if (q_u == NULL) @@ -148,7 +148,7 @@ void init_samr_r_lookup_domain(SAMR_R_LOOKUP_DOMAIN * r_u, reads or writes a structure. ********************************************************************/ -BOOL samr_io_r_lookup_domain(char *desc, SAMR_R_LOOKUP_DOMAIN * r_u, +BOOL samr_io_r_lookup_domain(const char *desc, SAMR_R_LOOKUP_DOMAIN * r_u, prs_struct *ps, int depth) { if (r_u == NULL) @@ -192,7 +192,7 @@ void init_samr_q_unknown_2d(SAMR_Q_UNKNOWN_2D * q_u, POLICY_HND *dom_pol, DOM_SI reads or writes a structure. ********************************************************************/ -BOOL samr_io_q_unknown_2d(char *desc, SAMR_Q_UNKNOWN_2D * q_u, +BOOL samr_io_q_unknown_2d(const char *desc, SAMR_Q_UNKNOWN_2D * q_u, prs_struct *ps, int depth) { if (q_u == NULL) @@ -220,7 +220,7 @@ BOOL samr_io_q_unknown_2d(char *desc, SAMR_Q_UNKNOWN_2D * q_u, reads or writes a structure. ********************************************************************/ -BOOL samr_io_r_unknown_2d(char *desc, SAMR_R_UNKNOWN_2D * r_u, +BOOL samr_io_r_unknown_2d(const char *desc, SAMR_R_UNKNOWN_2D * r_u, prs_struct *ps, int depth) { if (r_u == NULL) @@ -257,7 +257,7 @@ void init_samr_q_open_domain(SAMR_Q_OPEN_DOMAIN * q_u, reads or writes a structure. ********************************************************************/ -BOOL samr_io_q_open_domain(char *desc, SAMR_Q_OPEN_DOMAIN * q_u, +BOOL samr_io_q_open_domain(const char *desc, SAMR_Q_OPEN_DOMAIN * q_u, prs_struct *ps, int depth) { if (q_u == NULL) @@ -285,7 +285,7 @@ BOOL samr_io_q_open_domain(char *desc, SAMR_Q_OPEN_DOMAIN * q_u, reads or writes a structure. ********************************************************************/ -BOOL samr_io_r_open_domain(char *desc, SAMR_R_OPEN_DOMAIN * r_u, +BOOL samr_io_r_open_domain(const char *desc, SAMR_R_OPEN_DOMAIN * r_u, prs_struct *ps, int depth) { if (r_u == NULL) @@ -322,7 +322,7 @@ void init_samr_q_get_usrdom_pwinfo(SAMR_Q_GET_USRDOM_PWINFO * q_u, reads or writes a structure. ********************************************************************/ -BOOL samr_io_q_get_usrdom_pwinfo(char *desc, SAMR_Q_GET_USRDOM_PWINFO * q_u, +BOOL samr_io_q_get_usrdom_pwinfo(const char *desc, SAMR_Q_GET_USRDOM_PWINFO * q_u, prs_struct *ps, int depth) { if (q_u == NULL) @@ -364,7 +364,7 @@ void init_samr_r_get_usrdom_pwinfo(SAMR_R_GET_USRDOM_PWINFO *r_u, NTSTATUS statu reads or writes a structure. ********************************************************************/ -BOOL samr_io_r_get_usrdom_pwinfo(char *desc, SAMR_R_GET_USRDOM_PWINFO * r_u, +BOOL samr_io_r_get_usrdom_pwinfo(const char *desc, SAMR_R_GET_USRDOM_PWINFO * r_u, prs_struct *ps, int depth) { if (r_u == NULL) @@ -406,7 +406,7 @@ void init_samr_q_query_sec_obj(SAMR_Q_QUERY_SEC_OBJ * q_u, reads or writes a structure. ********************************************************************/ -BOOL samr_io_q_query_sec_obj(char *desc, SAMR_Q_QUERY_SEC_OBJ * q_u, +BOOL samr_io_q_query_sec_obj(const char *desc, SAMR_Q_QUERY_SEC_OBJ * q_u, prs_struct *ps, int depth) { if (q_u == NULL) @@ -444,7 +444,7 @@ void init_samr_q_query_dom_info(SAMR_Q_QUERY_DOMAIN_INFO * q_u, reads or writes a structure. ********************************************************************/ -BOOL samr_io_q_query_dom_info(char *desc, SAMR_Q_QUERY_DOMAIN_INFO * q_u, +BOOL samr_io_q_query_dom_info(const char *desc, SAMR_Q_QUERY_DOMAIN_INFO * q_u, prs_struct *ps, int depth) { if (q_u == NULL) @@ -480,7 +480,7 @@ void init_unk_info3(SAM_UNK_INFO_3 *u_3, NTTIME nt_logout) reads or writes a structure. ********************************************************************/ -static BOOL sam_io_unk_info3(char *desc, SAM_UNK_INFO_3 * u_3, +static BOOL sam_io_unk_info3(const char *desc, SAM_UNK_INFO_3 * u_3, prs_struct *ps, int depth) { if (u_3 == NULL) @@ -510,7 +510,7 @@ void init_unk_info6(SAM_UNK_INFO_6 * u_6) reads or writes a structure. ********************************************************************/ -static BOOL sam_io_unk_info6(char *desc, SAM_UNK_INFO_6 * u_6, +static BOOL sam_io_unk_info6(const char *desc, SAM_UNK_INFO_6 * u_6, prs_struct *ps, int depth) { if (u_6 == NULL) @@ -542,7 +542,7 @@ void init_unk_info7(SAM_UNK_INFO_7 * u_7) reads or writes a structure. ********************************************************************/ -static BOOL sam_io_unk_info7(char *desc, SAM_UNK_INFO_7 * u_7, +static BOOL sam_io_unk_info7(const char *desc, SAM_UNK_INFO_7 * u_7, prs_struct *ps, int depth) { if (u_7 == NULL) @@ -575,7 +575,7 @@ void init_unk_info12(SAM_UNK_INFO_12 * u_12, NTTIME nt_lock_duration, NTTIME nt_ reads or writes a structure. ********************************************************************/ -static BOOL sam_io_unk_info12(char *desc, SAM_UNK_INFO_12 * u_12, +static BOOL sam_io_unk_info12(const char *desc, SAM_UNK_INFO_12 * u_12, prs_struct *ps, int depth) { if (u_12 == NULL) @@ -597,7 +597,7 @@ static BOOL sam_io_unk_info12(char *desc, SAM_UNK_INFO_12 * u_12, /******************************************************************* inits a structure. ********************************************************************/ -void init_unk_info5(SAM_UNK_INFO_5 * u_5,char *server) +void init_unk_info5(SAM_UNK_INFO_5 * u_5,const char *server) { int len_server = strlen(server); @@ -610,7 +610,7 @@ void init_unk_info5(SAM_UNK_INFO_5 * u_5,char *server) reads or writes a structure. ********************************************************************/ -static BOOL sam_io_unk_info5(char *desc, SAM_UNK_INFO_5 * u_5, +static BOOL sam_io_unk_info5(const char *desc, SAM_UNK_INFO_5 * u_5, prs_struct *ps, int depth) { if (u_5 == NULL) @@ -632,7 +632,7 @@ static BOOL sam_io_unk_info5(char *desc, SAM_UNK_INFO_5 * u_5, inits a structure. ********************************************************************/ void init_unk_info2(SAM_UNK_INFO_2 * u_2, - char *domain, char *server, + const char *domain, const char *server, uint32 seq_num, uint32 num_users, uint32 num_groups, uint32 num_alias) { int len_domain = strlen(domain); @@ -666,7 +666,7 @@ void init_unk_info2(SAM_UNK_INFO_2 * u_2, reads or writes a structure. ********************************************************************/ -static BOOL sam_io_unk_info2(char *desc, SAM_UNK_INFO_2 * u_2, +static BOOL sam_io_unk_info2(const char *desc, SAM_UNK_INFO_2 * u_2, prs_struct *ps, int depth) { if (u_2 == NULL) @@ -747,7 +747,7 @@ void init_unk_info1(SAM_UNK_INFO_1 *u_1, uint16 min_pass_len, uint16 pass_hist, reads or writes a structure. ********************************************************************/ -static BOOL sam_io_unk_info1(char *desc, SAM_UNK_INFO_1 * u_1, +static BOOL sam_io_unk_info1(const char *desc, SAM_UNK_INFO_1 * u_1, prs_struct *ps, int depth) { if (u_1 == NULL) @@ -795,7 +795,7 @@ void init_samr_r_query_dom_info(SAMR_R_QUERY_DOMAIN_INFO * r_u, reads or writes a structure. ********************************************************************/ -BOOL samr_io_r_query_dom_info(char *desc, SAMR_R_QUERY_DOMAIN_INFO * r_u, +BOOL samr_io_r_query_dom_info(const char *desc, SAMR_R_QUERY_DOMAIN_INFO * r_u, prs_struct *ps, int depth) { if (r_u == NULL) @@ -866,7 +866,7 @@ BOOL samr_io_r_query_dom_info(char *desc, SAMR_R_QUERY_DOMAIN_INFO * r_u, reads or writes a SAMR_R_QUERY_SEC_OBJ structure. ********************************************************************/ -BOOL samr_io_r_query_sec_obj(char *desc, SAMR_R_QUERY_SEC_OBJ * r_u, +BOOL samr_io_r_query_sec_obj(const char *desc, SAMR_R_QUERY_SEC_OBJ * r_u, prs_struct *ps, int depth) { if (r_u == NULL) @@ -895,7 +895,7 @@ BOOL samr_io_r_query_sec_obj(char *desc, SAMR_R_QUERY_SEC_OBJ * r_u, reads or writes a SAM_STR1 structure. ********************************************************************/ -static BOOL sam_io_sam_str1(char *desc, SAM_STR1 * sam, uint32 acct_buf, +static BOOL sam_io_sam_str1(const char *desc, SAM_STR1 * sam, uint32 acct_buf, uint32 name_buf, uint32 desc_buf, prs_struct *ps, int depth) { @@ -945,7 +945,7 @@ static void init_sam_entry1(SAM_ENTRY1 * sam, uint32 user_idx, reads or writes a SAM_ENTRY1 structure. ********************************************************************/ -static BOOL sam_io_sam_entry1(char *desc, SAM_ENTRY1 * sam, +static BOOL sam_io_sam_entry1(const char *desc, SAM_ENTRY1 * sam, prs_struct *ps, int depth) { if (sam == NULL) @@ -982,7 +982,7 @@ static BOOL sam_io_sam_entry1(char *desc, SAM_ENTRY1 * sam, reads or writes a SAM_STR2 structure. ********************************************************************/ -static BOOL sam_io_sam_str2(char *desc, SAM_STR2 * sam, uint32 acct_buf, +static BOOL sam_io_sam_str2(const char *desc, SAM_STR2 * sam, uint32 acct_buf, uint32 desc_buf, prs_struct *ps, int depth) { if (sam == NULL) @@ -1023,7 +1023,7 @@ static void init_sam_entry2(SAM_ENTRY2 * sam, uint32 user_idx, reads or writes a SAM_ENTRY2 structure. ********************************************************************/ -static BOOL sam_io_sam_entry2(char *desc, SAM_ENTRY2 * sam, +static BOOL sam_io_sam_entry2(const char *desc, SAM_ENTRY2 * sam, prs_struct *ps, int depth) { if (sam == NULL) @@ -1058,7 +1058,7 @@ static BOOL sam_io_sam_entry2(char *desc, SAM_ENTRY2 * sam, reads or writes a SAM_STR3 structure. ********************************************************************/ -static BOOL sam_io_sam_str3(char *desc, SAM_STR3 * sam, uint32 acct_buf, +static BOOL sam_io_sam_str3(const char *desc, SAM_STR3 * sam, uint32 acct_buf, uint32 desc_buf, prs_struct *ps, int depth) { if (sam == NULL) @@ -1100,7 +1100,7 @@ static void init_sam_entry3(SAM_ENTRY3 * sam, uint32 grp_idx, reads or writes a SAM_ENTRY3 structure. ********************************************************************/ -static BOOL sam_io_sam_entry3(char *desc, SAM_ENTRY3 * sam, +static BOOL sam_io_sam_entry3(const char *desc, SAM_ENTRY3 * sam, prs_struct *ps, int depth) { if (sam == NULL) @@ -1145,7 +1145,7 @@ static void init_sam_entry4(SAM_ENTRY4 * sam, uint32 user_idx, reads or writes a SAM_ENTRY4 structure. ********************************************************************/ -static BOOL sam_io_sam_entry4(char *desc, SAM_ENTRY4 * sam, +static BOOL sam_io_sam_entry4(const char *desc, SAM_ENTRY4 * sam, prs_struct *ps, int depth) { if (sam == NULL) @@ -1183,7 +1183,7 @@ static void init_sam_entry5(SAM_ENTRY5 * sam, uint32 grp_idx, reads or writes a SAM_ENTRY5 structure. ********************************************************************/ -static BOOL sam_io_sam_entry5(char *desc, SAM_ENTRY5 * sam, +static BOOL sam_io_sam_entry5(const char *desc, SAM_ENTRY5 * sam, prs_struct *ps, int depth) { if (sam == NULL) @@ -1219,7 +1219,7 @@ void init_sam_entry(SAM_ENTRY * sam, uint32 len_sam_name, uint32 rid) reads or writes a SAM_ENTRY structure. ********************************************************************/ -static BOOL sam_io_sam_entry(char *desc, SAM_ENTRY * sam, +static BOOL sam_io_sam_entry(const char *desc, SAM_ENTRY * sam, prs_struct *ps, int depth) { if (sam == NULL) @@ -1260,7 +1260,7 @@ void init_samr_q_enum_dom_users(SAMR_Q_ENUM_DOM_USERS * q_e, POLICY_HND *pol, reads or writes a structure. ********************************************************************/ -BOOL samr_io_q_enum_dom_users(char *desc, SAMR_Q_ENUM_DOM_USERS * q_e, +BOOL samr_io_q_enum_dom_users(const char *desc, SAMR_Q_ENUM_DOM_USERS * q_e, prs_struct *ps, int depth) { if (q_e == NULL) @@ -1318,7 +1318,7 @@ void init_samr_r_enum_dom_users(SAMR_R_ENUM_DOM_USERS * r_u, reads or writes a structure. ********************************************************************/ -BOOL samr_io_r_enum_dom_users(char *desc, SAMR_R_ENUM_DOM_USERS * r_u, +BOOL samr_io_r_enum_dom_users(const char *desc, SAMR_R_ENUM_DOM_USERS * r_u, prs_struct *ps, int depth) { uint32 i; @@ -1403,7 +1403,7 @@ void init_samr_q_query_dispinfo(SAMR_Q_QUERY_DISPINFO * q_e, POLICY_HND *pol, reads or writes a structure. ********************************************************************/ -BOOL samr_io_q_query_dispinfo(char *desc, SAMR_Q_QUERY_DISPINFO * q_e, +BOOL samr_io_q_query_dispinfo(const char *desc, SAMR_Q_QUERY_DISPINFO * q_e, prs_struct *ps, int depth) { if (q_e == NULL) @@ -1491,7 +1491,7 @@ NTSTATUS init_sam_dispinfo_1(TALLOC_CTX *ctx, SAM_DISPINFO_1 *sam, uint32 num_en reads or writes a structure. ********************************************************************/ -static BOOL sam_io_sam_dispinfo_1(char *desc, SAM_DISPINFO_1 * sam, +static BOOL sam_io_sam_dispinfo_1(const char *desc, SAM_DISPINFO_1 * sam, uint32 num_entries, prs_struct *ps, int depth) { @@ -1588,7 +1588,7 @@ NTSTATUS init_sam_dispinfo_2(TALLOC_CTX *ctx, SAM_DISPINFO_2 *sam, uint32 num_en reads or writes a structure. ********************************************************************/ -static BOOL sam_io_sam_dispinfo_2(char *desc, SAM_DISPINFO_2 * sam, +static BOOL sam_io_sam_dispinfo_2(const char *desc, SAM_DISPINFO_2 * sam, uint32 num_entries, prs_struct *ps, int depth) { @@ -1682,7 +1682,7 @@ NTSTATUS init_sam_dispinfo_3(TALLOC_CTX *ctx, SAM_DISPINFO_3 *sam, uint32 num_en reads or writes a structure. ********************************************************************/ -static BOOL sam_io_sam_dispinfo_3(char *desc, SAM_DISPINFO_3 * sam, +static BOOL sam_io_sam_dispinfo_3(const char *desc, SAM_DISPINFO_3 * sam, uint32 num_entries, prs_struct *ps, int depth) { @@ -1775,7 +1775,7 @@ NTSTATUS init_sam_dispinfo_4(TALLOC_CTX *ctx, SAM_DISPINFO_4 *sam, uint32 num_en reads or writes a structure. ********************************************************************/ -static BOOL sam_io_sam_dispinfo_4(char *desc, SAM_DISPINFO_4 * sam, +static BOOL sam_io_sam_dispinfo_4(const char *desc, SAM_DISPINFO_4 * sam, uint32 num_entries, prs_struct *ps, int depth) { @@ -1865,7 +1865,7 @@ NTSTATUS init_sam_dispinfo_5(TALLOC_CTX *ctx, SAM_DISPINFO_5 *sam, uint32 num_en reads or writes a structure. ********************************************************************/ -static BOOL sam_io_sam_dispinfo_5(char *desc, SAM_DISPINFO_5 * sam, +static BOOL sam_io_sam_dispinfo_5(const char *desc, SAM_DISPINFO_5 * sam, uint32 num_entries, prs_struct *ps, int depth) { @@ -1944,7 +1944,7 @@ void init_samr_r_query_dispinfo(SAMR_R_QUERY_DISPINFO * r_u, reads or writes a structure. ********************************************************************/ -BOOL samr_io_r_query_dispinfo(char *desc, SAMR_R_QUERY_DISPINFO * r_u, +BOOL samr_io_r_query_dispinfo(const char *desc, SAMR_R_QUERY_DISPINFO * r_u, prs_struct *ps, int depth) { if (r_u == NULL) @@ -2042,7 +2042,7 @@ void init_samr_q_open_group(SAMR_Q_OPEN_GROUP * q_c, reads or writes a structure. ********************************************************************/ -BOOL samr_io_q_open_group(char *desc, SAMR_Q_OPEN_GROUP * q_u, +BOOL samr_io_q_open_group(const char *desc, SAMR_Q_OPEN_GROUP * q_u, prs_struct *ps, int depth) { if (q_u == NULL) @@ -2069,7 +2069,7 @@ BOOL samr_io_q_open_group(char *desc, SAMR_Q_OPEN_GROUP * q_u, reads or writes a structure. ********************************************************************/ -BOOL samr_io_r_open_group(char *desc, SAMR_R_OPEN_GROUP * r_u, +BOOL samr_io_r_open_group(const char *desc, SAMR_R_OPEN_GROUP * r_u, prs_struct *ps, int depth) { if (r_u == NULL) @@ -2095,7 +2095,7 @@ inits a GROUP_INFO1 structure. ********************************************************************/ void init_samr_group_info1(GROUP_INFO1 * gr1, - char *acct_name, char *acct_desc, + const char *acct_name, const char *acct_desc, uint32 num_members) { int desc_len = acct_desc != NULL ? strlen(acct_desc) : 0; @@ -2118,7 +2118,7 @@ void init_samr_group_info1(GROUP_INFO1 * gr1, reads or writes a structure. ********************************************************************/ -BOOL samr_io_group_info1(char *desc, GROUP_INFO1 * gr1, +BOOL samr_io_group_info1(const char *desc, GROUP_INFO1 * gr1, prs_struct *ps, int depth) { if (gr1 == NULL) @@ -2167,7 +2167,7 @@ void init_samr_group_info3(GROUP_INFO3 *gr3) reads or writes a structure. ********************************************************************/ -BOOL samr_io_group_info3(char *desc, GROUP_INFO3 *gr3, prs_struct *ps, int depth) +BOOL samr_io_group_info3(const char *desc, GROUP_INFO3 *gr3, prs_struct *ps, int depth) { if (gr3 == NULL) return False; @@ -2188,7 +2188,7 @@ BOOL samr_io_group_info3(char *desc, GROUP_INFO3 *gr3, prs_struct *ps, int depth inits a GROUP_INFO4 structure. ********************************************************************/ -void init_samr_group_info4(GROUP_INFO4 * gr4, char *acct_desc) +void init_samr_group_info4(GROUP_INFO4 * gr4, const char *acct_desc) { int acct_len = acct_desc != NULL ? strlen(acct_desc) : 0; @@ -2202,7 +2202,7 @@ void init_samr_group_info4(GROUP_INFO4 * gr4, char *acct_desc) reads or writes a structure. ********************************************************************/ -BOOL samr_io_group_info4(char *desc, GROUP_INFO4 * gr4, +BOOL samr_io_group_info4(const char *desc, GROUP_INFO4 * gr4, prs_struct *ps, int depth) { if (gr4 == NULL) @@ -2227,7 +2227,7 @@ BOOL samr_io_group_info4(char *desc, GROUP_INFO4 * gr4, reads or writes a structure. ********************************************************************/ -static BOOL samr_group_info_ctr(char *desc, GROUP_INFO_CTR **ctr, +static BOOL samr_group_info_ctr(const char *desc, GROUP_INFO_CTR **ctr, prs_struct *ps, int depth) { if (UNMARSHALLING(ps)) @@ -2268,7 +2268,7 @@ inits a SAMR_Q_CREATE_DOM_GROUP structure. ********************************************************************/ void init_samr_q_create_dom_group(SAMR_Q_CREATE_DOM_GROUP * q_e, - POLICY_HND *pol, char *acct_desc, + POLICY_HND *pol, const char *acct_desc, uint32 access_mask) { int acct_len = acct_desc != NULL ? strlen(acct_desc) : 0; @@ -2287,7 +2287,7 @@ void init_samr_q_create_dom_group(SAMR_Q_CREATE_DOM_GROUP * q_e, reads or writes a structure. ********************************************************************/ -BOOL samr_io_q_create_dom_group(char *desc, SAMR_Q_CREATE_DOM_GROUP * q_e, +BOOL samr_io_q_create_dom_group(const char *desc, SAMR_Q_CREATE_DOM_GROUP * q_e, prs_struct *ps, int depth) { if (q_e == NULL) @@ -2320,7 +2320,7 @@ BOOL samr_io_q_create_dom_group(char *desc, SAMR_Q_CREATE_DOM_GROUP * q_e, reads or writes a structure. ********************************************************************/ -BOOL samr_io_r_create_dom_group(char *desc, SAMR_R_CREATE_DOM_GROUP * r_u, +BOOL samr_io_r_create_dom_group(const char *desc, SAMR_R_CREATE_DOM_GROUP * r_u, prs_struct *ps, int depth) { if (r_u == NULL) @@ -2359,7 +2359,7 @@ void init_samr_q_delete_dom_group(SAMR_Q_DELETE_DOM_GROUP * q_c, reads or writes a structure. ********************************************************************/ -BOOL samr_io_q_delete_dom_group(char *desc, SAMR_Q_DELETE_DOM_GROUP * q_u, +BOOL samr_io_q_delete_dom_group(const char *desc, SAMR_Q_DELETE_DOM_GROUP * q_u, prs_struct *ps, int depth) { if (q_u == NULL) @@ -2381,7 +2381,7 @@ BOOL samr_io_q_delete_dom_group(char *desc, SAMR_Q_DELETE_DOM_GROUP * q_u, reads or writes a structure. ********************************************************************/ -BOOL samr_io_r_delete_dom_group(char *desc, SAMR_R_DELETE_DOM_GROUP * r_u, +BOOL samr_io_r_delete_dom_group(const char *desc, SAMR_R_DELETE_DOM_GROUP * r_u, prs_struct *ps, int depth) { if (r_u == NULL) @@ -2419,7 +2419,7 @@ void init_samr_q_del_groupmem(SAMR_Q_DEL_GROUPMEM * q_e, reads or writes a structure. ********************************************************************/ -BOOL samr_io_q_del_groupmem(char *desc, SAMR_Q_DEL_GROUPMEM * q_e, +BOOL samr_io_q_del_groupmem(const char *desc, SAMR_Q_DEL_GROUPMEM * q_e, prs_struct *ps, int depth) { if (q_e == NULL) @@ -2456,7 +2456,7 @@ void init_samr_r_del_groupmem(SAMR_R_DEL_GROUPMEM * r_u, POLICY_HND *pol, reads or writes a structure. ********************************************************************/ -BOOL samr_io_r_del_groupmem(char *desc, SAMR_R_DEL_GROUPMEM * r_u, +BOOL samr_io_r_del_groupmem(const char *desc, SAMR_R_DEL_GROUPMEM * r_u, prs_struct *ps, int depth) { if (r_u == NULL) @@ -2492,7 +2492,7 @@ void init_samr_q_add_groupmem(SAMR_Q_ADD_GROUPMEM * q_e, reads or writes a structure. ********************************************************************/ -BOOL samr_io_q_add_groupmem(char *desc, SAMR_Q_ADD_GROUPMEM * q_e, +BOOL samr_io_q_add_groupmem(const char *desc, SAMR_Q_ADD_GROUPMEM * q_e, prs_struct *ps, int depth) { if (q_e == NULL) @@ -2531,7 +2531,7 @@ void init_samr_r_add_groupmem(SAMR_R_ADD_GROUPMEM * r_u, POLICY_HND *pol, reads or writes a structure. ********************************************************************/ -BOOL samr_io_r_add_groupmem(char *desc, SAMR_R_ADD_GROUPMEM * r_u, +BOOL samr_io_r_add_groupmem(const char *desc, SAMR_R_ADD_GROUPMEM * r_u, prs_struct *ps, int depth) { if (r_u == NULL) @@ -2566,7 +2566,7 @@ void init_samr_q_set_groupinfo(SAMR_Q_SET_GROUPINFO * q_e, reads or writes a structure. ********************************************************************/ -BOOL samr_io_q_set_groupinfo(char *desc, SAMR_Q_SET_GROUPINFO * q_e, +BOOL samr_io_q_set_groupinfo(const char *desc, SAMR_Q_SET_GROUPINFO * q_e, prs_struct *ps, int depth) { if (q_e == NULL) @@ -2602,7 +2602,7 @@ void init_samr_r_set_groupinfo(SAMR_R_SET_GROUPINFO * r_u, NTSTATUS status) reads or writes a structure. ********************************************************************/ -BOOL samr_io_r_set_groupinfo(char *desc, SAMR_R_SET_GROUPINFO * r_u, +BOOL samr_io_r_set_groupinfo(const char *desc, SAMR_R_SET_GROUPINFO * r_u, prs_struct *ps, int depth) { if (r_u == NULL) @@ -2638,7 +2638,7 @@ void init_samr_q_query_groupinfo(SAMR_Q_QUERY_GROUPINFO * q_e, reads or writes a structure. ********************************************************************/ -BOOL samr_io_q_query_groupinfo(char *desc, SAMR_Q_QUERY_GROUPINFO * q_e, +BOOL samr_io_q_query_groupinfo(const char *desc, SAMR_Q_QUERY_GROUPINFO * q_e, prs_struct *ps, int depth) { if (q_e == NULL) @@ -2677,7 +2677,7 @@ void init_samr_r_query_groupinfo(SAMR_R_QUERY_GROUPINFO * r_u, reads or writes a structure. ********************************************************************/ -BOOL samr_io_r_query_groupinfo(char *desc, SAMR_R_QUERY_GROUPINFO * r_u, +BOOL samr_io_r_query_groupinfo(const char *desc, SAMR_R_QUERY_GROUPINFO * r_u, prs_struct *ps, int depth) { if (r_u == NULL) @@ -2720,7 +2720,7 @@ void init_samr_q_query_groupmem(SAMR_Q_QUERY_GROUPMEM * q_c, POLICY_HND *hnd) reads or writes a structure. ********************************************************************/ -BOOL samr_io_q_query_groupmem(char *desc, SAMR_Q_QUERY_GROUPMEM * q_u, +BOOL samr_io_q_query_groupmem(const char *desc, SAMR_Q_QUERY_GROUPMEM * q_u, prs_struct *ps, int depth) { if (q_u == NULL) @@ -2772,7 +2772,7 @@ void init_samr_r_query_groupmem(SAMR_R_QUERY_GROUPMEM * r_u, reads or writes a structure. ********************************************************************/ -BOOL samr_io_r_query_groupmem(char *desc, SAMR_R_QUERY_GROUPMEM * r_u, +BOOL samr_io_r_query_groupmem(const char *desc, SAMR_R_QUERY_GROUPMEM * r_u, prs_struct *ps, int depth) { uint32 i; @@ -2854,7 +2854,7 @@ void init_samr_q_query_usergroups(SAMR_Q_QUERY_USERGROUPS * q_u, reads or writes a structure. ********************************************************************/ -BOOL samr_io_q_query_usergroups(char *desc, SAMR_Q_QUERY_USERGROUPS * q_u, +BOOL samr_io_q_query_usergroups(const char *desc, SAMR_Q_QUERY_USERGROUPS * q_u, prs_struct *ps, int depth) { if (q_u == NULL) @@ -2903,7 +2903,7 @@ void init_samr_r_query_usergroups(SAMR_R_QUERY_USERGROUPS * r_u, reads or writes a structure. ********************************************************************/ -BOOL samr_io_gids(char *desc, uint32 *num_gids, DOM_GID ** gid, +BOOL samr_io_gids(const char *desc, uint32 *num_gids, DOM_GID ** gid, prs_struct *ps, int depth) { uint32 i; @@ -2941,7 +2941,7 @@ BOOL samr_io_gids(char *desc, uint32 *num_gids, DOM_GID ** gid, reads or writes a structure. ********************************************************************/ -BOOL samr_io_r_query_usergroups(char *desc, SAMR_R_QUERY_USERGROUPS * r_u, +BOOL samr_io_r_query_usergroups(const char *desc, SAMR_R_QUERY_USERGROUPS * r_u, prs_struct *ps, int depth) { if (r_u == NULL) @@ -2996,7 +2996,7 @@ void init_samr_q_enum_domains(SAMR_Q_ENUM_DOMAINS * q_e, reads or writes a structure. ********************************************************************/ -BOOL samr_io_q_enum_domains(char *desc, SAMR_Q_ENUM_DOMAINS * q_e, +BOOL samr_io_q_enum_domains(const char *desc, SAMR_Q_ENUM_DOMAINS * q_e, prs_struct *ps, int depth) { if (q_e == NULL) @@ -3048,7 +3048,7 @@ void init_samr_r_enum_domains(SAMR_R_ENUM_DOMAINS * r_u, reads or writes a structure. ********************************************************************/ -BOOL samr_io_r_enum_domains(char *desc, SAMR_R_ENUM_DOMAINS * r_u, +BOOL samr_io_r_enum_domains(const char *desc, SAMR_R_ENUM_DOMAINS * r_u, prs_struct *ps, int depth) { uint32 i; @@ -3135,7 +3135,7 @@ void init_samr_q_enum_dom_groups(SAMR_Q_ENUM_DOM_GROUPS * q_e, reads or writes a structure. ********************************************************************/ -BOOL samr_io_q_enum_dom_groups(char *desc, SAMR_Q_ENUM_DOM_GROUPS * q_e, +BOOL samr_io_q_enum_dom_groups(const char *desc, SAMR_Q_ENUM_DOM_GROUPS * q_e, prs_struct *ps, int depth) { if (q_e == NULL) @@ -3187,7 +3187,7 @@ void init_samr_r_enum_dom_groups(SAMR_R_ENUM_DOM_GROUPS * r_u, reads or writes a structure. ********************************************************************/ -BOOL samr_io_r_enum_dom_groups(char *desc, SAMR_R_ENUM_DOM_GROUPS * r_u, +BOOL samr_io_r_enum_dom_groups(const char *desc, SAMR_R_ENUM_DOM_GROUPS * r_u, prs_struct *ps, int depth) { uint32 i; @@ -3270,7 +3270,7 @@ void init_samr_q_enum_dom_aliases(SAMR_Q_ENUM_DOM_ALIASES * q_e, reads or writes a structure. ********************************************************************/ -BOOL samr_io_q_enum_dom_aliases(char *desc, SAMR_Q_ENUM_DOM_ALIASES * q_e, +BOOL samr_io_q_enum_dom_aliases(const char *desc, SAMR_Q_ENUM_DOM_ALIASES * q_e, prs_struct *ps, int depth) { if (q_e == NULL) @@ -3321,7 +3321,7 @@ void init_samr_r_enum_dom_aliases(SAMR_R_ENUM_DOM_ALIASES *r_u, uint32 next_idx, reads or writes a structure. ********************************************************************/ -BOOL samr_io_r_enum_dom_aliases(char *desc, SAMR_R_ENUM_DOM_ALIASES * r_u, +BOOL samr_io_r_enum_dom_aliases(const char *desc, SAMR_R_ENUM_DOM_ALIASES * r_u, prs_struct *ps, int depth) { uint32 i; @@ -3388,7 +3388,7 @@ BOOL samr_io_r_enum_dom_aliases(char *desc, SAMR_R_ENUM_DOM_ALIASES * r_u, inits a ALIAS_INFO1 structure. ********************************************************************/ -void init_samr_alias_info1(ALIAS_INFO1 * al1, char *acct_name, uint32 num_member, char *acct_desc) +void init_samr_alias_info1(ALIAS_INFO1 * al1, const char *acct_name, uint32 num_member, const char *acct_desc) { int acct_len_name = acct_name != NULL ? strlen(acct_name) : 0; int acct_len_desc = acct_desc != NULL ? strlen(acct_desc) : 0; @@ -3408,7 +3408,7 @@ void init_samr_alias_info1(ALIAS_INFO1 * al1, char *acct_name, uint32 num_member reads or writes a structure. ********************************************************************/ -BOOL samr_io_alias_info1(char *desc, ALIAS_INFO1 * al1, +BOOL samr_io_alias_info1(const char *desc, ALIAS_INFO1 * al1, prs_struct *ps, int depth) { if (al1 == NULL) @@ -3445,7 +3445,7 @@ BOOL samr_io_alias_info1(char *desc, ALIAS_INFO1 * al1, inits a ALIAS_INFO3 structure. ********************************************************************/ -void init_samr_alias_info3(ALIAS_INFO3 * al3, char *acct_desc) +void init_samr_alias_info3(ALIAS_INFO3 * al3, const char *acct_desc) { int acct_len = acct_desc != NULL ? strlen(acct_desc) : 0; @@ -3459,7 +3459,7 @@ void init_samr_alias_info3(ALIAS_INFO3 * al3, char *acct_desc) reads or writes a structure. ********************************************************************/ -BOOL samr_io_alias_info3(char *desc, ALIAS_INFO3 * al3, +BOOL samr_io_alias_info3(const char *desc, ALIAS_INFO3 * al3, prs_struct *ps, int depth) { if (al3 == NULL) @@ -3484,7 +3484,7 @@ BOOL samr_io_alias_info3(char *desc, ALIAS_INFO3 * al3, reads or writes a structure. ********************************************************************/ -BOOL samr_alias_info_ctr(char *desc, ALIAS_INFO_CTR * ctr, +BOOL samr_alias_info_ctr(const char *desc, ALIAS_INFO_CTR * ctr, prs_struct *ps, int depth) { if (ctr == NULL) @@ -3532,7 +3532,7 @@ void init_samr_q_query_aliasinfo(SAMR_Q_QUERY_ALIASINFO * q_e, reads or writes a structure. ********************************************************************/ -BOOL samr_io_q_query_aliasinfo(char *desc, SAMR_Q_QUERY_ALIASINFO * q_e, +BOOL samr_io_q_query_aliasinfo(const char *desc, SAMR_Q_QUERY_ALIASINFO * q_e, prs_struct *ps, int depth) { if (q_e == NULL) @@ -3571,7 +3571,7 @@ void init_samr_r_query_aliasinfo(SAMR_R_QUERY_ALIASINFO * r_u, reads or writes a structure. ********************************************************************/ -BOOL samr_io_r_query_aliasinfo(char *desc, SAMR_R_QUERY_ALIASINFO * r_u, +BOOL samr_io_r_query_aliasinfo(const char *desc, SAMR_R_QUERY_ALIASINFO * r_u, prs_struct *ps, int depth) { if (r_u == NULL) @@ -3616,7 +3616,7 @@ void init_samr_q_set_aliasinfo(SAMR_Q_SET_ALIASINFO * q_u, reads or writes a structure. ********************************************************************/ -BOOL samr_io_q_set_aliasinfo(char *desc, SAMR_Q_SET_ALIASINFO * q_u, +BOOL samr_io_q_set_aliasinfo(const char *desc, SAMR_Q_SET_ALIASINFO * q_u, prs_struct *ps, int depth) { if (q_u == NULL) @@ -3640,7 +3640,7 @@ BOOL samr_io_q_set_aliasinfo(char *desc, SAMR_Q_SET_ALIASINFO * q_u, reads or writes a structure. ********************************************************************/ -BOOL samr_io_r_set_aliasinfo(char *desc, SAMR_R_SET_ALIASINFO * r_u, +BOOL samr_io_r_set_aliasinfo(const char *desc, SAMR_R_SET_ALIASINFO * r_u, prs_struct *ps, int depth) { if (r_u == NULL) @@ -3682,7 +3682,7 @@ void init_samr_q_query_useraliases(SAMR_Q_QUERY_USERALIASES * q_u, reads or writes a SAMR_Q_QUERY_USERALIASES structure. ********************************************************************/ -BOOL samr_io_q_query_useraliases(char *desc, SAMR_Q_QUERY_USERALIASES * q_u, +BOOL samr_io_q_query_useraliases(const char *desc, SAMR_Q_QUERY_USERALIASES * q_u, prs_struct *ps, int depth) { fstring tmp; @@ -3767,7 +3767,7 @@ void init_samr_r_query_useraliases(SAMR_R_QUERY_USERALIASES * r_u, reads or writes a structure. ********************************************************************/ -BOOL samr_io_rids(char *desc, uint32 *num_rids, uint32 **rid, +BOOL samr_io_rids(const char *desc, uint32 *num_rids, uint32 **rid, prs_struct *ps, int depth) { fstring tmp; @@ -3806,7 +3806,7 @@ BOOL samr_io_rids(char *desc, uint32 *num_rids, uint32 **rid, reads or writes a structure. ********************************************************************/ -BOOL samr_io_r_query_useraliases(char *desc, SAMR_R_QUERY_USERALIASES * r_u, +BOOL samr_io_r_query_useraliases(const char *desc, SAMR_R_QUERY_USERALIASES * r_u, prs_struct *ps, int depth) { if (r_u == NULL) @@ -3854,7 +3854,7 @@ void init_samr_q_open_alias(SAMR_Q_OPEN_ALIAS * q_u, POLICY_HND *pol, reads or writes a structure. ********************************************************************/ -BOOL samr_io_q_open_alias(char *desc, SAMR_Q_OPEN_ALIAS * q_u, +BOOL samr_io_q_open_alias(const char *desc, SAMR_Q_OPEN_ALIAS * q_u, prs_struct *ps, int depth) { if (q_u == NULL) @@ -3881,7 +3881,7 @@ BOOL samr_io_q_open_alias(char *desc, SAMR_Q_OPEN_ALIAS * q_u, reads or writes a structure. ********************************************************************/ -BOOL samr_io_r_open_alias(char *desc, SAMR_R_OPEN_ALIAS * r_u, +BOOL samr_io_r_open_alias(const char *desc, SAMR_R_OPEN_ALIAS * r_u, prs_struct *ps, int depth) { if (r_u == NULL) @@ -3931,7 +3931,7 @@ void init_samr_q_lookup_rids(TALLOC_CTX *ctx, SAMR_Q_LOOKUP_RIDS * q_u, reads or writes a structure. ********************************************************************/ -BOOL samr_io_q_lookup_rids(char *desc, SAMR_Q_LOOKUP_RIDS * q_u, +BOOL samr_io_q_lookup_rids(const char *desc, SAMR_Q_LOOKUP_RIDS * q_u, prs_struct *ps, int depth) { uint32 i; @@ -4017,7 +4017,7 @@ void init_samr_r_lookup_rids(SAMR_R_LOOKUP_RIDS * r_u, reads or writes a structure. ********************************************************************/ -BOOL samr_io_r_lookup_rids(char *desc, SAMR_R_LOOKUP_RIDS * r_u, +BOOL samr_io_r_lookup_rids(const char *desc, SAMR_R_LOOKUP_RIDS * r_u, prs_struct *ps, int depth) { uint32 i; @@ -4111,7 +4111,7 @@ void init_samr_q_delete_alias(SAMR_Q_DELETE_DOM_ALIAS * q_u, POLICY_HND *hnd) reads or writes a structure. ********************************************************************/ -BOOL samr_io_q_delete_alias(char *desc, SAMR_Q_DELETE_DOM_ALIAS * q_u, +BOOL samr_io_q_delete_alias(const char *desc, SAMR_Q_DELETE_DOM_ALIAS * q_u, prs_struct *ps, int depth) { if (q_u == NULL) @@ -4133,7 +4133,7 @@ BOOL samr_io_q_delete_alias(char *desc, SAMR_Q_DELETE_DOM_ALIAS * q_u, reads or writes a structure. ********************************************************************/ -BOOL samr_io_r_delete_alias(char *desc, SAMR_R_DELETE_DOM_ALIAS * r_u, +BOOL samr_io_r_delete_alias(const char *desc, SAMR_R_DELETE_DOM_ALIAS * r_u, prs_struct *ps, int depth) { if (r_u == NULL) @@ -4158,7 +4158,7 @@ inits a SAMR_Q_CREATE_DOM_ALIAS structure. ********************************************************************/ void init_samr_q_create_dom_alias(SAMR_Q_CREATE_DOM_ALIAS * q_u, - POLICY_HND *hnd, char *acct_desc) + POLICY_HND *hnd, const char *acct_desc) { int acct_len = acct_desc != NULL ? strlen(acct_desc) : 0; @@ -4176,7 +4176,7 @@ void init_samr_q_create_dom_alias(SAMR_Q_CREATE_DOM_ALIAS * q_u, reads or writes a structure. ********************************************************************/ -BOOL samr_io_q_create_dom_alias(char *desc, SAMR_Q_CREATE_DOM_ALIAS * q_u, +BOOL samr_io_q_create_dom_alias(const char *desc, SAMR_Q_CREATE_DOM_ALIAS * q_u, prs_struct *ps, int depth) { if (q_u == NULL) @@ -4209,7 +4209,7 @@ BOOL samr_io_q_create_dom_alias(char *desc, SAMR_Q_CREATE_DOM_ALIAS * q_u, reads or writes a structure. ********************************************************************/ -BOOL samr_io_r_create_dom_alias(char *desc, SAMR_R_CREATE_DOM_ALIAS * r_u, +BOOL samr_io_r_create_dom_alias(const char *desc, SAMR_R_CREATE_DOM_ALIAS * r_u, prs_struct *ps, int depth) { if (r_u == NULL) @@ -4250,7 +4250,7 @@ void init_samr_q_add_aliasmem(SAMR_Q_ADD_ALIASMEM * q_u, POLICY_HND *hnd, reads or writes a structure. ********************************************************************/ -BOOL samr_io_q_add_aliasmem(char *desc, SAMR_Q_ADD_ALIASMEM * q_u, +BOOL samr_io_q_add_aliasmem(const char *desc, SAMR_Q_ADD_ALIASMEM * q_u, prs_struct *ps, int depth) { if (q_u == NULL) @@ -4274,7 +4274,7 @@ BOOL samr_io_q_add_aliasmem(char *desc, SAMR_Q_ADD_ALIASMEM * q_u, reads or writes a structure. ********************************************************************/ -BOOL samr_io_r_add_aliasmem(char *desc, SAMR_R_ADD_ALIASMEM * r_u, +BOOL samr_io_r_add_aliasmem(const char *desc, SAMR_R_ADD_ALIASMEM * r_u, prs_struct *ps, int depth) { if (r_u == NULL) @@ -4309,7 +4309,7 @@ void init_samr_q_del_aliasmem(SAMR_Q_DEL_ALIASMEM * q_u, POLICY_HND *hnd, reads or writes a structure. ********************************************************************/ -BOOL samr_io_q_del_aliasmem(char *desc, SAMR_Q_DEL_ALIASMEM * q_u, +BOOL samr_io_q_del_aliasmem(const char *desc, SAMR_Q_DEL_ALIASMEM * q_u, prs_struct *ps, int depth) { if (q_u == NULL) @@ -4333,7 +4333,7 @@ BOOL samr_io_q_del_aliasmem(char *desc, SAMR_Q_DEL_ALIASMEM * q_u, reads or writes a structure. ********************************************************************/ -BOOL samr_io_r_del_aliasmem(char *desc, SAMR_R_DEL_ALIASMEM * r_u, +BOOL samr_io_r_del_aliasmem(const char *desc, SAMR_R_DEL_ALIASMEM * r_u, prs_struct *ps, int depth) { if (r_u == NULL) @@ -4367,7 +4367,7 @@ void init_samr_q_delete_dom_alias(SAMR_Q_DELETE_DOM_ALIAS * q_c, reads or writes a structure. ********************************************************************/ -BOOL samr_io_q_delete_dom_alias(char *desc, SAMR_Q_DELETE_DOM_ALIAS * q_u, +BOOL samr_io_q_delete_dom_alias(const char *desc, SAMR_Q_DELETE_DOM_ALIAS * q_u, prs_struct *ps, int depth) { if (q_u == NULL) @@ -4401,7 +4401,7 @@ void init_samr_r_delete_dom_alias(SAMR_R_DELETE_DOM_ALIAS * r_u, reads or writes a structure. ********************************************************************/ -BOOL samr_io_r_delete_dom_alias(char *desc, SAMR_R_DELETE_DOM_ALIAS * r_u, +BOOL samr_io_r_delete_dom_alias(const char *desc, SAMR_R_DELETE_DOM_ALIAS * r_u, prs_struct *ps, int depth) { if (r_u == NULL) @@ -4435,7 +4435,7 @@ void init_samr_q_query_aliasmem(SAMR_Q_QUERY_ALIASMEM * q_c, reads or writes a structure. ********************************************************************/ -BOOL samr_io_q_query_aliasmem(char *desc, SAMR_Q_QUERY_ALIASMEM * q_u, +BOOL samr_io_q_query_aliasmem(const char *desc, SAMR_Q_QUERY_ALIASMEM * q_u, prs_struct *ps, int depth) { if (q_u == NULL) @@ -4481,7 +4481,7 @@ void init_samr_r_query_aliasmem(SAMR_R_QUERY_ALIASMEM * r_u, reads or writes a structure. ********************************************************************/ -BOOL samr_io_r_query_aliasmem(char *desc, SAMR_R_QUERY_ALIASMEM * r_u, +BOOL samr_io_r_query_aliasmem(const char *desc, SAMR_R_QUERY_ALIASMEM * r_u, prs_struct *ps, int depth) { uint32 i; @@ -4537,7 +4537,7 @@ inits a SAMR_Q_LOOKUP_NAMES structure. NTSTATUS init_samr_q_lookup_names(TALLOC_CTX *ctx, SAMR_Q_LOOKUP_NAMES * q_u, POLICY_HND *pol, uint32 flags, - uint32 num_names, char **name) + uint32 num_names, const char **name) { uint32 i; @@ -4569,7 +4569,7 @@ NTSTATUS init_samr_q_lookup_names(TALLOC_CTX *ctx, SAMR_Q_LOOKUP_NAMES * q_u, reads or writes a structure. ********************************************************************/ -BOOL samr_io_q_lookup_names(char *desc, SAMR_Q_LOOKUP_NAMES * q_u, +BOOL samr_io_q_lookup_names(const char *desc, SAMR_Q_LOOKUP_NAMES * q_u, prs_struct *ps, int depth) { uint32 i; @@ -4678,7 +4678,7 @@ NTSTATUS init_samr_r_lookup_names(TALLOC_CTX *ctx, SAMR_R_LOOKUP_NAMES * r_u, reads or writes a structure. ********************************************************************/ -BOOL samr_io_r_lookup_names(char *desc, SAMR_R_LOOKUP_NAMES * r_u, +BOOL samr_io_r_lookup_names(const char *desc, SAMR_R_LOOKUP_NAMES * r_u, prs_struct *ps, int depth) { uint32 i; @@ -4776,7 +4776,7 @@ void init_samr_q_delete_dom_user(SAMR_Q_DELETE_DOM_USER * q_c, reads or writes a structure. ********************************************************************/ -BOOL samr_io_q_delete_dom_user(char *desc, SAMR_Q_DELETE_DOM_USER * q_u, +BOOL samr_io_q_delete_dom_user(const char *desc, SAMR_Q_DELETE_DOM_USER * q_u, prs_struct *ps, int depth) { if (q_u == NULL) @@ -4798,7 +4798,7 @@ BOOL samr_io_q_delete_dom_user(char *desc, SAMR_Q_DELETE_DOM_USER * q_u, reads or writes a structure. ********************************************************************/ -BOOL samr_io_r_delete_dom_user(char *desc, SAMR_R_DELETE_DOM_USER * r_u, +BOOL samr_io_r_delete_dom_user(const char *desc, SAMR_R_DELETE_DOM_USER * r_u, prs_struct *ps, int depth) { if (r_u == NULL) @@ -4837,7 +4837,7 @@ void init_samr_q_open_user(SAMR_Q_OPEN_USER * q_u, reads or writes a structure. ********************************************************************/ -BOOL samr_io_q_open_user(char *desc, SAMR_Q_OPEN_USER * q_u, +BOOL samr_io_q_open_user(const char *desc, SAMR_Q_OPEN_USER * q_u, prs_struct *ps, int depth) { if (q_u == NULL) @@ -4864,7 +4864,7 @@ BOOL samr_io_q_open_user(char *desc, SAMR_Q_OPEN_USER * q_u, reads or writes a structure. ********************************************************************/ -BOOL samr_io_r_open_user(char *desc, SAMR_R_OPEN_USER * r_u, +BOOL samr_io_r_open_user(const char *desc, SAMR_R_OPEN_USER * r_u, prs_struct *ps, int depth) { if (r_u == NULL) @@ -4913,7 +4913,7 @@ void init_samr_q_create_user(SAMR_Q_CREATE_USER * q_u, reads or writes a structure. ********************************************************************/ -BOOL samr_io_q_create_user(char *desc, SAMR_Q_CREATE_USER * q_u, +BOOL samr_io_q_create_user(const char *desc, SAMR_Q_CREATE_USER * q_u, prs_struct *ps, int depth) { if (q_u == NULL) @@ -4947,7 +4947,7 @@ BOOL samr_io_q_create_user(char *desc, SAMR_Q_CREATE_USER * q_u, reads or writes a structure. ********************************************************************/ -BOOL samr_io_r_create_user(char *desc, SAMR_R_CREATE_USER * r_u, +BOOL samr_io_r_create_user(const char *desc, SAMR_R_CREATE_USER * r_u, prs_struct *ps, int depth) { if (r_u == NULL) @@ -4989,7 +4989,7 @@ void init_samr_q_query_userinfo(SAMR_Q_QUERY_USERINFO * q_u, reads or writes a structure. ********************************************************************/ -BOOL samr_io_q_query_userinfo(char *desc, SAMR_Q_QUERY_USERINFO * q_u, +BOOL samr_io_q_query_userinfo(const char *desc, SAMR_Q_QUERY_USERINFO * q_u, prs_struct *ps, int depth) { if (q_u == NULL) @@ -5014,7 +5014,7 @@ BOOL samr_io_q_query_userinfo(char *desc, SAMR_Q_QUERY_USERINFO * q_u, reads or writes a LOGON_HRS structure. ********************************************************************/ -static BOOL sam_io_logon_hrs(char *desc, LOGON_HRS * hrs, +static BOOL sam_io_logon_hrs(const char *desc, LOGON_HRS * hrs, prs_struct *ps, int depth) { if (hrs == NULL) @@ -5059,7 +5059,7 @@ void init_sam_user_info12(SAM_USER_INFO_12 * usr, reads or writes a structure. ********************************************************************/ -static BOOL sam_io_user_info12(char *desc, SAM_USER_INFO_12 * u, +static BOOL sam_io_user_info12(const char *desc, SAM_USER_INFO_12 * u, prs_struct *ps, int depth) { if (u == NULL) @@ -5099,7 +5099,7 @@ void init_sam_user_info10(SAM_USER_INFO_10 * usr, uint32 acb_info) reads or writes a structure. ********************************************************************/ -static BOOL sam_io_user_info10(char *desc, SAM_USER_INFO_10 * usr, +static BOOL sam_io_user_info10(const char *desc, SAM_USER_INFO_10 * usr, prs_struct *ps, int depth) { if (usr == NULL) @@ -5123,7 +5123,7 @@ inits a SAM_USER_INFO_11 structure. void init_sam_user_info11(SAM_USER_INFO_11 * usr, NTTIME * expiry, - char *mach_acct, + const char *mach_acct, uint32 rid_user, uint32 rid_group, uint16 acct_ctrl) { int len_mach_acct; @@ -5167,7 +5167,7 @@ void init_sam_user_info11(SAM_USER_INFO_11 * usr, reads or writes a structure. ********************************************************************/ -static BOOL sam_io_user_info11(char *desc, SAM_USER_INFO_11 * usr, +static BOOL sam_io_user_info11(const char *desc, SAM_USER_INFO_11 * usr, prs_struct *ps, int depth) { if (usr == NULL) @@ -5263,7 +5263,7 @@ void init_sam_user_info24(SAM_USER_INFO_24 * usr, char newpass[516], uint16 pw_l reads or writes a structure. ********************************************************************/ -static BOOL sam_io_user_info24(char *desc, SAM_USER_INFO_24 * usr, +static BOOL sam_io_user_info24(const char *desc, SAM_USER_INFO_24 * usr, prs_struct *ps, int depth) { if (usr == NULL) @@ -5401,11 +5401,11 @@ void init_sam_user_info23A(SAM_USER_INFO_23 * usr, NTTIME * logon_time, /* all z NTTIME * pass_last_set_time, /* all zeros */ NTTIME * pass_can_change_time, /* all zeros */ NTTIME * pass_must_change_time, /* all zeros */ - char *user_name, /* NULL */ - char *full_name, - char *home_dir, char *dir_drive, char *log_scr, - char *prof_path, char *desc, char *wkstas, - char *unk_str, char *mung_dial, uint32 user_rid, /* 0x0000 0000 */ + const char *user_name, /* NULL */ + const char *full_name, + const char *home_dir, const char *dir_drive, const char *log_scr, + const char *prof_path, const char *desc, const char *wkstas, + const char *unk_str, const char *mung_dial, uint32 user_rid, /* 0x0000 0000 */ uint32 group_rid, uint32 acb_info, uint32 unknown_3, uint16 logon_divs, LOGON_HRS * hrs, uint32 unknown_5, @@ -5478,7 +5478,7 @@ void init_sam_user_info23A(SAM_USER_INFO_23 * usr, NTTIME * logon_time, /* all z reads or writes a structure. ********************************************************************/ -static BOOL sam_io_user_info23(char *desc, SAM_USER_INFO_23 * usr, +static BOOL sam_io_user_info23(const char *desc, SAM_USER_INFO_23 * usr, prs_struct *ps, int depth) { if (usr == NULL) @@ -5607,7 +5607,7 @@ static BOOL sam_io_user_info23(char *desc, SAM_USER_INFO_23 * usr, way than normal... And there are definately other problems. JRA. ********************************************************************/ -static BOOL sam_io_user_info25(char *desc, SAM_USER_INFO_25 * usr, prs_struct *ps, int depth) +static BOOL sam_io_user_info25(const char *desc, SAM_USER_INFO_25 * usr, prs_struct *ps, int depth) { if (usr == NULL) return False; @@ -5925,7 +5925,7 @@ void init_sam_user_info21A(SAM_USER_INFO_21 *usr, SAM_ACCOUNT *pw) reads or writes a structure. ********************************************************************/ -static BOOL sam_io_user_info21(char *desc, SAM_USER_INFO_21 * usr, +static BOOL sam_io_user_info21(const char *desc, SAM_USER_INFO_21 * usr, prs_struct *ps, int depth) { if (usr == NULL) @@ -6053,7 +6053,7 @@ void init_sam_user_info20A(SAM_USER_INFO_20 *usr, SAM_ACCOUNT *pw) reads or writes a structure. ********************************************************************/ -static BOOL sam_io_user_info20(char *desc, SAM_USER_INFO_20 *usr, +static BOOL sam_io_user_info20(const char *desc, SAM_USER_INFO_20 *usr, prs_struct *ps, int depth) { if (usr == NULL) @@ -6174,7 +6174,7 @@ void init_samr_userinfo_ctr(SAM_USERINFO_CTR * ctr, uchar * sess_key, reads or writes a structure. ********************************************************************/ -static BOOL samr_io_userinfo_ctr(char *desc, SAM_USERINFO_CTR **ppctr, +static BOOL samr_io_userinfo_ctr(const char *desc, SAM_USERINFO_CTR **ppctr, prs_struct *ps, int depth) { BOOL ret; @@ -6314,7 +6314,7 @@ void init_samr_r_query_userinfo(SAMR_R_QUERY_USERINFO * r_u, reads or writes a structure. ********************************************************************/ -BOOL samr_io_r_query_userinfo(char *desc, SAMR_R_QUERY_USERINFO * r_u, +BOOL samr_io_r_query_userinfo(const char *desc, SAMR_R_QUERY_USERINFO * r_u, prs_struct *ps, int depth) { if (r_u == NULL) @@ -6361,7 +6361,7 @@ void init_samr_q_set_userinfo(SAMR_Q_SET_USERINFO * q_u, reads or writes a structure. ********************************************************************/ -BOOL samr_io_q_set_userinfo(char *desc, SAMR_Q_SET_USERINFO * q_u, +BOOL samr_io_q_set_userinfo(const char *desc, SAMR_Q_SET_USERINFO * q_u, prs_struct *ps, int depth) { if (q_u == NULL) @@ -6398,7 +6398,7 @@ void init_samr_r_set_userinfo(SAMR_R_SET_USERINFO * r_u, NTSTATUS status) reads or writes a structure. ********************************************************************/ -BOOL samr_io_r_set_userinfo(char *desc, SAMR_R_SET_USERINFO * r_u, +BOOL samr_io_r_set_userinfo(const char *desc, SAMR_R_SET_USERINFO * r_u, prs_struct *ps, int depth) { if (r_u == NULL) @@ -6448,7 +6448,7 @@ void init_samr_q_set_userinfo2(SAMR_Q_SET_USERINFO2 * q_u, reads or writes a structure. ********************************************************************/ -BOOL samr_io_q_set_userinfo2(char *desc, SAMR_Q_SET_USERINFO2 * q_u, +BOOL samr_io_q_set_userinfo2(const char *desc, SAMR_Q_SET_USERINFO2 * q_u, prs_struct *ps, int depth) { if (q_u == NULL) @@ -6486,7 +6486,7 @@ void init_samr_r_set_userinfo2(SAMR_R_SET_USERINFO2 * r_u, NTSTATUS status) reads or writes a structure. ********************************************************************/ -BOOL samr_io_r_set_userinfo2(char *desc, SAMR_R_SET_USERINFO2 * r_u, +BOOL samr_io_r_set_userinfo2(const char *desc, SAMR_R_SET_USERINFO2 * r_u, prs_struct *ps, int depth) { if (r_u == NULL) @@ -6509,7 +6509,7 @@ inits a SAMR_Q_CONNECT structure. ********************************************************************/ void init_samr_q_connect(SAMR_Q_CONNECT * q_u, - char *srv_name, uint32 access_mask) + const char *srv_name, uint32 access_mask) { int len_srv_name = strlen(srv_name); @@ -6527,7 +6527,7 @@ void init_samr_q_connect(SAMR_Q_CONNECT * q_u, reads or writes a structure. ********************************************************************/ -BOOL samr_io_q_connect(char *desc, SAMR_Q_CONNECT * q_u, +BOOL samr_io_q_connect(const char *desc, SAMR_Q_CONNECT * q_u, prs_struct *ps, int depth) { if (q_u == NULL) @@ -6556,7 +6556,7 @@ BOOL samr_io_q_connect(char *desc, SAMR_Q_CONNECT * q_u, reads or writes a structure. ********************************************************************/ -BOOL samr_io_r_connect(char *desc, SAMR_R_CONNECT * r_u, +BOOL samr_io_r_connect(const char *desc, SAMR_R_CONNECT * r_u, prs_struct *ps, int depth) { if (r_u == NULL) @@ -6595,7 +6595,7 @@ void init_samr_q_connect_anon(SAMR_Q_CONNECT_ANON * q_u) reads or writes a structure. ********************************************************************/ -BOOL samr_io_q_connect_anon(char *desc, SAMR_Q_CONNECT_ANON * q_u, +BOOL samr_io_q_connect_anon(const char *desc, SAMR_Q_CONNECT_ANON * q_u, prs_struct *ps, int depth) { if (q_u == NULL) @@ -6623,7 +6623,7 @@ BOOL samr_io_q_connect_anon(char *desc, SAMR_Q_CONNECT_ANON * q_u, reads or writes a structure. ********************************************************************/ -BOOL samr_io_r_connect_anon(char *desc, SAMR_R_CONNECT_ANON * r_u, +BOOL samr_io_r_connect_anon(const char *desc, SAMR_R_CONNECT_ANON * r_u, prs_struct *ps, int depth) { if (r_u == NULL) @@ -6649,7 +6649,7 @@ inits a SAMR_Q_GET_DOM_PWINFO structure. ********************************************************************/ void init_samr_q_get_dom_pwinfo(SAMR_Q_GET_DOM_PWINFO * q_u, - char *srv_name) + const char *srv_name) { int len_srv_name = strlen(srv_name); @@ -6664,7 +6664,7 @@ void init_samr_q_get_dom_pwinfo(SAMR_Q_GET_DOM_PWINFO * q_u, reads or writes a structure. ********************************************************************/ -BOOL samr_io_q_get_dom_pwinfo(char *desc, SAMR_Q_GET_DOM_PWINFO * q_u, +BOOL samr_io_q_get_dom_pwinfo(const char *desc, SAMR_Q_GET_DOM_PWINFO * q_u, prs_struct *ps, int depth) { if (q_u == NULL) @@ -6692,7 +6692,7 @@ BOOL samr_io_q_get_dom_pwinfo(char *desc, SAMR_Q_GET_DOM_PWINFO * q_u, reads or writes a structure. ********************************************************************/ -BOOL samr_io_r_get_dom_pwinfo(char *desc, SAMR_R_GET_DOM_PWINFO * r_u, +BOOL samr_io_r_get_dom_pwinfo(const char *desc, SAMR_R_GET_DOM_PWINFO * r_u, prs_struct *ps, int depth) { if (r_u == NULL) @@ -6742,7 +6742,7 @@ void init_enc_passwd(SAMR_ENC_PASSWD * pwd, char pass[512]) reads or writes a SAMR_ENC_PASSWD structure. ********************************************************************/ -BOOL samr_io_enc_passwd(char *desc, SAMR_ENC_PASSWD * pwd, +BOOL samr_io_enc_passwd(const char *desc, SAMR_ENC_PASSWD * pwd, prs_struct *ps, int depth) { if (pwd == NULL) @@ -6785,7 +6785,7 @@ void init_enc_hash(SAMR_ENC_HASH * hsh, uchar hash[16]) reads or writes a SAMR_ENC_HASH structure. ********************************************************************/ -BOOL samr_io_enc_hash(char *desc, SAMR_ENC_HASH * hsh, +BOOL samr_io_enc_hash(const char *desc, SAMR_ENC_HASH * hsh, prs_struct *ps, int depth) { if (hsh == NULL) @@ -6812,7 +6812,7 @@ inits a SAMR_R_GET_DOM_PWINFO structure. ********************************************************************/ void init_samr_q_chgpasswd_user(SAMR_Q_CHGPASSWD_USER * q_u, - char *dest_host, char *user_name, + const char *dest_host, const char *user_name, char nt_newpass[516], uchar nt_oldhash[16], char lm_newpass[516], @@ -6842,7 +6842,7 @@ void init_samr_q_chgpasswd_user(SAMR_Q_CHGPASSWD_USER * q_u, reads or writes a structure. ********************************************************************/ -BOOL samr_io_q_chgpasswd_user(char *desc, SAMR_Q_CHGPASSWD_USER * q_u, +BOOL samr_io_q_chgpasswd_user(const char *desc, SAMR_Q_CHGPASSWD_USER * q_u, prs_struct *ps, int depth) { if (q_u == NULL) @@ -6900,7 +6900,7 @@ void init_samr_r_chgpasswd_user(SAMR_R_CHGPASSWD_USER * r_u, NTSTATUS status) reads or writes a structure. ********************************************************************/ -BOOL samr_io_r_chgpasswd_user(char *desc, SAMR_R_CHGPASSWD_USER * r_u, +BOOL samr_io_r_chgpasswd_user(const char *desc, SAMR_R_CHGPASSWD_USER * r_u, prs_struct *ps, int depth) { if (r_u == NULL) @@ -6935,7 +6935,7 @@ void init_samr_q_unknown_2e(SAMR_Q_UNKNOWN_2E *q_u, reads or writes a structure. ********************************************************************/ -BOOL samr_io_q_unknown_2e(char *desc, SAMR_Q_UNKNOWN_2E *q_u, +BOOL samr_io_q_unknown_2e(const char *desc, SAMR_Q_UNKNOWN_2E *q_u, prs_struct *ps, int depth) { if (q_u == NULL) @@ -6981,7 +6981,7 @@ void init_samr_r_samr_unknown_2e(SAMR_R_UNKNOWN_2E * r_u, reads or writes a structure. ********************************************************************/ -BOOL samr_io_r_samr_unknown_2e(char *desc, SAMR_R_UNKNOWN_2E * r_u, +BOOL samr_io_r_samr_unknown_2e(const char *desc, SAMR_R_UNKNOWN_2E * r_u, prs_struct *ps, int depth) { if (r_u == NULL) @@ -7070,7 +7070,7 @@ void init_samr_q_set_domain_info(SAMR_Q_SET_DOMAIN_INFO *q_u, reads or writes a structure. ********************************************************************/ -BOOL samr_io_q_set_domain_info(char *desc, SAMR_Q_SET_DOMAIN_INFO *q_u, +BOOL samr_io_q_set_domain_info(const char *desc, SAMR_Q_SET_DOMAIN_INFO *q_u, prs_struct *ps, int depth) { if (q_u == NULL) @@ -7151,7 +7151,7 @@ void init_samr_r_set_domain_info(SAMR_R_SET_DOMAIN_INFO * r_u, NTSTATUS status) reads or writes a structure. ********************************************************************/ -BOOL samr_io_r_set_domain_info(char *desc, SAMR_R_SET_DOMAIN_INFO * r_u, +BOOL samr_io_r_set_domain_info(const char *desc, SAMR_R_SET_DOMAIN_INFO * r_u, prs_struct *ps, int depth) { if (r_u == NULL) diff --git a/source/rpc_parse/parse_sec.c b/source/rpc_parse/parse_sec.c index c9920a2b475..e3518e4aa18 100644 --- a/source/rpc_parse/parse_sec.c +++ b/source/rpc_parse/parse_sec.c @@ -39,7 +39,7 @@ void init_sec_access(SEC_ACCESS *t, uint32 mask) Reads or writes a SEC_ACCESS structure. ********************************************************************/ -BOOL sec_io_access(char *desc, SEC_ACCESS *t, prs_struct *ps, int depth) +BOOL sec_io_access(const char *desc, SEC_ACCESS *t, prs_struct *ps, int depth) { if (t == NULL) return False; @@ -73,7 +73,7 @@ void init_sec_ace(SEC_ACE *t, DOM_SID *sid, uint8 type, SEC_ACCESS mask, uint8 f Reads or writes a SEC_ACE structure. ********************************************************************/ -BOOL sec_io_ace(char *desc, SEC_ACE *psa, prs_struct *ps, int depth) +BOOL sec_io_ace(const char *desc, SEC_ACE *psa, prs_struct *ps, int depth) { uint32 old_offset; uint32 offset_ace_size; @@ -162,7 +162,7 @@ SEC_ACL *dup_sec_acl(TALLOC_CTX *ctx, SEC_ACL *src) for you as it reads them. ********************************************************************/ -BOOL sec_io_acl(char *desc, SEC_ACL **ppsa, prs_struct *ps, int depth) +BOOL sec_io_acl(const char *desc, SEC_ACL **ppsa, prs_struct *ps, int depth) { int i; uint32 old_offset; @@ -590,7 +590,7 @@ SEC_DESC *make_standard_sec_desc(TALLOC_CTX *ctx, DOM_SID *owner_sid, DOM_SID *g If reading and the *ppsd = NULL, allocates the structure. ********************************************************************/ -BOOL sec_io_desc(char *desc, SEC_DESC **ppsd, prs_struct *ps, int depth) +BOOL sec_io_desc(const char *desc, SEC_DESC **ppsd, prs_struct *ps, int depth) { uint32 old_offset; uint32 max_offset = 0; /* after we're done, move offset to end */ @@ -758,7 +758,7 @@ SEC_DESC_BUF *dup_sec_desc_buf(TALLOC_CTX *ctx, SEC_DESC_BUF *src) Reads or writes a SEC_DESC_BUF structure. ********************************************************************/ -BOOL sec_io_desc_buf(char *desc, SEC_DESC_BUF **ppsdb, prs_struct *ps, int depth) +BOOL sec_io_desc_buf(const char *desc, SEC_DESC_BUF **ppsdb, prs_struct *ps, int depth) { uint32 off_len; uint32 off_max_len; diff --git a/source/rpc_parse/parse_spoolss.c b/source/rpc_parse/parse_spoolss.c index d1b95e1732c..3700b2fded9 100644 --- a/source/rpc_parse/parse_spoolss.c +++ b/source/rpc_parse/parse_spoolss.c @@ -45,7 +45,7 @@ static uint32 str_len_uni(UNISTR *source) This should be moved in a more generic lib. ********************************************************************/ -static BOOL spoolss_io_system_time(char *desc, prs_struct *ps, int depth, SYSTEMTIME *systime) +static BOOL spoolss_io_system_time(const char *desc, prs_struct *ps, int depth, SYSTEMTIME *systime) { if(!prs_uint16("year", ps, depth, &systime->year)) return False; @@ -88,7 +88,7 @@ BOOL make_systemtime(SYSTEMTIME *systime, struct tm *unixtime) reads or writes an DOC_INFO structure. ********************************************************************/ -static BOOL smb_io_doc_info_1(char *desc, DOC_INFO_1 *info_1, prs_struct *ps, int depth) +static BOOL smb_io_doc_info_1(const char *desc, DOC_INFO_1 *info_1, prs_struct *ps, int depth) { if (info_1 == NULL) return False; @@ -119,7 +119,7 @@ static BOOL smb_io_doc_info_1(char *desc, DOC_INFO_1 *info_1, prs_struct *ps, in reads or writes an DOC_INFO structure. ********************************************************************/ -static BOOL smb_io_doc_info(char *desc, DOC_INFO *info, prs_struct *ps, int depth) +static BOOL smb_io_doc_info(const char *desc, DOC_INFO *info, prs_struct *ps, int depth) { uint32 useless_ptr=0; @@ -168,7 +168,7 @@ static BOOL smb_io_doc_info(char *desc, DOC_INFO *info, prs_struct *ps, int dept reads or writes an DOC_INFO_CONTAINER structure. ********************************************************************/ -static BOOL smb_io_doc_info_container(char *desc, DOC_INFO_CONTAINER *cont, prs_struct *ps, int depth) +static BOOL smb_io_doc_info_container(const char *desc, DOC_INFO_CONTAINER *cont, prs_struct *ps, int depth) { if (cont == NULL) return False; @@ -195,7 +195,7 @@ reads or writes an NOTIFY OPTION TYPE structure. structure. The _TYPE structure is really the deferred referrants (i.e the notify fields array) of the _TYPE structure. -tpot */ -static BOOL smb_io_notify_option_type(char *desc, SPOOL_NOTIFY_OPTION_TYPE *type, prs_struct *ps, int depth) +static BOOL smb_io_notify_option_type(const char *desc, SPOOL_NOTIFY_OPTION_TYPE *type, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "smb_io_notify_option_type"); depth++; @@ -223,7 +223,7 @@ static BOOL smb_io_notify_option_type(char *desc, SPOOL_NOTIFY_OPTION_TYPE *type reads or writes an NOTIFY OPTION TYPE DATA. ********************************************************************/ -static BOOL smb_io_notify_option_type_data(char *desc, SPOOL_NOTIFY_OPTION_TYPE *type, prs_struct *ps, int depth) +static BOOL smb_io_notify_option_type_data(const char *desc, SPOOL_NOTIFY_OPTION_TYPE *type, prs_struct *ps, int depth) { int i; @@ -254,7 +254,7 @@ static BOOL smb_io_notify_option_type_data(char *desc, SPOOL_NOTIFY_OPTION_TYPE reads or writes an NOTIFY OPTION structure. ********************************************************************/ -static BOOL smb_io_notify_option_type_ctr(char *desc, SPOOL_NOTIFY_OPTION_TYPE_CTR *ctr , prs_struct *ps, int depth) +static BOOL smb_io_notify_option_type_ctr(const char *desc, SPOOL_NOTIFY_OPTION_TYPE_CTR *ctr , prs_struct *ps, int depth) { int i; @@ -286,7 +286,7 @@ static BOOL smb_io_notify_option_type_ctr(char *desc, SPOOL_NOTIFY_OPTION_TYPE_C reads or writes an NOTIFY OPTION structure. ********************************************************************/ -static BOOL smb_io_notify_option(char *desc, SPOOL_NOTIFY_OPTION *option, prs_struct *ps, int depth) +static BOOL smb_io_notify_option(const char *desc, SPOOL_NOTIFY_OPTION *option, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "smb_io_notify_option"); depth++; @@ -317,7 +317,7 @@ static BOOL smb_io_notify_option(char *desc, SPOOL_NOTIFY_OPTION *option, prs_st reads or writes an NOTIFY INFO DATA structure. ********************************************************************/ -static BOOL smb_io_notify_info_data(char *desc,SPOOL_NOTIFY_INFO_DATA *data, prs_struct *ps, int depth) +static BOOL smb_io_notify_info_data(const char *desc,SPOOL_NOTIFY_INFO_DATA *data, prs_struct *ps, int depth) { uint32 useless_ptr=0xADDE0FF0; @@ -377,7 +377,7 @@ static BOOL smb_io_notify_info_data(char *desc,SPOOL_NOTIFY_INFO_DATA *data, prs reads or writes an NOTIFY INFO DATA structure. ********************************************************************/ -BOOL smb_io_notify_info_data_strings(char *desc,SPOOL_NOTIFY_INFO_DATA *data, +BOOL smb_io_notify_info_data_strings(const char *desc,SPOOL_NOTIFY_INFO_DATA *data, prs_struct *ps, int depth) { uint32 x; @@ -437,7 +437,7 @@ BOOL smb_io_notify_info_data_strings(char *desc,SPOOL_NOTIFY_INFO_DATA *data, reads or writes an NOTIFY INFO structure. ********************************************************************/ -static BOOL smb_io_notify_info(char *desc, SPOOL_NOTIFY_INFO *info, prs_struct *ps, int depth) +static BOOL smb_io_notify_info(const char *desc, SPOOL_NOTIFY_INFO *info, prs_struct *ps, int depth) { int i; @@ -473,7 +473,7 @@ static BOOL smb_io_notify_info(char *desc, SPOOL_NOTIFY_INFO *info, prs_struct * /******************************************************************* ********************************************************************/ -static BOOL spool_io_user_level_1(char *desc, SPOOL_USER_1 *q_u, prs_struct *ps, int depth) +static BOOL spool_io_user_level_1(const char *desc, SPOOL_USER_1 *q_u, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, ""); depth++; @@ -512,7 +512,7 @@ static BOOL spool_io_user_level_1(char *desc, SPOOL_USER_1 *q_u, prs_struct *ps, /******************************************************************* ********************************************************************/ -static BOOL spool_io_user_level(char *desc, SPOOL_USER_CTR *q_u, prs_struct *ps, int depth) +static BOOL spool_io_user_level(const char *desc, SPOOL_USER_CTR *q_u, prs_struct *ps, int depth) { if (q_u==NULL) return False; @@ -546,7 +546,7 @@ static BOOL spool_io_user_level(char *desc, SPOOL_USER_CTR *q_u, prs_struct *ps, #define DM_NUM_OPTIONAL_FIELDS 8 -BOOL spoolss_io_devmode(char *desc, prs_struct *ps, int depth, DEVICEMODE *devmode) +BOOL spoolss_io_devmode(const char *desc, prs_struct *ps, int depth, DEVICEMODE *devmode) { uint32 available_space; /* size of the device mode left to parse */ /* only important on unmarshalling */ @@ -587,7 +587,7 @@ BOOL spoolss_io_devmode(char *desc, prs_struct *ps, int depth, DEVICEMODE *devmo return False; } - if (!prs_uint16uni(True,"devicename", ps, depth, devmode->devicename.buffer, 32)) + if (!prs_uint16uni(True,"devicename", ps, depth, devmode->devicename.buffer, MAXDEVICENAME)) return False; if (!prs_uint16("specversion", ps, depth, &devmode->specversion)) @@ -730,7 +730,7 @@ BOOL spoolss_io_devmode(char *desc, prs_struct *ps, int depth, DEVICEMODE *devmo Read or write a DEVICEMODE container ********************************************************************/ -static BOOL spoolss_io_devmode_cont(char *desc, DEVMODE_CTR *dm_c, prs_struct *ps, int depth) +static BOOL spoolss_io_devmode_cont(const char *desc, DEVMODE_CTR *dm_c, prs_struct *ps, int depth) { if (dm_c==NULL) return False; @@ -775,7 +775,7 @@ static BOOL spoolss_io_devmode_cont(char *desc, DEVMODE_CTR *dm_c, prs_struct *p /******************************************************************* ********************************************************************/ -static BOOL spoolss_io_printer_default(char *desc, PRINTER_DEFAULT *pd, prs_struct *ps, int depth) +static BOOL spoolss_io_printer_default(const char *desc, PRINTER_DEFAULT *pd, prs_struct *ps, int depth) { if (pd==NULL) return False; @@ -960,7 +960,7 @@ BOOL make_spoolss_printer_info_2(TALLOC_CTX *mem_ctx, SPOOL_PRINTER_INFO_LEVEL_2 * called from spoolss_q_open_printer_ex (srv_spoolss.c) ********************************************************************/ -BOOL spoolss_io_q_open_printer(char *desc, SPOOL_Q_OPEN_PRINTER *q_u, prs_struct *ps, int depth) +BOOL spoolss_io_q_open_printer(const char *desc, SPOOL_Q_OPEN_PRINTER *q_u, prs_struct *ps, int depth) { if (q_u == NULL) return False; @@ -991,7 +991,7 @@ BOOL spoolss_io_q_open_printer(char *desc, SPOOL_Q_OPEN_PRINTER *q_u, prs_struct * called from spoolss_open_printer_ex (cli_spoolss.c) ********************************************************************/ -BOOL spoolss_io_r_open_printer(char *desc, SPOOL_R_OPEN_PRINTER *r_u, prs_struct *ps, int depth) +BOOL spoolss_io_r_open_printer(const char *desc, SPOOL_R_OPEN_PRINTER *r_u, prs_struct *ps, int depth) { if (r_u == NULL) return False; @@ -1016,7 +1016,7 @@ BOOL spoolss_io_r_open_printer(char *desc, SPOOL_R_OPEN_PRINTER *r_u, prs_struct * called from spoolss_q_open_printer_ex (srv_spoolss.c) ********************************************************************/ -BOOL spoolss_io_q_open_printer_ex(char *desc, SPOOL_Q_OPEN_PRINTER_EX *q_u, prs_struct *ps, int depth) +BOOL spoolss_io_q_open_printer_ex(const char *desc, SPOOL_Q_OPEN_PRINTER_EX *q_u, prs_struct *ps, int depth) { if (q_u == NULL) return False; @@ -1052,7 +1052,7 @@ BOOL spoolss_io_q_open_printer_ex(char *desc, SPOOL_Q_OPEN_PRINTER_EX *q_u, prs_ * called from spoolss_open_printer_ex (cli_spoolss.c) ********************************************************************/ -BOOL spoolss_io_r_open_printer_ex(char *desc, SPOOL_R_OPEN_PRINTER_EX *r_u, prs_struct *ps, int depth) +BOOL spoolss_io_r_open_printer_ex(const char *desc, SPOOL_R_OPEN_PRINTER_EX *r_u, prs_struct *ps, int depth) { if (r_u == NULL) return False; @@ -1121,7 +1121,7 @@ BOOL make_spoolss_q_getprinterdata(SPOOL_Q_GETPRINTERDATA *q_u, * called from spoolss_q_getprinterdata (srv_spoolss.c) ********************************************************************/ -BOOL spoolss_io_q_getprinterdata(char *desc, SPOOL_Q_GETPRINTERDATA *q_u, prs_struct *ps, int depth) +BOOL spoolss_io_q_getprinterdata(const char *desc, SPOOL_Q_GETPRINTERDATA *q_u, prs_struct *ps, int depth) { if (q_u == NULL) return False; @@ -1150,7 +1150,7 @@ BOOL spoolss_io_q_getprinterdata(char *desc, SPOOL_Q_GETPRINTERDATA *q_u, prs_st * called from spoolss_q_deleteprinterdata (srv_spoolss.c) ********************************************************************/ -BOOL spoolss_io_q_deleteprinterdata(char *desc, SPOOL_Q_DELETEPRINTERDATA *q_u, prs_struct *ps, int depth) +BOOL spoolss_io_q_deleteprinterdata(const char *desc, SPOOL_Q_DELETEPRINTERDATA *q_u, prs_struct *ps, int depth) { if (q_u == NULL) return False; @@ -1175,7 +1175,7 @@ BOOL spoolss_io_q_deleteprinterdata(char *desc, SPOOL_Q_DELETEPRINTERDATA *q_u, * called from spoolss_r_deleteprinterdata (srv_spoolss.c) ********************************************************************/ -BOOL spoolss_io_r_deleteprinterdata(char *desc, SPOOL_R_DELETEPRINTERDATA *r_u, prs_struct *ps, int depth) +BOOL spoolss_io_r_deleteprinterdata(const char *desc, SPOOL_R_DELETEPRINTERDATA *r_u, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "spoolss_io_r_deleteprinterdata"); depth++; @@ -1190,7 +1190,7 @@ BOOL spoolss_io_r_deleteprinterdata(char *desc, SPOOL_R_DELETEPRINTERDATA *r_u, * called from spoolss_r_getprinterdata (srv_spoolss.c) ********************************************************************/ -BOOL spoolss_io_r_getprinterdata(char *desc, SPOOL_R_GETPRINTERDATA *r_u, prs_struct *ps, int depth) +BOOL spoolss_io_r_getprinterdata(const char *desc, SPOOL_R_GETPRINTERDATA *r_u, prs_struct *ps, int depth) { if (r_u == NULL) return False; @@ -1246,7 +1246,7 @@ BOOL make_spoolss_q_closeprinter(SPOOL_Q_CLOSEPRINTER *q_u, POLICY_HND *hnd) * called from spoolss_abortprinter (cli_spoolss.c) ********************************************************************/ -BOOL spoolss_io_q_abortprinter(char *desc, SPOOL_Q_ABORTPRINTER *q_u, prs_struct *ps, int depth) +BOOL spoolss_io_q_abortprinter(const char *desc, SPOOL_Q_ABORTPRINTER *q_u, prs_struct *ps, int depth) { if (q_u == NULL) return False; @@ -1267,7 +1267,7 @@ BOOL spoolss_io_q_abortprinter(char *desc, SPOOL_Q_ABORTPRINTER *q_u, prs_struct * called from spoolss_r_abortprinter (srv_spoolss.c) ********************************************************************/ -BOOL spoolss_io_r_abortprinter(char *desc, SPOOL_R_ABORTPRINTER *r_u, prs_struct *ps, int depth) +BOOL spoolss_io_r_abortprinter(const char *desc, SPOOL_R_ABORTPRINTER *r_u, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "spoolss_io_r_abortprinter"); depth++; @@ -1283,7 +1283,7 @@ BOOL spoolss_io_r_abortprinter(char *desc, SPOOL_R_ABORTPRINTER *r_u, prs_struct * called from spoolss_deleteprinter (cli_spoolss.c) ********************************************************************/ -BOOL spoolss_io_q_deleteprinter(char *desc, SPOOL_Q_DELETEPRINTER *q_u, prs_struct *ps, int depth) +BOOL spoolss_io_q_deleteprinter(const char *desc, SPOOL_Q_DELETEPRINTER *q_u, prs_struct *ps, int depth) { if (q_u == NULL) return False; @@ -1305,7 +1305,7 @@ BOOL spoolss_io_q_deleteprinter(char *desc, SPOOL_Q_DELETEPRINTER *q_u, prs_stru * called from spoolss_deleteprinter (cli_spoolss.c) ********************************************************************/ -BOOL spoolss_io_r_deleteprinter(char *desc, SPOOL_R_DELETEPRINTER *r_u, prs_struct *ps, int depth) +BOOL spoolss_io_r_deleteprinter(const char *desc, SPOOL_R_DELETEPRINTER *r_u, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "spoolss_io_r_deleteprinter"); depth++; @@ -1328,7 +1328,7 @@ BOOL spoolss_io_r_deleteprinter(char *desc, SPOOL_R_DELETEPRINTER *r_u, prs_stru * called from spoolss_deleteprinterdriver (cli_spoolss.c) ********************************************************************/ -BOOL spoolss_io_q_deleteprinterdriver(char *desc, SPOOL_Q_DELETEPRINTERDRIVER *q_u, prs_struct *ps, int depth) +BOOL spoolss_io_q_deleteprinterdriver(const char *desc, SPOOL_Q_DELETEPRINTERDRIVER *q_u, prs_struct *ps, int depth) { if (q_u == NULL) return False; @@ -1355,7 +1355,7 @@ BOOL spoolss_io_q_deleteprinterdriver(char *desc, SPOOL_Q_DELETEPRINTERDRIVER *q /******************************************************************* * write a structure. ********************************************************************/ -BOOL spoolss_io_r_deleteprinterdriver(char *desc, SPOOL_R_DELETEPRINTERDRIVER *r_u, prs_struct *ps, int depth) +BOOL spoolss_io_r_deleteprinterdriver(const char *desc, SPOOL_R_DELETEPRINTERDRIVER *r_u, prs_struct *ps, int depth) { if (r_u == NULL) return False; @@ -1379,7 +1379,7 @@ BOOL spoolss_io_r_deleteprinterdriver(char *desc, SPOOL_R_DELETEPRINTERDRIVER *r * called from spoolss_closeprinter (cli_spoolss.c) ********************************************************************/ -BOOL spoolss_io_q_closeprinter(char *desc, SPOOL_Q_CLOSEPRINTER *q_u, prs_struct *ps, int depth) +BOOL spoolss_io_q_closeprinter(const char *desc, SPOOL_Q_CLOSEPRINTER *q_u, prs_struct *ps, int depth) { if (q_u == NULL) return False; @@ -1401,7 +1401,7 @@ BOOL spoolss_io_q_closeprinter(char *desc, SPOOL_Q_CLOSEPRINTER *q_u, prs_struct * called from spoolss_closeprinter (cli_spoolss.c) ********************************************************************/ -BOOL spoolss_io_r_closeprinter(char *desc, SPOOL_R_CLOSEPRINTER *r_u, prs_struct *ps, int depth) +BOOL spoolss_io_r_closeprinter(const char *desc, SPOOL_R_CLOSEPRINTER *r_u, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "spoolss_io_r_closeprinter"); depth++; @@ -1422,7 +1422,7 @@ BOOL spoolss_io_r_closeprinter(char *desc, SPOOL_R_CLOSEPRINTER *r_u, prs_struct * called from spoolss_q_startdocprinter (srv_spoolss.c) ********************************************************************/ -BOOL spoolss_io_q_startdocprinter(char *desc, SPOOL_Q_STARTDOCPRINTER *q_u, prs_struct *ps, int depth) +BOOL spoolss_io_q_startdocprinter(const char *desc, SPOOL_Q_STARTDOCPRINTER *q_u, prs_struct *ps, int depth) { if (q_u == NULL) return False; @@ -1446,7 +1446,7 @@ BOOL spoolss_io_q_startdocprinter(char *desc, SPOOL_Q_STARTDOCPRINTER *q_u, prs_ * called from spoolss_r_startdocprinter (srv_spoolss.c) ********************************************************************/ -BOOL spoolss_io_r_startdocprinter(char *desc, SPOOL_R_STARTDOCPRINTER *r_u, prs_struct *ps, int depth) +BOOL spoolss_io_r_startdocprinter(const char *desc, SPOOL_R_STARTDOCPRINTER *r_u, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "spoolss_io_r_startdocprinter"); depth++; @@ -1463,7 +1463,7 @@ BOOL spoolss_io_r_startdocprinter(char *desc, SPOOL_R_STARTDOCPRINTER *r_u, prs_ * called from spoolss_q_enddocprinter (srv_spoolss.c) ********************************************************************/ -BOOL spoolss_io_q_enddocprinter(char *desc, SPOOL_Q_ENDDOCPRINTER *q_u, prs_struct *ps, int depth) +BOOL spoolss_io_q_enddocprinter(const char *desc, SPOOL_Q_ENDDOCPRINTER *q_u, prs_struct *ps, int depth) { if (q_u == NULL) return False; @@ -1484,7 +1484,7 @@ BOOL spoolss_io_q_enddocprinter(char *desc, SPOOL_Q_ENDDOCPRINTER *q_u, prs_stru * called from spoolss_r_enddocprinter (srv_spoolss.c) ********************************************************************/ -BOOL spoolss_io_r_enddocprinter(char *desc, SPOOL_R_ENDDOCPRINTER *r_u, prs_struct *ps, int depth) +BOOL spoolss_io_r_enddocprinter(const char *desc, SPOOL_R_ENDDOCPRINTER *r_u, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "spoolss_io_r_enddocprinter"); depth++; @@ -1499,7 +1499,7 @@ BOOL spoolss_io_r_enddocprinter(char *desc, SPOOL_R_ENDDOCPRINTER *r_u, prs_stru * called from spoolss_q_startpageprinter (srv_spoolss.c) ********************************************************************/ -BOOL spoolss_io_q_startpageprinter(char *desc, SPOOL_Q_STARTPAGEPRINTER *q_u, prs_struct *ps, int depth) +BOOL spoolss_io_q_startpageprinter(const char *desc, SPOOL_Q_STARTPAGEPRINTER *q_u, prs_struct *ps, int depth) { if (q_u == NULL) return False; @@ -1520,7 +1520,7 @@ BOOL spoolss_io_q_startpageprinter(char *desc, SPOOL_Q_STARTPAGEPRINTER *q_u, pr * called from spoolss_r_startpageprinter (srv_spoolss.c) ********************************************************************/ -BOOL spoolss_io_r_startpageprinter(char *desc, SPOOL_R_STARTPAGEPRINTER *r_u, prs_struct *ps, int depth) +BOOL spoolss_io_r_startpageprinter(const char *desc, SPOOL_R_STARTPAGEPRINTER *r_u, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "spoolss_io_r_startpageprinter"); depth++; @@ -1535,7 +1535,7 @@ BOOL spoolss_io_r_startpageprinter(char *desc, SPOOL_R_STARTPAGEPRINTER *r_u, pr * called from spoolss_q_endpageprinter (srv_spoolss.c) ********************************************************************/ -BOOL spoolss_io_q_endpageprinter(char *desc, SPOOL_Q_ENDPAGEPRINTER *q_u, prs_struct *ps, int depth) +BOOL spoolss_io_q_endpageprinter(const char *desc, SPOOL_Q_ENDPAGEPRINTER *q_u, prs_struct *ps, int depth) { if (q_u == NULL) return False; @@ -1556,7 +1556,7 @@ BOOL spoolss_io_q_endpageprinter(char *desc, SPOOL_Q_ENDPAGEPRINTER *q_u, prs_st * called from spoolss_r_endpageprinter (srv_spoolss.c) ********************************************************************/ -BOOL spoolss_io_r_endpageprinter(char *desc, SPOOL_R_ENDPAGEPRINTER *r_u, prs_struct *ps, int depth) +BOOL spoolss_io_r_endpageprinter(const char *desc, SPOOL_R_ENDPAGEPRINTER *r_u, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "spoolss_io_r_endpageprinter"); depth++; @@ -1571,7 +1571,7 @@ BOOL spoolss_io_r_endpageprinter(char *desc, SPOOL_R_ENDPAGEPRINTER *r_u, prs_st * called from spoolss_q_writeprinter (srv_spoolss.c) ********************************************************************/ -BOOL spoolss_io_q_writeprinter(char *desc, SPOOL_Q_WRITEPRINTER *q_u, prs_struct *ps, int depth) +BOOL spoolss_io_q_writeprinter(const char *desc, SPOOL_Q_WRITEPRINTER *q_u, prs_struct *ps, int depth) { if (q_u == NULL) return False; @@ -1608,7 +1608,7 @@ BOOL spoolss_io_q_writeprinter(char *desc, SPOOL_Q_WRITEPRINTER *q_u, prs_struct * called from spoolss_r_writeprinter (srv_spoolss.c) ********************************************************************/ -BOOL spoolss_io_r_writeprinter(char *desc, SPOOL_R_WRITEPRINTER *r_u, prs_struct *ps, int depth) +BOOL spoolss_io_r_writeprinter(const char *desc, SPOOL_R_WRITEPRINTER *r_u, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "spoolss_io_r_writeprinter"); depth++; @@ -1625,7 +1625,7 @@ BOOL spoolss_io_r_writeprinter(char *desc, SPOOL_R_WRITEPRINTER *r_u, prs_struct * called from spoolss_q_rffpcnex (srv_spoolss.c) ********************************************************************/ -BOOL spoolss_io_q_rffpcnex(char *desc, SPOOL_Q_RFFPCNEX *q_u, prs_struct *ps, int depth) +BOOL spoolss_io_q_rffpcnex(const char *desc, SPOOL_Q_RFFPCNEX *q_u, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "spoolss_io_q_rffpcnex"); depth++; @@ -1671,7 +1671,7 @@ BOOL spoolss_io_q_rffpcnex(char *desc, SPOOL_Q_RFFPCNEX *q_u, prs_struct *ps, in * called from spoolss_r_rffpcnex (srv_spoolss.c) ********************************************************************/ -BOOL spoolss_io_r_rffpcnex(char *desc, SPOOL_R_RFFPCNEX *r_u, prs_struct *ps, int depth) +BOOL spoolss_io_r_rffpcnex(const char *desc, SPOOL_R_RFFPCNEX *r_u, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "spoolss_io_r_rffpcnex"); depth++; @@ -1687,7 +1687,7 @@ BOOL spoolss_io_r_rffpcnex(char *desc, SPOOL_R_RFFPCNEX *r_u, prs_struct *ps, in * called from spoolss_q_rfnpcnex (srv_spoolss.c) ********************************************************************/ -BOOL spoolss_io_q_rfnpcnex(char *desc, SPOOL_Q_RFNPCNEX *q_u, prs_struct *ps, int depth) +BOOL spoolss_io_q_rfnpcnex(const char *desc, SPOOL_Q_RFNPCNEX *q_u, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "spoolss_io_q_rfnpcnex"); depth++; @@ -1722,7 +1722,7 @@ BOOL spoolss_io_q_rfnpcnex(char *desc, SPOOL_Q_RFNPCNEX *q_u, prs_struct *ps, in * called from spoolss_r_rfnpcnex (srv_spoolss.c) ********************************************************************/ -BOOL spoolss_io_r_rfnpcnex(char *desc, SPOOL_R_RFNPCNEX *r_u, prs_struct *ps, int depth) +BOOL spoolss_io_r_rfnpcnex(const char *desc, SPOOL_R_RFNPCNEX *r_u, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "spoolss_io_r_rfnpcnex"); depth++; @@ -1842,7 +1842,7 @@ static uint32 size_of_systemtime(SYSTEMTIME *systime) * ********************************************************************/ -static BOOL smb_io_relstr(char *desc, NEW_BUFFER *buffer, int depth, UNISTR *string) +static BOOL smb_io_relstr(const char *desc, NEW_BUFFER *buffer, int depth, UNISTR *string) { prs_struct *ps=&buffer->prs; @@ -1901,7 +1901,7 @@ static BOOL smb_io_relstr(char *desc, NEW_BUFFER *buffer, int depth, UNISTR *str * used by 2 RPC structs ********************************************************************/ -static BOOL smb_io_relarraystr(char *desc, NEW_BUFFER *buffer, int depth, uint16 **string) +static BOOL smb_io_relarraystr(const char *desc, NEW_BUFFER *buffer, int depth, uint16 **string) { UNISTR chaine; @@ -2029,7 +2029,7 @@ static BOOL smb_io_relarraystr(char *desc, NEW_BUFFER *buffer, int depth, uint16 Parse a DEVMODE structure and its relative pointer. ********************************************************************/ -static BOOL smb_io_relsecdesc(char *desc, NEW_BUFFER *buffer, int depth, SEC_DESC **secdesc) +static BOOL smb_io_relsecdesc(const char *desc, NEW_BUFFER *buffer, int depth, SEC_DESC **secdesc) { prs_struct *ps= &buffer->prs; @@ -2090,7 +2090,7 @@ static BOOL smb_io_relsecdesc(char *desc, NEW_BUFFER *buffer, int depth, SEC_DES Parse a DEVMODE structure and its relative pointer. ********************************************************************/ -static BOOL smb_io_reldevmode(char *desc, NEW_BUFFER *buffer, int depth, DEVICEMODE **devmode) +static BOOL smb_io_reldevmode(const char *desc, NEW_BUFFER *buffer, int depth, DEVICEMODE **devmode) { prs_struct *ps=&buffer->prs; @@ -2158,7 +2158,7 @@ static BOOL smb_io_reldevmode(char *desc, NEW_BUFFER *buffer, int depth, DEVICEM Parse a PRINTER_INFO_0 structure. ********************************************************************/ -BOOL smb_io_printer_info_0(char *desc, NEW_BUFFER *buffer, PRINTER_INFO_0 *info, int depth) +BOOL smb_io_printer_info_0(const char *desc, NEW_BUFFER *buffer, PRINTER_INFO_0 *info, int depth) { prs_struct *ps=&buffer->prs; @@ -2259,7 +2259,7 @@ BOOL smb_io_printer_info_0(char *desc, NEW_BUFFER *buffer, PRINTER_INFO_0 *info, Parse a PRINTER_INFO_1 structure. ********************************************************************/ -BOOL smb_io_printer_info_1(char *desc, NEW_BUFFER *buffer, PRINTER_INFO_1 *info, int depth) +BOOL smb_io_printer_info_1(const char *desc, NEW_BUFFER *buffer, PRINTER_INFO_1 *info, int depth) { prs_struct *ps=&buffer->prs; @@ -2284,7 +2284,7 @@ BOOL smb_io_printer_info_1(char *desc, NEW_BUFFER *buffer, PRINTER_INFO_1 *info, Parse a PRINTER_INFO_2 structure. ********************************************************************/ -BOOL smb_io_printer_info_2(char *desc, NEW_BUFFER *buffer, PRINTER_INFO_2 *info, int depth) +BOOL smb_io_printer_info_2(const char *desc, NEW_BUFFER *buffer, PRINTER_INFO_2 *info, int depth) { prs_struct *ps=&buffer->prs; uint32 dm_offset, sd_offset, current_offset; @@ -2374,7 +2374,7 @@ BOOL smb_io_printer_info_2(char *desc, NEW_BUFFER *buffer, PRINTER_INFO_2 *info, Parse a PRINTER_INFO_3 structure. ********************************************************************/ -BOOL smb_io_printer_info_3(char *desc, NEW_BUFFER *buffer, PRINTER_INFO_3 *info, int depth) +BOOL smb_io_printer_info_3(const char *desc, NEW_BUFFER *buffer, PRINTER_INFO_3 *info, int depth) { prs_struct *ps=&buffer->prs; @@ -2395,7 +2395,7 @@ BOOL smb_io_printer_info_3(char *desc, NEW_BUFFER *buffer, PRINTER_INFO_3 *info, Parse a PRINTER_INFO_4 structure. ********************************************************************/ -BOOL smb_io_printer_info_4(char *desc, NEW_BUFFER *buffer, PRINTER_INFO_4 *info, int depth) +BOOL smb_io_printer_info_4(const char *desc, NEW_BUFFER *buffer, PRINTER_INFO_4 *info, int depth) { prs_struct *ps=&buffer->prs; @@ -2417,7 +2417,7 @@ BOOL smb_io_printer_info_4(char *desc, NEW_BUFFER *buffer, PRINTER_INFO_4 *info, Parse a PRINTER_INFO_5 structure. ********************************************************************/ -BOOL smb_io_printer_info_5(char *desc, NEW_BUFFER *buffer, PRINTER_INFO_5 *info, int depth) +BOOL smb_io_printer_info_5(const char *desc, NEW_BUFFER *buffer, PRINTER_INFO_5 *info, int depth) { prs_struct *ps=&buffer->prs; @@ -2443,7 +2443,7 @@ BOOL smb_io_printer_info_5(char *desc, NEW_BUFFER *buffer, PRINTER_INFO_5 *info, Parse a PORT_INFO_1 structure. ********************************************************************/ -BOOL smb_io_port_info_1(char *desc, NEW_BUFFER *buffer, PORT_INFO_1 *info, int depth) +BOOL smb_io_port_info_1(const char *desc, NEW_BUFFER *buffer, PORT_INFO_1 *info, int depth) { prs_struct *ps=&buffer->prs; @@ -2462,7 +2462,7 @@ BOOL smb_io_port_info_1(char *desc, NEW_BUFFER *buffer, PORT_INFO_1 *info, int d Parse a PORT_INFO_2 structure. ********************************************************************/ -BOOL smb_io_port_info_2(char *desc, NEW_BUFFER *buffer, PORT_INFO_2 *info, int depth) +BOOL smb_io_port_info_2(const char *desc, NEW_BUFFER *buffer, PORT_INFO_2 *info, int depth) { prs_struct *ps=&buffer->prs; @@ -2489,7 +2489,7 @@ BOOL smb_io_port_info_2(char *desc, NEW_BUFFER *buffer, PORT_INFO_2 *info, int d Parse a DRIVER_INFO_1 structure. ********************************************************************/ -BOOL smb_io_printer_driver_info_1(char *desc, NEW_BUFFER *buffer, DRIVER_INFO_1 *info, int depth) +BOOL smb_io_printer_driver_info_1(const char *desc, NEW_BUFFER *buffer, DRIVER_INFO_1 *info, int depth) { prs_struct *ps=&buffer->prs; @@ -2508,7 +2508,7 @@ BOOL smb_io_printer_driver_info_1(char *desc, NEW_BUFFER *buffer, DRIVER_INFO_1 Parse a DRIVER_INFO_2 structure. ********************************************************************/ -BOOL smb_io_printer_driver_info_2(char *desc, NEW_BUFFER *buffer, DRIVER_INFO_2 *info, int depth) +BOOL smb_io_printer_driver_info_2(const char *desc, NEW_BUFFER *buffer, DRIVER_INFO_2 *info, int depth) { prs_struct *ps=&buffer->prs; @@ -2537,7 +2537,7 @@ BOOL smb_io_printer_driver_info_2(char *desc, NEW_BUFFER *buffer, DRIVER_INFO_2 Parse a DRIVER_INFO_3 structure. ********************************************************************/ -BOOL smb_io_printer_driver_info_3(char *desc, NEW_BUFFER *buffer, DRIVER_INFO_3 *info, int depth) +BOOL smb_io_printer_driver_info_3(const char *desc, NEW_BUFFER *buffer, DRIVER_INFO_3 *info, int depth) { prs_struct *ps=&buffer->prs; @@ -2576,7 +2576,7 @@ BOOL smb_io_printer_driver_info_3(char *desc, NEW_BUFFER *buffer, DRIVER_INFO_3 Parse a DRIVER_INFO_6 structure. ********************************************************************/ -BOOL smb_io_printer_driver_info_6(char *desc, NEW_BUFFER *buffer, DRIVER_INFO_6 *info, int depth) +BOOL smb_io_printer_driver_info_6(const char *desc, NEW_BUFFER *buffer, DRIVER_INFO_6 *info, int depth) { prs_struct *ps=&buffer->prs; @@ -2641,7 +2641,7 @@ BOOL smb_io_printer_driver_info_6(char *desc, NEW_BUFFER *buffer, DRIVER_INFO_6 Parse a JOB_INFO_1 structure. ********************************************************************/ -BOOL smb_io_job_info_1(char *desc, NEW_BUFFER *buffer, JOB_INFO_1 *info, int depth) +BOOL smb_io_job_info_1(const char *desc, NEW_BUFFER *buffer, JOB_INFO_1 *info, int depth) { prs_struct *ps=&buffer->prs; @@ -2684,7 +2684,7 @@ BOOL smb_io_job_info_1(char *desc, NEW_BUFFER *buffer, JOB_INFO_1 *info, int dep Parse a JOB_INFO_2 structure. ********************************************************************/ -BOOL smb_io_job_info_2(char *desc, NEW_BUFFER *buffer, JOB_INFO_2 *info, int depth) +BOOL smb_io_job_info_2(const char *desc, NEW_BUFFER *buffer, JOB_INFO_2 *info, int depth) { uint32 pipo=0; prs_struct *ps=&buffer->prs; @@ -2751,7 +2751,7 @@ BOOL smb_io_job_info_2(char *desc, NEW_BUFFER *buffer, JOB_INFO_2 *info, int dep /******************************************************************* ********************************************************************/ -BOOL smb_io_form_1(char *desc, NEW_BUFFER *buffer, FORM_1 *info, int depth) +BOOL smb_io_form_1(const char *desc, NEW_BUFFER *buffer, FORM_1 *info, int depth) { prs_struct *ps=&buffer->prs; @@ -2786,7 +2786,7 @@ BOOL smb_io_form_1(char *desc, NEW_BUFFER *buffer, FORM_1 *info, int depth) Read/write a BUFFER struct. ********************************************************************/ -static BOOL spoolss_io_buffer(char *desc, prs_struct *ps, int depth, NEW_BUFFER **pp_buffer) +static BOOL spoolss_io_buffer(const char *desc, prs_struct *ps, int depth, NEW_BUFFER **pp_buffer) { NEW_BUFFER *buffer = *pp_buffer; @@ -2898,7 +2898,7 @@ uint32 new_get_buffer_size(NEW_BUFFER *buffer) Parse a DRIVER_DIRECTORY_1 structure. ********************************************************************/ -BOOL smb_io_driverdir_1(char *desc, NEW_BUFFER *buffer, DRIVER_DIRECTORY_1 *info, int depth) +BOOL smb_io_driverdir_1(const char *desc, NEW_BUFFER *buffer, DRIVER_DIRECTORY_1 *info, int depth) { prs_struct *ps=&buffer->prs; @@ -2917,7 +2917,7 @@ BOOL smb_io_driverdir_1(char *desc, NEW_BUFFER *buffer, DRIVER_DIRECTORY_1 *info Parse a PORT_INFO_1 structure. ********************************************************************/ -BOOL smb_io_port_1(char *desc, NEW_BUFFER *buffer, PORT_INFO_1 *info, int depth) +BOOL smb_io_port_1(const char *desc, NEW_BUFFER *buffer, PORT_INFO_1 *info, int depth) { prs_struct *ps=&buffer->prs; @@ -2936,7 +2936,7 @@ BOOL smb_io_port_1(char *desc, NEW_BUFFER *buffer, PORT_INFO_1 *info, int depth) Parse a PORT_INFO_2 structure. ********************************************************************/ -BOOL smb_io_port_2(char *desc, NEW_BUFFER *buffer, PORT_INFO_2 *info, int depth) +BOOL smb_io_port_2(const char *desc, NEW_BUFFER *buffer, PORT_INFO_2 *info, int depth) { prs_struct *ps=&buffer->prs; @@ -2962,7 +2962,7 @@ BOOL smb_io_port_2(char *desc, NEW_BUFFER *buffer, PORT_INFO_2 *info, int depth) /******************************************************************* ********************************************************************/ -BOOL smb_io_printprocessor_info_1(char *desc, NEW_BUFFER *buffer, PRINTPROCESSOR_1 *info, int depth) +BOOL smb_io_printprocessor_info_1(const char *desc, NEW_BUFFER *buffer, PRINTPROCESSOR_1 *info, int depth) { prs_struct *ps=&buffer->prs; @@ -2980,7 +2980,7 @@ BOOL smb_io_printprocessor_info_1(char *desc, NEW_BUFFER *buffer, PRINTPROCESSOR /******************************************************************* ********************************************************************/ -BOOL smb_io_printprocdatatype_info_1(char *desc, NEW_BUFFER *buffer, PRINTPROCDATATYPE_1 *info, int depth) +BOOL smb_io_printprocdatatype_info_1(const char *desc, NEW_BUFFER *buffer, PRINTPROCDATATYPE_1 *info, int depth) { prs_struct *ps=&buffer->prs; @@ -2998,7 +2998,7 @@ BOOL smb_io_printprocdatatype_info_1(char *desc, NEW_BUFFER *buffer, PRINTPROCDA /******************************************************************* ********************************************************************/ -BOOL smb_io_printmonitor_info_1(char *desc, NEW_BUFFER *buffer, PRINTMONITOR_1 *info, int depth) +BOOL smb_io_printmonitor_info_1(const char *desc, NEW_BUFFER *buffer, PRINTMONITOR_1 *info, int depth) { prs_struct *ps=&buffer->prs; @@ -3016,7 +3016,7 @@ BOOL smb_io_printmonitor_info_1(char *desc, NEW_BUFFER *buffer, PRINTMONITOR_1 * /******************************************************************* ********************************************************************/ -BOOL smb_io_printmonitor_info_2(char *desc, NEW_BUFFER *buffer, PRINTMONITOR_2 *info, int depth) +BOOL smb_io_printmonitor_info_2(const char *desc, NEW_BUFFER *buffer, PRINTMONITOR_2 *info, int depth) { prs_struct *ps=&buffer->prs; @@ -3550,7 +3550,7 @@ BOOL make_spoolss_q_getprinterdriver2(SPOOL_Q_GETPRINTERDRIVER2 *q_u, * called from spoolss_getprinterdriver2 (srv_spoolss.c) ********************************************************************/ -BOOL spoolss_io_q_getprinterdriver2(char *desc, SPOOL_Q_GETPRINTERDRIVER2 *q_u, prs_struct *ps, int depth) +BOOL spoolss_io_q_getprinterdriver2(const char *desc, SPOOL_Q_GETPRINTERDRIVER2 *q_u, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "spoolss_io_q_getprinterdriver2"); depth++; @@ -3592,7 +3592,7 @@ BOOL spoolss_io_q_getprinterdriver2(char *desc, SPOOL_Q_GETPRINTERDRIVER2 *q_u, * called from spoolss_getprinterdriver2 (srv_spoolss.c) ********************************************************************/ -BOOL spoolss_io_r_getprinterdriver2(char *desc, SPOOL_R_GETPRINTERDRIVER2 *r_u, prs_struct *ps, int depth) +BOOL spoolss_io_r_getprinterdriver2(const char *desc, SPOOL_R_GETPRINTERDRIVER2 *r_u, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "spoolss_io_r_getprinterdriver2"); depth++; @@ -3665,7 +3665,7 @@ BOOL make_spoolss_q_enumports(SPOOL_Q_ENUMPORTS *q_u, * called from spoolss_enumprinters (srv_spoolss.c) ********************************************************************/ -BOOL spoolss_io_q_enumprinters(char *desc, SPOOL_Q_ENUMPRINTERS *q_u, prs_struct *ps, int depth) +BOOL spoolss_io_q_enumprinters(const char *desc, SPOOL_Q_ENUMPRINTERS *q_u, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "spoolss_io_q_enumprinters"); depth++; @@ -3701,7 +3701,7 @@ BOOL spoolss_io_q_enumprinters(char *desc, SPOOL_Q_ENUMPRINTERS *q_u, prs_struct Parse a SPOOL_R_ENUMPRINTERS structure. ********************************************************************/ -BOOL spoolss_io_r_enumprinters(char *desc, SPOOL_R_ENUMPRINTERS *r_u, prs_struct *ps, int depth) +BOOL spoolss_io_r_enumprinters(const char *desc, SPOOL_R_ENUMPRINTERS *r_u, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "spoolss_io_r_enumprinters"); depth++; @@ -3733,7 +3733,7 @@ BOOL spoolss_io_r_enumprinters(char *desc, SPOOL_R_ENUMPRINTERS *r_u, prs_struct * ********************************************************************/ -BOOL spoolss_io_r_getprinter(char *desc, SPOOL_R_GETPRINTER *r_u, prs_struct *ps, int depth) +BOOL spoolss_io_r_getprinter(const char *desc, SPOOL_R_GETPRINTER *r_u, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "spoolss_io_r_getprinter"); depth++; @@ -3761,7 +3761,7 @@ BOOL spoolss_io_r_getprinter(char *desc, SPOOL_R_GETPRINTER *r_u, prs_struct *ps * called from spoolss_getprinter (srv_spoolss.c) ********************************************************************/ -BOOL spoolss_io_q_getprinter(char *desc, SPOOL_Q_GETPRINTER *q_u, prs_struct *ps, int depth) +BOOL spoolss_io_q_getprinter(const char *desc, SPOOL_Q_GETPRINTER *q_u, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "spoolss_io_q_getprinter"); depth++; @@ -3873,7 +3873,7 @@ BOOL make_spoolss_q_setprinter(TALLOC_CTX *mem_ctx, SPOOL_Q_SETPRINTER *q_u, /******************************************************************* ********************************************************************/ -BOOL spoolss_io_r_setprinter(char *desc, SPOOL_R_SETPRINTER *r_u, prs_struct *ps, int depth) +BOOL spoolss_io_r_setprinter(const char *desc, SPOOL_R_SETPRINTER *r_u, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "spoolss_io_r_setprinter"); depth++; @@ -3891,7 +3891,7 @@ BOOL spoolss_io_r_setprinter(char *desc, SPOOL_R_SETPRINTER *r_u, prs_struct *ps Marshall/unmarshall a SPOOL_Q_SETPRINTER struct. ********************************************************************/ -BOOL spoolss_io_q_setprinter(char *desc, SPOOL_Q_SETPRINTER *q_u, prs_struct *ps, int depth) +BOOL spoolss_io_q_setprinter(const char *desc, SPOOL_Q_SETPRINTER *q_u, prs_struct *ps, int depth) { uint32 ptr_sec_desc = 0; @@ -3954,7 +3954,7 @@ BOOL spoolss_io_q_setprinter(char *desc, SPOOL_Q_SETPRINTER *q_u, prs_struct *ps /******************************************************************* ********************************************************************/ -BOOL spoolss_io_r_fcpn(char *desc, SPOOL_R_FCPN *r_u, prs_struct *ps, int depth) +BOOL spoolss_io_r_fcpn(const char *desc, SPOOL_R_FCPN *r_u, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "spoolss_io_r_fcpn"); depth++; @@ -3971,7 +3971,7 @@ BOOL spoolss_io_r_fcpn(char *desc, SPOOL_R_FCPN *r_u, prs_struct *ps, int depth) /******************************************************************* ********************************************************************/ -BOOL spoolss_io_q_fcpn(char *desc, SPOOL_Q_FCPN *q_u, prs_struct *ps, int depth) +BOOL spoolss_io_q_fcpn(const char *desc, SPOOL_Q_FCPN *q_u, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "spoolss_io_q_fcpn"); @@ -3990,7 +3990,7 @@ BOOL spoolss_io_q_fcpn(char *desc, SPOOL_Q_FCPN *q_u, prs_struct *ps, int depth) /******************************************************************* ********************************************************************/ -BOOL spoolss_io_r_addjob(char *desc, SPOOL_R_ADDJOB *r_u, prs_struct *ps, int depth) +BOOL spoolss_io_r_addjob(const char *desc, SPOOL_R_ADDJOB *r_u, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, ""); depth++; @@ -4016,7 +4016,7 @@ BOOL spoolss_io_r_addjob(char *desc, SPOOL_R_ADDJOB *r_u, prs_struct *ps, int de /******************************************************************* ********************************************************************/ -BOOL spoolss_io_q_addjob(char *desc, SPOOL_Q_ADDJOB *q_u, prs_struct *ps, int depth) +BOOL spoolss_io_q_addjob(const char *desc, SPOOL_Q_ADDJOB *q_u, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, ""); depth++; @@ -4044,7 +4044,7 @@ BOOL spoolss_io_q_addjob(char *desc, SPOOL_Q_ADDJOB *q_u, prs_struct *ps, int de /******************************************************************* ********************************************************************/ -BOOL spoolss_io_r_enumjobs(char *desc, SPOOL_R_ENUMJOBS *r_u, prs_struct *ps, int depth) +BOOL spoolss_io_r_enumjobs(const char *desc, SPOOL_R_ENUMJOBS *r_u, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "spoolss_io_r_enumjobs"); depth++; @@ -4096,7 +4096,7 @@ BOOL make_spoolss_q_enumjobs(SPOOL_Q_ENUMJOBS *q_u, const POLICY_HND *hnd, /******************************************************************* ********************************************************************/ -BOOL spoolss_io_q_enumjobs(char *desc, SPOOL_Q_ENUMJOBS *q_u, prs_struct *ps, int depth) +BOOL spoolss_io_q_enumjobs(const char *desc, SPOOL_Q_ENUMJOBS *q_u, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "spoolss_io_q_enumjobs"); depth++; @@ -4129,7 +4129,7 @@ BOOL spoolss_io_q_enumjobs(char *desc, SPOOL_Q_ENUMJOBS *q_u, prs_struct *ps, in /******************************************************************* ********************************************************************/ -BOOL spoolss_io_r_schedulejob(char *desc, SPOOL_R_SCHEDULEJOB *r_u, prs_struct *ps, int depth) +BOOL spoolss_io_r_schedulejob(const char *desc, SPOOL_R_SCHEDULEJOB *r_u, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "spoolss_io_r_schedulejob"); depth++; @@ -4146,7 +4146,7 @@ BOOL spoolss_io_r_schedulejob(char *desc, SPOOL_R_SCHEDULEJOB *r_u, prs_struct * /******************************************************************* ********************************************************************/ -BOOL spoolss_io_q_schedulejob(char *desc, SPOOL_Q_SCHEDULEJOB *q_u, prs_struct *ps, int depth) +BOOL spoolss_io_q_schedulejob(const char *desc, SPOOL_Q_SCHEDULEJOB *q_u, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "spoolss_io_q_schedulejob"); depth++; @@ -4165,7 +4165,7 @@ BOOL spoolss_io_q_schedulejob(char *desc, SPOOL_Q_SCHEDULEJOB *q_u, prs_struct * /******************************************************************* ********************************************************************/ -BOOL spoolss_io_r_setjob(char *desc, SPOOL_R_SETJOB *r_u, prs_struct *ps, int depth) +BOOL spoolss_io_r_setjob(const char *desc, SPOOL_R_SETJOB *r_u, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "spoolss_io_r_setjob"); depth++; @@ -4182,7 +4182,7 @@ BOOL spoolss_io_r_setjob(char *desc, SPOOL_R_SETJOB *r_u, prs_struct *ps, int de /******************************************************************* ********************************************************************/ -BOOL spoolss_io_q_setjob(char *desc, SPOOL_Q_SETJOB *q_u, prs_struct *ps, int depth) +BOOL spoolss_io_q_setjob(const char *desc, SPOOL_Q_SETJOB *q_u, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "spoolss_io_q_setjob"); depth++; @@ -4210,7 +4210,7 @@ BOOL spoolss_io_q_setjob(char *desc, SPOOL_Q_SETJOB *q_u, prs_struct *ps, int de Parse a SPOOL_R_ENUMPRINTERDRIVERS structure. ********************************************************************/ -BOOL spoolss_io_r_enumprinterdrivers(char *desc, SPOOL_R_ENUMPRINTERDRIVERS *r_u, prs_struct *ps, int depth) +BOOL spoolss_io_r_enumprinterdrivers(const char *desc, SPOOL_R_ENUMPRINTERDRIVERS *r_u, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "spoolss_io_r_enumprinterdrivers"); depth++; @@ -4260,7 +4260,7 @@ BOOL make_spoolss_q_enumprinterdrivers(SPOOL_Q_ENUMPRINTERDRIVERS *q_u, Parse a SPOOL_Q_ENUMPRINTERDRIVERS structure. ********************************************************************/ -BOOL spoolss_io_q_enumprinterdrivers(char *desc, SPOOL_Q_ENUMPRINTERDRIVERS *q_u, prs_struct *ps, int depth) +BOOL spoolss_io_q_enumprinterdrivers(const char *desc, SPOOL_Q_ENUMPRINTERDRIVERS *q_u, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "spoolss_io_q_enumprinterdrivers"); @@ -4301,7 +4301,7 @@ BOOL spoolss_io_q_enumprinterdrivers(char *desc, SPOOL_Q_ENUMPRINTERDRIVERS *q_u /******************************************************************* ********************************************************************/ -BOOL spoolss_io_q_enumforms(char *desc, SPOOL_Q_ENUMFORMS *q_u, prs_struct *ps, int depth) +BOOL spoolss_io_q_enumforms(const char *desc, SPOOL_Q_ENUMFORMS *q_u, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "spoolss_io_q_enumforms"); @@ -4328,7 +4328,7 @@ BOOL spoolss_io_q_enumforms(char *desc, SPOOL_Q_ENUMFORMS *q_u, prs_struct *ps, /******************************************************************* ********************************************************************/ -BOOL spoolss_io_r_enumforms(char *desc, SPOOL_R_ENUMFORMS *r_u, prs_struct *ps, int depth) +BOOL spoolss_io_r_enumforms(const char *desc, SPOOL_R_ENUMFORMS *r_u, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "spoolss_io_r_enumforms"); depth++; @@ -4357,7 +4357,7 @@ BOOL spoolss_io_r_enumforms(char *desc, SPOOL_R_ENUMFORMS *r_u, prs_struct *ps, /******************************************************************* ********************************************************************/ -BOOL spoolss_io_q_getform(char *desc, SPOOL_Q_GETFORM *q_u, prs_struct *ps, int depth) +BOOL spoolss_io_q_getform(const char *desc, SPOOL_Q_GETFORM *q_u, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "spoolss_io_q_getform"); @@ -4390,7 +4390,7 @@ BOOL spoolss_io_q_getform(char *desc, SPOOL_Q_GETFORM *q_u, prs_struct *ps, int /******************************************************************* ********************************************************************/ -BOOL spoolss_io_r_getform(char *desc, SPOOL_R_GETFORM *r_u, prs_struct *ps, int depth) +BOOL spoolss_io_r_getform(const char *desc, SPOOL_R_GETFORM *r_u, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "spoolss_io_r_getform"); depth++; @@ -4417,7 +4417,7 @@ BOOL spoolss_io_r_getform(char *desc, SPOOL_R_GETFORM *r_u, prs_struct *ps, int Parse a SPOOL_R_ENUMPORTS structure. ********************************************************************/ -BOOL spoolss_io_r_enumports(char *desc, SPOOL_R_ENUMPORTS *r_u, prs_struct *ps, int depth) +BOOL spoolss_io_r_enumports(const char *desc, SPOOL_R_ENUMPORTS *r_u, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "spoolss_io_r_enumports"); depth++; @@ -4446,7 +4446,7 @@ BOOL spoolss_io_r_enumports(char *desc, SPOOL_R_ENUMPORTS *r_u, prs_struct *ps, /******************************************************************* ********************************************************************/ -BOOL spoolss_io_q_enumports(char *desc, SPOOL_Q_ENUMPORTS *q_u, prs_struct *ps, int depth) +BOOL spoolss_io_q_enumports(const char *desc, SPOOL_Q_ENUMPORTS *q_u, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, ""); depth++; @@ -4479,7 +4479,7 @@ BOOL spoolss_io_q_enumports(char *desc, SPOOL_Q_ENUMPORTS *q_u, prs_struct *ps, Parse a SPOOL_PRINTER_INFO_LEVEL_1 structure. ********************************************************************/ -BOOL spool_io_printer_info_level_1(char *desc, SPOOL_PRINTER_INFO_LEVEL_1 *il, prs_struct *ps, int depth) +BOOL spool_io_printer_info_level_1(const char *desc, SPOOL_PRINTER_INFO_LEVEL_1 *il, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "spool_io_printer_info_level_1"); depth++; @@ -4510,7 +4510,7 @@ BOOL spool_io_printer_info_level_1(char *desc, SPOOL_PRINTER_INFO_LEVEL_1 *il, p Parse a SPOOL_PRINTER_INFO_LEVEL_3 structure. ********************************************************************/ -BOOL spool_io_printer_info_level_3(char *desc, SPOOL_PRINTER_INFO_LEVEL_3 *il, prs_struct *ps, int depth) +BOOL spool_io_printer_info_level_3(const char *desc, SPOOL_PRINTER_INFO_LEVEL_3 *il, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "spool_io_printer_info_level_3"); depth++; @@ -4528,7 +4528,7 @@ BOOL spool_io_printer_info_level_3(char *desc, SPOOL_PRINTER_INFO_LEVEL_3 *il, p Parse a SPOOL_PRINTER_INFO_LEVEL_2 structure. ********************************************************************/ -BOOL spool_io_printer_info_level_2(char *desc, SPOOL_PRINTER_INFO_LEVEL_2 *il, prs_struct *ps, int depth) +BOOL spool_io_printer_info_level_2(const char *desc, SPOOL_PRINTER_INFO_LEVEL_2 *il, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "spool_io_printer_info_level_2"); depth++; @@ -4610,7 +4610,7 @@ BOOL spool_io_printer_info_level_2(char *desc, SPOOL_PRINTER_INFO_LEVEL_2 *il, p /******************************************************************* ********************************************************************/ -BOOL spool_io_printer_info_level(char *desc, SPOOL_PRINTER_INFO_LEVEL *il, prs_struct *ps, int depth) +BOOL spool_io_printer_info_level(const char *desc, SPOOL_PRINTER_INFO_LEVEL *il, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "spool_io_printer_info_level"); depth++; @@ -4680,7 +4680,7 @@ BOOL spool_io_printer_info_level(char *desc, SPOOL_PRINTER_INFO_LEVEL *il, prs_s /******************************************************************* ********************************************************************/ -BOOL spoolss_io_q_addprinterex(char *desc, SPOOL_Q_ADDPRINTEREX *q_u, prs_struct *ps, int depth) +BOOL spoolss_io_q_addprinterex(const char *desc, SPOOL_Q_ADDPRINTEREX *q_u, prs_struct *ps, int depth) { uint32 ptr_sec_desc = 0; @@ -4744,7 +4744,7 @@ BOOL spoolss_io_q_addprinterex(char *desc, SPOOL_Q_ADDPRINTEREX *q_u, prs_struct /******************************************************************* ********************************************************************/ -BOOL spoolss_io_r_addprinterex(char *desc, SPOOL_R_ADDPRINTEREX *r_u, +BOOL spoolss_io_r_addprinterex(const char *desc, SPOOL_R_ADDPRINTEREX *r_u, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "spoolss_io_r_addprinterex"); @@ -4762,7 +4762,7 @@ BOOL spoolss_io_r_addprinterex(char *desc, SPOOL_R_ADDPRINTEREX *r_u, /******************************************************************* ********************************************************************/ -BOOL spool_io_printer_driver_info_level_3(char *desc, SPOOL_PRINTER_DRIVER_INFO_LEVEL_3 **q_u, +BOOL spool_io_printer_driver_info_level_3(const char *desc, SPOOL_PRINTER_DRIVER_INFO_LEVEL_3 **q_u, prs_struct *ps, int depth) { SPOOL_PRINTER_DRIVER_INFO_LEVEL_3 *il; @@ -4840,7 +4840,7 @@ BOOL spool_io_printer_driver_info_level_3(char *desc, SPOOL_PRINTER_DRIVER_INFO_ parse a SPOOL_PRINTER_DRIVER_INFO_LEVEL_6 structure ********************************************************************/ -BOOL spool_io_printer_driver_info_level_6(char *desc, SPOOL_PRINTER_DRIVER_INFO_LEVEL_6 **q_u, +BOOL spool_io_printer_driver_info_level_6(const char *desc, SPOOL_PRINTER_DRIVER_INFO_LEVEL_6 **q_u, prs_struct *ps, int depth) { SPOOL_PRINTER_DRIVER_INFO_LEVEL_6 *il; @@ -5031,7 +5031,7 @@ static BOOL uniarray_2_dosarray(BUFFER5 *buf5, fstring **ar) and size of array at beginning ********************************************************************/ -BOOL smb_io_unibuffer(char *desc, UNISTR2 *buffer, prs_struct *ps, int depth) +BOOL smb_io_unibuffer(const char *desc, UNISTR2 *buffer, prs_struct *ps, int depth) { if (buffer==NULL) return False; @@ -5050,7 +5050,7 @@ BOOL smb_io_unibuffer(char *desc, UNISTR2 *buffer, prs_struct *ps, int depth) /******************************************************************* ********************************************************************/ -BOOL spool_io_printer_driver_info_level(char *desc, SPOOL_PRINTER_DRIVER_INFO_LEVEL *il, prs_struct *ps, int depth) +BOOL spool_io_printer_driver_info_level(const char *desc, SPOOL_PRINTER_DRIVER_INFO_LEVEL *il, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "spool_io_printer_driver_info_level"); depth++; @@ -5199,7 +5199,7 @@ BOOL make_spoolss_buffer5(TALLOC_CTX *mem_ctx, BUFFER5 *buf5, uint32 len, uint16 fill in the prs_struct for a ADDPRINTERDRIVER request PDU ********************************************************************/ -BOOL spoolss_io_q_addprinterdriver(char *desc, SPOOL_Q_ADDPRINTERDRIVER *q_u, prs_struct *ps, int depth) +BOOL spoolss_io_q_addprinterdriver(const char *desc, SPOOL_Q_ADDPRINTERDRIVER *q_u, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "spoolss_io_q_addprinterdriver"); depth++; @@ -5226,7 +5226,7 @@ BOOL spoolss_io_q_addprinterdriver(char *desc, SPOOL_Q_ADDPRINTERDRIVER *q_u, pr /******************************************************************* ********************************************************************/ -BOOL spoolss_io_r_addprinterdriver(char *desc, SPOOL_R_ADDPRINTERDRIVER *q_u, prs_struct *ps, int depth) +BOOL spoolss_io_r_addprinterdriver(const char *desc, SPOOL_R_ADDPRINTERDRIVER *q_u, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "spoolss_io_r_addprinterdriver"); depth++; @@ -5408,7 +5408,7 @@ BOOL make_spoolss_q_getprinterdriverdir(SPOOL_Q_GETPRINTERDRIVERDIR *q_u, Parse a SPOOL_Q_GETPRINTERDRIVERDIR structure. ********************************************************************/ -BOOL spoolss_io_q_getprinterdriverdir(char *desc, SPOOL_Q_GETPRINTERDRIVERDIR *q_u, prs_struct *ps, int depth) +BOOL spoolss_io_q_getprinterdriverdir(const char *desc, SPOOL_Q_GETPRINTERDRIVERDIR *q_u, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "spoolss_io_q_getprinterdriverdir"); depth++; @@ -5450,7 +5450,7 @@ BOOL spoolss_io_q_getprinterdriverdir(char *desc, SPOOL_Q_GETPRINTERDRIVERDIR *q Parse a SPOOL_R_GETPRINTERDRIVERDIR structure. ********************************************************************/ -BOOL spoolss_io_r_getprinterdriverdir(char *desc, SPOOL_R_GETPRINTERDRIVERDIR *r_u, prs_struct *ps, int depth) +BOOL spoolss_io_r_getprinterdriverdir(const char *desc, SPOOL_R_GETPRINTERDRIVERDIR *r_u, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "spoolss_io_r_getprinterdriverdir"); depth++; @@ -5476,7 +5476,7 @@ BOOL spoolss_io_r_getprinterdriverdir(char *desc, SPOOL_R_GETPRINTERDRIVERDIR *r /******************************************************************* ********************************************************************/ -BOOL spoolss_io_r_enumprintprocessors(char *desc, SPOOL_R_ENUMPRINTPROCESSORS *r_u, prs_struct *ps, int depth) +BOOL spoolss_io_r_enumprintprocessors(const char *desc, SPOOL_R_ENUMPRINTPROCESSORS *r_u, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "spoolss_io_r_enumprintprocessors"); depth++; @@ -5505,7 +5505,7 @@ BOOL spoolss_io_r_enumprintprocessors(char *desc, SPOOL_R_ENUMPRINTPROCESSORS *r /******************************************************************* ********************************************************************/ -BOOL spoolss_io_q_enumprintprocessors(char *desc, SPOOL_Q_ENUMPRINTPROCESSORS *q_u, prs_struct *ps, int depth) +BOOL spoolss_io_q_enumprintprocessors(const char *desc, SPOOL_Q_ENUMPRINTPROCESSORS *q_u, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "spoolss_io_q_enumprintprocessors"); depth++; @@ -5547,7 +5547,7 @@ BOOL spoolss_io_q_enumprintprocessors(char *desc, SPOOL_Q_ENUMPRINTPROCESSORS *q /******************************************************************* ********************************************************************/ -BOOL spoolss_io_q_addprintprocessor(char *desc, SPOOL_Q_ADDPRINTPROCESSOR *q_u, prs_struct *ps, int depth) +BOOL spoolss_io_q_addprintprocessor(const char *desc, SPOOL_Q_ADDPRINTPROCESSOR *q_u, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "spoolss_io_q_addprintprocessor"); depth++; @@ -5581,7 +5581,7 @@ BOOL spoolss_io_q_addprintprocessor(char *desc, SPOOL_Q_ADDPRINTPROCESSOR *q_u, /******************************************************************* ********************************************************************/ -BOOL spoolss_io_r_addprintprocessor(char *desc, SPOOL_R_ADDPRINTPROCESSOR *r_u, prs_struct *ps, int depth) +BOOL spoolss_io_r_addprintprocessor(const char *desc, SPOOL_R_ADDPRINTPROCESSOR *r_u, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "spoolss_io_r_addprintproicessor"); depth++; @@ -5598,7 +5598,7 @@ BOOL spoolss_io_r_addprintprocessor(char *desc, SPOOL_R_ADDPRINTPROCESSOR *r_u, /******************************************************************* ********************************************************************/ -BOOL spoolss_io_r_enumprintprocdatatypes(char *desc, SPOOL_R_ENUMPRINTPROCDATATYPES *r_u, prs_struct *ps, int depth) +BOOL spoolss_io_r_enumprintprocdatatypes(const char *desc, SPOOL_R_ENUMPRINTPROCDATATYPES *r_u, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "spoolss_io_r_enumprintprocdatatypes"); depth++; @@ -5627,7 +5627,7 @@ BOOL spoolss_io_r_enumprintprocdatatypes(char *desc, SPOOL_R_ENUMPRINTPROCDATATY /******************************************************************* ********************************************************************/ -BOOL spoolss_io_q_enumprintprocdatatypes(char *desc, SPOOL_Q_ENUMPRINTPROCDATATYPES *q_u, prs_struct *ps, int depth) +BOOL spoolss_io_q_enumprintprocdatatypes(const char *desc, SPOOL_Q_ENUMPRINTPROCDATATYPES *q_u, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "spoolss_io_q_enumprintprocdatatypes"); depth++; @@ -5670,7 +5670,7 @@ BOOL spoolss_io_q_enumprintprocdatatypes(char *desc, SPOOL_Q_ENUMPRINTPROCDATATY Parse a SPOOL_Q_ENUMPRINTMONITORS structure. ********************************************************************/ -BOOL spoolss_io_q_enumprintmonitors(char *desc, SPOOL_Q_ENUMPRINTMONITORS *q_u, prs_struct *ps, int depth) +BOOL spoolss_io_q_enumprintmonitors(const char *desc, SPOOL_Q_ENUMPRINTMONITORS *q_u, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "spoolss_io_q_enumprintmonitors"); depth++; @@ -5704,7 +5704,7 @@ BOOL spoolss_io_q_enumprintmonitors(char *desc, SPOOL_Q_ENUMPRINTMONITORS *q_u, /******************************************************************* ********************************************************************/ -BOOL spoolss_io_r_enumprintmonitors(char *desc, SPOOL_R_ENUMPRINTMONITORS *r_u, prs_struct *ps, int depth) +BOOL spoolss_io_r_enumprintmonitors(const char *desc, SPOOL_R_ENUMPRINTMONITORS *r_u, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "spoolss_io_r_enumprintmonitors"); depth++; @@ -5733,7 +5733,7 @@ BOOL spoolss_io_r_enumprintmonitors(char *desc, SPOOL_R_ENUMPRINTMONITORS *r_u, /******************************************************************* ********************************************************************/ -BOOL spoolss_io_r_enumprinterdata(char *desc, SPOOL_R_ENUMPRINTERDATA *r_u, prs_struct *ps, int depth) +BOOL spoolss_io_r_enumprinterdata(const char *desc, SPOOL_R_ENUMPRINTERDATA *r_u, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "spoolss_io_r_enumprinterdata"); depth++; @@ -5790,7 +5790,7 @@ BOOL spoolss_io_r_enumprinterdata(char *desc, SPOOL_R_ENUMPRINTERDATA *r_u, prs_ /******************************************************************* ********************************************************************/ -BOOL spoolss_io_q_enumprinterdata(char *desc, SPOOL_Q_ENUMPRINTERDATA *q_u, prs_struct *ps, int depth) +BOOL spoolss_io_q_enumprinterdata(const char *desc, SPOOL_Q_ENUMPRINTERDATA *q_u, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "spoolss_io_q_enumprinterdata"); depth++; @@ -5845,7 +5845,7 @@ BOOL make_spoolss_q_setprinterdata(SPOOL_Q_SETPRINTERDATA *q_u, TALLOC_CTX *ctx, /******************************************************************* ********************************************************************/ -BOOL spoolss_io_q_setprinterdata(char *desc, SPOOL_Q_SETPRINTERDATA *q_u, prs_struct *ps, int depth) +BOOL spoolss_io_q_setprinterdata(const char *desc, SPOOL_Q_SETPRINTERDATA *q_u, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "spoolss_io_q_setprinterdata"); depth++; @@ -5894,7 +5894,7 @@ BOOL spoolss_io_q_setprinterdata(char *desc, SPOOL_Q_SETPRINTERDATA *q_u, prs_st /******************************************************************* ********************************************************************/ -BOOL spoolss_io_r_setprinterdata(char *desc, SPOOL_R_SETPRINTERDATA *r_u, prs_struct *ps, int depth) +BOOL spoolss_io_r_setprinterdata(const char *desc, SPOOL_R_SETPRINTERDATA *r_u, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "spoolss_io_r_setprinterdata"); depth++; @@ -5909,7 +5909,7 @@ BOOL spoolss_io_r_setprinterdata(char *desc, SPOOL_R_SETPRINTERDATA *r_u, prs_st /******************************************************************* ********************************************************************/ -BOOL spoolss_io_q_resetprinter(char *desc, SPOOL_Q_RESETPRINTER *q_u, prs_struct *ps, int depth) +BOOL spoolss_io_q_resetprinter(const char *desc, SPOOL_Q_RESETPRINTER *q_u, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "spoolss_io_q_resetprinter"); depth++; @@ -5936,7 +5936,7 @@ BOOL spoolss_io_q_resetprinter(char *desc, SPOOL_Q_RESETPRINTER *q_u, prs_struct /******************************************************************* ********************************************************************/ -BOOL spoolss_io_r_resetprinter(char *desc, SPOOL_R_RESETPRINTER *r_u, prs_struct *ps, int depth) +BOOL spoolss_io_r_resetprinter(const char *desc, SPOOL_R_RESETPRINTER *r_u, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "spoolss_io_r_resetprinter"); depth++; @@ -5988,7 +5988,7 @@ BOOL convert_specific_param(NT_PRINTER_PARAM **param, const UNISTR2 *value, /******************************************************************* ********************************************************************/ -static BOOL spoolss_io_addform(char *desc, FORM *f, uint32 ptr, prs_struct *ps, int depth) +static BOOL spoolss_io_addform(const char *desc, FORM *f, uint32 ptr, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "spoolss_io_addform"); depth++; @@ -6024,7 +6024,7 @@ static BOOL spoolss_io_addform(char *desc, FORM *f, uint32 ptr, prs_struct *ps, /******************************************************************* ********************************************************************/ -BOOL spoolss_io_q_deleteform(char *desc, SPOOL_Q_DELETEFORM *q_u, prs_struct *ps, int depth) +BOOL spoolss_io_q_deleteform(const char *desc, SPOOL_Q_DELETEFORM *q_u, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "spoolss_io_q_deleteform"); depth++; @@ -6042,7 +6042,7 @@ BOOL spoolss_io_q_deleteform(char *desc, SPOOL_Q_DELETEFORM *q_u, prs_struct *ps /******************************************************************* ********************************************************************/ -BOOL spoolss_io_r_deleteform(char *desc, SPOOL_R_DELETEFORM *r_u, prs_struct *ps, int depth) +BOOL spoolss_io_r_deleteform(const char *desc, SPOOL_R_DELETEFORM *r_u, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "spoolss_io_r_deleteform"); depth++; @@ -6058,7 +6058,7 @@ BOOL spoolss_io_r_deleteform(char *desc, SPOOL_R_DELETEFORM *r_u, prs_struct *ps /******************************************************************* ********************************************************************/ -BOOL spoolss_io_q_addform(char *desc, SPOOL_Q_ADDFORM *q_u, prs_struct *ps, int depth) +BOOL spoolss_io_q_addform(const char *desc, SPOOL_Q_ADDFORM *q_u, prs_struct *ps, int depth) { uint32 useless_ptr=1; prs_debug(ps, depth, desc, "spoolss_io_q_addform"); @@ -6087,7 +6087,7 @@ BOOL spoolss_io_q_addform(char *desc, SPOOL_Q_ADDFORM *q_u, prs_struct *ps, int /******************************************************************* ********************************************************************/ -BOOL spoolss_io_r_addform(char *desc, SPOOL_R_ADDFORM *r_u, prs_struct *ps, int depth) +BOOL spoolss_io_r_addform(const char *desc, SPOOL_R_ADDFORM *r_u, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "spoolss_io_r_addform"); depth++; @@ -6103,7 +6103,7 @@ BOOL spoolss_io_r_addform(char *desc, SPOOL_R_ADDFORM *r_u, prs_struct *ps, int /******************************************************************* ********************************************************************/ -BOOL spoolss_io_q_setform(char *desc, SPOOL_Q_SETFORM *q_u, prs_struct *ps, int depth) +BOOL spoolss_io_q_setform(const char *desc, SPOOL_Q_SETFORM *q_u, prs_struct *ps, int depth) { uint32 useless_ptr=1; prs_debug(ps, depth, desc, "spoolss_io_q_setform"); @@ -6138,7 +6138,7 @@ BOOL spoolss_io_q_setform(char *desc, SPOOL_Q_SETFORM *q_u, prs_struct *ps, int /******************************************************************* ********************************************************************/ -BOOL spoolss_io_r_setform(char *desc, SPOOL_R_SETFORM *r_u, prs_struct *ps, int depth) +BOOL spoolss_io_r_setform(const char *desc, SPOOL_R_SETFORM *r_u, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "spoolss_io_r_setform"); depth++; @@ -6155,7 +6155,7 @@ BOOL spoolss_io_r_setform(char *desc, SPOOL_R_SETFORM *r_u, prs_struct *ps, int Parse a SPOOL_R_GETJOB structure. ********************************************************************/ -BOOL spoolss_io_r_getjob(char *desc, SPOOL_R_GETJOB *r_u, prs_struct *ps, int depth) +BOOL spoolss_io_r_getjob(const char *desc, SPOOL_R_GETJOB *r_u, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "spoolss_io_r_getjob"); depth++; @@ -6182,7 +6182,7 @@ BOOL spoolss_io_r_getjob(char *desc, SPOOL_R_GETJOB *r_u, prs_struct *ps, int de Parse a SPOOL_Q_GETJOB structure. ********************************************************************/ -BOOL spoolss_io_q_getjob(char *desc, SPOOL_Q_GETJOB *q_u, prs_struct *ps, int depth) +BOOL spoolss_io_q_getjob(const char *desc, SPOOL_Q_GETJOB *q_u, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, ""); depth++; @@ -6277,7 +6277,7 @@ BOOL make_spoolss_q_replyopenprinter(SPOOL_Q_REPLYOPENPRINTER *q_u, Parse a SPOOL_Q_REPLYOPENPRINTER structure. ********************************************************************/ -BOOL spoolss_io_q_replyopenprinter(char *desc, SPOOL_Q_REPLYOPENPRINTER *q_u, prs_struct *ps, int depth) +BOOL spoolss_io_q_replyopenprinter(const char *desc, SPOOL_Q_REPLYOPENPRINTER *q_u, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "spoolss_io_q_replyopenprinter"); depth++; @@ -6308,7 +6308,7 @@ BOOL spoolss_io_q_replyopenprinter(char *desc, SPOOL_Q_REPLYOPENPRINTER *q_u, pr Parse a SPOOL_R_REPLYOPENPRINTER structure. ********************************************************************/ -BOOL spoolss_io_r_replyopenprinter(char *desc, SPOOL_R_REPLYOPENPRINTER *r_u, prs_struct *ps, int depth) +BOOL spoolss_io_r_replyopenprinter(const char *desc, SPOOL_R_REPLYOPENPRINTER *r_u, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "spoolss_io_r_replyopenprinter"); depth++; @@ -6348,7 +6348,7 @@ BOOL make_spoolss_q_routerreplyprinter(SPOOL_Q_ROUTERREPLYPRINTER *q_u, POLICY_H /******************************************************************* Parse a SPOOL_Q_ROUTERREPLYPRINTER structure. ********************************************************************/ -BOOL spoolss_io_q_routerreplyprinter (char *desc, SPOOL_Q_ROUTERREPLYPRINTER *q_u, prs_struct *ps, int depth) +BOOL spoolss_io_q_routerreplyprinter (const char *desc, SPOOL_Q_ROUTERREPLYPRINTER *q_u, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "spoolss_io_q_routerreplyprinter"); @@ -6378,7 +6378,7 @@ BOOL spoolss_io_q_routerreplyprinter (char *desc, SPOOL_Q_ROUTERREPLYPRINTER *q_ /******************************************************************* Parse a SPOOL_R_ROUTERREPLYPRINTER structure. ********************************************************************/ -BOOL spoolss_io_r_routerreplyprinter (char *desc, SPOOL_R_ROUTERREPLYPRINTER *r_u, prs_struct *ps, int depth) +BOOL spoolss_io_r_routerreplyprinter (const char *desc, SPOOL_R_ROUTERREPLYPRINTER *r_u, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "spoolss_io_r_routerreplyprinter"); depth++; @@ -6410,7 +6410,7 @@ BOOL make_spoolss_q_reply_closeprinter(SPOOL_Q_REPLYCLOSEPRINTER *q_u, POLICY_HN Parse a SPOOL_Q_REPLYCLOSEPRINTER structure. ********************************************************************/ -BOOL spoolss_io_q_replycloseprinter(char *desc, SPOOL_Q_REPLYCLOSEPRINTER *q_u, prs_struct *ps, int depth) +BOOL spoolss_io_q_replycloseprinter(const char *desc, SPOOL_Q_REPLYCLOSEPRINTER *q_u, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "spoolss_io_q_replycloseprinter"); depth++; @@ -6428,7 +6428,7 @@ BOOL spoolss_io_q_replycloseprinter(char *desc, SPOOL_Q_REPLYCLOSEPRINTER *q_u, Parse a SPOOL_R_REPLYCLOSEPRINTER structure. ********************************************************************/ -BOOL spoolss_io_r_replycloseprinter(char *desc, SPOOL_R_REPLYCLOSEPRINTER *r_u, prs_struct *ps, int depth) +BOOL spoolss_io_r_replycloseprinter(const char *desc, SPOOL_R_REPLYCLOSEPRINTER *r_u, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "spoolss_io_r_replycloseprinter"); depth++; @@ -6555,7 +6555,7 @@ BOOL make_spoolss_q_reply_rrpcn(SPOOL_Q_REPLY_RRPCN *q_u, POLICY_HND *hnd, Parse a SPOOL_Q_REPLY_RRPCN structure. ********************************************************************/ -BOOL spoolss_io_q_reply_rrpcn(char *desc, SPOOL_Q_REPLY_RRPCN *q_u, prs_struct *ps, int depth) +BOOL spoolss_io_q_reply_rrpcn(const char *desc, SPOOL_Q_REPLY_RRPCN *q_u, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "spoolss_io_q_reply_rrpcn"); depth++; @@ -6592,7 +6592,7 @@ BOOL spoolss_io_q_reply_rrpcn(char *desc, SPOOL_Q_REPLY_RRPCN *q_u, prs_struct * Parse a SPOOL_R_REPLY_RRPCN structure. ********************************************************************/ -BOOL spoolss_io_r_reply_rrpcn(char *desc, SPOOL_R_REPLY_RRPCN *r_u, prs_struct *ps, int depth) +BOOL spoolss_io_r_reply_rrpcn(const char *desc, SPOOL_R_REPLY_RRPCN *r_u, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "spoolss_io_r_reply_rrpcn"); depth++; @@ -6614,7 +6614,7 @@ BOOL spoolss_io_r_reply_rrpcn(char *desc, SPOOL_R_REPLY_RRPCN *r_u, prs_struct * * called from spoolss_q_getprinterdataex (srv_spoolss.c) ********************************************************************/ -BOOL spoolss_io_q_getprinterdataex(char *desc, SPOOL_Q_GETPRINTERDATAEX *q_u, prs_struct *ps, int depth) +BOOL spoolss_io_q_getprinterdataex(const char *desc, SPOOL_Q_GETPRINTERDATAEX *q_u, prs_struct *ps, int depth) { if (q_u == NULL) return False; @@ -6647,7 +6647,7 @@ BOOL spoolss_io_q_getprinterdataex(char *desc, SPOOL_Q_GETPRINTERDATAEX *q_u, pr * called from spoolss_r_getprinterdataex (srv_spoolss.c) ********************************************************************/ -BOOL spoolss_io_r_getprinterdataex(char *desc, SPOOL_R_GETPRINTERDATAEX *r_u, prs_struct *ps, int depth) +BOOL spoolss_io_r_getprinterdataex(const char *desc, SPOOL_R_GETPRINTERDATAEX *r_u, prs_struct *ps, int depth) { if (r_u == NULL) return False; @@ -6686,7 +6686,7 @@ BOOL spoolss_io_r_getprinterdataex(char *desc, SPOOL_R_GETPRINTERDATAEX *r_u, pr * read a structure. ********************************************************************/ -BOOL spoolss_io_q_setprinterdataex(char *desc, SPOOL_Q_SETPRINTERDATAEX *q_u, prs_struct *ps, int depth) +BOOL spoolss_io_q_setprinterdataex(const char *desc, SPOOL_Q_SETPRINTERDATAEX *q_u, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "spoolss_io_q_setprinterdataex"); depth++; @@ -6742,7 +6742,7 @@ BOOL spoolss_io_q_setprinterdataex(char *desc, SPOOL_Q_SETPRINTERDATAEX *q_u, pr * write a structure. ********************************************************************/ -BOOL spoolss_io_r_setprinterdataex(char *desc, SPOOL_R_SETPRINTERDATAEX *r_u, prs_struct *ps, int depth) +BOOL spoolss_io_r_setprinterdataex(const char *desc, SPOOL_R_SETPRINTERDATAEX *r_u, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "spoolss_io_r_setprinterdataex"); depth++; @@ -6760,7 +6760,7 @@ BOOL spoolss_io_r_setprinterdataex(char *desc, SPOOL_R_SETPRINTERDATAEX *r_u, pr * read a structure. ********************************************************************/ -BOOL spoolss_io_q_enumprinterkey(char *desc, SPOOL_Q_ENUMPRINTERKEY *q_u, prs_struct *ps, int depth) +BOOL spoolss_io_q_enumprinterkey(const char *desc, SPOOL_Q_ENUMPRINTERKEY *q_u, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "spoolss_io_q_enumprinterkey"); depth++; @@ -6786,7 +6786,7 @@ BOOL spoolss_io_q_enumprinterkey(char *desc, SPOOL_Q_ENUMPRINTERKEY *q_u, prs_st * write a structure. ********************************************************************/ -BOOL spoolss_io_r_enumprinterkey(char *desc, SPOOL_R_ENUMPRINTERKEY *r_u, prs_struct *ps, int depth) +BOOL spoolss_io_r_enumprinterkey(const char *desc, SPOOL_R_ENUMPRINTERKEY *r_u, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "spoolss_io_r_enumprinterkey"); depth++; @@ -6814,7 +6814,7 @@ BOOL spoolss_io_r_enumprinterkey(char *desc, SPOOL_R_ENUMPRINTERKEY *r_u, prs_st * read a structure. ********************************************************************/ -BOOL spoolss_io_q_enumprinterdataex(char *desc, SPOOL_Q_ENUMPRINTERDATAEX *q_u, prs_struct *ps, int depth) +BOOL spoolss_io_q_enumprinterdataex(const char *desc, SPOOL_Q_ENUMPRINTERDATAEX *q_u, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "spoolss_io_q_enumprinterdataex"); depth++; @@ -6839,7 +6839,7 @@ BOOL spoolss_io_q_enumprinterdataex(char *desc, SPOOL_Q_ENUMPRINTERDATAEX *q_u, /******************************************************************* ********************************************************************/ -static BOOL spoolss_io_printer_enum_values_ctr(char *desc, prs_struct *ps, +static BOOL spoolss_io_printer_enum_values_ctr(const char *desc, prs_struct *ps, PRINTER_ENUM_VALUES_CTR *ctr, int depth) { int i; @@ -6922,7 +6922,7 @@ static BOOL spoolss_io_printer_enum_values_ctr(char *desc, prs_struct *ps, * write a structure. ********************************************************************/ -BOOL spoolss_io_r_enumprinterdataex(char *desc, SPOOL_R_ENUMPRINTERDATAEX *r_u, prs_struct *ps, int depth) +BOOL spoolss_io_r_enumprinterdataex(const char *desc, SPOOL_R_ENUMPRINTERDATAEX *r_u, prs_struct *ps, int depth) { uint32 data_offset, end_offset; prs_debug(ps, depth, desc, "spoolss_io_r_enumprinterdataex"); @@ -6999,7 +6999,7 @@ BOOL make_spoolss_q_getprintprocessordirectory(SPOOL_Q_GETPRINTPROCESSORDIRECTOR return True; } -BOOL spoolss_io_q_getprintprocessordirectory(char *desc, SPOOL_Q_GETPRINTPROCESSORDIRECTORY *q_u, prs_struct *ps, int depth) +BOOL spoolss_io_q_getprintprocessordirectory(const char *desc, SPOOL_Q_GETPRINTPROCESSORDIRECTORY *q_u, prs_struct *ps, int depth) { uint32 ptr; @@ -7051,7 +7051,7 @@ BOOL spoolss_io_q_getprintprocessordirectory(char *desc, SPOOL_Q_GETPRINTPROCESS * write a structure. ********************************************************************/ -BOOL spoolss_io_r_getprintprocessordirectory(char *desc, SPOOL_R_GETPRINTPROCESSORDIRECTORY *r_u, prs_struct *ps, int depth) +BOOL spoolss_io_r_getprintprocessordirectory(const char *desc, SPOOL_R_GETPRINTPROCESSORDIRECTORY *r_u, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "spoolss_io_r_getprintprocessordirectory"); depth++; @@ -7074,7 +7074,7 @@ BOOL spoolss_io_r_getprintprocessordirectory(char *desc, SPOOL_R_GETPRINTPROCESS return True; } -BOOL smb_io_printprocessordirectory_1(char *desc, NEW_BUFFER *buffer, PRINTPROCESSOR_DIRECTORY_1 *info, int depth) +BOOL smb_io_printprocessordirectory_1(const char *desc, NEW_BUFFER *buffer, PRINTPROCESSOR_DIRECTORY_1 *info, int depth) { prs_struct *ps=&buffer->prs; diff --git a/source/rpc_parse/parse_srv.c b/source/rpc_parse/parse_srv.c index 3a1c13c7ea0..ea30438fdb3 100644 --- a/source/rpc_parse/parse_srv.c +++ b/source/rpc_parse/parse_srv.c @@ -28,7 +28,7 @@ Inits a SH_INFO_1_STR structure ********************************************************************/ -void init_srv_share_info1_str(SH_INFO_1_STR *sh1, char *net_name, char *remark) +void init_srv_share_info1_str(SH_INFO_1_STR *sh1, const char *net_name, const char *remark) { DEBUG(5,("init_srv_share_info1_str\n")); @@ -40,7 +40,7 @@ void init_srv_share_info1_str(SH_INFO_1_STR *sh1, char *net_name, char *remark) Reads or writes a structure. ********************************************************************/ -static BOOL srv_io_share_info1_str(char *desc, SH_INFO_1_STR *sh1, prs_struct *ps, int depth) +static BOOL srv_io_share_info1_str(const char *desc, SH_INFO_1_STR *sh1, prs_struct *ps, int depth) { if (sh1 == NULL) return False; @@ -65,7 +65,7 @@ static BOOL srv_io_share_info1_str(char *desc, SH_INFO_1_STR *sh1, prs_struct *p makes a SH_INFO_1 structure ********************************************************************/ -void init_srv_share_info1(SH_INFO_1 *sh1, char *net_name, uint32 type, char *remark) +void init_srv_share_info1(SH_INFO_1 *sh1, const char *net_name, uint32 type, const char *remark) { DEBUG(5,("init_srv_share_info1: %s %8x %s\n", net_name, type, remark)); @@ -78,7 +78,7 @@ void init_srv_share_info1(SH_INFO_1 *sh1, char *net_name, uint32 type, char *rem Reads or writes a structure. ********************************************************************/ -static BOOL srv_io_share_info1(char *desc, SH_INFO_1 *sh1, prs_struct *ps, int depth) +static BOOL srv_io_share_info1(const char *desc, SH_INFO_1 *sh1, prs_struct *ps, int depth) { if (sh1 == NULL) return False; @@ -104,8 +104,8 @@ static BOOL srv_io_share_info1(char *desc, SH_INFO_1 *sh1, prs_struct *ps, int d ********************************************************************/ void init_srv_share_info2_str(SH_INFO_2_STR *sh2, - char *net_name, char *remark, - char *path, char *passwd) + const char *net_name, const char *remark, + const char *path, const char *passwd) { DEBUG(5,("init_srv_share_info2_str\n")); @@ -119,7 +119,7 @@ void init_srv_share_info2_str(SH_INFO_2_STR *sh2, Reads or writes a structure. ********************************************************************/ -static BOOL srv_io_share_info2_str(char *desc, SH_INFO_2 *sh, SH_INFO_2_STR *sh2, prs_struct *ps, int depth) +static BOOL srv_io_share_info2_str(const char *desc, SH_INFO_2 *sh, SH_INFO_2_STR *sh2, prs_struct *ps, int depth) { if (sh2 == NULL) return False; @@ -156,9 +156,9 @@ static BOOL srv_io_share_info2_str(char *desc, SH_INFO_2 *sh, SH_INFO_2_STR *sh2 ********************************************************************/ void init_srv_share_info2(SH_INFO_2 *sh2, - char *net_name, uint32 type, char *remark, + const char *net_name, uint32 type, const char *remark, uint32 perms, uint32 max_uses, uint32 num_uses, - char *path, char *passwd) + const char *path, const char *passwd) { DEBUG(5,("init_srv_share_info2: %s %8x %s\n", net_name, type, remark)); @@ -177,7 +177,7 @@ void init_srv_share_info2(SH_INFO_2 *sh2, Reads or writes a structure. ********************************************************************/ -static BOOL srv_io_share_info2(char *desc, SH_INFO_2 *sh2, prs_struct *ps, int depth) +static BOOL srv_io_share_info2(const char *desc, SH_INFO_2 *sh2, prs_struct *ps, int depth) { if (sh2 == NULL) return False; @@ -212,7 +212,7 @@ static BOOL srv_io_share_info2(char *desc, SH_INFO_2 *sh2, prs_struct *ps, int d Inits a SH_INFO_2 structure *******************************************************************/ -void init_srv_share_info501(SH_INFO_501 *sh501, char *net_name, uint32 type, char *remark, uint32 csc_policy) +void init_srv_share_info501(SH_INFO_501 *sh501, const char *net_name, uint32 type, const char *remark, uint32 csc_policy) { DEBUG(5,("init_srv_share_info501: %s %8x %s %08x\n", net_name, type, remark, csc_policy)); @@ -229,7 +229,7 @@ void init_srv_share_info501(SH_INFO_501 *sh501, char *net_name, uint32 type, cha Reads of writes a structure. *******************************************************************/ -static BOOL srv_io_share_info501(char *desc, SH_INFO_501 *sh501, prs_struct *ps, int depth) +static BOOL srv_io_share_info501(const char *desc, SH_INFO_501 *sh501, prs_struct *ps, int depth) { if (sh501 == NULL) return False; @@ -256,7 +256,7 @@ static BOOL srv_io_share_info501(char *desc, SH_INFO_501 *sh501, prs_struct *ps, Inits a SH_INFO_501_STR structure ********************************************************************/ -void init_srv_share_info501_str(SH_INFO_501_STR *sh501, char *net_name, char *remark) +void init_srv_share_info501_str(SH_INFO_501_STR *sh501, const char *net_name, const char *remark) { DEBUG(5,("init_srv_share_info501_str\n")); @@ -268,7 +268,7 @@ void init_srv_share_info501_str(SH_INFO_501_STR *sh501, char *net_name, char *re Reads or writes a structure. ********************************************************************/ -static BOOL srv_io_share_info501_str(char *desc, SH_INFO_501_STR *sh501, prs_struct *ps, int depth) +static BOOL srv_io_share_info501_str(const char *desc, SH_INFO_501_STR *sh501, prs_struct *ps, int depth) { if (sh501 == NULL) return False; @@ -294,9 +294,9 @@ static BOOL srv_io_share_info501_str(char *desc, SH_INFO_501_STR *sh501, prs_str ********************************************************************/ void init_srv_share_info502(SH_INFO_502 *sh502, - char *net_name, uint32 type, char *remark, + const char *net_name, uint32 type, const char *remark, uint32 perms, uint32 max_uses, uint32 num_uses, - char *path, char *passwd, SEC_DESC *psd, size_t sd_size) + const char *path, const char *passwd, SEC_DESC *psd, size_t sd_size) { DEBUG(5,("init_srv_share_info502: %s %8x %s\n", net_name, type, remark)); @@ -319,7 +319,7 @@ void init_srv_share_info502(SH_INFO_502 *sh502, Reads or writes a structure. ********************************************************************/ -static BOOL srv_io_share_info502(char *desc, SH_INFO_502 *sh502, prs_struct *ps, int depth) +static BOOL srv_io_share_info502(const char *desc, SH_INFO_502 *sh502, prs_struct *ps, int depth) { if (sh502 == NULL) return False; @@ -360,8 +360,8 @@ static BOOL srv_io_share_info502(char *desc, SH_INFO_502 *sh502, prs_struct *ps, void init_srv_share_info502_str(SH_INFO_502_STR *sh502str, SH_INFO_502 *ptrs, - char *net_name, char *remark, - char *path, char *passwd, SEC_DESC *psd, size_t sd_size) + const char *net_name, const char *remark, + const char *path, const char *passwd, SEC_DESC *psd, size_t sd_size) { DEBUG(5,("init_srv_share_info502_str\n")); @@ -385,7 +385,7 @@ void init_srv_share_info502_str(SH_INFO_502_STR *sh502str, Reads or writes a structure. ********************************************************************/ -static BOOL srv_io_share_info502_str(char *desc, SH_INFO_502_STR *sh502, prs_struct *ps, int depth) +static BOOL srv_io_share_info502_str(const char *desc, SH_INFO_502_STR *sh502, prs_struct *ps, int depth) { if (sh502 == NULL) return False; @@ -442,7 +442,7 @@ static BOOL srv_io_share_info502_str(char *desc, SH_INFO_502_STR *sh502, prs_str Reads or writes a structure. ********************************************************************/ -static BOOL srv_io_share_info1005(char* desc, SRV_SHARE_INFO_1005* sh1005, +static BOOL srv_io_share_info1005(const char* desc, SRV_SHARE_INFO_1005* sh1005, prs_struct* ps, int depth) { if(sh1005 == NULL) @@ -464,7 +464,7 @@ static BOOL srv_io_share_info1005(char* desc, SRV_SHARE_INFO_1005* sh1005, Reads or writes a structure. ********************************************************************/ -static BOOL srv_io_share_info1501(char* desc, SRV_SHARE_INFO_1501* sh1501, +static BOOL srv_io_share_info1501(const char* desc, SRV_SHARE_INFO_1501* sh1501, prs_struct* ps, int depth) { if(sh1501 == NULL) @@ -486,7 +486,7 @@ static BOOL srv_io_share_info1501(char* desc, SRV_SHARE_INFO_1501* sh1501, Reads or writes a structure. ********************************************************************/ -static BOOL srv_io_srv_share_ctr(char *desc, SRV_SHARE_INFO_CTR *ctr, prs_struct *ps, int depth) +static BOOL srv_io_srv_share_ctr(const char *desc, SRV_SHARE_INFO_CTR *ctr, prs_struct *ps, int depth) { if (ctr == NULL) return False; @@ -650,7 +650,7 @@ static BOOL srv_io_srv_share_ctr(char *desc, SRV_SHARE_INFO_CTR *ctr, prs_struct ********************************************************************/ void init_srv_q_net_share_enum(SRV_Q_NET_SHARE_ENUM *q_n, - char *srv_name, uint32 info_level, + const char *srv_name, uint32 info_level, uint32 preferred_len, ENUM_HND *hnd) { @@ -669,7 +669,7 @@ void init_srv_q_net_share_enum(SRV_Q_NET_SHARE_ENUM *q_n, Reads or writes a structure. ********************************************************************/ -BOOL srv_io_q_net_share_enum(char *desc, SRV_Q_NET_SHARE_ENUM *q_n, prs_struct *ps, int depth) +BOOL srv_io_q_net_share_enum(const char *desc, SRV_Q_NET_SHARE_ENUM *q_n, prs_struct *ps, int depth) { if (q_n == NULL) return False; @@ -704,7 +704,7 @@ BOOL srv_io_q_net_share_enum(char *desc, SRV_Q_NET_SHARE_ENUM *q_n, prs_struct * Reads or writes a structure. ********************************************************************/ -BOOL srv_io_r_net_share_enum(char *desc, SRV_R_NET_SHARE_ENUM *r_n, prs_struct *ps, int depth) +BOOL srv_io_r_net_share_enum(const char *desc, SRV_R_NET_SHARE_ENUM *r_n, prs_struct *ps, int depth) { if (r_n == NULL) return False; @@ -732,7 +732,7 @@ BOOL srv_io_r_net_share_enum(char *desc, SRV_R_NET_SHARE_ENUM *r_n, prs_struct * Reads or writes a structure. ********************************************************************/ -BOOL srv_io_q_net_share_get_info(char *desc, SRV_Q_NET_SHARE_GET_INFO *q_n, prs_struct *ps, int depth) +BOOL srv_io_q_net_share_get_info(const char *desc, SRV_Q_NET_SHARE_GET_INFO *q_n, prs_struct *ps, int depth) { if (q_n == NULL) return False; @@ -764,7 +764,7 @@ BOOL srv_io_q_net_share_get_info(char *desc, SRV_Q_NET_SHARE_GET_INFO *q_n, prs_ Reads or writes a structure. ********************************************************************/ -static BOOL srv_io_srv_share_info(char *desc, prs_struct *ps, int depth, SRV_SHARE_INFO *r_n) +static BOOL srv_io_srv_share_info(const char *desc, prs_struct *ps, int depth, SRV_SHARE_INFO *r_n) { if (r_n == NULL) return False; @@ -837,7 +837,7 @@ static BOOL srv_io_srv_share_info(char *desc, prs_struct *ps, int depth, SRV_SHA Reads or writes a structure. ********************************************************************/ -BOOL srv_io_r_net_share_get_info(char *desc, SRV_R_NET_SHARE_GET_INFO *r_n, prs_struct *ps, int depth) +BOOL srv_io_r_net_share_get_info(const char *desc, SRV_R_NET_SHARE_GET_INFO *r_n, prs_struct *ps, int depth) { if (r_n == NULL) return False; @@ -864,7 +864,7 @@ BOOL srv_io_r_net_share_get_info(char *desc, SRV_R_NET_SHARE_GET_INFO *r_n, prs_ Reads or writes a structure. ********************************************************************/ -BOOL srv_io_q_net_share_set_info(char *desc, SRV_Q_NET_SHARE_SET_INFO *q_n, prs_struct *ps, int depth) +BOOL srv_io_q_net_share_set_info(const char *desc, SRV_Q_NET_SHARE_SET_INFO *q_n, prs_struct *ps, int depth) { if (q_n == NULL) return False; @@ -902,7 +902,7 @@ BOOL srv_io_q_net_share_set_info(char *desc, SRV_Q_NET_SHARE_SET_INFO *q_n, prs_ Reads or writes a structure. ********************************************************************/ -BOOL srv_io_r_net_share_set_info(char *desc, SRV_R_NET_SHARE_SET_INFO *q_n, prs_struct *ps, int depth) +BOOL srv_io_r_net_share_set_info(const char *desc, SRV_R_NET_SHARE_SET_INFO *q_n, prs_struct *ps, int depth) { if (q_n == NULL) return False; @@ -925,7 +925,7 @@ BOOL srv_io_r_net_share_set_info(char *desc, SRV_R_NET_SHARE_SET_INFO *q_n, prs_ Reads or writes a structure. ********************************************************************/ -BOOL srv_io_q_net_share_add(char *desc, SRV_Q_NET_SHARE_ADD *q_n, prs_struct *ps, int depth) +BOOL srv_io_q_net_share_add(const char *desc, SRV_Q_NET_SHARE_ADD *q_n, prs_struct *ps, int depth) { if (q_n == NULL) return False; @@ -960,7 +960,7 @@ BOOL srv_io_q_net_share_add(char *desc, SRV_Q_NET_SHARE_ADD *q_n, prs_struct *ps Reads or writes a structure. ********************************************************************/ -BOOL srv_io_r_net_share_add(char *desc, SRV_R_NET_SHARE_ADD *q_n, prs_struct *ps, int depth) +BOOL srv_io_r_net_share_add(const char *desc, SRV_R_NET_SHARE_ADD *q_n, prs_struct *ps, int depth) { if (q_n == NULL) return False; @@ -983,7 +983,7 @@ BOOL srv_io_r_net_share_add(char *desc, SRV_R_NET_SHARE_ADD *q_n, prs_struct *ps Reads or writes a structure. ********************************************************************/ -BOOL srv_io_q_net_share_del(char *desc, SRV_Q_NET_SHARE_DEL *q_n, prs_struct *ps, int depth) +BOOL srv_io_q_net_share_del(const char *desc, SRV_Q_NET_SHARE_DEL *q_n, prs_struct *ps, int depth) { if (q_n == NULL) return False; @@ -1009,7 +1009,7 @@ BOOL srv_io_q_net_share_del(char *desc, SRV_Q_NET_SHARE_DEL *q_n, prs_struct *ps Reads or writes a structure. ********************************************************************/ -BOOL srv_io_r_net_share_del(char *desc, SRV_R_NET_SHARE_DEL *q_n, prs_struct *ps, int depth) +BOOL srv_io_r_net_share_del(const char *desc, SRV_R_NET_SHARE_DEL *q_n, prs_struct *ps, int depth) { if (q_n == NULL) return False; @@ -1030,7 +1030,7 @@ BOOL srv_io_r_net_share_del(char *desc, SRV_R_NET_SHARE_DEL *q_n, prs_struct *ps Inits a SESS_INFO_0_STR structure ********************************************************************/ -void init_srv_sess_info0_str(SESS_INFO_0_STR *ss0, char *name) +void init_srv_sess_info0_str(SESS_INFO_0_STR *ss0, const char *name) { DEBUG(5,("init_srv_sess_info0_str\n")); @@ -1041,7 +1041,7 @@ void init_srv_sess_info0_str(SESS_INFO_0_STR *ss0, char *name) Reads or writes a structure. ********************************************************************/ -static BOOL srv_io_sess_info0_str(char *desc, SESS_INFO_0_STR *ss0, prs_struct *ps, int depth) +static BOOL srv_io_sess_info0_str(const char *desc, SESS_INFO_0_STR *ss0, prs_struct *ps, int depth) { if (ss0 == NULL) return False; @@ -1062,7 +1062,7 @@ static BOOL srv_io_sess_info0_str(char *desc, SESS_INFO_0_STR *ss0, prs_struct Inits a SESS_INFO_0 structure ********************************************************************/ -void init_srv_sess_info0(SESS_INFO_0 *ss0, char *name) +void init_srv_sess_info0(SESS_INFO_0 *ss0, const char *name) { DEBUG(5,("init_srv_sess_info0: %s\n", name)); @@ -1073,7 +1073,7 @@ void init_srv_sess_info0(SESS_INFO_0 *ss0, char *name) Reads or writes a structure. ********************************************************************/ -static BOOL srv_io_sess_info0(char *desc, SESS_INFO_0 *ss0, prs_struct *ps, int depth) +static BOOL srv_io_sess_info0(const char *desc, SESS_INFO_0 *ss0, prs_struct *ps, int depth) { if (ss0 == NULL) return False; @@ -1094,7 +1094,7 @@ static BOOL srv_io_sess_info0(char *desc, SESS_INFO_0 *ss0, prs_struct *ps, int Reads or writes a structure. ********************************************************************/ -static BOOL srv_io_srv_sess_info_0(char *desc, SRV_SESS_INFO_0 *ss0, prs_struct *ps, int depth) +static BOOL srv_io_srv_sess_info_0(const char *desc, SRV_SESS_INFO_0 *ss0, prs_struct *ps, int depth) { if (ss0 == NULL) return False; @@ -1144,7 +1144,7 @@ static BOOL srv_io_srv_sess_info_0(char *desc, SRV_SESS_INFO_0 *ss0, prs_struct Inits a SESS_INFO_1_STR structure ********************************************************************/ -void init_srv_sess_info1_str(SESS_INFO_1_STR *ss1, char *name, char *user) +void init_srv_sess_info1_str(SESS_INFO_1_STR *ss1, const char *name, const char *user) { DEBUG(5,("init_srv_sess_info1_str\n")); @@ -1156,7 +1156,7 @@ void init_srv_sess_info1_str(SESS_INFO_1_STR *ss1, char *name, char *user) Reads or writes a structure. ********************************************************************/ -static BOOL srv_io_sess_info1_str(char *desc, SESS_INFO_1_STR *ss1, prs_struct *ps, int depth) +static BOOL srv_io_sess_info1_str(const char *desc, SESS_INFO_1_STR *ss1, prs_struct *ps, int depth) { if (ss1 == NULL) return False; @@ -1180,7 +1180,7 @@ static BOOL srv_io_sess_info1_str(char *desc, SESS_INFO_1_STR *ss1, prs_struct * ********************************************************************/ void init_srv_sess_info1(SESS_INFO_1 *ss1, - char *name, char *user, + const char *name, const char *user, uint32 num_opens, uint32 open_time, uint32 idle_time, uint32 user_flags) { @@ -1199,7 +1199,7 @@ void init_srv_sess_info1(SESS_INFO_1 *ss1, reads or writes a structure. ********************************************************************/ -static BOOL srv_io_sess_info1(char *desc, SESS_INFO_1 *ss1, prs_struct *ps, int depth) +static BOOL srv_io_sess_info1(const char *desc, SESS_INFO_1 *ss1, prs_struct *ps, int depth) { if (ss1 == NULL) return False; @@ -1231,7 +1231,7 @@ static BOOL srv_io_sess_info1(char *desc, SESS_INFO_1 *ss1, prs_struct *ps, int Reads or writes a structure. ********************************************************************/ -static BOOL srv_io_srv_sess_info_1(char *desc, SRV_SESS_INFO_1 *ss1, prs_struct *ps, int depth) +static BOOL srv_io_srv_sess_info_1(const char *desc, SRV_SESS_INFO_1 *ss1, prs_struct *ps, int depth) { if (ss1 == NULL) return False; @@ -1281,7 +1281,7 @@ static BOOL srv_io_srv_sess_info_1(char *desc, SRV_SESS_INFO_1 *ss1, prs_struct Reads or writes a structure. ********************************************************************/ -static BOOL srv_io_srv_sess_ctr(char *desc, SRV_SESS_INFO_CTR **pp_ctr, prs_struct *ps, int depth) +static BOOL srv_io_srv_sess_ctr(const char *desc, SRV_SESS_INFO_CTR **pp_ctr, prs_struct *ps, int depth) { SRV_SESS_INFO_CTR *ctr = *pp_ctr; @@ -1330,7 +1330,7 @@ static BOOL srv_io_srv_sess_ctr(char *desc, SRV_SESS_INFO_CTR **pp_ctr, prs_stru ********************************************************************/ void init_srv_q_net_sess_enum(SRV_Q_NET_SESS_ENUM *q_n, - char *srv_name, char *qual_name, + const char *srv_name, const char *qual_name, uint32 sess_level, SRV_SESS_INFO_CTR *ctr, uint32 preferred_len, ENUM_HND *hnd) @@ -1352,7 +1352,7 @@ void init_srv_q_net_sess_enum(SRV_Q_NET_SESS_ENUM *q_n, Reads or writes a structure. ********************************************************************/ -BOOL srv_io_q_net_sess_enum(char *desc, SRV_Q_NET_SESS_ENUM *q_n, prs_struct *ps, int depth) +BOOL srv_io_q_net_sess_enum(const char *desc, SRV_Q_NET_SESS_ENUM *q_n, prs_struct *ps, int depth) { if (q_n == NULL) return False; @@ -1400,7 +1400,7 @@ BOOL srv_io_q_net_sess_enum(char *desc, SRV_Q_NET_SESS_ENUM *q_n, prs_struct *ps Reads or writes a structure. ********************************************************************/ -BOOL srv_io_r_net_sess_enum(char *desc, SRV_R_NET_SESS_ENUM *r_n, prs_struct *ps, int depth) +BOOL srv_io_r_net_sess_enum(const char *desc, SRV_R_NET_SESS_ENUM *r_n, prs_struct *ps, int depth) { if (r_n == NULL) return False; @@ -1444,7 +1444,7 @@ void init_srv_conn_info0(CONN_INFO_0 *ss0, uint32 id) Reads or writes a structure. ********************************************************************/ -static BOOL srv_io_conn_info0(char *desc, CONN_INFO_0 *ss0, prs_struct *ps, int depth) +static BOOL srv_io_conn_info0(const char *desc, CONN_INFO_0 *ss0, prs_struct *ps, int depth) { if (ss0 == NULL) return False; @@ -1465,7 +1465,7 @@ static BOOL srv_io_conn_info0(char *desc, CONN_INFO_0 *ss0, prs_struct *ps, int Reads or writes a structure. ********************************************************************/ -static BOOL srv_io_srv_conn_info_0(char *desc, SRV_CONN_INFO_0 *ss0, prs_struct *ps, int depth) +static BOOL srv_io_srv_conn_info_0(const char *desc, SRV_CONN_INFO_0 *ss0, prs_struct *ps, int depth) { if (ss0 == NULL) return False; @@ -1508,7 +1508,7 @@ static BOOL srv_io_srv_conn_info_0(char *desc, SRV_CONN_INFO_0 *ss0, prs_struct Inits a CONN_INFO_1_STR structure ********************************************************************/ -void init_srv_conn_info1_str(CONN_INFO_1_STR *ss1, char *usr_name, char *net_name) +void init_srv_conn_info1_str(CONN_INFO_1_STR *ss1, const char *usr_name, const char *net_name) { DEBUG(5,("init_srv_conn_info1_str\n")); @@ -1520,7 +1520,7 @@ void init_srv_conn_info1_str(CONN_INFO_1_STR *ss1, char *usr_name, char *net_nam Reads or writes a structure. ********************************************************************/ -static BOOL srv_io_conn_info1_str(char *desc, CONN_INFO_1_STR *ss1, prs_struct *ps, int depth) +static BOOL srv_io_conn_info1_str(const char *desc, CONN_INFO_1_STR *ss1, prs_struct *ps, int depth) { if (ss1 == NULL) return False; @@ -1546,7 +1546,7 @@ static BOOL srv_io_conn_info1_str(char *desc, CONN_INFO_1_STR *ss1, prs_struct * void init_srv_conn_info1(CONN_INFO_1 *ss1, uint32 id, uint32 type, uint32 num_opens, uint32 num_users, uint32 open_time, - char *usr_name, char *net_name) + const char *usr_name, const char *net_name) { DEBUG(5,("init_srv_conn_info1: %s %s\n", usr_name, net_name)); @@ -1564,7 +1564,7 @@ void init_srv_conn_info1(CONN_INFO_1 *ss1, Reads or writes a structure. ********************************************************************/ -static BOOL srv_io_conn_info1(char *desc, CONN_INFO_1 *ss1, prs_struct *ps, int depth) +static BOOL srv_io_conn_info1(const char *desc, CONN_INFO_1 *ss1, prs_struct *ps, int depth) { if (ss1 == NULL) return False; @@ -1598,7 +1598,7 @@ static BOOL srv_io_conn_info1(char *desc, CONN_INFO_1 *ss1, prs_struct *ps, int Reads or writes a structure. ********************************************************************/ -static BOOL srv_io_srv_conn_info_1(char *desc, SRV_CONN_INFO_1 *ss1, prs_struct *ps, int depth) +static BOOL srv_io_srv_conn_info_1(const char *desc, SRV_CONN_INFO_1 *ss1, prs_struct *ps, int depth) { if (ss1 == NULL) return False; @@ -1646,7 +1646,7 @@ static BOOL srv_io_srv_conn_info_1(char *desc, SRV_CONN_INFO_1 *ss1, prs_struct Reads or writes a structure. ********************************************************************/ -static BOOL srv_io_srv_conn_ctr(char *desc, SRV_CONN_INFO_CTR **pp_ctr, prs_struct *ps, int depth) +static BOOL srv_io_srv_conn_ctr(const char *desc, SRV_CONN_INFO_CTR **pp_ctr, prs_struct *ps, int depth) { SRV_CONN_INFO_CTR *ctr = *pp_ctr; @@ -1695,7 +1695,7 @@ static BOOL srv_io_srv_conn_ctr(char *desc, SRV_CONN_INFO_CTR **pp_ctr, prs_stru ********************************************************************/ void init_srv_q_net_conn_enum(SRV_Q_NET_CONN_ENUM *q_n, - char *srv_name, char *qual_name, + const char *srv_name, const char *qual_name, uint32 conn_level, SRV_CONN_INFO_CTR *ctr, uint32 preferred_len, ENUM_HND *hnd) @@ -1717,7 +1717,7 @@ void init_srv_q_net_conn_enum(SRV_Q_NET_CONN_ENUM *q_n, Reads or writes a structure. ********************************************************************/ -BOOL srv_io_q_net_conn_enum(char *desc, SRV_Q_NET_CONN_ENUM *q_n, prs_struct *ps, int depth) +BOOL srv_io_q_net_conn_enum(const char *desc, SRV_Q_NET_CONN_ENUM *q_n, prs_struct *ps, int depth) { if (q_n == NULL) return False; @@ -1765,7 +1765,7 @@ BOOL srv_io_q_net_conn_enum(char *desc, SRV_Q_NET_CONN_ENUM *q_n, prs_struct *ps Reads or writes a structure. ********************************************************************/ -BOOL srv_io_r_net_conn_enum(char *desc, SRV_R_NET_CONN_ENUM *r_n, prs_struct *ps, int depth) +BOOL srv_io_r_net_conn_enum(const char *desc, SRV_R_NET_CONN_ENUM *r_n, prs_struct *ps, int depth) { if (r_n == NULL) return False; @@ -1798,7 +1798,7 @@ BOOL srv_io_r_net_conn_enum(char *desc, SRV_R_NET_CONN_ENUM *r_n, prs_struct *p Inits a FILE_INFO_3_STR structure ********************************************************************/ -void init_srv_file_info3_str(FILE_INFO_3_STR *fi3, char *user_name, char *path_name) +void init_srv_file_info3_str(FILE_INFO_3_STR *fi3, const char *user_name, const char *path_name) { DEBUG(5,("init_srv_file_info3_str\n")); @@ -1810,7 +1810,7 @@ void init_srv_file_info3_str(FILE_INFO_3_STR *fi3, char *user_name, char *path_n Reads or writes a structure. ********************************************************************/ -static BOOL srv_io_file_info3_str(char *desc, FILE_INFO_3_STR *sh1, prs_struct *ps, int depth) +static BOOL srv_io_file_info3_str(const char *desc, FILE_INFO_3_STR *sh1, prs_struct *ps, int depth) { if (sh1 == NULL) return False; @@ -1835,7 +1835,7 @@ static BOOL srv_io_file_info3_str(char *desc, FILE_INFO_3_STR *sh1, prs_struct * void init_srv_file_info3(FILE_INFO_3 *fl3, uint32 id, uint32 perms, uint32 num_locks, - char *path_name, char *user_name) + const char *path_name, const char *user_name) { DEBUG(5,("init_srv_file_info3: %s %s\n", path_name, user_name)); @@ -1851,7 +1851,7 @@ void init_srv_file_info3(FILE_INFO_3 *fl3, Reads or writes a structure. ********************************************************************/ -static BOOL srv_io_file_info3(char *desc, FILE_INFO_3 *fl3, prs_struct *ps, int depth) +static BOOL srv_io_file_info3(const char *desc, FILE_INFO_3 *fl3, prs_struct *ps, int depth) { if (fl3 == NULL) return False; @@ -1880,7 +1880,7 @@ static BOOL srv_io_file_info3(char *desc, FILE_INFO_3 *fl3, prs_struct *ps, int Reads or writes a structure. ********************************************************************/ -static BOOL srv_io_srv_file_info_3(char *desc, SRV_FILE_INFO_3 *fl3, prs_struct *ps, int depth) +static BOOL srv_io_srv_file_info_3(const char *desc, SRV_FILE_INFO_3 *fl3, prs_struct *ps, int depth) { if (fl3 == NULL) return False; @@ -1928,7 +1928,7 @@ static BOOL srv_io_srv_file_info_3(char *desc, SRV_FILE_INFO_3 *fl3, prs_struct Reads or writes a structure. ********************************************************************/ -static BOOL srv_io_srv_file_ctr(char *desc, SRV_FILE_INFO_CTR **pp_ctr, prs_struct *ps, int depth) +static BOOL srv_io_srv_file_ctr(const char *desc, SRV_FILE_INFO_CTR **pp_ctr, prs_struct *ps, int depth) { SRV_FILE_INFO_CTR *ctr = *pp_ctr; @@ -1973,7 +1973,7 @@ static BOOL srv_io_srv_file_ctr(char *desc, SRV_FILE_INFO_CTR **pp_ctr, prs_stru ********************************************************************/ void init_srv_q_net_file_enum(SRV_Q_NET_FILE_ENUM *q_n, - char *srv_name, char *qual_name, + const char *srv_name, const char *qual_name, uint32 file_level, SRV_FILE_INFO_CTR *ctr, uint32 preferred_len, ENUM_HND *hnd) @@ -1995,7 +1995,7 @@ void init_srv_q_net_file_enum(SRV_Q_NET_FILE_ENUM *q_n, Reads or writes a structure. ********************************************************************/ -BOOL srv_io_q_net_file_enum(char *desc, SRV_Q_NET_FILE_ENUM *q_n, prs_struct *ps, int depth) +BOOL srv_io_q_net_file_enum(const char *desc, SRV_Q_NET_FILE_ENUM *q_n, prs_struct *ps, int depth) { if (q_n == NULL) return False; @@ -2043,7 +2043,7 @@ BOOL srv_io_q_net_file_enum(char *desc, SRV_Q_NET_FILE_ENUM *q_n, prs_struct *ps Reads or writes a structure. ********************************************************************/ -BOOL srv_io_r_net_file_enum(char *desc, SRV_R_NET_FILE_ENUM *r_n, prs_struct *ps, int depth) +BOOL srv_io_r_net_file_enum(const char *desc, SRV_R_NET_FILE_ENUM *r_n, prs_struct *ps, int depth) { if (r_n == NULL) return False; @@ -2076,7 +2076,7 @@ BOOL srv_io_r_net_file_enum(char *desc, SRV_R_NET_FILE_ENUM *r_n, prs_struct *ps Inits a SRV_INFO_100 structure. ********************************************************************/ -void init_srv_info_100(SRV_INFO_100 *sv100, uint32 platform_id, char *name) +void init_srv_info_100(SRV_INFO_100 *sv100, uint32 platform_id, const char *name) { DEBUG(5,("init_srv_info_100\n")); @@ -2088,7 +2088,7 @@ void init_srv_info_100(SRV_INFO_100 *sv100, uint32 platform_id, char *name) Reads or writes a SRV_INFO_101 structure. ********************************************************************/ -static BOOL srv_io_info_100(char *desc, SRV_INFO_100 *sv100, prs_struct *ps, int depth) +static BOOL srv_io_info_100(const char *desc, SRV_INFO_100 *sv100, prs_struct *ps, int depth) { if (sv100 == NULL) return False; @@ -2115,9 +2115,9 @@ static BOOL srv_io_info_100(char *desc, SRV_INFO_100 *sv100, prs_struct *ps, int Inits a SRV_INFO_101 structure. ********************************************************************/ -void init_srv_info_101(SRV_INFO_101 *sv101, uint32 platform_id, char *name, +void init_srv_info_101(SRV_INFO_101 *sv101, uint32 platform_id, const char *name, uint32 ver_major, uint32 ver_minor, - uint32 srv_type, char *comment) + uint32 srv_type, const char *comment) { DEBUG(5,("init_srv_info_101\n")); @@ -2133,7 +2133,7 @@ void init_srv_info_101(SRV_INFO_101 *sv101, uint32 platform_id, char *name, Reads or writes a SRV_INFO_101 structure. ********************************************************************/ -static BOOL srv_io_info_101(char *desc, SRV_INFO_101 *sv101, prs_struct *ps, int depth) +static BOOL srv_io_info_101(const char *desc, SRV_INFO_101 *sv101, prs_struct *ps, int depth) { if (sv101 == NULL) return False; @@ -2172,11 +2172,11 @@ static BOOL srv_io_info_101(char *desc, SRV_INFO_101 *sv101, prs_struct *ps, int Inits a SRV_INFO_102 structure. ********************************************************************/ -void init_srv_info_102(SRV_INFO_102 *sv102, uint32 platform_id, char *name, - char *comment, uint32 ver_major, uint32 ver_minor, +void init_srv_info_102(SRV_INFO_102 *sv102, uint32 platform_id, const char *name, + const char *comment, uint32 ver_major, uint32 ver_minor, uint32 srv_type, uint32 users, uint32 disc, uint32 hidden, uint32 announce, uint32 ann_delta, uint32 licenses, - char *usr_path) + const char *usr_path) { DEBUG(5,("init_srv_info_102\n")); @@ -2203,7 +2203,7 @@ void init_srv_info_102(SRV_INFO_102 *sv102, uint32 platform_id, char *name, Reads or writes a SRV_INFO_102 structure. ********************************************************************/ -static BOOL srv_io_info_102(char *desc, SRV_INFO_102 *sv102, prs_struct *ps, int depth) +static BOOL srv_io_info_102(const char *desc, SRV_INFO_102 *sv102, prs_struct *ps, int depth) { if (sv102 == NULL) return False; @@ -2262,7 +2262,7 @@ static BOOL srv_io_info_102(char *desc, SRV_INFO_102 *sv102, prs_struct *ps, int Reads or writes a SRV_INFO_102 structure. ********************************************************************/ -static BOOL srv_io_info_ctr(char *desc, SRV_INFO_CTR *ctr, prs_struct *ps, int depth) +static BOOL srv_io_info_ctr(const char *desc, SRV_INFO_CTR *ctr, prs_struct *ps, int depth) { if (ctr == NULL) return False; @@ -2309,7 +2309,7 @@ static BOOL srv_io_info_ctr(char *desc, SRV_INFO_CTR *ctr, prs_struct *ps, int d ********************************************************************/ void init_srv_q_net_srv_get_info(SRV_Q_NET_SRV_GET_INFO *srv, - char *server_name, uint32 switch_value) + const char *server_name, uint32 switch_value) { DEBUG(5,("init_srv_q_net_srv_get_info\n")); @@ -2322,7 +2322,7 @@ void init_srv_q_net_srv_get_info(SRV_Q_NET_SRV_GET_INFO *srv, Reads or writes a structure. ********************************************************************/ -BOOL srv_io_q_net_srv_get_info(char *desc, SRV_Q_NET_SRV_GET_INFO *q_n, prs_struct *ps, int depth) +BOOL srv_io_q_net_srv_get_info(const char *desc, SRV_Q_NET_SRV_GET_INFO *q_n, prs_struct *ps, int depth) { if (q_n == NULL) return False; @@ -2386,7 +2386,7 @@ void init_srv_r_net_srv_set_info(SRV_R_NET_SRV_SET_INFO *srv, Reads or writes a structure. ********************************************************************/ -BOOL srv_io_q_net_srv_set_info(char *desc, SRV_Q_NET_SRV_SET_INFO *q_n, +BOOL srv_io_q_net_srv_set_info(const char *desc, SRV_Q_NET_SRV_SET_INFO *q_n, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "srv_io_q_net_srv_set_info"); @@ -2424,7 +2424,7 @@ BOOL srv_io_q_net_srv_set_info(char *desc, SRV_Q_NET_SRV_SET_INFO *q_n, Reads or writes a structure. ********************************************************************/ -BOOL srv_io_r_net_srv_get_info(char *desc, SRV_R_NET_SRV_GET_INFO *r_n, prs_struct *ps, int depth) +BOOL srv_io_r_net_srv_get_info(const char *desc, SRV_R_NET_SRV_GET_INFO *r_n, prs_struct *ps, int depth) { if (r_n == NULL) return False; @@ -2448,7 +2448,7 @@ BOOL srv_io_r_net_srv_get_info(char *desc, SRV_R_NET_SRV_GET_INFO *r_n, prs_stru Reads or writes a structure. ********************************************************************/ -BOOL srv_io_r_net_srv_set_info(char *desc, SRV_R_NET_SRV_SET_INFO *r_n, +BOOL srv_io_r_net_srv_set_info(const char *desc, SRV_R_NET_SRV_SET_INFO *r_n, prs_struct *ps, int depth) { prs_debug(ps, depth, desc, "srv_io_r_net_srv_set_info"); @@ -2470,7 +2470,7 @@ BOOL srv_io_r_net_srv_set_info(char *desc, SRV_R_NET_SRV_SET_INFO *r_n, Reads or writes a structure. ********************************************************************/ -BOOL srv_io_q_net_remote_tod(char *desc, SRV_Q_NET_REMOTE_TOD *q_n, prs_struct *ps, int depth) +BOOL srv_io_q_net_remote_tod(const char *desc, SRV_Q_NET_REMOTE_TOD *q_n, prs_struct *ps, int depth) { if (q_n == NULL) return False; @@ -2493,7 +2493,7 @@ BOOL srv_io_q_net_remote_tod(char *desc, SRV_Q_NET_REMOTE_TOD *q_n, prs_struct * Reads or writes a TIME_OF_DAY_INFO structure. ********************************************************************/ -static BOOL srv_io_time_of_day_info(char *desc, TIME_OF_DAY_INFO *tod, prs_struct *ps, int depth) +static BOOL srv_io_time_of_day_info(const char *desc, TIME_OF_DAY_INFO *tod, prs_struct *ps, int depth) { if (tod == NULL) return False; @@ -2562,7 +2562,7 @@ void init_time_of_day_info(TIME_OF_DAY_INFO *tod, uint32 elapsedt, uint32 msecs, Reads or writes a structure. ********************************************************************/ -BOOL srv_io_r_net_remote_tod(char *desc, SRV_R_NET_REMOTE_TOD *r_n, prs_struct *ps, int depth) +BOOL srv_io_r_net_remote_tod(const char *desc, SRV_R_NET_REMOTE_TOD *r_n, prs_struct *ps, int depth) { if (r_n == NULL) return False; @@ -2589,7 +2589,7 @@ BOOL srv_io_r_net_remote_tod(char *desc, SRV_R_NET_REMOTE_TOD *r_n, prs_struct * Reads or writes a structure. ********************************************************************/ -BOOL srv_io_q_net_disk_enum(char *desc, SRV_Q_NET_DISK_ENUM *q_n, prs_struct *ps, int depth) +BOOL srv_io_q_net_disk_enum(const char *desc, SRV_Q_NET_DISK_ENUM *q_n, prs_struct *ps, int depth) { if (q_n == NULL) return False; @@ -2633,7 +2633,7 @@ BOOL srv_io_q_net_disk_enum(char *desc, SRV_Q_NET_DISK_ENUM *q_n, prs_struct *ps Reads or writes a structure. ********************************************************************/ -BOOL srv_io_r_net_disk_enum(char *desc, SRV_R_NET_DISK_ENUM *r_n, prs_struct *ps, int depth) +BOOL srv_io_r_net_disk_enum(const char *desc, SRV_R_NET_DISK_ENUM *r_n, prs_struct *ps, int depth) { int i; @@ -2688,7 +2688,7 @@ BOOL srv_io_r_net_disk_enum(char *desc, SRV_R_NET_DISK_ENUM *r_n, prs_struct *ps Reads or writes a structure. ********************************************************************/ -BOOL srv_io_q_net_name_validate(char *desc, SRV_Q_NET_NAME_VALIDATE *q_n, prs_struct *ps, int depth) +BOOL srv_io_q_net_name_validate(const char *desc, SRV_Q_NET_NAME_VALIDATE *q_n, prs_struct *ps, int depth) { if (q_n == NULL) return False; @@ -2727,7 +2727,7 @@ BOOL srv_io_q_net_name_validate(char *desc, SRV_Q_NET_NAME_VALIDATE *q_n, prs_st Reads or writes a structure. ********************************************************************/ -BOOL srv_io_r_net_name_validate(char *desc, SRV_R_NET_NAME_VALIDATE *r_n, prs_struct *ps, int depth) +BOOL srv_io_r_net_name_validate(const char *desc, SRV_R_NET_NAME_VALIDATE *r_n, prs_struct *ps, int depth) { if (r_n == NULL) return False; @@ -2748,7 +2748,7 @@ BOOL srv_io_r_net_name_validate(char *desc, SRV_R_NET_NAME_VALIDATE *r_n, prs_st Reads or writes a structure. ********************************************************************/ -BOOL srv_io_q_net_file_query_secdesc(char *desc, SRV_Q_NET_FILE_QUERY_SECDESC *q_n, prs_struct *ps, int depth) +BOOL srv_io_q_net_file_query_secdesc(const char *desc, SRV_Q_NET_FILE_QUERY_SECDESC *q_n, prs_struct *ps, int depth) { if (q_n == NULL) return False; @@ -2796,7 +2796,7 @@ BOOL srv_io_q_net_file_query_secdesc(char *desc, SRV_Q_NET_FILE_QUERY_SECDESC *q Reads or writes a structure. ********************************************************************/ -BOOL srv_io_r_net_file_query_secdesc(char *desc, SRV_R_NET_FILE_QUERY_SECDESC *r_n, prs_struct *ps, int depth) +BOOL srv_io_r_net_file_query_secdesc(const char *desc, SRV_R_NET_FILE_QUERY_SECDESC *r_n, prs_struct *ps, int depth) { if (r_n == NULL) return False; @@ -2835,7 +2835,7 @@ BOOL srv_io_r_net_file_query_secdesc(char *desc, SRV_R_NET_FILE_QUERY_SECDESC *r Reads or writes a structure. ********************************************************************/ -BOOL srv_io_q_net_file_set_secdesc(char *desc, SRV_Q_NET_FILE_SET_SECDESC *q_n, prs_struct *ps, int depth) +BOOL srv_io_q_net_file_set_secdesc(const char *desc, SRV_Q_NET_FILE_SET_SECDESC *q_n, prs_struct *ps, int depth) { if (q_n == NULL) return False; @@ -2892,7 +2892,7 @@ BOOL srv_io_q_net_file_set_secdesc(char *desc, SRV_Q_NET_FILE_SET_SECDESC *q_n, Reads or writes a structure. ********************************************************************/ -BOOL srv_io_r_net_file_set_secdesc(char *desc, SRV_R_NET_FILE_SET_SECDESC *r_n, prs_struct *ps, int depth) +BOOL srv_io_r_net_file_set_secdesc(const char *desc, SRV_R_NET_FILE_SET_SECDESC *r_n, prs_struct *ps, int depth) { if (r_n == NULL) return False; diff --git a/source/rpc_parse/parse_wks.c b/source/rpc_parse/parse_wks.c index ecd4a201ae4..a9f2643e964 100644 --- a/source/rpc_parse/parse_wks.c +++ b/source/rpc_parse/parse_wks.c @@ -28,7 +28,7 @@ ********************************************************************/ void init_wks_q_query_info(WKS_Q_QUERY_INFO *q_u, - char *server, uint16 switch_value) + const char *server, uint16 switch_value) { DEBUG(5,("init_wks_q_query_info\n")); @@ -40,7 +40,7 @@ void init_wks_q_query_info(WKS_Q_QUERY_INFO *q_u, Reads or writes a WKS_Q_QUERY_INFO structure. ********************************************************************/ -BOOL wks_io_q_query_info(char *desc, WKS_Q_QUERY_INFO *q_u, prs_struct *ps, int depth) +BOOL wks_io_q_query_info(const char *desc, WKS_Q_QUERY_INFO *q_u, prs_struct *ps, int depth) { if (q_u == NULL) return False; @@ -72,7 +72,7 @@ BOOL wks_io_q_query_info(char *desc, WKS_Q_QUERY_INFO *q_u, prs_struct *ps, int void init_wks_info_100(WKS_INFO_100 *inf, uint32 platform_id, uint32 ver_major, uint32 ver_minor, - char *my_name, char *domain_name) + const char *my_name, const char *domain_name) { DEBUG(5,("Init WKS_INFO_100: %d\n", __LINE__)); @@ -88,7 +88,7 @@ void init_wks_info_100(WKS_INFO_100 *inf, Reads or writes a WKS_INFO_100 structure. ********************************************************************/ -static BOOL wks_io_wks_info_100(char *desc, WKS_INFO_100 *inf, prs_struct *ps, int depth) +static BOOL wks_io_wks_info_100(const char *desc, WKS_INFO_100 *inf, prs_struct *ps, int depth) { if (inf == NULL) return False; @@ -148,7 +148,7 @@ void init_wks_r_query_info(WKS_R_QUERY_INFO *r_u, Reads or writes a structure. ********************************************************************/ -BOOL wks_io_r_query_info(char *desc, WKS_R_QUERY_INFO *r_u, prs_struct *ps, int depth) +BOOL wks_io_r_query_info(const char *desc, WKS_R_QUERY_INFO *r_u, prs_struct *ps, int depth) { if (r_u == NULL) return False; diff --git a/source/rpc_server/srv_netlog_nt.c b/source/rpc_server/srv_netlog_nt.c index 3f84c7a98b1..e61288f079b 100644 --- a/source/rpc_server/srv_netlog_nt.c +++ b/source/rpc_server/srv_netlog_nt.c @@ -85,7 +85,7 @@ NTSTATUS _net_logon_ctrl2(pipes_struct *p, NET_Q_LOGON_CTRL2 *q_u, NET_R_LOGON_C uint32 pdc_connection_status = 0x0; uint32 logon_attempts = 0x0; uint32 tc_status = ERROR_NO_LOGON_SERVERS; - char *trusted_domain = "test_domain"; + const char *trusted_domain = "test_domain"; DEBUG(0, ("*** net long ctrl2 %d, %d, %d\n", q_u->function_code, q_u->query_level, q_u->switch_value)); @@ -109,7 +109,7 @@ NTSTATUS _net_logon_ctrl2(pipes_struct *p, NET_Q_LOGON_CTRL2 *q_u, NET_R_LOGON_C NTSTATUS _net_trust_dom_list(pipes_struct *p, NET_Q_TRUST_DOM_LIST *q_u, NET_R_TRUST_DOM_LIST *r_u) { - char *trusted_domain = "test_domain"; + const char *trusted_domain = "test_domain"; uint32 num_trust_domains = 1; DEBUG(6,("_net_trust_dom_list: %d\n", __LINE__)); diff --git a/source/rpc_server/srv_pipe.c b/source/rpc_server/srv_pipe.c index 7594ae58e4e..e3a5528bcf7 100644 --- a/source/rpc_server/srv_pipe.c +++ b/source/rpc_server/srv_pipe.c @@ -484,8 +484,8 @@ failed authentication on named pipe %s.\n", domain, pipe_user_name, wks, p->name struct api_cmd { - char * pipe_clnt_name; - char * pipe_srv_name; + const char * pipe_clnt_name; + const char * pipe_srv_name; BOOL (*fn) (pipes_struct *); }; @@ -1179,7 +1179,7 @@ BOOL api_pipe_request(pipes_struct *p) Calls the underlying RPC function for a named pipe. ********************************************************************/ -BOOL api_rpcTNP(pipes_struct *p, char *rpc_name, +BOOL api_rpcTNP(pipes_struct *p, const char *rpc_name, struct api_struct *api_rpc_cmds) { int fn_num; diff --git a/source/rpc_server/srv_pipe_hnd.c b/source/rpc_server/srv_pipe_hnd.c index 9d9fb678b06..c5cad313cbf 100644 --- a/source/rpc_server/srv_pipe_hnd.c +++ b/source/rpc_server/srv_pipe_hnd.c @@ -501,13 +501,13 @@ authentication failed. Denying the request.\n", p->name)); } /* - * Check the data length doesn't go over the 15Mb limit. + * Check the data length doesn't go over the 40Mb limit. * increased after observing a bug in the Windows NT 4.0 SP6a * spoolsv.exe when the response to a GETPRINTERDRIVER2 RPC * will not fit in the initial buffer of size 0x1068 --jerry 22/01/2002 */ - if(prs_offset(&p->in_data.data) + data_len > 15*1024*1024) { + if(prs_offset(&p->in_data.data) + data_len > 40*1024*1024) { DEBUG(0,("process_request_pdu: rpc data buffer too large (%u) + (%u)\n", (unsigned int)prs_data_size(&p->in_data.data), (unsigned int)data_len )); set_incoming_fault(p); diff --git a/source/rpc_server/srv_reg_nt.c b/source/rpc_server/srv_reg_nt.c index 5ba1b9b0087..cc071757b5e 100644 --- a/source/rpc_server/srv_reg_nt.c +++ b/source/rpc_server/srv_reg_nt.c @@ -115,7 +115,7 @@ NTSTATUS _reg_open_entry(pipes_struct *p, REG_Q_OPEN_ENTRY *q_u, REG_R_OPEN_ENTR NTSTATUS _reg_info(pipes_struct *p, REG_Q_INFO *q_u, REG_R_INFO *r_u) { NTSTATUS status = NT_STATUS_OK; - char *key = NULL; + const char *key = NULL; uint32 type=0x1; /* key type: REG_SZ */ UNISTR2 *uni_key = NULL; diff --git a/source/rpc_server/srv_samr_nt.c b/source/rpc_server/srv_samr_nt.c index 75a3c33c542..2ce5ed74274 100644 --- a/source/rpc_server/srv_samr_nt.c +++ b/source/rpc_server/srv_samr_nt.c @@ -685,7 +685,7 @@ static NTSTATUS get_group_alias_entries(DOMAIN_GRP *d_grp, DOM_SID *sid, uint32 /* well-known aliases */ if (strequal(sid_str, "S-1-5-32")) { - char *alias_name; + const char *alias_name; while (!lp_hide_local_users() && num_entries < max_entries && ((alias_name = builtin_alias_rids[num_entries].name) != NULL)) { diff --git a/source/rpc_server/srv_spoolss_nt.c b/source/rpc_server/srv_spoolss_nt.c index 8ec442a6556..4cba304ea0e 100644 --- a/source/rpc_server/srv_spoolss_nt.c +++ b/source/rpc_server/srv_spoolss_nt.c @@ -39,7 +39,7 @@ /* Table to map the driver version */ /* to OS */ -char * drv_ver_to_os[] = { +const char * drv_ver_to_os[] = { "WIN9X", /* driver version/cversion 0 */ "", /* unused ? */ "WINNT", /* driver version/cversion 2 */ @@ -47,8 +47,8 @@ char * drv_ver_to_os[] = { }; struct table_node { - char *long_archi; - char *short_archi; + const char *long_archi; + const char *short_archi; int version; }; @@ -1245,7 +1245,7 @@ static BOOL convert_printer_driver_info(const SPOOL_PRINTER_DRIVER_INFO_LEVEL *u return result; } -BOOL convert_devicemode(char *printername, const DEVICEMODE *devmode, +BOOL convert_devicemode(const char *printername, const DEVICEMODE *devmode, NT_DEVICEMODE **pp_nt_devmode) { NT_DEVICEMODE *nt_devmode = *pp_nt_devmode; @@ -2365,7 +2365,7 @@ static void spoolss_notify_job_status_string(int snum, * Now we're returning job status codes we just return a "" here. JRA. */ - char *p = ""; + const char *p = ""; pstring temp; uint32 len; @@ -2520,7 +2520,7 @@ struct s_notify_info_data_table { uint16 type; uint16 field; - char *name; + const char *name; uint32 size; void (*fn) (int snum, SPOOL_NOTIFY_INFO_DATA *data, print_queue_struct *queue, @@ -4099,7 +4099,7 @@ static void init_unistr_array(uint16 **uni_array, fstring *char_array, char *ser { int i=0; int j=0; - char *v; + const char *v; pstring line; uint16 *tuary; @@ -6240,7 +6240,7 @@ WERROR _spoolss_getform(pipes_struct *p, SPOOL_Q_GETFORM *q_u, SPOOL_R_GETFORM * /**************************************************************************** ****************************************************************************/ -static void fill_port_1(PORT_INFO_1 *port, char *name) +static void fill_port_1(PORT_INFO_1 *port, const char *name) { init_unistr(&port->port_name, name); } @@ -6248,7 +6248,7 @@ static void fill_port_1(PORT_INFO_1 *port, char *name) /**************************************************************************** ****************************************************************************/ -static void fill_port_2(PORT_INFO_2 *port, char *name) +static void fill_port_2(PORT_INFO_2 *port, const char *name) { init_unistr(&port->port_name, name); init_unistr(&port->monitor_name, "Local Monitor"); diff --git a/source/rpc_server/srv_srvsvc_nt.c b/source/rpc_server/srv_srvsvc_nt.c index 85688417961..33b6076afd2 100644 --- a/source/rpc_server/srv_srvsvc_nt.c +++ b/source/rpc_server/srv_srvsvc_nt.c @@ -122,7 +122,7 @@ static TDB_CONTEXT *share_tdb; /* used for share security descriptors */ BOOL share_info_db_init(void) { static pid_t local_pid; - char *vstring = "INFO/version"; + const char *vstring = "INFO/version"; int32 vers_id; if (share_tdb && local_pid == sys_getpid()) @@ -634,7 +634,7 @@ static void init_srv_r_net_share_get_info(pipes_struct *p, SRV_R_NET_SHARE_GET_I fill in a sess info level 1 structure. ********************************************************************/ -static void init_srv_sess_0_info(SESS_INFO_0 *se0, SESS_INFO_0_STR *str0, char *name) +static void init_srv_sess_0_info(SESS_INFO_0 *se0, SESS_INFO_0_STR *str0, const char *name) { init_srv_sess_info0(se0, name); init_srv_sess_info0_str(str0, name); @@ -686,7 +686,7 @@ static void init_srv_sess_info_0(SRV_SESS_INFO_0 *ss0, uint32 *snum, uint32 *sto ********************************************************************/ static void init_srv_sess_1_info(SESS_INFO_1 *se1, SESS_INFO_1_STR *str1, - char *name, char *user, + const char *name, const char *user, uint32 num_opens, uint32 open_time, uint32 idle_time, uint32 usr_flgs) @@ -844,7 +844,7 @@ static void init_srv_conn_info_0(SRV_CONN_INFO_0 *ss0, uint32 *snum, uint32 *sto static void init_srv_conn_1_info(CONN_INFO_1 *se1, CONN_INFO_1_STR *str1, uint32 id, uint32 type, uint32 num_opens, uint32 num_users, uint32 open_time, - char *usr_name, char *net_name) + const char *usr_name, const char *net_name) { init_srv_conn_info1(se1 , id, type, num_opens, num_users, open_time, usr_name, net_name); init_srv_conn_info1_str(str1, usr_name, net_name); @@ -955,7 +955,7 @@ static void init_srv_r_net_conn_enum(SRV_R_NET_CONN_ENUM *r_n, static void init_srv_file_3_info(FILE_INFO_3 *fl3, FILE_INFO_3_STR *str3, uint32 fnum, uint32 perms, uint32 num_locks, - char *path_name, char *user_name) + const char *path_name, const char *user_name) { init_srv_file_info3(fl3 , fnum, perms, num_locks, path_name, user_name); init_srv_file_info3_str(str3, path_name, user_name); @@ -1639,6 +1639,7 @@ WERROR _srv_net_file_query_secdesc(pipes_struct *p, SRV_Q_NET_FILE_QUERY_SECDESC SEC_DESC *psd = NULL; size_t sd_size; fstring null_pw; + fstring dev; pstring filename; pstring qualname; files_struct *fsp = NULL; @@ -1660,12 +1661,13 @@ WERROR _srv_net_file_query_secdesc(pipes_struct *p, SRV_Q_NET_FILE_QUERY_SECDESC /* Null password is ok - we are already an authenticated user... */ *null_pw = '\0'; + fstrcpy(dev, "A:"); get_current_user(&user, p); fstrcpy(user_name, uidtoname(user.uid)); become_root(); - conn = make_connection(qualname, user_name, null_pw, 0, "A:", user.vuid, &ecode); + conn = make_connection(qualname, user_name, null_pw, 0, dev, user.vuid, &ecode); unbecome_root(); if (conn == NULL) { @@ -1746,6 +1748,7 @@ WERROR _srv_net_file_set_secdesc(pipes_struct *p, SRV_Q_NET_FILE_SET_SECDESC *q_ pstring filename; pstring qualname; fstring null_pw; + fstring dev; files_struct *fsp = NULL; SMB_STRUCT_STAT st; BOOL bad_path; @@ -1765,12 +1768,13 @@ WERROR _srv_net_file_set_secdesc(pipes_struct *p, SRV_Q_NET_FILE_SET_SECDESC *q_ /* Null password is ok - we are already an authenticated user... */ *null_pw = '\0'; + fstrcpy(dev, "A:"); get_current_user(&user, p); fstrcpy(user_name, uidtoname(user.uid)); become_root(); - conn = make_connection(qualname, user_name, null_pw, 0, "A:", user.vuid, &ecode); + conn = make_connection(qualname, user_name, null_pw, 0, dev, user.vuid, &ecode); unbecome_root(); if (conn == NULL) { diff --git a/source/rpc_server/srv_util.c b/source/rpc_server/srv_util.c index 67f5e99c3b6..44c35d3d588 100644 --- a/source/rpc_server/srv_util.c +++ b/source/rpc_server/srv_util.c @@ -80,7 +80,7 @@ rid_name domain_group_rids[] = int make_dom_gids(TALLOC_CTX *ctx, char *gids_str, DOM_GID **ppgids) { - char *ptr; + const char *ptr; pstring s2; int count; DOM_GID *gids; @@ -110,14 +110,16 @@ int make_dom_gids(TALLOC_CTX *ctx, char *gids_str, DOM_GID **ppgids) count++) { /* the entries are of the form GID/ATTR, ATTR being optional.*/ - char *attr; + const char *attr = NULL; + char *pattr = NULL; uint32 rid = 0; int i; - attr = strchr(s2,'/'); - if (attr) - *attr++ = 0; + pattr = strchr(s2,'/'); + if (pattr) + *pattr++ = 0; + attr = pattr; if (!attr || !*attr) attr = "7"; /* default value for attribute is 7 */ @@ -295,7 +297,7 @@ NTSTATUS local_lookup_user_name(uint32 rid, char *user_name, uint32 *type) ********************************************************************/ NTSTATUS local_lookup_group_rid(char *group_name, uint32 *rid) { - char *grp_name; + const char *grp_name; int i = -1; /* start do loop at -1 */ do /* find, if it exists, a group rid for the group name*/ @@ -314,7 +316,7 @@ NTSTATUS local_lookup_group_rid(char *group_name, uint32 *rid) ********************************************************************/ NTSTATUS local_lookup_alias_rid(char *alias_name, uint32 *rid) { - char *als_name; + const char *als_name; int i = -1; /* start do loop at -1 */ do /* find, if it exists, a alias rid for the alias name*/ diff --git a/source/rpcclient/cmd_samr.c b/source/rpcclient/cmd_samr.c index d133898abab..b86b364637b 100644 --- a/source/rpcclient/cmd_samr.c +++ b/source/rpcclient/cmd_samr.c @@ -94,7 +94,7 @@ static void display_sam_user_info_21(SAM_USER_INFO_21 *usr) } } -static char *display_time(NTTIME nttime) +static const char *display_time(NTTIME nttime) { static fstring string; @@ -1005,7 +1005,7 @@ static NTSTATUS cmd_samr_lookup_names(struct cli_state *cli, POLICY_HND connect_pol, domain_pol; uint32 flags = 0x000003e8; /* Unknown */ uint32 num_rids, num_names, *name_types, *rids; - char **names; + const char **names; int i; DOM_SID global_sid_Builtin; @@ -1045,7 +1045,7 @@ static NTSTATUS cmd_samr_lookup_names(struct cli_state *cli, /* Look up names */ num_names = argc - 2; - names = (char **)talloc(mem_ctx, sizeof(char *) * num_names); + names = (const char **)talloc(mem_ctx, sizeof(char *) * num_names); for (i = 0; i < argc - 2; i++) names[i] = argv[i + 2]; @@ -1166,7 +1166,7 @@ static NTSTATUS cmd_samr_delete_dom_user(struct cli_state *cli, uint32 flags = 0x000003e8; /* Unknown */ result = cli_samr_lookup_names(cli, mem_ctx, &domain_pol, - flags, 1, &argv[1], + flags, 1, (const char **)&argv[1], &num_rids, &user_rids, &name_types); diff --git a/source/rpcclient/cmd_spoolss.c b/source/rpcclient/cmd_spoolss.c index b955b4ca3c3..de951741b73 100644 --- a/source/rpcclient/cmd_spoolss.c +++ b/source/rpcclient/cmd_spoolss.c @@ -26,8 +26,8 @@ #include "rpcclient.h" struct table_node { - char *long_archi; - char *short_archi; + const char *long_archi; + const char *short_archi; int version; }; @@ -45,7 +45,7 @@ struct table_node archi_table[]= { function to do the mapping between the long architecture name and the short one. ****************************************************************************/ -BOOL get_short_archi(char *short_archi, char *long_archi) +BOOL get_short_archi(char *short_archi, const char *long_archi) { int i=-1; @@ -969,7 +969,7 @@ void set_drv_info_3_env (DRIVER_INFO_3 *info, const char *arch) wrapper for strtok to get the next parameter from a delimited list. Needed to handle the empty parameter string denoted by "NULL" *************************************************************************/ -static char* get_driver_3_param (char* str, char* delim, UNISTR* dest) +static char* get_driver_3_param (char* str, const char* delim, UNISTR* dest) { char *ptr; diff --git a/source/rpcclient/rpcclient.c b/source/rpcclient/rpcclient.c index d926f4946e9..239ff668f38 100644 --- a/source/rpcclient/rpcclient.c +++ b/source/rpcclient/rpcclient.c @@ -441,7 +441,8 @@ static void add_command_set(struct cmd_set *cmd_set) static NTSTATUS do_cmd(struct cli_state *cli, struct cmd_set *cmd_entry, char *cmd) { - char *p = cmd, **argv = NULL; + char **argv = NULL; + const char *p = cmd; NTSTATUS result = NT_STATUS_UNSUCCESSFUL; pstring buf; int argc = 0, i; @@ -535,7 +536,7 @@ static NTSTATUS process_cmd(struct cli_state *cli, char *cmd) struct cmd_list *temp_list; BOOL found = False; pstring buf; - char *p = cmd; + const char *p = cmd; NTSTATUS result = NT_STATUS_OK; int len = 0; diff --git a/source/rpcclient/rpcclient.h b/source/rpcclient/rpcclient.h index 588d10b3e6b..a74c9dffde7 100644 --- a/source/rpcclient/rpcclient.h +++ b/source/rpcclient/rpcclient.h @@ -24,12 +24,12 @@ #define RPCCLIENT_H struct cmd_set { - char *name; + const char *name; NTSTATUS (*fn)(struct cli_state*, TALLOC_CTX *mem_ctx, int argc, char **argv); - char *pipe; - char *description; - char *usage; + const char *pipe; + const char *description; + const char *usage; }; #endif /* RPCCLIENT_H */ diff --git a/source/smbd/chgpasswd.c b/source/smbd/chgpasswd.c index 42e82482dcb..b4ddeaa5cf8 100644 --- a/source/smbd/chgpasswd.c +++ b/source/smbd/chgpasswd.c @@ -285,7 +285,7 @@ static void pwd_sub(char *buf) all_string_sub(buf, "\\t", "\t", 0); } -static int talktochild(int master, char *seq) +static int talktochild(int master, const char *seq) { int count = 0; fstring issue, expected; @@ -453,7 +453,7 @@ static BOOL chat_with_program(char *passwordprogram, char *name, } -BOOL chgpasswd(char *name, char *oldpass, char *newpass, BOOL as_root) +BOOL chgpasswd(char *name, const char *oldpass, const char *newpass, BOOL as_root) { pstring passwordprogram; pstring chatsequence; @@ -558,7 +558,7 @@ the string %%u, and the given string %s does not.\n", passwordprogram )); #else /* ALLOW_CHANGE_PASSWORD */ -BOOL chgpasswd(char *name, char *oldpass, char *newpass, BOOL as_root) +BOOL chgpasswd(char *name, const char *oldpass, const char *newpass, BOOL as_root) { DEBUG(0, ("Password changing not compiled in (user=%s)\n", name)); return (False); diff --git a/source/smbd/connection.c b/source/smbd/connection.c index aa8b95a1705..5ef410dd269 100644 --- a/source/smbd/connection.c +++ b/source/smbd/connection.c @@ -38,7 +38,7 @@ TDB_CONTEXT *conn_tdb_ctx(void) Delete a connection record. ****************************************************************************/ -BOOL yield_connection(connection_struct *conn,char *name) +BOOL yield_connection(connection_struct *conn,const char *name) { struct connections_key key; TDB_DATA kbuf; @@ -110,7 +110,7 @@ static int count_fn( TDB_CONTEXT *the_tdb, TDB_DATA kbuf, TDB_DATA dbuf, void *u Claim an entry in the connections database. ****************************************************************************/ -BOOL claim_connection(connection_struct *conn,char *name,int max_connections,BOOL Clear) +BOOL claim_connection(connection_struct *conn,const char *name,int max_connections,BOOL Clear) { struct connections_key key; struct connections_data crec; diff --git a/source/smbd/dir.c b/source/smbd/dir.c index f1db06b33a3..34aec3dd69d 100644 --- a/source/smbd/dir.c +++ b/source/smbd/dir.c @@ -330,18 +330,22 @@ void dptr_closepath(char *path,uint16 spid) static BOOL start_dir(connection_struct *conn,char *directory) { + const char *dir2; + DEBUG(5,("start_dir dir=%s\n",directory)); if (!check_name(directory,conn)) return(False); if (! *directory) - directory = "."; + dir2 = "."; + else + dir2 = directory; - conn->dirptr = OpenDir(conn, directory, True); + conn->dirptr = OpenDir(conn, dir2, True); if (conn->dirptr) { dptrs_open++; - string_set(&conn->dirpath,directory); + string_set(&conn->dirpath,dir2); return(True); } @@ -739,10 +743,10 @@ static BOOL user_can_read_file(connection_struct *conn, char *name) Open a directory. ********************************************************************/ -void *OpenDir(connection_struct *conn, char *name, BOOL use_veto) +void *OpenDir(connection_struct *conn, const char *name, BOOL use_veto) { Dir *dirp; - char *n; + const char *n; DIR *p = conn->vfs_ops.opendir(conn,dos_to_unix_static(name)); int used=0; @@ -909,7 +913,7 @@ static ubi_dlNewList( dir_cache ); Output: None. *****************************************************************************/ -void DirCacheAdd( char *path, char *name, char *dname, int snum ) +void DirCacheAdd( const char *path, const char *name, const char *dname, int snum ) { int pathlen; int namelen; @@ -956,7 +960,7 @@ void DirCacheAdd( char *path, char *name, char *dname, int snum ) for large caches. *****************************************************************************/ -char *DirCacheCheck( char *path, char *name, int snum ) +char *DirCacheCheck( const char *path, const char *name, int snum ) { dir_cache_entry *entry; diff --git a/source/smbd/filename.c b/source/smbd/filename.c index 0922aceb3c6..64203e74ae2 100644 --- a/source/smbd/filename.c +++ b/source/smbd/filename.c @@ -33,7 +33,7 @@ extern BOOL short_case_preserve; extern fstring remote_machine; extern BOOL use_mangled_map; -static BOOL scan_directory(char *path, char *name,size_t maxlength, +static BOOL scan_directory(const char *path, char *name,size_t maxlength, connection_struct *conn,BOOL docache); /**************************************************************************** @@ -441,7 +441,7 @@ BOOL check_name(char *name,connection_struct *conn) If the name looks like a mangled name then try via the mangling functions ****************************************************************************/ -static BOOL scan_directory(char *path, char *name,size_t maxlength, +static BOOL scan_directory(const char *path, char *name,size_t maxlength, connection_struct *conn,BOOL docache) { void *cur_dir; diff --git a/source/smbd/ipc.c b/source/smbd/ipc.c index e1c3e7fe4d3..944f3825414 100644 --- a/source/smbd/ipc.c +++ b/source/smbd/ipc.c @@ -368,52 +368,69 @@ int reply_trans(connection_struct *conn, char *inbuf,char *outbuf, int size, int uint16 *setup=NULL; int outsize = 0; uint16 vuid = SVAL(inbuf,smb_uid); - int tpscnt = SVAL(inbuf,smb_vwv0); - int tdscnt = SVAL(inbuf,smb_vwv1); - int mprcnt = SVAL(inbuf,smb_vwv2); - int mdrcnt = SVAL(inbuf,smb_vwv3); - int msrcnt = CVAL(inbuf,smb_vwv4); + unsigned int tpscnt = SVAL(inbuf,smb_vwv0); + unsigned int tdscnt = SVAL(inbuf,smb_vwv1); + unsigned int mprcnt = SVAL(inbuf,smb_vwv2); + unsigned int mdrcnt = SVAL(inbuf,smb_vwv3); + unsigned int msrcnt = CVAL(inbuf,smb_vwv4); BOOL close_on_completion = BITSETW(inbuf+smb_vwv5,0); BOOL one_way = BITSETW(inbuf+smb_vwv5,1); - int pscnt = SVAL(inbuf,smb_vwv9); - int psoff = SVAL(inbuf,smb_vwv10); - int dscnt = SVAL(inbuf,smb_vwv11); - int dsoff = SVAL(inbuf,smb_vwv12); - int suwcnt = CVAL(inbuf,smb_vwv13); + unsigned int pscnt = SVAL(inbuf,smb_vwv9); + unsigned int psoff = SVAL(inbuf,smb_vwv10); + unsigned int dscnt = SVAL(inbuf,smb_vwv11); + unsigned int dsoff = SVAL(inbuf,smb_vwv12); + unsigned int suwcnt = CVAL(inbuf,smb_vwv13); START_PROFILE(SMBtrans); memset(name, '\0',sizeof(name)); fstrcpy(name,smb_buf(inbuf)); - if (dscnt > tdscnt || pscnt > tpscnt) { - exit_server("invalid trans parameters\n"); - } + if (dscnt > tdscnt || pscnt > tpscnt) + goto bad_param; if (tdscnt) { if((data = (char *)malloc(tdscnt)) == NULL) { - DEBUG(0,("reply_trans: data malloc fail for %d bytes !\n", tdscnt)); + DEBUG(0,("reply_trans: data malloc fail for %u bytes !\n", tdscnt)); END_PROFILE(SMBtrans); return(ERROR_DOS(ERRDOS,ERRnomem)); } + if ((dsoff+dscnt < dsoff) || (dsoff+dscnt < dscnt)) + goto bad_param; + if (smb_base(inbuf)+dsoff+dscnt > inbuf + size) + goto bad_param; + memcpy(data,smb_base(inbuf)+dsoff,dscnt); } if (tpscnt) { if((params = (char *)malloc(tpscnt)) == NULL) { - DEBUG(0,("reply_trans: param malloc fail for %d bytes !\n", tpscnt)); + DEBUG(0,("reply_trans: param malloc fail for %u bytes !\n", tpscnt)); + SAFE_FREE(data); END_PROFILE(SMBtrans); return(ERROR_DOS(ERRDOS,ERRnomem)); } + if ((psoff+pscnt < psoff) || (psoff+pscnt < pscnt)) + goto bad_param; + if (smb_base(inbuf)+psoff+pscnt > inbuf + size) + goto bad_param; + memcpy(params,smb_base(inbuf)+psoff,pscnt); } if (suwcnt) { int i; if((setup = (uint16 *)malloc(suwcnt*sizeof(uint16))) == NULL) { - DEBUG(0,("reply_trans: setup malloc fail for %d bytes !\n", (int)(suwcnt * sizeof(uint16)))); - END_PROFILE(SMBtrans); - return(ERROR_DOS(ERRDOS,ERRnomem)); - } + DEBUG(0,("reply_trans: setup malloc fail for %u bytes !\n", (unsigned int)(suwcnt * sizeof(uint16)))); + SAFE_FREE(data); + SAFE_FREE(params); + END_PROFILE(SMBtrans); + return(ERROR_DOS(ERRDOS,ERRnomem)); + } + if (inbuf+smb_vwv14+(suwcnt*SIZEOFWORD) > inbuf + size) + goto bad_param; + if ((smb_vwv14+(suwcnt*SIZEOFWORD) < smb_vwv14) || (smb_vwv14+(suwcnt*SIZEOFWORD) < (suwcnt*SIZEOFWORD))) + goto bad_param; + for (i=0;i<suwcnt;i++) setup[i] = SVAL(inbuf,smb_vwv14+i*SIZEOFWORD); } @@ -425,13 +442,13 @@ int reply_trans(connection_struct *conn, char *inbuf,char *outbuf, int size, int outsize = set_message(outbuf,0,0,True); show_msg(outbuf); if (!send_smb(smbd_server_fd(),outbuf)) - exit_server("reply_trans: send_smb failed.\n"); + exit_server("reply_trans: send_smb failed."); } /* receive the rest of the trans packet */ while (pscnt < tpscnt || dscnt < tdscnt) { BOOL ret; - int pcnt,poff,dcnt,doff,pdisp,ddisp; + unsigned int pcnt,poff,dcnt,doff,pdisp,ddisp; ret = receive_next_smb(inbuf,bufsize,SMB_SECONDARY_WAIT); @@ -451,8 +468,11 @@ int reply_trans(connection_struct *conn, char *inbuf,char *outbuf, int size, int show_msg(inbuf); - tpscnt = SVAL(inbuf,smb_vwv0); - tdscnt = SVAL(inbuf,smb_vwv1); + /* Revise total_params and total_data in case they have changed downwards */ + if (SVAL(inbuf,smb_vwv0) < tpscnt) + tpscnt = SVAL(inbuf,smb_vwv0); + if (SVAL(inbuf,smb_vwv1) < tdscnt) + tdscnt = SVAL(inbuf,smb_vwv1); pcnt = SVAL(inbuf,smb_vwv2); poff = SVAL(inbuf,smb_vwv3); @@ -465,18 +485,38 @@ int reply_trans(connection_struct *conn, char *inbuf,char *outbuf, int size, int pscnt += pcnt; dscnt += dcnt; - if (dscnt > tdscnt || pscnt > tpscnt) { - exit_server("invalid trans parameters\n"); - } + if (dscnt > tdscnt || pscnt > tpscnt) + goto bad_param; - if (pcnt) + if (pcnt) { + if (pdisp+pcnt >= tpscnt) + goto bad_param; + if ((pdisp+pcnt < pdisp) || (pdisp+pcnt < pcnt)) + goto bad_param; + if (smb_base(inbuf) + poff + pcnt >= inbuf + bufsize) + goto bad_param; + if (params + pdisp < params) + goto bad_param; + memcpy(params+pdisp,smb_base(inbuf)+poff,pcnt); - if (dcnt) + } + + if (dcnt) { + if (ddisp+dcnt >= tdscnt) + goto bad_param; + if ((ddisp+dcnt < ddisp) || (ddisp+dcnt < dcnt)) + goto bad_param; + if (smb_base(inbuf) + doff + dcnt >= inbuf + bufsize) + goto bad_param; + if (data + ddisp < data) + goto bad_param; + memcpy(data+ddisp,smb_base(inbuf)+doff,dcnt); + } } - DEBUG(3,("trans <%s> data=%d params=%d setup=%d\n", + DEBUG(3,("trans <%s> data=%u params=%u setup=%u\n", name,tdscnt,tpscnt,suwcnt)); /* @@ -525,4 +565,14 @@ int reply_trans(connection_struct *conn, char *inbuf,char *outbuf, int size, int END_PROFILE(SMBtrans); return(outsize); + + + bad_param: + + DEBUG(0,("reply_trans: invalid trans parameters\n")); + SAFE_FREE(data); + SAFE_FREE(params); + SAFE_FREE(setup); + END_PROFILE(SMBtrans); + return ERROR_NT(NT_STATUS_INVALID_PARAMETER); } diff --git a/source/smbd/lanman.c b/source/smbd/lanman.c index 13ec59df479..1c6db9cd6af 100644 --- a/source/smbd/lanman.c +++ b/source/smbd/lanman.c @@ -114,14 +114,14 @@ static char* Expand(connection_struct *conn, int snum, char* s) /******************************************************************* check a API string for validity when we only need to check the prefix ******************************************************************/ -static BOOL prefix_ok(char *str,char *prefix) +static BOOL prefix_ok(const char *str,const char *prefix) { return(strncmp(str,prefix,strlen(prefix)) == 0); } struct pack_desc { - char* format; /* formatstring for structure */ - char* subformat; /* subformat for structure */ + const char* format; /* formatstring for structure */ + const char* subformat; /* subformat for structure */ char* base; /* baseaddress of buffer */ int buflen; /* remaining size for fixed part; on init: length of base */ int subcount; /* count of substructures */ @@ -130,11 +130,11 @@ struct pack_desc { char* stringbuf; /* pointer into buffer for remaining variable part */ int neededlen; /* total needed size */ int usedlen; /* total used size (usedlen <= neededlen and usedlen <= buflen) */ - char* curpos; /* current position; pointer into format or subformat */ + const char* curpos; /* current position; pointer into format or subformat */ int errcode; }; -static int get_counter(char** p) +static int get_counter(const char** p) { int i, n; if (!p || !(*p)) return(1); @@ -149,7 +149,7 @@ static int get_counter(char** p) } } -static int getlen(char* p) +static int getlen(const char* p) { int n = 0; if (!p) return(0); @@ -346,12 +346,12 @@ va_dcl #define PACKl(desc,t,v,l) package(desc,v,l) #endif -static void PACKI(struct pack_desc* desc,char *t,int v) +static void PACKI(struct pack_desc* desc,const char *t,int v) { PACK(desc,t,v); } -static void PACKS(struct pack_desc* desc,char *t,char *v) +static void PACKS(struct pack_desc* desc,const char *t,const char *v) { PACK(desc,t,v); } @@ -541,7 +541,7 @@ static void fill_printq_info_52(connection_struct *conn, int snum, int uLevel, int i; BOOL ok = False; pstring tok,driver,datafile,langmon,helpfile,datatype; - char *p; + const char *p; char **lines = NULL; pstring gen_line; BOOL in_tdb = False; @@ -777,7 +777,7 @@ static int get_printerdrivernumber(int snum) int i, result = 0; BOOL ok = False; pstring tok; - char *p; + const char *p; char **lines = NULL; pstring gen_line; pstring drivername; @@ -1126,7 +1126,7 @@ static int get_server_info(uint32 servertype, for (i=0;lines[i];i++) { fstring stype; struct srv_info_struct *s; - char *ptr = lines[i]; + const char *ptr = lines[i]; BOOL ok = True; if (!*ptr) continue; @@ -2455,6 +2455,7 @@ static BOOL api_RNetUserGetInfo(connection_struct *conn,uint16 vuid, char *param char *p = skip_string(UserName,1); int uLevel = SVAL(p,0); char *p2; + const char *level_string; /* get NIS home of a previously validated user - simeon */ /* With share level security vuid will always be zero. @@ -2473,15 +2474,15 @@ static BOOL api_RNetUserGetInfo(connection_struct *conn,uint16 vuid, char *param if (strcmp(str1,"zWrLh") != 0) return False; switch( uLevel ) { - case 0: p2 = "B21"; break; - case 1: p2 = "B21BB16DWzzWz"; break; - case 2: p2 = "B21BB16DWzzWzDzzzzDDDDWb21WWzWW"; break; - case 10: p2 = "B21Bzzz"; break; - case 11: p2 = "B21BzzzWDDzzDDWWzWzDWb21W"; break; + case 0: level_string = "B21"; break; + case 1: level_string = "B21BB16DWzzWz"; break; + case 2: level_string = "B21BB16DWzzWzDzzzzDDDDWb21WWzWW"; break; + case 10: level_string = "B21Bzzz"; break; + case 11: level_string = "B21BzzzWDDzzDDWWzWzDWb21W"; break; default: return False; } - if (strcmp(p2,str2) != 0) return False; + if (strcmp(level_string,str2) != 0) return False; *rdata_len = mdrcnt + 1024; *rdata = REALLOC(*rdata,*rdata_len); @@ -2619,7 +2620,7 @@ static BOOL api_NetUserGetGroups(connection_struct *conn,uint16 vuid, char *para char *UserName = skip_string(str2,1); char *p = skip_string(UserName,1); int uLevel = SVAL(p,0); - char *p2; + const char *level_string; int count=0; *rparam_len = 8; @@ -2628,10 +2629,10 @@ static BOOL api_NetUserGetGroups(connection_struct *conn,uint16 vuid, char *para /* check it's a supported varient */ if (strcmp(str1,"zWrLeh") != 0) return False; switch( uLevel ) { - case 0: p2 = "B21"; break; + case 0: level_string = "B21"; break; default: return False; } - if (strcmp(p2,str2) != 0) return False; + if (strcmp(level_string,str2) != 0) return False; *rdata_len = mdrcnt + 1024; *rdata = REALLOC(*rdata,*rdata_len); @@ -3269,7 +3270,7 @@ static BOOL api_Unsupported(connection_struct *conn,uint16 vuid, char *param,cha struct { - char *name; + const char *name; int id; BOOL (*fn)(connection_struct *,uint16,char *,char *, int,int,char **,char **,int *,int *); diff --git a/source/smbd/mangle.c b/source/smbd/mangle.c index 4b8132a7ebe..acce5a7b640 100644 --- a/source/smbd/mangle.c +++ b/source/smbd/mangle.c @@ -24,7 +24,7 @@ static struct mangle_fns *mangle_fns; /* this allows us to add more mangling backends */ static struct { - char *name; + const char *name; struct mangle_fns *(*init_fn)(void); } mangle_backends[] = { { "hash", mangle_hash_init }, diff --git a/source/smbd/mangle_hash.c b/source/smbd/mangle_hash.c index 291e96274cd..83c73625fc6 100644 --- a/source/smbd/mangle_hash.c +++ b/source/smbd/mangle_hash.c @@ -147,15 +147,15 @@ static BOOL mc_initialized = False; */ static void init_chartest( void ) { - char *illegalchars = "*\\/?<>|\":"; - unsigned char *s; + const char *illegalchars = "*\\/?<>|\":"; + const unsigned char *s; memset( (char *)chartest, '\0', 256 ); - for( s = (unsigned char *)illegalchars; *s; s++ ) + for( s = (const unsigned char *)illegalchars; *s; s++ ) chartest[*s] = ILLEGAL_MASK; - for( s = (unsigned char *)basechars; *s; s++ ) + for( s = (const unsigned char *)basechars; *s; s++ ) chartest[*s] |= BASECHAR_MASK; ct_initialized = True; diff --git a/source/smbd/mangle_map.c b/source/smbd/mangle_map.c index d41a5606c5f..a7acd02b3cf 100644 --- a/source/smbd/mangle_map.c +++ b/source/smbd/mangle_map.c @@ -150,36 +150,45 @@ static void mangled_map(char *s, const char *MangledMap) } DEBUG( 5, ("End of first in pair '%s'\n", end) ); if( (match_string = map_filename( s, start, end-start )) ) { + int size_left = sizeof(new_string) - 1; DEBUG( 5, ("Found a match\n") ); /* Found a match. */ start = end + 1; /* Point to start of what it is to become. */ DEBUG( 5, ("Start of second in pair '%s'\n", start) ); end = start; np = new_string; - while( (*end) /* Not the end of string. */ + while( (*end && size_left > 0) /* Not the end of string. */ && (*end != ')') /* Not the end of the pattern. */ - && (*end != '*') ) /* Not a wildcard. */ + && (*end != '*') ) { /* Not a wildcard. */ *np++ = *end++; + size_left--; + } if( !*end ) { start = end; continue; /* Always check for the end. */ } if( *end == '*' ) { - pstrcpy( np, match_string ); + if (size_left > 0 ) + safe_strcpy( np, match_string, size_left ); np += strlen( match_string ); + size_left -= strlen( match_string ); end++; /* Skip the '*' */ - while ((*end) /* Not the end of string. */ + while ((*end && size_left > 0) /* Not the end of string. */ && (*end != ')') /* Not the end of the pattern. */ - && (*end != '*'))/* Not a wildcard. */ + && (*end != '*')) { /* Not a wildcard. */ *np++ = *end++; + size_left--; + } } if (!*end) { start = end; continue; /* Always check for the end. */ } - *np++ = '\0'; /* NULL terminate it. */ + if (size_left > 0) + *np++ = '\0'; /* NULL terminate it. */ DEBUG(5,("End of second in pair '%s'\n", end)); + new_string[sizeof(new_string)-1] = '\0'; pstrcpy( s, new_string ); /* Substitute with the new name. */ DEBUG( 5, ("s is now '%s'\n", s) ); } diff --git a/source/smbd/negprot.c b/source/smbd/negprot.c index e67026cdccc..b5f5518ce37 100644 --- a/source/smbd/negprot.c +++ b/source/smbd/negprot.c @@ -301,8 +301,8 @@ protocol [LANMAN2.1] /* List of supported protocols, most desired first */ static struct { - char *proto_name; - char *short_name; + const char *proto_name; + const char *short_name; int (*proto_reply_fn)(char *); int protocol_level; } supported_protocols[] = { diff --git a/source/smbd/nttrans.c b/source/smbd/nttrans.c index 49e3d798f7e..e8255284811 100644 --- a/source/smbd/nttrans.c +++ b/source/smbd/nttrans.c @@ -28,7 +28,7 @@ extern BOOL case_sensitive; extern BOOL case_preserve; extern BOOL short_case_preserve; -static char *known_nt_pipes[] = { +static const char *known_nt_pipes[] = { "\\LANMAN", "\\srvsvc", "\\samr", @@ -1838,217 +1838,275 @@ static int call_nt_transact_ioctl(connection_struct *conn, /**************************************************************************** Reply to a SMBNTtrans. ****************************************************************************/ + int reply_nttrans(connection_struct *conn, char *inbuf,char *outbuf,int length,int bufsize) { - int outsize = 0; + int outsize = 0; #if 0 /* Not used. */ - uint16 max_setup_count = CVAL(inbuf, smb_nt_MaxSetupCount); - uint32 max_parameter_count = IVAL(inbuf, smb_nt_MaxParameterCount); - uint32 max_data_count = IVAL(inbuf,smb_nt_MaxDataCount); + uint16 max_setup_count = CVAL(inbuf, smb_nt_MaxSetupCount); + uint32 max_parameter_count = IVAL(inbuf, smb_nt_MaxParameterCount); + uint32 max_data_count = IVAL(inbuf,smb_nt_MaxDataCount); #endif /* Not used. */ - uint32 total_parameter_count = IVAL(inbuf, smb_nt_TotalParameterCount); - uint32 total_data_count = IVAL(inbuf, smb_nt_TotalDataCount); - uint32 parameter_count = IVAL(inbuf,smb_nt_ParameterCount); - uint32 parameter_offset = IVAL(inbuf,smb_nt_ParameterOffset); - uint32 data_count = IVAL(inbuf,smb_nt_DataCount); - uint32 data_offset = IVAL(inbuf,smb_nt_DataOffset); - uint16 setup_count = 2*CVAL(inbuf,smb_nt_SetupCount); /* setup count is in *words* */ - uint16 function_code = SVAL( inbuf, smb_nt_Function); - char *params = NULL, *data = NULL, *setup = NULL; - uint32 num_params_sofar, num_data_sofar; - START_PROFILE(SMBnttrans); - - if(global_oplock_break && - ((function_code == NT_TRANSACT_CREATE) || - (function_code == NT_TRANSACT_RENAME))) { - /* - * Queue this open message as we are the process of an oplock break. - */ + uint32 total_parameter_count = IVAL(inbuf, smb_nt_TotalParameterCount); + uint32 total_data_count = IVAL(inbuf, smb_nt_TotalDataCount); + uint32 parameter_count = IVAL(inbuf,smb_nt_ParameterCount); + uint32 parameter_offset = IVAL(inbuf,smb_nt_ParameterOffset); + uint32 data_count = IVAL(inbuf,smb_nt_DataCount); + uint32 data_offset = IVAL(inbuf,smb_nt_DataOffset); + uint16 setup_count = 2*CVAL(inbuf,smb_nt_SetupCount); /* setup count is in *words* */ + uint16 function_code = SVAL( inbuf, smb_nt_Function); + char *params = NULL, *data = NULL, *setup = NULL; + uint32 num_params_sofar, num_data_sofar; + START_PROFILE(SMBnttrans); + + if(global_oplock_break && + ((function_code == NT_TRANSACT_CREATE) || + (function_code == NT_TRANSACT_RENAME))) { + /* + * Queue this open message as we are the process of an oplock break. + */ - DEBUG(2,("reply_nttrans: queueing message code 0x%x \ + DEBUG(2,("reply_nttrans: queueing message code 0x%x \ due to being in oplock break state.\n", (unsigned int)function_code )); - push_oplock_pending_smb_message( inbuf, length); - END_PROFILE(SMBnttrans); - return -1; - } + push_oplock_pending_smb_message( inbuf, length); + END_PROFILE(SMBnttrans); + return -1; + } - if (IS_IPC(conn) && (function_code != NT_TRANSACT_CREATE)) { - END_PROFILE(SMBnttrans); - return ERROR_DOS(ERRSRV,ERRaccess); - } + if (IS_IPC(conn) && (function_code != NT_TRANSACT_CREATE)) { + END_PROFILE(SMBnttrans); + return ERROR_DOS(ERRSRV,ERRaccess); + } - outsize = set_message(outbuf,0,0,True); + outsize = set_message(outbuf,0,0,True); - /* - * All nttrans messages we handle have smb_wct == 19 + setup_count. - * Ensure this is so as a sanity check. - */ + /* + * All nttrans messages we handle have smb_wct == 19 + setup_count. + * Ensure this is so as a sanity check. + */ - if(CVAL(inbuf, smb_wct) != 19 + (setup_count/2)) { - DEBUG(2,("Invalid smb_wct %d in nttrans call (should be %d)\n", - CVAL(inbuf, smb_wct), 19 + (setup_count/2))); - END_PROFILE(SMBnttrans); - return ERROR_DOS(ERRSRV,ERRerror); - } + if(CVAL(inbuf, smb_wct) != 19 + (setup_count/2)) { + DEBUG(2,("Invalid smb_wct %d in nttrans call (should be %d)\n", + CVAL(inbuf, smb_wct), 19 + (setup_count/2))); + goto bad_param; + } - /* Allocate the space for the setup, the maximum needed parameters and data */ - - if(setup_count > 0) - setup = (char *)malloc(setup_count); - if (total_parameter_count > 0) - params = (char *)malloc(total_parameter_count); - if (total_data_count > 0) - data = (char *)malloc(total_data_count); + /* Allocate the space for the setup, the maximum needed parameters and data */ + + if(setup_count > 0) + setup = (char *)malloc(setup_count); + if (total_parameter_count > 0) + params = (char *)malloc(total_parameter_count); + if (total_data_count > 0) + data = (char *)malloc(total_data_count); - if ((total_parameter_count && !params) || (total_data_count && !data) || - (setup_count && !setup)) { - safe_free(setup); - safe_free(params); - safe_free(data); - DEBUG(0,("reply_nttrans : Out of memory\n")); - END_PROFILE(SMBnttrans); - return ERROR_DOS(ERRDOS,ERRnomem); - } + if ((total_parameter_count && !params) || (total_data_count && !data) || + (setup_count && !setup)) { + SAFE_FREE(setup); + SAFE_FREE(params); + SAFE_FREE(data); + DEBUG(0,("reply_nttrans : Out of memory\n")); + END_PROFILE(SMBnttrans); + return ERROR_DOS(ERRDOS,ERRnomem); + } - /* Copy the param and data bytes sent with this request into - the params buffer */ - num_params_sofar = parameter_count; - num_data_sofar = data_count; + /* Copy the param and data bytes sent with this request into the params buffer */ + num_params_sofar = parameter_count; + num_data_sofar = data_count; - if (parameter_count > total_parameter_count || data_count > total_data_count) - exit_server("reply_nttrans: invalid sizes in packet."); + if (parameter_count > total_parameter_count || data_count > total_data_count) + goto bad_param; - if(setup) { - memcpy( setup, &inbuf[smb_nt_SetupStart], setup_count); - DEBUG(10,("reply_nttrans: setup_count = %d\n", setup_count)); - dump_data(10, setup, setup_count); - } - if(params) { - memcpy( params, smb_base(inbuf) + parameter_offset, parameter_count); - DEBUG(10,("reply_nttrans: parameter_count = %d\n", parameter_count)); - dump_data(10, params, parameter_count); - } - if(data) { - memcpy( data, smb_base(inbuf) + data_offset, data_count); - DEBUG(10,("reply_nttrans: data_count = %d\n",data_count)); - dump_data(10, data, data_count); - } + if(setup) { + DEBUG(10,("reply_nttrans: setup_count = %d\n", setup_count)); + if ((smb_nt_SetupStart + setup_count < smb_nt_SetupStart) || + (smb_nt_SetupStart + setup_count < setup_count)) + goto bad_param; + if (smb_nt_SetupStart + setup_count > length) + goto bad_param; - if(num_data_sofar < total_data_count || num_params_sofar < total_parameter_count) { - /* We need to send an interim response then receive the rest - of the parameter/data bytes */ - outsize = set_message(outbuf,0,0,True); - if (!send_smb(smbd_server_fd(),outbuf)) - exit_server("reply_nttrans: send_smb failed."); + memcpy( setup, &inbuf[smb_nt_SetupStart], setup_count); + dump_data(10, setup, setup_count); + } + if(params) { + DEBUG(10,("reply_nttrans: parameter_count = %d\n", parameter_count)); + if ((parameter_offset + parameter_count < parameter_offset) || + (parameter_offset + parameter_count < parameter_count)) + goto bad_param; + if (smb_base(inbuf) + parameter_offset + parameter_count > inbuf + length) + goto bad_param; + + memcpy( params, smb_base(inbuf) + parameter_offset, parameter_count); + dump_data(10, params, parameter_count); + } + if(data) { + DEBUG(10,("reply_nttrans: data_count = %d\n",data_count)); + if ((data_offset + data_count < data_offset) || (data_offset + data_count < data_count)) + goto bad_param; + if (smb_base(inbuf) + data_offset + data_count > inbuf + length) + goto bad_param; + + memcpy( data, smb_base(inbuf) + data_offset, data_count); + dump_data(10, data, data_count); + } - while( num_data_sofar < total_data_count || num_params_sofar < total_parameter_count) { - BOOL ret; + if(num_data_sofar < total_data_count || num_params_sofar < total_parameter_count) { + /* We need to send an interim response then receive the rest + of the parameter/data bytes */ + outsize = set_message(outbuf,0,0,True); + if (!send_smb(smbd_server_fd(),outbuf)) + exit_server("reply_nttrans: send_smb failed."); + + while( num_data_sofar < total_data_count || num_params_sofar < total_parameter_count) { + BOOL ret; + uint32 parameter_displacement; + uint32 data_displacement; + + ret = receive_next_smb(inbuf,bufsize,SMB_SECONDARY_WAIT); + + if((ret && (CVAL(inbuf, smb_com) != SMBnttranss)) || !ret) { + outsize = set_message(outbuf,0,0,True); + if(ret) { + DEBUG(0,("reply_nttrans: Invalid secondary nttrans packet\n")); + } else { + DEBUG(0,("reply_nttrans: %s in getting secondary nttrans response.\n", + (smb_read_error == READ_ERROR) ? "error" : "timeout" )); + } + goto bad_param; + } + + /* Revise total_params and total_data in case they have changed downwards */ + if (IVAL(inbuf, smb_nts_TotalParameterCount) < total_parameter_count) + total_parameter_count = IVAL(inbuf, smb_nts_TotalParameterCount); + if (IVAL(inbuf, smb_nts_TotalDataCount) < total_data_count) + total_data_count = IVAL(inbuf, smb_nts_TotalDataCount); + + parameter_count = IVAL(inbuf,smb_nts_ParameterCount); + parameter_offset = IVAL(inbuf, smb_nts_ParameterOffset); + parameter_displacement = IVAL(inbuf, smb_nts_ParameterDisplacement); + num_params_sofar += parameter_count; + + data_count = IVAL(inbuf, smb_nts_DataCount); + data_displacement = IVAL(inbuf, smb_nts_DataDisplacement); + data_offset = IVAL(inbuf, smb_nts_DataOffset); + num_data_sofar += data_count; + + if (num_params_sofar > total_parameter_count || num_data_sofar > total_data_count) { + DEBUG(0,("reply_nttrans2: data overflow in secondary nttrans packet")); + goto bad_param; + } - ret = receive_next_smb(inbuf,bufsize,SMB_SECONDARY_WAIT); + if (parameter_count) { + if (parameter_displacement + parameter_count >= total_parameter_count) + goto bad_param; + if ((parameter_displacement + parameter_count < parameter_displacement) || + (parameter_displacement + parameter_count < parameter_count)) + goto bad_param; + if (smb_base(inbuf) + parameter_offset + parameter_count >= inbuf + bufsize) + goto bad_param; + if (params + parameter_displacement < params) + goto bad_param; + + memcpy( ¶ms[parameter_displacement], smb_base(inbuf) + parameter_offset, parameter_count); + } - if((ret && (CVAL(inbuf, smb_com) != SMBnttranss)) || !ret) { - outsize = set_message(outbuf,0,0,True); - if(ret) { - DEBUG(0,("reply_nttrans: Invalid secondary nttrans packet\n")); - } else { - DEBUG(0,("reply_nttrans: %s in getting secondary nttrans response.\n", - (smb_read_error == READ_ERROR) ? "error" : "timeout" )); + if (data_count) { + if (data_displacement + data_count >= total_data_count) + goto bad_param; + if ((data_displacement + data_count < data_displacement) || + (data_displacement + data_count < data_count)) + goto bad_param; + if (smb_base(inbuf) + data_offset + data_count >= inbuf + bufsize) + goto bad_param; + if (data + data_displacement < data) + goto bad_param; + + memcpy( &data[data_displacement], smb_base(inbuf)+ data_offset, data_count); + } + } } - SAFE_FREE(params); - SAFE_FREE(data); - SAFE_FREE(setup); - END_PROFILE(SMBnttrans); - return ERROR_DOS(ERRSRV,ERRerror); - } - - /* Revise total_params and total_data in case they have changed downwards */ - total_parameter_count = IVAL(inbuf, smb_nts_TotalParameterCount); - total_data_count = IVAL(inbuf, smb_nts_TotalDataCount); - num_params_sofar += (parameter_count = IVAL(inbuf,smb_nts_ParameterCount)); - num_data_sofar += ( data_count = IVAL(inbuf, smb_nts_DataCount)); - if (num_params_sofar > total_parameter_count || num_data_sofar > total_data_count) - exit_server("reply_nttrans2: data overflow in secondary nttrans packet"); - - memcpy( ¶ms[ IVAL(inbuf, smb_nts_ParameterDisplacement)], - smb_base(inbuf) + IVAL(inbuf, smb_nts_ParameterOffset), parameter_count); - memcpy( &data[IVAL(inbuf, smb_nts_DataDisplacement)], - smb_base(inbuf)+ IVAL(inbuf, smb_nts_DataOffset), data_count); - } - } - if (Protocol >= PROTOCOL_NT1) - SSVAL(outbuf,smb_flg2,SVAL(outbuf,smb_flg2) | FLAGS2_IS_LONG_NAME); - - /* Now we must call the relevant NT_TRANS function */ - switch(function_code) { - case NT_TRANSACT_CREATE: - START_PROFILE_NESTED(NT_transact_create); - outsize = call_nt_transact_create(conn, inbuf, outbuf, length, bufsize, - &setup, ¶ms, &data); - END_PROFILE_NESTED(NT_transact_create); - break; - case NT_TRANSACT_IOCTL: - START_PROFILE_NESTED(NT_transact_ioctl); - outsize = call_nt_transact_ioctl(conn, inbuf, outbuf, - length, bufsize, - &setup, setup_count, - ¶ms, parameter_count, - &data, data_count); - END_PROFILE_NESTED(NT_transact_ioctl); - break; - case NT_TRANSACT_SET_SECURITY_DESC: - START_PROFILE_NESTED(NT_transact_set_security_desc); - outsize = call_nt_transact_set_security_desc(conn, inbuf, outbuf, - length, bufsize, - &setup, ¶ms, &data); - END_PROFILE_NESTED(NT_transact_set_security_desc); - break; - case NT_TRANSACT_NOTIFY_CHANGE: - START_PROFILE_NESTED(NT_transact_notify_change); - outsize = call_nt_transact_notify_change(conn, inbuf, outbuf, - length, bufsize, - &setup, ¶ms, &data); - END_PROFILE_NESTED(NT_transact_notify_change); - break; - case NT_TRANSACT_RENAME: - START_PROFILE_NESTED(NT_transact_rename); - outsize = call_nt_transact_rename(conn, inbuf, outbuf, length, + if (Protocol >= PROTOCOL_NT1) + SSVAL(outbuf,smb_flg2,SVAL(outbuf,smb_flg2) | FLAGS2_IS_LONG_NAME); + + /* Now we must call the relevant NT_TRANS function */ + switch(function_code) { + case NT_TRANSACT_CREATE: + START_PROFILE_NESTED(NT_transact_create); + outsize = call_nt_transact_create(conn, inbuf, outbuf, length, bufsize, + &setup, ¶ms, &data); + END_PROFILE_NESTED(NT_transact_create); + break; + case NT_TRANSACT_IOCTL: + START_PROFILE_NESTED(NT_transact_ioctl); + outsize = call_nt_transact_ioctl(conn, inbuf, outbuf, + length, bufsize, + &setup, setup_count, + ¶ms, parameter_count, + &data, data_count); + END_PROFILE_NESTED(NT_transact_ioctl); + break; + case NT_TRANSACT_SET_SECURITY_DESC: + START_PROFILE_NESTED(NT_transact_set_security_desc); + outsize = call_nt_transact_set_security_desc(conn, inbuf, outbuf, + length, bufsize, + &setup, ¶ms, &data); + END_PROFILE_NESTED(NT_transact_set_security_desc); + break; + case NT_TRANSACT_NOTIFY_CHANGE: + START_PROFILE_NESTED(NT_transact_notify_change); + outsize = call_nt_transact_notify_change(conn, inbuf, outbuf, + length, bufsize, + &setup, ¶ms, &data); + END_PROFILE_NESTED(NT_transact_notify_change); + break; + case NT_TRANSACT_RENAME: + START_PROFILE_NESTED(NT_transact_rename); + outsize = call_nt_transact_rename(conn, inbuf, outbuf, length, bufsize, - &setup, ¶ms, &data); - END_PROFILE_NESTED(NT_transact_rename); - break; - - case NT_TRANSACT_QUERY_SECURITY_DESC: - START_PROFILE_NESTED(NT_transact_query_security_desc); - outsize = call_nt_transact_query_security_desc(conn, inbuf, outbuf, - length, bufsize, - &setup, ¶ms, &data); - END_PROFILE_NESTED(NT_transact_query_security_desc); - break; - default: - /* Error in request */ - DEBUG(0,("reply_nttrans: Unknown request %d in nttrans call\n", function_code)); - SAFE_FREE(setup); - SAFE_FREE(params); - SAFE_FREE(data); - END_PROFILE(SMBnttrans); - return ERROR_DOS(ERRSRV,ERRerror); - } + &setup, ¶ms, &data); + END_PROFILE_NESTED(NT_transact_rename); + break; + + case NT_TRANSACT_QUERY_SECURITY_DESC: + START_PROFILE_NESTED(NT_transact_query_security_desc); + outsize = call_nt_transact_query_security_desc(conn, inbuf, outbuf, + length, bufsize, + &setup, ¶ms, &data); + END_PROFILE_NESTED(NT_transact_query_security_desc); + break; + default: + /* Error in request */ + DEBUG(0,("reply_nttrans: Unknown request %d in nttrans call\n", function_code)); + SAFE_FREE(setup); + SAFE_FREE(params); + SAFE_FREE(data); + END_PROFILE(SMBnttrans); + return ERROR_DOS(ERRSRV,ERRerror); + } - /* As we do not know how many data packets will need to be - returned here the various call_nt_transact_xxxx calls - must send their own. Thus a call_nt_transact_xxxx routine only - returns a value other than -1 when it wants to send - an error packet. - */ - - SAFE_FREE(setup); - SAFE_FREE(params); - SAFE_FREE(data); - END_PROFILE(SMBnttrans); - return outsize; /* If a correct response was needed the call_nt_transact_xxxx - calls have already sent it. If outsize != -1 then it is - returning an error packet. */ + /* As we do not know how many data packets will need to be + returned here the various call_nt_transact_xxxx calls + must send their own. Thus a call_nt_transact_xxxx routine only + returns a value other than -1 when it wants to send + an error packet. + */ + + SAFE_FREE(setup); + SAFE_FREE(params); + SAFE_FREE(data); + END_PROFILE(SMBnttrans); + return outsize; /* If a correct response was needed the call_nt_transact_xxxx + calls have already sent it. If outsize != -1 then it is + returning an error packet. */ + + bad_param: + + SAFE_FREE(params); + SAFE_FREE(data); + SAFE_FREE(setup); + END_PROFILE(SMBnttrans); + return ERROR_NT(NT_STATUS_INVALID_PARAMETER); } diff --git a/source/smbd/password.c b/source/smbd/password.c index b9b8f2f29b7..94c487db57a 100644 --- a/source/smbd/password.c +++ b/source/smbd/password.c @@ -1016,7 +1016,8 @@ struct cli_state *server_cryptkey(void) struct cli_state *cli; fstring desthost; struct in_addr dest_ip; - char *p, *pserver; + char *pserver; + const char *p; BOOL connected_ok = False; cli = server_client(); @@ -1490,7 +1491,8 @@ BOOL domain_client_validate( char *user, char *domain, unsigned char local_nt_response[24]; unsigned char trust_passwd[16]; fstring remote_machine; - char *p, *pserver; + const char *p; + const char *pserver; NET_ID_INFO_CTR ctr; NET_USER_INFO_3 info3; struct cli_state *pcli = NULL; diff --git a/source/smbd/posix_acls.c b/source/smbd/posix_acls.c index 752d807caff..8edf96279d9 100644 --- a/source/smbd/posix_acls.c +++ b/source/smbd/posix_acls.c @@ -1,8 +1,8 @@ /* - Unix SMB/Netbios implementation. - Version 1.9. + Unix SMB/CIFS implementation. SMB NT Security Descriptor / Unix permission conversion. - Copyright (C) Jeremy Allison 1994-2000 + Copyright (C) Jeremy Allison 1994-2000. + Copyright (C) Andreas Gruenbacher 2002. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -105,7 +105,7 @@ static void print_canon_ace(canon_ace *pace, int num) dbgtext( "canon_ace index %d. Type = %s ", num, pace->attr == ALLOW_ACE ? "allow" : "deny" ); dbgtext( "SID = %s ", sid_to_string( str, &pace->trustee)); if (pace->owner_type == UID_ACE) { - char *u_name = uidtoname(pace->unix_ug.uid); + const char *u_name = uidtoname(pace->unix_ug.uid); dbgtext( "uid %u (%s) ", (unsigned int)pace->unix_ug.uid, u_name); } else if (pace->owner_type == GID_ACE) { char *g_name = gidtoname(pace->unix_ug.gid); @@ -331,6 +331,24 @@ static void merge_aces( canon_ace **pp_list_head ) } /**************************************************************************** + Check if we need to return NT4.x compatible ACL entries. +****************************************************************************/ + +static BOOL nt4_compatible_acls(void) +{ + const char *compat = lp_acl_compatibility(); + + if (*compat == '\0') { + enum remote_arch_types ra_type = get_remote_arch(); + + /* Automatically adapt to client */ + return (ra_type <= RA_WINNT); + } else + return (strequal(compat, "winnt")); +} + + +/**************************************************************************** Map canon_ace perms to permission bits NT. The attr element is not used here - we only process deny entries on set, not get. Deny entries are implicit on get with ace->perms = 0. @@ -346,7 +364,19 @@ static SEC_ACCESS map_canon_ace_perms(int *pacl_type, DOM_SID *powner_sid, canon if ((ace->perms & ALL_ACE_PERMS) == ALL_ACE_PERMS) { nt_mask = UNIX_ACCESS_RWX; } else if ((ace->perms & ALL_ACE_PERMS) == (mode_t)0) { - nt_mask = UNIX_ACCESS_NONE; + /* + * Windows NT refuses to display ACEs with no permissions in them (but + * they are perfectly legal with Windows 2000). If the ACE has empty + * permissions we cannot use 0, so we use the otherwise unused + * WRITE_OWNER permission, which we ignore when we set an ACL. + * We abstract this into a #define of UNIX_ACCESS_NONE to allow this + * to be changed in the future. + */ + + if (nt4_compatible_acls()) + nt_mask = UNIX_ACCESS_NONE; + else + nt_mask = 0; } else { nt_mask |= ((ace->perms & S_IRUSR) ? UNIX_ACCESS_R : 0 ); nt_mask |= ((ace->perms & S_IWUSR) ? UNIX_ACCESS_W : 0 ); @@ -409,7 +439,7 @@ static mode_t map_nt_perms( SEC_ACCESS sec_access, int type) Unpack a SEC_DESC into a UNIX owner and group. ****************************************************************************/ -static BOOL unpack_nt_owners( int snum, SMB_STRUCT_STAT *psbuf, uid_t *puser, gid_t *pgrp, uint32 security_info_sent, SEC_DESC *psd) +static BOOL unpack_nt_owners(SMB_STRUCT_STAT *psbuf, uid_t *puser, gid_t *pgrp, uint32 security_info_sent, SEC_DESC *psd) { DOM_SID owner_sid; DOM_SID grp_sid; @@ -440,15 +470,15 @@ static BOOL unpack_nt_owners( int snum, SMB_STRUCT_STAT *psbuf, uid_t *puser, gi if (security_info_sent & OWNER_SECURITY_INFORMATION) { sid_copy(&owner_sid, psd->owner_sid); if (!sid_to_uid( &owner_sid, puser, &sid_type)) { - if (lp_force_unknown_acl_user(snum)) { - /* this allows take ownership to work reasonably */ - extern struct current_user current_user; - *puser = current_user.uid; - } else { - DEBUG(3,("unpack_nt_owners: unable to validate owner sid for %s.\n", - sid_string_static(&owner_sid))); - return False; - } +#if ACL_FORCE_UNMAPPABLE + /* this allows take ownership to work reasonably */ + extern struct current_user current_user; + *puser = current_user.uid; +#else + DEBUG(3,("unpack_nt_owners: unable to validate owner sid for %s\n", + sid_string_static(&owner_sid))); + return False; +#endif } } @@ -460,14 +490,14 @@ static BOOL unpack_nt_owners( int snum, SMB_STRUCT_STAT *psbuf, uid_t *puser, gi if (security_info_sent & GROUP_SECURITY_INFORMATION) { sid_copy(&grp_sid, psd->grp_sid); if (!sid_to_gid( &grp_sid, pgrp, &sid_type)) { - if (lp_force_unknown_acl_user(snum)) { - /* this allows take group ownership to work reasonably */ - extern struct current_user current_user; - *pgrp = current_user.gid; - } else { - DEBUG(3,("unpack_nt_owners: unable to validate group sid.\n")); - return False; - } +#if ACL_FORCE_UNMAPPABLE + /* this allows take group ownership to work reasonably */ + extern struct current_user current_user; + *pgrp = current_user.gid; +#else + DEBUG(3,("unpack_nt_owners: unable to validate group sid.\n")); + return False; +#endif } } @@ -529,12 +559,18 @@ static BOOL uid_entry_in_group( canon_ace *uid_ace, canon_ace *group_ace ) extern DOM_SID global_sid_World; fstring u_name; fstring g_name; + extern struct current_user current_user; /* "Everyone" always matches every uid. */ if (sid_equal(&group_ace->trustee, &global_sid_World)) return True; + /* Assume that the current user is in the current group (force group) */ + + if (uid_ace->unix_ug.uid == current_user.uid && group_ace->unix_ug.gid == current_user.gid) + return True; + fstrcpy(u_name, uidtoname(uid_ace->unix_ug.uid)); fstrcpy(g_name, gidtoname(group_ace->unix_ug.gid)); @@ -543,7 +579,7 @@ static BOOL uid_entry_in_group( canon_ace *uid_ace, canon_ace *group_ace ) * not uids/gids. */ - return user_in_group_list(u_name, g_name ); + return user_in_group_list(u_name, g_name); } /**************************************************************************** @@ -570,6 +606,14 @@ static BOOL ensure_canon_entry_valid(canon_ace **pp_ace, BOOL got_other = False; canon_ace *pace_other = NULL; canon_ace *pace_group = NULL; + connection_struct *conn = fsp->conn; + SMB_ACL_T current_posix_acl = NULL; + mode_t current_user_perms = 0; + mode_t current_grp_perms = 0; + mode_t current_other_perms = 0; + BOOL got_current_user = False; + BOOL got_current_grp = False; + BOOL got_current_other = False; for (pace = *pp_ace; pace; pace = pace->next) { if (pace->type == SMB_ACL_USER_OBJ) { @@ -602,6 +646,62 @@ static BOOL ensure_canon_entry_valid(canon_ace **pp_ace, } } + /* + * When setting ACLs and missing one out of SMB_ACL_USER_OBJ, + * SMB_ACL_GROUP_OBJ, SMB_ACL_OTHER, try to retrieve current + * values. For user and other a simple vfs_stat would do, but + * we would get mask instead of group. Let's do it via ACL. + */ + + if (setting_acl && (!got_user || !got_grp || !got_other)) { + + SMB_ACL_ENTRY_T entry; + int entry_id = SMB_ACL_FIRST_ENTRY; + + if(fsp->is_directory || fsp->fd == -1) { + current_posix_acl = conn->vfs_ops.sys_acl_get_file(conn, fsp->fsp_name, SMB_ACL_TYPE_ACCESS); + } else { + current_posix_acl = conn->vfs_ops.sys_acl_get_fd(fsp, fsp->fd); + } + + if (current_posix_acl) { + while (conn->vfs_ops.sys_acl_get_entry(conn, current_posix_acl, entry_id, &entry) == 1) { + SMB_ACL_TAG_T tagtype; + SMB_ACL_PERMSET_T permset; + + /* get_next... */ + if (entry_id == SMB_ACL_FIRST_ENTRY) + entry_id = SMB_ACL_NEXT_ENTRY; + + /* Is this a MASK entry ? */ + if (conn->vfs_ops.sys_acl_get_tag_type(conn, entry, &tagtype) == -1) + continue; + + if (conn->vfs_ops.sys_acl_get_permset(conn, entry, &permset) == -1) + continue; + + switch(tagtype) { + case SMB_ACL_USER_OBJ: + current_user_perms = convert_permset_to_mode_t(conn, permset); + got_current_user = True; + break; + case SMB_ACL_GROUP_OBJ: + current_grp_perms = convert_permset_to_mode_t(conn, permset); + got_current_grp = True; + break; + case SMB_ACL_OTHER: + current_other_perms = convert_permset_to_mode_t(conn, permset); + got_current_other = True; + break; + } + } + conn->vfs_ops.sys_acl_free_acl(conn, current_posix_acl); + } else { + DEBUG(10,("ensure_canon_entry_valid: failed to retrieve current ACL of %s\n", + fsp->fsp_name)); + } + } + if (!got_user) { if ((pace = (canon_ace *)malloc(sizeof(canon_ace))) == NULL) { DEBUG(0,("ensure_canon_entry_valid: malloc fail.\n")); @@ -616,13 +716,19 @@ static BOOL ensure_canon_entry_valid(canon_ace **pp_ace, pace->attr = ALLOW_ACE; if (setting_acl) { - /* If we only got an "everyone" perm, just use that. */ - if (!got_grp && got_other) - pace->perms = pace_other->perms; - else if (got_grp && uid_entry_in_group(pace, pace_group)) - pace->perms = pace_group->perms; - else - pace->perms = unix_perms_to_acl_perms(pst->st_mode, S_IRUSR, S_IWUSR, S_IXUSR); + if (got_current_user) { + pace->perms = current_user_perms; + } else { + /* If we only got an "everyone" perm, just use that. */ + if (!got_grp && got_other) + pace->perms = pace_other->perms; + else if (got_grp && uid_entry_in_group(pace, pace_group)) + pace->perms = pace_group->perms; + else + pace->perms = 0; + + } + apply_default_perms(fsp, pace, S_IRUSR); } else { pace->perms = unix_perms_to_acl_perms(pst->st_mode, S_IRUSR, S_IWUSR, S_IXUSR); @@ -644,11 +750,15 @@ static BOOL ensure_canon_entry_valid(canon_ace **pp_ace, pace->trustee = *pfile_grp_sid; pace->attr = ALLOW_ACE; if (setting_acl) { - /* If we only got an "everyone" perm, just use that. */ - if (got_other) - pace->perms = pace_other->perms; - else - pace->perms = unix_perms_to_acl_perms(pst->st_mode, S_IRGRP, S_IWGRP, S_IXGRP); + if (got_current_grp) { + pace->perms = current_grp_perms; + } else { + /* If we only got an "everyone" perm, just use that. */ + if (got_other) + pace->perms = pace_other->perms; + else + pace->perms = unix_perms_to_acl_perms(pst->st_mode, S_IRGRP, S_IWGRP, S_IXGRP); + } apply_default_perms(fsp, pace, S_IRGRP); } else { pace->perms = unix_perms_to_acl_perms(pst->st_mode, S_IRGRP, S_IWGRP, S_IXGRP); @@ -670,7 +780,10 @@ static BOOL ensure_canon_entry_valid(canon_ace **pp_ace, pace->trustee = global_sid_World; pace->attr = ALLOW_ACE; if (setting_acl) { - pace->perms = 0; + if (got_current_other) + pace->perms = current_other_perms; + else + pace->perms = 0; apply_default_perms(fsp, pace, S_IROTH); } else pace->perms = unix_perms_to_acl_perms(pst->st_mode, S_IROTH, S_IWOTH, S_IXOTH); @@ -682,6 +795,51 @@ static BOOL ensure_canon_entry_valid(canon_ace **pp_ace, } /**************************************************************************** + Check if a POSIX ACL has the required SMB_ACL_USER_OBJ and SMB_ACL_GROUP_OBJ entries. + If it does not have them, check if there are any entries where the trustee is the + file owner or the owning group, and map these to SMB_ACL_USER_OBJ and SMB_ACL_GROUP_OBJ. +****************************************************************************/ + +static void check_owning_objs(canon_ace *ace, DOM_SID *pfile_owner_sid, DOM_SID *pfile_grp_sid) +{ + BOOL got_user_obj, got_group_obj; + canon_ace *current_ace; + int i, entries; + + entries = count_canon_ace_list(ace); + got_user_obj = False; + got_group_obj = False; + + for (i=0, current_ace = ace; i < entries; i++, current_ace = current_ace->next) { + if (current_ace->type == SMB_ACL_USER_OBJ) + got_user_obj = True; + else if (current_ace->type == SMB_ACL_GROUP_OBJ) + got_group_obj = True; + } + if (got_user_obj && got_group_obj) { + DEBUG(10,("check_owning_objs: ACL had owning user/group entries.\n")); + return; + } + + for (i=0, current_ace = ace; i < entries; i++, current_ace = current_ace->next) { + if (!got_user_obj && current_ace->owner_type == UID_ACE && + sid_equal(¤t_ace->trustee, pfile_owner_sid)) { + current_ace->type = SMB_ACL_USER_OBJ; + got_user_obj = True; + } + if (!got_group_obj && current_ace->owner_type == GID_ACE && + sid_equal(¤t_ace->trustee, pfile_grp_sid)) { + current_ace->type = SMB_ACL_GROUP_OBJ; + got_group_obj = True; + } + } + if (!got_user_obj) + DEBUG(10,("check_owning_objs: ACL is missing an owner entry.\n")); + if (!got_group_obj) + DEBUG(10,("check_owning_objs: ACL is missing an owning group entry.\n")); +} + +/**************************************************************************** Unpack a SEC_DESC into two canonical ace lists. ****************************************************************************/ @@ -691,6 +849,8 @@ static BOOL create_canon_ace_lists(files_struct *fsp, canon_ace **ppfile_ace, canon_ace **ppdir_ace, SEC_ACL *dacl) { + extern DOM_SID global_sid_Creator_Owner; + extern DOM_SID global_sid_Creator_Group; extern DOM_SID global_sid_World; extern struct generic_mapping file_generic_mapping; BOOL all_aces_are_inherit_only = (fsp->is_directory ? True : False); @@ -717,23 +877,25 @@ static BOOL create_canon_ace_lists(files_struct *fsp, return False; } - /* - * The security mask may be UNIX_ACCESS_NONE which should map into - * no permissions (we overload the WRITE_OWNER bit for this) or it - * should be one of the ALL/EXECUTE/READ/WRITE bits. Arrange for this - * to be so. Any other bits override the UNIX_ACCESS_NONE bit. - */ + if (nt4_compatible_acls()) { + /* + * The security mask may be UNIX_ACCESS_NONE which should map into + * no permissions (we overload the WRITE_OWNER bit for this) or it + * should be one of the ALL/EXECUTE/READ/WRITE bits. Arrange for this + * to be so. Any other bits override the UNIX_ACCESS_NONE bit. + */ - /* - * Convert GENERIC bits to specific bits. - */ + /* + * Convert GENERIC bits to specific bits. + */ - se_map_generic(&psa->info.mask, &file_generic_mapping); + se_map_generic(&psa->info.mask, &file_generic_mapping); - psa->info.mask &= (UNIX_ACCESS_NONE|FILE_ALL_ACCESS); + psa->info.mask &= (UNIX_ACCESS_NONE|FILE_ALL_ACCESS); - if(psa->info.mask != UNIX_ACCESS_NONE) - psa->info.mask &= ~UNIX_ACCESS_NONE; + if(psa->info.mask != UNIX_ACCESS_NONE) + psa->info.mask &= ~UNIX_ACCESS_NONE; + } } /* @@ -808,15 +970,45 @@ static BOOL create_canon_ace_lists(files_struct *fsp, /* * Try and work out if the SID is a user or group * as we need to flag these differently for POSIX. + * Note what kind of a POSIX ACL this should map to. */ if( sid_equal(¤t_ace->trustee, &global_sid_World)) { current_ace->owner_type = WORLD_ACE; current_ace->unix_ug.world = -1; + current_ace->type = SMB_ACL_OTHER; + } else if (sid_equal(¤t_ace->trustee, &global_sid_Creator_Owner)) { + current_ace->owner_type = UID_ACE; + current_ace->unix_ug.world = -1; + current_ace->type = SMB_ACL_USER_OBJ; + + /* + * The Creator Owner entry only specifies inheritable permissions, + * never access permissions. WinNT doesn't always set the ACE to + *INHERIT_ONLY, though. + */ + + if (nt4_compatible_acls()) + psa->flags |= SEC_ACE_FLAG_INHERIT_ONLY; + } else if (sid_equal(¤t_ace->trustee, &global_sid_Creator_Group)) { + current_ace->owner_type = GID_ACE; + current_ace->unix_ug.world = -1; + current_ace->type = SMB_ACL_GROUP_OBJ; + + /* + * The Creator Group entry only specifies inheritable permissions, + * never access permissions. WinNT doesn't always set the ACE to + *INHERIT_ONLY, though. + */ + if (nt4_compatible_acls()) + psa->flags |= SEC_ACE_FLAG_INHERIT_ONLY; + } else if (sid_to_uid( ¤t_ace->trustee, ¤t_ace->unix_ug.uid, &sid_type)) { current_ace->owner_type = UID_ACE; + current_ace->type = SMB_ACL_USER; } else if (sid_to_gid( ¤t_ace->trustee, ¤t_ace->unix_ug.gid, &sid_type)) { current_ace->owner_type = GID_ACE; + current_ace->type = SMB_ACL_GROUP; } else { fstring str; @@ -837,31 +1029,6 @@ static BOOL create_canon_ace_lists(files_struct *fsp, current_ace->attr = (psa->type == SEC_ACE_TYPE_ACCESS_ALLOWED) ? ALLOW_ACE : DENY_ACE; /* - * Now note what kind of a POSIX ACL this should map to. - */ - - if(sid_equal(¤t_ace->trustee, pfile_owner_sid)) { - - current_ace->type = SMB_ACL_USER_OBJ; - - } else if( sid_equal(¤t_ace->trustee, pfile_grp_sid)) { - - current_ace->type = SMB_ACL_GROUP_OBJ; - - } else if( sid_equal(¤t_ace->trustee, &global_sid_World)) { - - current_ace->type = SMB_ACL_OTHER; - - } else { - /* - * Could be a SMB_ACL_USER or SMB_ACL_GROUP. Check by - * looking at owner_type. - */ - - current_ace->type = (current_ace->owner_type == UID_ACE) ? SMB_ACL_USER : SMB_ACL_GROUP; - } - - /* * Now add the created ace to either the file list, the directory * list, or both. We *MUST* preserve the order here (hence we use * DLIST_ADD_END) as NT ACLs are order dependent. @@ -986,6 +1153,15 @@ Deny entry after Allow entry. Failing to set on file %s.\n", fsp->fsp_name )); free_canon_ace_list(dir_ace); file_ace = NULL; dir_ace = NULL; + } else { + /* + * Check if we have SMB_ACL_USER_OBJ and SMB_ACL_GROUP_OBJ entries in each + * ACL. If we don't have them, check if any SMB_ACL_USER/SMB_ACL_GROUP + * entries can be converted to *_OBJ. Usually we will already have these + * entries in the Default ACL, and the Access ACL will not have them. + */ + check_owning_objs(file_ace, pfile_owner_sid, pfile_grp_sid); + check_owning_objs(dir_ace, pfile_owner_sid, pfile_grp_sid); } *ppfile_ace = file_ace; @@ -1391,7 +1567,7 @@ static BOOL unpack_canon_ace(files_struct *fsp, pst->st_mode = create_default_mode(fsp, True); - if (!ensure_canon_entry_valid(&dir_ace, fsp, pfile_owner_sid, pfile_grp_sid, pst, True)) { + if (dir_ace && !ensure_canon_entry_valid(&dir_ace, fsp, pfile_owner_sid, pfile_grp_sid, pst, True)) { free_canon_ace_list(file_ace); free_canon_ace_list(dir_ace); return False; @@ -1414,14 +1590,13 @@ static BOOL unpack_canon_ace(files_struct *fsp, Note that this doesn't exactly match the NT semantics for an ACL. As POSIX entries are not ordered, and match on the most specific entry rather than walking a list, - then a simple POSIX permission of rw-r--r-- should really map to 6 entries, + then a simple POSIX permission of rw-r--r-- should really map to 5 entries, Entry 0: owner : deny all except read and write. Entry 1: group : deny all except read. - Entry 2: Everyone : deny all except read. - Entry 3: owner : allow read and write. - Entry 4: group : allow read. - Entry 5: Everyone : allow read. + Entry 2: owner : allow read and write. + Entry 3: group : allow read. + Entry 4: Everyone : allow read. But NT cannot display this in their ACL editor ! ********************************************************************************/ @@ -1471,7 +1646,7 @@ static void arrange_posix_perms( char *filename, canon_ace **pp_list_head) ****************************************************************************/ static canon_ace *canonicalise_acl( files_struct *fsp, SMB_ACL_T posix_acl, SMB_STRUCT_STAT *psbuf, - DOM_SID *powner, DOM_SID *pgroup) + DOM_SID *powner, DOM_SID *pgroup, SMB_ACL_TYPE_T the_acl_type) { extern DOM_SID global_sid_World; connection_struct *conn = fsp->conn; @@ -1505,7 +1680,7 @@ static canon_ace *canonicalise_acl( files_struct *fsp, SMB_ACL_T posix_acl, SMB_ switch(tagtype) { case SMB_ACL_USER_OBJ: /* Get the SID from the owner. */ - uid_to_sid( &sid, psbuf->st_uid ); + sid_copy(&sid, powner); unix_ug.uid = psbuf->st_uid; owner_type = UID_ACE; break; @@ -1516,6 +1691,15 @@ static canon_ace *canonicalise_acl( files_struct *fsp, SMB_ACL_T posix_acl, SMB_ DEBUG(0,("canonicalise_acl: Failed to get uid.\n")); continue; } + /* + * A SMB_ACL_USER entry for the owner is shadowed by the + * SMB_ACL_USER_OBJ entry and Windows also cannot represent + * that entry, so we ignore it. We also don't create such + * entries out of the blue when setting ACLs, so a get/set + * cycle will drop them. + */ + if (the_acl_type == SMB_ACL_TYPE_ACCESS && *puid == psbuf->st_uid) + continue; uid_to_sid( &sid, *puid); unix_ug.uid = *puid; owner_type = UID_ACE; @@ -1524,7 +1708,7 @@ static canon_ace *canonicalise_acl( files_struct *fsp, SMB_ACL_T posix_acl, SMB_ } case SMB_ACL_GROUP_OBJ: /* Get the SID from the owning group. */ - gid_to_sid( &sid, psbuf->st_gid ); + sid_copy(&sid, pgroup); unix_ug.gid = psbuf->st_gid; owner_type = GID_ACE; break; @@ -1627,8 +1811,16 @@ static BOOL set_canon_ace_list(files_struct *fsp, canon_ace *the_ace, BOOL defau canon_ace *p_ace; int i; SMB_ACL_ENTRY_T mask_entry; + BOOL got_mask_entry = False; SMB_ACL_PERMSET_T mask_permset; SMB_ACL_TYPE_T the_acl_type = (default_ace ? SMB_ACL_TYPE_DEFAULT : SMB_ACL_TYPE_ACCESS); + BOOL needs_mask = False; + mode_t mask_perms = 0; + +#if defined(POSIX_ACL_NEEDS_MASK) + /* HP-UX always wants to have a mask (called "class" there). */ + needs_mask = True; +#endif if (the_acl == NULL) { @@ -1644,11 +1836,32 @@ static BOOL set_canon_ace_list(files_struct *fsp, canon_ace *the_ace, BOOL defau return False; } + if( DEBUGLVL( 10 )) { + dbgtext("set_canon_ace_list: setting ACL:\n"); + for (i = 0, p_ace = the_ace; p_ace; p_ace = p_ace->next, i++ ) { + print_canon_ace( p_ace, i); + } + } + for (i = 0, p_ace = the_ace; p_ace; p_ace = p_ace->next, i++ ) { SMB_ACL_ENTRY_T the_entry; SMB_ACL_PERMSET_T the_permset; /* + * ACLs only "need" an ACL_MASK entry if there are any named user or + * named group entries. But if there is an ACL_MASK entry, it applies + * to ACL_USER, ACL_GROUP, and ACL_GROUP_OBJ entries. Set the mask + * so that it doesn't deny (i.e., mask off) any permissions. + */ + + if (p_ace->type == SMB_ACL_USER || p_ace->type == SMB_ACL_GROUP) { + needs_mask = True; + mask_perms |= p_ace->perms; + } else if (p_ace->type == SMB_ACL_GROUP_OBJ) { + mask_perms |= p_ace->perms; + } + + /* * Get the entry for this ACE. */ @@ -1658,6 +1871,11 @@ static BOOL set_canon_ace_list(files_struct *fsp, canon_ace *the_ace, BOOL defau goto done; } + if (p_ace->type == SMB_ACL_MASK) { + mask_entry = the_entry; + got_mask_entry = True; + } + /* * Ok - we now know the ACL calls should be working, don't * allow fallback to chmod. @@ -1722,33 +1940,31 @@ static BOOL set_canon_ace_list(files_struct *fsp, canon_ace *the_ace, BOOL defau print_canon_ace( p_ace, i); } - /* - * Add in a mask of rwx. - */ - - if (conn->vfs_ops.sys_acl_create_entry( conn, &the_acl, &mask_entry) == -1) { - DEBUG(0,("set_canon_ace_list: Failed to create mask entry. (%s)\n", strerror(errno) )); - goto done; - } + if (needs_mask && !got_mask_entry) { + if (conn->vfs_ops.sys_acl_create_entry(conn, &the_acl, &mask_entry) == -1) { + DEBUG(0,("set_canon_ace_list: Failed to create mask entry. (%s)\n", strerror(errno) )); + goto done; + } - if (conn->vfs_ops.sys_acl_set_tag_type(conn, mask_entry, SMB_ACL_MASK) == -1) { - DEBUG(0,("set_canon_ace_list: Failed to set tag type on mask entry. (%s)\n",strerror(errno) )); - goto done; - } + if (conn->vfs_ops.sys_acl_set_tag_type(conn, mask_entry, SMB_ACL_MASK) == -1) { + DEBUG(0,("set_canon_ace_list: Failed to set tag type on mask entry. (%s)\n",strerror(errno) )); + goto done; + } - if (conn->vfs_ops.sys_acl_get_permset(conn, mask_entry, &mask_permset) == -1) { - DEBUG(0,("set_canon_ace_list: Failed to get mask permset. (%s)\n", strerror(errno) )); - goto done; - } + if (conn->vfs_ops.sys_acl_get_permset(conn, mask_entry, &mask_permset) == -1) { + DEBUG(0,("set_canon_ace_list: Failed to get mask permset. (%s)\n", strerror(errno) )); + goto done; + } - if (map_acl_perms_to_permset(conn, S_IRUSR|S_IWUSR|S_IXUSR, &mask_permset) == -1) { - DEBUG(0,("set_canon_ace_list: Failed to create mask permset. (%s)\n", strerror(errno) )); - goto done; - } + if (map_acl_perms_to_permset(conn, S_IRUSR|S_IWUSR|S_IXUSR, &mask_permset) == -1) { + DEBUG(0,("set_canon_ace_list: Failed to create mask permset. (%s)\n", strerror(errno) )); + goto done; + } - if (conn->vfs_ops.sys_acl_set_permset(conn, mask_entry, mask_permset) == -1) { - DEBUG(0,("set_canon_ace_list: Failed to add mask permset. (%s)\n", strerror(errno) )); - goto done; + if (conn->vfs_ops.sys_acl_set_permset(conn, mask_entry, mask_permset) == -1) { + DEBUG(0,("set_canon_ace_list: Failed to add mask permset. (%s)\n", strerror(errno) )); + goto done; + } } /* @@ -1774,7 +1990,13 @@ static BOOL set_canon_ace_list(files_struct *fsp, canon_ace *the_ace, BOOL defau */ if (errno == ENOSYS) *pacl_set_support = False; - DEBUG(2,("set_canon_ace_list: conn->vfs_ops.sys_acl_set_file type %s failed for file %s (%s).\n", + +#ifdef ENOTSUP + if (errno == ENOTSUP) + *pacl_set_support = False; +#endif + + DEBUG(2,("set_canon_ace_list: sys_acl_set_file type %s failed for file %s (%s).\n", the_acl_type == SMB_ACL_TYPE_DEFAULT ? "directory default" : "file", fsp->fsp_name, strerror(errno) )); goto done; @@ -1787,7 +2009,13 @@ static BOOL set_canon_ace_list(files_struct *fsp, canon_ace *the_ace, BOOL defau */ if (errno == ENOSYS) *pacl_set_support = False; - DEBUG(2,("set_canon_ace_list: conn->vfs_ops.sys_acl_set_file failed for file %s (%s).\n", + +#ifdef ENOTSUP + if (errno == ENOTSUP) + *pacl_set_support = False; +#endif + + DEBUG(2,("set_canon_ace_list: sys_acl_set_file failed for file %s (%s).\n", fsp->fsp_name, strerror(errno) )); goto done; } @@ -1804,6 +2032,39 @@ static BOOL set_canon_ace_list(files_struct *fsp, canon_ace *the_ace, BOOL defau } /**************************************************************************** + Find a particular canon_ace entry. +****************************************************************************/ + +static struct canon_ace *canon_ace_entry_for(struct canon_ace *list, SMB_ACL_TAG_T type, posix_id *id) +{ + while (list) { + if (list->type == type && ((type != SMB_ACL_USER && type != SMB_ACL_GROUP) || + (type == SMB_ACL_USER && id && id->uid == list->unix_ug.uid) || + (type == SMB_ACL_GROUP && id && id->gid == list->unix_ug.gid))) + break; + list = list->next; + } + return list; +} + +/**************************************************************************** + +****************************************************************************/ + +SMB_ACL_T free_empty_sys_acl(connection_struct *conn, SMB_ACL_T acl) +{ + SMB_ACL_ENTRY_T entry; + + if (!acl) + return NULL; + if (conn->vfs_ops.sys_acl_get_entry(conn, acl, SMB_ACL_FIRST_ENTRY, &entry) != 1) { + conn->vfs_ops.sys_acl_free_acl(conn, acl); + return NULL; + } + return acl; +} + +/**************************************************************************** Convert a canon_ace to a generic 3 element permission - if possible. ****************************************************************************/ @@ -1938,6 +2199,8 @@ size_t get_nt_acl(files_struct *fsp, SEC_DESC **ppdesc) { extern DOM_SID global_sid_Builtin_Administrators; extern DOM_SID global_sid_Builtin_Users; + extern DOM_SID global_sid_Creator_Owner; + extern DOM_SID global_sid_Creator_Group; connection_struct *conn = fsp->conn; SMB_STRUCT_STAT sbuf; SEC_ACE *nt_ace_list = NULL; @@ -1968,14 +2231,16 @@ size_t get_nt_acl(files_struct *fsp, SEC_DESC **ppdesc) * Get the ACL from the path. */ - posix_acl = conn->vfs_ops.sys_acl_get_file( conn, dos_to_unix_static(fsp->fsp_name), SMB_ACL_TYPE_ACCESS); + posix_acl = conn->vfs_ops.sys_acl_get_file(conn, dos_to_unix_static(fsp->fsp_name), SMB_ACL_TYPE_ACCESS); /* * If it's a directory get the default POSIX ACL. */ - if(fsp->is_directory) - dir_acl = conn->vfs_ops.sys_acl_get_file( conn, dos_to_unix_static(fsp->fsp_name), SMB_ACL_TYPE_DEFAULT); + if(fsp->is_directory) { + dir_acl = conn->vfs_ops.sys_acl_get_file(conn, dos_to_unix_static(fsp->fsp_name), SMB_ACL_TYPE_DEFAULT); + dir_acl = free_empty_sys_acl(conn, dir_acl); + } } else { @@ -2006,35 +2271,31 @@ size_t get_nt_acl(files_struct *fsp, SEC_DESC **ppdesc) create_file_sids(&sbuf, &owner_sid, &group_sid); } + /* + * In the optimum case Creator Owner and Creator Group would be used for + * the ACL_USER_OBJ and ACL_GROUP_OBJ entries, respectively, but this + * would lead to usability problems under Windows: The Creator entries + * are only available in browse lists of directories and not for files; + * additionally the identity of the owning group couldn't be determined. + * We therefore use those identities only for Default ACLs. + */ + /* Create the canon_ace lists. */ - file_ace = canonicalise_acl( fsp, posix_acl, &sbuf, &owner_sid, &group_sid); - num_acls = count_canon_ace_list(file_ace); + file_ace = canonicalise_acl( fsp, posix_acl, &sbuf, &owner_sid, &group_sid, SMB_ACL_TYPE_ACCESS ); /* We must have *some* ACLS. */ - if (num_acls == 0) { + if (count_canon_ace_list(file_ace) == 0) { DEBUG(0,("get_nt_acl : No ACLs on file (%s) !\n", fsp->fsp_name )); return 0; } - if (fsp->is_directory) { - /* - * If we have to fake a default ACL then this is the mode to use. - */ - sbuf.st_mode = unix_mode( fsp->conn, FILE_ATTRIBUTE_ARCHIVE, fsp->fsp_name); - - dir_ace = canonicalise_acl(fsp, dir_acl, &sbuf, &owner_sid, &group_sid); - num_dir_acls = count_canon_ace_list(dir_ace); - } - - /* Allocate the ace list. */ - if ((nt_ace_list = (SEC_ACE *)malloc((num_acls + num_profile_acls + num_dir_acls)* sizeof(SEC_ACE))) == NULL) { - DEBUG(0,("get_nt_acl: Unable to malloc space for nt_ace_list.\n")); - goto done; + if (fsp->is_directory && dir_acl) { + dir_ace = canonicalise_acl(fsp, dir_acl, &sbuf, + &global_sid_Creator_Owner, + &global_sid_Creator_Group, SMB_ACL_TYPE_DEFAULT ); } - memset(nt_ace_list, '\0', (num_acls + num_profile_acls + num_dir_acls) * sizeof(SEC_ACE) ); - /* * Create the NT ACE list from the canonical ace lists. */ @@ -2044,6 +2305,99 @@ size_t get_nt_acl(files_struct *fsp, SEC_DESC **ppdesc) int nt_acl_type; int i; + if (nt4_compatible_acls()) { + /* + * NT 4 chokes if an ACL contains an INHERIT_ONLY entry + * but no non-INHERIT_ONLY entry for one SID. So we only + * remove entries from the Access ACL if the + * corresponding Default ACL entries have also been + * removed. ACEs for CREATOR-OWNER and CREATOR-GROUP + * are exceptions. We can do nothing + * intelligent if the Default ACL contains entries that + * are not also contained in the Access ACL, so this + * case will still fail under NT 4. + */ + + if (!dir_ace) + goto simplify_file_ace_only; + + ace = canon_ace_entry_for(dir_ace, SMB_ACL_OTHER, NULL); + if (ace && !ace->perms) { + DLIST_REMOVE(dir_ace, ace); + SAFE_FREE(ace); + + ace = canon_ace_entry_for(file_ace, SMB_ACL_OTHER, NULL); + if (ace && !ace->perms) { + DLIST_REMOVE(file_ace, ace); + SAFE_FREE(ace); + } + } + + /* + * WinNT doesn't usually have Creator Group + * in browse lists, so we send this entry to + * WinNT even if it contains no relevant + * permissions. Once we can add + * Creator Group to browse lists we can + * re-enable this. + */ + +#if 0 + ace = canon_ace_entry_for(dir_ace, SMB_ACL_GROUP_OBJ, NULL); + if (ace && !ace->perms) { + DLIST_REMOVE(dir_ace, ace); + SAFE_FREE(ace); + } +#endif + + ace = canon_ace_entry_for(file_ace, SMB_ACL_GROUP_OBJ, NULL); + if (ace && !ace->perms) { + DLIST_REMOVE(file_ace, ace); + SAFE_FREE(ace); + } + } else { + + ace = canon_ace_entry_for(dir_ace, SMB_ACL_OTHER, NULL); + if (ace && !ace->perms) { + DLIST_REMOVE(dir_ace, ace); + SAFE_FREE(ace); + } + ace = canon_ace_entry_for(dir_ace, SMB_ACL_GROUP_OBJ, NULL); + if (ace && !ace->perms) { + DLIST_REMOVE(dir_ace, ace); + SAFE_FREE(ace); + } + + simplify_file_ace_only: + + ace = canon_ace_entry_for(file_ace, SMB_ACL_OTHER, NULL); + if (ace && !ace->perms) { + DLIST_REMOVE(file_ace, ace); + SAFE_FREE(ace); + } + + ace = canon_ace_entry_for(file_ace, SMB_ACL_GROUP_OBJ, NULL); + if (ace && !ace->perms) { + DLIST_REMOVE(file_ace, ace); + SAFE_FREE(ace); + } + } + + num_acls = count_canon_ace_list(file_ace); + num_dir_acls = count_canon_ace_list(dir_ace); + + /* Allocate the ace list. */ + if ((nt_ace_list = (SEC_ACE *)malloc((num_acls + num_profile_acls + num_dir_acls)* sizeof(SEC_ACE))) == NULL) { + DEBUG(0,("get_nt_acl: Unable to malloc space for nt_ace_list.\n")); + goto done; + } + + memset(nt_ace_list, '\0', (num_acls + num_dir_acls) * sizeof(SEC_ACE) ); + + /* + * Create the NT ACE list from the canonical ace lists. + */ + ace = file_ace; for (i = 0; i < num_acls; i++, ace = ace->next) { @@ -2056,6 +2410,7 @@ size_t get_nt_acl(files_struct *fsp, SEC_DESC **ppdesc) /* The User must have access to a profile share - even if we can't map the SID. */ if (lp_profile_acls(SNUM(fsp->conn))) { SEC_ACCESS acc; + init_sec_access(&acc,FILE_GENERIC_ALL); init_sec_ace(&nt_ace_list[num_aces++], &global_sid_Builtin_Users, SEC_ACE_TYPE_ACCESS_ALLOWED, acc, 0); } @@ -2066,13 +2421,14 @@ size_t get_nt_acl(files_struct *fsp, SEC_DESC **ppdesc) SEC_ACCESS acc; acc = map_canon_ace_perms(&nt_acl_type, &owner_sid, ace ); - init_sec_ace(&nt_ace_list[num_aces++], &ace->trustee, nt_acl_type, acc, + init_sec_ace(&nt_ace_list[num_aces++], &ace->trustee, nt_acl_type, acc, SEC_ACE_FLAG_OBJECT_INHERIT|SEC_ACE_FLAG_CONTAINER_INHERIT|SEC_ACE_FLAG_INHERIT_ONLY); } /* The User must have access to a profile share - even if we can't map the SID. */ if (lp_profile_acls(SNUM(fsp->conn))) { SEC_ACCESS acc; + init_sec_access(&acc,FILE_GENERIC_ALL); init_sec_ace(&nt_ace_list[num_aces++], &global_sid_Builtin_Users, SEC_ACE_TYPE_ACCESS_ALLOWED, acc, SEC_ACE_FLAG_OBJECT_INHERIT|SEC_ACE_FLAG_CONTAINER_INHERIT| @@ -2107,11 +2463,22 @@ size_t get_nt_acl(files_struct *fsp, SEC_DESC **ppdesc) if(!*ppdesc) { DEBUG(0,("get_nt_acl: Unable to malloc space for security descriptor.\n")); sd_size = 0; + } else { + /* + * Windows 2000: The DACL_PROTECTED flag in the security + * descriptor marks the ACL as non-inheriting, i.e., no + * ACEs from higher level directories propagate to this + * ACL. In the POSIX ACL model permissions are only + * inherited at file create time, so ACLs never contain + * any ACEs that are inherited dynamically. The DACL_PROTECTED + * flag doesn't seem to bother Windows NT. + */ + (*ppdesc)->type |= SE_DESC_DACL_PROTECTED; } - done: + done: - if (posix_acl) + if (posix_acl) conn->vfs_ops.sys_acl_free_acl(conn, posix_acl); if (dir_acl) conn->vfs_ops.sys_acl_free_acl(conn, dir_acl); @@ -2188,6 +2555,8 @@ BOOL set_nt_acl(files_struct *fsp, uint32 security_info_sent, SEC_DESC *psd) mode_t orig_mode = (mode_t)0; uid_t orig_uid; gid_t orig_gid; + BOOL need_chown = False; + extern struct current_user current_user; DEBUG(10,("set_nt_acl: called for file %s\n", fsp->fsp_name )); @@ -2217,14 +2586,23 @@ BOOL set_nt_acl(files_struct *fsp, uint32 security_info_sent, SEC_DESC *psd) * Unpack the user/group/world id's. */ - if (!unpack_nt_owners( SNUM(conn), &sbuf, &user, &grp, security_info_sent, psd)) + if (!unpack_nt_owners( &sbuf, &user, &grp, security_info_sent, psd)) return False; /* * Do we need to chown ? */ - if((user != (uid_t)-1 || grp != (uid_t)-1) && (orig_uid != user || orig_gid != grp)) { + if (((user != (uid_t)-1) && (orig_uid != user)) || (( grp != (uid_t)-1) && (orig_gid != grp))) + need_chown = True; + + /* + * Chown before setting ACL only if we don't change the user, or + * if we change to the current user, but not if we want to give away + * the file. + */ + + if (need_chown && (user == (uid_t)-1 || user == current_user.uid)) { DEBUG(3,("set_nt_acl: chown %s. uid = %u, gid = %u.\n", fsp->fsp_name, (unsigned int)user, (unsigned int)grp )); @@ -2261,6 +2639,9 @@ BOOL set_nt_acl(files_struct *fsp, uint32 security_info_sent, SEC_DESC *psd) orig_mode = sbuf.st_mode; orig_uid = sbuf.st_uid; orig_gid = sbuf.st_gid; + + /* We did it, don't try again */ + need_chown = False; } create_file_sids(&sbuf, &file_owner_sid, &file_grp_sid); @@ -2268,97 +2649,110 @@ BOOL set_nt_acl(files_struct *fsp, uint32 security_info_sent, SEC_DESC *psd) acl_perms = unpack_canon_ace( fsp, &sbuf, &file_owner_sid, &file_grp_sid, &file_ace_list, &dir_ace_list, security_info_sent, psd); - if ((file_ace_list == NULL) && (dir_ace_list == NULL)) { - /* W2K traverse DACL set - ignore. */ - return True; - } - - if (!acl_perms) { - DEBUG(3,("set_nt_acl: cannot set permissions\n")); - free_canon_ace_list(file_ace_list); - free_canon_ace_list(dir_ace_list); - return False; - } - - /* - * Only change security if we got a DACL. - */ - - if((security_info_sent & DACL_SECURITY_INFORMATION) && (psd->dacl != NULL)) { + /* Ignore W2K traverse DACL set. */ + if (file_ace_list || dir_ace_list) { - BOOL acl_set_support = False; - BOOL ret = False; + if (!acl_perms) { + DEBUG(3,("set_nt_acl: cannot set permissions\n")); + free_canon_ace_list(file_ace_list); + free_canon_ace_list(dir_ace_list); + return False; + } /* - * Try using the POSIX ACL set first. Fall back to chmod if - * we have no ACL support on this filesystem. + * Only change security if we got a DACL. */ - if (acl_perms && file_ace_list) { - ret = set_canon_ace_list(fsp, file_ace_list, False, &acl_set_support); - if (acl_set_support && ret == False) { - DEBUG(3,("set_nt_acl: failed to set file acl on file %s (%s).\n", fsp->fsp_name, strerror(errno) )); - free_canon_ace_list(file_ace_list); - free_canon_ace_list(dir_ace_list); - return False; - } - } + if((security_info_sent & DACL_SECURITY_INFORMATION) && (psd->dacl != NULL)) { - if (acl_perms && acl_set_support && fsp->is_directory) { - if (dir_ace_list) { - if (!set_canon_ace_list(fsp, dir_ace_list, True, &acl_set_support)) { - DEBUG(3,("set_nt_acl: failed to set default acl on directory %s (%s).\n", fsp->fsp_name, strerror(errno) )); - free_canon_ace_list(file_ace_list); - free_canon_ace_list(dir_ace_list); - return False; - } - } else { + BOOL acl_set_support = False; + BOOL ret = False; - /* - * No default ACL - delete one if it exists. - */ + /* + * Try using the POSIX ACL set first. Fall back to chmod if + * we have no ACL support on this filesystem. + */ - if (conn->vfs_ops.sys_acl_delete_def_file(conn, dos_to_unix_static(fsp->fsp_name)) == -1) { - DEBUG(3,("set_nt_acl: conn->vfs_ops.sys_acl_delete_def_file failed (%s)\n", strerror(errno))); + if (acl_perms && file_ace_list) { + ret = set_canon_ace_list(fsp, file_ace_list, False, &acl_set_support); + if (acl_set_support && ret == False) { + DEBUG(3,("set_nt_acl: failed to set file acl on file %s (%s).\n", fsp->fsp_name, strerror(errno) )); free_canon_ace_list(file_ace_list); + free_canon_ace_list(dir_ace_list); return False; } } - } - /* - * If we cannot set using POSIX ACLs we fall back to checking if we need to chmod. - */ + if (acl_perms && acl_set_support && fsp->is_directory) { + if (dir_ace_list) { + if (!set_canon_ace_list(fsp, dir_ace_list, True, &acl_set_support)) { + DEBUG(3,("set_nt_acl: failed to set default acl on directory %s (%s).\n", fsp->fsp_name, strerror(errno) )); + free_canon_ace_list(file_ace_list); + free_canon_ace_list(dir_ace_list); + return False; + } + } else { - if(!acl_set_support && acl_perms) { - mode_t posix_perms; + /* + * No default ACL - delete one if it exists. + */ - if (!convert_canon_ace_to_posix_perms( fsp, file_ace_list, &posix_perms)) { - free_canon_ace_list(file_ace_list); - free_canon_ace_list(dir_ace_list); - DEBUG(3,("set_nt_acl: failed to convert file acl to posix permissions for file %s.\n", - fsp->fsp_name )); - return False; + if (conn->vfs_ops.sys_acl_delete_def_file(conn, dos_to_unix_static(fsp->fsp_name)) == -1) { + DEBUG(3,("set_nt_acl: sys_acl_delete_def_file failed (%s)\n", strerror(errno))); + free_canon_ace_list(file_ace_list); + free_canon_ace_list(dir_ace_list); + return False; + } + } } - if (orig_mode != posix_perms) { + /* + * If we cannot set using POSIX ACLs we fall back to checking if we need to chmod. + */ - DEBUG(3,("set_nt_acl: chmod %s. perms = 0%o.\n", - fsp->fsp_name, (unsigned int)posix_perms )); + if(!acl_set_support && acl_perms) { + mode_t posix_perms; - if(conn->vfs_ops.chmod(conn,dos_to_unix_static(fsp->fsp_name), posix_perms) == -1) { - DEBUG(3,("set_nt_acl: chmod %s, 0%o failed. Error = %s.\n", - fsp->fsp_name, (unsigned int)posix_perms, strerror(errno) )); + if (!convert_canon_ace_to_posix_perms( fsp, file_ace_list, &posix_perms)) { free_canon_ace_list(file_ace_list); free_canon_ace_list(dir_ace_list); + DEBUG(3,("set_nt_acl: failed to convert file acl to posix permissions for file %s.\n", + fsp->fsp_name )); return False; } + + if (orig_mode != posix_perms) { + + DEBUG(3,("set_nt_acl: chmod %s. perms = 0%o.\n", + fsp->fsp_name, (unsigned int)posix_perms )); + + if(conn->vfs_ops.chmod(conn,dos_to_unix_static(fsp->fsp_name), posix_perms) == -1) { + DEBUG(3,("set_nt_acl: chmod %s, 0%o failed. Error = %s.\n", + fsp->fsp_name, (unsigned int)posix_perms, strerror(errno) )); + free_canon_ace_list(file_ace_list); + free_canon_ace_list(dir_ace_list); + return False; + } + } } } + + free_canon_ace_list(file_ace_list); + free_canon_ace_list(dir_ace_list); } - free_canon_ace_list(file_ace_list); - free_canon_ace_list(dir_ace_list); + /* Any chown pending? */ + if (need_chown) { + + DEBUG(3,("set_nt_acl: chown %s. uid = %u, gid = %u.\n", + fsp->fsp_name, (unsigned int)user, (unsigned int)grp )); + + if(try_chown( fsp->conn, fsp->fsp_name, user, grp) == -1) { + DEBUG(3,("set_nt_acl: chown %s, %u, %u failed. Error = %s.\n", + fsp->fsp_name, (unsigned int)user, (unsigned int)grp, strerror(errno) )); + return False; + } + } return True; } @@ -2394,11 +2788,17 @@ static int chmod_acl_internals( connection_struct *conn, SMB_ACL_T posix_acl, mo switch(tagtype) { case SMB_ACL_USER_OBJ: perms = unix_perms_to_acl_perms(mode, S_IRUSR, S_IWUSR, S_IXUSR); - break; + break; case SMB_ACL_GROUP_OBJ: perms = unix_perms_to_acl_perms(mode, S_IRGRP, S_IWGRP, S_IXGRP); break; case SMB_ACL_MASK: + /* + * FIXME: The ACL_MASK entry permissions should really be set to + * the union of the permissions of all ACL_USER, + * ACL_GROUP_OBJ, and ACL_GROUP entries. That's what + * acl_calc_mask() does, but Samba ACLs doesn't provide it. + */ perms = S_IRUSR|S_IWUSR|S_IXUSR; break; case SMB_ACL_OTHER: @@ -2427,31 +2827,58 @@ static int chmod_acl_internals( connection_struct *conn, SMB_ACL_T posix_acl, mo } /**************************************************************************** - Do a chmod by setting the ACL USER_OBJ, GROUP_OBJ and OTHER bits in an ACL - and set the mask to rwx. Needed to preserve complex ACLs set by NT. - Note that name is in UNIX character set. + Get the access ACL of FROM, do a chmod by setting the ACL USER_OBJ, + GROUP_OBJ and OTHER bits in an ACL and set the mask to rwx. Set the + resulting ACL on TO. Note that name is in UNIX character set. ****************************************************************************/ -int chmod_acl(connection_struct *conn, const char *name, mode_t mode) +static int copy_access_acl(connection_struct *conn, const char *from, const char *to, mode_t mode) { SMB_ACL_T posix_acl = NULL; int ret = -1; - if ((posix_acl = conn->vfs_ops.sys_acl_get_file(conn, name, SMB_ACL_TYPE_ACCESS)) == NULL) + if ((posix_acl = conn->vfs_ops.sys_acl_get_file(conn, from, SMB_ACL_TYPE_ACCESS)) == NULL) return -1; if ((ret = chmod_acl_internals(conn, posix_acl, mode)) == -1) goto done; - ret = conn->vfs_ops.sys_acl_set_file(conn, name, SMB_ACL_TYPE_ACCESS, posix_acl); + ret = conn->vfs_ops.sys_acl_set_file(conn, to, SMB_ACL_TYPE_ACCESS, posix_acl); - done: + done: conn->vfs_ops.sys_acl_free_acl(conn, posix_acl); return ret; } /**************************************************************************** + Do a chmod by setting the ACL USER_OBJ, GROUP_OBJ and OTHER bits in an ACL + and set the mask to rwx. Needed to preserve complex ACLs set by NT. + Note that name is in UNIX character set. +****************************************************************************/ + +int chmod_acl(connection_struct *conn, const char *name, mode_t mode) +{ + return copy_access_acl(conn, name, name, mode); +} + +/**************************************************************************** + If "inherit permissions" is set and the parent directory has no default + ACL but it does have an Access ACL, inherit this Access ACL to file name. +****************************************************************************/ + +int inherit_access_acl(connection_struct *conn, const char *name, mode_t mode) +{ + pstring dirname; + pstrcpy(dirname, parent_dirname(name)); + + if (!lp_inherit_perms(SNUM(conn)) || directory_has_default_acl(conn, dirname)) + return 0; + + return copy_access_acl(conn, dirname, name, mode); +} + +/**************************************************************************** Do an fchmod by setting the ACL USER_OBJ, GROUP_OBJ and OTHER bits in an ACL and set the mask to rwx. Needed to preserve complex ACLs set by NT. ****************************************************************************/ diff --git a/source/smbd/process.c b/source/smbd/process.c index 2912513d6d9..765fdef9342 100644 --- a/source/smbd/process.c +++ b/source/smbd/process.c @@ -348,7 +348,7 @@ force write permissions on print services. */ struct smb_message_struct { - char *name; + const char *name; int (*fn)(connection_struct *conn, char *, char *, int, int); int flags; } @@ -616,7 +616,7 @@ struct smb_message_struct /******************************************************************* dump a prs to a file ********************************************************************/ -static void smb_dump(char *name, int type, char *data, ssize_t len) +static void smb_dump(const char *name, int type, const char *data, ssize_t len) { int fd, i; pstring fname; @@ -810,35 +810,6 @@ static int construct_reply(char *inbuf,char *outbuf,int size,int bufsize) } /**************************************************************************** - Keep track of the number of running smbd's. This functionality is used to - 'hard' limit Samba overhead on resource constrained systems. - This function is only called once per smbd. -****************************************************************************/ - -static BOOL smbd_process_limit(void) -{ - int32 total_smbds; - - if (lp_max_smbd_processes()) { - - /* Always add one to the smbd process count, as exit_server() always - * subtracts one. - */ - - if (!conn_tdb_ctx()) { - DEBUG(0,("smbd_process_limit: max smbd processes parameter set with status parameter not \ -set. Ignoring max smbd restriction.\n")); - return False; - } - - total_smbds = increment_smbd_process_count(); - return total_smbds > lp_max_smbd_processes(); - } - else - return False; -} - -/**************************************************************************** process an smb from the client - split out from the process() code so it can be used by the oplock break code. ****************************************************************************/ @@ -860,8 +831,7 @@ void process_smb(char *inbuf, char *outbuf) deny parameters before doing any parsing of the packet passed to us by the client. This prevents attacks on our parsing code from hosts not in the hosts allow list */ - if (smbd_process_limit() || - !check_access(smbd_server_fd(), lp_hostsallow(-1), lp_hostsdeny(-1))) { + if (!check_access(smbd_server_fd(), lp_hostsallow(-1), lp_hostsdeny(-1))) { /* send a negative session response "not listening on calling name" */ static unsigned char buf[5] = {0x83, 0, 0, 1, 0x81}; @@ -916,9 +886,9 @@ void process_smb(char *inbuf, char *outbuf) /**************************************************************************** return a string containing the function name of a SMB command ****************************************************************************/ -char *smb_fn_name(int type) +const char *smb_fn_name(int type) { - static char *unknown_name = "SMBunknown"; + static const char *unknown_name = "SMBunknown"; if (smb_messages[type].name == NULL) return(unknown_name); diff --git a/source/smbd/quotas.c b/source/smbd/quotas.c index be72d26058d..bce04fbe4c5 100644 --- a/source/smbd/quotas.c +++ b/source/smbd/quotas.c @@ -435,10 +435,11 @@ static BOOL nfs_quotas(char *nfspath, uid_t euser_id, SMB_BIG_UINT *bsize, SMB_B len=strcspn(mnttype, ":"); pathname=strstr(mnttype, ":"); - cutstr = (char *) malloc(sizeof(char) * len ); + cutstr = (char *) malloc(len+1); if (!cutstr) return False; + memset(cutstr, '\0', len+1); host = strncat(cutstr,mnttype, sizeof(char) * len ); DEBUG(5,("nfs_quotas: looking for mount on \"%s\"\n", cutstr)); DEBUG(5,("nfs_quotas: of path \"%s\"\n", mnttype)); diff --git a/source/smbd/reply.c b/source/smbd/reply.c index a01753c2d49..74dc357d35d 100644 --- a/source/smbd/reply.c +++ b/source/smbd/reply.c @@ -746,6 +746,9 @@ int reply_sesssetup_and_X(connection_struct *conn, char *inbuf,char *outbuf,int uint16 passlen2 = SVAL(inbuf,smb_vwv8); enum remote_arch_types ra_type = get_remote_arch(); char *p = smb_buf(inbuf); + char *username_str; + fstring native_lanman; + if(global_client_caps == 0) global_client_caps = IVAL(inbuf,smb_vwv11); @@ -761,6 +764,25 @@ int reply_sesssetup_and_X(connection_struct *conn, char *inbuf,char *outbuf,int } } + username_str = smb_buf(inbuf)+smb_apasslen; + fstrcpy( native_lanman, skip_string(username_str, 3)); + + /* + * we distinguish between 2K and XP by the "Native Lan Manager" + * string. + * .NET RC2 => "Windows .NET 5.2" + * WinXP => "Windows 2002 5.1" + * Win2k => "Windows 2000 5.0" + * NT4 => (off by one bug) "Windows NT 4.0" + * Win9x => "Windows 4.0" + */ + if ( ra_type == RA_WIN2K ) { + if ( 0 == strcmp( native_lanman, "Windows 2002 5.1" ) ) + set_remote_arch( RA_WINXP ); + else if ( 0 == strcmp( native_lanman, "Windows .NET 5.2" ) ) + set_remote_arch( RA_WIN2K3 ); + } + if (passlen1 != 24 && passlen2 != 24) doencrypt = False; @@ -4859,7 +4881,7 @@ int reply_setattrE(connection_struct *conn, char *inbuf,char *outbuf, int size, outsize = set_message(outbuf,0,0,True); if(!fsp || (fsp->conn != conn)) { - END_PROFILE(SMBgetattrE); + END_PROFILE(SMBsetattrE); return ERROR_DOS(ERRDOS,ERRbadfid); } diff --git a/source/smbd/server.c b/source/smbd/server.c index d53e6ff1a6c..d7e958981b8 100644 --- a/source/smbd/server.c +++ b/source/smbd/server.c @@ -498,7 +498,7 @@ static void decrement_smbd_process_count(void) Exit the server. ****************************************************************************/ -void exit_server(char *reason) +void exit_server(const char *reason) { static int firsttime=1; extern char *last_inbuf; @@ -580,6 +580,36 @@ static void init_structs(void ) } /**************************************************************************** + Keep track of the number of running smbd's. This functionality is used to + 'hard' limit Samba overhead on resource constrained systems. + This function is only called once per smbd. +****************************************************************************/ + +static BOOL smbd_process_limit(void) +{ + int32 total_smbds; + + if (lp_max_smbd_processes()) { + + /* Always add one to the smbd process count, as exit_server() always + * subtracts one. + */ + + if (!conn_tdb_ctx()) { + DEBUG(0,("smbd_process_limit: max smbd processes parameter set with status parameter not \ +set. Ignoring max smbd restriction.\n")); + return False; + } + + total_smbds = increment_smbd_process_count(); + return total_smbds > lp_max_smbd_processes(); + } + else + return False; +} + + +/**************************************************************************** Usage on the program. ****************************************************************************/ @@ -883,6 +913,12 @@ static void usage(char *pname) if (!init_change_notify()) exit(1); + if ( smbd_process_limit() ) { + DEBUG( 1, ( "Connection denied from %s\n", + client_addr() ) ); + exit_server("connection denied"); + } + smbd_process(); exit_server("normal exit"); diff --git a/source/smbd/trans2.c b/source/smbd/trans2.c index fa103318268..7408e14e985 100644 --- a/source/smbd/trans2.c +++ b/source/smbd/trans2.c @@ -3186,7 +3186,7 @@ int reply_trans2(connection_struct *conn, char *inbuf,char *outbuf,int length,in unsigned int suwcnt = SVAL(inbuf, smb_suwcnt); unsigned int tran_call = SVAL(inbuf, smb_setup0); char *params = NULL, *data = NULL; - int num_params, num_params_sofar, num_data, num_data_sofar; + unsigned int num_params, num_params_sofar, num_data, num_data_sofar; START_PROFILE(SMBtrans2); if(global_oplock_break && (tran_call == TRANSACT2_OPEN)) { @@ -3225,10 +3225,10 @@ int reply_trans2(connection_struct *conn, char *inbuf,char *outbuf,int length,in (SVAL(inbuf,(smb_setup+6)) == LMFUNC_GETJOBID)) { DEBUG(2,("Got Trans2 DevIOctl jobid\n")); } else { - DEBUG(2,("Invalid smb_sucnt in trans2 call(%d)\n",suwcnt)); + DEBUG(2,("Invalid smb_sucnt in trans2 call(%u)\n",suwcnt)); DEBUG(2,("Transaction is %d\n",tran_call)); END_PROFILE(SMBtrans2); - return ERROR_DOS(ERRSRV,ERRerror); + ERROR_DOS(ERRDOS,ERRinvalidparam); } } @@ -3254,10 +3254,22 @@ int reply_trans2(connection_struct *conn, char *inbuf,char *outbuf,int length,in if (num_params > total_params || num_data > total_data) exit_server("invalid params in reply_trans2"); - if(params) - memcpy( params, smb_base(inbuf) + SVAL(inbuf, smb_psoff), num_params); - if(data) - memcpy( data, smb_base(inbuf) + SVAL(inbuf, smb_dsoff), num_data); + if(params) { + unsigned int psoff = SVAL(inbuf, smb_psoff); + if ((psoff + num_params < psoff) || (psoff + num_params < num_params)) + goto bad_param; + if (smb_base(inbuf) + psoff + num_params > inbuf + length) + goto bad_param; + memcpy( params, smb_base(inbuf) + psoff, num_params); + } + if(data) { + unsigned int dsoff = SVAL(inbuf, smb_dsoff); + if ((dsoff + num_data < dsoff) || (dsoff + num_data < num_data)) + goto bad_param; + if (smb_base(inbuf) + dsoff + num_data > inbuf + length) + goto bad_param; + memcpy( data, smb_base(inbuf) + dsoff, num_data); + } if(num_data_sofar < total_data || num_params_sofar < total_params) { /* We need to send an interim response then receive the rest @@ -3269,6 +3281,10 @@ int reply_trans2(connection_struct *conn, char *inbuf,char *outbuf,int length,in while (num_data_sofar < total_data || num_params_sofar < total_params) { BOOL ret; + unsigned int param_disp; + unsigned int param_off; + unsigned int data_disp; + unsigned int data_off; ret = receive_next_smb(inbuf,bufsize,SMB_SECONDARY_WAIT); @@ -3280,25 +3296,55 @@ int reply_trans2(connection_struct *conn, char *inbuf,char *outbuf,int length,in else DEBUG(0,("reply_trans2: %s in getting secondary trans2 response.\n", (smb_read_error == READ_ERROR) ? "error" : "timeout" )); - SAFE_FREE(params); - SAFE_FREE(data); - END_PROFILE(SMBtrans2); - return ERROR_DOS(ERRSRV,ERRerror); + goto bad_param; } /* Revise total_params and total_data in case they have changed downwards */ - total_params = SVAL(inbuf, smb_tpscnt); - total_data = SVAL(inbuf, smb_tdscnt); - num_params_sofar += (num_params = SVAL(inbuf,smb_spscnt)); - num_data_sofar += ( num_data = SVAL(inbuf, smb_sdscnt)); + if (SVAL(inbuf, smb_tpscnt) < total_params) + total_params = SVAL(inbuf, smb_tpscnt); + if (SVAL(inbuf, smb_tdscnt) < total_data) + total_data = SVAL(inbuf, smb_tdscnt); + + num_params = SVAL(inbuf,smb_spscnt); + param_off = SVAL(inbuf, smb_spsoff); + param_disp = SVAL(inbuf, smb_spsdisp); + num_params_sofar += num_params; + + num_data = SVAL(inbuf, smb_sdscnt); + data_off = SVAL(inbuf, smb_sdsoff); + data_disp = SVAL(inbuf, smb_sdsdisp); + num_data_sofar += num_data; + if (num_params_sofar > total_params || num_data_sofar > total_data) - exit_server("data overflow in trans2"); + goto bad_param; - memcpy( ¶ms[ SVAL(inbuf, smb_spsdisp)], - smb_base(inbuf) + SVAL(inbuf, smb_spsoff), num_params); - memcpy( &data[SVAL(inbuf, smb_sdsdisp)], - smb_base(inbuf)+ SVAL(inbuf, smb_sdsoff), num_data); + if (num_params) { + if (param_disp + num_params >= total_params) + goto bad_param; + if ((param_disp + num_params < param_disp) || + (param_disp + num_params < num_params)) + goto bad_param; + if (smb_base(inbuf) + param_off + num_params >= inbuf + bufsize) + goto bad_param; + if (params + param_disp < params) + goto bad_param; + + memcpy( ¶ms[param_disp], smb_base(inbuf) + param_off, num_params); + } + if (num_data) { + if (data_disp + num_data >= total_data) + goto bad_param; + if ((data_disp + num_data < data_disp) || + (data_disp + num_data < num_data)) + goto bad_param; + if (smb_base(inbuf) + data_off + num_data >= inbuf + bufsize) + goto bad_param; + if (data + data_disp < data) + goto bad_param; + + memcpy( &data[data_disp], smb_base(inbuf) + data_off, num_data); + } } } @@ -3411,4 +3457,11 @@ int reply_trans2(connection_struct *conn, char *inbuf,char *outbuf,int length,in return outsize; /* If a correct response was needed the call_trans2xxx calls have already sent it. If outsize != -1 then it is returning */ + + bad_param: + + SAFE_FREE(params); + SAFE_FREE(data); + END_PROFILE(SMBtrans2); + return ERROR_NT(NT_STATUS_INVALID_PARAMETER); } diff --git a/source/smbd/vfs-wrap.c b/source/smbd/vfs-wrap.c index b7ec5c10247..894e28dc2ca 100644 --- a/source/smbd/vfs-wrap.c +++ b/source/smbd/vfs-wrap.c @@ -213,8 +213,9 @@ SMB_OFF_T vfswrap_lseek(files_struct *fsp, int filedes, SMB_OFF_T offset, int wh static int copy_reg(const char *source, const char *dest) { SMB_STRUCT_STAT source_stats; - int ifd; - int ofd; + int saved_errno; + int ifd = -1; + int ofd = -1; if (sys_lstat (source, &source_stats) == -1) return -1; @@ -222,42 +223,44 @@ static int copy_reg(const char *source, const char *dest) if (!S_ISREG (source_stats.st_mode)) return -1; - if (unlink (dest) && errno != ENOENT) - return -1; - if((ifd = sys_open (source, O_RDONLY, 0)) < 0) return -1; - if((ofd = sys_open (dest, O_WRONLY | O_CREAT | O_TRUNC, 0600)) < 0 ) { - int saved_errno = errno; - close (ifd); - errno = saved_errno; + if (unlink (dest) && errno != ENOENT) return -1; - } - if (transfer_file(ifd, ofd, (size_t)-1) == -1) { - int saved_errno = errno; - close (ifd); - close (ofd); - unlink (dest); - errno = saved_errno; - return -1; - } +#ifdef O_NOFOLLOW + if((ofd = sys_open (dest, O_WRONLY | O_CREAT | O_TRUNC | O_NOFOLLOW, 0600)) < 0 ) +#else + if((ofd = sys_open (dest, O_WRONLY | O_CREAT | O_TRUNC , 0600)) < 0 ) +#endif + goto err; - if (close (ifd) == -1) { - int saved_errno = errno; - close (ofd); - errno = saved_errno; - return -1; - } - if (close (ofd) == -1) - return -1; + if (transfer_file(ifd, ofd, (size_t)-1) == -1) + goto err; /* - * chown turns off set[ug]id bits for non-root, + * Try to preserve ownership. For non-root it might fail, but that's ok. + * But root probably wants to know, e.g. if NFS disallows it. + */ + + if ((fchown(ofd, source_stats.st_uid, source_stats.st_gid) == -1) && (errno != EPERM)) + goto err; + + /* + * fchown turns off set[ug]id bits for non-root, * so do the chmod last. */ + if (fchmod (ofd, source_stats.st_mode & 07777)) + goto err; + + if (close (ifd) == -1) + goto err; + + if (close (ofd) == -1) + return -1; + /* Try to copy the old file's modtime and access time. */ { struct utimbuf tv; @@ -267,21 +270,19 @@ static int copy_reg(const char *source, const char *dest) utime (dest, &tv); } - /* - * Try to preserve ownership. For non-root it might fail, but that's ok. - * But root probably wants to know, e.g. if NFS disallows it. - */ - - if ((chown(dest, source_stats.st_uid, source_stats.st_gid) == -1) && (errno != EPERM)) - return -1; - - if (chmod (dest, source_stats.st_mode & 07777)) - return -1; - if (unlink (source) == -1) return -1; return 0; + + err: + saved_errno = errno; + if (ifd != -1) + close(ifd); + if (ofd != -1) + close(ofd); + errno = saved_errno; + return -1; } int vfswrap_rename(connection_struct *conn, const char *oldname, const char *newname) diff --git a/source/tdb/tdb.c b/source/tdb/tdb.c index c685d72b371..f73932efbca 100644 --- a/source/tdb/tdb.c +++ b/source/tdb/tdb.c @@ -1911,6 +1911,8 @@ int tdb_lockkeys(TDB_CONTEXT *tdb, u32 number, TDB_DATA keys[]) void tdb_unlockkeys(TDB_CONTEXT *tdb) { u32 i; + if (!tdb->lockedkeys) + return; for (i = 0; i < tdb->lockedkeys[0]; i++) tdb_unlock(tdb, tdb->lockedkeys[i+1], F_WRLCK); SAFE_FREE(tdb->lockedkeys); diff --git a/source/tdb/tdbbackup.c b/source/tdb/tdbbackup.c index 659aeb01e37..6bb0a7015d8 100644 --- a/source/tdb/tdbbackup.c +++ b/source/tdb/tdbbackup.c @@ -242,7 +242,7 @@ static void usage(void) int ret = 0; int c; int verify = 0; - char *suffix = ".bak"; + const char *suffix = ".bak"; extern int optind; extern char *optarg; diff --git a/source/tdb/tdbutil.c b/source/tdb/tdbutil.c index 91dfacaf5d8..99c5eda9c4b 100644 --- a/source/tdb/tdbutil.c +++ b/source/tdb/tdbutil.c @@ -66,7 +66,7 @@ int tdb_chainlock_with_timeout( TDB_CONTEXT *tdb, TDB_DATA key, unsigned int tim Lock a chain by string. Return -1 if timeout or lock failed. ****************************************************************************/ -int tdb_lock_bystring(TDB_CONTEXT *tdb, char *keyval, unsigned int timeout) +int tdb_lock_bystring(TDB_CONTEXT *tdb, const char *keyval, unsigned int timeout) { TDB_DATA key; @@ -80,7 +80,7 @@ int tdb_lock_bystring(TDB_CONTEXT *tdb, char *keyval, unsigned int timeout) Unlock a chain by string. ****************************************************************************/ -void tdb_unlock_bystring(TDB_CONTEXT *tdb, char *keyval) +void tdb_unlock_bystring(TDB_CONTEXT *tdb, const char *keyval) { TDB_DATA key; @@ -95,7 +95,7 @@ void tdb_unlock_bystring(TDB_CONTEXT *tdb, char *keyval) Output is int32 in native byte order. ****************************************************************************/ -int32 tdb_fetch_int32_byblob(TDB_CONTEXT *tdb, char *keyval, size_t len) +int32 tdb_fetch_int32_byblob(TDB_CONTEXT *tdb, const char *keyval, size_t len) { TDB_DATA key, data; int32 ret; @@ -116,7 +116,7 @@ int32 tdb_fetch_int32_byblob(TDB_CONTEXT *tdb, char *keyval, size_t len) Output is int32 in native byte order. ****************************************************************************/ -int32 tdb_fetch_int32(TDB_CONTEXT *tdb, char *keystr) +int32 tdb_fetch_int32(TDB_CONTEXT *tdb, const char *keystr) { return tdb_fetch_int32_byblob(tdb, keystr, strlen(keystr) + 1); } @@ -126,7 +126,7 @@ int32 tdb_fetch_int32(TDB_CONTEXT *tdb, char *keystr) Input is int32 in native byte order. Output in tdb is in little-endian. ****************************************************************************/ -int tdb_store_int32_byblob(TDB_CONTEXT *tdb, char *keystr, size_t len, int32 v) +int tdb_store_int32_byblob(TDB_CONTEXT *tdb, const char *keystr, size_t len, int32 v) { TDB_DATA key, data; int32 v_store; @@ -145,7 +145,7 @@ int tdb_store_int32_byblob(TDB_CONTEXT *tdb, char *keystr, size_t len, int32 v) Input is int32 in native byte order. Output in tdb is in little-endian. ****************************************************************************/ -int tdb_store_int32(TDB_CONTEXT *tdb, char *keystr, int32 v) +int tdb_store_int32(TDB_CONTEXT *tdb, const char *keystr, int32 v) { return tdb_store_int32_byblob(tdb, keystr, strlen(keystr) + 1, v); } @@ -155,7 +155,7 @@ int tdb_store_int32(TDB_CONTEXT *tdb, char *keystr, int32 v) Output is uint32 in native byte order. ****************************************************************************/ -BOOL tdb_fetch_uint32_byblob(TDB_CONTEXT *tdb, char *keyval, size_t len, uint32 *value) +BOOL tdb_fetch_uint32_byblob(TDB_CONTEXT *tdb, const char *keyval, size_t len, uint32 *value) { TDB_DATA key, data; @@ -175,7 +175,7 @@ BOOL tdb_fetch_uint32_byblob(TDB_CONTEXT *tdb, char *keyval, size_t len, uint32 Output is uint32 in native byte order. ****************************************************************************/ -BOOL tdb_fetch_uint32(TDB_CONTEXT *tdb, char *keystr, uint32 *value) +BOOL tdb_fetch_uint32(TDB_CONTEXT *tdb, const char *keystr, uint32 *value) { return tdb_fetch_uint32_byblob(tdb, keystr, strlen(keystr) + 1, value); } @@ -185,7 +185,7 @@ BOOL tdb_fetch_uint32(TDB_CONTEXT *tdb, char *keystr, uint32 *value) Input is uint32 in native byte order. Output in tdb is in little-endian. ****************************************************************************/ -BOOL tdb_store_uint32_byblob(TDB_CONTEXT *tdb, char *keystr, size_t len, uint32 value) +BOOL tdb_store_uint32_byblob(TDB_CONTEXT *tdb, const char *keystr, size_t len, uint32 value) { TDB_DATA key, data; uint32 v_store; @@ -208,7 +208,7 @@ BOOL tdb_store_uint32_byblob(TDB_CONTEXT *tdb, char *keystr, size_t len, uint32 Input is uint32 in native byte order. Output in tdb is in little-endian. ****************************************************************************/ -BOOL tdb_store_uint32(TDB_CONTEXT *tdb, char *keystr, uint32 value) +BOOL tdb_store_uint32(TDB_CONTEXT *tdb, const char *keystr, uint32 value) { return tdb_store_uint32_byblob(tdb, keystr, strlen(keystr) + 1, value); } @@ -217,7 +217,7 @@ BOOL tdb_store_uint32(TDB_CONTEXT *tdb, char *keystr, uint32 value) on failure. ****************************************************************************/ -int tdb_store_by_string(TDB_CONTEXT *tdb, char *keystr, void *buffer, int len) +int tdb_store_by_string(TDB_CONTEXT *tdb, const char *keystr, void *buffer, int len) { TDB_DATA key, data; @@ -235,7 +235,7 @@ int tdb_store_by_string(TDB_CONTEXT *tdb, char *keystr, void *buffer, int len) free() on the result dptr. ****************************************************************************/ -TDB_DATA tdb_fetch_by_string(TDB_CONTEXT *tdb, char *keystr) +TDB_DATA tdb_fetch_by_string(TDB_CONTEXT *tdb, const char *keystr) { TDB_DATA key; @@ -249,7 +249,7 @@ TDB_DATA tdb_fetch_by_string(TDB_CONTEXT *tdb, char *keystr) Atomic integer change. Returns old value. To create, set initial value in *oldval. ****************************************************************************/ -int32 tdb_change_int32_atomic(TDB_CONTEXT *tdb, char *keystr, int32 *oldval, int32 change_val) +int32 tdb_change_int32_atomic(TDB_CONTEXT *tdb, const char *keystr, int32 *oldval, int32 change_val) { int32 val; int32 ret = -1; @@ -333,7 +333,7 @@ BOOL tdb_change_uint32_atomic(TDB_CONTEXT *tdb, char *keystr, uint32 *oldval, ui integers and strings. ****************************************************************************/ -size_t tdb_pack(char *buf, int bufsize, char *fmt, ...) +size_t tdb_pack(char *buf, int bufsize, const char *fmt, ...) { va_list ap; uint16 w; @@ -344,7 +344,7 @@ size_t tdb_pack(char *buf, int bufsize, char *fmt, ...) char *s; char c; char *buf0 = buf; - char *fmt0 = fmt; + const char *fmt0 = fmt; int bufsize0 = bufsize; va_start(ap, fmt); @@ -417,7 +417,7 @@ size_t tdb_pack(char *buf, int bufsize, char *fmt, ...) integers and strings. ****************************************************************************/ -int tdb_unpack(char *buf, int bufsize, char *fmt, ...) +int tdb_unpack(char *buf, int bufsize, const char *fmt, ...) { va_list ap; uint16 *w; @@ -428,7 +428,7 @@ int tdb_unpack(char *buf, int bufsize, char *fmt, ...) char *s, **b; char c; char *buf0 = buf; - char *fmt0 = fmt; + const char *fmt0 = fmt; int bufsize0 = bufsize; va_start(ap, fmt); diff --git a/source/ubiqx/debugparse.c b/source/ubiqx/debugparse.c index 5da5280f19e..195fc245bc0 100644 --- a/source/ubiqx/debugparse.c +++ b/source/ubiqx/debugparse.c @@ -45,7 +45,7 @@ * Functions... */ -char *dbg_token2string( dbg_Token tok ) +const char *dbg_token2string( dbg_Token tok ) /* ------------------------------------------------------------------------ ** * Given a token, return a string describing the token. * diff --git a/source/ubiqx/debugparse.h b/source/ubiqx/debugparse.h index 9ed1777e956..458eee74558 100644 --- a/source/ubiqx/debugparse.h +++ b/source/ubiqx/debugparse.h @@ -62,7 +62,7 @@ typedef enum * Function prototypes... */ - char *dbg_token2string( dbg_Token tok ); + const char *dbg_token2string( dbg_Token tok ); /* ------------------------------------------------------------------------ ** * Given a token, return a string describing the token. * diff --git a/source/utils/make_printerdef.c b/source/utils/make_printerdef.c index 621dff5b103..ee808c73f3c 100644 --- a/source/utils/make_printerdef.c +++ b/source/utils/make_printerdef.c @@ -27,7 +27,8 @@ */ char *files_to_copy; -char *driverfile, *datafile, *helpfile, *languagemonitor, *datatype, *vendorsetup; +char *driverfile, *datafile, *helpfile, *languagemonitor, *vendorsetup; +const char *datatype; char buffer[50][sizeof(pstring)]; char sbuffer[50][sizeof(pstring)]; char sub_dir[50][2][sizeof(pstring)]; @@ -209,7 +210,7 @@ static void lookup_strings(FILE *fichier) Return all the lines between the entry and the next one or the end of file An entry is something between braces. */ -static void lookup_entry(FILE *fichier,char *chaine) +static void lookup_entry(FILE *fichier,const char *chaine) { int found=0,pointeur=0,i=0; char *temp,*temp2; diff --git a/source/utils/make_smbcodepage.c b/source/utils/make_smbcodepage.c index 256dde7c0d1..61f4153f5b2 100644 --- a/source/utils/make_smbcodepage.c +++ b/source/utils/make_smbcodepage.c @@ -151,7 +151,7 @@ static BOOL parse_bool(char *buf, unsigned char *bp) * Print a parse error and exit. */ -static void parse_error(char *buf, char *msg) +static void parse_error(char *buf, const char *msg) { fprintf(stderr, "%s: %s whilst parsing line \n%s\n", prog_name, msg, buf); @@ -243,7 +243,7 @@ definition file. File %s has %d.\n", prog_name, MAXCODEPAGELINES, input_file, nu for(i = 0; i < num_lines; i++) { char token_buf[512]; - char *p = buf; + const char *p = buf; unsigned char b = 0; /* Get the 'lower' value. */ diff --git a/source/utils/make_unicodemap.c b/source/utils/make_unicodemap.c index 79c63ff003c..2e33bbf3ea7 100644 --- a/source/utils/make_unicodemap.c +++ b/source/utils/make_unicodemap.c @@ -202,7 +202,7 @@ static int do_compile(const char *codepage, const char *input_file, const char * for(i = 0; i < num_lines; i++) { char token_buf[512]; - char *p = buf; + const char *p = buf; uint16 cp = 0; uint16 ucs2 = 0; diff --git a/source/utils/smbcacls.c b/source/utils/smbcacls.c index 7ef2d76d7bf..13e00a2d915 100644 --- a/source/utils/smbcacls.c +++ b/source/utils/smbcacls.c @@ -44,7 +44,7 @@ enum chown_mode {REQUEST_NONE, REQUEST_CHOWN, REQUEST_CHGRP}; enum exit_values {EXIT_OK, EXIT_FAILED, EXIT_PARSE_ERROR}; struct perm_value { - char *perm; + const char *perm; uint32 mask; }; @@ -237,6 +237,7 @@ static void print_ace(FILE *f, SEC_ACE *ace) static BOOL parse_ace(SEC_ACE *ace, char *str) { char *p; + const char *cp; fstring tok; unsigned atype, aflags, amask; DOM_SID sid; @@ -262,7 +263,8 @@ static BOOL parse_ace(SEC_ACE *ace, char *str) return False; } - if (!next_token(&p, tok, "/", sizeof(fstring))) { + cp = p; + if (!next_token(&cp, tok, "/", sizeof(fstring))) { return False; } @@ -276,12 +278,12 @@ static BOOL parse_ace(SEC_ACE *ace, char *str) /* Only numeric form accepted for flags at present */ - if (!(next_token(&p, tok, "/", sizeof(fstring)) && + if (!(next_token(&cp, tok, "/", sizeof(fstring)) && sscanf(tok, "%i", &aflags))) { return False; } - if (!next_token(&p, tok, "/", sizeof(fstring))) { + if (!next_token(&cp, tok, "/", sizeof(fstring))) { return False; } @@ -347,7 +349,7 @@ static BOOL add_ace(SEC_ACL **the_acl, SEC_ACE *ace) /* parse a ascii version of a security descriptor */ static SEC_DESC *sec_desc_parse(char *str) { - char *p = str; + const char *p = str; fstring tok; SEC_DESC *ret; size_t sd_size; diff --git a/source/utils/smbcontrol.c b/source/utils/smbcontrol.c index 7bb5c3e2c8b..96b8cb92668 100644 --- a/source/utils/smbcontrol.c +++ b/source/utils/smbcontrol.c @@ -24,7 +24,7 @@ extern BOOL AllowDebugChange; static struct { - char *name; + const char *name; int value; } msg_types[] = { {"debug", MSG_DEBUG}, @@ -100,7 +100,7 @@ Prints out the current Profile level returned by MSG_PROFILELEVEL void profilelevel_function(int msg_type, pid_t src, void *buf, size_t len) { int level; - char *s=NULL; + const char *s=NULL; memcpy(&level, buf, sizeof(int)); if (level) { diff --git a/source/utils/smbpasswd.c b/source/utils/smbpasswd.c index 471efbdc666..1db79e4df65 100644 --- a/source/utils/smbpasswd.c +++ b/source/utils/smbpasswd.c @@ -40,8 +40,8 @@ static BOOL stdin_passwd_get = False; static fstring user_name, user_password; static char *new_domain = NULL; static char *new_passwd = NULL; -static char *old_passwd = NULL; -static char *remote_machine = NULL; +static const char *old_passwd = NULL; +static const char *remote_machine = NULL; static pstring servicesf = CONFIGFILE; #ifdef WITH_LDAP_SAM @@ -340,7 +340,7 @@ Join a domain using the administrator username and password goto done; \ } -static int join_domain_byuser(char *domain, char *remote, +static int join_domain_byuser(char *domain, const char *remote, char *username, char *password) { /* libsmb variables */ @@ -497,7 +497,7 @@ static int join_domain_byuser(char *domain, char *remote, if (NT_STATUS_V(result) == NT_STATUS_V(NT_STATUS_USER_EXISTS)) { uint32 num_rids, *name_types, *user_rids; uint32 flags = 0x3e8; - char *names; + const char *names; /* Look up existing rid */ @@ -628,7 +628,7 @@ static int join_domain_byuser(char *domain, char *remote, Join a domain. Old server manager method. **********************************************************/ -static int join_domain(char *domain, char *remote) +static int join_domain(char *domain, const char *remote) { pstring pdc_name; fstring trust_passwd; @@ -708,7 +708,7 @@ machine %s in domain %s.\n", global_myname, domain); return 0; } -static int set_domain_sid_from_dc( char *domain, char *remote ) +static int set_domain_sid_from_dc( char *domain, const char *remote ) { pstring pdc_name; DOM_SID domain_sid; @@ -784,7 +784,7 @@ static char *stdin_new_passwd(void) Used if the '-s' option is set to silently get passwords to enable scripting. *************************************************************/ -static char *get_pass( char *prompt, BOOL stdin_get) +static char *get_pass( const char *prompt, BOOL stdin_get) { char *p; if (stdin_get) { @@ -828,7 +828,7 @@ static char *prompt_for_new_password(BOOL stdin_get) *************************************************************/ static BOOL password_change(const char *rem_machine, char *usr_name, - char *old_pwd, char *new_pwd, int loc_flags) + const char *old_pwd, char *new_pwd, int loc_flags) { BOOL ret; pstring err_str; diff --git a/source/utils/testparm.c b/source/utils/testparm.c index 26068fcbf37..1e2b4b170ec 100644 --- a/source/utils/testparm.c +++ b/source/utils/testparm.c @@ -115,7 +115,7 @@ parameter.\n" ); } else { pstring passwd_prog; pstring truncated_prog; - char *p; + const char *p; pstrcpy( passwd_prog, lp_passwd_program()); p = passwd_prog; diff --git a/source/utils/testprns.c b/source/utils/testprns.c index 0ba5403c30a..8feb977f497 100644 --- a/source/utils/testprns.c +++ b/source/utils/testprns.c @@ -39,7 +39,7 @@ extern FILE *dbf; int main(int argc, char *argv[]) { - char *pszTemp; + const char *pszTemp; TimeInit(); diff --git a/source/web/cgi.c b/source/web/cgi.c index 97506312ae6..bd7309e9f70 100644 --- a/source/web/cgi.c +++ b/source/web/cgi.c @@ -40,7 +40,7 @@ static int num_variables; static int content_length; static int request_post; static char *query_string; -static char *baseurl; +static const char *baseurl; static char *pathinfo; static char *C_user; static BOOL inetd_server; @@ -238,7 +238,7 @@ void cgi_load_variables(FILE *f1) browser. Also doesn't allow for variables[] containing multiple variables with the same name and the same or different values. ***************************************************************************/ -char *cgi_variable(char *name) +const char *cgi_variable(const char *name) { int i; @@ -251,7 +251,7 @@ char *cgi_variable(char *name) /*************************************************************************** tell a browser about a fatal error in the http processing ***************************************************************************/ -static void cgi_setup_error(char *err, char *header, char *info) +static void cgi_setup_error(const char *err, const char *header, const char *info) { if (!got_request) { /* damn browsers don't like getting cut off before they give a request */ @@ -298,7 +298,7 @@ decode a base64 string in-place - simple and slow algorithm ***************************************************************************/ static void base64_decode(char *s) { - char *b64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; + const char *b64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; int bit_offset, byte_offset, idx, i, n; unsigned char *d = (unsigned char *)s; char *p; @@ -487,7 +487,7 @@ static void cgi_download(char *file) setup the cgi framework, handling the possability that this program is either run as a true cgi program by a web browser or is itself a mini web server ***************************************************************************/ -void cgi_setup(char *rootdir, int auth_required) +void cgi_setup(const char *rootdir, int auth_required) { BOOL authenticated = False; char line[1024]; @@ -576,7 +576,7 @@ void cgi_setup(char *rootdir, int auth_required) /*************************************************************************** return the current pages URL ***************************************************************************/ -char *cgi_baseurl(void) +const char *cgi_baseurl(void) { if (inetd_server) { return baseurl; @@ -587,7 +587,7 @@ char *cgi_baseurl(void) /*************************************************************************** return the current pages path info ***************************************************************************/ -char *cgi_pathinfo(void) +const char *cgi_pathinfo(void) { char *r; if (inetd_server) { diff --git a/source/web/statuspage.c b/source/web/statuspage.c index a940a08ebd4..12bb307d34a 100644 --- a/source/web/statuspage.c +++ b/source/web/statuspage.c @@ -216,7 +216,7 @@ static int traverse_fn3(TDB_CONTEXT *tdb, TDB_DATA kbuf, TDB_DATA dbuf, void* st /* show the current server status */ void status_page(void) { - char *v; + const char *v; int autorefresh=0; int refresh_interval=30; TDB_CONTEXT *tdb; diff --git a/source/web/swat.c b/source/web/swat.c index 7fec741066d..39b3295b6af 100644 --- a/source/web/swat.c +++ b/source/web/swat.c @@ -51,8 +51,8 @@ static int iNumNonAutoPrintServices = 0; #define RHOST "remote_host" typedef struct html_conversion { - char src; - char *dest; + const char src; + const char *dest; } html_conversion; static const html_conversion entities[] = { @@ -136,7 +136,7 @@ static char *htmlentities(char *str) return(dststr); } -static char *stripspace(char *str) +static char *stripspace(const char *str) { static char newstring[1024]; char *p = newstring; @@ -149,7 +149,7 @@ char *p = newstring; return newstring; } -static char *make_parm_name(char *label) +static char *make_parm_name(const char *label) { static char parmname[1024]; char *p = parmname; @@ -166,7 +166,7 @@ static char *make_parm_name(char *label) /**************************************************************************** include a lump of html in a page ****************************************************************************/ -static int include_html(char *fname) +static int include_html(const char *fname) { FILE *f = sys_fopen(fname,"r"); char buf[1024]; @@ -325,8 +325,8 @@ static void show_parameters(int snum, int allparameters, unsigned int parm_filte { int i = 0; struct parm_struct *parm; - char *heading = NULL; - char *last_heading = NULL; + const char *heading = NULL; + const char *last_heading = NULL; while ((parm = lp_next_parameter(snum, &i, allparameters))) { if (snum < 0 && parm->class == P_LOCAL && !(parm->flags & FLAG_GLOBAL)) @@ -458,10 +458,13 @@ static int save_reload(int snum) /**************************************************************************** commit one parameter ****************************************************************************/ -static void commit_parameter(int snum, struct parm_struct *parm, char *v) +static void commit_parameter(int snum, struct parm_struct *parm, const char *cv) { int i; char *s; + pstring v; + + pstrcpy(v, cv); /* lp_do_parameter() will do unix_to_dos(v). */ if(parm->flags & FLAG_DOS_STRING) @@ -490,7 +493,7 @@ static void commit_parameters(int snum) int i = 0; struct parm_struct *parm; pstring label; - char *v; + const char *v; while ((parm = lp_next_parameter(snum, &i, 1))) { slprintf(label, sizeof(label)-1, "parm_%s", make_parm_name(parm->label)); @@ -504,7 +507,7 @@ static void commit_parameters(int snum) /**************************************************************************** spit out the html for a link with an image ****************************************************************************/ -static void image_link(char *name,char *hlink, char *src) +static void image_link(const char *name,const char *hlink, const char *src) { printf("<A HREF=\"%s/%s\"><img border=\"0\" src=\"/swat/%s\" alt=\"%s\"></A>\n", cgi_baseurl(), hlink, src, name); @@ -819,7 +822,7 @@ static void globals_page(void) ****************************************************************************/ static void shares_page(void) { - char *share = cgi_variable("share"); + const char *share = cgi_variable("share"); char *s; int snum=-1; int i; @@ -918,8 +921,8 @@ static void shares_page(void) /************************************************************* change a password either locally or remotely *************************************************************/ -static BOOL change_password(const char *remote_machine, char *user_name, - char *old_passwd, char *new_passwd, +static BOOL change_password(const char *remote_machine, const char *user_name, + const char *old_passwd, const char *new_passwd, int local_flags) { BOOL ret = False; @@ -960,7 +963,7 @@ static BOOL change_password(const char *remote_machine, char *user_name, ****************************************************************************/ static void chg_passwd(void) { - char *host; + const char *host; BOOL rslt; int local_flags = 0; @@ -1044,7 +1047,7 @@ static void chg_passwd(void) ****************************************************************************/ static void passwd_page(void) { - char *new_name = cgi_user_name(); + const char *new_name = cgi_user_name(); /* * After the first time through here be nice. If the user @@ -1149,7 +1152,7 @@ static void passwd_page(void) ****************************************************************************/ static void printers_page(void) { - char *share = cgi_variable("share"); + const char *share = cgi_variable("share"); char *s; int snum=-1; int i; @@ -1268,7 +1271,7 @@ static void printers_page(void) extern int optind; extern FILE *dbf; int opt; - char *page; + const char *page; fault_setup(NULL); umask(S_IWGRP | S_IWOTH); |