fix: search services file in /etc/services and fall back to /usr/etc/services (#11179)

This commit is contained in:
Heiko Schlittermann 2022-05-24 15:22:56 +02:00 committed by GitHub
parent 596b0e149b
commit a840006e58
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 18 additions and 1 deletions

View File

@ -3,6 +3,23 @@
package port_name
import (
"os"
)
// servicesPath tries to find the `services` file at the common
// place(s) on most systems and returns its path. If it can't
// find anything, it returns the common default `/etc/services`
func servicesPath() string {
return "/etc/services"
var files = []string{
"/etc/services",
"/usr/etc/services", // fallback on OpenSuSE
}
for i := range files {
if _, err := os.Stat(files[i]); err == nil {
return files[i]
}
}
return files[0]
}