security: perms_pending not evaluated correctly
(cherry picked from commit 5a46f1229d
)
This commit is contained in:
parent
33ac85f637
commit
a93bd8d944
@ -192,7 +192,7 @@ function get_all_perms($uid, $observer_xchan, $check_siteblock = true, $default_
|
||||
|
||||
// They are in your address book, but haven't been approved
|
||||
|
||||
if($channel_perm & PERMS_PENDING) {
|
||||
if($channel_perm & PERMS_PENDING && (! intval($x[0]['abook_pseudo']))) {
|
||||
$ret[$perm_name] = true;
|
||||
continue;
|
||||
}
|
||||
@ -316,6 +316,7 @@ function perm_is_allowed($uid, $observer_xchan, $permission, $check_siteblock =
|
||||
|
||||
if(! $x) {
|
||||
// not in address book and no guest token, see if they've got an xchan
|
||||
|
||||
$y = q("select xchan_network from xchan where xchan_hash = '%s' limit 1",
|
||||
dbesc($observer_xchan)
|
||||
);
|
||||
@ -327,7 +328,6 @@ function perm_is_allowed($uid, $observer_xchan, $permission, $check_siteblock =
|
||||
}
|
||||
$abperms = load_abconfig($uid,$observer_xchan,'my_perms');
|
||||
}
|
||||
|
||||
|
||||
// system is blocked to anybody who is not authenticated
|
||||
|
||||
@ -382,7 +382,7 @@ function perm_is_allowed($uid, $observer_xchan, $permission, $check_siteblock =
|
||||
|
||||
// They are in your address book, but haven't been approved
|
||||
|
||||
if($channel_perm & PERMS_PENDING) {
|
||||
if($channel_perm & PERMS_PENDING && (! intval($x[0]['abook_pseudo']))) {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user