Skip to content

Commit 9ddb65d

Browse files
Add remember relay options (#1000) (#1001)
* add remember relay options (#1000) don't save relay if it is the default don't use remembered relay if it is the default * use special default token for relays
1 parent 89b26ca commit 9ddb65d

File tree

1 file changed

+40
-0
lines changed

1 file changed

+40
-0
lines changed

src/cli/cli.go

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -364,6 +364,16 @@ func send(c *cli.Context) (err error) {
364364
if !c.IsSet("git") {
365365
crocOptions.GitIgnore = rememberedOptions.GitIgnore
366366
}
367+
if !c.IsSet("relay") && strings.HasPrefix(rememberedOptions.RelayAddress, "non-default:") {
368+
var rememberedAddr = strings.TrimPrefix(rememberedOptions.RelayAddress, "non-default:")
369+
rememberedAddr = strings.TrimSpace(rememberedAddr)
370+
crocOptions.RelayAddress = rememberedAddr
371+
}
372+
if !c.IsSet("relay6") && strings.HasPrefix(rememberedOptions.RelayAddress6, "non-default:") {
373+
var rememberedAddr = strings.TrimPrefix(rememberedOptions.RelayAddress6, "non-default:")
374+
rememberedAddr = strings.TrimSpace(rememberedAddr)
375+
crocOptions.RelayAddress6 = rememberedAddr
376+
}
367377
}
368378

369379
var fnames []string
@@ -529,6 +539,16 @@ func saveConfig(c *cli.Context, crocOptions croc.Options) {
529539
if c.String("code") == "" {
530540
crocOptions.SharedSecret = ""
531541
}
542+
if c.String("relay") != models.DEFAULT_RELAY {
543+
crocOptions.RelayAddress = "non-default: " + c.String("relay")
544+
} else {
545+
crocOptions.RelayAddress = "default"
546+
}
547+
if c.String("relay6") != models.DEFAULT_RELAY6 {
548+
crocOptions.RelayAddress6 = "non-default: " + c.String("relay6")
549+
} else {
550+
crocOptions.RelayAddress6 = "default"
551+
}
532552
bConfig, err := json.MarshalIndent(crocOptions, "", " ")
533553
if err != nil {
534554
log.Error(err)
@@ -649,6 +669,16 @@ func receive(c *cli.Context) (err error) {
649669
if !c.IsSet("local") {
650670
crocOptions.OnlyLocal = rememberedOptions.OnlyLocal
651671
}
672+
if !c.IsSet("relay") && strings.HasPrefix(rememberedOptions.RelayAddress, "non-default:") {
673+
var rememberedAddr = strings.TrimPrefix(rememberedOptions.RelayAddress, "non-default:")
674+
rememberedAddr = strings.TrimSpace(rememberedAddr)
675+
crocOptions.RelayAddress = rememberedAddr
676+
}
677+
if !c.IsSet("relay6") && strings.HasPrefix(rememberedOptions.RelayAddress6, "non-default:") {
678+
var rememberedAddr = strings.TrimPrefix(rememberedOptions.RelayAddress6, "non-default:")
679+
rememberedAddr = strings.TrimSpace(rememberedAddr)
680+
crocOptions.RelayAddress6 = rememberedAddr
681+
}
652682
}
653683

654684
classicInsecureMode := utils.Exists(getClassicConfigFile(true))
@@ -704,6 +734,16 @@ Or you can go back to the classic croc behavior by enabling classic mode:
704734
if doRemember {
705735
log.Debug("saving config file")
706736
var bConfig []byte
737+
if c.String("relay") != models.DEFAULT_RELAY {
738+
crocOptions.RelayAddress = "non-default: " + c.String("relay")
739+
} else {
740+
crocOptions.RelayAddress = "default"
741+
}
742+
if c.String("relay6") != models.DEFAULT_RELAY6 {
743+
crocOptions.RelayAddress6 = "non-default: " + c.String("relay6")
744+
} else {
745+
crocOptions.RelayAddress6 = "default"
746+
}
707747
bConfig, err = json.MarshalIndent(crocOptions, "", " ")
708748
if err != nil {
709749
log.Error(err)

0 commit comments

Comments
 (0)