upstream commit

deprecate key_load_private_pem() and
 sshkey_load_private_pem() interfaces. Refactor the generic key loading API to
 not require pathnames to be specified (they weren't really used).

Fixes a few other things en passant:

Makes ed25519 keys work for hostbased authentication (ssh-keysign
previously used the PEM-only routines).

Fixes key comment regression bz#2306: key pathnames were being lost as
comment fields.

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