add error checks

This commit is contained in:
milgradesec 2019-12-09 12:11:24 +01:00 committed by Frank Denis
parent 51a842b838
commit 8efbf401c8
3 changed files with 23 additions and 9 deletions

View File

@ -253,7 +253,9 @@ func ConfigLoad(proxy *Proxy, flags *ConfigFlags) error {
if len(undecoded) > 0 {
return fmt.Errorf("Unsupported key in configuration file: [%s]", undecoded[0])
}
cdFileDir(foundConfigFile)
if err := cdFileDir(foundConfigFile); err != nil {
return err
}
if config.LogLevel >= 0 && config.LogLevel < int(dlog.SeverityLast) {
dlog.SetLogLevel(dlog.Severity(config.LogLevel))
}
@ -698,8 +700,8 @@ func includesName(names []string, name string) bool {
return false
}
func cdFileDir(fileName string) {
os.Chdir(filepath.Dir(fileName))
func cdFileDir(fileName string) error {
return os.Chdir(filepath.Dir(fileName))
}
func cdLocal() {

View File

@ -76,7 +76,9 @@ func (plugin *PluginNxLog) Eval(pluginsState *PluginsState, msg *dns.Msg) error
if plugin.logger == nil {
return errors.New("Log file not initialized")
}
plugin.logger.Write([]byte(line))
if _, err := plugin.logger.Write([]byte(line)); err != nil {
return err
}
return nil
}

View File

@ -298,7 +298,9 @@ func (proxy *Proxy) tcpListener(acceptPc *net.TCPListener) {
return
}
defer proxy.clientsCountDec()
clientPc.SetDeadline(time.Now().Add(proxy.timeout))
if err = clientPc.SetDeadline(time.Now().Add(proxy.timeout)); err != nil {
return
}
packet, err := ReadPrefixed(&clientPc)
if err != nil {
return
@ -349,11 +351,15 @@ func (proxy *Proxy) exchangeWithUDPServer(serverInfo *ServerInfo, sharedKey *[32
return nil, err
}
defer pc.Close()
pc.SetDeadline(time.Now().Add(serverInfo.Timeout))
if err = pc.SetDeadline(time.Now().Add(serverInfo.Timeout)); err != nil {
return nil, err
}
if serverInfo.RelayUDPAddr != nil {
proxy.prepareForRelay(serverInfo.UDPAddr.IP, serverInfo.UDPAddr.Port, &encryptedQuery)
}
pc.Write(encryptedQuery)
if _, err = pc.Write(encryptedQuery); err != nil {
return nil, err
}
encryptedResponse := make([]byte, MaxDNSPacketSize)
length, err := pc.Read(encryptedResponse)
if err != nil {
@ -380,7 +386,9 @@ func (proxy *Proxy) exchangeWithTCPServer(serverInfo *ServerInfo, sharedKey *[32
return nil, err
}
defer pc.Close()
pc.SetDeadline(time.Now().Add(serverInfo.Timeout))
if err = pc.SetDeadline(time.Now().Add(serverInfo.Timeout)); err != nil {
return nil, err
}
if serverInfo.RelayTCPAddr != nil {
proxy.prepareForRelay(serverInfo.TCPAddr.IP, serverInfo.TCPAddr.Port, &encryptedQuery)
}
@ -388,7 +396,9 @@ func (proxy *Proxy) exchangeWithTCPServer(serverInfo *ServerInfo, sharedKey *[32
if err != nil {
return nil, err
}
pc.Write(encryptedQuery)
if _, err = pc.Write(encryptedQuery); err != nil {
return nil, err
}
encryptedResponse, err := ReadPrefixed(&pc)
if err != nil {
return nil, err