master
brl 9 years ago
parent 46d170a38b
commit f23045350f

@ -49,7 +49,7 @@ func NewDefaultConfig() *Config {
func LoadConfig(cpath string) (*Config, error) { func LoadConfig(cpath string) (*Config, error) {
if _, err := os.Stat(cpath); os.IsNotExist(err) { if _, err := os.Stat(cpath); os.IsNotExist(err) {
return nil,err return nil, err
} }
if err := checkConfigPermissions(cpath); err != nil { if err := checkConfigPermissions(cpath); err != nil {
return nil, err return nil, err
@ -84,7 +84,7 @@ func checkPathRootPermissions(fpath string) error {
if (fstat.Mode().Perm() & syscall.S_IWOTH) != 0 { if (fstat.Mode().Perm() & syscall.S_IWOTH) != 0 {
return fmt.Errorf("writable by everyone!", fpath) return fmt.Errorf("writable by everyone!", fpath)
} }
if (fstat.Mode().Perm() & syscall.S_IWGRP) != 0 && fstat.Sys().(*syscall.Stat_t).Gid != 0 { if (fstat.Mode().Perm()&syscall.S_IWGRP) != 0 && fstat.Sys().(*syscall.Stat_t).Gid != 0 {
return fmt.Errorf("writable by someone else than root!", err) return fmt.Errorf("writable by someone else than root!", err)
} }
return nil return nil

@ -20,7 +20,7 @@ const (
type NetType string type NetType string
const( const (
TYPE_HOST NetType = "host" TYPE_HOST NetType = "host"
TYPE_EMPTY NetType = "empty" TYPE_EMPTY NetType = "empty"
TYPE_BRIDGE NetType = "bridge" TYPE_BRIDGE NetType = "bridge"

@ -1,6 +1,6 @@
package network package network
import( import (
//Builtin //Builtin
"fmt" "fmt"
"io" "io"
@ -16,14 +16,14 @@ import(
type ProxyType string type ProxyType string
const( const (
PROXY_CLIENT ProxyType = "client" PROXY_CLIENT ProxyType = "client"
PROXY_SERVER ProxyType = "server" PROXY_SERVER ProxyType = "server"
) )
type ProtoType string type ProtoType string
const( const (
PROTO_TCP ProtoType = "tcp" PROTO_TCP ProtoType = "tcp"
PROTO_UDP ProtoType = "udp" PROTO_UDP ProtoType = "udp"
PROTO_SOCKET ProtoType = "socket" PROTO_SOCKET ProtoType = "socket"
@ -146,7 +146,7 @@ func nsSocketListener(fd uintptr, proto ProtoType, lAddr string) (net.Listener,
/** /**
* Connect/Server * Connect/Server
**/ **/
func proxyServerConn(pid int, conn *net.Conn, proto ProtoType, rAddr string, log *logging.Logger, ready sync.WaitGroup) (error) { func proxyServerConn(pid int, conn *net.Conn, proto ProtoType, rAddr string, log *logging.Logger, ready sync.WaitGroup) error {
rConn, err := socketConnect(pid, proto, rAddr) rConn, err := socketConnect(pid, proto, rAddr)
if err != nil { if err != nil {
log.Error("Socket: %+v.", err) log.Error("Socket: %+v.", err)
@ -159,7 +159,7 @@ func proxyServerConn(pid int, conn *net.Conn, proto ProtoType, rAddr string, log
return nil return nil
} }
func newProxyServer(pid int, proto ProtoType, dest string, port int, log *logging.Logger, ready sync.WaitGroup) (error) { func newProxyServer(pid int, proto ProtoType, dest string, port int, log *logging.Logger, ready sync.WaitGroup) error {
if dest == "" { if dest == "" {
dest = "127.0.0.1" dest = "127.0.0.1"
} }

@ -1,8 +1,6 @@
package ns package ns
import ( import ()
)
const ( const (
SYS_SETNS = 308 SYS_SETNS = 308

@ -1,11 +1,11 @@
package ns package ns
import( import (
"syscall"
"errors" "errors"
"os" "os"
"path" "path"
"strconv" "strconv"
"syscall"
) )
type Namespace struct { type Namespace struct {
@ -37,7 +37,7 @@ func init() {
} }
} }
func Set(fd, nsType uintptr) (error) { func Set(fd, nsType uintptr) error {
_, _, err := syscall.Syscall(SYS_SETNS, uintptr(fd), uintptr(nsType), 0) _, _, err := syscall.Syscall(SYS_SETNS, uintptr(fd), uintptr(nsType), 0)
if err != 0 { if err != 0 {
return errors.New("Unable to set namespace") return errors.New("Unable to set namespace")
@ -81,6 +81,6 @@ func Open(nsPath string) (uintptr, error) {
return fd.Fd(), nil return fd.Fd(), nil
} }
func Close(fd uintptr) (error) { func Close(fd uintptr) error {
return syscall.Close(int(fd)) return syscall.Close(int(fd))
} }

Loading…
Cancel
Save