1605845630.v15-3-ga07e753.tests-update-src-luks-tests-to-use-shared-tang-test-functions.patch 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746
  1. Subject: Tests: update src/luks/tests to use shared tang test functions
  2. Origin: v15-3-ga07e753 <https://github.com/latchset/clevis/commit/v15-3-ga07e753>
  3. Upstream-Author: Sergio Correia <scorreia@redhat.com>
  4. Date: Fri Nov 20 01:13:50 2020 -0300
  5. --- a/src/luks/tests/assume-yes
  6. +++ b/src/luks/tests/assume-yes
  7. @@ -33,11 +33,10 @@
  8. TMP="$(mktemp -d)"
  9. -port=$(get_random_port)
  10. -tang_run "${TMP}" "${port}" &
  11. -tang_wait_until_ready "${port}"
  12. +port=$(tang_new_random_port)
  13. +tang_run "${TMP}" "${port}"
  14. -url="http://${TANG_HOST}:${port}"
  15. +url="http://localhost:${port}"
  16. cfg=$(printf '{"url":"%s"}' "$url")
  17. test_tang() {
  18. --- a/src/luks/tests/assume-yes-luks2
  19. +++ b/src/luks/tests/assume-yes-luks2
  20. @@ -33,11 +33,10 @@
  21. TMP="$(mktemp -d)"
  22. -port=$(get_random_port)
  23. -tang_run "${TMP}" "${port}" &
  24. -tang_wait_until_ready "${port}"
  25. +port=$(tang_new_random_port)
  26. +tang_run "${TMP}" "${port}"
  27. -url="http://${TANG_HOST}:${port}"
  28. +url="http://localhost:${port}"
  29. cfg=$(printf '{"url":"%s"}' "$url")
  30. # LUKS2.
  31. --- a/src/luks/tests/backup-restore-luks1
  32. +++ b/src/luks/tests/backup-restore-luks1
  33. @@ -31,7 +31,7 @@
  34. TMP="$(mktemp -d)"
  35. ADV="${TMP}/adv.jws"
  36. -create_tang_adv "${ADV}"
  37. +tang_create_adv "${TMP}" "${ADV}"
  38. CFG="$(printf '{"url":"foobar","adv":"%s"}' "$ADV")"
  39. # LUKS1.
  40. --- a/src/luks/tests/backup-restore-luks2
  41. +++ b/src/luks/tests/backup-restore-luks2
  42. @@ -31,7 +31,7 @@
  43. TMP="$(mktemp -d)"
  44. ADV="${TMP}/adv.jws"
  45. -create_tang_adv "${ADV}"
  46. +tang_create_adv "${TMP}" "${ADV}"
  47. CFG="$(printf '{"url":"foobar","adv":"%s"}' "$ADV")"
  48. # LUKS1.
  49. --- a/src/luks/tests/bind-already-used-luksmeta-slot
  50. +++ b/src/luks/tests/bind-already-used-luksmeta-slot
  51. @@ -31,7 +31,7 @@
  52. TMP="$(mktemp -d)"
  53. ADV="${TMP}/adv.jws"
  54. -create_tang_adv "${ADV}"
  55. +tang_create_adv "${TMP}" "${ADV}"
  56. CFG="$(printf '{"url":"foobar","adv":"%s"}' "$ADV")"
  57. # LUKS1.
  58. --- a/src/luks/tests/bind-key-file-non-interactive-luks1
  59. +++ b/src/luks/tests/bind-key-file-non-interactive-luks1
  60. @@ -31,7 +31,7 @@
  61. TMP="$(mktemp -d)"
  62. ADV="${TMP}/adv.jws"
  63. -create_tang_adv "${ADV}"
  64. +tang_create_adv "${TMP}" "${ADV}"
  65. CFG="$(printf '{"url":"foobar","adv":"%s"}' "$ADV")"
  66. UUID="cb6e8904-81ff-40da-a84a-07ab9ab5715e"
  67. KEYFILE="${TMP}/key"
  68. --- a/src/luks/tests/bind-luks1
  69. +++ b/src/luks/tests/bind-luks1
  70. @@ -31,7 +31,7 @@
  71. TMP="$(mktemp -d)"
  72. ADV="${TMP}/adv.jws"
  73. -create_tang_adv "${ADV}"
  74. +tang_create_adv "${TMP}" "${ADV}"
  75. CFG="$(printf '{"url":"foobar","adv":"%s"}' "$ADV")"
  76. # LUKS1.
  77. --- a/src/luks/tests/bind-luks2
  78. +++ b/src/luks/tests/bind-luks2
  79. @@ -35,7 +35,7 @@
  80. TMP="$(mktemp -d)"
  81. ADV="${TMP}/adv.jws"
  82. -create_tang_adv "${ADV}"
  83. +tang_create_adv "${TMP}" "${ADV}"
  84. CFG="$(printf '{"url":"foobar","adv":"%s"}' "$ADV")"
  85. # LUKS2.
  86. --- a/src/luks/tests/bind-pass-with-newline-keyfile-luks1
  87. +++ b/src/luks/tests/bind-pass-with-newline-keyfile-luks1
  88. @@ -31,7 +31,7 @@
  89. TMP="$(mktemp -d)"
  90. ADV="${TMP}/adv.jws"
  91. -create_tang_adv "${ADV}"
  92. +tang_create_adv "${TMP}" "${ADV}"
  93. CFG="$(printf '{"url":"foobar","adv":"%s"}' "$ADV")"
  94. # LUKS1.
  95. --- a/src/luks/tests/bind-pass-with-newline-luks1
  96. +++ b/src/luks/tests/bind-pass-with-newline-luks1
  97. @@ -31,7 +31,7 @@
  98. TMP="$(mktemp -d)"
  99. ADV="${TMP}/adv.jws"
  100. -create_tang_adv "${ADV}"
  101. +tang_create_adv "${TMP}" "${ADV}"
  102. CFG="$(printf '{"url":"foobar","adv":"%s"}' "$ADV")"
  103. # LUKS1.
  104. --- a/src/luks/tests/bind-wrong-pass-luks1
  105. +++ b/src/luks/tests/bind-wrong-pass-luks1
  106. @@ -31,7 +31,7 @@
  107. TMP="$(mktemp -d)"
  108. ADV="${TMP}/adv.jws"
  109. -create_tang_adv "${ADV}"
  110. +tang_create_adv "${TMP}" "${ADV}"
  111. CFG="$(printf '{"url":"foobar","adv":"%s"}' "$ADV")"
  112. # LUKS1.
  113. --- a/src/luks/tests/bind-wrong-pass-luks2
  114. +++ b/src/luks/tests/bind-wrong-pass-luks2
  115. @@ -35,7 +35,7 @@
  116. TMP="$(mktemp -d)"
  117. ADV="${TMP}/adv.jws"
  118. -create_tang_adv "${ADV}"
  119. +tang_create_adv "${TMP}" "${ADV}"
  120. CFG="$(printf '{"url":"foobar","adv":"%s"}' "$ADV")"
  121. # LUKS2.
  122. --- a/src/luks/tests/edit-tang-luks1
  123. +++ b/src/luks/tests/edit-tang-luks1
  124. @@ -36,11 +36,10 @@
  125. TMP="$(mktemp -d)"
  126. -port=$(get_random_port)
  127. -tang_run "${TMP}" "${port}" &
  128. -tang_wait_until_ready "${port}"
  129. +port=$(tang_new_random_port)
  130. +tang_run "${TMP}" "${port}"
  131. -url="http://${TANG_HOST}:${port}"
  132. +url="http://localhost:${port}"
  133. cfg=$(printf '{"url":"%s"}' "${url}")
  134. @@ -65,11 +64,10 @@
  135. # Now let's have another tang instance running and change the config to use
  136. # the new one.
  137. -port2=$(get_random_port)
  138. +port2=$(tang_new_random_port)
  139. TMP2="$(mktemp -d)"
  140. -tang_run "${TMP2}" "${port2}" &
  141. -tang_wait_until_ready "${port2}"
  142. -new_url="http://${TANG_HOST}:${port2}"
  143. +tang_run "${TMP2}" "${port2}"
  144. +new_url="http://localhost:${port2}"
  145. new_cfg=$(printf '{"url":"%s"}' "${new_url}")
  146. if ! clevis luks edit -d "${DEV}" -s 1 -c "${new_cfg}"; then
  147. --- a/src/luks/tests/edit-tang-luks2
  148. +++ b/src/luks/tests/edit-tang-luks2
  149. @@ -36,11 +36,10 @@
  150. TMP="$(mktemp -d)"
  151. -port=$(get_random_port)
  152. -tang_run "${TMP}" "${port}" &
  153. -tang_wait_until_ready "${port}"
  154. +port=$(tang_new_random_port)
  155. +tang_run "${TMP}" "${port}"
  156. -url="http://${TANG_HOST}:${port}"
  157. +url="http://localhost:${port}"
  158. cfg=$(printf '{"url":"%s"}' "${url}")
  159. @@ -65,11 +64,10 @@
  160. # Now let's have another tang instance running and change the config to use
  161. # the new one.
  162. -port2=$(get_random_port)
  163. +port2=$(tang_new_random_port)
  164. TMP2="$(mktemp -d)"
  165. -tang_run "${TMP2}" "${port2}" &
  166. -tang_wait_until_ready "${port2}"
  167. -new_url="http://${TANG_HOST}:${port2}"
  168. +tang_run "${TMP2}" "${port2}"
  169. +new_url="http://localhost:${port2}"
  170. new_cfg=$(printf '{"url":"%s"}' "${new_url}")
  171. if ! clevis luks edit -d "${DEV}" -s 1 -c "${new_cfg}"; then
  172. --- a/src/luks/tests/list-recursive-luks1
  173. +++ b/src/luks/tests/list-recursive-luks1
  174. @@ -31,7 +31,7 @@
  175. TMP="$(mktemp -d)"
  176. ADV="${TMP}/adv.jws"
  177. -create_tang_adv "${ADV}"
  178. +tang_create_adv "${TMP}" "${ADV}"
  179. PIN="sss"
  180. CFG=$(printf '
  181. {
  182. --- a/src/luks/tests/list-recursive-luks2
  183. +++ b/src/luks/tests/list-recursive-luks2
  184. @@ -31,7 +31,7 @@
  185. TMP="$(mktemp -d)"
  186. ADV="${TMP}/adv.jws"
  187. -create_tang_adv "${ADV}"
  188. +tang_create_adv "${TMP}" "${ADV}"
  189. PIN="sss"
  190. CFG=$(printf '
  191. {
  192. --- a/src/luks/tests/list-sss-tang-luks1
  193. +++ b/src/luks/tests/list-sss-tang-luks1
  194. @@ -31,7 +31,7 @@
  195. TMP="$(mktemp -d)"
  196. ADV="${TMP}/adv.jws"
  197. -create_tang_adv "${ADV}"
  198. +tang_create_adv "${TMP}" "${ADV}"
  199. PIN="sss"
  200. CFG=$(printf '
  201. {
  202. --- a/src/luks/tests/list-sss-tang-luks2
  203. +++ b/src/luks/tests/list-sss-tang-luks2
  204. @@ -31,7 +31,7 @@
  205. TMP="$(mktemp -d)"
  206. ADV="${TMP}/adv.jws"
  207. -create_tang_adv "${ADV}"
  208. +tang_create_adv "${TMP}" "${ADV}"
  209. PIN="sss"
  210. CFG=$(printf '
  211. {
  212. --- a/src/luks/tests/list-tang-luks1
  213. +++ b/src/luks/tests/list-tang-luks1
  214. @@ -31,7 +31,7 @@
  215. TMP="$(mktemp -d)"
  216. ADV="${TMP}/adv.jws"
  217. -create_tang_adv "${ADV}"
  218. +tang_create_adv "${TMP}" "${ADV}"
  219. PIN="tang"
  220. CFG=$(printf '{"url": "ADDR","adv": "%s"}' "${ADV}")
  221. --- a/src/luks/tests/list-tang-luks2
  222. +++ b/src/luks/tests/list-tang-luks2
  223. @@ -31,7 +31,7 @@
  224. TMP="$(mktemp -d)"
  225. ADV="${TMP}/adv.jws"
  226. -create_tang_adv "${ADV}"
  227. +tang_create_adv "${TMP}" "${ADV}"
  228. PIN="tang"
  229. CFG=$(printf '{"url": "ADDR","adv": "%s"}' "${ADV}")
  230. --- a/src/luks/tests/meson.build
  231. +++ b/src/luks/tests/meson.build
  232. @@ -1,39 +1,6 @@
  233. # We use jq for comparing the pin config in the clevis luks list tests.
  234. jq = find_program('jq', required: false)
  235. -# We use systemd-socket-activate for running test tang servers.
  236. -actv = find_program(
  237. - 'systemd-socket-activate',
  238. - 'systemd-activate',
  239. - join_paths('/', 'usr', 'lib', 'systemd', 'systemd-activate'),
  240. - required: false
  241. -)
  242. -
  243. -kgen = find_program(
  244. - join_paths(libexecdir, 'tangd-keygen'),
  245. - join_paths(get_option('prefix'), get_option('libdir'), 'tangd-keygen'),
  246. - join_paths(get_option('prefix'), get_option('libexecdir'), 'tangd-keygen'),
  247. - join_paths('/', 'usr', get_option('libdir'), 'tangd-keygen'),
  248. - join_paths('/', 'usr', get_option('libexecdir'), 'tangd-keygen'),
  249. - required: false
  250. -)
  251. -updt = find_program(
  252. - join_paths(libexecdir, 'tangd-update'),
  253. - join_paths(get_option('prefix'), get_option('libdir'), 'tangd-update'),
  254. - join_paths(get_option('prefix'), get_option('libexecdir'), 'tangd-update'),
  255. - join_paths('/', 'usr', get_option('libdir'), 'tangd-update'),
  256. - join_paths('/', 'usr', get_option('libexecdir'), 'tangd-update'),
  257. - required: false
  258. -)
  259. -tang = find_program(
  260. - join_paths(libexecdir, 'tangd'),
  261. - join_paths(get_option('prefix'), get_option('libdir'), 'tangd'),
  262. - join_paths(get_option('prefix'), get_option('libexecdir'), 'tangd'),
  263. - join_paths('/', 'usr', get_option('libdir'), 'tangd'),
  264. - join_paths('/', 'usr', get_option('libexecdir'), 'tangd'),
  265. - required: false
  266. -)
  267. -
  268. common_functions = configure_file(input: 'tests-common-functions.in',
  269. output: 'tests-common-functions',
  270. configuration: luksmeta_data,
  271. @@ -53,19 +20,11 @@
  272. join_paths(meson.build_root(), 'src', 'luks'),
  273. join_paths(meson.build_root(), 'src', 'pins', 'sss'),
  274. join_paths(meson.build_root(), 'src', 'pins', 'tang'),
  275. + join_paths(meson.build_root(), 'src', 'pins', 'tang', 'tests'),
  276. join_paths(meson.build_root(), 'src', 'pins', 'tpm2'),
  277. separator: ':'
  278. )
  279. -has_tang = false
  280. -if actv.found() and kgen.found() and updt.found() and tang.found()
  281. - has_tang = true
  282. - env.set('SD_ACTIVATE', actv.path())
  283. - env.set('TANGD_KEYGEN', kgen.path())
  284. - env.set('TANGD_UPDATE', updt.path())
  285. - env.set('TANGD', tang.path())
  286. -endif
  287. -
  288. test('bind-wrong-pass-luks1', find_program('bind-wrong-pass-luks1'), env: env)
  289. test('bind-luks1', find_program('bind-luks1'), env: env)
  290. test('unbind-unbound-slot-luks1', find_program('unbind-unbound-slot-luks1'), env: env)
  291. @@ -85,15 +44,13 @@
  292. warning('Will not run "clevis luks list" tests due to missing jq dependency')
  293. endif
  294. -if has_tang
  295. - test('unlock-tang-luks1', find_program('unlock-tang-luks1'), env: env, timeout: 90)
  296. - test('assume-yes', find_program('assume-yes'), env: env, timeout: 60)
  297. - test('regen-inplace-luks1', find_program('regen-inplace-luks1'), env: env, timeout: 90)
  298. - test('regen-not-inplace-luks1', find_program('regen-not-inplace-luks1'), env: env, timeout: 90)
  299. - test('report-tang-luks1', find_program('report-tang-luks1'), env: env, timeout: 90)
  300. - test('report-sss-luks1', find_program('report-sss-luks1'), env: env, timeout: 90)
  301. - test('edit-tang-luks1', find_program('edit-tang-luks1'), env: env, timeout: 150)
  302. -endif
  303. +test('unlock-tang-luks1', find_program('unlock-tang-luks1'), env: env, timeout: 90)
  304. +test('assume-yes', find_program('assume-yes'), env: env, timeout: 60)
  305. +test('regen-inplace-luks1', find_program('regen-inplace-luks1'), env: env, timeout: 90)
  306. +test('regen-not-inplace-luks1', find_program('regen-not-inplace-luks1'), env: env, timeout: 90)
  307. +test('report-tang-luks1', find_program('report-tang-luks1'), env: env, timeout: 90)
  308. +test('report-sss-luks1', find_program('report-sss-luks1'), env: env, timeout: 90)
  309. +test('edit-tang-luks1', find_program('edit-tang-luks1'), env: env, timeout: 150)
  310. test('backup-restore-luks1', find_program('backup-restore-luks1'), env: env, timeout: 60)
  311. @@ -112,15 +69,13 @@
  312. test('list-sss-tang-luks2', find_program('list-sss-tang-luks2'), env: env, timeout: 60)
  313. endif
  314. - if has_tang
  315. - test('unlock-tang-luks2', find_program('unlock-tang-luks2'), env: env, timeout: 120)
  316. - test('assume-yes-luks2', find_program('assume-yes-luks2'), env: env, timeout: 90)
  317. - test('regen-inplace-luks2', find_program('regen-inplace-luks2'), env: env, timeout: 120)
  318. - test('regen-not-inplace-luks2', find_program('regen-not-inplace-luks2'), env: env, timeout: 120)
  319. - test('report-tang-luks2', find_program('report-tang-luks2'), env: env, timeout: 120)
  320. - test('report-sss-luks2', find_program('report-sss-luks2'), env: env, timeout: 120)
  321. - test('edit-tang-luks2', find_program('edit-tang-luks2'), env: env, timeout: 210)
  322. - endif
  323. + test('unlock-tang-luks2', find_program('unlock-tang-luks2'), env: env, timeout: 120)
  324. + test('assume-yes-luks2', find_program('assume-yes-luks2'), env: env, timeout: 90)
  325. + test('regen-inplace-luks2', find_program('regen-inplace-luks2'), env: env, timeout: 120)
  326. + test('regen-not-inplace-luks2', find_program('regen-not-inplace-luks2'), env: env, timeout: 120)
  327. + test('report-tang-luks2', find_program('report-tang-luks2'), env: env, timeout: 120)
  328. + test('report-sss-luks2', find_program('report-sss-luks2'), env: env, timeout: 120)
  329. + test('edit-tang-luks2', find_program('edit-tang-luks2'), env: env, timeout: 210)
  330. -test('backup-restore-luks2', find_program('backup-restore-luks2'), env: env, timeout: 120)
  331. + test('backup-restore-luks2', find_program('backup-restore-luks2'), env: env, timeout: 120)
  332. endif
  333. --- a/src/luks/tests/regen-inplace-luks1
  334. +++ b/src/luks/tests/regen-inplace-luks1
  335. @@ -32,11 +32,10 @@
  336. TMP=$(mktemp -d)
  337. -port=$(get_random_port)
  338. -tang_run "${TMP}" "${port}" &
  339. -tang_wait_until_ready "${port}"
  340. +port=$(tang_new_random_port)
  341. +tang_run "${TMP}" "${port}"
  342. -url="http://${TANG_HOST}:${port}"
  343. +url="http://localhost:${port}"
  344. adv="${TMP}/adv"
  345. tang_get_adv "${port}" "${adv}"
  346. --- a/src/luks/tests/regen-inplace-luks2
  347. +++ b/src/luks/tests/regen-inplace-luks2
  348. @@ -32,11 +32,10 @@
  349. TMP=$(mktemp -d)
  350. -port=$(get_random_port)
  351. -tang_run "${TMP}" "${port}" &
  352. -tang_wait_until_ready "${port}"
  353. +port=$(tang_new_random_port)
  354. +tang_run "${TMP}" "${port}"
  355. -url="http://${TANG_HOST}:${port}"
  356. +url="http://localhost:${port}"
  357. adv="${TMP}/adv"
  358. tang_get_adv "${port}" "${adv}"
  359. --- a/src/luks/tests/regen-not-inplace-luks1
  360. +++ b/src/luks/tests/regen-not-inplace-luks1
  361. @@ -32,11 +32,10 @@
  362. export TMP=$(mktemp -d)
  363. -port=$(get_random_port)
  364. -tang_run "${TMP}" "${port}" &
  365. -tang_wait_until_ready "${port}"
  366. +port=$(tang_new_random_port)
  367. +tang_run "${TMP}" "${port}"
  368. -url="http://${TANG_HOST}:${port}"
  369. +url="http://localhost:${port}"
  370. adv="${TMP}/adv"
  371. tang_get_adv "${port}" "${adv}"
  372. --- a/src/luks/tests/regen-not-inplace-luks2
  373. +++ b/src/luks/tests/regen-not-inplace-luks2
  374. @@ -32,11 +32,10 @@
  375. export TMP=$(mktemp -d)
  376. -port=$(get_random_port)
  377. -tang_run "${TMP}" "${port}" &
  378. -tang_wait_until_ready "${port}"
  379. +port=$(tang_new_random_port)
  380. +tang_run "${TMP}" "${port}"
  381. -url="http://${TANG_HOST}:${port}"
  382. +url="http://localhost:${port}"
  383. adv="${TMP}/adv"
  384. tang_get_adv "${port}" "${adv}"
  385. --- a/src/luks/tests/report-sss-luks1
  386. +++ b/src/luks/tests/report-sss-luks1
  387. @@ -32,11 +32,10 @@
  388. TMP=$(mktemp -d)
  389. -port=$(get_random_port)
  390. -tang_run "${TMP}" "${port}" &
  391. -tang_wait_until_ready "${port}"
  392. +port=$(tang_new_random_port)
  393. +tang_run "${TMP}" "${port}"
  394. -url="http://${TANG_HOST}:${port}"
  395. +url="http://localhost:${port}"
  396. adv="${TMP}/adv"
  397. tang_get_adv "${port}" "${adv}"
  398. --- a/src/luks/tests/report-sss-luks2
  399. +++ b/src/luks/tests/report-sss-luks2
  400. @@ -32,11 +32,10 @@
  401. TMP=$(mktemp -d)
  402. -port=$(get_random_port)
  403. -tang_run "${TMP}" "${port}" &
  404. -tang_wait_until_ready "${port}"
  405. +port=$(tang_new_random_port)
  406. +tang_run "${TMP}" "${port}"
  407. -url="http://${TANG_HOST}:${port}"
  408. +url="http://localhost:${port}"
  409. adv="${TMP}/adv"
  410. tang_get_adv "${port}" "${adv}"
  411. --- a/src/luks/tests/report-tang-luks1
  412. +++ b/src/luks/tests/report-tang-luks1
  413. @@ -32,11 +32,10 @@
  414. TMP=$(mktemp -d)
  415. -port=$(get_random_port)
  416. -tang_run "${TMP}" "${port}" &
  417. -tang_wait_until_ready "${port}"
  418. +port=$(tang_new_random_port)
  419. +tang_run "${TMP}" "${port}"
  420. -url="http://${TANG_HOST}:${port}"
  421. +url="http://localhost:${port}"
  422. adv="${TMP}/adv"
  423. tang_get_adv "${port}" "${adv}"
  424. --- a/src/luks/tests/report-tang-luks2
  425. +++ b/src/luks/tests/report-tang-luks2
  426. @@ -32,11 +32,10 @@
  427. TMP=$(mktemp -d)
  428. -port=$(get_random_port)
  429. -tang_run "${TMP}" "${port}" &
  430. -tang_wait_until_ready "${port}"
  431. +port=$(tang_new_random_port)
  432. +tang_run "${TMP}" "${port}"
  433. -url="http://${TANG_HOST}:${port}"
  434. +url="http://localhost:${port}"
  435. adv="${TMP}/adv"
  436. tang_get_adv "${port}" "${adv}"
  437. --- a/src/luks/tests/tests-common-functions.in
  438. +++ b/src/luks/tests/tests-common-functions.in
  439. @@ -18,6 +18,8 @@
  440. # along with this program. If not, see <http://www.gnu.org/licenses/>.
  441. #
  442. +. tang-common-test-functions
  443. +
  444. error() {
  445. echo "${1}" >&2
  446. exit 1
  447. @@ -34,20 +36,6 @@
  448. return @OLD_CRYPTSETUP@
  449. }
  450. -# Creates a tang adv to be used in the test.
  451. -create_tang_adv() {
  452. - local adv="${1}"
  453. - local SIG="${TMP}/sig.jwk"
  454. - jose jwk gen -i '{"alg":"ES512"}' > "${SIG}"
  455. -
  456. - local EXC="${TMP}/exc.jwk"
  457. - jose jwk gen -i '{"alg":"ECMR"}' > "${EXC}"
  458. -
  459. - local TEMPLATE='{"protected":{"cty":"jwk-set+json"}}'
  460. - jose jwk pub -s -i "${SIG}" -i "${EXC}" \
  461. - | jose jws sig -I- -s "${TEMPLATE}" -k "${SIG}" -o "${adv}"
  462. -}
  463. -
  464. # Creates a new LUKS1 or LUKS2 device to be used.
  465. new_device() {
  466. local LUKS="${1}"
  467. @@ -236,132 +224,4 @@
  468. return 0
  469. }
  470. -
  471. -# Get a random port to be used with a test tang server.
  472. -get_random_port() {
  473. - shuf -i 1024-65535 -n 1
  474. -}
  475. -
  476. -# Removes tang rotated keys from the test server.
  477. -tang_remove_rotated_keys() {
  478. - local basedir="${1}"
  479. -
  480. - if [ -z "${basedir}" ]; then
  481. - echo "Please pass a valid base directory for tang"
  482. - return 1
  483. - fi
  484. -
  485. - [ -z "${TANGD_UPDATE}" ] && skip_test "WARNING: TANGD_UPDATE is not defined."
  486. -
  487. - local db="${basedir}/db"
  488. - local cache="${basedir}/cache"
  489. - mkdir -p "${db}"
  490. - mkdir -p "${cache}"
  491. -
  492. - pushd "${db}"
  493. - find . -name ".*.jwk" -exec rm -f {} \;
  494. - popd
  495. -
  496. - "${TANGD_UPDATE}" "${db}" "${cache}"
  497. - return 0
  498. -}
  499. -
  500. -# Creates new keys for the test tang server.
  501. -tang_new_keys() {
  502. - local basedir="${1}"
  503. - local rotate="${2}"
  504. -
  505. - if [ -z "${basedir}" ]; then
  506. - echo "Please pass a valid base directory for tang"
  507. - return 1
  508. - fi
  509. -
  510. - [ -z "${TANGD_KEYGEN}" ] && skip_test "WARNING: TANGD_KEYGEN is not defined."
  511. - [ -z "${TANGD_UPDATE}" ] && skip_test "WARNING: TANGD_UPDATE is not defined."
  512. -
  513. - local db="${basedir}/db"
  514. - local cache="${basedir}/cache"
  515. - mkdir -p "${db}"
  516. -
  517. - if [ -n "${rotate}" ]; then
  518. - pushd "${db}"
  519. - local k
  520. - k=$(find . -name "*.jwk" | wc -l)
  521. - if [ "${k}" -gt 0 ]; then
  522. - for k in *.jwk; do
  523. - mv -f -- "${k}" ".${k}"
  524. - done
  525. - fi
  526. - popd
  527. - fi
  528. -
  529. - "${TANGD_KEYGEN}" "${db}"
  530. - "${TANGD_UPDATE}" "${db}" "${cache}"
  531. -
  532. - return 0
  533. -}
  534. -
  535. -# Start a test tang server.
  536. -tang_run() {
  537. - local basedir="${1}"
  538. - local port="${2}"
  539. -
  540. - if [ -z "${basedir}" ]; then
  541. - echo "Please pass a valid base directory for tang" >&2
  542. - return 1
  543. - fi
  544. -
  545. - if [ -z "${port}" ]; then
  546. - echo "Please pass a valid port for tang" >&2
  547. - return 1
  548. - fi
  549. -
  550. - if ! tang_new_keys "${basedir}"; then
  551. - echo "Error creating new keys for tang server" >&2
  552. - return 1
  553. - fi
  554. -
  555. - local KEYS="${basedir}/cache"
  556. - local inetd='--inetd'
  557. - [ "${SD_ACTIVATE##*/}" = "systemd-activate" ] && inetd=
  558. -
  559. - local pid pidfile
  560. - pidfile="${basedir}/tang.pid"
  561. -
  562. - "${SD_ACTIVATE}" ${inetd} -l "${TANG_HOST}":"${port}" \
  563. - -a "${TANGD}" "${KEYS}" &
  564. - pid=$!
  565. - echo "${pid}" > "${pidfile}"
  566. -}
  567. -
  568. -# Stop tang server.
  569. -tang_stop() {
  570. - local basedir="${1}"
  571. - local pidfile="${basedir}/tang.pid"
  572. - [ -f "${pidfile}" ] || return 0
  573. -
  574. - local pid
  575. - pid=$(<"${pidfile}")
  576. - kill "${pid}"
  577. -}
  578. -
  579. -# Wait for the tang server to be operational.
  580. -tang_wait_until_ready() {
  581. - local port="${1}"
  582. - while ! curl --output /dev/null --silent --fail \
  583. - http://"${TANG_HOST}":"${port}"/adv; do
  584. - sleep 0.1
  585. - echo -n . >&2
  586. - done
  587. -}
  588. -
  589. -# Get tang advertisement.
  590. -tang_get_adv() {
  591. - local port="${1}"
  592. - local adv="${2}"
  593. -
  594. - curl -o "${adv}" http://"${TANG_HOST}":"${port}"/adv
  595. -}
  596. -
  597. -export TANG_HOST=127.0.0.1
  598. export DEFAULT_PASS='just-some-test-password-here'
  599. --- a/src/luks/tests/unbind-luks1
  600. +++ b/src/luks/tests/unbind-luks1
  601. @@ -30,7 +30,7 @@
  602. TMP="$(mktemp -d)"
  603. ADV="${TMP}/adv.jws"
  604. -create_tang_adv "${ADV}"
  605. +tang_create_adv "${TMP}" "${ADV}"
  606. CFG="$(printf '{"url":"foobar","adv":"%s"}' "$ADV")"
  607. # LUKS1.
  608. --- a/src/luks/tests/unbind-luks2
  609. +++ b/src/luks/tests/unbind-luks2
  610. @@ -34,7 +34,7 @@
  611. TMP="$(mktemp -d)"
  612. ADV="${TMP}/adv.jws"
  613. -create_tang_adv "${ADV}"
  614. +tang_create_adv "${TMP}" "${ADV}"
  615. CFG="$(printf '{"url":"foobar","adv":"%s"}' "$ADV")"
  616. # LUKS2.
  617. --- a/src/luks/tests/unlock-tang-luks1
  618. +++ b/src/luks/tests/unlock-tang-luks1
  619. @@ -33,11 +33,10 @@
  620. TMP="$(mktemp -d)"
  621. -port=$(get_random_port)
  622. -tang_run "${TMP}" "${port}" &
  623. -tang_wait_until_ready "${port}"
  624. +port=$(tang_new_random_port)
  625. +tang_run "${TMP}" "${port}"
  626. -url="http://${TANG_HOST}:${port}"
  627. +url="http://localhost:${port}"
  628. adv="${TMP}/adv"
  629. tang_get_adv "${port}" "${adv}"
  630. --- a/src/luks/tests/unlock-tang-luks2
  631. +++ b/src/luks/tests/unlock-tang-luks2
  632. @@ -33,11 +33,10 @@
  633. TMP="$(mktemp -d)"
  634. -port=$(get_random_port)
  635. -tang_run "${TMP}" "${port}" &
  636. -tang_wait_until_ready "${port}"
  637. +port=$(tang_new_random_port)
  638. +tang_run "${TMP}" "${port}"
  639. -url="http://${TANG_HOST}:${port}"
  640. +url="http://localhost:${port}"
  641. adv="${TMP}/adv"
  642. tang_get_adv "${port}" "${adv}"