Browse Source

Simplify the sources

tags/0.11
9seconds 7 years ago
parent
commit
b86ad07ba9
2 changed files with 19 additions and 25 deletions
  1. 14
    21
      config/config.go
  2. 5
    4
      main.go

+ 14
- 21
config/config.go View File

@@ -1,11 +1,11 @@
1 1
 package config
2 2
 
3 3
 import (
4
+	"bytes"
4 5
 	"encoding/hex"
5 6
 	"fmt"
6 7
 	"net"
7 8
 	"strconv"
8
-	"strings"
9 9
 
10 10
 	"github.com/juju/errors"
11 11
 	statsd "gopkg.in/alexcesaro/statsd.v2"
@@ -116,28 +116,18 @@ func getAddr(host fmt.Stringer, port uint16) string {
116 116
 func NewConfig(debug, verbose bool, // nolint: gocyclo
117 117
 	bindIP, publicIPv4, publicIPv6, statsIP net.IP,
118 118
 	bindPort, publicIPv4Port, publicIPv6Port, statsPort, statsdPort uint16,
119
-	secret, adtag, statsdIP, statsdNetwork, statsdPrefix, statsdTagsFormat string,
120
-	statsdTags map[string]string) (*Config, error) {
119
+	statsdIP, statsdNetwork, statsdPrefix, statsdTagsFormat string,
120
+	statsdTags map[string]string,
121
+	secret, adtag []byte) (*Config, error) {
121 122
 	secureMode := false
122
-	if strings.HasPrefix(secret, "dd") && len(secret) == 34 {
123
+	if bytes.HasPrefix(secret, []byte{0xdd}) && len(secret) == 17 {
123 124
 		secureMode = true
124
-		secret = strings.TrimPrefix(secret, "dd")
125
-	} else if len(secret) != 32 {
125
+		secret = bytes.TrimPrefix(secret, []byte{0xdd})
126
+	} else if len(secret) != 16 {
126 127
 		return nil, errors.New("Telegram demands secret of length 32")
127 128
 	}
128
-	secretBytes, err := hex.DecodeString(secret)
129
-	if err != nil {
130
-		return nil, errors.Annotate(err, "Cannot create config")
131
-	}
132
-
133
-	var adTagBytes []byte
134
-	if len(adtag) != 0 {
135
-		adTagBytes, err = hex.DecodeString(adtag)
136
-		if err != nil {
137
-			return nil, errors.Annotate(err, "Cannot create config")
138
-		}
139
-	}
140 129
 
130
+	var err error
141 131
 	if publicIPv4 == nil {
142 132
 		publicIPv4, err = getGlobalIPv4()
143 133
 		if err != nil {
@@ -177,8 +167,8 @@ func NewConfig(debug, verbose bool, // nolint: gocyclo
177 167
 		PublicIPv6Port: publicIPv6Port,
178 168
 		StatsIP:        statsIP,
179 169
 		StatsPort:      statsPort,
180
-		Secret:         secretBytes,
181
-		AdTag:          adTagBytes,
170
+		Secret:         secret,
171
+		AdTag:          adtag,
182 172
 		SecureMode:     secureMode,
183 173
 	}
184 174
 
@@ -187,7 +177,10 @@ func NewConfig(debug, verbose bool, // nolint: gocyclo
187 177
 		conf.StatsD.Prefix = statsdPrefix
188 178
 		conf.StatsD.Tags = statsdTags
189 179
 
190
-		var addr net.Addr
180
+		var (
181
+			addr net.Addr
182
+			err  error
183
+		)
191 184
 		hostPort := net.JoinHostPort(statsdIP, strconv.Itoa(int(statsdPort)))
192 185
 		switch statsdNetwork {
193 186
 		case "tcp":

+ 5
- 4
main.go View File

@@ -110,8 +110,8 @@ var (
110 110
 		Envar("MTG_STATSD_TAGS").
111 111
 		StringMap()
112 112
 
113
-	secret = app.Arg("secret", "Secret of this proxy.").Required().String()
114
-	adtag  = app.Arg("adtag", "ADTag of the proxy.").String()
113
+	secret = app.Arg("secret", "Secret of this proxy.").Required().HexBytes()
114
+	adtag  = app.Arg("adtag", "ADTag of the proxy.").HexBytes()
115 115
 )
116 116
 
117 117
 func init() {
@@ -120,7 +120,7 @@ func init() {
120 120
 
121 121
 }
122 122
 
123
-func main() {
123
+func main() { // nolint: gocyclo
124 124
 	kingpin.MustParse(app.Parse(os.Args[1:]))
125 125
 
126 126
 	err := setRLimit()
@@ -131,8 +131,9 @@ func main() {
131 131
 	conf, err := config.NewConfig(*debug, *verbose,
132 132
 		*bindIP, *publicIPv4, *publicIPv6, *statsIP,
133 133
 		*bindPort, *publicIPv4Port, *publicIPv6Port, *statsPort, *statsdPort,
134
-		*secret, *adtag, *statsdIP, *statsdNetwork, *statsdPrefix, *statsdTagsFormat,
134
+		*statsdIP, *statsdNetwork, *statsdPrefix, *statsdTagsFormat,
135 135
 		*statsdTags,
136
+		*secret, *adtag,
136 137
 	)
137 138
 	if err != nil {
138 139
 		usage(err.Error())

Loading…
Cancel
Save