Explicitly test for broken strnvis.

NetBSD added an strnvis and unfortunately made it incompatible with the
existing one in OpenBSD and Linux's libbsd (the former having existed
for over ten years). Despite this incompatibility being reported during
development (see http://gnats.netbsd.org/44977) they still shipped it.
Even more unfortunately FreeBSD and later MacOS picked up this incompatible
implementation.  Try to detect this mess, and assume the only safe option
if we're cross compiling.

OpenBSD 2.9 (2001): strnvis(char *dst, const char *src, size_t dlen, int flag);
NetBSD 6.0 (2012):  strnvis(char *dst, size_t dlen, const char *src, int flag);

ok djm@
1 file changed
tree: a812e7db9009b53412f3421d4ca1a12434ab6c17
  1. contrib/
  2. openbsd-compat/
  3. regress/
  4. .skipped-commit-ids
  5. aclocal.m4
  6. addrmatch.c
  7. atomicio.c
  8. atomicio.h
  9. audit-bsm.c
  10. audit-linux.c
  11. audit.c
  12. audit.h
  13. auth-bsdauth.c
  14. auth-chall.c
  15. auth-krb5.c
  16. auth-options.c
  17. auth-options.h
  18. auth-pam.c
  19. auth-pam.h
  20. auth-passwd.c
  21. auth-rh-rsa.c
  22. auth-rhosts.c
  23. auth-rsa.c
  24. auth-shadow.c
  25. auth-sia.c
  26. auth-sia.h
  27. auth-skey.c
  28. auth.c
  29. auth.h
  30. auth1.c
  31. auth2-chall.c
  32. auth2-gss.c
  33. auth2-hostbased.c
  34. auth2-kbdint.c
  35. auth2-none.c
  36. auth2-passwd.c
  37. auth2-pubkey.c
  38. auth2.c
  39. authfd.c
  40. authfd.h
  41. authfile.c
  42. authfile.h
  43. bitmap.c
  44. bitmap.h
  45. blocks.c
  46. bufaux.c
  47. bufbn.c
  48. bufec.c
  49. buffer.c
  50. buffer.h
  51. buildpkg.sh.in
  52. canohost.c
  53. canohost.h
  54. chacha.c
  55. chacha.h
  56. channels.c
  57. channels.h
  58. cipher-3des1.c
  59. cipher-aes.c
  60. cipher-aesctr.c
  61. cipher-aesctr.h
  62. cipher-bf1.c
  63. cipher-chachapoly.c
  64. cipher-chachapoly.h
  65. cipher-ctr.c
  66. cipher.c
  67. cipher.h
  68. cleanup.c
  69. clientloop.c
  70. clientloop.h
  71. compat.c
  72. compat.h
  73. config.guess
  74. config.sub
  75. configure.ac
  76. crc32.c
  77. crc32.h
  78. CREDITS
  79. crypto_api.h
  80. deattack.c
  81. deattack.h
  82. defines.h
  83. dh.c
  84. dh.h
  85. digest-libc.c
  86. digest-openssl.c
  87. digest.h
  88. dispatch.c
  89. dispatch.h
  90. dns.c
  91. dns.h
  92. ed25519.c
  93. entropy.c
  94. entropy.h
  95. fatal.c
  96. fe25519.c
  97. fe25519.h
  98. fixalgorithms
  99. fixpaths
  100. fixprogs
  101. ge25519.c
  102. ge25519.h
  103. ge25519_base.data
  104. groupaccess.c
  105. groupaccess.h
  106. gss-genr.c
  107. gss-serv-krb5.c
  108. gss-serv.c
  109. hash.c
  110. hmac.c
  111. hmac.h
  112. hostfile.c
  113. hostfile.h
  114. includes.h
  115. INSTALL
  116. install-sh
  117. kex.c
  118. kex.h
  119. kexc25519.c
  120. kexc25519c.c
  121. kexc25519s.c
  122. kexdh.c
  123. kexdhc.c
  124. kexdhs.c
  125. kexecdh.c
  126. kexecdhc.c
  127. kexecdhs.c
  128. kexgex.c
  129. kexgexc.c
  130. kexgexs.c
  131. key.c
  132. key.h
  133. krl.c
  134. krl.h
  135. LICENCE
  136. log.c
  137. log.h
  138. loginrec.c
  139. loginrec.h
  140. logintest.c
  141. mac.c
  142. mac.h
  143. Makefile.in
  144. match.c
  145. match.h
  146. md-sha256.c
  147. md5crypt.c
  148. md5crypt.h
  149. mdoc2man.awk
  150. misc.c
  151. misc.h
  152. mkinstalldirs
  153. moduli
  154. moduli.5
  155. moduli.c
  156. monitor.c
  157. monitor.h
  158. monitor_fdpass.c
  159. monitor_fdpass.h
  160. monitor_mm.c
  161. monitor_mm.h
  162. monitor_wrap.c
  163. monitor_wrap.h
  164. msg.c
  165. msg.h
  166. mux.c
  167. myproposal.h
  168. nchan.c
  169. nchan.ms
  170. nchan2.ms
  171. opacket.c
  172. opacket.h
  173. openssh.xml.in
  174. opensshd.init.in
  175. OVERVIEW
  176. packet.c
  177. packet.h
  178. pathnames.h
  179. pkcs11.h
  180. platform-pledge.c
  181. platform-tracing.c
  182. platform.c
  183. platform.h
  184. poly1305.c
  185. poly1305.h
  186. progressmeter.c
  187. progressmeter.h
  188. PROTOCOL
  189. PROTOCOL.agent
  190. PROTOCOL.certkeys
  191. PROTOCOL.chacha20poly1305
  192. PROTOCOL.key
  193. PROTOCOL.krl
  194. PROTOCOL.mux
  195. readconf.c
  196. readconf.h
  197. README
  198. README.dns
  199. README.platform
  200. README.privsep
  201. README.tun
  202. readpass.c
  203. rijndael.c
  204. rijndael.h
  205. rsa.c
  206. rsa.h
  207. sandbox-capsicum.c
  208. sandbox-darwin.c
  209. sandbox-null.c
  210. sandbox-pledge.c
  211. sandbox-rlimit.c
  212. sandbox-seccomp-filter.c
  213. sandbox-solaris.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_api.c
  264. ssh_api.h
  265. ssh_config
  266. ssh_config.5
  267. sshbuf-getput-basic.c
  268. sshbuf-getput-crypto.c
  269. sshbuf-misc.c
  270. sshbuf.c
  271. sshbuf.h
  272. sshconnect.c
  273. sshconnect.h
  274. sshconnect1.c
  275. sshconnect2.c
  276. sshd.8
  277. sshd.c
  278. sshd_config
  279. sshd_config.5
  280. ssherr.c
  281. ssherr.h
  282. sshkey.c
  283. sshkey.h
  284. sshlogin.c
  285. sshlogin.h
  286. sshpty.c
  287. sshpty.h
  288. sshtty.c
  289. survey.sh.in
  290. TODO
  291. ttymodes.c
  292. ttymodes.h
  293. uidswap.c
  294. uidswap.h
  295. umac.c
  296. umac.h
  297. utf8.c
  298. utf8.h
  299. uuencode.c
  300. uuencode.h
  301. verify.c
  302. version.h
  303. xmalloc.c
  304. xmalloc.h