Skip to content
This repository has been archived by the owner on Mar 26, 2019. It is now read-only.

RUB-NDS/jholthuis-xmljson

 
 

Repository files navigation

Bachelorarbeit

Ordnerstruktur

Die Ordnerstruktur (wie im How-To beschrieben):

Ordner Inhalt
code Quelltexte
doku Zwischenergebnisse, Stichpunkte, etc.
extra How-To, Vorlagen, etc.
expose Exposé für die Bachelorarbeit
literatur Referenzierte Paper im Volltext
presentation Folien für die Kolloquiums-Vorträge
thesis Bachelorarbeit

Latex-Abhängigkeiten

Neben einer aktuellen TeXLive-Distribution werden benötigt:

Zudem sollte das Tool Latexmk zum Kompilieren verwendet werden, damit sichergestellt wird, dass genügend Durchläufe zum Auflösen aller Querverweise gemacht werden. Zudem befinden sich .latexmkrc-Dateien in den jeweiligen Dokumentordnern, die sinnvolle Einstellungen für den Kompiliervorgang enthalten.

Da das LaTeX-Paket minted für die Einfärbung der Quelltexte eingesetzt wird, müssen zudem die dazu notwendigen Python-Pakete installiert sein:

Mittels pip können die beiden Pakete einfach installiert werden:

$ pip install pygments pygments-style-rub

Test-Framework

Es wird empfohlen, das Test-Framework innerhalb eines Docker-Containers auszuführen. Dazu kann das Dockerfile unter code/Dockerfile verwendet werden.

Zunächst muss dafür das Docker-Image erstellt werden:

$ cd code
$ docker build -t xjcc .

Im Anschluss kann der Docker-Container gestartet werden. Um die Ergebnisdaten später auf dem Host-System auswerten zu können, kann ein lokaler Ordner auf das /data-Verzeichnis im Docker-Container gemappt werden. Hier ein Beispiel für das Verzeichnis ~/mydata auf dem Host:

$ docker run -v ~/mydata:/data -it xjcc

Im Container wird eine Shell gestartet, in der dann der Befehl xjcc zum Einsatz des Test-Frameworks genutzt werden kann.

Das folgende Kommando führt alle Konverter und alle Testfälle aus und legt die Ergebnisse in einem Ordner im aktuellen Arbeitsverzeichnis ab:

$ xjcc -vv test-conversion -w

Mit dem Argument --help kann die eingebaute Hilfe angezeigt werden:

usage: xjcc [-h] [-v | -vv | -q]
            {convert-file,list-converters,list-testcases,test-conversion,canonicalize}
            ...

XML/JSON conversion checker
(c) 2017 by Jan Holthuis

positional arguments:
  {convert-file,list-converters,list-testcases,test-conversion,canonicalize}
    convert-file        convert file
    list-converters     list available converters
    list-testcases      list available testcases
    test-conversion     test conversion
    canonicalize        canonicalize an XML document

optional arguments:
  -h, --help            show this help message and exit
  -v, --verbose         be verbose
  -vv, --debug          even show debug messages
  -q, --quiet           be quiet

Happy testing!

Testcases

Die Sicherheits-Testdokumente in den Ordnern "denial-of-service", "file-system-access" und "server-side-request-forgery" basieren auf der Arbeit von Christopher Späth. Die ursprünglichen Versionen der Testdokumente befinden sich im "DTD-Attacks"-Repository des NDS-Lehrstuhls auf Github.

About

IT-Security Bachelor Thesis

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TeX 86.8%
  • Python 11.2%
  • JavaScript 0.6%
  • Java 0.5%
  • Dockerfile 0.5%
  • C# 0.1%
  • Other 0.3%