/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

  • Committer: Teddy Hogeborn
  • Date: 2008-08-16 03:29:08 UTC
  • Revision ID: teddy@fukt.bsnet.se-20080816032908-ihw7c05r2mnyk389
Add feature to specify custom environment variables for plugins.

* plugin-runner.c (plugin): New members "environ" and "envc" to
                            contain possible custom environment.
  (getplugin): Return NULL on failure instead of doing exit(); all
               callers changed.
  (add_to_char_array): New helper function for "add_argument" and
                       "add_environment".
  (addargument): Renamed to "add_argument".  Return bool.  Call
                 "add_to_char_array" to actually do things.
  (add_environment): New; analogous to "add_argument".
  (addcustomargument): Renamed to "add_to_argv" to avoid confusion
                       with "add_argument".
  (main): New options "--global-envs" and "--envs-for" to specify
          custom environment for plugins.  Print environment for
          plugins in debug mode.  Use asprintf instead of strcpy and
          strcat.  Use execve() for plugins with custom environments.
          Free environment for plugin when freeing plugin list.

Show diffs side-by-side

added added

removed removed

Lines of Context:
3
3
* [#A] README file
4
4
 
5
5
* Plugin-runner
 
6
** [#A] Free plugin name and args
 
7
   [[file:plugin-runner.c::free%20plugin_list][file:plugin-runner.c::free plugin_list]] (both places)
 
8
** [#A] Change syntax for arguments
6
9
** [#B] Add more comments to code
7
10
** [#B] Add more if(debug) calls
8
11
** [#B] Seperate more code to function for more readability
 
12
** [#B] Make free_plugin_list() function
9
13
** [#A] Man page: man8/plugin-runner.8mandos
 
14
*** DESCRIPTION
 
15
    Describe the plus sign syntax for passing options from crypttab
10
16
*** EXIT STATUS
11
17
    Text needed
12
18
*** EXAMPLES
13
19
    Examples of normal usage, debug usage, debugging single or all
14
 
    plugins, etc.
 
20
    plugins, examples of crypttab lines with plus syntax, etc.
15
21
*** FILES
16
22
    Text needed
17
23
*** SECURITY
18
24
    Text needed
 
25
*** NOTES
 
26
    Text needed
19
27
*** BUGS
20
28
    Text needed
21
29
*** SEE ALSO
22
 
    Explaining text on what you can read
 
30
    Explaining test on what you can read
 
31
** Support in configuration file for environment variables
23
32
** Keydir move: /etc/mandos -> /etc/keys/mandos
24
33
   Must create in preinst if not pre-depending on cryptsetup
25
34
 
26
35
* Password-request
27
36
** [#A] Man page: man8/password-request.8mandos
 
37
** Make prompt exactly like the normal prompt
 
38
   Use environment variables:
 
39
   "Enter passphrase to unlock the disk $cryptsource ($crypttarget): "
 
40
   [[file:plugins.d/password-prompt.c::fprintf%20stderr%20s%20Password%20prefix][Here]]
28
41
** [#B] Temporarily lower kernel log level
29
42
   for less printouts during sucessfull boot.
30
43
*** DESCRIPTION
44
57
    Create this section
45
58
*** SECURITY
46
59
    Create this section
 
60
*** NOTES
 
61
    Create this section (if needed)
47
62
*** BUGS
48
63
    Create this section
49
64
*** SEE ALSO
50
65
    Refer to mandos-client(8mandos) and password-prompt(8mandos)
51
 
*** ENVIRONMENT
52
 
    Document use of "cryptsource" and "crypttarget".
53
66
** IPv4 support
54
67
** use strsep instead of strtok?
55
68
** Do not depend on GnuPG key rings on disk
58
71
 
59
72
* Password-prompt
60
73
** [#A] Man page: man8/password-prompt.8mandos
 
74
** Show getenv("cryptsource") and getenv("crypttarget") if set
 
75
   cryptsource will be the device, like "/dev/sda3", and crypttarget
 
76
   will be the device mapper name, like "sda3_crypt".
61
77
*** DESCRIPTION
62
78
    Move options to new OPTIONS section.
63
 
    Note that this is more or less a simple getpass(3) wrapper, even
64
 
    though actual use of getpass(3) is not guaranteed.
65
79
*** EXIT STATUS
66
80
    Create this section
67
81
*** EXAMPLES
72
86
    Create this section
73
87
    Not much to do here but it is noteworthy to state the danger of
74
88
    not having a fallback option.
 
89
*** NOTES
 
90
    Note that this is more or less a simple getpass(3) wrapper, even
 
91
    though actual use of getpass(3) is not guaranteed.
75
92
*** BUGS
76
93
    Create this section
77
94
*** SEE ALSO
81
98
   does not.  See also [[http://sources.redhat.com/ml/libc-alpha/2003-05/msg00251.html][Marcus Brinkmann: Re: getpass obsolete?]] and
82
99
   [[http://article.gmane.org/gmane.comp.lib.glibc.alpha/4906][Petter Reinholdtsen: Re: getpass obsolete?]], and especially also
83
100
   [[http://www.steve.org.uk/Reference/Unix/faq_4.html#SEC48][Unix Programming FAQ 3.1 How can I make my program not echo input?]]
 
101
** Replace completely with "/lib/cryptsetup/askpass"?
84
102
 
85
103
* Mandos (server)
86
104
** [#A] Command man page: man8/mandos.8
 
105
*** DESCRIPTION
 
106
    Move options to new OPTIONS section
 
107
*** EXIT STATUS
 
108
    Create this section
 
109
*** EXAMPLES
 
110
    Create this section
 
111
*** FILES
 
112
    Describe briefly that the server gets global settings from
 
113
    mandos.conf and clients from clients.conf, but refer to their man
 
114
    pages for more details.
 
115
*** DIAGNOSTICS
 
116
    Create this section
 
117
*** SECURITY
 
118
    Create this section
 
119
*** NOTES
 
120
    Create this section (if needed)
 
121
*** BUGS
 
122
    Create this section
 
123
*** SEE ALSO
 
124
    Refer to the client man page
87
125
** [#A] Config file man page: man5/mandos.conf (mandos.conf)
88
126
** [#A] Config file man page: man5/mandos-clients.conf (clients.conf)
89
127
** [#A] /etc/init.d/mandos-server               :teddy:
119
157
 
120
158
** mandos-keygen
121
159
*** [#A] Command man page: man8/mandos-keygen.8
122
 
**** EXIT STATUS
123
 
**** FILES
124
 
**** BUGS
125
 
**** EXAMPLES
126
 
**** SECURITY
127
160
*** [#A] Output cut-and-paste ready snippet for clients.conf.
128
161
 
129
162
* [#A] Package
130
163
** /usr/share/initramfs-tools/hooks/mandos
131
 
*** Do not install in initrd.img if configured not to.
 
164
*** Do not install in initrd.img if configured not to
132
165
    Use "/etc/initramfs-tools/conf.d/mandos"?  Definitely a debconf
133
166
    question.
134
167
** /etc/bash_completion.d/mandos
135
 
*** From XML sources directly?
 
168
*** From xml sources directly?
136
169
** unperish
137
170
** bzr-builddeb
138
171