/mandos/trunk

To get this branch, use:
bzr branch http://bzr.recompile.se/loggerhead/mandos/trunk

« back to all changes in this revision

Viewing changes to TODO

Added optional parameters certdir, certkey and certfile that can be iven at start in the command line.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
-*- org -*-
2
 
 
3
 
* GIT
4
 
** General: [[https://www.atlassian.com/git/workflows][Git Workflows]], [[http://gitimmersion.com/][Git Immersion]], [[https://news.ycombinator.com/item?id=7036628][Simple git workflow is simple]]
5
 
** Intro: [[http://www.eyrie.org/~eagle/notes/debian/git.html#combine][Using Git for Debian Packaging]]
6
 
** Use: [[https://honk.sigxcpu.org/piki/projects/git-buildpackage/][git-buildpackage]]
7
 
** Migration
8
 
   tailor?
9
 
   Using bzr-fastimport: [[http://www.fusonic.net/en/blog/2013/03/26/migrating-from-bazaar-to-git/][Migrating from Bazaar to Git]]
10
 
** Unresolved: [[http://jameswestby.net/bzr/builddeb/user_manual/split.html][bzr builddeb split mode]]
11
 
   Maybe: [[http://honk.sigxcpu.org/projects/git-buildpackage/manual-html/gbp.import.html#GBP.IMPORT.UPSTREAM.GIT.NOTARBALL][git-buildpackage - No upstream tarballs]]
12
 
   [[http://www.python.org/dev/peps/pep-0374/][PEP 374 - Choosing a distributed VCS for the Python project]]
13
 
   [[http://www.emacswiki.org/emacs/GitForEmacsDevs][Git For Emacs Devs]]
14
 
 
15
 
* [[http://www.undeadly.org/cgi?action=article&sid=20110530221728][OpenBSD]]
16
 
 
17
 
* Testing
18
 
** python-nemu
19
 
 
20
 
* mandos-applet
21
 
 
22
 
* mandos-client
23
 
** TODO [#B] Use capabilities instead of seteuid().
24
 
** TODO [#B] Use getaddrinfo(hints=AI_NUMERICHOST) instead of inet_pton()
25
 
** TODO [#C] Make start_mandos_communication() take "struct server".
26
 
 
27
 
* splashy
28
 
** TODO [#B] use scandir(3) instead of readdir(3)
29
 
 
30
 
* usplash (Deprecated)
31
 
** TODO [#A] Make it work again
32
 
** TODO [#B] use scandir(3) instead of readdir(3)
33
 
 
34
 
* askpass-fifo
35
 
 
36
 
* password-prompt
37
 
** TODO [#B] lock stdin (with flock()?)
38
 
 
39
 
* plymouth
40
 
 
41
 
* TODO [#B] passdev
42
 
 
43
 
* plugin-runner
44
 
** TODO handle printing for errors for plugins
45
 
*** Hook up stderr of plugins, buffer them, and prepend "Mandos Plugin [plugin name]"
46
 
** TODO [#C] use same file name rules as run-parts(8)
47
 
** kernel command line option for debug info
48
 
 
49
 
* mandos (server)
50
 
** TODO [#B] Log level                                                    :BUGS:
51
 
*** TODO /etc/mandos/clients.d/*.conf
52
 
    Watch this directory and add/remove/update clients?
53
 
** TODO [#C] config for TXT record
54
 
** TODO Log level dbus option
55
 
   SetLogLevel D-Bus call
56
 
** TODO [#C] DBusServiceObjectUsingSuper
57
 
** TODO [#B] Global enable/disable flag
58
 
** TODO [#B] By-client countdown on number of secrets given
59
 
** D-Bus Client method NeedsPassword(50) - Timeout, default disapprove
60
 
    + SetPass(u"gazonk", True) -> Approval, persistent
61
 
    + Approve(False) -> Close client connection immediately
62
 
** TODO [#C] python-parsedatetime
63
 
** TODO Separate logging logic to own object
64
 
** TODO [#A] Limit approval_delay to max gnutls/tls timeout value
65
 
** TODO [#B] break the wait on approval_delay if connection dies
66
 
** TODO Generate Client.runtime_expansions from client options + extra
67
 
** TODO Allow %%(checker)s as a runtime expansion
68
 
** TODO Use python-tlslite?
69
 
** TODO D-Bus AddClient() method on server object
70
 
** TODO Use org.freedesktop.DBus.Method.NoReply annotation on async methods. :2:
71
 
** TODO Support [[http://dbus.freedesktop.org/doc/dbus-specification.html#standard-interfaces-objectmanager][org.freedesktop.DBus.ObjectManager]] interface on server object :2:
72
 
   Deprecate methods GetAllClients(), GetAllClientsWithProperties()
73
 
   and signals ClientAdded and ClientRemoved.
74
 
** TODO Save state periodically to recover better from hard shutdowns
75
 
** TODO CheckerCompleted method, deprecate CheckedOK
76
 
** TODO Secret Service API?
77
 
   http://standards.freedesktop.org/secret-service/
78
 
** TODO Remove D-Bus interfaces with old domain name                      :2:
79
 
** TODO Remove old string_to_delta format                                    :2:
80
 
** TODO http://0pointer.de/blog/projects/stateless.html
81
 
*** tmpfiles snippet to create /var/lib/mandos with right user+perms
82
 
*** File in /usr/lib/sysusers.d to create user+group "_mandos"
83
 
** TODO Error handling on error parsing config files
84
 
** TODO init.d script error handling
85
 
** TODO D-Bus server properties; address, port, interface, etc.              :2:
86
 
 
87
 
* mandos.xml
88
 
** Add mandos contact info in manual pages
89
 
 
90
 
* mandos-ctl
91
 
*** Handle "no D-Bus server" and/or "no Mandos server found" better
92
 
*** [#B] --dump option
93
 
** TODO Remove old string_to_delta format                                    :2:
94
 
 
95
 
* TODO mandos-dispatch
96
 
  Listens for specified D-Bus signals and spawns shell commands with
97
 
  arguments.
98
 
 
99
 
* mandos-monitor
100
 
** TODO help should be toggleable
101
 
** Urwid client data displayer
102
 
   Better view of client data in the listing
103
 
*** Properties popup
104
 
** Print a nice "We are sorry" message, save stack trace to log.
105
 
** Rename module "gobject" to "GObject".
106
 
 
107
 
* mandos-keygen
108
 
** TODO "--secfile" option
109
 
   Using the "secfile" option instead of "secret"
110
 
** TODO [#B] "--test" option
111
 
   For testing decryption before rebooting.
112
 
 
113
 
* Package
114
 
** /usr/share/initramfs-tools/hooks/mandos
115
 
*** TODO [#C] use same file name rules as run-parts(8)
116
 
*** TODO [#C] Do not install in initrd.img if configured not to.
117
 
    Use "/etc/initramfs-tools/hooksconf.d/mandos"?
118
 
** TODO [#C] /etc/bash_completion.d/mandos
119
 
   From XML sources directly?
120
 
 
121
 
* Side Stuff
122
 
** TODO Locate which package moves the other bin/sh when busybox is deactivated
123
 
** TODO contact owner of package, and ask them to have that shell static in position regardless of busybox
124
 
 
125
 
 
126
 
#+STARTUP: showall
 
1
[Mandos client]
 
2
configuration for OpenPGP key
 
3
header files/symbols tally
 
4
check exit codes of all system calls
 
5
IPv4 support
 
6
 
 
7
[Pluginbasedclient]
 
8
disable certain plugins
 
9
header files/symbols tally
 
10
check exit codes of all system calls
 
11
change uid to nobody:nogroup
 
12
        other drop privs stuff?
 
13
 
 
14
[Server]
 
15
config file for:
 
16
        TXT record
 
17
run-time communication with server
 
18
 
 
19
[Mandos-tools/utilities]
 
20
        List clients
 
21
        Enable client
 
22
        Disable client
 
23
 
 
24
[Installer]
 
25
...