diff options
-rw-r--r-- | source3/include/proto.h | 39 | ||||
-rw-r--r-- | source3/libsmb/smbencrypt.c | 7 |
2 files changed, 40 insertions, 6 deletions
diff --git a/source3/include/proto.h b/source3/include/proto.h index 5ad1959677..b604d55c51 100644 --- a/source3/include/proto.h +++ b/source3/include/proto.h @@ -739,7 +739,7 @@ void pwd_get_lm_nt_owf(struct pwd_info *pwd, uchar lm_owf[24], uchar nt_owf[24]) /*The following definitions come from libsmb/smbdes.c */ -void smbhash(unsigned char *out, unsigned char *in, unsigned char *key, int forw); +void smbhash(unsigned char *out, const uchar *in, unsigned char *key, int forw); void E_P16(unsigned char *p14,unsigned char *p16); void E_P24(unsigned char *p21, unsigned char *c8, unsigned char *p24); void D_P16(unsigned char *p14, unsigned char *in, unsigned char *out); @@ -758,7 +758,7 @@ void SMBOWFencrypt(uchar passwd[16], uchar *c8, uchar p24[24]); void NTLMSSPOWFencrypt(uchar passwd[8], uchar *ntlmchalresp, uchar p24[24]); void SMBNTencrypt(uchar *passwd, uchar *c8, uchar *p24); BOOL make_oem_passwd_hash(char data[516], const char *passwd, uchar old_pw_hash[16], BOOL unicode); -int nt_decrypt_string2(STRING2 *out, STRING2 *in, char nt_hash[16]); +BOOL nt_decrypt_string2(STRING2 *out, const STRING2 *in, char nt_hash[16]); /*The following definitions come from libsmb/smberr.c */ @@ -1404,6 +1404,41 @@ struct smb_passwd *ldap_getpw(void); BOOL ldap_allocaterid(uint32 *rid); struct smb_passdb_ops *ldap_initialise_password_db(void); +/*The following definitions come from passdb/mysqlpass.c */ + +int mysql_db_lock_connect( MYSQL *handle ); +void *mysql_startpwent( BOOL update ); +void mysql_endpwent( void *ptr ); +SMB_BIG_UINT mysql_getpwpos(void *vp); +BOOL mysql_setpwpos(void *vp, SMB_BIG_UINT pos); +void *mysql_fill_smb_passwd( MYSQL_ROW *row ); +struct smb_passwd *mysql_getsmbpwent(void *vp); +void *mysql_fetch_passwd( void *(*filler)(MYSQL_ROW*), char *where ); +void *mysql_getpwuid(void *(*filler)(MYSQL_ROW *), uid_t uid); +struct smb_passwd *mysql_getsmbpwuid(uid_t uid); +void *mysql_getpwnam(void *(*filler)(MYSQL_ROW *), char *field, const char *name); +struct smb_passwd *mysql_getsmbpwnam(const char *unix_name); +BOOL mysql_del_smb( MYSQL *handle, char *unix_name ); +BOOL mysql_add_smb( MYSQL *handle, struct smb_passwd *smb ); +BOOL mysql_mod_smb( MYSQL *handle, struct smb_passwd *smb, BOOL override ); +BOOL mysql_add_smbpwd_entry(struct smb_passwd *smb); +BOOL mysql_mod_smbpwd_entry(struct smb_passwd *smb, BOOL override); +struct smb_passdb_ops *mysql_initialise_password_db(void); + +/*The following definitions come from passdb/mysqlsampass.c */ + +void *mysql_fill_sam_passwd( MYSQL_ROW *row ); +struct sam_passwd *mysql_getsampwent(void *vp); +struct sam_passwd *mysql_getsampwrid(uint32 rid); +struct sam_passwd *mysql_getsampwuid(uid_t uid); +struct sam_passwd *mysql_getsampwntnam(const char *nt_name); +struct sam_disp_info *mysql_getsamdispntnam(const char *nt_name); +struct sam_disp_info *mysql_getsamdisprid(uint32 rid); +struct sam_disp_info *mysql_getsamdispent(void *vp); +BOOL mysql_add_sampwd_entry(struct sam_passwd *sam); +BOOL mysql_mod_sampwd_entry(struct sam_passwd *sam, BOOL override); +struct sam_passdb_ops *mysql_initialise_sam_password_db(void); + /*The following definitions come from passdb/nispass.c */ struct passdb_ops *nisplus_initialise_password_db(void); diff --git a/source3/libsmb/smbencrypt.c b/source3/libsmb/smbencrypt.c index 3835c99815..20a8eb0504 100644 --- a/source3/libsmb/smbencrypt.c +++ b/source3/libsmb/smbencrypt.c @@ -226,7 +226,7 @@ BOOL make_oem_passwd_hash(char data[516], const char *passwd, uchar old_pw_hash[ return True; } -int nt_decrypt_string2(STRING2 *out, STRING2 *in, char nt_hash[16]) +BOOL nt_decrypt_string2(STRING2 *out, const STRING2 *in, char nt_hash[16]) { uchar bufhdr[8]; int datalen; @@ -236,9 +236,8 @@ int nt_decrypt_string2(STRING2 *out, STRING2 *in, char nt_hash[16]) uchar *keyend = key + sizeof(key); uchar *outbuf = (uchar *)out->buffer; - uchar *inbuf = (uchar *)in->buffer; - uchar *inbufend; - + const uchar *inbuf = (const uchar *)in->buffer; + const uchar *inbufend; mdfour(key, nt_hash, 16); |