/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 Makefile

  • Committer: Teddy Hogeborn
  • Date: 2008-08-29 05:53:59 UTC
  • Revision ID: teddy@fukt.bsnet.se-20080829055359-wkdasnyxtylmnxus
* mandos.xml (EXAMPLE): Replaced all occurences of command name with
                        "&COMMANDNAME;".

* plugins.d/password-prompt.c (main): Improved some documentation
                                      strings.  Do perror() of
                                      tcgetattr() fails.  Add debug
                                      output if interrupted by signal.
                                      Loop over write() instead of
                                      using fwrite() when outputting
                                      password.  Add debug output if
                                      getline() returns 0, unless it
                                      was caused by a signal.  Add
                                      exit status code to debug
                                      output.

* plugins.d/password-prompt.xml: Changed all single quotes to double
                                 quotes for consistency.  Removed
                                 <?xml-stylesheet>.
  (ENTITY TIMESTAMP): New.  Automatically updated by Emacs time-stamp
                      by using Emacs local variables.
  (/refentry/refentryinfo/title): Changed to "Mandos Manual".
  (/refentry/refentryinfo/productname): Changed to "Mandos".
  (/refentry/refentryinfo/date): New; set to "&TIMESTAMP;".
  (/refentry/refentryinfo/copyright): Split copyright holders.
  (/refentry/refnamediv/refpurpose): Improved wording.
  (SYNOPSIS): Fix to use correct markup.  Add short options.
  (DESCRIPTION, OPTIONS): Improved wording.
  (OPTIONS): Improved wording.  Use more correct markup.  Document
             short options.
  (EXIT STATUS): Add text.
  (ENVIRONMENT): Document use of "cryptsource" and "crypttarget".
  (FILES): REMOVED.
  (BUGS): Add text.
  (EXAMPLE): Added some examples.
  (SECURITY): Added text.
  (SEE ALSO): Remove reference to mandos(8).  Add reference to
              crypttab(5).

Show diffs side-by-side

added added

removed removed

Lines of Context:
17
17
PREFIX=$(DESTDIR)/usr
18
18
# CONFDIR=/usr/local/lib/mandos
19
19
CONFDIR=$(DESTDIR)/etc/mandos
20
 
# KEYDIR=/usr/local/lib/mandos/keys
21
 
KEYDIR=$(DESTDIR)/etc/keys/mandos
22
20
# MANDIR=/usr/local/man
23
21
MANDIR=$(DESTDIR)/usr/share/man
24
 
PIDDIR=/var/run/mandos
25
 
USER=nobody
26
 
GROUP=nogroup
27
22
 
28
23
GNUTLS_CFLAGS=$(shell libgnutls-config --cflags)
29
24
GNUTLS_LIBS=$(shell libgnutls-config --libs)
63
58
 
64
59
doc: $(DOCS)
65
60
 
66
 
%.5: %.xml legalnotice.xml
67
 
        $(DOCBOOKTOMAN)
68
 
 
69
 
%.8: %.xml legalnotice.xml
70
 
        $(DOCBOOKTOMAN)
71
 
 
72
 
%.8mandos: %.xml legalnotice.xml
73
 
        $(DOCBOOKTOMAN)
74
 
 
75
 
mandos.8: mandos.xml mandos-options.xml overview.xml legalnotice.xml
76
 
        $(DOCBOOKTOMAN)
77
 
 
78
 
mandos-keygen.8: mandos-keygen.xml overview.xml legalnotice.xml
79
 
        $(DOCBOOKTOMAN)
80
 
 
81
 
mandos.conf.5: mandos.conf.xml mandos-options.xml legalnotice.xml
82
 
        $(DOCBOOKTOMAN)
83
 
 
84
 
plugin-runner.8mandos: plugin-runner.xml overview.xml legalnotice.xml
85
 
        $(DOCBOOKTOMAN)
86
 
 
87
 
plugins.d/password-request.8mandos: plugins.d/password-request.xml \
88
 
                                        mandos-options.xml \
89
 
                                        overview.xml legalnotice.xml
 
61
%.5: %.xml
 
62
        $(DOCBOOKTOMAN)
 
63
 
 
64
%.8: %.xml
 
65
        $(DOCBOOKTOMAN)
 
66
 
 
67
%.8mandos: %.xml
 
68
        $(DOCBOOKTOMAN)
 
69
 
 
70
mandos.8: mandos.xml mandos-options.xml
 
71
        $(DOCBOOKTOMAN)
 
72
 
 
73
mandos.conf.5: mandos.conf.xml mandos-options.xml
90
74
        $(DOCBOOKTOMAN)
91
75
 
92
76
plugins.d/password-request: plugins.d/password-request.o
108
92
check:
109
93
        ./mandos --check
110
94
 
111
 
# Run the client with a local config and key
112
 
run-client: all keydir/seckey.txt keydir/pubkey.txt
 
95
# Run the server with a local key
 
96
run-client: all keydir/seckey.txt keydir/pubkey.txt \
 
97
        keydir/secring.gpg keydir/pubring.gpg
113
98
        ./plugin-runner --plugin-dir=plugins.d \
114
 
                --config-file=plugin-runner.conf \
115
 
                --options-for=password-request:--seckey=keydir/seckey.txt,--pubkey=keydir/pubkey.txt
 
99
                --options-for=password-request:--keydir=keydir
116
100
 
117
101
# Used by run-client
 
102
keydir/secring.gpg: keydir/seckey.txt
 
103
        gpg --homedir $(dir $<) --import $^
 
104
keydir/pubring.gpg: keydir/pubkey.txt
 
105
        gpg --homedir $(dir $<) --import $^
118
106
keydir/seckey.txt keydir/pubkey.txt: mandos-keygen
119
107
        install --directory keydir
120
108
        ./mandos-keygen --dir keydir --force
126
114
# Used by run-server
127
115
confdir/mandos.conf: mandos.conf
128
116
        install --directory confdir
129
 
        install --mode=u=rw,go=r $^ $@
 
117
        install $^ $@
130
118
confdir/clients.conf: clients.conf keydir/seckey.txt
131
119
        install --directory confdir
132
 
        install --mode=u=rw,g=r $< $@
 
120
        install clients.conf $@
133
121
# Add a client password
134
122
        ./mandos-keygen --dir keydir --password >> $@
135
123
 
136
124
install: install-server install-client
137
125
 
138
126
install-server: doc
139
 
        install --directory $(CONFDIR) $(MANDIR)/man5 \
 
127
        install --directory --parents $(CONFDIR) $(MANDIR)/man5 \
140
128
                $(MANDIR)/man8
141
 
        install --mode=u=rwx,go=rx --owner=$(USER) --group=$(GROUP) \
142
 
                --directory $(PIDDIR)
143
 
        install --mode=u=rwx,go=rx mandos $(PREFIX)/sbin/mandos
144
 
        install --mode=u=rw,go=r --target-directory=$(CONFDIR) \
145
 
                mandos.conf
146
 
        install --mode=u=rw,g=r --target-directory=$(CONFDIR) \
 
129
        install --mode=0755 mandos $(PREFIX)/sbin/mandos
 
130
        install --mode=0644 --target-directory=$(CONFDIR) mandos.conf
 
131
        install --mode=0640 --target-directory=$(CONFDIR) \
147
132
                clients.conf
148
 
        install --mode=u=rwx,go=rx init.d-mandos /etc/init.d/mandos
149
 
        install --mode=u=rw,go=r default-mandos /etc/default/mandos
150
 
        update-rc.d mandos defaults
151
133
        gzip --best --to-stdout mandos.8 \
152
134
                > $(MANDIR)/man8/mandos.8.gz
153
135
        gzip --best --to-stdout mandos.conf.5 \
156
138
                > $(MANDIR)/man5/mandos-clients.conf.5.gz
157
139
 
158
140
install-client: all doc /usr/share/initramfs-tools/hooks/.
159
 
        install --directory $(PREFIX)/lib/mandos $(CONFDIR) \
160
 
                $(MANDIR)/man8
161
 
        install --directory --mode=u=rwx $(KEYDIR)
162
 
        install --directory --mode=u=rwx \
163
 
                $(PREFIX)/lib/mandos/plugins.d
164
 
        if [ "$(CONFDIR)/plugins.d" \
165
 
                        != "$(PREFIX)/lib/mandos/plugins.d" ]; then \
166
 
                        install --directory "$(CONFDIR)/plugins.d"; \
167
 
                fi
168
 
        install --mode=u=rwx,go=rx \
169
 
                --target-directory=$(PREFIX)/lib/mandos plugin-runner
170
 
        install --mode=u=rwx,go=rx --target-directory=$(PREFIX)/sbin \
 
141
        install --directory --parents $(PREFIX)/lib/mandos \
 
142
                $(CONFDIR) $(MANDIR)/man8
 
143
        install --directory --mode=0700 $(PREFIX)/lib/mandos/plugins.d
 
144
        chmod u=rwx,g=,o= $(PREFIX)/lib/mandos/plugins.d
 
145
        install --mode=0755 --target-directory=$(PREFIX)/lib/mandos \
 
146
                plugin-runner
 
147
        install --mode=0755 --target-directory=$(PREFIX)/sbin \
171
148
                mandos-keygen
172
 
        install --mode=u=rwx,go=rx \
 
149
        install --mode=0755 \
173
150
                --target-directory=$(PREFIX)/lib/mandos/plugins.d \
174
151
                plugins.d/password-prompt
175
 
        install --mode=u=rwxs,go=rx \
 
152
        install --mode=4755 \
176
153
                --target-directory=$(PREFIX)/lib/mandos/plugins.d \
177
154
                plugins.d/password-request
178
 
        install --mode=u=rwx,go=rx \
179
 
                --target-directory=$(PREFIX)/lib/mandos/plugins.d \
180
 
                plugins.d/usplash
181
155
        install initramfs-tools-hook \
182
156
                /usr/share/initramfs-tools/hooks/mandos
183
157
        install initramfs-tools-hook-conf \
184
158
                /usr/share/initramfs-tools/conf-hooks.d/mandos
185
159
        install initramfs-tools-script \
186
160
                /usr/share/initramfs-tools/scripts/local-top/mandos
187
 
        install --mode=u=rw,go=r plugin-runner.conf $(CONFDIR)
188
161
        gzip --best --to-stdout mandos-keygen.8 \
189
162
                > $(MANDIR)/man8/mandos-keygen.8.gz
190
163
        gzip --best --to-stdout plugin-runner.8mandos \
193
166
                > $(MANDIR)/man8/password-prompt.8mandos.gz
194
167
        gzip --best --to-stdout plugins.d/password-request.8mandos \
195
168
                > $(MANDIR)/man8/password-request.8mandos.gz
196
 
        -$(PREFIX)/sbin/mandos-keygen --dir "$(KEYDIR)"
 
169
        -$(PREFIX)/sbin/mandos-keygen
197
170
        update-initramfs -k all -u
198
 
        echo "Now run mandos-keygen --password --dir $(KEYDIR)"
199
171
 
200
172
uninstall: uninstall-server uninstall-client
201
173
 
202
 
uninstall-server:
 
174
uninstall-server: $(PREFIX)/sbin/mandos
203
175
        -rm --force $(PREFIX)/sbin/mandos \
204
176
                $(MANDIR)/man8/mandos.8.gz \
205
177
                $(MANDIR)/man5/mandos.conf.5.gz \
206
178
                $(MANDIR)/man5/mandos-clients.conf.5.gz
207
 
        update-rc.d -f mandos remove
208
 
        -rmdir $(CONFDIR) $(PIDDIR)
 
179
        -rmdir $(CONFDIR)
209
180
 
210
181
uninstall-client:
211
182
# Refuse to uninstall client if /etc/crypttab is explicitly configured
229
200
purge: purge-server purge-client
230
201
 
231
202
purge-server: uninstall-server
232
 
        -rm --force $(CONFDIR)/mandos.conf $(CONFDIR)/clients.conf \
233
 
                /etc/default/mandos /etc/init.d/mandos
 
203
        -rm --force $(CONFDIR)/mandos.conf $(CONFDIR)/clients.conf
234
204
        -rmdir $(CONFDIR)
235
205
 
236
206
purge-client: uninstall-client
237
 
        -shred --remove $(KEYDIR)/seckey.txt
238
 
        -rm --force $(CONFDIR)/plugin-runner.conf \
239
 
                $(KEYDIR)/pubkey.txt $(KEYDIR)/seckey.txt
240
 
        -rmdir $(KEYDIR) $(CONFDIR)/plugins.d $(CONFDIR)
 
207
        -rm --force $(CONFDIR)/seckey.txt $(CONFDIR)/pubkey.txt
 
208
        -rmdir $(CONFDIR) $(CONFDIR)/plugins.d