golint -min_confidence=0.3 .

This commits removes a number of golint warnings. There is a class of
warnings which I can't fix due to unsufficient knowledge of the domain
at this point. These are listed here:

addrmanager.go:907:1: comment on exported method AddrManager.Attempt
should be of the form "Attempt ..."
addrmanager.go:1048:1: exported function RFC1918 should have comment or
be unexported
addrmanager.go:1058:1: exported function RFC3849 should have comment or
be unexported
addrmanager.go:1065:1: exported function RFC3927 should have comment or
be unexported
addrmanager.go:1073:1: exported function RFC3964 should have comment or
be unexported
addrmanager.go:1081:1: exported function RFC4193 should have comment or
be unexported
addrmanager.go:1089:1: exported function RFC4380 should have comment or
be unexported
addrmanager.go:1097:1: exported function RFC4843 should have comment or
be unexported
addrmanager.go:1105:1: exported function RFC4862 should have comment or
be unexported
addrmanager.go:1113:1: exported function RFC6052 should have comment or
be unexported
addrmanager.go:1121:1: exported function RFC6145 should have comment or
be unexported
addrmanager.go:1128:1: exported function Tor should have comment or be
unexported
addrmanager.go:1143:1: exported function Local should have comment or be
unexported
addrmanager.go:1228:2: exported const InterfacePrio should have comment
(or a comment on this block) or be unexported
discovery.go:26:2: exported var ErrTorInvalidAddressResponse should have
comment or be unexported
limits/limits_unix.go:19:1: exported function SetLimits should have
comment or be unexported
limits/limits_windows.go:7:1: exported function SetLimits should have
comment or be unexported
util/dropafter/dropafter.go:22:6: exported type ShaHash should have
comment or be unexported
util/dropafter/dropafter.go:38:2: exported const ArgSha should have
comment (or a comment on this block) or be unexported
util/dropafter/dropafter.go:128:5: exported var ErrBadShaPrefix should
have comment or be unexported
util/dropafter/dropafter.go:129:5: exported var ErrBadShaLen should have
comment or be unexported
util/dropafter/dropafter.go:130:5: exported var ErrBadShaChar should
have comment or be unexported
util/showblock/showblock.go:24:6: exported type ShaHash should have
comment or be unexported
util/showblock/showblock.go:46:2: exported const ArgSha should have
comment (or a comment on this block) or be unexported
util/showblock/showblock.go:163:1: exported function DumpBlock should
have comment or be unexported
util/showblock/showblock.go:211:5: exported var ErrBadShaPrefix should
have comment or be unexported
util/showblock/showblock.go:212:5: exported var ErrBadShaLen should have
comment or be unexported
util/showblock/showblock.go:213:5: exported var ErrBadShaChar should
have comment or be unexported
This commit is contained in:
Tomás Senart 2014-07-02 16:25:42 +02:00 committed by Dave Collins
parent 84fa553b65
commit a0f20007c5
10 changed files with 106 additions and 85 deletions

View file

@ -754,7 +754,7 @@ func (a *AddrManager) reset() {
} }
} }
// New returns a new bitcoin address manager. // NewAddrManager returns a new bitcoin address manager.
// Use Start to begin processing asynchronous address updates. // Use Start to begin processing asynchronous address updates.
func NewAddrManager() *AddrManager { func NewAddrManager() *AddrManager {
am := AddrManager{ am := AddrManager{
@ -789,7 +789,7 @@ func hostToNetAddress(host string, port uint16, services btcwire.ServiceFlag) (*
return nil, err return nil, err
} }
if len(ips) == 0 { if len(ips) == 0 {
return nil, fmt.Errorf("No addresses found for %s", host) return nil, fmt.Errorf("no addresses found for %s", host)
} }
ip = ips[0] ip = ips[0]
} }
@ -805,9 +805,8 @@ func ipString(na *btcwire.NetAddress) string {
// We know now that na.IP is long enogh. // We know now that na.IP is long enogh.
base32 := base32.StdEncoding.EncodeToString(na.IP[6:]) base32 := base32.StdEncoding.EncodeToString(na.IP[6:])
return strings.ToLower(base32) + ".onion" return strings.ToLower(base32) + ".onion"
} else {
return na.IP.String()
} }
return na.IP.String()
} }
// NetAddressKey returns a string key in the form of ip:port for IPv4 addresses // NetAddressKey returns a string key in the form of ip:port for IPv4 addresses
@ -1229,7 +1228,7 @@ const (
InterfacePrio addressPrio = iota // address of local interface. InterfacePrio addressPrio = iota // address of local interface.
BoundPrio // Address explicitly bound to. BoundPrio // Address explicitly bound to.
UpnpPrio // External IP discovered from UPnP UpnpPrio // External IP discovered from UPnP
HttpPrio // Obtained from internet service. HTTPPrio // Obtained from internet service.
ManualPrio // provided by --externalip. ManualPrio // provided by --externalip.
) )
@ -1274,54 +1273,76 @@ func getReachabilityFrom(na, fromna *btcwire.NetAddress) int {
Unreachable = 0 Unreachable = 0
Default = iota Default = iota
Teredo Teredo
Ipv6_weak Ipv6Weak
Ipv4 Ipv4
Ipv6_strong Ipv6Strong
Private Private
) )
if !Routable(fromna) { if !Routable(fromna) {
return Unreachable return Unreachable
} else if Tor(fromna) { }
if Tor(fromna) {
if Tor(na) { if Tor(na) {
return Private return Private
} else if Routable(na) && na.IP.To4() != nil {
return Ipv4
} else {
return Default
} }
} else if RFC4380(fromna) {
if Routable(na) && na.IP.To4() != nil {
return Ipv4
}
return Default
}
if RFC4380(fromna) {
if !Routable(na) { if !Routable(na) {
return Default return Default
} else if RFC4380(na) {
return Teredo
} else if na.IP.To4() != nil {
return Ipv4
} else { // ipv6
return Ipv6_weak
} }
} else if fromna.IP.To4() != nil {
if RFC4380(na) {
return Teredo
}
if na.IP.To4() != nil {
return Ipv4
}
return Ipv6Weak
}
if fromna.IP.To4() != nil {
if Routable(na) && na.IP.To4() != nil { if Routable(na) && na.IP.To4() != nil {
return Ipv4 return Ipv4
} }
return Default return Default
} else /* ipv6 */ {
var tunnelled bool
// Is our v6 is tunnelled?
if RFC3964(na) || RFC6052(na) || RFC6145(na) {
tunnelled = true
}
if !Routable(na) {
return Default
} else if RFC4380(na) {
return Teredo
} else if na.IP.To4() != nil {
return Ipv4
} else if tunnelled {
// only prioritise ipv6 if we aren't tunnelling it.
return Ipv6_weak
}
return Ipv6_strong
} }
/* ipv6 */
var tunnelled bool
// Is our v6 is tunnelled?
if RFC3964(na) || RFC6052(na) || RFC6145(na) {
tunnelled = true
}
if !Routable(na) {
return Default
}
if RFC4380(na) {
return Teredo
}
if na.IP.To4() != nil {
return Ipv4
}
if tunnelled {
// only prioritise ipv6 if we aren't tunnelling it.
return Ipv6Weak
}
return Ipv6Strong
} }
// getBestLocalAddress returns the most appropriate local address that we know // getBestLocalAddress returns the most appropriate local address that we know

View file

@ -41,7 +41,7 @@ type ipTest struct {
var naTests = make([]naTest, 0) var naTests = make([]naTest, 0)
var ipTests = make([]ipTest, 0) var ipTests = make([]ipTest, 0)
func addIpTest(ip string, rfc1918, rfc3849, rfc3927, rfc3964, rfc4193, rfc4380, func addIPTest(ip string, rfc1918, rfc3849, rfc3927, rfc3964, rfc4193, rfc4380,
rfc4843, rfc4862, rfc6052, rfc6145, local, valid, routable bool) { rfc4843, rfc4862, rfc6052, rfc6145, local, valid, routable bool) {
nip := net.ParseIP(ip) nip := net.ParseIP(ip)
na := btcwire.NetAddress{ na := btcwire.NetAddress{
@ -55,38 +55,38 @@ func addIpTest(ip string, rfc1918, rfc3849, rfc3927, rfc3964, rfc4193, rfc4380,
ipTests = append(ipTests, test) ipTests = append(ipTests, test)
} }
func addIpTests() { func addIPTests() {
addIpTest("10.255.255.255", true, false, false, false, false, false, addIPTest("10.255.255.255", true, false, false, false, false, false,
false, false, false, false, false, true, false) false, false, false, false, false, true, false)
addIpTest("192.168.0.1", true, false, false, false, false, false, addIPTest("192.168.0.1", true, false, false, false, false, false,
false, false, false, false, false, true, false) false, false, false, false, false, true, false)
addIpTest("172.31.255.1", true, false, false, false, false, false, addIPTest("172.31.255.1", true, false, false, false, false, false,
false, false, false, false, false, true, false) false, false, false, false, false, true, false)
addIpTest("172.32.1.1", false, false, false, false, false, false, addIPTest("172.32.1.1", false, false, false, false, false, false,
false, false, false, false, false, true, true) false, false, false, false, false, true, true)
addIpTest("169.254.250.120", false, false, true, false, false, false, addIPTest("169.254.250.120", false, false, true, false, false, false,
false, false, false, false, false, true, false) false, false, false, false, false, true, false)
addIpTest("0.0.0.0", false, false, false, false, false, false, addIPTest("0.0.0.0", false, false, false, false, false, false,
false, false, false, false, true, false, false) false, false, false, false, true, false, false)
addIpTest("255.255.255.255", false, false, false, false, false, false, addIPTest("255.255.255.255", false, false, false, false, false, false,
false, false, false, false, false, false, false) false, false, false, false, false, false, false)
addIpTest("127.0.0.1", false, false, false, false, false, false, addIPTest("127.0.0.1", false, false, false, false, false, false,
false, false, false, false, true, true, false) false, false, false, false, true, true, false)
addIpTest("fd00:dead::1", false, false, false, false, true, false, addIPTest("fd00:dead::1", false, false, false, false, true, false,
false, false, false, false, false, true, false) false, false, false, false, false, true, false)
addIpTest("2001::1", false, false, false, false, false, true, addIPTest("2001::1", false, false, false, false, false, true,
false, false, false, false, false, true, true) false, false, false, false, false, true, true)
addIpTest("2001:10:abcd::1:1", false, false, false, false, false, false, addIPTest("2001:10:abcd::1:1", false, false, false, false, false, false,
true, false, false, false, false, true, false) true, false, false, false, false, true, false)
addIpTest("fe80::1", false, false, false, false, false, false, addIPTest("fe80::1", false, false, false, false, false, false,
false, true, false, false, false, true, false) false, true, false, false, false, true, false)
addIpTest("fe80:1::1", false, false, false, false, false, false, addIPTest("fe80:1::1", false, false, false, false, false, false,
false, false, false, false, false, true, true) false, false, false, false, false, true, true)
addIpTest("64:ff9b::1", false, false, false, false, false, false, addIPTest("64:ff9b::1", false, false, false, false, false, false,
false, false, true, false, false, true, true) false, false, true, false, false, true, true)
addIpTest("::ffff:abcd:ef12:1", false, false, false, false, false, false, addIPTest("::ffff:abcd:ef12:1", false, false, false, false, false, false,
false, false, false, false, false, true, true) false, false, false, false, false, true, true)
addIpTest("::1", false, false, false, false, false, false, addIPTest("::1", false, false, false, false, false, false,
false, false, false, false, true, true, false) false, false, false, false, true, true, false)
} }
@ -170,8 +170,8 @@ func TestGetAddress(t *testing.T) {
} }
} }
func TestIpTypes(t *testing.T) { func TestIPTypes(t *testing.T) {
addIpTests() addIPTests()
t.Logf("Running %d tests", len(ipTests)) t.Logf("Running %d tests", len(ipTests))
for _, test := range ipTests { for _, test := range ipTests {

View file

@ -56,8 +56,8 @@ func btcdMain(serverChan chan<- *server) error {
} }
// Write cpu profile if requested. // Write cpu profile if requested.
if cfg.CpuProfile != "" { if cfg.CPUProfile != "" {
f, err := os.Create(cfg.CpuProfile) f, err := os.Create(cfg.CPUProfile)
if err != nil { if err != nil {
btcdLog.Errorf("Unable to create cpu profile: %v", err) btcdLog.Errorf("Unable to create cpu profile: %v", err)
return err return err

View file

@ -97,7 +97,7 @@ type config struct {
DisableCheckpoints bool `long:"nocheckpoints" description:"Disable built-in checkpoints. Don't do this unless you know what you're doing."` DisableCheckpoints bool `long:"nocheckpoints" description:"Disable built-in checkpoints. Don't do this unless you know what you're doing."`
DbType string `long:"dbtype" description:"Database backend to use for the Block Chain"` DbType string `long:"dbtype" description:"Database backend to use for the Block Chain"`
Profile string `long:"profile" description:"Enable HTTP profiling on given port -- NOTE port must be between 1024 and 65536"` Profile string `long:"profile" description:"Enable HTTP profiling on given port -- NOTE port must be between 1024 and 65536"`
CpuProfile string `long:"cpuprofile" description:"Write CPU profile to the specified file"` CPUProfile string `long:"cpuprofile" description:"Write CPU profile to the specified file"`
DebugLevel string `short:"d" long:"debuglevel" description:"Logging level for all subsystems {trace, debug, info, warn, error, critical} -- You may also specify <subsystem>=<level>,<subsystem2>=<level>,... to set the log level for individual subsystems -- Use show to list available subsystems"` DebugLevel string `short:"d" long:"debuglevel" description:"Logging level for all subsystems {trace, debug, info, warn, error, critical} -- You may also specify <subsystem>=<level>,<subsystem2>=<level>,... to set the log level for individual subsystems -- Use show to list available subsystems"`
Upnp bool `long:"upnp" description:"Use UPnP to map our listening port outside of NAT"` Upnp bool `long:"upnp" description:"Use UPnP to map our listening port outside of NAT"`
FreeTxRelayLimit float64 `long:"limitfreerelay" description:"Limit relay of transactions with no transaction fee to the given amount in thousands of bytes per minute"` FreeTxRelayLimit float64 `long:"limitfreerelay" description:"Limit relay of transactions with no transaction fee to the given amount in thousands of bytes per minute"`
@ -232,7 +232,7 @@ func validDbType(dbType string) bool {
// removeDuplicateAddresses returns a new slice with all duplicate entries in // removeDuplicateAddresses returns a new slice with all duplicate entries in
// addrs removed. // addrs removed.
func removeDuplicateAddresses(addrs []string) []string { func removeDuplicateAddresses(addrs []string) []string {
result := make([]string, 0) var result []string
seen := map[string]bool{} seen := map[string]bool{}
for _, val := range addrs { for _, val := range addrs {
if _, ok := seen[val]; !ok { if _, ok := seen[val]; !ok {

View file

@ -17,26 +17,26 @@ const (
torNetUnreachable = 0x03 torNetUnreachable = 0x03
torHostUnreachable = 0x04 torHostUnreachable = 0x04
torConnectionRefused = 0x05 torConnectionRefused = 0x05
torTtlExpired = 0x06 torTTLExpired = 0x06
torCmdNotSupported = 0x07 torCmdNotSupported = 0x07
torAddrNotSupported = 0x08 torAddrNotSupported = 0x08
) )
var ( var (
ErrTorInvalidAddressResponse = errors.New("Invalid address response") ErrTorInvalidAddressResponse = errors.New("invalid address response")
ErrTorInvalidProxyResponse = errors.New("Invalid proxy response") ErrTorInvalidProxyResponse = errors.New("invalid proxy response")
ErrTorUnrecognizedAuthMethod = errors.New("Invalid proxy authentication method") ErrTorUnrecognizedAuthMethod = errors.New("invalid proxy authentication method")
torStatusErrors = map[byte]error{ torStatusErrors = map[byte]error{
torSucceeded: errors.New("Tor succeeded"), torSucceeded: errors.New("tor succeeded"),
torGeneralError: errors.New("Tor general error"), torGeneralError: errors.New("tor general error"),
torNotAllowed: errors.New("Tor not allowed"), torNotAllowed: errors.New("tor not allowed"),
torNetUnreachable: errors.New("Tor network is unreachable"), torNetUnreachable: errors.New("tor network is unreachable"),
torHostUnreachable: errors.New("Tor host is unreachable"), torHostUnreachable: errors.New("tor host is unreachable"),
torConnectionRefused: errors.New("Tor connection refused"), torConnectionRefused: errors.New("tor connection refused"),
torTtlExpired: errors.New("Tor ttl expired"), torTTLExpired: errors.New("tor TTL expired"),
torCmdNotSupported: errors.New("Tor command not supported"), torCmdNotSupported: errors.New("tor command not supported"),
torAddrNotSupported: errors.New("Tor address type not supported"), torAddrNotSupported: errors.New("tor address type not supported"),
} }
) )

View file

@ -4,7 +4,7 @@
package limits package limits
// Plan 9 has no process accounting. no-op here // SetLimits is a no-op on Plan 9 due to the lack of process accounting.
func SetLimits() error { func SetLimits() error {
return nil return nil
} }

View file

@ -642,7 +642,7 @@ func handleAddNode(s *rpcServer, cmd btcjson.Cmd, closeChan <-chan struct{}) (in
case "onetry": case "onetry":
err = s.server.AddAddr(addr, false) err = s.server.AddAddr(addr, false)
default: default:
err = errors.New("Invalid subcommand for addnode") err = errors.New("invalid subcommand for addnode")
} }
if err != nil { if err != nil {

View file

@ -1160,7 +1160,7 @@ func newServer(listenAddrs []string, db btcdb.Db, netParams *btcnet.Params) (*se
} }
if len(listeners) == 0 { if len(listeners) == 0 {
return nil, errors.New("No valid listen address") return nil, errors.New("no valid listen address")
} }
} }

View file

@ -39,7 +39,7 @@ type handlerData struct {
// Errors used in the various handlers. // Errors used in the various handlers.
var ( var (
ErrNoDisplayHandler = errors.New("No display handler specified.") ErrNoDisplayHandler = errors.New("no display handler specified")
ErrUsage = errors.New("btcctl usage") // Real usage is shown. ErrUsage = errors.New("btcctl usage") // Real usage is shown.
) )
@ -815,7 +815,7 @@ func makeWalletPassphraseChange(args []interface{}) (btcjson.Cmd, error) {
func send(cfg *config, msg []byte) (interface{}, error) { func send(cfg *config, msg []byte) (interface{}, error) {
var reply btcjson.Reply var reply btcjson.Reply
var err error var err error
if cfg.NoTls || (cfg.RPCCert == "" && !cfg.TlsSkipVerify) { if cfg.NoTLS || (cfg.RPCCert == "" && !cfg.TLSSkipVerify) {
reply, err = btcjson.RpcCommand(cfg.RPCUser, cfg.RPCPassword, reply, err = btcjson.RpcCommand(cfg.RPCUser, cfg.RPCPassword,
cfg.RPCServer, msg) cfg.RPCServer, msg)
} else { } else {
@ -828,7 +828,7 @@ func send(cfg *config, msg []byte) (interface{}, error) {
} }
reply, err = btcjson.TlsRpcCommand(cfg.RPCUser, reply, err = btcjson.TlsRpcCommand(cfg.RPCUser,
cfg.RPCPassword, cfg.RPCServer, msg, pem, cfg.RPCPassword, cfg.RPCServer, msg, pem,
cfg.TlsSkipVerify) cfg.TLSSkipVerify)
} }
if err != nil { if err != nil {
return nil, err return nil, err
@ -847,12 +847,12 @@ func send(cfg *config, msg []byte) (interface{}, error) {
func sendCommand(cfg *config, command btcjson.Cmd) (interface{}, error) { func sendCommand(cfg *config, command btcjson.Cmd) (interface{}, error) {
msg, err := json.Marshal(command) msg, err := json.Marshal(command)
if err != nil { if err != nil {
return nil, fmt.Errorf("CreateMessage: %v", err.Error()) return nil, fmt.Errorf("createMessage: %v", err.Error())
} }
reply, err := send(cfg, msg) reply, err := send(cfg, msg)
if err != nil { if err != nil {
return nil, fmt.Errorf("RpcCommand: %v", err.Error()) return nil, fmt.Errorf("rpcCommand: %v", err.Error())
} }
return reply, nil return reply, nil
@ -878,7 +878,7 @@ func commandHandler(cfg *config, command string, data *handlerData, args []strin
// specified. // specified.
convHandlers := data.conversionHandlers convHandlers := data.conversionHandlers
if convHandlers != nil && len(convHandlers) < len(args) { if convHandlers != nil && len(convHandlers) < len(args) {
return fmt.Errorf("The number of conversion handlers is invalid.") return fmt.Errorf("the number of conversion handlers is invalid")
} }
// Convert input parameters per the conversion handlers. // Convert input parameters per the conversion handlers.

View file

@ -31,10 +31,10 @@ type config struct {
RPCPassword string `short:"P" long:"rpcpass" default-mask:"-" description:"RPC password"` RPCPassword string `short:"P" long:"rpcpass" default-mask:"-" description:"RPC password"`
RPCServer string `short:"s" long:"rpcserver" description:"RPC server to connect to"` RPCServer string `short:"s" long:"rpcserver" description:"RPC server to connect to"`
RPCCert string `short:"c" long:"rpccert" description:"RPC server certificate chain for validation"` RPCCert string `short:"c" long:"rpccert" description:"RPC server certificate chain for validation"`
NoTls bool `long:"notls" description:"Disable TLS"` NoTLS bool `long:"notls" description:"Disable TLS"`
TestNet3 bool `long:"testnet" description:"Connect to testnet"` TestNet3 bool `long:"testnet" description:"Connect to testnet"`
SimNet bool `long:"simnet" description:"Connect to the simulation test network"` SimNet bool `long:"simnet" description:"Connect to the simulation test network"`
TlsSkipVerify bool `long:"skipverify" description:"Do not verify tls certificates (not recommended!)"` TLSSkipVerify bool `long:"skipverify" description:"Do not verify tls certificates (not recommended!)"`
Wallet bool `long:"wallet" description:"Connect to wallet"` Wallet bool `long:"wallet" description:"Connect to wallet"`
} }