summaryrefslogtreecommitdiff
path: root/meta-google
diff options
context:
space:
mode:
authorWilliam A. Kennington III <wak@google.com>2023-02-16 03:42:29 +0300
committerWilliam A. Kennington III <wak@google.com>2023-02-18 01:06:40 +0300
commitba60019ab6f314758a37c1e44e2b962d10fb38c2 (patch)
treed75c0658f7f95ecaa802779aafd1ebb526ce05f6 /meta-google
parente6f9056548fa082778270d0f40ca644b8e81b7e0 (diff)
downloadopenbmc-ba60019ab6f314758a37c1e44e2b962d10fb38c2.tar.xz
meta-google: gbmc-ncsi-config: Fix hostname parsing
This makes it more flexible and supports hostnames that have extra hyphens. Tested: Against a number of hostnames to verify correctness ytbbg7-n18.prod.google.com ytbbg7 prod.google.com ytbbg7.prod.google.com ytbbg7 prod.google.com ytbbg7-n18.google.com ytbbg7 google.com ytbbg7.google.com ytbbg7 google.com ndn44-nfd01.corp.google.com ndn44 corp.google.com ndn44.corp.google.com ndn44 corp.google.com pnhuna-bf4-nfd01.prod.google.com pnhuna-bf4 prod.google.com pnhuna-bf4.prod.google.com pnhuna-bf4 prod.google.com ytbbg7-n18.prod.bhgoogle.com ytbbg7.prod.bhgoogle.com pnhuna-nzf0.prod.google.com pnhuna-nzf0 prod.google.com Change-Id: I4de218a4d77a34985d21098bf05db6ece990bb8f Signed-off-by: William A. Kennington III <wak@google.com>
Diffstat (limited to 'meta-google')
-rwxr-xr-xmeta-google/recipes-google/ncsi/files/gbmc-ncsi-ip-from-ra.sh.in10
1 files changed, 8 insertions, 2 deletions
diff --git a/meta-google/recipes-google/ncsi/files/gbmc-ncsi-ip-from-ra.sh.in b/meta-google/recipes-google/ncsi/files/gbmc-ncsi-ip-from-ra.sh.in
index 5daa1527a3..6b823363c8 100755
--- a/meta-google/recipes-google/ncsi/files/gbmc-ncsi-ip-from-ra.sh.in
+++ b/meta-google/recipes-google/ncsi/files/gbmc-ncsi-ip-from-ra.sh.in
@@ -71,9 +71,15 @@ while true; do
(( t_pfx_b[9] |= 1 ))
hextet="fd$(printf '%02x' ${t_pfx_b[9]})"
pfx="$(ip_bytes_to_str t_pfx_b)"
- elif [[ "$line" =~ ^'DNS search list'' '*:' '*([a-z]+[0-9]+)[^.]*[.](.*.google.com)$ ]]; then
+ elif [[ "$line" =~ ^'DNS search list'' '*:' '*([^.]+)(.*[.]google[.]com)$ ]]; then
+ # Ideally, we use PCRE and with lookahead and can do this in a single regex
+ # ^([a-zA-Z0-9-]+(?=-n[a-fA-F0-9]{1,4})|[a-zA-Z0-9-]+(?!-n[a-fA-F0-9]{1,4}))[^.]*[.]((?:[a-zA-Z0-9]*[.])*google[.]com)$
+ # Instead we do multiple steps to extract the needed info
host="${BASH_REMATCH[1]}"
- domain="${BASH_REMATCH[2]}"
+ domain="${BASH_REMATCH[2]#.}"
+ if [[ "$host" =~ (-n[a-fA-F0-9]{1,4})$ ]]; then
+ host="${host%${BASH_REMATCH[1]}}"
+ fi
elif [[ "$line" =~ ^from' '(.*)$ ]]; then
rtr="${BASH_REMATCH[1]}"
set_net || true