├── bin
└── .gitkeep
├── label-2.ber
├── label-3.ber
├── test-data
├── stupid-label.ber
├── nato-4774-extra-1.xml
├── nato-4774-17-2.xml
├── tlpx-amber-eu.xml
├── nato-4774-17-3.xml
├── food-label-water.xml
├── tlpx-green-sh-na.xml
├── nato-4774-17-5.xml
├── nato-4774-17-2.nato
├── nato-4774-17-6.xml
├── nato-4774-17-3.nato
├── nato-4774-17-4.xml
├── nato-4774-17-1.xml
├── food-label-bacon.xml
├── uk-demo-secret-uk.xml
├── nato-4774-17-5.nato
├── nato-4774-17-6.nato
├── food-clearance-lactose-intolerant.xml
├── nato-4774-17-4.nato
├── nato-4774-17-1.nato
├── food-label-milk-chocolate.xml
├── food-label-cheap-milk-chocolate.xml
├── food-label-gimmick-milk-chocolate.xml
├── food-clearance-all-okay.xml
├── food-label-meaty-milk-chocolate.xml
├── bsi-commercial.xml
├── tlp.xml
├── Makefile
├── food-policy-borked.xml
├── tests.xml
├── food-policy.xml
├── food-policy-missi.xml
├── uk-demo.xml
└── tlp-plus.xml
├── label-1.ber
├── .idea
├── dictionaries
│ └── dwd.xml
├── inspectionProfiles
│ ├── profiles_settings.xml
│ └── Project_Default.xml
└── codeStyleSettings.xml
├── circle.yml
├── seclabel-simple.xml
├── .gitignore
├── .gitmodules
├── seclabel.xml
├── .travis.yml
├── PLAYING-NICELY.md
├── CONTRIBUTORS.md
├── include
└── spiffing
│ ├── markings.h
│ ├── spiffing.h
│ ├── exceptions.h
│ ├── categorygroup.h
│ ├── categorydata.h
│ ├── equivclass.h
│ ├── equivcat.h
│ ├── categoryref.h
│ ├── tag.h
│ ├── marking.h
│ ├── lacv.h
│ ├── clearance.h
│ ├── label.h
│ ├── category.h
│ ├── tagset.h
│ ├── constants.h
│ ├── classification.h
│ ├── spif.h
│ └── catutils.h
├── Clearance.asn
├── src
├── exceptions.cc
├── markings.cc
├── spiffing.cc
├── tag.cc
├── constants.cc
├── equivclass.cc
├── equivcat.cc
├── categorygroup.cc
├── tagset.cc
├── categorydata.cc
├── classification.cc
├── lacv.cc
├── marking.cc
├── category.cc
└── label.cc
├── SSLPrivileges.asn
├── SECURITY.md
├── LICENSE
├── MissiSecurityCategories.asn
├── ESSSecurityLabel.asn
├── clearance-reader.cc
├── acp145.asn
├── spifflicator.cc
├── README.md
├── label-reader.cc
├── FAQ.md
├── CMakeLists.txt
├── test.cc
├── Makefile
├── transpifferizer.cc
└── X841.asn
/bin/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/label-2.ber:
--------------------------------------------------------------------------------
1 | 1)
--------------------------------------------------------------------------------
/label-3.ber:
--------------------------------------------------------------------------------
1 | 1)
--------------------------------------------------------------------------------
/test-data/stupid-label.ber:
--------------------------------------------------------------------------------
1 | 13)VAGUELY SECRET
--------------------------------------------------------------------------------
/label-1.ber:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/surevine/spiffing/HEAD/label-1.ber
--------------------------------------------------------------------------------
/.idea/dictionaries/dwd.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/circle.yml:
--------------------------------------------------------------------------------
1 | checkout:
2 | post:
3 | - make submodules
4 |
5 | build:
6 | pre:
7 | - make pre-build
8 |
--------------------------------------------------------------------------------
/test-data/nato-4774-extra-1.xml:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/seclabel-simple.xml:
--------------------------------------------------------------------------------
1 |
2 | 1.1
3 | 4
4 |
5 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | *~
2 | build/
3 | report/
4 | gen-ber/
5 | clearance-parser
6 | label-reader
7 | label-parser
8 | converter-sample.c
9 | spifflicator
10 | transpifferizer
11 | test
12 | bin/*
13 |
--------------------------------------------------------------------------------
/.gitmodules:
--------------------------------------------------------------------------------
1 | [submodule "deps/rapidxml"]
2 | path = deps/rapidxml
3 | url = https://github.com/dwd/rapidxml.git
4 | [submodule "deps/asn1c"]
5 | path = deps/asn1c
6 | url = https://github.com/dwd/asn1c.git
7 |
--------------------------------------------------------------------------------
/test-data/nato-4774-17-2.xml:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/test-data/tlpx-amber-eu.xml:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/seclabel.xml:
--------------------------------------------------------------------------------
1 |
2 | 1.1
3 | 51
4 | VAGUELY SECRET
5 |
6 |
--------------------------------------------------------------------------------
/test-data/nato-4774-17-3.xml:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/.idea/inspectionProfiles/profiles_settings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/test-data/food-label-water.xml:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/test-data/tlpx-green-sh-na.xml:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/.travis.yml:
--------------------------------------------------------------------------------
1 | before_install:
2 | - sudo make travis
3 | - make pre-build
4 | - make asn1c
5 | - make gen-ber/.marker
6 | language: cpp
7 | script: make "DEBUG=-g --coverage" && make "DEBUG=-g --coverage" test-spiffing && make "DEBUG=-g --coverage" quick-tests
8 | after_success:
9 | - gcov-4.8 -p -r `find build -name '*.gcda'`
10 | - coveralls --exclude gen-ber --exclude deps --no-gcov --verbose
11 |
--------------------------------------------------------------------------------
/test-data/nato-4774-17-5.xml:
--------------------------------------------------------------------------------
1 |
9 |
--------------------------------------------------------------------------------
/PLAYING-NICELY.md:
--------------------------------------------------------------------------------
1 | Playing Nicely
2 | ==============
3 |
4 | This software is licensed under extremely liberal terms, with the hope that
5 | this reduces any barriers to use to the absolute minimum.
6 |
7 | However, the intent of the author is to actively maintain a useful library, and
8 | therefore licensors are requested -- though not mandated -- to pass back any
9 | changes and improvements for inclusion in the upstream copy.
10 |
--------------------------------------------------------------------------------
/test-data/nato-4774-17-2.nato:
--------------------------------------------------------------------------------
1 |
2 |
3 | NATO
4 | UNCLASSIFIED
5 |
6 | NATO
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/CONTRIBUTORS.md:
--------------------------------------------------------------------------------
1 | # Contributors
2 |
3 | ## Special thanks for all the people who had helped this project so far:
4 |
5 | * [Dave Cridland](https://github.com/dwd)
6 | * [Lloyd Watkin](https://github.com/lloydwatkin)
7 | * [Simon Waters](https://github.com/SimonWaters)
8 |
9 | The project originated at [Surevine](https://surevine.com) with the
10 | vision to develop a fully policy-driven secure message exchange
11 | mechanism.
12 |
13 |
--------------------------------------------------------------------------------
/test-data/nato-4774-17-6.xml:
--------------------------------------------------------------------------------
1 |
10 |
--------------------------------------------------------------------------------
/test-data/nato-4774-17-3.nato:
--------------------------------------------------------------------------------
1 |
2 |
3 | NATO
4 | UNCLASSIFIED
5 |
6 | NATO
7 |
8 |
9 | STAFF
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/test-data/nato-4774-17-4.xml:
--------------------------------------------------------------------------------
1 |
11 |
--------------------------------------------------------------------------------
/test-data/nato-4774-17-1.xml:
--------------------------------------------------------------------------------
1 |
11 |
--------------------------------------------------------------------------------
/test-data/food-label-bacon.xml:
--------------------------------------------------------------------------------
1 |
9 |
--------------------------------------------------------------------------------
/.idea/inspectionProfiles/Project_Default.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/test-data/uk-demo-secret-uk.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/test-data/nato-4774-17-5.nato:
--------------------------------------------------------------------------------
1 |
2 |
3 | NATO
4 | CONFIDENTIAL
5 |
6 | EAPC
7 | Releasable
8 |
9 |
10 | EAPC
11 | ISAF
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/include/spiffing/markings.h:
--------------------------------------------------------------------------------
1 | //
2 | // Created by dwd on 04/04/16.
3 | //
4 |
5 | #ifndef SPIFFING_MARKINGS_H
6 | #define SPIFFING_MARKINGS_H
7 |
8 | #include
9 | #include
10 | #include
11 | #include