/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 dracut-module/module-setup.sh

  • Committer: Teddy Hogeborn
  • Date: 2023-02-07 23:03:33 UTC
  • Revision ID: teddy@recompile.se-20230207230333-5halrp7943pgb3w1
Server: Bug fix: Stagger checker runs when creating clients

* mandos (Client.enable()): Do not set self.expires here; move it to
  "init_checker".
  (Client.init_checker()): Take new "randomize_start" argument.  If
  True, randomize delay before starting checker.  Also, do not start
  checker right now, but instead extend expire time so that the
  scheduled checker always has time to run.
  (Checker.start_checker): Take new "start_was_randomized" argument.
  If True, reset scheduled checker runs to be 'interval' apart,
  instead of using the initial delay.  (Bug fix)
  (main): On startup, pass argument randomize_start=True to
  client.init_checker() when initizlizing checkers for all enabled
  clients.

Reported-by: Louis Charreau <Louis.Charreau@vadesecure.com>
Suggested-by: Louis Charreau <Louis.Charreau@vadesecure.com>
Fixes: 1200 ("Server: Stagger checker runs when creating clients")

Show diffs side-by-side

added added

removed removed

Lines of Context:
72
72
        chmod u-s "${initdir}/${plugindir}/mandos-client"
73
73
        inst "${moddir}/ask-password-mandos.service" \
74
74
             "${systemdsystemunitdir}/ask-password-mandos.service"
 
75
        if [ -d /etc/systemd/system/ask-password-mandos.service.d ]; then
 
76
            inst /etc/systemd/system/ask-password-mandos.service.d
 
77
            inst_multiple -o /etc/systemd/system/ask-password-mandos.service.d/*.conf
 
78
        fi
75
79
        if [ ${mandos_user} != 65534 ]; then
76
80
            sed --in-place \
77
81
                --expression="s,^ExecStart=/lib/mandos/password-agent ,&--user=${mandos_user} ," \
209
213
                    # Use Diffie-Hellman parameters file
210
214
                    if dracut_module_included "systemd"; then
211
215
                        sed --in-place \
212
 
                            --expression='/^ExecStart/s/$/ --dh-params=\/etc\/mandos\/keys\/dhparams.pem/' \
 
216
                            --expression='/^ExecStart/s/ \$MANDOS_CLIENT_OPTIONS/ --dh-params=\/etc\/mandos\/keys\/dhparams.pem&/' \
213
217
                            "${initdir}/${systemdsystemunitdir}/ask-password-mandos.service"
214
218
                    else
215
219
                        sed --in-place \