mirror of
https://github.com/PeernetOfficial/core.git
synced 2026-07-17 02:47:51 +01:00
Finalize filter for log messages. Close #26
This commit is contained in:
15
Bootstrap.go
15
Bootstrap.go
@@ -15,7 +15,6 @@ package core
|
|||||||
import (
|
import (
|
||||||
"encoding/hex"
|
"encoding/hex"
|
||||||
"errors"
|
"errors"
|
||||||
"log"
|
|
||||||
"net"
|
"net"
|
||||||
"strconv"
|
"strconv"
|
||||||
"time"
|
"time"
|
||||||
@@ -44,12 +43,12 @@ loopSeedList:
|
|||||||
// parse the Public Key
|
// parse the Public Key
|
||||||
publicKeyB, err := hex.DecodeString(seed.PublicKey)
|
publicKeyB, err := hex.DecodeString(seed.PublicKey)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Printf("initSeedList error public key '%s': %v", seed.PublicKey, err.Error())
|
Filters.LogError("initSeedList", "public key '%s': %v", seed.PublicKey, err.Error())
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
if peer.publicKey, err = btcec.ParsePubKey(publicKeyB, btcec.S256()); err != nil {
|
if peer.publicKey, err = btcec.ParsePubKey(publicKeyB, btcec.S256()); err != nil {
|
||||||
log.Printf("initSeedList error public key '%s': %v", seed.PublicKey, err.Error())
|
Filters.LogError("initSeedList", "public key '%s': %v", seed.PublicKey, err.Error())
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -61,7 +60,7 @@ loopSeedList:
|
|||||||
for _, addressA := range seed.Address {
|
for _, addressA := range seed.Address {
|
||||||
address, err := parseAddress(addressA)
|
address, err := parseAddress(addressA)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Printf("initSeedList error public key '%s' address '%s': %v", seed.PublicKey, addressA, err.Error())
|
Filters.LogError("initSeedList", "public key '%s' address '%s': %v", seed.PublicKey, addressA, err.Error())
|
||||||
continue loopSeedList
|
continue loopSeedList
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -105,7 +104,7 @@ func (peer *rootPeer) contact() {
|
|||||||
// bootstrap connects to the initial set of peers.
|
// bootstrap connects to the initial set of peers.
|
||||||
func bootstrap() {
|
func bootstrap() {
|
||||||
if len(rootPeers) == 0 {
|
if len(rootPeers) == 0 {
|
||||||
log.Printf("bootstrap warning: Empty list of root peers. Connectivity relies on local peer discovery and incoming connections.\n")
|
Filters.LogError("bootstrap", "warning: Empty list of root peers. Connectivity relies on local peer discovery and incoming connections.\n")
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -153,7 +152,7 @@ func bootstrap() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
log.Printf("bootstrap unable to connect to at least 2 root peers, aborting\n")
|
Filters.LogError("bootstrap", "unable to connect to at least 2 root peers, aborting\n")
|
||||||
}
|
}
|
||||||
|
|
||||||
func autoMulticastBroadcast() {
|
func autoMulticastBroadcast() {
|
||||||
@@ -163,13 +162,13 @@ func autoMulticastBroadcast() {
|
|||||||
|
|
||||||
for _, network := range networks6 {
|
for _, network := range networks6 {
|
||||||
if err := network.MulticastIPv6Send(); err != nil {
|
if err := network.MulticastIPv6Send(); err != nil {
|
||||||
log.Printf("bootstrap error multicast from network address '%s': %v", network.address.IP.String(), err.Error())
|
Filters.LogError("autoMulticastBroadcast", "multicast from network address '%s': %v", network.address.IP.String(), err.Error())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, network := range networks4 {
|
for _, network := range networks4 {
|
||||||
if err := network.BroadcastIPv4Send(); err != nil {
|
if err := network.BroadcastIPv4Send(); err != nil {
|
||||||
log.Printf("bootstrap error broadcast from network address '%s': %v", network.address.IP.String(), err.Error())
|
Filters.LogError("autoMulticastBroadcast", "broadcast from network address '%s': %v", network.address.IP.String(), err.Error())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,7 +9,6 @@ package core
|
|||||||
import (
|
import (
|
||||||
"bytes"
|
"bytes"
|
||||||
"fmt"
|
"fmt"
|
||||||
"log"
|
|
||||||
|
|
||||||
"github.com/PeernetOfficial/core/dht"
|
"github.com/PeernetOfficial/core/dht"
|
||||||
)
|
)
|
||||||
@@ -132,7 +131,7 @@ func (peer *PeerInfo) cmdResponse(msg *MessageResponse) {
|
|||||||
if msg.sequence == nil || msg.sequence.data == nil {
|
if msg.sequence == nil || msg.sequence.data == nil {
|
||||||
// If there is no sequence data but there were results returned, it means we received unsolicited response data. It will be rejected.
|
// If there is no sequence data but there were results returned, it means we received unsolicited response data. It will be rejected.
|
||||||
if len(msg.HashesNotFound) > 0 || len(msg.Hash2Peers) > 0 || len(msg.FilesEmbed) > 0 {
|
if len(msg.HashesNotFound) > 0 || len(msg.Hash2Peers) > 0 || len(msg.FilesEmbed) > 0 {
|
||||||
log.Printf("cmdResponse unsolicited response data received from %s\n", msg.connection.Address.String())
|
Filters.LogError("cmdResponse", "unsolicited response data received from %s\n", msg.connection.Address.String())
|
||||||
}
|
}
|
||||||
|
|
||||||
return
|
return
|
||||||
@@ -143,7 +142,7 @@ func (peer *PeerInfo) cmdResponse(msg *MessageResponse) {
|
|||||||
for _, hash2Peer := range msg.Hash2Peers {
|
for _, hash2Peer := range msg.Hash2Peers {
|
||||||
// Make sure no garbage is returned. The key must be self and only Closest is expected.
|
// Make sure no garbage is returned. The key must be self and only Closest is expected.
|
||||||
if !bytes.Equal(hash2Peer.ID.Hash, nodeID) || len(hash2Peer.Closest) == 0 {
|
if !bytes.Equal(hash2Peer.ID.Hash, nodeID) || len(hash2Peer.Closest) == 0 {
|
||||||
log.Printf("Incoming response to bootstrap FIND_SELF contains invalid data from %s\n", msg.connection.Address.String())
|
Filters.LogError("cmdResponse", "incoming response to bootstrap FIND_SELF contains invalid data from %s\n", msg.connection.Address.String())
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -207,7 +206,7 @@ func (peer *PeerInfo) cmdLocalDiscovery(msg *MessageAnnouncement) {
|
|||||||
// only accept local discovery message from private IPs for IPv4
|
// only accept local discovery message from private IPs for IPv4
|
||||||
// IPv6 DHCP routers typically assign public IPv6s and they can join multicast in the local network.
|
// IPv6 DHCP routers typically assign public IPv6s and they can join multicast in the local network.
|
||||||
//if msg.connection.IsIPv4() && !msg.connection.IsLocal() {
|
//if msg.connection.IsIPv4() && !msg.connection.IsLocal() {
|
||||||
// log.Printf("cmdLocalDiscovery message received from non-local IP %s peer ID %s\n", msg.connection.Address.String(), hex.EncodeToString(msg.SenderPublicKey.SerializeCompressed()))
|
// Filters.LogError("cmdLocalDiscovery", "message received from non-local IP %s peer ID %s\n", msg.connection.Address.String(), hex.EncodeToString(msg.SenderPublicKey.SerializeCompressed()))
|
||||||
// return
|
// return
|
||||||
//}
|
//}
|
||||||
|
|
||||||
|
|||||||
@@ -105,13 +105,13 @@ func LoadConfigOut(Filename string, ConfigOut interface{}) (status int, err erro
|
|||||||
func saveConfig() {
|
func saveConfig() {
|
||||||
data, err := yaml.Marshal(config)
|
data, err := yaml.Marshal(config)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Printf("saveConfig Error marshalling config: %v\n", err.Error())
|
Filters.LogError("saveConfig", "marshalling config: %v\n", err.Error())
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
err = ioutil.WriteFile(configFile, data, 0644)
|
err = ioutil.WriteFile(configFile, data, 0644)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Printf("saveConfig Error writing config '%s': %v\n", configFile, err.Error())
|
Filters.LogError("saveConfig", "writing config '%s': %v\n", configFile, err.Error())
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,7 +7,6 @@ Author: Peter Kleissner
|
|||||||
package core
|
package core
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"log"
|
|
||||||
"net"
|
"net"
|
||||||
"strings"
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
@@ -105,7 +104,7 @@ func networkChangeMonitor() {
|
|||||||
|
|
||||||
interfaceList, err := net.Interfaces()
|
interfaceList, err := net.Interfaces()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Printf("networkChangeMonitor enumerating network adapters failed: %s\n", err.Error())
|
Filters.LogError("networkChangeMonitor", "enumerating network adapters failed: %s\n", err.Error())
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -114,7 +113,7 @@ func networkChangeMonitor() {
|
|||||||
for _, iface := range interfaceList {
|
for _, iface := range interfaceList {
|
||||||
addressesNew, err := iface.Addrs()
|
addressesNew, err := iface.Addrs()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Printf("initNetwork error enumerating IPs for network adapter '%s': %s\n", iface.Name, err.Error())
|
Filters.LogError("networkChangeMonitor", "enumerating IPs for network adapter '%s': %s\n", iface.Name, err.Error())
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
ifacesNew[iface.Name] = addressesNew
|
ifacesNew[iface.Name] = addressesNew
|
||||||
@@ -169,7 +168,7 @@ func networkChangeMonitor() {
|
|||||||
|
|
||||||
// networkChangeInterfaceNew is called when a new interface is detected
|
// networkChangeInterfaceNew is called when a new interface is detected
|
||||||
func networkChangeInterfaceNew(iface net.Interface, addresses []net.Addr) {
|
func networkChangeInterfaceNew(iface net.Interface, addresses []net.Addr) {
|
||||||
log.Printf("networkChangeInterfaceNew new interface '%s' (%d IPs)\n", iface.Name, len(addresses))
|
Filters.LogError("networkChangeInterfaceNew", "new interface '%s' (%d IPs)\n", iface.Name, len(addresses))
|
||||||
|
|
||||||
networks := networkStart(iface, addresses)
|
networks := networkStart(iface, addresses)
|
||||||
|
|
||||||
@@ -185,7 +184,7 @@ func networkChangeInterfaceRemove(iface string, addresses []net.Addr) {
|
|||||||
networksMutex.RLock()
|
networksMutex.RLock()
|
||||||
defer networksMutex.RUnlock()
|
defer networksMutex.RUnlock()
|
||||||
|
|
||||||
log.Printf("networkChangeInterfaceRemove removing interface '%s' (%d IPs)\n", iface, len(addresses))
|
Filters.LogError("networkChangeInterfaceRemove", "removing interface '%s' (%d IPs)\n", iface, len(addresses))
|
||||||
|
|
||||||
for n, network := range networks6 {
|
for n, network := range networks6 {
|
||||||
if network.iface != nil && network.iface.Name == iface {
|
if network.iface != nil && network.iface.Name == iface {
|
||||||
@@ -216,7 +215,7 @@ func networkChangeInterfaceRemove(iface string, addresses []net.Addr) {
|
|||||||
|
|
||||||
// networkChangeIPNew is called when an existing interface lists a new IP
|
// networkChangeIPNew is called when an existing interface lists a new IP
|
||||||
func networkChangeIPNew(iface net.Interface, address net.Addr) {
|
func networkChangeIPNew(iface net.Interface, address net.Addr) {
|
||||||
log.Printf("networkChangeIPNew new interface '%s' IP %s\n", iface.Name, address.String())
|
Filters.LogError("networkChangeIPNew", "new interface '%s' IP %s\n", iface.Name, address.String())
|
||||||
|
|
||||||
networks := networkStart(iface, []net.Addr{address})
|
networks := networkStart(iface, []net.Addr{address})
|
||||||
|
|
||||||
@@ -232,7 +231,7 @@ func networkChangeIPRemove(iface net.Interface, address net.Addr) {
|
|||||||
networksMutex.RLock()
|
networksMutex.RLock()
|
||||||
defer networksMutex.RUnlock()
|
defer networksMutex.RUnlock()
|
||||||
|
|
||||||
log.Printf("networkChangeIPRemove remove interface '%s' IP %s\n", iface.Name, address.String())
|
Filters.LogError("networkChangeIPRemove", "remove interface '%s' IP %s\n", iface.Name, address.String())
|
||||||
|
|
||||||
for n, network := range networks6 {
|
for n, network := range networks6 {
|
||||||
if network.address.IP.Equal(address.(*net.IPNet).IP) {
|
if network.address.IP.Equal(address.(*net.IPNet).IP) {
|
||||||
|
|||||||
@@ -10,7 +10,6 @@ package core
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"encoding/hex"
|
"encoding/hex"
|
||||||
"log"
|
|
||||||
"net"
|
"net"
|
||||||
"strconv"
|
"strconv"
|
||||||
"time"
|
"time"
|
||||||
@@ -62,8 +61,8 @@ func (network *Network) BroadcastIPv4Listen() {
|
|||||||
length, sender, err := network.broadcastSocket.ReadFrom(buffer)
|
length, sender, err := network.broadcastSocket.ReadFrom(buffer)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Printf("Listen Error receiving UDP message: %v\n", err) // Only log for debug purposes.
|
Filters.LogError("BroadcastIPv4Listen", "receiving UDP message: %v\n", err) // Only log for debug purposes.
|
||||||
time.Sleep(time.Millisecond * 50) // In case of endless errors, prevent ddos of CPU.
|
time.Sleep(time.Millisecond * 50) // In case of endless errors, prevent ddos of CPU.
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -104,7 +103,7 @@ func (network *Network) BroadcastIPv4Send() (err error) {
|
|||||||
for _, ip := range network.broadcastIPv4 {
|
for _, ip := range network.broadcastIPv4 {
|
||||||
err = network.send(ip, ipv4BroadcastPort, raw)
|
err = network.send(ip, ipv4BroadcastPort, raw)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Printf("Error sending UDP packet: %v\n", err)
|
Filters.LogError("BroadcastIPv4Send", "sending UDP packet: %v\n", err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -18,7 +18,6 @@ package core
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"encoding/hex"
|
"encoding/hex"
|
||||||
"log"
|
|
||||||
"net"
|
"net"
|
||||||
"strconv"
|
"strconv"
|
||||||
"time"
|
"time"
|
||||||
@@ -68,7 +67,7 @@ func (network *Network) MulticastIPv6Join() (err error) {
|
|||||||
if loop, err := pc.MulticastLoopback(); err == nil {
|
if loop, err := pc.MulticastLoopback(); err == nil {
|
||||||
if !loop {
|
if !loop {
|
||||||
if err := pc.SetMulticastLoopback(true); err != nil {
|
if err := pc.SetMulticastLoopback(true); err != nil {
|
||||||
log.Printf("MulticastJoin Error setting multicast loopback status: %v\n", err)
|
Filters.LogError("MulticastIPv6Join", "setting multicast loopback status: %v\n", err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -107,8 +106,8 @@ func (network *Network) MulticastIPv6Listen() {
|
|||||||
length, sender, err := network.multicastSocket.ReadFrom(buffer)
|
length, sender, err := network.multicastSocket.ReadFrom(buffer)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Printf("Listen Error receiving UDP message: %v\n", err) // Only log for debug purposes.
|
Filters.LogError("MulticastIPv6Listen", "receiving UDP message: %v\n", err) // Only log for debug purposes.
|
||||||
time.Sleep(time.Millisecond * 50) // In case of endless errors, prevent ddos of CPU.
|
time.Sleep(time.Millisecond * 50) // In case of endless errors, prevent ddos of CPU.
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -11,7 +11,6 @@ package core
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"errors"
|
"errors"
|
||||||
"log"
|
|
||||||
"math/rand"
|
"math/rand"
|
||||||
"net"
|
"net"
|
||||||
"strconv"
|
"strconv"
|
||||||
@@ -60,14 +59,14 @@ func initNetwork() {
|
|||||||
host = listenA
|
host = listenA
|
||||||
portA = "0"
|
portA = "0"
|
||||||
} else if err != nil {
|
} else if err != nil {
|
||||||
log.Printf("initNetwork Error invalid input listen address '%s': %s\n", listenA, err.Error())
|
Filters.LogError("initNetwork", "invalid input listen address '%s': %s\n", listenA, err.Error())
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
portI, _ := strconv.Atoi(portA)
|
portI, _ := strconv.Atoi(portA)
|
||||||
|
|
||||||
if _, err := networkPrepareListen(host, portI); err != nil {
|
if _, err := networkPrepareListen(host, portI); err != nil {
|
||||||
log.Printf("initNetwork Error listen on '%s': %s\n", listenA, err.Error())
|
Filters.LogError("initNetwork", "listen on '%s': %s\n", listenA, err.Error())
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -77,10 +76,10 @@ func initNetwork() {
|
|||||||
|
|
||||||
// Listen on all IPv4 and IPv6 addresses
|
// Listen on all IPv4 and IPv6 addresses
|
||||||
//if _, err := networkPrepareListen("0.0.0.0", 0); err != nil {
|
//if _, err := networkPrepareListen("0.0.0.0", 0); err != nil {
|
||||||
// log.Printf("initNetwork Error listen on all IPv4 addresses (0.0.0.0): %s\n", err.Error())
|
// Filters.LogError("initNetwork", "listen on all IPv4 addresses (0.0.0.0): %s\n", err.Error())
|
||||||
//}
|
//}
|
||||||
//if _, err := networkPrepareListen("::", 0); err != nil {
|
//if _, err := networkPrepareListen("::", 0); err != nil {
|
||||||
// log.Printf("initNetwork Error listen on all IPv6 addresses (::): %s\n", err.Error())
|
// Filters.LogError("initNetwork", "listen on all IPv6 addresses (::): %s\n", err.Error())
|
||||||
//}
|
//}
|
||||||
|
|
||||||
// Listen on each network adapter on each IP. This guarantees the highest deliverability, even though it brings on additional challenges such as:
|
// Listen on each network adapter on each IP. This guarantees the highest deliverability, even though it brings on additional challenges such as:
|
||||||
@@ -89,14 +88,14 @@ func initNetwork() {
|
|||||||
// * Network adapters and IPs might change. Simplest case is if someone changes Wifi network.
|
// * Network adapters and IPs might change. Simplest case is if someone changes Wifi network.
|
||||||
interfaceList, err := net.Interfaces()
|
interfaceList, err := net.Interfaces()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Printf("initNetwork enumerating network adapters failed: %s\n", err.Error())
|
Filters.LogError("initNetwork", "enumerating network adapters failed: %s\n", err.Error())
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, iface := range interfaceList {
|
for _, iface := range interfaceList {
|
||||||
addresses, err := iface.Addrs()
|
addresses, err := iface.Addrs()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Printf("initNetwork error enumerating IPs for network adapter '%s': %s\n", iface.Name, err.Error())
|
Filters.LogError("initNetwork", "enumerating IPs for network adapter '%s': %s\n", iface.Name, err.Error())
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -126,13 +125,13 @@ func networkStart(iface net.Interface, addresses []net.Addr) (networks []*Networ
|
|||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
log.Printf("initNetwork error listening on network adapter '%s' IPv4 '%s': %s\n", iface.Name, net1.IP.String(), err.Error())
|
Filters.LogError("networkStart", "listening on network adapter '%s' IPv4 '%s': %s\n", iface.Name, net1.IP.String(), err.Error())
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
addListenAddress(netw.address)
|
addListenAddress(netw.address)
|
||||||
|
|
||||||
log.Printf("Listen on network '%s' UDP %s\n", iface.Name, netw.address.String())
|
Filters.LogError("networkStart", "listen on network '%s' UDP %s\n", iface.Name, netw.address.String())
|
||||||
|
|
||||||
networks = append(networks, netw)
|
networks = append(networks, netw)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,7 +9,6 @@ Currently only supports IPv4 networks.
|
|||||||
package core
|
package core
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"log"
|
|
||||||
"math/rand"
|
"math/rand"
|
||||||
"net"
|
"net"
|
||||||
"sync"
|
"sync"
|
||||||
@@ -148,7 +147,7 @@ monitorLoop:
|
|||||||
}
|
}
|
||||||
|
|
||||||
// invalid :(
|
// invalid :(
|
||||||
log.Printf("upnpAuto port forwarding invalidated for local IP %s (adapter %s) external IP %s port %d", network.address.String(), network.iface.Name, network.ipExternal.String(), network.portExternal)
|
Filters.LogError("upnpMonitorPortForward", "port forwarding invalidated for local IP %s (adapter %s) external IP %s port %d", network.address.String(), network.iface.Name, network.ipExternal.String(), network.portExternal)
|
||||||
|
|
||||||
network.portExternal = 0
|
network.portExternal = 0
|
||||||
network.ipExternal = net.IP{}
|
network.ipExternal = net.IP{}
|
||||||
|
|||||||
11
Network.go
11
Network.go
@@ -8,7 +8,6 @@ package core
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"errors"
|
"errors"
|
||||||
"log"
|
|
||||||
"net"
|
"net"
|
||||||
"sync"
|
"sync"
|
||||||
"sync/atomic"
|
"sync/atomic"
|
||||||
@@ -127,8 +126,8 @@ func (network *Network) Listen() {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
log.Printf("Listen Error receiving UDP message: %v\n", err) // Only log for debug purposes.
|
Filters.LogError("Listen", "receiving UDP message: %v\n", err) // Only log for debug purposes.
|
||||||
time.Sleep(time.Millisecond * 50) // In case of endless errors, prevent ddos of CPU.
|
time.Sleep(time.Millisecond * 50) // In case of endless errors, prevent ddos of CPU.
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -147,7 +146,7 @@ func packetWorker(packets <-chan networkWire) {
|
|||||||
for packet := range packets {
|
for packet := range packets {
|
||||||
decoded, senderPublicKey, err := PacketDecrypt(packet.raw, packet.receiverPublicKey)
|
decoded, senderPublicKey, err := PacketDecrypt(packet.raw, packet.receiverPublicKey)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
//log.Printf("packetWorker Error decrypting packet from '%s': %s\n", packet.sender.String(), err.Error())
|
//Filters.LogError("packetWorker", "decrypting packet from '%s': %s\n", packet.sender.String(), err.Error()) // Only log for debug purposes.
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -195,7 +194,7 @@ func packetWorker(packets <-chan networkWire) {
|
|||||||
if response, _ := msgDecodeResponse(raw); response != nil {
|
if response, _ := msgDecodeResponse(raw); response != nil {
|
||||||
// Validate sequence number which prevents unsolicited responses.
|
// Validate sequence number which prevents unsolicited responses.
|
||||||
if valid, rtt := msgValidateSequence(raw, response.Actions&(1<<ActionSequenceLast) > 0); !valid {
|
if valid, rtt := msgValidateSequence(raw, response.Actions&(1<<ActionSequenceLast) > 0); !valid {
|
||||||
log.Printf("packetWorker message with invalid sequence %d command %d from %s\n", raw.Sequence, raw.Command, raw.connection.Address.String()) // Only log for debug purposes.
|
//Filters.LogError("packetWorker", "message with invalid sequence %d command %d from %s\n", raw.Sequence, raw.Command, raw.connection.Address.String()) // Only log for debug purposes.
|
||||||
continue
|
continue
|
||||||
} else if rtt > 0 {
|
} else if rtt > 0 {
|
||||||
connection.RoundTripTime = rtt
|
connection.RoundTripTime = rtt
|
||||||
@@ -232,7 +231,7 @@ func packetWorker(packets <-chan networkWire) {
|
|||||||
case CommandPong: // Ping
|
case CommandPong: // Ping
|
||||||
// Validate sequence number which prevents unsolicited responses.
|
// Validate sequence number which prevents unsolicited responses.
|
||||||
if valid, rtt := msgValidateSequence(raw, true); !valid {
|
if valid, rtt := msgValidateSequence(raw, true); !valid {
|
||||||
log.Printf("packetWorker message with invalid sequence %d command %d from %s\n", raw.Sequence, raw.Command, raw.connection.Address.String()) // Only log for debug purposes.
|
//Filters.LogError("packetWorker", "message with invalid sequence %d command %d from %s\n", raw.Sequence, raw.Command, raw.connection.Address.String()) // Only log for debug purposes.
|
||||||
continue
|
continue
|
||||||
} else if rtt > 0 {
|
} else if rtt > 0 {
|
||||||
connection.RoundTripTime = rtt
|
connection.RoundTripTime = rtt
|
||||||
|
|||||||
@@ -8,7 +8,6 @@ package core
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"encoding/hex"
|
"encoding/hex"
|
||||||
"log"
|
|
||||||
"math/rand"
|
"math/rand"
|
||||||
"net"
|
"net"
|
||||||
"os"
|
"os"
|
||||||
@@ -40,7 +39,7 @@ func initPeerID() {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
log.Printf("Private key in config is corrupted! Error: %s\n", err.Error())
|
Filters.LogError("initPeerID", "private key in config is corrupted! Error: %s\n", err.Error())
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -48,7 +47,7 @@ func initPeerID() {
|
|||||||
var err error
|
var err error
|
||||||
peerPrivateKey, peerPublicKey, err = Secp256k1NewPrivateKey()
|
peerPrivateKey, peerPublicKey, err = Secp256k1NewPrivateKey()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Printf("Error generating public-private key pairs: %s\n", err.Error())
|
Filters.LogError("initPeerID", "generating public-private key pairs: %s\n", err.Error())
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
nodeID = publicKey2NodeID(peerPublicKey)
|
nodeID = publicKey2NodeID(peerPublicKey)
|
||||||
|
|||||||
Reference in New Issue
Block a user