Skip to content
Snippets Groups Projects
Unverified Commit 6d35b4fa authored by meskio's avatar meskio :tent:
Browse files

Send only twice the expiration email

One 30 days before expire and another when it gets removed. Also include the
correct number of days in the expiration notice.
parent 0fccacdd
Branches
No related tags found
No related merge requests found
......@@ -94,21 +94,28 @@ func (s *Server) checkKeyExpiration(dn string, key *ldap.OpenPGPkey, name string
if key.Expiry.Before(time.Now()) {
s.ldap.DeleteOpenPGPkey(dn)
data := NotificationData{
Name: name,
Fingerprint: key.Fingerprint,
Days: 0,
}
s.mail.Send([]string{mail}, "openpgp_expire", data)
}
notifiedFingerprint, err := s.db.GetOpenpgpNotification(dn)
if err != nil {
log.Printf("An error has occurred accessing the user %s last notification: %v", name, err)
}
if key.Expiry.Add(-notifyKeyExpiredDuration).Before(time.Now()) && notifiedFingerprint != key.Fingerprint {
if time.Now().Add(notifyKeyExpiredDuration).After(key.Expiry) && notifiedFingerprint != key.Fingerprint {
data := NotificationData{
Name: name,
Fingerprint: key.Fingerprint,
Days: int(math.Round(time.Now().Sub(key.Expiry).Hours())),
Days: int(math.Round(time.Now().Sub(key.Expiry).Hours() / 24)),
}
s.mail.Send([]string{mail}, "openpgp_expire", data)
err = s.db.AddOpenpgpNotification(name, key.Fingerprint)
err = s.db.AddOpenpgpNotification(dn, key.Fingerprint)
if err != nil {
log.Printf("An error has occurred storing user %s last notification: %v", name, err)
}
......@@ -119,5 +126,5 @@ func (s *Server) expireDBEntries() {
s.db.ExpireInvites(inviteExpireDuration)
s.db.ExpireAccounts(accountExpireDuration)
s.db.ExpireCollectives(collectiveExpireDuration)
s.db.ExpireOpenpgpNotifications(notifyKeyExpiredDuration)
s.db.ExpireOpenpgpNotifications(2 * notifyKeyExpiredDuration)
}
......@@ -5,9 +5,10 @@ Subject: tu clave OpenPGP en sindominio va a expirar
Hola {{.Data.Name}},
En {{.Data.Days}} tu clave OpenPGP con fingerprint:
{{.Data.Fingerprint}}
Visita https://lowry.sindominio.net/ para actualizarla.
La clave OpenPGP con fingerpring {{.Data.Fingerprint}}
que has configurado en sindominio {{if .Data.Days}}va a expirar en {{.Data.Days}}{{else}}ha expirado y la hemos borrado{{end}}.
Puedes visitar https://lowry.sindominio.net/ para actualizarla o subir una clave nueva
Gracias,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment