Skip to content

Commit c4c8c70

Browse files
author
Gaylor Bosson
committed
Wrap errors with undetailed messages but available stack trace
1 parent ae43547 commit c4c8c70

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+275
-277
lines changed

app/config.go

+24-24
Original file line numberDiff line numberDiff line change
@@ -57,13 +57,13 @@ type ServiceConfig struct {
5757
func (hc *CothorityConfig) Save(file string) error {
5858
fd, err := os.OpenFile(file, os.O_RDWR|os.O_CREATE|os.O_TRUNC, 0600)
5959
if err != nil {
60-
return xerrors.Errorf("opening config file: %+v", err)
60+
return xerrors.Errorf("opening config file: %v", err)
6161
}
6262
fd.WriteString("# This file contains your private key.\n")
6363
fd.WriteString("# Do not give it away lightly!\n")
6464
err = toml.NewEncoder(fd).Encode(hc)
6565
if err != nil {
66-
return xerrors.Errorf("toml encoding: %+v", err)
66+
return xerrors.Errorf("toml encoding: %v", err)
6767
}
6868
return nil
6969
}
@@ -73,7 +73,7 @@ func LoadCothority(file string) (*CothorityConfig, error) {
7373
hc := &CothorityConfig{}
7474
_, err := toml.DecodeFile(file, hc)
7575
if err != nil {
76-
return nil, xerrors.Errorf("toml decoding: %+v", err)
76+
return nil, xerrors.Errorf("toml decoding: %v", err)
7777
}
7878

7979
// Backwards compatibility with configs before we included the suite name
@@ -88,17 +88,17 @@ func LoadCothority(file string) (*CothorityConfig, error) {
8888
func (hc *CothorityConfig) GetServerIdentity() (*network.ServerIdentity, error) {
8989
suite, err := suites.Find(hc.Suite)
9090
if err != nil {
91-
return nil, xerrors.Errorf("kyber suite: %+v", err)
91+
return nil, xerrors.Errorf("kyber suite: %v", err)
9292
}
9393

9494
// Try to decode the Hex values
9595
private, err := encoding.StringHexToScalar(suite, hc.Private)
9696
if err != nil {
97-
return nil, xerrors.Errorf("parsing private key: %+v", err)
97+
return nil, xerrors.Errorf("parsing private key: %v", err)
9898
}
9999
point, err := encoding.StringHexToPoint(suite, hc.Public)
100100
if err != nil {
101-
return nil, xerrors.Errorf("parsing public key: %+v", err)
101+
return nil, xerrors.Errorf("parsing public key: %v", err)
102102
}
103103
si := network.NewServerIdentity(point, hc.Address)
104104
si.SetPrivate(private)
@@ -110,7 +110,7 @@ func (hc *CothorityConfig) GetServerIdentity() (*network.ServerIdentity, error)
110110
} else {
111111
p, err := strconv.Atoi(si.Address.Port())
112112
if err != nil {
113-
return nil, xerrors.Errorf("port conversion: %+v")
113+
return nil, xerrors.Errorf("port conversion: %v")
114114
}
115115
si.URL = fmt.Sprintf("https://%s:%d", si.Address.Host(), p+1)
116116
}
@@ -127,16 +127,16 @@ func (hc *CothorityConfig) GetServerIdentity() (*network.ServerIdentity, error)
127127
func ParseCothority(file string) (*CothorityConfig, *onet.Server, error) {
128128
hc, err := LoadCothority(file)
129129
if err != nil {
130-
return nil, nil, xerrors.Errorf("reading config: %+v", err)
130+
return nil, nil, xerrors.Errorf("reading config: %v", err)
131131
}
132132
suite, err := suites.Find(hc.Suite)
133133
if err != nil {
134-
return nil, nil, xerrors.Errorf("kyber suite: %+v", err)
134+
return nil, nil, xerrors.Errorf("kyber suite: %v", err)
135135
}
136136

137137
si, err := hc.GetServerIdentity()
138138
if err != nil {
139-
return nil, nil, xerrors.Errorf("parse server identity: %+v", err)
139+
return nil, nil, xerrors.Errorf("parse server identity: %v", err)
140140
}
141141

142142
// Same as `NewServerTCP` if `hc.ListenAddress` is empty
@@ -154,7 +154,7 @@ func ParseCothority(file string) (*CothorityConfig, *onet.Server, error) {
154154
hc.WebSocketTLSCertificateKey.blobPart(),
155155
)
156156
if err != nil {
157-
return nil, nil, xerrors.Errorf("certificate: %+v", err)
157+
return nil, nil, xerrors.Errorf("certificate: %v", err)
158158
}
159159

160160
server.WebSocket.Lock()
@@ -165,15 +165,15 @@ func ParseCothority(file string) (*CothorityConfig, *onet.Server, error) {
165165
} else {
166166
tlsCertificate, err := hc.WebSocketTLSCertificate.Content()
167167
if err != nil {
168-
return nil, nil, xerrors.Errorf("getting WebSocketTLSCertificate content: %+v", err)
168+
return nil, nil, xerrors.Errorf("getting WebSocketTLSCertificate content: %v", err)
169169
}
170170
tlsCertificateKey, err := hc.WebSocketTLSCertificateKey.Content()
171171
if err != nil {
172-
return nil, nil, xerrors.Errorf("getting WebSocketTLSCertificateKey content: %+v", err)
172+
return nil, nil, xerrors.Errorf("getting WebSocketTLSCertificateKey content: %v", err)
173173
}
174174
cert, err := tls.X509KeyPair(tlsCertificate, tlsCertificateKey)
175175
if err != nil {
176-
return nil, nil, xerrors.Errorf("loading X509KeyPair: %+v", err)
176+
return nil, nil, xerrors.Errorf("loading X509KeyPair: %v", err)
177177
}
178178

179179
server.WebSocket.Lock()
@@ -235,7 +235,7 @@ func (g *Group) Toml(suite suites.Suite) (*GroupToml, error) {
235235
for i, si := range g.Roster.List {
236236
pub, err := encoding.PointToStringHex(suite, si.Public)
237237
if err != nil {
238-
return nil, xerrors.Errorf("encoding public key: %+v", err)
238+
return nil, xerrors.Errorf("encoding public key: %v", err)
239239
}
240240

241241
services := make(map[string]ServerServiceConfig)
@@ -244,7 +244,7 @@ func (g *Group) Toml(suite suites.Suite) (*GroupToml, error) {
244244

245245
pub, err := encoding.PointToStringHex(suite, sid.Public)
246246
if err != nil {
247-
return nil, xerrors.Errorf("encoding service key: %+v", err)
247+
return nil, xerrors.Errorf("encoding service key: %v", err)
248248
}
249249

250250
services[sid.Name] = ServerServiceConfig{Public: pub, Suite: suite.String()}
@@ -267,7 +267,7 @@ func (g *Group) Toml(suite suites.Suite) (*GroupToml, error) {
267267
func (g *Group) Save(suite suites.Suite, filename string) error {
268268
gt, err := g.Toml(suite)
269269
if err != nil {
270-
return xerrors.Errorf("toml encoding: %+v", err)
270+
return xerrors.Errorf("toml encoding: %v", err)
271271
}
272272

273273
return gt.Save(filename)
@@ -281,7 +281,7 @@ func ReadGroupDescToml(f io.Reader) (*Group, error) {
281281
group := &GroupToml{}
282282
_, err := toml.DecodeReader(f, group)
283283
if err != nil {
284-
return nil, xerrors.Errorf("toml decoding: %+v", err)
284+
return nil, xerrors.Errorf("toml decoding: %v", err)
285285
}
286286
// convert from ServerTomls to entities
287287
var entities = make([]*network.ServerIdentity, len(group.Servers))
@@ -293,7 +293,7 @@ func ReadGroupDescToml(f io.Reader) (*Group, error) {
293293
}
294294
en, err := s.ToServerIdentity()
295295
if err != nil {
296-
return nil, xerrors.Errorf("server identity encoding: %+v", err)
296+
return nil, xerrors.Errorf("server identity encoding: %v", err)
297297
}
298298
entities[i] = en
299299
descs[en] = s.Description
@@ -308,12 +308,12 @@ func ReadGroupDescToml(f io.Reader) (*Group, error) {
308308
func (gt *GroupToml) Save(fname string) error {
309309
file, err := os.Create(fname)
310310
if err != nil {
311-
return xerrors.Errorf("creating file: %+v", err)
311+
return xerrors.Errorf("creating file: %v", err)
312312
}
313313
defer file.Close()
314314
_, err = file.WriteString(gt.String())
315315
if err != nil {
316-
return xerrors.Errorf("writing file: %+v", err)
316+
return xerrors.Errorf("writing file: %v", err)
317317
}
318318

319319
return nil
@@ -338,13 +338,13 @@ func (gt *GroupToml) String() string {
338338
func (s *ServerToml) ToServerIdentity() (*network.ServerIdentity, error) {
339339
suite, err := suites.Find(s.Suite)
340340
if err != nil {
341-
return nil, xerrors.Errorf("kyber suite: %+v", err)
341+
return nil, xerrors.Errorf("kyber suite: %v", err)
342342
}
343343

344344
pubR := strings.NewReader(s.Public)
345345
public, err := encoding.ReadHexPoint(suite, pubR)
346346
if err != nil {
347-
return nil, xerrors.Errorf("encoding key: %+v", err)
347+
return nil, xerrors.Errorf("encoding key: %v", err)
348348
}
349349
si := network.NewServerIdentity(public, s.Address)
350350
si.URL = s.URL
@@ -474,7 +474,7 @@ func (cu CertificateURL) Content() ([]byte, error) {
474474
if cuType == File {
475475
dat, err := ioutil.ReadFile(cu.blobPart())
476476
if err != nil {
477-
return nil, xerrors.Errorf("reading file: %+v", err)
477+
return nil, xerrors.Errorf("reading file: %v", err)
478478
}
479479
return dat, nil
480480
}

app/io.go

+5-5
Original file line numberDiff line numberDiff line change
@@ -73,27 +73,27 @@ func Copy(dst, src string) error {
7373
info, err := os.Stat(dst)
7474
if err == nil && info.IsDir() {
7575
if err := Copy(path.Join(dst, path.Base(src)), src); err != nil {
76-
return xerrors.Errorf("copying folder: %+v", err)
76+
return xerrors.Errorf("copying folder: %v", err)
7777
}
7878
return nil
7979
}
8080
fSrc, err := os.Open(src)
8181
if err != nil {
82-
return xerrors.Errorf("opening file: %+v", err)
82+
return xerrors.Errorf("opening file: %v", err)
8383
}
8484
defer fSrc.Close()
8585
stat, err := fSrc.Stat()
8686
if err != nil {
87-
return xerrors.Errorf("file info: %+v", err)
87+
return xerrors.Errorf("file info: %v", err)
8888
}
8989
fDst, err := os.OpenFile(dst, os.O_CREATE|os.O_RDWR, stat.Mode())
9090
if err != nil {
91-
return xerrors.Errorf("opening file: %+v", err)
91+
return xerrors.Errorf("opening file: %v", err)
9292
}
9393
defer fDst.Close()
9494
_, err = io.Copy(fDst, fSrc)
9595
if err != nil {
96-
return xerrors.Errorf("copying file: %+v", err)
96+
return xerrors.Errorf("copying file: %v", err)
9797
}
9898

9999
return nil

app/server.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -306,12 +306,12 @@ func tryConnect(ip, binding network.Address) error {
306306

307307
_, portStr, err := net.SplitHostPort(ip.NetworkAddress())
308308
if err != nil {
309-
return xerrors.Errorf("invalid address: %+v", err)
309+
return xerrors.Errorf("invalid address: %v", err)
310310
}
311311

312312
port, err := strconv.Atoi(portStr)
313313
if err != nil {
314-
return xerrors.Errorf("invalid port: %+v", err)
314+
return xerrors.Errorf("invalid port: %v", err)
315315
}
316316

317317
// Ask the check. Since the public adress may not be available at this time
@@ -331,7 +331,7 @@ func tryConnect(ip, binding network.Address) error {
331331
buff, err := ioutil.ReadAll(resp.Body)
332332
resp.Body.Close()
333333
if err != nil {
334-
return xerrors.Errorf("reading body: %+v", err)
334+
return xerrors.Errorf("reading body: %v", err)
335335
}
336336

337337
res := string(buff)

context.go

+17-17
Original file line numberDiff line numberDiff line change
@@ -35,11 +35,11 @@ func newContext(c *Server, o *Overlay, servID ServiceID, manager *serviceManager
3535
err := manager.db.Update(func(tx *bbolt.Tx) error {
3636
_, err := tx.CreateBucketIfNotExists(ctx.bucketName)
3737
if err != nil {
38-
return xerrors.Errorf("creating bucket: %+v", err)
38+
return xerrors.Errorf("creating bucket: %v", err)
3939
}
4040
_, err = tx.CreateBucketIfNotExists(ctx.bucketVersionName)
4141
if err != nil {
42-
return xerrors.Errorf("creating bucket: %+v", err)
42+
return xerrors.Errorf("creating bucket: %v", err)
4343
}
4444
return nil
4545
})
@@ -60,7 +60,7 @@ func (c *Context) NewTreeNodeInstance(t *Tree, tn *TreeNode, protoName string) *
6060
func (c *Context) SendRaw(si *network.ServerIdentity, msg interface{}) error {
6161
_, err := c.server.Send(si, msg)
6262
if err != nil {
63-
xerrors.Errorf("sending message: %+v", err)
63+
xerrors.Errorf("sending message: %v", err)
6464
}
6565
return nil
6666
}
@@ -84,7 +84,7 @@ func (c *Context) ServiceID() ServiceID {
8484
func (c *Context) CreateProtocol(name string, t *Tree) (ProtocolInstance, error) {
8585
pi, err := c.overlay.CreateProtocol(name, t, c.serviceID)
8686
if err != nil {
87-
return nil, xerrors.Errorf("creating protocol: %+v", err)
87+
return nil, xerrors.Errorf("creating protocol: %v", err)
8888
}
8989

9090
return pi, nil
@@ -98,7 +98,7 @@ func (c *Context) CreateProtocol(name string, t *Tree) (ProtocolInstance, error)
9898
func (c *Context) ProtocolRegister(name string, protocol NewProtocol) (ProtocolID, error) {
9999
id, err := c.server.ProtocolRegister(name, protocol)
100100
if err != nil {
101-
return id, xerrors.Errorf("protocol registration: %+v", err)
101+
return id, xerrors.Errorf("protocol registration: %v", err)
102102
}
103103
return id, nil
104104
}
@@ -107,7 +107,7 @@ func (c *Context) ProtocolRegister(name string, protocol NewProtocol) (ProtocolI
107107
func (c *Context) RegisterProtocolInstance(pi ProtocolInstance) error {
108108
err := c.overlay.RegisterProtocolInstance(pi)
109109
if err != nil {
110-
return xerrors.Errorf("protocol instance regisration: %+v", err)
110+
return xerrors.Errorf("protocol instance regisration: %v", err)
111111
}
112112
return nil
113113
}
@@ -170,14 +170,14 @@ type ContextDB interface {
170170
func (c *Context) Save(key []byte, data interface{}) error {
171171
buf, err := network.Marshal(data)
172172
if err != nil {
173-
return xerrors.Errorf("marshaling: %+v", err)
173+
return xerrors.Errorf("marshaling: %v", err)
174174
}
175175
err = c.manager.db.Update(func(tx *bbolt.Tx) error {
176176
b := tx.Bucket(c.bucketName)
177177
return b.Put(key, buf)
178178
})
179179
if err != nil {
180-
return xerrors.Errorf("tx error: %+v", err)
180+
return xerrors.Errorf("tx error: %v", err)
181181
}
182182
return nil
183183
}
@@ -197,7 +197,7 @@ func (c *Context) Load(key []byte) (interface{}, error) {
197197
return nil
198198
})
199199
if err != nil {
200-
return nil, xerrors.Errorf("tx error: %+v", err)
200+
return nil, xerrors.Errorf("tx error: %v", err)
201201
}
202202

203203
if buf == nil {
@@ -206,7 +206,7 @@ func (c *Context) Load(key []byte) (interface{}, error) {
206206

207207
_, ret, err := network.Unmarshal(buf, c.server.suite)
208208
if err != nil {
209-
return nil, xerrors.Errorf("unmarshaling: %+v")
209+
return nil, xerrors.Errorf("unmarshaling: %v")
210210
}
211211

212212
return ret, nil
@@ -227,7 +227,7 @@ func (c *Context) LoadRaw(key []byte) ([]byte, error) {
227227
return nil
228228
})
229229
if err != nil {
230-
return nil, xerrors.Errorf("tx error: %+v", err)
230+
return nil, xerrors.Errorf("tx error: %v", err)
231231
}
232232
return buf, nil
233233
}
@@ -250,7 +250,7 @@ func (c *Context) LoadVersion() (int, error) {
250250
})
251251

252252
if err != nil {
253-
return -1, xerrors.Errorf("tx error: %+v", err)
253+
return -1, xerrors.Errorf("tx error: %v", err)
254254
}
255255

256256
if len(buf) == 0 {
@@ -259,7 +259,7 @@ func (c *Context) LoadVersion() (int, error) {
259259
var version int32
260260
err = binary.Read(bytes.NewReader(buf), binary.LittleEndian, &version)
261261
if err != nil {
262-
return -1, xerrors.Errorf("bytes to int: %+v", err)
262+
return -1, xerrors.Errorf("bytes to int: %v", err)
263263
}
264264
return int(version), nil
265265
}
@@ -269,14 +269,14 @@ func (c *Context) SaveVersion(version int) error {
269269
buf := bytes.NewBuffer(nil)
270270
err := binary.Write(buf, binary.LittleEndian, int32(version))
271271
if err != nil {
272-
return xerrors.Errorf("int to bytes: %+v", err)
272+
return xerrors.Errorf("int to bytes: %v", err)
273273
}
274274
err = c.manager.db.Update(func(tx *bbolt.Tx) error {
275275
b := tx.Bucket(c.bucketVersionName)
276276
return b.Put(dbVersion, buf.Bytes())
277277
})
278278
if err != nil {
279-
return xerrors.Errorf("tx error: %+v")
279+
return xerrors.Errorf("tx error: %v")
280280
}
281281
return nil
282282
}
@@ -297,12 +297,12 @@ func (c *Context) GetAdditionalBucket(name []byte) (*bbolt.DB, []byte) {
297297
err := c.manager.db.Update(func(tx *bbolt.Tx) error {
298298
_, err := tx.CreateBucketIfNotExists(fullName)
299299
if err != nil {
300-
return xerrors.Errorf("create bucket: %+v", err)
300+
return xerrors.Errorf("create bucket: %v", err)
301301
}
302302
return nil
303303
})
304304
if err != nil {
305-
panic(xerrors.Errorf("tx error: %+v", err))
305+
panic(xerrors.Errorf("tx error: %v", err))
306306
}
307307
return c.manager.db, fullName
308308
}

context_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,7 @@ func createContext(t *testing.T, dbPath string) *Context {
173173
err = db.Update(func(tx *bbolt.Tx) error {
174174
_, err := tx.CreateBucket([]byte(name))
175175
if err != nil {
176-
return xerrors.Errorf("creating bucket: %+v", err)
176+
return xerrors.Errorf("creating bucket: %v", err)
177177
}
178178
return nil
179179
})

0 commit comments

Comments
 (0)