1; config options 2server: 3 edns-client-string: 10.0.0.0/24 "abc d" 4 outbound-msg-retry: 1 5 6stub-zone: 7 name: "edns-string-abc." 8 stub-addr: 10.0.0.3 9 stub-first: yes 10 11forward-zone: 12 name: "." 13 forward-addr: 10.0.0.1 14 15CONFIG_END 16 17SCENARIO_BEGIN Test that upstream specific EDNS is attached once; uses string tag option 18 19RANGE_BEGIN 0 1000 20 ADDRESS 10.0.0.3 21ENTRY_BEGIN 22MATCH opcode qtype qname 23ADJUST copy_id 24REPLY QR SERVFAIL 25SECTION QUESTION 26edns-string-abc. IN A 27ENTRY_END 28RANGE_END 29 30RANGE_BEGIN 0 1000 31 ADDRESS 10.0.0.1 32ENTRY_BEGIN 33MATCH opcode qtype qname 34ADJUST copy_id 35REPLY QR NOERROR 36SECTION QUESTION 37edns-string-abc. IN A 38SECTION ANSWER 39edns-string-abc. IN A 10.20.30.40 40SECTION ADDITIONAL 41ENTRY_END 42RANGE_END 43 44STEP 10 QUERY 45ENTRY_BEGIN 46REPLY RD 47SECTION QUESTION 48edns-string-abc. IN A 49ENTRY_END 50 51; This will receive SERVFAIL and the next address will be queried 52STEP 20 CHECK_OUT_QUERY ADDRESS 10.0.0.3 53ENTRY_BEGIN 54MATCH qname qtype opcode ednsdata 55SECTION QUESTION 56edns-string-abc. IN A 57SECTION ADDITIONAL 58 HEX_EDNSDATA_BEGIN 59 fd e9 ; Opcode 65001 60 00 05 ; Length 5 61 61 62 63 20 64 ; "abc d" 62 HEX_EDNSDATA_END 63ENTRY_END 64 65; This will receive the answer; makes sure that EDNS is attached once 66STEP 22 CHECK_OUT_QUERY ADDRESS 10.0.0.1 67ENTRY_BEGIN 68MATCH qname qtype opcode ednsdata 69SECTION QUESTION 70edns-string-abc. IN A 71SECTION ADDITIONAL 72 HEX_EDNSDATA_BEGIN 73 fd e9 ; Opcode 65001 74 00 05 ; Length 5 75 61 62 63 20 64 ; "abc d" 76 HEX_EDNSDATA_END 77ENTRY_END 78 79 80STEP 30 CHECK_ANSWER 81ENTRY_BEGIN 82MATCH all 83REPLY QR RD RA NOERROR 84SECTION QUESTION 85edns-string-abc. IN A 86SECTION ANSWER 87edns-string-abc. IN A 10.20.30.40 88ENTRY_END 89 90SCENARIO_END 91