Skip to content

Commit 75ffca6

Browse files
author
Brian Tiger Chow
committed
Merge pull request #742 from jbenet/fix/repo-config-validation
when setting config keys, validate against struct before writing to disk
2 parents 6c3173d + faded48 commit 75ffca6

File tree

4 files changed

+19
-12
lines changed

4 files changed

+19
-12
lines changed

repo/config/init.go

+2-1
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,8 @@ func Init(out io.Writer, nBitsForKeypair int) (*Config, error) {
4242
Datastore: *ds,
4343
Identity: identity,
4444
Log: Log{
45-
MaxSizeMB: 500,
45+
MaxSizeMB: 250,
46+
MaxBackups: 1,
4647
},
4748

4849
// setup the node mount points.

repo/config/log.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ package config
22

33

44
type Log struct {
5-
MaxSizeMB uint64
6-
MaxBackups uint64
7-
MaxAgeDays uint64
5+
MaxSizeMB int
6+
MaxBackups int
7+
MaxAgeDays int
88
}

repo/fsrepo/component/config.go

+11-5
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
package component
22

33
import (
4+
"strconv"
5+
46
common "github.com/jbenet/go-ipfs/repo/common"
57
config "github.com/jbenet/go-ipfs/repo/config"
68
serialize "github.com/jbenet/go-ipfs/repo/fsrepo/serialize"
@@ -86,22 +88,26 @@ func (c *ConfigComponent) SetConfigKey(key string, value interface{}) error {
8688
if err != nil {
8789
return err
8890
}
91+
switch v := value.(type) {
92+
case string:
93+
if i, err := strconv.Atoi(v); err == nil {
94+
value = i
95+
}
96+
}
8997
var mapconf map[string]interface{}
9098
if err := serialize.ReadConfigFile(filename, &mapconf); err != nil {
9199
return err
92100
}
93101
if err := common.MapSetKV(mapconf, key, value); err != nil {
94102
return err
95103
}
96-
if err := serialize.WriteConfigFile(filename, mapconf); err != nil {
97-
return err
98-
}
99-
// in order to get the updated values, read updated config from the
100-
// file-system.
101104
conf, err := config.FromMap(mapconf)
102105
if err != nil {
103106
return err
104107
}
108+
if err := serialize.WriteConfigFile(filename, mapconf); err != nil {
109+
return err
110+
}
105111
return c.setConfigUnsynced(conf) // TODO roll this into this method
106112
}
107113

thirdparty/eventlog/option.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,9 @@ var TextFormatter = func() {
3838

3939
type LogRotatorConfig struct {
4040
Filename string
41-
MaxSizeMB uint64
42-
MaxBackups uint64
43-
MaxAgeDays uint64
41+
MaxSizeMB int
42+
MaxBackups int
43+
MaxAgeDays int
4444
}
4545

4646
func Output(w io.Writer) Option {

0 commit comments

Comments
 (0)