mirror of
				https://github.com/superseriousbusiness/gotosocial.git
				synced 2025-11-04 07:42:26 -06:00 
			
		
		
		
	* start fixing up tests * fix up tests + automate with drone * fiddle with linting * messing about with drone.yml * some more fiddling * hmmm * add cache * add vendor directory * verbose * ci updates * update some little things * update sig
		
			
				
	
	
		
			33 lines
		
	
	
	
		
			949 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			33 lines
		
	
	
	
		
			949 B
		
	
	
	
		
			Go
		
	
	
	
	
	
// Copyright 2017 Google Inc.  All rights reserved.
 | 
						|
// Use of this source code is governed by a BSD-style
 | 
						|
// license that can be found in the LICENSE file.
 | 
						|
 | 
						|
// +build !js
 | 
						|
 | 
						|
package uuid
 | 
						|
 | 
						|
import "net"
 | 
						|
 | 
						|
var interfaces []net.Interface // cached list of interfaces
 | 
						|
 | 
						|
// getHardwareInterface returns the name and hardware address of interface name.
 | 
						|
// If name is "" then the name and hardware address of one of the system's
 | 
						|
// interfaces is returned.  If no interfaces are found (name does not exist or
 | 
						|
// there are no interfaces) then "", nil is returned.
 | 
						|
//
 | 
						|
// Only addresses of at least 6 bytes are returned.
 | 
						|
func getHardwareInterface(name string) (string, []byte) {
 | 
						|
	if interfaces == nil {
 | 
						|
		var err error
 | 
						|
		interfaces, err = net.Interfaces()
 | 
						|
		if err != nil {
 | 
						|
			return "", nil
 | 
						|
		}
 | 
						|
	}
 | 
						|
	for _, ifs := range interfaces {
 | 
						|
		if len(ifs.HardwareAddr) >= 6 && (name == "" || name == ifs.Name) {
 | 
						|
			return ifs.Name, ifs.HardwareAddr
 | 
						|
		}
 | 
						|
	}
 | 
						|
	return "", nil
 | 
						|
}
 |