diff options
author | Luke Leighton <lkcl@samba.org> | 2000-04-23 08:56:01 +0000 |
---|---|---|
committer | Luke Leighton <lkcl@samba.org> | 2000-04-23 08:56:01 +0000 |
commit | 60c17b02e9d2db0a8c0e75d79088b093d4df58cf (patch) | |
tree | f98bc0187f77af6903128ce7ae9f1cd2a1135766 | |
parent | 4715c8a2c92262a14e38afad9d040305fb913655 (diff) | |
download | samba-60c17b02e9d2db0a8c0e75d79088b093d4df58cf.tar.gz samba-60c17b02e9d2db0a8c0e75d79088b093d4df58cf.tar.xz samba-60c17b02e9d2db0a8c0e75d79088b093d4df58cf.zip |
replaced Memcpy with memcpy_zero.
-rw-r--r-- | source/include/lib_smb_proto.h | 105 | ||||
-rw-r--r-- | source/include/proto.h | 71 | ||||
-rw-r--r-- | source/include/rpc_parse_proto.h | 105 | ||||
-rw-r--r-- | source/lib/util.c | 2 | ||||
-rw-r--r-- | source/libsmb/pwd_cache.c | 12 | ||||
-rw-r--r-- | source/rpc_parse/parse_net.c | 26 | ||||
-rw-r--r-- | source/rpc_parse/parse_netsec.c | 8 | ||||
-rw-r--r-- | source/rpc_parse/parse_samr.c | 16 | ||||
-rw-r--r-- | source/samrd/srv_samr_usr_tdb.c | 4 | ||||
-rw-r--r-- | source/smbd/chgpasswd.c | 4 |
10 files changed, 177 insertions, 176 deletions
diff --git a/source/include/lib_smb_proto.h b/source/include/lib_smb_proto.h index e141bf678f1..19494ba9c83 100644 --- a/source/include/lib_smb_proto.h +++ b/source/include/lib_smb_proto.h @@ -336,6 +336,62 @@ BOOL create_user_creds( prs_struct *ps, const vuser_key *key, const struct user_creds *usr); +/*The following definitions come from rpc_parse/parse_misc.c */ + +BOOL smb_io_bigint(char *desc, BIGINT *bigint, prs_struct *ps, int depth); +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); +uint32 get_enum_hnd(ENUM_HND *enh); +BOOL make_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); +BOOL make_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 make_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 make_strhdr2(STRHDR2 *hdr, uint32 max_len, uint32 len, uint32 buffer); +BOOL smb_io_strhdr2(char *desc, STRHDR2 *hdr, prs_struct *ps, int depth); +BOOL make_uni_hdr(UNIHDR *hdr, int len); +BOOL make_unihdr_from_unistr2(UNIHDR *hdr, const UNISTR2 *str); +BOOL smb_io_unihdr(char *desc, UNIHDR *hdr, prs_struct *ps, int depth); +BOOL make_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, + uint32 ptr_hdrbuf, uint32 max_len, uint32 len); +BOOL smb_io_hdrbuf(char *desc, BUFHDR *hdr, prs_struct *ps, int depth); +BOOL make_bufhdr2(BUFHDR2 *hdr, uint32 info_level, uint32 length, uint32 buffer); +BOOL smb_io_bufhdr2(char *desc, BUFHDR2 *hdr, prs_struct *ps, int depth); +BOOL make_uni_hdr2(UNIHDR2 *hdr, int len); +BOOL make_unihdr2_from_unistr2(UNIHDR2 *hdr, const UNISTR2 *str); +BOOL smb_io_unihdr2(char *desc, UNIHDR2 *hdr2, prs_struct *ps, int depth); +BOOL make_unistr(UNISTR *str, char *buf); +BOOL smb_io_unistr(char *desc, UNISTR *uni, prs_struct *ps, int depth); +BOOL make_buffer3_uint32(BUFFER3 *str, uint32 val); +BOOL make_buffer3_str(BUFFER3 *str, const char *buf, int len); +BOOL make_buffer3_hex(BUFFER3 *str, char *buf); +BOOL make_buffer3_bytes(BUFFER3 *str, uint8 *buf, int len); +BOOL smb_io_buffer3(char *desc, BUFFER3 *buf3, prs_struct *ps, int depth); +BOOL make_buffer4_str(BUFFER4 *str, const char *buf, int len); +BOOL smb_io_buffer4(char *desc, BUFFER4 *buf4, uint32 buffer, prs_struct *ps, int depth); +BOOL init_buffer5(BUFFER5 **str); +BOOL clear_buffer5(BUFFER5 **str); +BOOL make_buffer5(BUFFER5 *str, char *buf, int len); +BOOL smb_io_buffer5(char *desc, BUFFER5 *buf5, prs_struct *ps, int depth); +BOOL make_buffer2_multi(BUFFER2 *str, char *const* const buf, uint32 num); +BOOL make_buffer2(BUFFER2 *str, const char *buf, int len); +BOOL smb_io_buffer2(char *desc, BUFFER2 *buf2, uint32 buffer, prs_struct *ps, int depth); +BOOL make_buf_unistr2(UNISTR2 *str, uint32 *ptr, const char *buf); +BOOL make_string2(STRING2 *str, const char *buf, int len); +BOOL make_buf_string2(STRING2 *str, uint32 *ptr, const char *buf); +BOOL smb_io_string2(char *desc, STRING2 *str2, uint32 buffer, prs_struct *ps, int depth); +BOOL make_unistr2(UNISTR2 *str, const char *buf, int len); +BOOL smb_io_unistr2(char *desc, UNISTR2 *uni2, uint32 buffer, 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); +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_unistr3(char *desc, UNISTR3 *name, prs_struct *ps, int depth); + /*The following definitions come from rpc_parse/parse_net.c */ BOOL make_log_info(DOM_LOG_INFO * log, @@ -667,6 +723,55 @@ int prs_tdb_delete(TDB_CONTEXT * tdb, prs_struct *pk); int prs_tdb_store(TDB_CONTEXT * tdb, int flgs, prs_struct *pk, prs_struct *pd); void prs_tdb_fetch(TDB_CONTEXT * tdb, prs_struct *pk, prs_struct *pd); +/*The following definitions come from rpc_parse/parse_rpc.c */ + +BOOL make_rpc_hdr(RPC_HDR * hdr, enum RPC_PKT_TYPE pkt_type, uint8 flags, + uint32 call_id, int frag_len, int auth_len); +BOOL smb_io_rpc_hdr(char *desc, RPC_HDR * rpc, prs_struct * ps, int depth); +BOOL is_complete_pdu(prs_struct * ps); +BOOL smb_io_rpc_hdr_nack(char *desc, RPC_HDR_NACK * 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_uuid(char *desc, RPC_UUID * uuid, prs_struct *ps, int depth); +BOOL make_rpc_hdr_rb(RPC_HDR_RB * rpc, + uint16 max_tsize, uint16 max_rsize, uint32 assoc_gid, + uint8 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 make_rpc_hdr_ba(RPC_HDR_BA * rpc, + uint16 max_tsize, uint16 max_rsize, uint32 assoc_gid, + 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 make_rpc_hdr_req(RPC_HDR_REQ * hdr, uint32 alloc_hint, uint16 vuid, + 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 make_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 make_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 make_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); +BOOL rpc_auth_verifier_chk(RPC_AUTH_VERIFIER * rav, + char *signature, uint32 msg_type); + /*The following definitions come from rpc_parse/parse_vuid.c */ BOOL vuid_io_key(char *desc, vuser_key * r_u, prs_struct * ps, int depth); diff --git a/source/include/proto.h b/source/include/proto.h index 24ecc99d799..f2d8b95c548 100644 --- a/source/include/proto.h +++ b/source/include/proto.h @@ -584,7 +584,7 @@ void become_daemon(void); BOOL yesno(char *p); int set_filelen(int fd, SMB_OFF_T len); void *Realloc(void *p, size_t size); -BOOL Memcpy(void *to, const void *from, size_t size); +BOOL memcpy_zero(void *to, const void *from, size_t size); void safe_free(void *p); BOOL get_myname(char *my_name, struct in_addr *ip); int interpret_protocol(char *str, int def); @@ -1794,11 +1794,12 @@ enum winbindd_result winbindd_getgrent(struct winbindd_state *state); /*The following definitions come from nsswitch/winbindd_surs.c */ -BOOL winbindd_surs_init(void); -BOOL winbindd_surs_sam_sid_to_unixid(DOM_SID *sid, +BOOL winbindd_surs_sam_sid_to_unixid(struct winbindd_domain *domain, + DOM_SID *sid, enum SID_NAME_USE name_type, POSIX_ID *id); -BOOL winbindd_surs_unixid_to_sam_sid(POSIX_ID *id, DOM_SID *sid, BOOL create); +BOOL winbindd_surs_unixid_to_sam_sid(struct winbindd_domain *domain, + POSIX_ID *id, DOM_SID *sid); /*The following definitions come from nsswitch/winbindd_user.c */ @@ -1810,39 +1811,36 @@ enum winbindd_result winbindd_getpwent(struct winbindd_state *state); /*The following definitions come from nsswitch/winbindd_util.c */ -BOOL lookup_domain_sid(fstring domain_name, DOM_SID *domain_sid, - fstring domain_controller); -BOOL winbindd_lookup_by_name(char *system_name, DOM_SID *level5_sid, - fstring name, DOM_SID *sid, - enum SID_NAME_USE *type); -int winbindd_lookup_by_sid(char *system_name, DOM_SID *level5_sid, - DOM_SID *sid, char *name, - enum SID_NAME_USE *type); -int winbindd_lookup_userinfo(char *system_name, DOM_SID *dom_sid, - uint32 user_rid, POLICY_HND *sam_dom_handle, - SAM_USERINFO_CTR *user_info); -int winbindd_lookup_groupinfo(char *system_name, DOM_SID *dom_sid, +BOOL lookup_domain_sid(fstring domain_name, struct winbindd_domain *domain); +BOOL get_domain_info(struct winbindd_domain *domain); +BOOL open_lsa_handle(struct winbindd_domain *domain); +BOOL open_sam_handles(struct winbindd_domain *domain); +BOOL winbindd_lookup_sid_by_name(struct winbindd_domain *domain, + fstring name, DOM_SID *sid, + enum SID_NAME_USE *type); +BOOL winbindd_lookup_name_by_sid(struct winbindd_domain *domain, + DOM_SID *sid, char *name, + enum SID_NAME_USE *type); +BOOL winbindd_lookup_userinfo(struct winbindd_domain *domain, + uint32 user_rid, SAM_USERINFO_CTR *user_info); +BOOL winbindd_lookup_groupinfo(struct winbindd_domain *domain, uint32 group_rid, GROUP_INFO_CTR *info); -int winbindd_lookup_groupmem(char *system_name, DOM_SID *dom_sid, - uint32 group_rid, POLICY_HND *sam_dom_handle, - uint32 *num_names, uint32 **rid_mem, - char ***names, uint32 **name_types); -int winbindd_lookup_aliasmem(char *system_name, DOM_SID *dom_sid, - uint32 alias_rid, POLICY_HND *sam_dom_handle, - uint32 *num_names, DOM_SID ***sids, - char ***names, uint32 **name_types); -int winbindd_lookup_aliasinfo(char *system_name, DOM_SID *dom_sid, +BOOL winbindd_lookup_groupmem(struct winbindd_domain *domain, + uint32 group_rid, uint32 *num_names, + uint32 **rid_mem, char ***names, + enum SID_NAME_USE **name_types); +int winbindd_lookup_aliasmem(struct winbindd_domain *domain, + uint32 alias_rid, uint32 *num_names, + DOM_SID ***sids, char ***names, + enum SID_NAME_USE **name_types); +int winbindd_lookup_aliasinfo(struct winbindd_domain *domain, uint32 alias_rid, ALIAS_INFO_CTR *info); struct winbindd_domain *find_domain_from_name(char *domain_name); -BOOL find_domain_sid_from_name(char *domain_name, DOM_SID *domain_sid, - char *domain_controller); -BOOL find_domain_sid_from_uid(uid_t uid, DOM_SID *domain_sid, - char *domain_name, - char *domain_controller); -BOOL find_domain_sid_from_gid(gid_t gid, DOM_SID *domain_sid, - char *domain_controller, - char *domain_name); +struct winbindd_domain *find_domain_sid_from_name(char *domain_name); +struct winbindd_domain *find_domain_from_uid(uid_t uid); +struct winbindd_domain *find_domain_from_gid(gid_t gid); void free_getent_state(struct getent_state *state); +BOOL winbindd_param_init(void); /*The following definitions come from param/loadparm.c */ @@ -2383,6 +2381,11 @@ int cups_printername_ok(char *name); void sysv_printer_fn(void (*fn)(char *, char *)); int sysv_printername_ok(char *name); +/*The following definitions come from printing/printfsp.c */ + +files_struct *print_fsp_open(connection_struct *conn,char *jobname); +void print_fsp_end(files_struct *fsp); + /*The following definitions come from printing/printing.c */ BOOL print_backend_init(void); @@ -2405,8 +2408,6 @@ int print_queue_snum(char *qname); BOOL print_queue_pause(int snum); BOOL print_queue_resume(int snum); BOOL print_queue_purge(int snum); -files_struct *print_fsp_open(connection_struct *conn,char *jobname); -void print_fsp_end(files_struct *fsp); /*The following definitions come from profile/profile.c */ diff --git a/source/include/rpc_parse_proto.h b/source/include/rpc_parse_proto.h index 7dd3088ac24..6d48a849e00 100644 --- a/source/include/rpc_parse_proto.h +++ b/source/include/rpc_parse_proto.h @@ -177,62 +177,6 @@ BOOL smb_io_dom_rid2(char *desc, DOM_RID2 *rid2, prs_struct *ps, int depth); BOOL lsa_io_r_query(char *desc, LSA_R_QUERY_INFO * r_q, prs_struct *ps, int depth); -/*The following definitions come from rpc_parse/parse_misc.c */ - -BOOL smb_io_bigint(char *desc, BIGINT *bigint, prs_struct *ps, int depth); -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); -uint32 get_enum_hnd(ENUM_HND *enh); -BOOL make_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); -BOOL make_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 make_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 make_strhdr2(STRHDR2 *hdr, uint32 max_len, uint32 len, uint32 buffer); -BOOL smb_io_strhdr2(char *desc, STRHDR2 *hdr, prs_struct *ps, int depth); -BOOL make_uni_hdr(UNIHDR *hdr, int len); -BOOL make_unihdr_from_unistr2(UNIHDR *hdr, const UNISTR2 *str); -BOOL smb_io_unihdr(char *desc, UNIHDR *hdr, prs_struct *ps, int depth); -BOOL make_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, - uint32 ptr_hdrbuf, uint32 max_len, uint32 len); -BOOL smb_io_hdrbuf(char *desc, BUFHDR *hdr, prs_struct *ps, int depth); -BOOL make_bufhdr2(BUFHDR2 *hdr, uint32 info_level, uint32 length, uint32 buffer); -BOOL smb_io_bufhdr2(char *desc, BUFHDR2 *hdr, prs_struct *ps, int depth); -BOOL make_uni_hdr2(UNIHDR2 *hdr, int len); -BOOL make_unihdr2_from_unistr2(UNIHDR2 *hdr, const UNISTR2 *str); -BOOL smb_io_unihdr2(char *desc, UNIHDR2 *hdr2, prs_struct *ps, int depth); -BOOL make_unistr(UNISTR *str, char *buf); -BOOL smb_io_unistr(char *desc, UNISTR *uni, prs_struct *ps, int depth); -BOOL make_buffer3_uint32(BUFFER3 *str, uint32 val); -BOOL make_buffer3_str(BUFFER3 *str, const char *buf, int len); -BOOL make_buffer3_hex(BUFFER3 *str, char *buf); -BOOL make_buffer3_bytes(BUFFER3 *str, uint8 *buf, int len); -BOOL smb_io_buffer3(char *desc, BUFFER3 *buf3, prs_struct *ps, int depth); -BOOL make_buffer4_str(BUFFER4 *str, const char *buf, int len); -BOOL smb_io_buffer4(char *desc, BUFFER4 *buf4, uint32 buffer, prs_struct *ps, int depth); -BOOL init_buffer5(BUFFER5 **str); -BOOL clear_buffer5(BUFFER5 **str); -BOOL make_buffer5(BUFFER5 *str, char *buf, int len); -BOOL smb_io_buffer5(char *desc, BUFFER5 *buf5, prs_struct *ps, int depth); -BOOL make_buffer2_multi(BUFFER2 *str, char *const* const buf, uint32 num); -BOOL make_buffer2(BUFFER2 *str, const char *buf, int len); -BOOL smb_io_buffer2(char *desc, BUFFER2 *buf2, uint32 buffer, prs_struct *ps, int depth); -BOOL make_buf_unistr2(UNISTR2 *str, uint32 *ptr, const char *buf); -BOOL make_string2(STRING2 *str, const char *buf, int len); -BOOL make_buf_string2(STRING2 *str, uint32 *ptr, const char *buf); -BOOL smb_io_string2(char *desc, STRING2 *str2, uint32 buffer, prs_struct *ps, int depth); -BOOL make_unistr2(UNISTR2 *str, const char *buf, int len); -BOOL smb_io_unistr2(char *desc, UNISTR2 *uni2, uint32 buffer, 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); -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_unistr3(char *desc, UNISTR3 *name, prs_struct *ps, int depth); - /*The following definitions come from rpc_parse/parse_netsec.c */ BOOL rpc_hdr_netsec_auth_chk(RPC_HDR_AUTH * rai); @@ -370,55 +314,6 @@ BOOL reg_io_q_shutdown(char *desc, REG_Q_SHUTDOWN * q_q, prs_struct *ps, BOOL reg_io_r_shutdown(char *desc, REG_R_SHUTDOWN * r_q, prs_struct *ps, int depth); -/*The following definitions come from rpc_parse/parse_rpc.c */ - -BOOL make_rpc_hdr(RPC_HDR * hdr, enum RPC_PKT_TYPE pkt_type, uint8 flags, - uint32 call_id, int frag_len, int auth_len); -BOOL smb_io_rpc_hdr(char *desc, RPC_HDR * rpc, prs_struct * ps, int depth); -BOOL is_complete_pdu(prs_struct * ps); -BOOL smb_io_rpc_hdr_nack(char *desc, RPC_HDR_NACK * 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_uuid(char *desc, RPC_UUID * uuid, prs_struct *ps, int depth); -BOOL make_rpc_hdr_rb(RPC_HDR_RB * rpc, - uint16 max_tsize, uint16 max_rsize, uint32 assoc_gid, - uint8 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 make_rpc_hdr_ba(RPC_HDR_BA * rpc, - uint16 max_tsize, uint16 max_rsize, uint32 assoc_gid, - 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 make_rpc_hdr_req(RPC_HDR_REQ * hdr, uint32 alloc_hint, uint16 vuid, - 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 make_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 make_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 make_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); -BOOL rpc_auth_verifier_chk(RPC_AUTH_VERIFIER * rav, - char *signature, uint32 msg_type); - /*The following definitions come from rpc_parse/parse_samr.c */ BOOL make_samr_q_close_hnd(SAMR_Q_CLOSE_HND * q_c, POLICY_HND *hnd); diff --git a/source/lib/util.c b/source/lib/util.c index ad4d1f262a1..5b9e423b9ad 100644 --- a/source/lib/util.c +++ b/source/lib/util.c @@ -1688,7 +1688,7 @@ void *Realloc(void *p, size_t size) /**************************************************************************** protected memcpy that deals with NULL parameters. ****************************************************************************/ -BOOL Memcpy(void *to, const void *from, size_t size) +BOOL memcpy_zero(void *to, const void *from, size_t size) { if (to == NULL) { diff --git a/source/libsmb/pwd_cache.c b/source/libsmb/pwd_cache.c index 6c6fb567e99..8ee5cb386de 100644 --- a/source/libsmb/pwd_cache.c +++ b/source/libsmb/pwd_cache.c @@ -166,8 +166,8 @@ void pwd_set_lm_nt_16(struct pwd_info *pwd, { pwd_init(pwd); - Memcpy(pwd->smb_lm_pwd, lm_pwd, 16); - Memcpy(pwd->smb_nt_pwd, nt_pwd, 16); + memcpy_zero(pwd->smb_lm_pwd, lm_pwd, 16); + memcpy_zero(pwd->smb_nt_pwd, nt_pwd, 16); pwd->null_pwd = False; pwd->cleartext = False; @@ -181,8 +181,8 @@ void pwd_set_lm_nt_16(struct pwd_info *pwd, void pwd_get_lm_nt_16(const struct pwd_info *pwd, uchar lm_pwd[16], uchar nt_pwd[16]) { - Memcpy(lm_pwd, pwd->smb_lm_pwd, 16); - Memcpy(nt_pwd, pwd->smb_nt_pwd, 16); + memcpy_zero(lm_pwd, pwd->smb_lm_pwd, 16); + memcpy_zero(nt_pwd, pwd->smb_nt_pwd, 16); } /**************************************************************************** @@ -325,8 +325,8 @@ void pwd_get_lm_nt_owf(struct pwd_info *pwd, uchar lm_owf[24], return; } - Memcpy(lm_owf, pwd->smb_lm_owf, 24); - Memcpy(nt_owf, pwd->smb_nt_owf, pwd->nt_owf_len); + memcpy_zero(lm_owf, pwd->smb_lm_owf, 24); + memcpy_zero(nt_owf, pwd->smb_nt_owf, pwd->nt_owf_len); if (nt_owf_len != NULL) { diff --git a/source/rpc_parse/parse_net.c b/source/rpc_parse/parse_net.c index cdd4a951f45..5fa1d25fba1 100644 --- a/source/rpc_parse/parse_net.c +++ b/source/rpc_parse/parse_net.c @@ -162,7 +162,7 @@ BOOL make_clnt_info2(DOM_CLNT_INFO2 * clnt, make_clnt_srv(&(clnt->login), logon_srv, comp_name); - clnt->ptr_cred = Memcpy(&clnt->cred, clnt_cred, sizeof(clnt->cred)); + clnt->ptr_cred = memcpy_zero(&clnt->cred, clnt_cred, sizeof(clnt->cred)); return True; } @@ -205,7 +205,7 @@ BOOL make_clnt_info(DOM_CLNT_INFO * clnt, make_log_info(&(clnt->login), logon_srv, acct_name, sec_chan, comp_name); - Memcpy(&clnt->cred, cred, sizeof(clnt->cred)); + memcpy_zero(&clnt->cred, cred, sizeof(clnt->cred)); return True; } @@ -240,7 +240,7 @@ BOOL make_owf_info(OWF_INFO * hash, const uint8 data[16]) DEBUG(5, ("make_owf_info: %d\n", __LINE__)); - Memcpy(hash->data, data, sizeof(hash->data)); + memcpy_zero(hash->data, data, sizeof(hash->data)); return True; } @@ -422,7 +422,7 @@ BOOL make_r_logon_ctrl2(NET_R_LOGON_CTRL2 * r_l, r_l->switch_value = switch_value; /* should only be 0x1 */ r_l->status = status; - Memcpy(&r_l->logon, logon_info, sizeof(NETLOGON_INFO)); + memcpy_zero(&r_l->logon, logon_info, sizeof(NETLOGON_INFO)); if (status == NT_STATUS_NOPROBLEMO) { @@ -1194,7 +1194,7 @@ BOOL make_sam_info(DOM_SAM_INFO * sam, make_clnt_info2(&(sam->client), logon_srv, comp_name, clnt_cred); sam->ptr_rtn_cred = - Memcpy(&sam->rtn_cred, rtn_cred, sizeof(sam->rtn_cred)); + memcpy_zero(&sam->rtn_cred, rtn_cred, sizeof(sam->rtn_cred)); sam->logon_level = logon_level; sam->ctr = ctr; @@ -1342,14 +1342,14 @@ BOOL make_net_user_info2W(NET_USER_INFO_2 * usr, usr->buffer_groups = 1; /* indicates fill in groups, below, even if there are none */ usr->user_flgs = user_flgs; - Memcpy(usr->user_sess_key, sess_key, sizeof(usr->user_sess_key)); + memcpy_zero(usr->user_sess_key, sess_key, sizeof(usr->user_sess_key)); make_uni_hdr(&(usr->hdr_logon_srv), len_logon_srv); make_uni_hdr(&(usr->hdr_logon_dom), len_logon_dom); usr->buffer_dom_id = dom_sid ? 1 : 0; /* yes, put a domain SID in */ - Memcpy(usr->padding, padding, sizeof(usr->padding)); + memcpy_zero(usr->padding, padding, sizeof(usr->padding)); copy_unistr2(&(usr->uni_user_name), user_name); copy_unistr2(&(usr->uni_full_name), full_name); @@ -1440,14 +1440,14 @@ BOOL make_net_user_info2(NET_USER_INFO_2 * usr, usr->buffer_groups = 1; /* indicates fill in groups, below, even if there are none */ usr->user_flgs = user_flgs; - Memcpy(usr->user_sess_key, sess_key, sizeof(usr->user_sess_key)); + memcpy_zero(usr->user_sess_key, sess_key, sizeof(usr->user_sess_key)); make_uni_hdr(&(usr->hdr_logon_srv), len_logon_srv); make_uni_hdr(&(usr->hdr_logon_dom), len_logon_dom); usr->buffer_dom_id = dom_sid ? 1 : 0; /* yes, we're bothering to put a domain SID in */ - Memcpy(usr->padding, padding, sizeof(usr->padding)); + memcpy_zero(usr->padding, padding, sizeof(usr->padding)); make_unistr2(&(usr->uni_user_name), user_name, len_user_name); make_unistr2(&(usr->uni_full_name), full_name, len_full_name); @@ -1693,14 +1693,14 @@ BOOL make_net_user_info3W(NET_USER_INFO_3 * usr, usr->buffer_groups = 1; /* indicates fill in groups, below, even if there are none */ usr->user_flgs = user_flgs; - Memcpy(usr->user_sess_key, sess_key, sizeof(usr->user_sess_key)); + memcpy_zero(usr->user_sess_key, sess_key, sizeof(usr->user_sess_key)); make_uni_hdr(&(usr->hdr_logon_srv), len_logon_srv); make_uni_hdr(&(usr->hdr_logon_dom), len_logon_dom); usr->buffer_dom_id = dom_sid ? 1 : 0; /* yes, put a domain SID in */ - Memcpy(usr->padding, padding, sizeof(usr->padding)); + memcpy_zero(usr->padding, padding, sizeof(usr->padding)); num_other_sids = make_dom_sid2s(other_sids, usr->other_sids, LSA_MAX_SIDS); @@ -1799,14 +1799,14 @@ BOOL make_net_user_info3(NET_USER_INFO_3 * usr, usr->buffer_groups = 1; /* indicates fill in groups, below, even if there are none */ usr->user_flgs = user_flgs; - Memcpy(usr->user_sess_key, sess_key, sizeof(usr->user_sess_key)); + memcpy_zero(usr->user_sess_key, sess_key, sizeof(usr->user_sess_key)); make_uni_hdr(&(usr->hdr_logon_srv), len_logon_srv); make_uni_hdr(&(usr->hdr_logon_dom), len_logon_dom); usr->buffer_dom_id = dom_sid ? 1 : 0; /* yes, we're bothering to put a domain SID in */ - Memcpy(usr->padding, padding, sizeof(usr->padding)); + memcpy_zero(usr->padding, padding, sizeof(usr->padding)); num_other_sids = make_dom_sid2s(other_sids, usr->other_sids, LSA_MAX_SIDS); diff --git a/source/rpc_parse/parse_netsec.c b/source/rpc_parse/parse_netsec.c index 94cdbe64fe2..fd867a85618 100644 --- a/source/rpc_parse/parse_netsec.c +++ b/source/rpc_parse/parse_netsec.c @@ -142,10 +142,10 @@ BOOL make_rpc_auth_netsec_chk(RPC_AUTH_NETSEC_CHK * chk, if (chk == NULL) return False; - Memcpy(chk->sig, sig, sizeof(chk->sig)); - Memcpy(chk->data1, data1, sizeof(chk->data1)); - Memcpy(chk->data3, data3, sizeof(chk->data3)); - Memcpy(chk->data8, data8, sizeof(chk->data8)); + memcpy_zero(chk->sig, sig, sizeof(chk->sig)); + memcpy_zero(chk->data1, data1, sizeof(chk->data1)); + memcpy_zero(chk->data3, data3, sizeof(chk->data3)); + memcpy_zero(chk->data8, data8, sizeof(chk->data8)); return True; } diff --git a/source/rpc_parse/parse_samr.c b/source/rpc_parse/parse_samr.c index aea144171ba..c6b4fe3d3f3 100644 --- a/source/rpc_parse/parse_samr.c +++ b/source/rpc_parse/parse_samr.c @@ -4962,9 +4962,9 @@ BOOL make_sam_user_info12(SAM_USER_INFO_12 * usr, DEBUG(5, ("make_sam_user_info12\n")); usr->lm_pwd_active = - Memcpy(usr->lm_pwd, lm_pwd, sizeof(usr->lm_pwd)) ? 1 : 0; + memcpy_zero(usr->lm_pwd, lm_pwd, sizeof(usr->lm_pwd)) ? 1 : 0; usr->nt_pwd_active = - Memcpy(usr->nt_pwd, nt_pwd, sizeof(usr->nt_pwd)) ? 1 : 0; + memcpy_zero(usr->nt_pwd, nt_pwd, sizeof(usr->nt_pwd)) ? 1 : 0; return True; } @@ -5260,7 +5260,7 @@ BOOL make_sam_user_info23W(SAM_USER_INFO_23 * usr, const NTTIME * logon_time, /* usr->unknown_6 = unknown_6; /* 0x0000 04ec */ usr->padding4 = 0; - Memcpy(&(usr->logon_hrs), hrs, sizeof(usr->logon_hrs)); + memcpy_zero(&(usr->logon_hrs), hrs, sizeof(usr->logon_hrs)); return True; } @@ -5349,7 +5349,7 @@ BOOL make_sam_user_info23A(SAM_USER_INFO_23 * usr, NTTIME * logon_time, /* all z usr->unknown_6 = unknown_6; /* 0x0000 04ec */ usr->padding4 = 0; - Memcpy(&(usr->logon_hrs), hrs, sizeof(usr->logon_hrs)); + memcpy_zero(&(usr->logon_hrs), hrs, sizeof(usr->logon_hrs)); return True; } @@ -5528,8 +5528,8 @@ BOOL make_sam_user_info21W(SAM_USER_INFO_21 * usr, make_uni_hdr(&(usr->hdr_unknown_str), len_unknown_str); make_uni_hdr(&(usr->hdr_munged_dial), len_munged_dial); - Memcpy(usr->lm_pwd, lm_pwd, sizeof(usr->lm_pwd)); - Memcpy(usr->nt_pwd, nt_pwd, sizeof(usr->nt_pwd)); + memcpy_zero(usr->lm_pwd, lm_pwd, sizeof(usr->lm_pwd)); + memcpy_zero(usr->nt_pwd, nt_pwd, sizeof(usr->nt_pwd)); usr->user_rid = user_rid; usr->group_rid = group_rid; @@ -5556,7 +5556,7 @@ BOOL make_sam_user_info21W(SAM_USER_INFO_21 * usr, usr->unknown_6 = unknown_6; /* 0x0000 04ec */ usr->padding4 = 0; - Memcpy(&(usr->logon_hrs), hrs, sizeof(usr->logon_hrs)); + memcpy_zero(&(usr->logon_hrs), hrs, sizeof(usr->logon_hrs)); return True; } @@ -5651,7 +5651,7 @@ BOOL make_sam_user_info21A(SAM_USER_INFO_21 * usr, usr->unknown_6 = unknown_6; /* 0x0000 04ec */ usr->padding4 = 0; - Memcpy(&(usr->logon_hrs), hrs, sizeof(usr->logon_hrs)); + memcpy_zero(&(usr->logon_hrs), hrs, sizeof(usr->logon_hrs)); return True; } diff --git a/source/samrd/srv_samr_usr_tdb.c b/source/samrd/srv_samr_usr_tdb.c index 434accd2403..42b5e9b116b 100644 --- a/source/samrd/srv_samr_usr_tdb.c +++ b/source/samrd/srv_samr_usr_tdb.c @@ -245,8 +245,8 @@ static BOOL tdb_set_userinfo_pwds(TDB_CONTEXT * tdb, return False; } - Memcpy(usr.lm_pwd, lm_pwd, sizeof(usr.lm_pwd)); - Memcpy(usr.nt_pwd, nt_pwd, sizeof(usr.nt_pwd)); + memcpy_zero(usr.lm_pwd, lm_pwd, sizeof(usr.lm_pwd)); + memcpy_zero(usr.nt_pwd, nt_pwd, sizeof(usr.nt_pwd)); if (!tdb_store_user(tdb, &usr)) { diff --git a/source/smbd/chgpasswd.c b/source/smbd/chgpasswd.c index 5a69b751b71..15e2c74b470 100644 --- a/source/smbd/chgpasswd.c +++ b/source/smbd/chgpasswd.c @@ -566,8 +566,8 @@ static BOOL check_oem_password(const char *user, BOOL nt_pass_set = (_ntdata != NULL && nthash != NULL); - Memcpy(lmdata, _lmdata, sizeof(lmdata)); - Memcpy(ntdata, _ntdata, sizeof(ntdata)); + memcpy_zero(lmdata, _lmdata, sizeof(lmdata)); + memcpy_zero(ntdata, _ntdata, sizeof(ntdata)); become_root(False); (*psmbpw) = smbpw = getsmbpwnam(user); |