mirror of
https://github.com/Control-D-Inc/ctrld.git
synced 2026-02-16 10:22:45 +00:00
31 lines
547 B
Go
31 lines
547 B
Go
package dnsmasq
|
|
|
|
import (
|
|
"bufio"
|
|
"bytes"
|
|
"errors"
|
|
"io"
|
|
"os"
|
|
"strings"
|
|
)
|
|
|
|
func InterfaceNameFromConfig(filename string) (string, error) {
|
|
buf, err := os.ReadFile(filename)
|
|
if err != nil {
|
|
return "", err
|
|
}
|
|
return interfaceNameFromReader(bytes.NewReader(buf))
|
|
}
|
|
|
|
func interfaceNameFromReader(r io.Reader) (string, error) {
|
|
scanner := bufio.NewScanner(r)
|
|
for scanner.Scan() {
|
|
line := scanner.Text()
|
|
after, found := strings.CutPrefix(line, "interface=")
|
|
if found {
|
|
return after, nil
|
|
}
|
|
}
|
|
return "", errors.New("not found")
|
|
}
|