xfrin_notify_handling.feature 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545
  1. Feature: Xfrin incoming notify handling
  2. Tests for Xfrin incoming notify handling. They also test
  3. statistics counters incremented, which are related to notifying
  4. and transferring by Xfrout and receiveing by Xfrin. Some cases are
  5. considered: Transferring is done via IPv4 or IPv6 transport. A
  6. transfer request from Xfrin is rejected by Xfrout. The master
  7. server or slave server is unreachable.
  8. Scenario: Handle incoming notify
  9. Given I have bind10 running with configuration xfrin/retransfer_master.conf with cmdctl port 47804 as master
  10. And wait for master stderr message BIND10_STARTED_CC
  11. And wait for master stderr message CMDCTL_STARTED
  12. And wait for master stderr message AUTH_SERVER_STARTED
  13. And wait for master stderr message XFROUT_STARTED
  14. And wait for master stderr message ZONEMGR_STARTED
  15. And wait for master stderr message STATS_STARTING
  16. And I have bind10 running with configuration xfrin/retransfer_slave_notify.conf
  17. And wait for bind10 stderr message BIND10_STARTED_CC
  18. And wait for bind10 stderr message CMDCTL_STARTED
  19. And wait for bind10 stderr message AUTH_SERVER_STARTED
  20. And wait for bind10 stderr message XFRIN_STARTED
  21. And wait for bind10 stderr message ZONEMGR_STARTED
  22. A query for www.example.org to [::1]:47806 should have rcode NXDOMAIN
  23. #
  24. # Test1 for Xfrout statistics
  25. #
  26. check initial statistics not containing example.org for Xfrout with cmdctl port 47804 except for the following items
  27. | item_name | min_value | max_value |
  28. | socket.unixdomain.open | 0 | 1 |
  29. # Note: Sometime an unixdomain socket could be already opened at
  30. # the first time when stats daemon queries xfrout statistics.
  31. #
  32. # Test2 for Xfrin statistics
  33. #
  34. check initial statistics not containing example.org for Xfrin
  35. When I send bind10 with cmdctl port 47804 the command Xfrout notify example.org IN
  36. Then wait for new master stderr message XFROUT_NOTIFY_COMMAND
  37. Then wait for new bind10 stderr message AUTH_RECEIVED_NOTIFY
  38. Then wait for new bind10 stderr message ZONEMGR_RECEIVE_NOTIFY
  39. Then wait for new bind10 stderr message XFRIN_XFR_TRANSFER_STARTED
  40. Then wait for new bind10 stderr message XFRIN_TRANSFER_SUCCESS not XFRIN_XFR_PROCESS_FAILURE
  41. Then wait for new bind10 stderr message ZONEMGR_RECEIVE_XFRIN_SUCCESS
  42. Then wait 5 times for new master stderr message NOTIFY_OUT_SENDING_NOTIFY
  43. Then wait for new master stderr message NOTIFY_OUT_RETRY_EXCEEDED
  44. A query for www.example.org to [::1]:47806 should have rcode NOERROR
  45. #
  46. # Test3 for Xfrout statistics
  47. #
  48. # check statistics change
  49. #
  50. # wait until the last stats requesting is finished
  51. When I query statistics zones of bind10 module Xfrout with cmdctl port 47804
  52. wait for new master stderr message XFROUT_RECEIVED_GETSTATS_COMMAND
  53. last bindctl output should not contain "error"
  54. When I query statistics zones of bind10 module Xfrout with cmdctl port 47804
  55. The statistics counters are 0 in category .Xfrout.zones except for the following items
  56. | item_name | item_value |
  57. | _SERVER_.notifyoutv6 | 5 |
  58. | _SERVER_.xfrreqdone | 1 |
  59. | example.org..notifyoutv6 | 5 |
  60. | example.org..xfrreqdone | 1 |
  61. When I query statistics socket of bind10 module Xfrout with cmdctl port 47804
  62. The statistics counters are 0 in category .Xfrout.socket.unixdomain except for the following items
  63. | item_name | item_value |
  64. | open | 1 |
  65. | accept | 1 |
  66. #
  67. # Test4 for Xfrin statistics
  68. #
  69. # check statistics change
  70. #
  71. # wait until the last stats requesting is finished
  72. When I query statistics zones of bind10 module Xfrin with cmdctl
  73. wait for new bind10 stderr message XFRIN_RECEIVED_COMMAND
  74. last bindctl output should not contain "error"
  75. When I query statistics zones of bind10 module Xfrin with cmdctl
  76. The statistics counters are 0 in category .Xfrin.zones except for the following items
  77. | item_name | item_value | min_value |
  78. | _SERVER_.soaoutv6 | 1 | |
  79. | _SERVER_.axfrreqv6 | 1 | |
  80. | _SERVER_.xfrsuccess | 1 | |
  81. | _SERVER_.last_axfr_duration | | 0.0 |
  82. | example.org..soaoutv6 | 1 | |
  83. | example.org..axfrreqv6 | 1 | |
  84. | example.org..xfrsuccess | 1 | |
  85. | example.org..last_axfr_duration | | 0.0 |
  86. #
  87. # Test for handling incoming notify only in IPv4
  88. #
  89. Scenario: Handle incoming notify (IPv4)
  90. Given I have bind10 running with configuration xfrin/retransfer_master_v4.conf with cmdctl port 47804 as master
  91. And wait for master stderr message BIND10_STARTED_CC
  92. And wait for master stderr message CMDCTL_STARTED
  93. And wait for master stderr message AUTH_SERVER_STARTED
  94. And wait for master stderr message XFROUT_STARTED
  95. And wait for master stderr message ZONEMGR_STARTED
  96. And wait for master stderr message STATS_STARTING
  97. And I have bind10 running with configuration xfrin/retransfer_slave_notify_v4.conf
  98. And wait for bind10 stderr message BIND10_STARTED_CC
  99. And wait for bind10 stderr message CMDCTL_STARTED
  100. And wait for bind10 stderr message AUTH_SERVER_STARTED
  101. And wait for bind10 stderr message XFRIN_STARTED
  102. And wait for bind10 stderr message ZONEMGR_STARTED
  103. A query for www.example.org to 127.0.0.1:47806 should have rcode NXDOMAIN
  104. #
  105. # Test1 for Xfrout statistics
  106. #
  107. check initial statistics not containing example.org for Xfrout with cmdctl port 47804 except for the following items
  108. | item_name | min_value | max_value |
  109. | socket.unixdomain.open | 0 | 1 |
  110. # Note: Sometime an unixdomain socket could be already opened at
  111. # the first time when stats daemon queries xfrout statistics.
  112. #
  113. # Test2 for Xfrin statistics
  114. #
  115. check initial statistics not containing example.org for Xfrin
  116. When I send bind10 with cmdctl port 47804 the command Xfrout notify example.org IN
  117. Then wait for new master stderr message XFROUT_NOTIFY_COMMAND
  118. Then wait for new bind10 stderr message AUTH_RECEIVED_NOTIFY
  119. # From this point we can't reliably 'wait for new' because the ordering
  120. # of logs from different processes is unpredictable. But these
  121. # should be okay in this case.
  122. Then wait for bind10 stderr message ZONEMGR_RECEIVE_NOTIFY
  123. Then wait for bind10 stderr message XFRIN_XFR_TRANSFER_STARTED
  124. Then wait for bind10 stderr message XFRIN_TRANSFER_SUCCESS not XFRIN_XFR_PROCESS_FAILURE
  125. Then wait for bind10 stderr message ZONEMGR_RECEIVE_XFRIN_SUCCESS
  126. Then wait for master stderr message NOTIFY_OUT_REPLY_RECEIVED
  127. A query for www.example.org to 127.0.0.1:47806 should have rcode NOERROR
  128. # Make sure handling statistics command handling checked below is
  129. # after this query
  130. And wait for bind10 stderr message AUTH_SEND_NORMAL_RESPONSE
  131. #
  132. # Test3 for Xfrout statistics
  133. #
  134. # check statistics change
  135. #
  136. # wait until the last stats requesting is finished
  137. When I query statistics zones of bind10 module Xfrout with cmdctl port 47804
  138. # note that this does not 100% guarantee the stats updated Xfrout
  139. # statistics. But there doesn't seem to be a better log message that
  140. # suggests this event.
  141. wait for new master stderr message XFROUT_RECEIVED_GETSTATS_COMMAND
  142. last bindctl output should not contain "error"
  143. When I query statistics zones of bind10 module Xfrout with cmdctl port 47804
  144. The statistics counters are 0 in category .Xfrout.zones except for the following items
  145. | item_name | item_value |
  146. | _SERVER_.notifyoutv4 | 5 |
  147. | _SERVER_.xfrreqdone | 1 |
  148. | example.org..notifyoutv4 | 5 |
  149. | example.org..xfrreqdone | 1 |
  150. When I query statistics socket of bind10 module Xfrout with cmdctl port 47804
  151. The statistics counters are 0 in category .Xfrout.socket.unixdomain except for the following items
  152. | item_name | item_value |
  153. | open | 1 |
  154. | accept | 1 |
  155. #
  156. # Test4 for Xfrin statistics
  157. #
  158. # check statistics change
  159. #
  160. # wait until the last stats requesting is finished
  161. When I query statistics zones of bind10 module Xfrin with cmdctl
  162. wait for new bind10 stderr message XFRIN_RECEIVED_COMMAND
  163. last bindctl output should not contain "error"
  164. When I query statistics zones of bind10 module Xfrin with cmdctl
  165. The statistics counters are 0 in category .Xfrin.zones except for the following items
  166. | item_name | item_value | min_value |
  167. | _SERVER_.soaoutv4 | 1 | |
  168. | _SERVER_.axfrreqv4 | 1 | |
  169. | _SERVER_.xfrsuccess | 1 | |
  170. | _SERVER_.last_axfr_duration | | 0.0 |
  171. | example.org..soaoutv4 | 1 | |
  172. | example.org..axfrreqv4 | 1 | |
  173. | example.org..xfrsuccess | 1 | |
  174. | example.org..last_axfr_duration | | 0.0 |
  175. #
  176. # Test for Xfr request rejected
  177. #
  178. Scenario: Handle incoming notify (XFR request rejected)
  179. Given I have bind10 running with configuration xfrin/retransfer_master.conf with cmdctl port 47804 as master
  180. And wait for master stderr message BIND10_STARTED_CC
  181. And wait for master stderr message CMDCTL_STARTED
  182. And wait for master stderr message AUTH_SERVER_STARTED
  183. And wait for master stderr message XFROUT_STARTED
  184. And wait for master stderr message ZONEMGR_STARTED
  185. And wait for master stderr message STATS_STARTING
  186. And I have bind10 running with configuration xfrin/retransfer_slave_notify.conf
  187. And wait for bind10 stderr message BIND10_STARTED_CC
  188. And wait for bind10 stderr message CMDCTL_STARTED
  189. And wait for bind10 stderr message AUTH_SERVER_STARTED
  190. And wait for bind10 stderr message XFRIN_STARTED
  191. And wait for bind10 stderr message ZONEMGR_STARTED
  192. A query for www.example.org to [::1]:47806 should have rcode NXDOMAIN
  193. #
  194. # Test1 for Xfrout statistics
  195. #
  196. check initial statistics not containing example.org for Xfrout with cmdctl port 47804 except for the following items
  197. | item_name | min_value | max_value |
  198. | socket.unixdomain.open | 0 | 1 |
  199. # Note: Sometime an unixdomain socket could be already opened at
  200. # the first time when stats daemon queries xfrout statistics.
  201. #
  202. # Test2 for Xfrin statistics
  203. #
  204. check initial statistics not containing example.org for Xfrin
  205. #
  206. # set transfer_acl rejection
  207. # Local xfr requests from Xfrin module would be rejected here.
  208. #
  209. When I send bind10 the following commands with cmdctl port 47804
  210. """
  211. config set Xfrout/zone_config[0]/transfer_acl [{"action": "REJECT", "from": "::1"}]
  212. config commit
  213. """
  214. last bindctl output should not contain Error
  215. When I send bind10 with cmdctl port 47804 the command Xfrout notify example.org IN
  216. Then wait for new master stderr message XFROUT_NOTIFY_COMMAND
  217. Then wait for new bind10 stderr message AUTH_RECEIVED_NOTIFY
  218. Then wait for new bind10 stderr message ZONEMGR_RECEIVE_NOTIFY
  219. Then wait for new bind10 stderr message XFRIN_XFR_TRANSFER_STARTED
  220. Then wait for new bind10 stderr message XFRIN_XFR_TRANSFER_PROTOCOL_VIOLATION not XFRIN_XFR_TRANSFER_STARTED
  221. Then wait for new bind10 stderr message ZONEMGR_RECEIVE_XFRIN_FAILED not ZONEMGR_RECEIVE_XFRIN_SUCCESS
  222. Then wait 5 times for new master stderr message NOTIFY_OUT_SENDING_NOTIFY
  223. Then wait for new master stderr message NOTIFY_OUT_RETRY_EXCEEDED
  224. A query for www.example.org to [::1]:47806 should have rcode NXDOMAIN
  225. #
  226. # Test3 for Xfrout statistics
  227. #
  228. # check statistics change
  229. #
  230. # wait until the last stats requesting is finished
  231. When I query statistics zones of bind10 module Xfrout with cmdctl port 47804
  232. wait for new master stderr message XFROUT_RECEIVED_GETSTATS_COMMAND
  233. last bindctl output should not contain "error"
  234. When I query statistics zones of bind10 module Xfrout with cmdctl port 47804
  235. The statistics counters are 0 in category .Xfrout.zones except for the following items
  236. | item_name | item_value | min_value | max_value |
  237. | _SERVER_.notifyoutv6 | 5 | | |
  238. | _SERVER_.xfrrej | | 1 | 3 |
  239. | example.org..notifyoutv6 | 5 | | |
  240. | example.org..xfrrej | | 1 | 3 |
  241. # Note: The above rejection counters might sometimes be increased
  242. # up to 3. See this for details
  243. # http://git.bind10.isc.org/~tester/builder/BIND10-lettuce/20120918210000-MacOS/logs/lettuce.out
  244. When I query statistics socket of bind10 module Xfrout with cmdctl port 47804
  245. The statistics counters are 0 in category .Xfrout.socket.unixdomain except for the following items
  246. | item_name | item_value |
  247. | open | 1 |
  248. | accept | 1 |
  249. #
  250. # Test4 for Xfrin statistics
  251. #
  252. # check statistics change
  253. #
  254. # wait until the last stats requesting is finished
  255. When I query statistics zones of bind10 module Xfrin with cmdctl
  256. wait for new bind10 stderr message XFRIN_RECEIVED_COMMAND
  257. last bindctl output should not contain "error"
  258. When I query statistics zones of bind10 module Xfrin with cmdctl
  259. The statistics counters are 0 in category .Xfrin.zones except for the following items
  260. | item_name | min_value | max_value |
  261. | _SERVER_.soaoutv6 | 1 | 3 |
  262. | _SERVER_.axfrreqv6 | 1 | 3 |
  263. | _SERVER_.xfrfail | 1 | 3 |
  264. | example.org..soaoutv6 | 1 | 3 |
  265. | example.org..axfrreqv6 | 1 | 3 |
  266. | example.org..xfrfail | 1 | 3 |
  267. # Note: The above requests and failures would be done several
  268. # times depending on timing or environment. We expect here that
  269. # they would be 1 to 3.
  270. #
  271. # Test for Xfr request rejected in IPv4
  272. #
  273. Scenario: Handle incoming notify (XFR request rejected in IPv4)
  274. Given I have bind10 running with configuration xfrin/retransfer_master_v4.conf with cmdctl port 47804 as master
  275. And wait for master stderr message BIND10_STARTED_CC
  276. And wait for master stderr message CMDCTL_STARTED
  277. And wait for master stderr message AUTH_SERVER_STARTED
  278. And wait for master stderr message XFROUT_STARTED
  279. And wait for master stderr message ZONEMGR_STARTED
  280. And wait for master stderr message STATS_STARTING
  281. And I have bind10 running with configuration xfrin/retransfer_slave_notify_v4.conf
  282. And wait for bind10 stderr message BIND10_STARTED_CC
  283. And wait for bind10 stderr message CMDCTL_STARTED
  284. And wait for bind10 stderr message AUTH_SERVER_STARTED
  285. And wait for bind10 stderr message XFRIN_STARTED
  286. And wait for bind10 stderr message ZONEMGR_STARTED
  287. A query for www.example.org to 127.0.0.1:47806 should have rcode NXDOMAIN
  288. #
  289. # Test1 for Xfrout statistics
  290. #
  291. check initial statistics not containing example.org for Xfrout with cmdctl port 47804 except for the following items
  292. | item_name | min_value | max_value |
  293. | socket.unixdomain.open | 0 | 1 |
  294. # Note: Sometime an unixdomain socket could be already opened at
  295. # the first time when stats daemon queries xfrout statistics.
  296. #
  297. # Test2 for Xfrin statistics
  298. #
  299. check initial statistics not containing example.org for Xfrin
  300. #
  301. # set transfer_acl rejection
  302. # Local xfr requests from Xfrin module would be rejected here.
  303. #
  304. When I send bind10 the following commands with cmdctl port 47804
  305. """
  306. config set Xfrout/zone_config[0]/transfer_acl [{"action": "REJECT", "from": "127.0.0.1"}]
  307. config commit
  308. """
  309. last bindctl output should not contain Error
  310. When I send bind10 with cmdctl port 47804 the command Xfrout notify example.org IN
  311. Then wait for new master stderr message XFROUT_NOTIFY_COMMAND
  312. Then wait for new bind10 stderr message AUTH_RECEIVED_NOTIFY
  313. # can't use 'wait for new' below.
  314. Then wait for bind10 stderr message ZONEMGR_RECEIVE_NOTIFY
  315. Then wait for bind10 stderr message XFRIN_XFR_TRANSFER_STARTED
  316. Then wait for bind10 stderr message XFRIN_XFR_TRANSFER_PROTOCOL_VIOLATION not XFRIN_TRANSFER_SUCCESS
  317. Then wait for bind10 stderr message ZONEMGR_RECEIVE_XFRIN_FAILED not ZONEMGR_RECEIVE_XFRIN_SUCCESS
  318. Then wait for master stderr message NOTIFY_OUT_REPLY_RECEIVED
  319. A query for www.example.org to 127.0.0.1:47806 should have rcode NXDOMAIN
  320. #
  321. # Test3 for Xfrout statistics
  322. #
  323. # check statistics change
  324. #
  325. When I query statistics zones of bind10 module Xfrout with cmdctl port 47804
  326. # wait until stats request at least after NOTIFY_OUT_REPLY_RECEIVED
  327. wait for new master stderr message XFROUT_RECEIVED_GETSTATS_COMMAND
  328. last bindctl output should not contain "error"
  329. When I query statistics zones of bind10 module Xfrout with cmdctl port 47804
  330. The statistics counters are 0 in category .Xfrout.zones except for the following items
  331. | item_name | item_value | min_value | max_value |
  332. | _SERVER_.notifyoutv4 | 5 | | |
  333. | _SERVER_.xfrrej | | 1 | 3 |
  334. | example.org..notifyoutv4 | 5 | | |
  335. | example.org..xfrrej | | 1 | 3 |
  336. # Note: The above rejection counters might sometimes be increased
  337. # up to 3. See this for details
  338. # http://git.bind10.isc.org/~tester/builder/BIND10-lettuce/20120918210000-MacOS/logs/lettuce.out
  339. When I query statistics socket of bind10 module Xfrout with cmdctl port 47804
  340. The statistics counters are 0 in category .Xfrout.socket.unixdomain except for the following items
  341. | item_name | item_value |
  342. | open | 1 |
  343. | accept | 1 |
  344. #
  345. # Test4 for Xfrin statistics
  346. #
  347. # check statistics change
  348. #
  349. # wait until the last stats requesting is finished
  350. When I query statistics zones of bind10 module Xfrin with cmdctl
  351. wait for new bind10 stderr message XFRIN_RECEIVED_COMMAND
  352. last bindctl output should not contain "error"
  353. When I query statistics zones of bind10 module Xfrin with cmdctl
  354. The statistics counters are 0 in category .Xfrin.zones except for the following items
  355. | item_name | min_value | max_value |
  356. | _SERVER_.soaoutv4 | 1 | 3 |
  357. | _SERVER_.axfrreqv4 | 1 | 3 |
  358. | _SERVER_.xfrfail | 1 | 3 |
  359. | example.org..soaoutv4 | 1 | 3 |
  360. | example.org..axfrreqv4 | 1 | 3 |
  361. | example.org..xfrfail | 1 | 3 |
  362. # Note: The above requests and failures would be done several
  363. # times depending on timing or environment. We expect here that
  364. # they would be 1 to 3.
  365. #
  366. # Test for unreachable slave
  367. #
  368. Scenario: Handle incoming notify (unreachable slave)
  369. Given I have bind10 running with configuration xfrin/retransfer_master.conf with cmdctl port 47804 as master
  370. And wait for master stderr message BIND10_STARTED_CC
  371. And wait for master stderr message CMDCTL_STARTED
  372. And wait for master stderr message AUTH_SERVER_STARTED
  373. And wait for master stderr message XFROUT_STARTED
  374. And wait for master stderr message ZONEMGR_STARTED
  375. And wait for master stderr message STATS_STARTING
  376. When I send bind10 with cmdctl port 47804 the command Xfrout notify example.org IN
  377. Then wait for new master stderr message XFROUT_NOTIFY_COMMAND
  378. Then wait for new master stderr message NOTIFY_OUT_SENDING_NOTIFY
  379. Then wait for new master stderr message NOTIFY_OUT_TIMEOUT
  380. #
  381. # Test1 for Xfrout statistics
  382. #
  383. # check statistics change
  384. #
  385. When I query statistics zones of bind10 module Xfrout with cmdctl port 47804
  386. # wait until stats request at least after NOTIFY_OUT_TIMEOUT
  387. wait for new master stderr message XFROUT_RECEIVED_GETSTATS_COMMAND
  388. last bindctl output should not contain "error"
  389. When I query statistics zones of bind10 module Xfrout with cmdctl port 47804
  390. The statistics counters are 0 in category .Xfrout.zones except for the following items
  391. | item_name | min_value | max_value |
  392. | _SERVER_.notifyoutv6 | 1 | 5 |
  393. | example.org..notifyoutv6 | 1 | 5 |
  394. When I query statistics socket of bind10 module Xfrout with cmdctl port 47804
  395. The statistics counters are 0 in category .Xfrout.socket.unixdomain except for the following items
  396. | item_name | item_value |
  397. | open | 1 |
  398. #
  399. # Test for NOTIFY that would result in NOTAUTH
  400. #
  401. Scenario: Handle incoming notify that does match authoritative zones
  402. Given I have bind10 running with configuration xfrin/retransfer_master.conf with cmdctl port 47804 as master
  403. And wait for master stderr message BIND10_STARTED_CC
  404. And wait for master stderr message CMDCTL_STARTED
  405. And wait for master stderr message AUTH_SERVER_STARTED
  406. And wait for master stderr message XFROUT_STARTED
  407. And wait for master stderr message ZONEMGR_STARTED
  408. And wait for master stderr message STATS_STARTING
  409. And I have bind10 running with configuration xfrin/retransfer_slave_notify.conf
  410. And wait for bind10 stderr message BIND10_STARTED_CC
  411. And wait for bind10 stderr message CMDCTL_STARTED
  412. And wait for bind10 stderr message AUTH_SERVER_STARTED
  413. And wait for bind10 stderr message XFRIN_STARTED
  414. And wait for bind10 stderr message ZONEMGR_STARTED
  415. #
  416. # replace master's data source with unmatched zone for slave's zone.
  417. # we restart Xfrout to make it sure.
  418. #
  419. When I send bind10 the following commands with cmdctl port 47804
  420. """
  421. config set data_sources/classes/IN[0]/params/database_file data/ixfr-out/zones.sqlite3
  422. config set Auth/database_file data/ixfr-out/zones.sqlite3
  423. config set Xfrout/zone_config[0]/origin example.com
  424. config commit
  425. Xfrout shutdown
  426. """
  427. last bindctl output should not contain "error"
  428. And wait for new master stderr message XFROUT_STARTED
  429. A query for www.example.com to [::1]:47806 should have rcode REFUSED
  430. When I send bind10 with cmdctl port 47804 the command Xfrout notify example.com IN
  431. Then wait for new master stderr message XFROUT_NOTIFY_COMMAND
  432. Then wait for new bind10 stderr message AUTH_RECEIVED_NOTIFY_NOTAUTH
  433. Then wait for new master stderr message NOTIFY_OUT_REPLY_RECEIVED
  434. A query for www.example.com to [::1]:47806 should have rcode REFUSED
  435. #
  436. # Test for NOTIFY that's not in the secondaries list
  437. #
  438. Scenario: Handle incoming notify that is not in the secondaries list
  439. Given I have bind10 running with configuration xfrin/retransfer_master.conf with cmdctl port 47804 as master
  440. And wait for master stderr message BIND10_STARTED_CC
  441. And wait for master stderr message CMDCTL_STARTED
  442. And wait for master stderr message AUTH_SERVER_STARTED
  443. And wait for master stderr message XFROUT_STARTED
  444. And wait for master stderr message ZONEMGR_STARTED
  445. And wait for master stderr message STATS_STARTING
  446. And I have bind10 running with configuration xfrin/retransfer_slave_notify.conf
  447. And wait for bind10 stderr message BIND10_STARTED_CC
  448. And wait for bind10 stderr message CMDCTL_STARTED
  449. And wait for bind10 stderr message AUTH_SERVER_STARTED
  450. And wait for bind10 stderr message XFRIN_STARTED
  451. And wait for bind10 stderr message ZONEMGR_STARTED
  452. #
  453. # Empty slave's secondaries list, and restart zonemgr to make it sure
  454. #
  455. When I send bind10 the following commands with cmdctl
  456. """
  457. config remove Zonemgr/secondary_zones[0]
  458. config commit
  459. Zonemgr shutdown
  460. """
  461. last bindctl output should not contain "error"
  462. And wait for new bind10 stderr message ZONEMGR_STARTED
  463. A query for www.example.org to [::1]:47806 should have rcode NXDOMAIN
  464. When I send bind10 with cmdctl port 47804 the command Xfrout notify example.org IN
  465. Then wait for new master stderr message XFROUT_NOTIFY_COMMAND
  466. Then wait for new bind10 stderr message AUTH_RECEIVED_NOTIFY
  467. Then wait for new bind10 stderr message ZONEMGR_RECEIVE_NOTIFY
  468. Then wait for new bind10 stderr message ZONEMGR_ZONE_NOTIFY_NOT_SECONDARY
  469. Then wait for new master stderr message NOTIFY_OUT_REPLY_RECEIVED
  470. A query for www.example.org to [::1]:47806 should have rcode NXDOMAIN