From e58a58f3fbe138add28059a01fbb9393ebd35a66 Mon Sep 17 00:00:00 2001 From: checktheroads Date: Thu, 19 Mar 2020 17:32:46 -0700 Subject: [PATCH] fix issue where DNS queries do not work with CNAMEs --- hyperglass/ui/components/ResolvedTarget.js | 33 +++++++++++++--------- 1 file changed, 19 insertions(+), 14 deletions(-) diff --git a/hyperglass/ui/components/ResolvedTarget.js b/hyperglass/ui/components/ResolvedTarget.js index 518f078..ac94817 100644 --- a/hyperglass/ui/components/ResolvedTarget.js +++ b/hyperglass/ui/components/ResolvedTarget.js @@ -38,11 +38,16 @@ const ResolvedTarget = React.forwardRef(({ fqdnTarget, setTarget, queryTarget }, return labelBgStatus[value === queryTarget]; }; + const findAnswer = data => { + return data?.Answer?.filter(answerData => answerData.type === data.Question[0].type)[0] + .data; + }; + useEffect(() => { - if (data6 && data6.Answer && data6.Answer[0].type === 28) { - handleOverride(data6.Answer[0].data); - } else if (data4 && data4.Answer && data4.Answer[0].type === 1 && !data6?.Answer) { - handleOverride(data4.Answer[0].data); + if (data6 && data6.Answer) { + handleOverride(findAnswer(data6)); + } else if (data4 && data4.Answer && !data6?.Answer) { + handleOverride(findAnswer(data4)); } }, [data4, data6]); return ( @@ -54,7 +59,7 @@ const ResolvedTarget = React.forwardRef(({ fqdnTarget, setTarget, queryTarget }, > {loading4 || error4 || - (data4?.Answer?.[0] && ( + (findAnswer(data4) && ( handleOverride(data4.Answer[0].data)} + onClick={() => handleOverride(findAnswer(data4))} > IPv4 {loading4 && } {error4 && } - {data4?.Answer?.[0] && ( + {findAnswer(data4) && ( - {data4.Answer[0].data} + {findAnswer(data4)} )} ))} {loading6 || error6 || - (data6?.Answer?.[0] && ( + (findAnswer(data6) && ( handleOverride(data6.Answer[0].data)} + onClick={() => handleOverride(findAnswer(data6))} > IPv6 {loading6 && } {error6 && } - {data6?.Answer?.[0] && ( + {findAnswer(data6) && ( - {data6.Answer[0].data} + {findAnswer(data6)} )}