summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2023-02-25add copy-related functions to pathRyo Nakamura
2023-02-25start to impliment mscp as a libraryRyo Nakamura
this commit starts to refactor file.h|c to path.h|c and add mscp.c|h. not completed yet.
2023-02-16add -r option (but no effect)Ryo Nakamura
2023-02-16add \n at the final outputRyo Nakamura
2023-01-05remove unnecessary pr_warnRyo Nakamura
2022-12-11set default nr_threads to floor(log(cores) * 2) + 1)Ryo Nakamura
This change prevents mscp from establishing too many ssh connections on many-core machines in default.
2022-12-11use pthread_cleanup to acquire and release lockRyo Nakamura
In chunk_prepare(), if multiple threads wait for acquiring f->lock, and then pthread_cancel() is called, the waiting threads are never canceled because pthread_mutex_lock() is not a cancellation point. So, use pthread_cleanup_push/pop to release the lock.
2022-12-08set default NR_AHEAD to 32Ryo Nakamura
2022-12-06fix final progress outputRyo Nakamura
2022-12-06add ssh_buffer_new_size and ssh_buffer_add_func to libsshRyo Nakamura
sftp_async_write() with these functions reduces 1. realloc_buffer by ssh_buffer_new_size() 2. memcpy from read data to ssh buffer by ssh_buffer_add_func()
2022-12-05change prompt for ssh key passphraseRyo Nakamura
2022-12-05reuse ctrl sftp session for the first copy threadRyo Nakamura
2022-12-04set TCP_NODELAY by default and introduce -N option to disable itRyo Nakamura
2022-12-03remove unused code and introduce -b buf_sz optionRyo Nakamura
This commit removes ifdef ASYNC_WRITE. So, mscp always depends on the patched libssh.
2022-12-02little cleanupRyo Nakamura
2022-12-02cache passphrase for private key for later connections.Ryo Nakamura
2022-12-02add auth callback for input passphrase of privkeyRyo Nakamura
2022-12-02add -M hmac optionRyo Nakamura
2022-11-28use sigalrm for printing progress barRyo Nakamura
2022-11-27add ETA to progress printRyo Nakamura
2022-11-27skip sftp_free() inappropriatelyRyo Nakamura
2022-11-27only the last thread changes dst file permissionRyo Nakamura
2022-11-26fix duplicate error message on ssh auth failed.Ryo Nakamura
and fix the final \n with -q
2022-11-18add O_TRUNC when the first open() for a fileRyo Nakamura
2022-11-18don't stop on macos whem -m coremask is setRyo Nakamura
2022-11-18remove pr_warn debugRyo Nakamura
2022-11-18fix type of id for sftp_async_writeRyo Nakamura
2022-11-18fix when copy multiple sources and various tiny fixesRyo Nakamura
* when copying multiple sources, target must be directory * add multi-src copy test and parametrize src/dst prefixes * cleanup REAMDE (s/sessions/connections/g) * make error output in copy functions simple
2022-11-18tiny fixRyo Nakamura
- set ssh nonblocking before closing sftp session - fix pprint for core mask
2022-11-17fix async handlingRyo Nakamura
2022-11-17fix idx increment (typo) and async write improves copy speed!Ryo Nakamura
2022-11-17implement local-to-remote copy with async_writeRyo Nakamura
2022-11-16check invalid coremaskRyo Nakamura
2022-11-15add -m coremask optionRyo Nakamura
2022-11-13add memory barrier to notify monitor thread of copy threads finishedRyo Nakamura
2022-11-13add -a nr_ahead optionRyo Nakamura
2022-11-12little trick to make progress bar stableRyo Nakamura
2022-11-12fix buf size in remote to local copy.Ryo Nakamura
Too large buffer size for sftp_async_read causes unfinished copy: sftp_async_read returns 0 althrough data remains.
2022-11-12fix some thread handlingRyo Nakamura
2022-11-12use sftp_async_read for remote to local copyRyo Nakamura
2022-11-08fix incorrect ret handling for read/writeRyo Nakamura
2022-11-05add -H option to disable host key checkRyo Nakamura
tests use this option.
2022-11-05create file at the remote although file size is 0Ryo Nakamura
2022-10-31do not print progress when total bytes transferred is 0Ryo Nakamura
2022-11-01capture retval from copy threadsRyo Nakamura
2022-10-31add rename-logic.pyRyo Nakamura
2022-10-31rename dirname if dst dir does not existRyo Nakamura
`scp remote:srcdir dstdir` renames srcdir to dstdir if dstdir does not exist. If dstdir exists, it creates dstdir/srcdir. This commit imitates this behavior.
2022-10-30set nr_threads to # of chunks if # of chunks is smallRyo Nakamura
2022-10-30add cpack to build debian packageRyo Nakamura
2022-10-30fix on debug compileRyo Nakamura