- guenther@cvs.openbsd.org 2009/12/20 07:28:36
     [ssh.c sftp.c scp.c]
     When passing user-controlled options with arguments to other programs,
     pass the option and option argument as separate argv entries and
     not smashed into one (e.g., as -l foo and not -lfoo).  Also, always
     pass a "--" argument to stop option parsing, so that a positional
     argument that starts with a '-' isn't treated as an option.  This
     fixes some error cases as well as the handling of hostnames and
     filenames that start with a '-'.
     Based on a diff by halex@
     ok halex@ djm@ deraadt@
5 files changed
tree: 18b20493bb52430d446f913e608968eb00dd49d3
  1. .cvsignore
  2. CREDITS
  3. ChangeLog
  4. INSTALL
  5. LICENCE
  6. Makefile.in
  7. OVERVIEW
  8. PROTOCOL
  9. PROTOCOL.agent
  10. README
  11. README.dns
  12. README.platform
  13. README.privsep
  14. README.smartcard
  15. README.tun
  16. TODO
  17. WARNING.RNG
  18. aclocal.m4
  19. acss.c
  20. acss.h
  21. addrmatch.c
  22. atomicio.c
  23. atomicio.h
  24. audit-bsm.c
  25. audit.c
  26. audit.h
  27. auth-bsdauth.c
  28. auth-chall.c
  29. auth-krb5.c
  30. auth-options.c
  31. auth-options.h
  32. auth-pam.c
  33. auth-pam.h
  34. auth-passwd.c
  35. auth-rh-rsa.c
  36. auth-rhosts.c
  37. auth-rsa.c
  38. auth-shadow.c
  39. auth-sia.c
  40. auth-sia.h
  41. auth-skey.c
  42. auth.c
  43. auth.h
  44. auth1.c
  45. auth2-chall.c
  46. auth2-gss.c
  47. auth2-hostbased.c
  48. auth2-jpake.c
  49. auth2-kbdint.c
  50. auth2-none.c
  51. auth2-passwd.c
  52. auth2-pubkey.c
  53. auth2.c
  54. authfd.c
  55. authfd.h
  56. authfile.c
  57. authfile.h
  58. bufaux.c
  59. bufbn.c
  60. buffer.c
  61. buffer.h
  62. buildpkg.sh.in
  63. canohost.c
  64. canohost.h
  65. channels.c
  66. channels.h
  67. cipher-3des1.c
  68. cipher-acss.c
  69. cipher-aes.c
  70. cipher-bf1.c
  71. cipher-ctr.c
  72. cipher.c
  73. cipher.h
  74. cleanup.c
  75. clientloop.c
  76. clientloop.h
  77. compat.c
  78. compat.h
  79. compress.c
  80. compress.h
  81. config.guess
  82. config.sub
  83. configure.ac
  84. contrib/
  85. crc32.c
  86. crc32.h
  87. deattack.c
  88. deattack.h
  89. defines.h
  90. dh.c
  91. dh.h
  92. dispatch.c
  93. dispatch.h
  94. dns.c
  95. dns.h
  96. entropy.c
  97. entropy.h
  98. fatal.c
  99. fixpaths
  100. fixprogs
  101. groupaccess.c
  102. groupaccess.h
  103. gss-genr.c
  104. gss-serv-krb5.c
  105. gss-serv.c
  106. hostfile.c
  107. hostfile.h
  108. includes.h
  109. install-sh
  110. jpake.c
  111. jpake.h
  112. kex.c
  113. kex.h
  114. kexdh.c
  115. kexdhc.c
  116. kexdhs.c
  117. kexgex.c
  118. kexgexc.c
  119. kexgexs.c
  120. key.c
  121. key.h
  122. log.c
  123. log.h
  124. loginrec.c
  125. loginrec.h
  126. logintest.c
  127. mac.c
  128. mac.h
  129. match.c
  130. match.h
  131. md-sha256.c
  132. md5crypt.c
  133. md5crypt.h
  134. mdoc2man.awk
  135. misc.c
  136. misc.h
  137. mkinstalldirs
  138. moduli
  139. moduli.5
  140. moduli.c
  141. monitor.c
  142. monitor.h
  143. monitor_fdpass.c
  144. monitor_fdpass.h
  145. monitor_mm.c
  146. monitor_mm.h
  147. monitor_wrap.c
  148. monitor_wrap.h
  149. msg.c
  150. msg.h
  151. mux.c
  152. myproposal.h
  153. nchan.c
  154. nchan.ms
  155. nchan2.ms
  156. openbsd-compat/
  157. openssh.xml.in
  158. opensshd.init.in
  159. packet.c
  160. packet.h
  161. pathnames.h
  162. platform.c
  163. platform.h
  164. progressmeter.c
  165. progressmeter.h
  166. readconf.c
  167. readconf.h
  168. readpass.c
  169. regress/
  170. rijndael.c
  171. rijndael.h
  172. roaming.h
  173. roaming_common.c
  174. roaming_dummy.c
  175. rsa.c
  176. rsa.h
  177. scard-opensc.c
  178. scard.c
  179. scard.h
  180. scard/
  181. schnorr.c
  182. schnorr.h
  183. scp.1
  184. scp.c
  185. servconf.c
  186. servconf.h
  187. serverloop.c
  188. serverloop.h
  189. session.c
  190. session.h
  191. sftp-client.c
  192. sftp-client.h
  193. sftp-common.c
  194. sftp-common.h
  195. sftp-glob.c
  196. sftp-server-main.c
  197. sftp-server.8
  198. sftp-server.c
  199. sftp.1
  200. sftp.c
  201. sftp.h
  202. ssh-add.1
  203. ssh-add.c
  204. ssh-agent.1
  205. ssh-agent.c
  206. ssh-dss.c
  207. ssh-gss.h
  208. ssh-keygen.1
  209. ssh-keygen.c
  210. ssh-keyscan.1
  211. ssh-keyscan.c
  212. ssh-keysign.8
  213. ssh-keysign.c
  214. ssh-rand-helper.8
  215. ssh-rand-helper.c
  216. ssh-rsa.c
  217. ssh.1
  218. ssh.c
  219. ssh.h
  220. ssh1.h
  221. ssh2.h
  222. ssh_config
  223. ssh_config.5
  224. ssh_prng_cmds.in
  225. sshconnect.c
  226. sshconnect.h
  227. sshconnect1.c
  228. sshconnect2.c
  229. sshd.8
  230. sshd.c
  231. sshd_config
  232. sshd_config.5
  233. sshlogin.c
  234. sshlogin.h
  235. sshpty.c
  236. sshpty.h
  237. sshtty.c
  238. survey.sh.in
  239. ttymodes.c
  240. ttymodes.h
  241. uidswap.c
  242. uidswap.h
  243. umac.c
  244. umac.h
  245. uuencode.c
  246. uuencode.h
  247. version.h
  248. xmalloc.c
  249. xmalloc.h