upstream: Correct some bugs in PKCS#11 token PIN handling at

initial login, the attempt at reading the PIN could be skipped in some cases
especially on devices with integrated PIN readers.

based on patch from Daniel Kucera in bz#2652; ok markus@

OpenBSD-Commit-ID: fad70a61c60610afe8bb0db538c90e343e75e58e
1 file changed
tree: 2ae3cf82dc629a17b636ff26df2bdc91adff5caf
  1. contrib/
  2. openbsd-compat/
  3. regress/
  4. .depend
  5. .gitignore
  6. .skipped-commit-ids
  7. aclocal.m4
  8. addrmatch.c
  9. atomicio.c
  10. atomicio.h
  11. audit-bsm.c
  12. audit-linux.c
  13. audit.c
  14. audit.h
  15. auth-bsdauth.c
  16. auth-krb5.c
  17. auth-options.c
  18. auth-options.h
  19. auth-pam.c
  20. auth-pam.h
  21. auth-passwd.c
  22. auth-rhosts.c
  23. auth-shadow.c
  24. auth-sia.c
  25. auth-sia.h
  26. auth-skey.c
  27. auth.c
  28. auth.h
  29. auth2-chall.c
  30. auth2-gss.c
  31. auth2-hostbased.c
  32. auth2-kbdint.c
  33. auth2-none.c
  34. auth2-passwd.c
  35. auth2-pubkey.c
  36. auth2.c
  37. authfd.c
  38. authfd.h
  39. authfile.c
  40. authfile.h
  41. bitmap.c
  42. bitmap.h
  43. buildpkg.sh.in
  44. canohost.c
  45. canohost.h
  46. chacha.c
  47. chacha.h
  48. channels.c
  49. channels.h
  50. cipher-aes.c
  51. cipher-aesctr.c
  52. cipher-aesctr.h
  53. cipher-chachapoly.c
  54. cipher-chachapoly.h
  55. cipher-ctr.c
  56. cipher.c
  57. cipher.h
  58. cleanup.c
  59. clientloop.c
  60. clientloop.h
  61. compat.c
  62. compat.h
  63. config.guess
  64. config.sub
  65. configure.ac
  66. crc32.c
  67. crc32.h
  68. CREDITS
  69. crypto_api.h
  70. defines.h
  71. dh.c
  72. dh.h
  73. digest-libc.c
  74. digest-openssl.c
  75. digest.h
  76. dispatch.c
  77. dispatch.h
  78. dns.c
  79. dns.h
  80. ed25519.c
  81. entropy.c
  82. entropy.h
  83. fatal.c
  84. fe25519.c
  85. fe25519.h
  86. fixalgorithms
  87. fixpaths
  88. ge25519.c
  89. ge25519.h
  90. ge25519_base.data
  91. groupaccess.c
  92. groupaccess.h
  93. gss-genr.c
  94. gss-serv-krb5.c
  95. gss-serv.c
  96. hash.c
  97. hmac.c
  98. hmac.h
  99. hostfile.c
  100. hostfile.h
  101. includes.h
  102. INSTALL
  103. install-sh
  104. kex.c
  105. kex.h
  106. kexc25519.c
  107. kexdh.c
  108. kexecdh.c
  109. kexgen.c
  110. kexgex.c
  111. kexgexc.c
  112. kexgexs.c
  113. kexsntrup4591761x25519.c
  114. krl.c
  115. krl.h
  116. LICENCE
  117. log.c
  118. log.h
  119. loginrec.c
  120. loginrec.h
  121. logintest.c
  122. mac.c
  123. mac.h
  124. Makefile.in
  125. match.c
  126. match.h
  127. md5crypt.c
  128. md5crypt.h
  129. mdoc2man.awk
  130. misc.c
  131. misc.h
  132. mkinstalldirs
  133. moduli
  134. moduli.5
  135. moduli.c
  136. monitor.c
  137. monitor.h
  138. monitor_fdpass.c
  139. monitor_fdpass.h
  140. monitor_wrap.c
  141. monitor_wrap.h
  142. msg.c
  143. msg.h
  144. mux.c
  145. myproposal.h
  146. nchan.c
  147. nchan.ms
  148. nchan2.ms
  149. openssh.xml.in
  150. opensshd.init.in
  151. OVERVIEW
  152. packet.c
  153. packet.h
  154. pathnames.h
  155. pkcs11.h
  156. platform-misc.c
  157. platform-pledge.c
  158. platform-tracing.c
  159. platform.c
  160. platform.h
  161. poly1305.c
  162. poly1305.h
  163. progressmeter.c
  164. progressmeter.h
  165. PROTOCOL
  166. PROTOCOL.agent
  167. PROTOCOL.certkeys
  168. PROTOCOL.chacha20poly1305
  169. PROTOCOL.key
  170. PROTOCOL.krl
  171. PROTOCOL.mux
  172. readconf.c
  173. readconf.h
  174. README
  175. README.dns
  176. README.platform
  177. README.privsep
  178. README.tun
  179. readpass.c
  180. rijndael.c
  181. rijndael.h
  182. sandbox-capsicum.c
  183. sandbox-darwin.c
  184. sandbox-null.c
  185. sandbox-pledge.c
  186. sandbox-rlimit.c
  187. sandbox-seccomp-filter.c
  188. sandbox-solaris.c
  189. sandbox-systrace.c
  190. sc25519.c
  191. sc25519.h
  192. scp.1
  193. scp.c
  194. servconf.c
  195. servconf.h
  196. serverloop.c
  197. serverloop.h
  198. session.c
  199. session.h
  200. sftp-client.c
  201. sftp-client.h
  202. sftp-common.c
  203. sftp-common.h
  204. sftp-glob.c
  205. sftp-server-main.c
  206. sftp-server.8
  207. sftp-server.c
  208. sftp.1
  209. sftp.c
  210. sftp.h
  211. smult_curve25519_ref.c
  212. sntrup4591761.c
  213. sntrup4591761.sh
  214. ssh-add.1
  215. ssh-add.c
  216. ssh-agent.1
  217. ssh-agent.c
  218. ssh-dss.c
  219. ssh-ecdsa.c
  220. ssh-ed25519.c
  221. ssh-gss.h
  222. ssh-keygen.1
  223. ssh-keygen.c
  224. ssh-keyscan.1
  225. ssh-keyscan.c
  226. ssh-keysign.8
  227. ssh-keysign.c
  228. ssh-pkcs11-client.c
  229. ssh-pkcs11-helper.8
  230. ssh-pkcs11-helper.c
  231. ssh-pkcs11.c
  232. ssh-pkcs11.h
  233. ssh-rsa.c
  234. ssh-sandbox.h
  235. ssh-xmss.c
  236. ssh.1
  237. ssh.c
  238. ssh.h
  239. ssh2.h
  240. ssh_api.c
  241. ssh_api.h
  242. ssh_config
  243. ssh_config.5
  244. sshbuf-getput-basic.c
  245. sshbuf-getput-crypto.c
  246. sshbuf-misc.c
  247. sshbuf.c
  248. sshbuf.h
  249. sshconnect.c
  250. sshconnect.h
  251. sshconnect2.c
  252. sshd.8
  253. sshd.c
  254. sshd_config
  255. sshd_config.5
  256. ssherr.c
  257. ssherr.h
  258. sshkey-xmss.c
  259. sshkey-xmss.h
  260. sshkey.c
  261. sshkey.h
  262. sshlogin.c
  263. sshlogin.h
  264. sshpty.c
  265. sshpty.h
  266. sshtty.c
  267. survey.sh.in
  268. TODO
  269. ttymodes.c
  270. ttymodes.h
  271. uidswap.c
  272. uidswap.h
  273. umac.c
  274. umac.h
  275. umac128.c
  276. utf8.c
  277. utf8.h
  278. uuencode.c
  279. uuencode.h
  280. verify.c
  281. version.h
  282. xmalloc.c
  283. xmalloc.h
  284. xmss_commons.c
  285. xmss_commons.h
  286. xmss_fast.c
  287. xmss_fast.h
  288. xmss_hash.c
  289. xmss_hash.h
  290. xmss_hash_address.c
  291. xmss_hash_address.h
  292. xmss_wots.c
  293. xmss_wots.h