summaryrefslogtreecommitdiff
path: root/sftp-client.c
Commit message (Collapse)AuthorAgeFilesLines
* upstream: fix off-by-one error that caused sftp downloads to makedjm@openbsd.org2020-05-271-2/+2
| | | | | | | | one more concurrent request that desired. This prevented using sftp(1) in unpipelined request/response mode, which is useful when debugging. Patch from Stephen Goetze in bz#3054 OpenBSD-Commit-ID: 41b394ebe57037dbc43bdd0eef21ff0511191f28
* upstream: fix memory leak in error path; bz#3074 patch fromdjm@openbsd.org2019-10-041-3/+2
| | | | | | krishnaiah.bommu@intel.com, ok dtucker OpenBSD-Commit-ID: d031853f3ecf47b35a0669588f4d9d8e3b307b3c
* upstream: print explicit "not modified" message if a file wasdjm@openbsd.org2019-07-121-3/+6
| | | | | | | | requested for resumed download but was considered already complete. bz#2978 ok dtucker OpenBSD-Commit-ID: f32084b26a662f16215ee4ca4a403d67e49ab986
* upstream: Have progressmeter force an update at the beginning anddtucker@openbsd.org2019-01-251-2/+2
| | | | | | | end of each transfer. Fixes the problem recently introduces where very quick transfers do not display the progressmeter at all. Spotted by naddy@ OpenBSD-Commit-ID: 68dc46c259e8fdd4f5db3ec2a130f8e4590a7a9a
* upstream: Sanitize scp filenames via snmprintf. To do this we movedtucker@openbsd.org2019-01-241-8/+10
| | | | | | | | the progressmeter formatting outside of signal handler context and have the atomicio callback called for EINTR too. bz#2434 with contributions from djm and jjelen at redhat.com, ok djm@ OpenBSD-Commit-ID: 1af61c1f70e4f3bd8ab140b9f1fa699481db57d8
* upstream: Add "-h" flag to sftp chown/chgrp/chmod commands todjm@openbsd.org2019-01-171-4/+38
| | | | | | | | | request they do not follow symlinks. Requires recently-committed lsetstat@openssh.com extension on the server side. ok markus@ dtucker@ OpenBSD-Commit-ID: f93bb3f6f7eb2fb7ef1e59126e72714f1626d604
* upstream: fix some memory leaks spotted by Coverity via Jakub Jelendjm@openbsd.org2018-07-311-8/+12
| | | | | | in bz#2366 feedback and ok dtucker@ OpenBSD-Commit-ID: 8402bbae67d578bedbadb0ce68ff7c5a136ef563
* upstream: Fix return value confusion in several functions (readdir,djm@openbsd.org2018-05-251-4/+4
| | | | | | | | download and fsync). These should return -1 on error, not a sftp status code. patch from Petr Cerny in bz#2871 OpenBSD-Commit-ID: 651aa0220ad23c9167d9297a436162d741f97a09
* upstream commitdtucker@openbsd.org2017-12-071-5/+15
| | | | | | | | Have sftp print a warning about shell cleanliness when decoding the first packet fails, which is usually caused by shells polluting stdout of non-interactive starups. bz#2800, ok markus@ deraadt@. OpenBSD-Commit-ID: 88d6a9bf3470f9324b76ba1cbd53e50120f685b5
* upstream commitdjm@openbsd.org2017-08-121-2/+2
| | | | | | | don't print verbose error message when ssh disconnects under sftp; bz#2750; ok dtucker@ Upstream-ID: 6d83708aed77b933c47cf155a87dc753ec01f370
* on Cygwin, check paths from server for backslashesDamien Miller2017-03-201-1/+8
| | | | Pointed out by Jann Horn of Google Project Zero
* upstream commitdjm@openbsd.org2017-01-041-1/+3
| | | | | | | check number of entries in SSH2_FXP_NAME response; avoids unreachable overflow later. Reported by Jann Horn Upstream-ID: b6b2b434a6d6035b1644ca44f24cd8104057420f
* upstream commitderaadt@openbsd.org2016-09-121-4/+3
| | | | | | | | Add MAXIMUM(), MINIMUM(), and ROUNDUP() to misc.h, then use those definitions rather than pulling <sys/param.h> and unknown namespace pollution. ok djm markus dtucker Upstream-ID: 712cafa816c9f012a61628b66b9fbd5687223fb8
* upstream commitschwarze@openbsd.org2016-06-061-4/+5
| | | | | | | | | | | | | | | | | | | | | | | To prevent screwing up terminal settings when printing to the terminal, for ASCII and UTF-8, escape bytes not forming characters and bytes forming non-printable characters with vis(3) VIS_OCTAL. For other character sets, abort printing of the current string in these cases. In particular, * let scp(1) respect the local user's LC_CTYPE locale(1); * sanitize data received from the remote host; * sanitize filenames, usernames, and similar data even locally; * take character display widths into account for the progressmeter. This is believed to be sufficient to keep the local terminal safe on OpenBSD, but bad things can still happen on other systems with state-dependent locales because many places in the code print unencoded ASCII characters into the output stream. Using feedback from djm@ and martijn@, various aspects discussed with many others. deraadt@ says it should go in now, i probably already hesitated too long Upstream-ID: e66afbc94ee396ddcaffd433b9a3b80f387647e0
* upstream commitdjm@openbsd.org2016-05-021-3/+2
| | | | | | | | fix signed/unsigned errors reported by clang-3.7; add sshbuf_dup_string() to replace a common idiom of strdup(sshbuf_ptr()) with better safety checking; feedback and ok markus@ Upstream-ID: 71f926d9bb3f1efed51319a6daf37e93d57c8820
* upstream commitdjm@openbsd.org2016-04-081-2/+2
| | | | | | whitespace at EOL Upstream-ID: 5beffd4e001515da12851b974e2323ae4aa313b6
* upstream commitdjm@openbsd.org2016-02-111-11/+11
| | | | | | | | fix regression in openssh-6.8 sftp client: existing destination directories would incorrectly terminate recursive uploads; bz#2528 Upstream-ID: 3306be469f41f26758e3d447987ac6d662623e18
* upstream commitdjm@openbsd.org2015-05-281-2/+4
| | | | | | add error message on ftruncate failure; bz#2176 Upstream-ID: cbcc606e0b748520c74a210d8f3cc9718d3148cf
* upstream commitjsg@openbsd.org2015-05-251-1/+2
| | | | | | fix a memory leak in an error path ok markus@ dtucker@ Upstream-ID: bc1da0f205494944918533d8780fde65dff6c598
* upstream commitderaadt@openbsd.org2015-04-291-2/+2
| | | | | rename xrealloc() to xreallocarray() since it follows that form. ok djm
* upstream commitderaadt@openbsd.org2015-01-261-2/+2
| | | | | Reduce use of <sys/param.h> and transition to <limits.h> throughout. ok djm markus
* upstream commitdjm@openbsd.org2015-01-151-361/+500
| | | | | update sftp client and server to new buffer API. pretty much just mechanical changes; with & ok markus
* - logan@cvs.openbsd.org 2014/04/21 14:36:16Damien Miller2014-05-151-10/+31
| | | | | | | [sftp-client.c sftp-client.h sftp.c] Implement sftp upload resume support. OK from djm@, with input from guenther@, mlarkin@ and okan@
* - tedu@cvs.openbsd.org 2014/01/31 16:39:19Damien Miller2014-02-041-2/+2
| | | | | | | | | | [auth2-chall.c authfd.c authfile.c bufaux.c bufec.c canohost.c] [channels.c cipher-chachapoly.c clientloop.c configure.ac hostfile.c] [kexc25519.c krl.c monitor.c sandbox-systrace.c session.c] [sftp-client.c ssh-keygen.c ssh.c sshconnect2.c sshd.c sshlogin.c] [openbsd-compat/explicit_bzero.c openbsd-compat/openbsd-compat.h] replace most bzero with explicit_bzero, except a few that cna be memset ok djm dtucker
* - djm@cvs.openbsd.org 2014/01/17 00:21:06Darren Tucker2014-01-171-1/+1
| | | | | [sftp-client.c] signed/unsigned comparison warning fix; from portable (Id sync only)
* - (djm) [sftp-client.c] signed/unsigned comparison fixDamien Miller2014-01-171-1/+5
|
* - djm@cvs.openbsd.org 2014/01/16 07:31:09Damien Miller2014-01-161-2/+2
| | | | | | [sftp-client.c] needless and incorrect cast to size_t can break resumption of large download; patch from tobias@
* - djm@cvs.openbsd.org 2013/12/05 22:59:45Damien Miller2013-12-071-21/+21
| | | | | | [sftp-client.c] fix memory leak in error path in do_readdir(); pointed out by Loganaden Velvindron @ AfriNIC in bz#2163
* - djm@cvs.openbsd.org 2013/12/04 04:20:01Damien Miller2013-12-051-1/+3
| | | | | | [sftp-client.c] bz#2171: don't leak local_fd on error; from Loganaden Velvindron @ AfriNIC
* - dtucker@cvs.openbsd.org 2013/11/08 11:15:19Damien Miller2013-11-211-1/+2
| | | | | [bufaux.c bufbn.c buffer.c sftp-client.c sftp-common.c sftp-glob.c] [uidswap.c] Include stdlib.h for free() as per the man page.
* - djm@cvs.openbsd.org 2013/11/08 00:39:15Damien Miller2013-11-081-6/+6
| | | | | | | [auth-options.c auth2-chall.c authfd.c channels.c cipher-3des1.c] [clientloop.c gss-genr.c monitor_mm.c packet.c schnorr.c umac.c] [sftp-client.c sftp-glob.c] use calloc for all structure allocations; from markus@
* - djm@cvs.openbsd.org 2013/10/17 00:30:13Damien Miller2013-10-171-16/+65
| | | | | | | | [PROTOCOL sftp-client.c sftp-client.h sftp-server.c sftp.1 sftp.c] fsync@openssh.com protocol extension for sftp-server client support to allow calling fsync() faster successful transfer patch mostly by imorgan AT nas.nasa.gov; bz#1798 "fine" markus@ "grumble OK" deraadt@ "doesn't sound bad to me" millert@
* - djm@cvs.openbsd.org 2013/10/11 02:52:23Damien Miller2013-10-151-3/+3
| | | | | [sftp-client.c] missed one arg reorder
* - djm@cvs.openbsd.org 2013/10/11 02:45:36Damien Miller2013-10-151-35/+38
| | | | | | | | [sftp-client.c] rename flag arguments to be more clear and consistent. reorder some internal function arguments to make adding additional flags easier. no functional change
* - djm@cvs.openbsd.org 2013/09/19 00:49:12Darren Tucker2013-10-101-3/+3
| | | | | [sftp-client.c] fix swapped pflag and printflag in sftp upload_dir; from Iain Morgan
* - djm@cvs.openbsd.org 2013/08/09 03:39:13Damien Miller2013-08-211-3/+5
| | | | | | | | [sftp-client.c] two problems found by a to-be-committed regress test: 1) msg_id was not being initialised so was starting at a random value from the heap (harmless, but confusing). 2) some error conditions were not being propagated back to the caller
* - djm@cvs.openbsd.org 2013/08/08 05:04:03Damien Miller2013-08-211-5/+7
| | | | | | | | | [sftp-client.c sftp-client.h sftp.c] add a "-l" flag for the rename command to force it to use the silly standard SSH_FXP_RENAME command instead of the POSIX-rename- like posix-rename@openssh.com extension. intended for use in regress tests, so no documentation.
* - (tim) [sftp-client.c] Use of a gcc extension trips up native compilers onTim Rice2013-07-251-1/+1
| | | | Solaris and UnixWare. Feedback and OK djm@
* - djm@cvs.openbsd.org 2013/07/25 00:56:52Damien Miller2013-07-251-23/+52
| | | | | | [sftp-client.c sftp-client.h sftp.1 sftp.c] sftp support for resuming partial downloads; patch mostly by Loganaden Velvindron/AfriNIC with some tweaks by me; feedback and ok dtucker@
* - dtucker@cvs.openbsd.org 2013/06/01 22:34:50Darren Tucker2013-06-021-4/+6
| | | | | | [sftp-client.c] Update progressmeter when data is acked, not when it's sent. bz#2108, from Debian via Colin Watson, ok djm@
* - dtucker@cvs.openbsd.org 2013/06/01 20:59:25Darren Tucker2013-06-021-2/+2
| | | | | | | | [scp.c sftp-client.c] Replace S_IWRITE, which isn't standardized, with S_IWUSR, which is. Patch from Nathan Osman via bz#2113. ok deraadt. (note: corrected bug number from 2085)
* - djm@cvs.openbsd.org 2013/05/17 00:13:13Darren Tucker2013-06-021-27/+27
| | | | | | | | | | | | | | | | | | [xmalloc.h cipher.c sftp-glob.c ssh-keyscan.c ssh.c sftp-common.c ssh-ecdsa.c auth2-chall.c compat.c readconf.c kexgexs.c monitor.c gss-genr.c cipher-3des1.c kex.c monitor_wrap.c ssh-pkcs11-client.c auth-options.c rsa.c auth2-pubkey.c sftp.c hostfile.c auth2.c servconf.c auth.c authfile.c xmalloc.c uuencode.c sftp-client.c auth2-gss.c sftp-server.c bufaux.c mac.c session.c jpake.c kexgexc.c sshconnect.c auth-chall.c auth2-passwd.c sshconnect1.c buffer.c kexecdhs.c kexdhs.c ssh-rsa.c auth1.c ssh-pkcs11.c auth2-kbdint.c kexdhc.c sshd.c umac.c ssh-dss.c auth2-jpake.c bufbn.c clientloop.c monitor_mm.c scp.c roaming_client.c serverloop.c key.c auth-rsa.c ssh-pkcs11-helper.c ssh-keysign.c ssh-keygen.c match.c channels.c sshconnect2.c addrmatch.c mux.c canohost.c kexecdhc.c schnorr.c ssh-add.c misc.c auth2-hostbased.c ssh-agent.c bufec.c groupaccess.c dns.c packet.c readpass.c authfd.c moduli.c] bye, bye xfree(); ok markus@
* - dtucker@cvs.openbsd.org 2012/07/02 12:13:26Darren Tucker2012-07-021-2/+3
| | | | | [ssh-pkcs11-helper.c sftp-client.c] fix a couple of "assigned but not used" warnings. ok markus@
* - markus@cvs.openbsd.org 2011/09/12 08:46:15Damien Miller2011-09-221-4/+5
| | | | | [sftp-client.c] fix leak in do_lsreaddir(); ok djm
* - markus@cvs.openbsd.org 2011/09/11 16:07:26Damien Miller2011-09-221-5/+6
| | | | | | [sftp-client.c] fix leaks in do_hardlink() and do_readlink(); bz#1921 from Loganaden Velvindron
* - djm@cvs.openbsd.org 2010/12/04 00:18:01Darren Tucker2010-12-051-2/+40
| | | | | | | | | [sftp-server.c sftp.1 sftp-client.h sftp.c PROTOCOL sftp-client.c] add a protocol extension to support a hard link operation. It is available through the "ln" command in the client. The old "ln" behaviour of creating a symlink is available using its "-s" option or through the preexisting "symlink" command; based on a patch from miklos AT szeredi.hu in bz#1555; ok markus@
* - djm@cvs.openbsd.org 2010/09/22 22:58:51Damien Miller2010-09-241-98/+121
| | | | | | | | | | | | [atomicio.c atomicio.h misc.c misc.h scp.c sftp-client.c] [sftp-client.h sftp.1 sftp.c] add an option per-read/write callback to atomicio factor out bandwidth limiting code from scp(1) into a generic bandwidth limiter that can be attached using the atomicio callback mechanism add a bandwidth limit option to sftp(1) using the above "very nice" markus@
* - djm@cvs.openbsd.org 2010/07/19 03:16:33Damien Miller2010-08-031-2/+2
| | | | | | | [sftp-client.c] bz#1797: fix swapped args in upload_dir_internal(), breaking recursive upload depth checks and causing verbose printing of transfers to always be turned on; patch from imorgan AT nas.nasa.gov
* - djm@cvs.openbsd.org 2010/06/18 04:43:08Damien Miller2010-06-261-2/+3
| | | | | | [sftp-client.c] fix memory leak in do_realpath() error path; bz#1771, patch from anicka AT suse.cz
* - dtucker@cvs.openbsd.org 2009/10/11 10:41:26Darren Tucker2009-10-111-3/+7
| | | | | | [sftp-client.c] d_type isn't portable so use lstat to get dirent modes. Suggested by and "looks sane" deraadt@