about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorBen Burwell <ben@benburwell.com>2019-07-03 10:24:11 -0400
committerDrew DeVault <sir@cmpwn.com>2019-07-04 11:24:19 -0400
commit8d9d94f0ee63216b50674d0857ef1f2c744737d5 (patch)
treea296dd61078903075bdce19e6dc0894aeb8c037d
parentcffa2365be267ca2b243eee0cbb40593c0e01a3d (diff)
downloadaerc-8d9d94f0ee63216b50674d0857ef1f2c744737d5.tar.gz
Use go-message implementation of GenerateMessageID
Now that this is available in the upstream, we no longer need to
maintain a parallel implementation.
-rw-r--r--lib/msgid.go34
-rw-r--r--widgets/compose.go3
2 files changed, 1 insertions, 36 deletions
diff --git a/lib/msgid.go b/lib/msgid.go
deleted file mode 100644
index 8282d1d..0000000
--- a/lib/msgid.go
+++ /dev/null
@@ -1,34 +0,0 @@
-package lib
-
-// TODO: Remove this pending merge into github.com/emersion/go-message
-
-import (
-	"bytes"
-	"encoding/binary"
-	"fmt"
-	"math/rand"
-	"os"
-	"time"
-
-	"github.com/martinlindhe/base36"
-)
-
-// Generates an RFC 2822-complaint Message-Id based on the informational draft
-// "Recommendations for generating Message IDs", for lack of a better
-// authoritative source.
-func GenerateMessageId() string {
-	var (
-		now   bytes.Buffer
-		nonce bytes.Buffer
-	)
-	binary.Write(&now, binary.BigEndian, time.Now().UnixNano())
-	binary.Write(&nonce, binary.BigEndian, rand.Uint64())
-	hostname, err := os.Hostname()
-	if err != nil {
-		hostname = "localhost"
-	}
-	return fmt.Sprintf("<%s.%s@%s>",
-		base36.EncodeBytes(now.Bytes()),
-		base36.EncodeBytes(nonce.Bytes()),
-		hostname)
-}
diff --git a/widgets/compose.go b/widgets/compose.go
index dc12e60..d0a4629 100644
--- a/widgets/compose.go
+++ b/widgets/compose.go
@@ -15,7 +15,6 @@ import (
 	"github.com/pkg/errors"
 
 	"git.sr.ht/~sircmpwn/aerc/config"
-	"git.sr.ht/~sircmpwn/aerc/lib"
 	"git.sr.ht/~sircmpwn/aerc/lib/ui"
 	"git.sr.ht/~sircmpwn/aerc/worker/types"
 )
@@ -210,7 +209,7 @@ func (c *Composer) PrepareHeader() (*mail.Header, []string, error) {
 	// Update headers
 	mhdr := (*message.Header)(&header.Header)
 	mhdr.SetContentType("text/plain", map[string]string{"charset": "UTF-8"})
-	mhdr.SetText("Message-Id", lib.GenerateMessageId())
+	mhdr.SetText("Message-Id", mail.GenerateMessageID())
 	if subject, _ := header.Subject(); subject == "" {
 		header.SetSubject(c.headers.subject.input.String())
 	}