Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion src/cmd/add_server.go
Original file line number Diff line number Diff line change
Expand Up @@ -389,7 +389,7 @@ func (c addServerCmdConfig) Run() {
defer file.Close()

data := []string{
peer.CreateServerFile(serverConfigRelay, serverConfigE2EE),
peer.CreateServerFile(serverConfigRelay, serverConfigE2EE, false),
"# POSIX Shell: " + peer.CreateServerCommand(serverConfigRelay, serverConfigE2EE, peer.POSIX, false, disableV6),
"# Powershell: " + peer.CreateServerCommand(serverConfigRelay, serverConfigE2EE, peer.PowerShell, false, disableV6),
}
Expand Down
6 changes: 2 additions & 4 deletions src/cmd/configure.go
Original file line number Diff line number Diff line change
Expand Up @@ -128,6 +128,7 @@ func init() {
"relay-output",
"e2ee-output",
"server-output",
"simple",
} {
err := cmd.Flags().MarkHidden(f)
if err != nil {
Expand Down Expand Up @@ -326,7 +327,7 @@ func (c configureCmdConfig) Run() {
defer file.Close()

data := []string{
peer.CreateServerFile(serverConfigRelay, serverConfigE2EE),
peer.CreateServerFile(serverConfigRelay, serverConfigE2EE, c.simple),
"# POSIX Shell: " + peer.CreateServerCommand(serverConfigRelay, serverConfigE2EE, peer.POSIX, c.simple, c.disableV6),
"# Powershell: " + peer.CreateServerCommand(serverConfigRelay, serverConfigE2EE, peer.PowerShell, c.simple, c.disableV6),
}
Expand All @@ -341,9 +342,6 @@ func (c configureCmdConfig) Run() {

// Make config file string
serverConfigFile := fmt.Sprintf("./wiretap serve -f %s", c.configFileServer)
if c.simple {
serverConfigFile = fmt.Sprintf("%s --simple", serverConfigFile)
}
if c.disableV6 {
serverConfigFile = fmt.Sprintf("%s --disable-ipv6", serverConfigFile)
}
Expand Down
16 changes: 14 additions & 2 deletions src/cmd/serve.go
Original file line number Diff line number Diff line change
Expand Up @@ -315,8 +315,20 @@ func (c serveCmdConfig) Run() {
}

// Check for required flags.
if !viper.IsSet("Relay.Peer.publickey") || (!viper.IsSet("simple") && !viper.IsSet("E2EE.Peer.publickey")) {
check("config error", errors.New("public key of peer is required"))
if !viper.IsSet("Relay.Peer.publickey") && !viper.IsSet("E2EE.Peer.publickey") {
check("config error", errors.New("no peer public keys provided"))
}

if viper.IsSet("E2EE.Peer.publickey") && !viper.IsSet("Relay.Peer.publickey") {
check("config error", errors.New("only E2EE public key provided"))
}

if !viper.IsSet("E2EE.Peer.publickey") {
fmt.Println("E2EE peer public key missing, running Wiretap in simple mode.")
serveCmd.simple = true
if !viper.IsSet("Relay.Peer.publickey") {
check("config error", errors.New("public key of Relay peer is required"))
}
}

if viper.IsSet("disableipv6") && netip.MustParseAddr(viper.GetString("E2EE.Interface.api")).Is6() {
Expand Down
33 changes: 15 additions & 18 deletions src/peer/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -522,11 +522,7 @@ func CreateServerCommand(relayConfig Config, e2eeConfig Config, shell Shell, sim
keys = append(keys, "WIRETAP_E2EE_PEER_ENDPOINT")
vals = append(vals, e2eeConfig.GetPeerEndpoint(0))
}
} else {
keys = append(keys, "WIRETAP_SIMPLE")
vals = append(vals, "true")
}

}
if disableV6 {
keys = append(keys, "WIRETAP_DISABLEIPV6")
vals = append(vals, "true")
Expand All @@ -553,7 +549,7 @@ func CreateServerCommand(relayConfig Config, e2eeConfig Config, shell Shell, sim
return s.String()
}

func CreateServerFile(relayConfig Config, e2eeConfig Config) string {
func CreateServerFile(relayConfig Config, e2eeConfig Config, simple bool) string {
var s strings.Builder

// Relay Interface.
Expand Down Expand Up @@ -594,20 +590,21 @@ func CreateServerFile(relayConfig Config, e2eeConfig Config) string {
if len(relayConfig.GetPeerEndpoint(0)) > 0 {
s.WriteString(fmt.Sprintf("Endpoint = %s\n", relayConfig.GetPeerEndpoint(0)))
}
if !simple {
// E2EE Interface.
s.WriteString("\n[E2EE.Interface]\n")
s.WriteString(fmt.Sprintf("PrivateKey = %s\n", e2eeConfig.GetPrivateKey()))

// E2EE Interface.
s.WriteString("\n[E2EE.Interface]\n")
s.WriteString(fmt.Sprintf("PrivateKey = %s\n", e2eeConfig.GetPrivateKey()))

if len(e2eeConfig.addresses) == 1 {
s.WriteString(fmt.Sprintf("Api = %s\n", e2eeConfig.addresses[0].IP.String()))
}
if len(e2eeConfig.addresses) == 1 {
s.WriteString(fmt.Sprintf("Api = %s\n", e2eeConfig.addresses[0].IP.String()))
}

// E2EE Peer.
s.WriteString("\n[E2EE.Peer]\n")
s.WriteString(fmt.Sprintf("PublicKey = %s\n", e2eeConfig.GetPeerPublicKey(0)))
if len(e2eeConfig.GetPeerEndpoint(0)) > 0 {
s.WriteString(fmt.Sprintf("Endpoint = %s\n", e2eeConfig.GetPeerEndpoint(0)))
// E2EE Peer.
s.WriteString("\n[E2EE.Peer]\n")
s.WriteString(fmt.Sprintf("PublicKey = %s\n", e2eeConfig.GetPeerPublicKey(0)))
if len(e2eeConfig.GetPeerEndpoint(0)) > 0 {
s.WriteString(fmt.Sprintf("Endpoint = %s\n", e2eeConfig.GetPeerEndpoint(0)))
}
}

return s.String()
Expand Down
Loading