Commit 79fdea24bf
Verified · cmc
Layout: unified · split
internal/sshd/sshd.go +3 −2
| @@ -18,6 +18,7 @@ import ( | ||
| 18 | 18 | "path/filepath" |
| 19 | 19 | "slices" |
| 20 | 20 | "strconv" |
| 21 | "strings" | |
| 21 | 22 | "sync" |
| 22 | 23 | "sync/atomic" |
| 23 | 24 | "time" |
| @@ -447,9 +448,9 @@ func (s *Server) runAnonymous(ch ssh.Channel, keyB64, cmdline string) int { | ||
| 447 | 448 | flag := map[string]string{"open": "--email <address>", "invite": "--invite <code>"}[s.cfg.Registration.Mode] |
| 448 | 449 | fmt.Fprintf(ch.Stderr(), |
| 449 | 450 | "this key (%s) is not registered on %s.\n"+ |
| 450 | "already have an account? add it at https://%s/settings#keys\n"+ | |
| 451 | "already have an account? add it at %s/settings#keys\n"+ | |
| 451 | 452 | "new here? ssh git@%s register --username <name> %s\n", |
| 452 | fp, host, host, host, flag) | |
| 453 | fp, host, strings.TrimSuffix(s.cfg.Server.SiteURL, "/"), host, flag) | |
| 453 | 454 | return protocol.ExitDenied |
| 454 | 455 | } |
| 455 | 456 | return control.RunRegister(s.cfg, s.st, pub, argv, ch, ch.Stderr()) |
internal/sshd/sshd_test.go +3 −2
| @@ -242,7 +242,8 @@ func TestUnregisteredKeyMessageNamesFingerprintAndHost(t *testing.T) { | ||
| 242 | 242 | |
| 243 | 243 | cfg := config.Default() |
| 244 | 244 | cfg.Server.Root = root |
| 245 | cfg.Server.SiteURL = "https://forge.test" | |
| 245 | // The settings link keeps the site URL's scheme and port. | |
| 246 | cfg.Server.SiteURL = "http://forge.test:8080/" | |
| 246 | 247 | cfg.Registration.Mode = "open" |
| 247 | 248 | srv, err := New(cfg, st) |
| 248 | 249 | if err != nil { |
| @@ -289,7 +290,7 @@ func TestUnregisteredKeyMessageNamesFingerprintAndHost(t *testing.T) { | ||
| 289 | 290 | } |
| 290 | 291 | |
| 291 | 292 | fp := ssh.FingerprintSHA256(signer.PublicKey()) |
| 292 | for _, want := range []string{fp, "forge.test", "https://forge.test/settings#keys", "ssh git@forge.test register"} { | |
| 293 | for _, want := range []string{fp, "forge.test", "add it at http://forge.test:8080/settings#keys\n", "ssh git@forge.test register"} { | |
| 293 | 294 | if !strings.Contains(stderr.String(), want) { |
| 294 | 295 | t.Errorf("message missing %q:\n%s", want, stderr.String()) |
| 295 | 296 | } |