From 6b11b54a190875d651d046c040fdbb0c61ec0aee Mon Sep 17 00:00:00 2001 From: ale <ale@incal.net> Date: Fri, 15 Mar 2013 10:32:38 +0000 Subject: [PATCH] only send out update email if there are recipients --- lib/ssbm.go | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/lib/ssbm.go b/lib/ssbm.go index acb4f6e..92a3fc1 100644 --- a/lib/ssbm.go +++ b/lib/ssbm.go @@ -47,8 +47,12 @@ func NewSsbm(rootDir string) *Ssbm { func (s *Ssbm) Init(email string, keyId string, selfKey io.Reader) error { os.Mkdir(s.rootDir, 0700) os.Mkdir(s.updatesDir, 0700) - s.config.Set("self_email", email) - s.config.Set("self_key_id", keyId) + if err := s.config.Set("self_email", email); err != nil { + log.Printf("error setting config: %s", err) + } + if err := s.config.Set("self_key_id", keyId); err != nil { + log.Printf("error setting config: %s", err) + } return s.gpg.Init(keyId, selfKey) } @@ -126,14 +130,17 @@ func (s *Ssbm) Save() error { } } - msg, err := s.gpg.EncryptAndSign(data, recipientKeys) - if err != nil { - return err - } + // Encrypt and sign the outgoing update emails (but only if the + // recipient list is not empty). + if len(recipientKeys) > 0 { + msg, err := s.gpg.EncryptAndSign(data, recipientKeys) + if err != nil { + return err + } - // Send out the update emails. - if err := s.mailer.SendMail(selfEmail, recipientEmails, msg); err != nil { - return err + if err := s.mailer.SendMail(selfEmail, recipientEmails, msg); err != nil { + return err + } } return nil -- GitLab