Changeset 1484
- Timestamp:
- 02/16/07 15:54:21
(2 years ago)
- Author:
- bwilliams
- Message:
Fix to allow basedomains to not break encapulation rules in policy
-
Files:
-
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
| r1459 |
r1484 |
|
| 159 | 159 | if(dom instanceof Domain) { |
|---|
| 160 | 160 | makeDomain((Domain) dom, stream); |
|---|
| 161 | | TranslateAccesses((Domain)dom, stream); |
|---|
| 162 | 161 | } else if(dom instanceof UserDomain) { |
|---|
| 163 | 162 | makeUserDomain((UserDomain) dom, stream); |
|---|
| 164 | 163 | } |
|---|
| | 164 | if(dom instanceof BaseDomain) { |
|---|
| | 165 | stream.print("optional_policy(`\n" + |
|---|
| | 166 | "\tgen_require(`\n" + |
|---|
| | 167 | "\t\ttype " + ((BaseDomain) dom).getType() + ";\n" + |
|---|
| | 168 | "\t\trole " + ((BaseDomain) dom).GetRole() + ";\n" + |
|---|
| | 169 | "\t')\n"); |
|---|
| | 170 | } |
|---|
| | 171 | TranslateAccesses(dom, stream); |
|---|
| 165 | 172 | TranslateEntries(dom, stream); |
|---|
| | 173 | if(dom instanceof BaseDomain) { |
|---|
| | 174 | stream.print("\n')\n"); |
|---|
| | 175 | } |
|---|
| 166 | 176 | } |
|---|
| 167 | 177 | |
|---|
| … | … | |
| 243 | 253 | |
|---|
| 244 | 254 | |
|---|
| 245 | | private void TranslateAccesses(Domain dom, PrintStream stream) { |
|---|
| | 255 | private void TranslateAccesses(IDomain dom, PrintStream stream) { |
|---|
| 246 | 256 | Iterator iter = dom.GetAccesses().iterator(); |
|---|
| 247 | 257 | while(iter.hasNext()) { |
|---|
| … | … | |
| 1169 | 1179 | private void PropogateRole(IDomain endDomain, String role) { |
|---|
| 1170 | 1180 | List entries = endDomain.GetEntries(); |
|---|
| 1171 | | boolean newRole = roleRules.add("role " + role + " types " |
|---|
| 1172 | | + endDomain.getType() + ";"); |
|---|
| | 1181 | String rule = "optional_policy(`\ngen_require(`\n\trole " + role + ";\n"; |
|---|
| | 1182 | if(endDomain instanceof BaseDomain) |
|---|
| | 1183 | rule += "\ttype "+ endDomain.getType() + ";\n)"; |
|---|
| | 1184 | rule += "')\n" + " role " + role + " types " |
|---|
| | 1185 | + endDomain.getType() + ";\n')\n"; |
|---|
| | 1186 | boolean newRole = roleRules.add(rule); |
|---|
| 1173 | 1187 | if(newRole) { |
|---|
| 1174 | 1188 | Iterator itr = entries.iterator(); |
|---|
Download in other formats:
* Generating other formats may take time.