Initial attempt at a Fuchsia port.

It doesn't quite actually work yet. The client connects, keystrokes are
transmitted but nothing is shown locally. Eventually the receive window
fills. The server starts but doesn't seem to work.

Changes from upstream:
 - a BUILD.gn replaces Makefiles
 - a fuchsia/config.h based on the config.h generated by configure but
   hacked some
 - some type casts and other changes to allow openssh to build with
   boringssl
 - some attempts to disable PRIVSEP
 - implemented a stub for chroot in fuchsia/fuchsia-compat.*
 - implemented a custom auth-passwd that always fails in
   fuchsia/fuchsia-compat.*
 - implemented getpwent, getpwname & getpwuid that lie in
   fuchsia/fuchsia-compat.c
 - the start of an sshd_config for Fuchsia in fuchsia/

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