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
 package config
1
 package config
2
 
2
 
3
 import (
3
 import (
4
+	"bytes"
4
 	"encoding/hex"
5
 	"encoding/hex"
5
 	"fmt"
6
 	"fmt"
6
 	"net"
7
 	"net"
7
 	"strconv"
8
 	"strconv"
8
-	"strings"
9
 
9
 
10
 	"github.com/juju/errors"
10
 	"github.com/juju/errors"
11
 	statsd "gopkg.in/alexcesaro/statsd.v2"
11
 	statsd "gopkg.in/alexcesaro/statsd.v2"
116
 func NewConfig(debug, verbose bool, // nolint: gocyclo
116
 func NewConfig(debug, verbose bool, // nolint: gocyclo
117
 	bindIP, publicIPv4, publicIPv6, statsIP net.IP,
117
 	bindIP, publicIPv4, publicIPv6, statsIP net.IP,
118
 	bindPort, publicIPv4Port, publicIPv6Port, statsPort, statsdPort uint16,
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
 	secureMode := false
122
 	secureMode := false
122
-	if strings.HasPrefix(secret, "dd") && len(secret) == 34 {
123
+	if bytes.HasPrefix(secret, []byte{0xdd}) && len(secret) == 17 {
123
 		secureMode = true
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
 		return nil, errors.New("Telegram demands secret of length 32")
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
 	if publicIPv4 == nil {
131
 	if publicIPv4 == nil {
142
 		publicIPv4, err = getGlobalIPv4()
132
 		publicIPv4, err = getGlobalIPv4()
143
 		if err != nil {
133
 		if err != nil {
177
 		PublicIPv6Port: publicIPv6Port,
167
 		PublicIPv6Port: publicIPv6Port,
178
 		StatsIP:        statsIP,
168
 		StatsIP:        statsIP,
179
 		StatsPort:      statsPort,
169
 		StatsPort:      statsPort,
180
-		Secret:         secretBytes,
181
-		AdTag:          adTagBytes,
170
+		Secret:         secret,
171
+		AdTag:          adtag,
182
 		SecureMode:     secureMode,
172
 		SecureMode:     secureMode,
183
 	}
173
 	}
184
 
174
 
187
 		conf.StatsD.Prefix = statsdPrefix
177
 		conf.StatsD.Prefix = statsdPrefix
188
 		conf.StatsD.Tags = statsdTags
178
 		conf.StatsD.Tags = statsdTags
189
 
179
 
190
-		var addr net.Addr
180
+		var (
181
+			addr net.Addr
182
+			err  error
183
+		)
191
 		hostPort := net.JoinHostPort(statsdIP, strconv.Itoa(int(statsdPort)))
184
 		hostPort := net.JoinHostPort(statsdIP, strconv.Itoa(int(statsdPort)))
192
 		switch statsdNetwork {
185
 		switch statsdNetwork {
193
 		case "tcp":
186
 		case "tcp":

+ 5
- 4
main.go View File

110
 		Envar("MTG_STATSD_TAGS").
110
 		Envar("MTG_STATSD_TAGS").
111
 		StringMap()
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
 func init() {
117
 func init() {
120
 
120
 
121
 }
121
 }
122
 
122
 
123
-func main() {
123
+func main() { // nolint: gocyclo
124
 	kingpin.MustParse(app.Parse(os.Args[1:]))
124
 	kingpin.MustParse(app.Parse(os.Args[1:]))
125
 
125
 
126
 	err := setRLimit()
126
 	err := setRLimit()
131
 	conf, err := config.NewConfig(*debug, *verbose,
131
 	conf, err := config.NewConfig(*debug, *verbose,
132
 		*bindIP, *publicIPv4, *publicIPv6, *statsIP,
132
 		*bindIP, *publicIPv4, *publicIPv6, *statsIP,
133
 		*bindPort, *publicIPv4Port, *publicIPv6Port, *statsPort, *statsdPort,
133
 		*bindPort, *publicIPv4Port, *publicIPv6Port, *statsPort, *statsdPort,
134
-		*secret, *adtag, *statsdIP, *statsdNetwork, *statsdPrefix, *statsdTagsFormat,
134
+		*statsdIP, *statsdNetwork, *statsdPrefix, *statsdTagsFormat,
135
 		*statsdTags,
135
 		*statsdTags,
136
+		*secret, *adtag,
136
 	)
137
 	)
137
 	if err != nil {
138
 	if err != nil {
138
 		usage(err.Error())
139
 		usage(err.Error())

Loading…
Cancel
Save