git » chasquid » commit aac2d3c

Minor style and simplification cleanups

author Alberto Bertogli
2016-08-01 21:49:27 UTC
committer Alberto Bertogli
2016-09-12 03:06:56 UTC
parent 92a88bd06ff7a5a485f2d6a078dca6ce1c8bda12

Minor style and simplification cleanups

This patch does various minor style and simplification cleanups, fixing things
detected by tools such as go vet, gofmt -s, and golint.

There are no functional changes, this change is purely cosmetic, but will
enable us to run those tools more regularly now that their output is clean.

chasquid.go +15 -15
chasquid_test.go +1 -1
internal/courier/procmail.go +2 -2
internal/courier/procmail_test.go +1 -1
internal/courier/smtp_test.go +5 -5
internal/queue/queue.go +2 -2
internal/queue/queue_test.go +1 -1
internal/systemd/systemd.go +2 -2
internal/systemd/systemd_test.go +1 -1
internal/userdb/userdb.go +5 -5
internal/userdb/userdb_test.go +2 -2

diff --git a/chasquid.go b/chasquid.go
index 7fecaae..dd85229 100644
--- a/chasquid.go
+++ b/chasquid.go
@@ -325,9 +325,9 @@ type Conn struct {
 	tlsConfig *tls.Config
 
 	// Envelope.
-	mail_from string
-	rcpt_to   []string
-	data      []byte
+	mailFrom string
+	rcptTo   []string
+	data     []byte
 
 	// Are we using TLS?
 	onTLS bool
@@ -536,7 +536,7 @@ func (c *Conn) MAIL(params string) (code int, msg string) {
 	// but that's not according to the RFC. We reset the envelope instead.
 	c.resetEnvelope()
 
-	c.mail_from = e.Address
+	c.mailFrom = e.Address
 	return 250, "You feel like you are being watched"
 }
 
@@ -557,30 +557,30 @@ func (c *Conn) RCPT(params string) (code int, msg string) {
 		return 501, "malformed address"
 	}
 
-	if c.mail_from == "" {
+	if c.mailFrom == "" {
 		return 503, "sender not yet given"
 	}
 
 	// RFC says 100 is the minimum limit for this, but it seems excessive.
-	if len(c.rcpt_to) > 100 {
+	if len(c.rcptTo) > 100 {
 		return
 	}
 
 	// TODO: do we allow receivers without a domain?
 	// TODO: check the case:
 	//  - local recipient, always ok
-	//  - external recipient, only ok if mail_from is local (needs auth)
+	//  - external recipient, only ok if mailFrom is local (needs auth)
 
-	c.rcpt_to = append(c.rcpt_to, e.Address)
+	c.rcptTo = append(c.rcptTo, e.Address)
 	return 250, "You have an eerie feeling..."
 }
 
 func (c *Conn) DATA(params string, tr *trace.Trace) (code int, msg string) {
-	if c.mail_from == "" {
+	if c.mailFrom == "" {
 		return 503, "sender not yet given"
 	}
 
-	if len(c.rcpt_to) == 0 {
+	if len(c.rcptTo) == 0 {
 		return 503, "need an address to send to"
 	}
 
@@ -606,7 +606,7 @@ func (c *Conn) DATA(params string, tr *trace.Trace) (code int, msg string) {
 
 	// There are no partial failures here: we put it in the queue, and then if
 	// individual deliveries fail, we report via email.
-	msgID, err := c.queue.Put(c.mail_from, c.rcpt_to, c.data)
+	msgID, err := c.queue.Put(c.mailFrom, c.rcptTo, c.data)
 	if err != nil {
 		tr.LazyPrintf("   error queueing: %v", err)
 		tr.SetError()
@@ -724,14 +724,14 @@ func (c *Conn) AUTH(params string, tr *trace.Trace) (code int, msg string) {
 		c.authDomain = domain
 		c.completedAuth = true
 		return 235, ""
-	} else {
-		return 535, "Incorrect user or password"
 	}
+
+	return 535, "Incorrect user or password"
 }
 
 func (c *Conn) resetEnvelope() {
-	c.mail_from = ""
-	c.rcpt_to = nil
+	c.mailFrom = ""
+	c.rcptTo = nil
 	c.data = nil
 }
 
diff --git a/chasquid_test.go b/chasquid_test.go
index e306dbc..d17770a 100644
--- a/chasquid_test.go
+++ b/chasquid_test.go
@@ -144,7 +144,7 @@ func TestWrongMailParsing(t *testing.T) {
 	}
 
 	if err := c.Mail("from@from"); err != nil {
-		t.Errorf("Mail:", err)
+		t.Errorf("Mail: %v", err)
 	}
 
 	for _, addr := range addrs {
diff --git a/internal/courier/procmail.go b/internal/courier/procmail.go
index ceeebcd..a753754 100644
--- a/internal/courier/procmail.go
+++ b/internal/courier/procmail.go
@@ -25,7 +25,7 @@ var (
 )
 
 var (
-	timeoutError = fmt.Errorf("Operation timed out")
+	errTimeout = fmt.Errorf("Operation timed out")
 )
 
 // Procmail delivers local mail via procmail.
@@ -79,7 +79,7 @@ func (p *Procmail) Deliver(from string, to string, data []byte) error {
 	timedOut := !timer.Stop()
 
 	if timedOut {
-		return tr.Error(timeoutError)
+		return tr.Error(errTimeout)
 	}
 	if err != nil {
 		return tr.Errorf("Procmail failed: %v - %q", err, output.String())
diff --git a/internal/courier/procmail_test.go b/internal/courier/procmail_test.go
index 7e69d33..85ddeab 100644
--- a/internal/courier/procmail_test.go
+++ b/internal/courier/procmail_test.go
@@ -39,7 +39,7 @@ func TestProcmailTimeout(t *testing.T) {
 	p := Procmail{}
 
 	err := p.Deliver("from", "to@local", []byte("data"))
-	if err != timeoutError {
+	if err != errTimeout {
 		t.Errorf("Unexpected error: %v", err)
 	}
 
diff --git a/internal/courier/smtp_test.go b/internal/courier/smtp_test.go
index 6a6c3e4..46e21c9 100644
--- a/internal/courier/smtp_test.go
+++ b/internal/courier/smtp_test.go
@@ -86,19 +86,19 @@ func TestSMTPErrors(t *testing.T) {
 
 	responses := []map[string]string{
 		// First test: hang response, should fail due to timeout.
-		map[string]string{
+		{
 			"_welcome": "220 no newline",
 		},
 
 		// MAIL FROM not allowed.
-		map[string]string{
+		{
 			"_welcome":          "220 mail from not allowed\n",
 			"EHLO localhost":    "250 ehlo ok\n",
 			"MAIL FROM:<me@me>": "501 mail error\n",
 		},
 
 		// RCPT TO not allowed.
-		map[string]string{
+		{
 			"_welcome":          "220 rcpt to not allowed\n",
 			"EHLO localhost":    "250 ehlo ok\n",
 			"MAIL FROM:<me@me>": "250 mail ok\n",
@@ -106,7 +106,7 @@ func TestSMTPErrors(t *testing.T) {
 		},
 
 		// DATA error.
-		map[string]string{
+		{
 			"_welcome":          "220 data error\n",
 			"EHLO localhost":    "250 ehlo ok\n",
 			"MAIL FROM:<me@me>": "250 mail ok\n",
@@ -115,7 +115,7 @@ func TestSMTPErrors(t *testing.T) {
 		},
 
 		// DATA response error.
-		map[string]string{
+		{
 			"_welcome":          "220 data response error\n",
 			"EHLO localhost":    "250 ehlo ok\n",
 			"MAIL FROM:<me@me>": "250 mail ok\n",
diff --git a/internal/queue/queue.go b/internal/queue/queue.go
index e53bf30..f5450cd 100644
--- a/internal/queue/queue.go
+++ b/internal/queue/queue.go
@@ -26,7 +26,7 @@ const (
 )
 
 var (
-	queueFullError = fmt.Errorf("Queue size too big, try again later")
+	errQueueFull = fmt.Errorf("Queue size too big, try again later")
 )
 
 // Channel used to get random IDs for items in the queue.
@@ -90,7 +90,7 @@ func (q *Queue) Len() int {
 // Put an envelope in the queue.
 func (q *Queue) Put(from string, to []string, data []byte) (string, error) {
 	if q.Len() >= maxQueueSize {
-		return "", queueFullError
+		return "", errQueueFull
 	}
 
 	item := &Item{
diff --git a/internal/queue/queue_test.go b/internal/queue/queue_test.go
index 735f1d8..a1ac39d 100644
--- a/internal/queue/queue_test.go
+++ b/internal/queue/queue_test.go
@@ -117,7 +117,7 @@ func TestFullQueue(t *testing.T) {
 
 	// This one should fail due to the queue being too big.
 	id, err := q.Put("from", []string{"to"}, []byte("data"))
-	if err != queueFullError {
+	if err != errQueueFull {
 		t.Errorf("Not failed as expected: %v - %v", id, err)
 	}
 
diff --git a/internal/systemd/systemd.go b/internal/systemd/systemd.go
index a6a796c..4cbaf5e 100644
--- a/internal/systemd/systemd.go
+++ b/internal/systemd/systemd.go
@@ -12,7 +12,7 @@ import (
 
 var (
 	// Error to return when $LISTEN_PID does not refer to us.
-	PIDMismatch = errors.New("$LISTEN_PID != our PID")
+	ErrPIDMismatch = errors.New("$LISTEN_PID != our PID")
 
 	// First FD for listeners.
 	// It's 3 by definition, but using a variable simplifies testing.
@@ -36,7 +36,7 @@ func Listeners() ([]net.Listener, error) {
 		return nil, fmt.Errorf(
 			"error converting $LISTEN_PID=%q: %v", pidStr, err)
 	} else if pid != os.Getpid() {
-		return nil, PIDMismatch
+		return nil, ErrPIDMismatch
 	}
 
 	nfds, err := strconv.Atoi(os.Getenv("LISTEN_FDS"))
diff --git a/internal/systemd/systemd_test.go b/internal/systemd/systemd_test.go
index 28586fe..34bca4b 100644
--- a/internal/systemd/systemd_test.go
+++ b/internal/systemd/systemd_test.go
@@ -53,7 +53,7 @@ func TestWrongPID(t *testing.T) {
 	}
 
 	setenv(strconv.Itoa(pid), "4")
-	if _, err := Listeners(); err != PIDMismatch {
+	if _, err := Listeners(); err != ErrPIDMismatch {
 		t.Errorf("Did not fail with PID mismatch: %v", err)
 	}
 }
diff --git a/internal/userdb/userdb.go b/internal/userdb/userdb.go
index d73f0e8..bd3a08a 100644
--- a/internal/userdb/userdb.go
+++ b/internal/userdb/userdb.go
@@ -75,8 +75,8 @@ type DB struct {
 }
 
 var (
-	MissingHeaderErr   = errors.New("missing '#chasquid-userdb-v1' header")
-	InvalidUsernameErr = errors.New("username contains invalid characters")
+	ErrMissingHeader   = errors.New("missing '#chasquid-userdb-v1' header")
+	ErrInvalidUsername = errors.New("username contains invalid characters")
 )
 
 func New(fname string) *DB {
@@ -114,7 +114,7 @@ func Load(fname string) (*DB, []error, error) {
 	scanner := bufio.NewScanner(f)
 	scanner.Scan()
 	if scanner.Text() != "#chasquid-userdb-v1" {
-		return nil, nil, MissingHeaderErr
+		return nil, nil, ErrMissingHeader
 	}
 
 	var warnings []error
@@ -194,7 +194,7 @@ func (db *DB) Write() error {
 	// TODO: Sort the usernames, just to be friendlier.
 	for _, user := range db.users {
 		if strings.ContainsAny(user.name, illegalUsernameChars) {
-			return InvalidUsernameErr
+			return ErrInvalidUsername
 		}
 		fmt.Fprintf(buf, "%s %s %s\n",
 			user.name, user.scheme.String(),
@@ -247,7 +247,7 @@ const illegalUsernameChars = "\t\n\v\f\r \xa0\x85"
 // Add a user to the database. If the user is already present, override it.
 func (db *DB) AddUser(name, plainPassword string) error {
 	if !ValidUsername(name) {
-		return InvalidUsernameErr
+		return ErrInvalidUsername
 	}
 
 	s := scryptScheme{
diff --git a/internal/userdb/userdb_test.go b/internal/userdb/userdb_test.go
index e3a1ef2..cec6e58 100644
--- a/internal/userdb/userdb_test.go
+++ b/internal/userdb/userdb_test.go
@@ -86,7 +86,7 @@ func TestLoad(t *testing.T) {
 		{"header \\r\\n", "#chasquid-userdb-v1\r\n", false, nil, false},
 		{"header EOF", "#chasquid-userdb-v1", false, nil, false},
 		{"missing header", "this is not the header",
-			true, MissingHeaderErr, false},
+			true, ErrMissingHeader, false},
 		{"invalid user", "#chasquid-userdb-v1\nnam\xa0e PLAIN pass\n",
 			false, nil, true},
 		{"too few fields", "#chasquid-userdb-v1\nfield1 field2\n",
@@ -131,7 +131,7 @@ func testOneLoad(t *testing.T, desc, content string, fatal bool, fatalErr error,
 	}
 
 	if db != nil && !dbEquals(db, emptyDB) {
-		t.Errorf("case %q: DB not empty: %#v", db)
+		t.Errorf("case %q: DB not empty: %#v", desc, db)
 	}
 }