/mandos/release

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

« back to all changes in this revision

Viewing changes to TODO

  • Committer: Teddy Hogeborn
  • Date: 2008-08-04 21:25:55 UTC
  • Revision ID: teddy@fukt.bsnet.se-20080804212555-rm7xxjze65f8avy3
* server.py: Cosmetic changes.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
-*- org -*-
2
2
 
3
 
* TODO [#A] mandos-change-keytype.xml
4
 
* TODO [#A] Note about the necessity to change key type on upgrade
5
 
  Possibly using mandos-change-keytype
6
 
 
7
 
* [[http://www.undeadly.org/cgi?action=article&sid=20110530221728][OpenBSD]]
8
 
 
9
 
* Testing
10
 
** python-nemu
11
 
 
12
 
* mandos-applet
13
 
 
14
 
* mandos-client
15
 
** TODO [#B] Use capabilities instead of seteuid().
16
 
** TODO [#B] Use struct sockaddr_storage instead of a union
17
 
** TODO [#B] Use getaddrinfo(hints=AI_NUMERICHOST) instead of inet_pton()
18
 
** TODO [#B] Use getnameinfo(serv=NULL, NI_NUMERICHOST) instead of inet_ntop()
19
 
** TODO [#B] Prefer /run/tmp over /tmp, if it exists
20
 
** TODO [#C] Make start_mandos_communication() take "struct server".
21
 
 
22
 
* splashy
23
 
** TODO [#B] use scandir(3) instead of readdir(3)
24
 
 
25
 
* usplash (Deprecated)
26
 
** TODO [#A] Make it work again
27
 
** TODO [#B] use scandir(3) instead of readdir(3)
28
 
 
29
 
* askpass-fifo
30
 
** TODO [#B] Drop privileges after opening FIFO.
31
 
 
32
 
* password-prompt
33
 
** TODO [#B] lock stdin (with flock()?)
34
 
 
35
 
* plymouth
36
 
 
37
 
* TODO [#B] passdev
38
 
 
39
 
* plugin-runner
40
 
** TODO handle printing for errors for plugins
41
 
*** Hook up stderr of plugins, buffer them, and prepend "Mandos Plugin [plugin name]"
42
 
** TODO [#B] use scandir(3) instead of readdir(3)
43
 
** TODO [#C] use same file name rules as run-parts(8)
44
 
** kernel command line option for debug info
45
 
** TODO [#B] Use openat()
46
 
 
47
 
* mandos (server)
48
 
** TODO [#B] Log level                                                    :BUGS:
49
 
*** TODO /etc/mandos/clients.d/*.conf
50
 
    Watch this directory and add/remove/update clients?
51
 
** TODO [#C] config for TXT record
52
 
** TODO Log level dbus option
53
 
   SetLogLevel D-Bus call
54
 
** TODO [#C] DBusServiceObjectUsingSuper
55
 
** TODO [#B] Global enable/disable flag
56
 
** TODO [#B] By-client countdown on number of secrets given
57
 
** D-Bus Client method NeedsPassword(50) - Timeout, default disapprove
58
 
    + SetPass(u"gazonk", True) -> Approval, persistent
59
 
    + Approve(False) -> Close client connection immediately
60
 
** TODO [#C] python-parsedatetime
61
 
** TODO [#C] systemd/launchd
62
 
   http://0pointer.de/blog/projects/systemd.html
63
 
   http://wiki.debian.org/systemd
64
 
** TODO Separate logging logic to own object
65
 
** TODO [#A] Limit approval_delay to max gnutls/tls timeout value
66
 
** TODO [#B] break the wait on approval_delay if connection dies
67
 
** TODO Generate Client.runtime_expansions from client options + extra
68
 
** TODO Allow %%(checker)s as a runtime expansion
69
 
** TODO Use python-tlslite?
70
 
** TODO D-Bus AddClient() method on server object
71
 
** TODO Use org.freedesktop.DBus.Method.NoReply annotation on async methods. :2:
72
 
** TODO Emit [[http://dbus.freedesktop.org/doc/dbus-specification.html#standard-interfaces-properties][org.freedesktop.DBus.Properties.PropertiesChanged]] signal         :2:
73
 
   TODO Deprecate se.recompile.Mandos.Client.PropertyChanged - annotate!
74
 
   TODO Can use "invalidates" annotation to also emit on changed secret.
75
 
** TODO Support [[http://dbus.freedesktop.org/doc/dbus-specification.html#standard-interfaces-objectmanager][org.freedesktop.DBus.ObjectManager]] interface on server object :2:
76
 
   Deprecate methods GetAllClients(), GetAllClientsWithProperties()
77
 
   and signals ClientAdded and ClientRemoved.
78
 
** TODO Save state periodically to recover better from hard shutdowns
79
 
** TODO CheckerCompleted method, deprecate CheckedOK
80
 
** TODO Secret Service API?
81
 
   http://standards.freedesktop.org/secret-service/
82
 
** TODO Remove D-Bus interfaces with old domain name                      :2:
83
 
** TODO Remove old string_to_delta format                                 :2:
84
 
** TODO --no-zeroconf (only valid if port or socket is set)
85
 
 
86
 
* mandos.xml
87
 
** Add mandos contact info in manual pages
88
 
 
89
 
* mandos-ctl
90
 
*** Handle "no D-Bus server" and/or "no Mandos server found" better
91
 
*** [#B] --dump option
92
 
** TODO Remove old string_to_delta format                                 :2:
93
 
 
94
 
* TODO mandos-dispatch
95
 
  Listens for specified D-Bus signals and spawns shell commands with
96
 
  arguments.
97
 
 
98
 
* mandos-monitor
99
 
** TODO help should be toggleable
100
 
** Urwid client data displayer
101
 
   Better view of client data in the listing
102
 
*** Properties popup
103
 
** Print a nice "We are sorry" message, save stack trace to log.
104
 
** Rename module "gobject" to "GObject".
105
 
 
106
 
* mandos-keygen
107
 
** TODO "--secfile" option
108
 
   Using the "secfile" option instead of "secret"
109
 
** TODO [#B] "--test" option
110
 
   For testing decryption before rebooting.
111
 
 
112
 
* Makefile
113
 
** TODO [#C] Implement DEB_BUILD_OPTIONS
114
 
   http://www.debian.org/doc/debian-policy/ch-source.html#s-debianrules-options
115
 
 
116
 
* Package
117
 
** /usr/share/initramfs-tools/hooks/mandos
118
 
*** TODO [#C] use same file name rules as run-parts(8)
119
 
*** TODO [#C] Do not install in initrd.img if configured not to.
120
 
    Use "/etc/initramfs-tools/hooksconf.d/mandos"?
121
 
** TODO [#C] /etc/bash_completion.d/mandos
122
 
   From XML sources directly?
123
 
 
124
 
* Side Stuff
125
 
** TODO Locate which package moves the other bin/sh when busybox is deactivated
126
 
** TODO contact owner of package, and ask them to have that shell static in position regardless of busybox
 
3
* README file
 
4
 
 
5
* Mandos client
 
6
** [#A] Man page
 
7
** [#A] check exit codes of all system calls
 
8
** [#B] header files/symbols tally
 
9
** IPv4 support
 
10
** use strsep instead of strtok?
 
11
** Do not depend on GPG key rings on disk
 
12
   This would mean creating new GPG key rings with GPGME by importing
 
13
   the key files from scratch every time we start the program.
 
14
 
 
15
* Passprompt
 
16
** [#A] Man page
 
17
 
 
18
* Pluginbasedclient
 
19
** [#A] Man page
 
20
** [#A] check exit codes of all system calls
 
21
** [#B] header files/symbols tally
 
22
** use strsep instead of strtok?
 
23
** use config file in addition to arguments
 
24
** pass things in environment, like device name, etc
 
25
 
 
26
* Server
 
27
** [#A] Man page
 
28
** [#A] write PID file
 
29
** [#A] /etc/init.d/mandos-server
 
30
** Better comments in config files
 
31
** Log level
 
32
** /etc/mandos/clients.d/*.conf
 
33
   Watch this directory and add/remove/update clients?
 
34
** config for TXT record
 
35
** Run-time communication with server
 
36
   probably using D-Bus
 
37
 
 
38
* Mandos-tools/utilities
 
39
  All of this probably using D-Bus
 
40
** List clients
 
41
** Enable client
 
42
** Disable client
 
43
 
 
44
* Installer
 
45
** Change initrd.img file to not be publically readable
 
46
** Create GPG key ring files in initrd
127
47
 
128
48
 
129
49
#+STARTUP: showall