====== Les inscriptions (subscribe) ====== ===== subscribe.auth ===== title.gettext subscription request confirmed is_subscriber([listname],[sender]) smtp,smime -> do_it true() smtp -> request_auth true() md5,smime -> do_it ===== subscribe.auth_notify ===== title.gettext need authentication (notification is sent to owners) # do not authentify nor notify updates is_subscriber ([listname],[sender]) smtp,smime,md5 -> do_it true() smtp -> request_auth true() md5,smime -> do_it,notify ===== subscribe.auth_owner ===== title.gettext requires authentication then owner approval # subscription under owner control but previously email are checked by auth true() smtp -> request_auth is_subscriber([listname],[previous_email]) smime,md5 -> do_it true() md5,smime -> owner ===== subscribe.closed ===== title.gettext subscribe is impossible true() smtp,md5,smime -> reject(reason='subscribe_closed') ===== subscribe.default ===== title.gettext for anyone without authentication true() smtp,smime,md5 -> do_it ===== subscribe.intranet ===== title.gettext restricted to local domain users # if subscriber request come from local domain do_it else reject is_subscriber([listname],[sender]) smtp,smime,md5 -> do_it match([sender],/[conf->host]$/) smtp,smime,md5 -> do_it true() smtp,md5,smime -> reject(reason='subscribe_local_user') ===== subscribe.intranetorowner ===== title.gettext local domain users or owner approval # if subscriber request come from local domain do_it else reject is_subscriber([listname],[sender]) smtp,smime,md5 -> do_it match([sender],/[conf->host]$/) smtp,smime,md5 -> do_it true() smtp,smime,md5 -> owner ===== subscribe.open ===== title.gettext for anyone without authentication true() smtp,smime,md5 -> do_it ===== subscribe.open_notify ===== title.gettext anyone, notification is sent to list owner # do not notify if it is just an update is_subscriber([listname],[sender]) smtp,smime,md5 -> do_it true() smtp,smime,md5 -> do_it,notify ===== subscribe.open_quiet ===== title.gettext anyone, no welcome message true() smtp,smime,md5 -> do_it,quiet ===== subscribe.owner ===== title.gettext owners approval # if subscriber request come from a subscriber, it's just an update, do it is_subscriber([listname],[sender]) smtp,smime,md5 -> do_it # if subscribtion request is just a change email, it is open : is_subscriber([listname],[previous_email]) smtp,smime,md5 -> do_it true() smtp,smime,md5 -> owner ===== subscribe.smime ===== title.gettext requires S/MIME signed is_subscriber([listname],[sender]) smtp,smime -> do_it true() smime -> do_it true() smtp,md5 -> reject(reason='subscribe_smime') ===== subscribe.smimeorowner ===== title.gettext requires S/MIME signed or owner approval # if subscriber request come from a subscriber, it's just an update, do it is_subscriber([listname],[sender]) smtp,smime,md5 -> do_it true() smtp,md5 -> owner true() smime -> do_it