Compare commits
	
		
			14 Commits
		
	
	
		
			v0.9.0
			...
			client-int
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|  | 3ebfe754e7 | ||
|  | 069243e5d4 | ||
|  | bd78ffd669 | ||
|  | a90ab3f5d6 | ||
|  | 650c74c013 | ||
|  | b308150d21 | ||
|  | a0b7ecbfe0 | ||
|  | 69dff24344 | ||
|  | 257fac67ce | ||
|  | 2ff8aaf5c4 | ||
|  | fccc4f7d57 | ||
|  | c6d35856bc | ||
|  | 5844584219 | ||
|  | e458e43d83 | 
| @@ -2,8 +2,6 @@ | |||||||
|  |  | ||||||
| ## TO DO | ## TO DO | ||||||
|  |  | ||||||
| * peer - write status to file instead of using sockets |  | ||||||
| * peer - improve relay selection |  | ||||||
| * Double buffering in IFReader and ConnReader ? | * Double buffering in IFReader and ConnReader ? | ||||||
|  |  | ||||||
| ## Hub Server Configuration | ## Hub Server Configuration | ||||||
|   | |||||||
| @@ -5,6 +5,8 @@ import ( | |||||||
| 	"errors" | 	"errors" | ||||||
| 	"log" | 	"log" | ||||||
| 	"net/http" | 	"net/http" | ||||||
|  | 	"net/netip" | ||||||
|  | 	"strings" | ||||||
| 	"vppn/hub/api" | 	"vppn/hub/api" | ||||||
| 	"vppn/m" | 	"vppn/m" | ||||||
|  |  | ||||||
| @@ -246,6 +248,27 @@ func (a *App) _adminPeerDeleteSubmit(s *api.Session, w http.ResponseWriter, r *h | |||||||
| 	return a.redirect(w, r, "/admin/network/view/?NetworkID=%d", n.NetworkID) | 	return a.redirect(w, r, "/admin/network/view/?NetworkID=%d", n.NetworkID) | ||||||
| } | } | ||||||
|  |  | ||||||
|  | func (a *App) _adminNetworkHosts(s *api.Session, w http.ResponseWriter, r *http.Request) error { | ||||||
|  | 	n, peers, err := a.formGetNetworkPeers(r.Form) | ||||||
|  | 	if err != nil { | ||||||
|  | 		return err | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	b := strings.Builder{} | ||||||
|  |  | ||||||
|  | 	for _, peer := range peers { | ||||||
|  | 		ip := n.Network | ||||||
|  | 		ip[3] = peer.PeerIP | ||||||
|  | 		b.WriteString(netip.AddrFrom4([4]byte(ip)).String()) | ||||||
|  | 		b.WriteString(" ") | ||||||
|  | 		b.WriteString(peer.Name) | ||||||
|  | 		b.WriteString("\n") | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	w.Write([]byte(b.String())) | ||||||
|  | 	return nil | ||||||
|  | } | ||||||
|  |  | ||||||
| func (a *App) _adminPasswordEdit(s *api.Session, w http.ResponseWriter, r *http.Request) error { | func (a *App) _adminPasswordEdit(s *api.Session, w http.ResponseWriter, r *http.Request) error { | ||||||
| 	return a.render("/admin-password-edit.html", w, struct{ Session *api.Session }{s}) | 	return a.render("/admin-password-edit.html", w, struct{ Session *api.Session }{s}) | ||||||
| } | } | ||||||
|   | |||||||
| @@ -19,6 +19,7 @@ func (a *App) registerRoutes() { | |||||||
| 	a.handleSignedIn("POST /admin/network/delete/", a._adminNetworkDeleteSubmit) | 	a.handleSignedIn("POST /admin/network/delete/", a._adminNetworkDeleteSubmit) | ||||||
|  |  | ||||||
| 	a.handleSignedIn("GET  /admin/network/view/", a._adminNetworkView) | 	a.handleSignedIn("GET  /admin/network/view/", a._adminNetworkView) | ||||||
|  | 	a.handleSignedIn("GET  /admin/network/hosts/", a._adminNetworkHosts) | ||||||
| 	a.handleSignedIn("GET  /admin/peer/create/", a._adminPeerCreate) | 	a.handleSignedIn("GET  /admin/peer/create/", a._adminPeerCreate) | ||||||
| 	a.handleSignedIn("POST /admin/peer/create/", a._adminPeerCreateSubmit) | 	a.handleSignedIn("POST /admin/peer/create/", a._adminPeerCreateSubmit) | ||||||
| 	a.handleSignedIn("GET  /admin/peer/view/", a._adminPeerView) | 	a.handleSignedIn("GET  /admin/peer/view/", a._adminPeerView) | ||||||
|   | |||||||
| @@ -1,6 +1,7 @@ | |||||||
| {{define "body" -}} | {{define "body" -}} | ||||||
| <p> | <p> | ||||||
|   <a href="/admin/network/delete/?NetworkID={{.Network.NetworkID}}">Delete</a> |   <a href="/admin/network/delete/?NetworkID={{.Network.NetworkID}}">Delete</a> / | ||||||
|  |   <a href="/admin/network/hosts/?NetworkID={{.Network.NetworkID}}">Hosts</a> | ||||||
| </p> | </p> | ||||||
|  |  | ||||||
| <table class="def-list"> | <table class="def-list"> | ||||||
|   | |||||||
| @@ -108,11 +108,9 @@ func main_status() { | |||||||
| 	fmt.Printf("\n%s Status\n\n", netName) | 	fmt.Printf("\n%s Status\n\n", netName) | ||||||
|  |  | ||||||
| 	if len(report.Network) != 4 { | 	if len(report.Network) != 4 { | ||||||
| 		fmt.Println("ERROR: Network isn't 4 bytes.") |  | ||||||
| 		fmt.Printf("Network: %v\n\n", report.Network) | 		fmt.Printf("Network: %v\n\n", report.Network) | ||||||
| 	} else { | 	} else { | ||||||
| 		nw := report.Network | 		nw := report.Network | ||||||
| 		fmt.Printf("%-8s %d.%d.%d.%d\n", "IP", nw[0], nw[1], nw[2], report.LocalPeerIP) |  | ||||||
| 		fmt.Printf("%-8s %d.%d.%d.%d/24\n", "Network", nw[0], nw[1], nw[2], nw[3]) | 		fmt.Printf("%-8s %d.%d.%d.%d/24\n", "Network", nw[0], nw[1], nw[2], nw[3]) | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
|   | |||||||
| @@ -30,10 +30,6 @@ func newPeerMain(args mainArgs) *peerMain { | |||||||
| 		log.Printf("[Main] "+s, args...) | 		log.Printf("[Main] "+s, args...) | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	if err := os.MkdirAll(configDir(args.NetName), 0700); err != nil { |  | ||||||
| 		log.Fatalf("Failed to create config directory: %v", err) |  | ||||||
| 	} |  | ||||||
|  |  | ||||||
| 	lockFile, err := flock.TryLock(lockFilePath(args.NetName)) | 	lockFile, err := flock.TryLock(lockFilePath(args.NetName)) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		log.Fatalf("Failed to open lock file: %v", err) | 		log.Fatalf("Failed to open lock file: %v", err) | ||||||
|   | |||||||
| @@ -280,11 +280,6 @@ func (r *Remote) handleDataPacket(h Header, data []byte) { | |||||||
| // HandleLocalDiscoveryPacket is called by the MCReader. | // HandleLocalDiscoveryPacket is called by the MCReader. | ||||||
| func (r *Remote) HandleLocalDiscoveryPacket(h Header, srcAddr netip.AddrPort, data []byte) { | func (r *Remote) HandleLocalDiscoveryPacket(h Header, srcAddr netip.AddrPort, data []byte) { | ||||||
| 	conf := r.conf() | 	conf := r.conf() | ||||||
| 	if conf.Peer == nil { |  | ||||||
| 		r.logf("No peer for discovery packet.") |  | ||||||
| 		return |  | ||||||
| 	} |  | ||||||
|  |  | ||||||
| 	if conf.Peer.PubSignKey == nil { | 	if conf.Peer.PubSignKey == nil { | ||||||
| 		r.logf("No signing key for discovery packet.") | 		r.logf("No signing key for discovery packet.") | ||||||
| 		return | 		return | ||||||
|   | |||||||
| @@ -10,7 +10,6 @@ import ( | |||||||
| ) | ) | ||||||
|  |  | ||||||
| type StatusReport struct { | type StatusReport struct { | ||||||
| 	LocalPeerIP byte |  | ||||||
| 	Network     []byte | 	Network     []byte | ||||||
| 	RelayPeerIP byte | 	RelayPeerIP byte | ||||||
| 	Remotes     []RemoteStatus | 	Remotes     []RemoteStatus | ||||||
| @@ -33,7 +32,6 @@ func runStatusServer(g Globals, socketPath string) { | |||||||
|  |  | ||||||
| 	handler := func(w http.ResponseWriter, r *http.Request) { | 	handler := func(w http.ResponseWriter, r *http.Request) { | ||||||
| 		report := StatusReport{ | 		report := StatusReport{ | ||||||
| 			LocalPeerIP: g.LocalPeerIP, |  | ||||||
| 			Network: g.Network, | 			Network: g.Network, | ||||||
| 			Remotes: make([]RemoteStatus, 0, 255), | 			Remotes: make([]RemoteStatus, 0, 255), | ||||||
| 		} | 		} | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user