mirror of
				https://github.com/yggdrasil-network/yggdrasil-go.git
				synced 2025-11-04 03:05:07 +03:00 
			
		
		
		
	Merge pull request #238 from neilalexander/afunix
Use AF_UNIX socket by default for admin API
This commit is contained in:
		
						commit
						6901e2fc9a
					
				
					 11 changed files with 117 additions and 17 deletions
				
			
		| 
						 | 
				
			
			@ -7,6 +7,9 @@ type platformDefaultParameters struct {
 | 
			
		|||
	// Admin socket
 | 
			
		||||
	DefaultAdminListen string
 | 
			
		||||
 | 
			
		||||
	// Configuration (used for yggdrasilctl)
 | 
			
		||||
	DefaultConfigFile string
 | 
			
		||||
 | 
			
		||||
	// TUN/TAP
 | 
			
		||||
	MaximumIfMTU     int
 | 
			
		||||
	DefaultIfMTU     int
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -7,7 +7,10 @@ package defaults
 | 
			
		|||
func GetDefaults() platformDefaultParameters {
 | 
			
		||||
	return platformDefaultParameters{
 | 
			
		||||
		// Admin
 | 
			
		||||
		DefaultAdminListen: "tcp://localhost:9001",
 | 
			
		||||
		DefaultAdminListen: "unix:///var/run/yggdrasil.sock",
 | 
			
		||||
 | 
			
		||||
		// Configuration (used for yggdrasilctl)
 | 
			
		||||
		DefaultConfigFile: "/etc/yggdrasil.conf",
 | 
			
		||||
 | 
			
		||||
		// TUN/TAP
 | 
			
		||||
		MaximumIfMTU:     65535,
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -7,7 +7,10 @@ package defaults
 | 
			
		|||
func GetDefaults() platformDefaultParameters {
 | 
			
		||||
	return platformDefaultParameters{
 | 
			
		||||
		// Admin
 | 
			
		||||
		DefaultAdminListen: "tcp://localhost:9001",
 | 
			
		||||
		DefaultAdminListen: "unix:///var/run/yggdrasil.sock",
 | 
			
		||||
 | 
			
		||||
		// Configuration (used for yggdrasilctl)
 | 
			
		||||
		DefaultConfigFile: "/etc/yggdrasil.conf",
 | 
			
		||||
 | 
			
		||||
		// TUN/TAP
 | 
			
		||||
		MaximumIfMTU:     32767,
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -7,7 +7,10 @@ package defaults
 | 
			
		|||
func GetDefaults() platformDefaultParameters {
 | 
			
		||||
	return platformDefaultParameters{
 | 
			
		||||
		// Admin
 | 
			
		||||
		DefaultAdminListen: "tcp://localhost:9001",
 | 
			
		||||
		DefaultAdminListen: "unix:///var/run/yggdrasil.sock",
 | 
			
		||||
 | 
			
		||||
		// Configuration (used for yggdrasilctl)
 | 
			
		||||
		DefaultConfigFile: "/etc/yggdrasil.conf",
 | 
			
		||||
 | 
			
		||||
		// TUN/TAP
 | 
			
		||||
		MaximumIfMTU:     65535,
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -7,7 +7,10 @@ package defaults
 | 
			
		|||
func GetDefaults() platformDefaultParameters {
 | 
			
		||||
	return platformDefaultParameters{
 | 
			
		||||
		// Admin
 | 
			
		||||
		DefaultAdminListen: "tcp://localhost:9001",
 | 
			
		||||
		DefaultAdminListen: "unix:///var/run/yggdrasil.sock",
 | 
			
		||||
 | 
			
		||||
		// Configuration (used for yggdrasilctl)
 | 
			
		||||
		DefaultConfigFile: "/etc/yggdrasil.conf",
 | 
			
		||||
 | 
			
		||||
		// TUN/TAP
 | 
			
		||||
		MaximumIfMTU:     9000,
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -7,7 +7,10 @@ package defaults
 | 
			
		|||
func GetDefaults() platformDefaultParameters {
 | 
			
		||||
	return platformDefaultParameters{
 | 
			
		||||
		// Admin
 | 
			
		||||
		DefaultAdminListen: "tcp://localhost:9001",
 | 
			
		||||
		DefaultAdminListen: "unix:///var/run/yggdrasil.sock",
 | 
			
		||||
 | 
			
		||||
		// Configuration (used for yggdrasilctl)
 | 
			
		||||
		DefaultConfigFile: "/etc/yggdrasil.conf",
 | 
			
		||||
 | 
			
		||||
		// TUN/TAP
 | 
			
		||||
		MaximumIfMTU:     16384,
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -9,6 +9,9 @@ func GetDefaults() platformDefaultParameters {
 | 
			
		|||
		// Admin
 | 
			
		||||
		DefaultAdminListen: "tcp://localhost:9001",
 | 
			
		||||
 | 
			
		||||
		// Configuration (used for yggdrasilctl)
 | 
			
		||||
		DefaultConfigFile: "/etc/yggdrasil.conf",
 | 
			
		||||
 | 
			
		||||
		// TUN/TAP
 | 
			
		||||
		MaximumIfMTU:     65535,
 | 
			
		||||
		DefaultIfMTU:     65535,
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -9,6 +9,9 @@ func GetDefaults() platformDefaultParameters {
 | 
			
		|||
		// Admin
 | 
			
		||||
		DefaultAdminListen: "tcp://localhost:9001",
 | 
			
		||||
 | 
			
		||||
		// Configuration (used for yggdrasilctl)
 | 
			
		||||
		DefaultConfigFile: "C:\\Program Files\\Yggdrasil\\yggdrasil.conf",
 | 
			
		||||
 | 
			
		||||
		// TUN/TAP
 | 
			
		||||
		MaximumIfMTU:     65535,
 | 
			
		||||
		DefaultIfMTU:     65535,
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -343,7 +343,19 @@ func (a *admin) listen() {
 | 
			
		|||
	if err == nil {
 | 
			
		||||
		switch strings.ToLower(u.Scheme) {
 | 
			
		||||
		case "unix":
 | 
			
		||||
			if _, err := os.Stat(a.listenaddr[7:]); err == nil {
 | 
			
		||||
				a.core.log.Println("WARNING:", a.listenaddr[7:], "already exists and may be in use by another process")
 | 
			
		||||
			}
 | 
			
		||||
			a.listener, err = net.Listen("unix", a.listenaddr[7:])
 | 
			
		||||
			if err == nil {
 | 
			
		||||
				switch a.listenaddr[7:8] {
 | 
			
		||||
				case "@": // maybe abstract namespace
 | 
			
		||||
				default:
 | 
			
		||||
					if err := os.Chmod(a.listenaddr[7:], 0660); err != nil {
 | 
			
		||||
						a.core.log.Println("WARNING:", a.listenaddr[:7], "may have unsafe permissions!")
 | 
			
		||||
					}
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
		case "tcp":
 | 
			
		||||
			a.listener, err = net.Listen("tcp", u.Host)
 | 
			
		||||
		default:
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue