1
0
mirror of https://github.com/samba-team/samba.git synced 2025-03-11 16:58:40 +03:00

charset.c: Fixed signed/unsigned issues.

password.c:	Fixed problem with MS-Exchange services.
Jeremy (jallison@whistle.com)
This commit is contained in:
Samba Release Account -
parent 937f0fbf87
commit e723dd3dee
2 changed files with 16 additions and 2 deletions

View File

@ -273,12 +273,12 @@ void add_char_string(char *s)
for (t=strtok(extra_chars," \t\r\n"); t; t=strtok(NULL," \t\r\n")) {
char c1=0,c2=0;
int i1=0,i2=0;
if (isdigit(*t) || (*t)=='-') {
if (isdigit((unsigned char)*t) || (*t)=='-') {
sscanf(t,"%i:%i",&i1,&i2);
add_dos_char(i1,True,i2,True);
} else {
sscanf(t,"%c:%c",&c1,&c2);
add_dos_char(c1,True,c2, True);
add_dos_char((unsigned char)c1,True,(unsigned char)c2, True);
}
}

View File

@ -153,12 +153,26 @@ uint16 register_vuid(int uid,int gid, char *name,BOOL guest)
struct passwd *pwfile; /* for getting real name from passwd file */
int real_name_len;
#if 0
/*
* After observing MS-Exchange services writing to a Samba share
* I belive this code is incorrect. Each service does it's own
* sessionsetup_and_X for the same user, and as each service shuts
* down, it does a user_logoff_and_X. As we are consolidating multiple
* sessionsetup_and_X's onto the same vuid here, when the first service
* shuts down, it invalidates all the open files for the other services.
* Hence I am removing this code and forcing each sessionsetup_and_X
* to get a new vuid.
* Jeremy Allison. (jallison@whistle.com).
*/
int i;
for(i = 0; i < num_validated_users; i++) {
vuser = &validated_users[i];
if( vuser->uid == uid )
return (uint16)(i + VUID_OFFSET); /* User already validated */
}
#endif
validated_users = (user_struct *)Realloc(validated_users,
sizeof(user_struct)*