summaryrefslogtreecommitdiffstats
path: root/TODO.txt
blob: 57efd0993a687e840eea3f62af4c8954555ff872 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
TODO - Liste Satellite - Deamon.

Befehlszeilenoptionen:

[x] * Wird der sat-daemon ohne Optionen gestartet, soll er versuchen, eine
     existierende Identität zu laden. Sofern die Organization nicht gesetzt ist,
     oder das laden des Keys durch den AsymKeyHolder fehlschlägt, beendet sich der
     Daemon sofort wieder.

[x] * Option --checkconfig
   Überprüft, ob die Identity richtig konfiguriert ist, d.h. eine Organization
   gesetzt, gültiger ladbarer Private+Public key. Wenn ja, System.exit(0), sonst
   System.exit(>0)

[x] * Option --genid <ORGANIZATIONNAME>
   Generiert eine neue Identity mit dem übergebenen Organization-Name, und
   generiert ein neues Schlüsselpaar. Alles in die identity.properties speichern
   und bei Erfolg System.exit(0), sonst >0.

[x] * Option --import <ORGANAME> <MODULUS> <PRIV_EXP> <PUB_EXP>
   Die Übergebene Identity in identity.properties speichern. Dabei sollte auch
   überprüft werden, ob es sich um ein gültiges Schlüsselpaar handelt. Wenn alles
   klappt. wieder exit(0), sonst >0.

[x] * Option --submitkey <IPADDRESS>
   Lädt die Identity, prüft Keypair auf Gültigkeit, und ruft anschließend per
   Thrift die Methode registerSatellite auf. Die übergeben IP Adresse wird einfach
   ungeprüft übermittelt. Für den Aufruf dieser Methode ist keine gültige Session
   nötig (da der Master ja die Identität dieses Satelliten noch gar nicht kennt).
   Tritt irgendwo ein Fehler auf, System.exit(>0), wenn der Aufruf klappt und die
   Methode true zurück gibt, .exit(0)

[x] * Option --updateaddress <IPADDRESS>
   Ruft mittels Thrift die Methode updateSatelliteAddress auf. Im Gegensatz zu
   submitkey braucht man hier eine gültige Session mit dem Master, wie bei z.B.
   getUploadInfos... Ebenfalls nur System.exit(0) aufrufen, wenn alle Schritte
   klappen und der Methodenaufruf true zurückgibt, sonst >0.


Kannst dir noch überlegen, ob du für wiederkehrende Aufgaben Hilfsfunktionen
baust. Für die einzelnen Optionen dürften weitere statische Methoden in der
App.java ausreichen, damit es nicht eine fette main() gibt.