# big acl file that works for zeus, valkyries, and aragorn
#
# entries are in the following format:
# targetParty sourceParty context privileges
#
# parties and contexts can either be friendly name as in the
# party and context files or they can be object identifiers
#
# and privileges is [gnsrt]*
# where g = get, n = getnext, s = set, r = get Response,
# b = bulk, i = inform, u = trap2
#
#for example:
#zeusagent zeusms zeuscontext1 GNB
#zeusms zeusagent zeuscontext1 RU

#zeusagent zeusms zeusContext1 GNB
#zeusms zeusagent zeuscontext1 RU

zeusagentmd5 zeusmsmd5 zeuscontext2 GNBS
zeusmsmd5 zeusagentmd5 zeuscontext2 RU
