Clean up option handling, comment on openssh compat

master
Merlijn B. W. Wajer 7 years ago
parent 0befb7719d
commit 98a6f4ec64
  1. 8
      sshd.go

@ -391,13 +391,15 @@ func loadAuthorisedKeys(authorisedkeys string) {
devinfo := deviceInfo{Comment: comment} devinfo := deviceInfo{Comment: comment}
// TODO: Compatibility with permitopen=foo,permitopen=bar,
// permitremoteopen=quux,permitremoteopen=wobble
for _, option := range options { for _, option := range options {
ports, err := parseOption(option, "local") ports, err := parseOption(option, "localports")
if err == nil { if err == nil {
devinfo.LocalPorts = ports devinfo.LocalPorts = ports
continue continue
} }
ports, err := parseOption(option, "remote") ports, err = parseOption(option, "remoteports")
if err == nil { if err == nil {
devinfo.RemotePorts = ports devinfo.RemotePorts = ports
continue continue
@ -452,7 +454,7 @@ func portPermitted(port uint32, ports []uint32) bool {
} }
func parseOption(option string, prefix string) (string, error) { func parseOption(option string, prefix string) (string, error) {
str := fmt.Sprintf("%sports=", prefix) str := fmt.Sprintf("%s=", prefix)
if !strings.HasPrefix(option, str) { if !strings.HasPrefix(option, str) {
return "", fmt.Errorf("Option does not start with %s", str) return "", fmt.Errorf("Option does not start with %s", str)
} }

Loading…
Cancel
Save