mirror of
https://git.openldap.org/openldap/openldap.git
synced 2025-03-07 14:18:15 +08:00
improvement of permission handling of local sockets (ITS#1660, issue 2)
This commit is contained in:
parent
fa654ae447
commit
6174cb6529
@ -426,38 +426,25 @@ static int get_url_perms(
|
||||
return LDAP_OTHER;
|
||||
}
|
||||
#else
|
||||
int j;
|
||||
|
||||
if ( strlen(value) != 3 ) {
|
||||
return LDAP_OTHER;
|
||||
}
|
||||
|
||||
switch ( value[ 0 ] ) {
|
||||
case 'w':
|
||||
p |= S_IRWXU;
|
||||
break;
|
||||
case '-':
|
||||
break;
|
||||
default:
|
||||
return LDAP_OTHER;
|
||||
}
|
||||
for ( j = 0; j < 3; j++ ) {
|
||||
static mode_t m[ 3 ]
|
||||
= { S_IRWXU, S_IRWXG, S_IRWXO };
|
||||
|
||||
switch ( value[ 1 ] ) {
|
||||
case 'w':
|
||||
p |= S_IRWXG;
|
||||
break;
|
||||
case '-':
|
||||
break;
|
||||
default:
|
||||
return LDAP_OTHER;
|
||||
}
|
||||
|
||||
switch ( value[ 2 ] ) {
|
||||
case 'w':
|
||||
p |= S_IRWXO;
|
||||
break;
|
||||
case '-':
|
||||
break;
|
||||
default:
|
||||
return LDAP_OTHER;
|
||||
switch ( value[ j ] ) {
|
||||
case 'w':
|
||||
p |= m[ j ];
|
||||
break;
|
||||
case '-':
|
||||
break;
|
||||
default:
|
||||
return LDAP_OTHER;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
@ -467,6 +454,8 @@ static int get_url_perms(
|
||||
return LDAP_SUCCESS;
|
||||
}
|
||||
}
|
||||
|
||||
return LDAP_OTHER;
|
||||
}
|
||||
#endif /* LDAP_PF_LOCAL */
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user