Research Article

HAC: Hybrid Access Control for Online Social Networks

Algorithm 3

ADFS().
(1)if > hopcount then
(2) return F
(3)else
(4)for all (, ) where () in do
(5)if 1 (currentPath)
(6)break
(7)if 2 ((currentPath) && ( = end))
(8)if (path_reg_exp[] != ) then
(9)break
(10)if (! match (path.attre_spec[].pro_attr_group, v.pro_atr_group)) then
(11)break
(12); currentPah←currentPath.(, , )
(13)currentNode←
(14)nodeHistory←nodeHistory.(currentNode)
(15)return T
(16)if 3 ((currentPath) && ( = end) && (path_reg_exp[] != ))
(17)break
(18)if 4 ((currentPath) && (end) && (path_reg_exp[] != ))
(19)break
(20)if 5 ((currentPath) && (end) && (path_reg_exp[] = ))
(21) = ; currentPath←currentPath.(, , )
(22)currentNode←
(23)nodeHistory←nodeHistory.(currentNode)
(24)if (ADFS()) then
(25)return T
(26)else
(27)break
(28)if then
(29)return F
(30)else
(31); currentPath←currentPath∖(, , )
(32)nodeHistory ← nodeHistorycurrentNode
(33)return F