Commit Graph

365 Commits

Author SHA1 Message Date
Ryo Nakamura
e56c2d7050 Update README.md 2022-12-11 22:22:05 +09:00
Ryo Nakamura
38633e31bd add 'z' to tar in release.yml...
and fix typo in README
2022-12-11 22:16:29 +09:00
Ryo Nakamura
f6d9a212b9 update README.md. add demo movie 2022-12-11 15:15:06 +09:00
Ryo Nakamura
a8db569fbd bump version to 0.0.5 and update README v0.0.5 2022-12-11 14:20:13 +09:00
Ryo Nakamura
3d98451bba set default nr_threads to floor(log(cores) * 2) + 1)
This change prevents mscp from establishing too many ssh connections
on many-core machines in default.
2022-12-11 14:01:52 +09:00
Ryo Nakamura
d27db01d8d use pthread_cleanup to acquire and release lock
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-11 13:23:41 +09:00
Ryo Nakamura
45cde99a85 allocate headroom for SFTP header
This commit makes ssh_buffer_new_size() can insert headroom. This
headroom can eliminate memcpy involved in ssh_buffer_prepend_data()
for inserting SFTP common header.
2022-12-10 21:48:24 +09:00
Ryo Nakamura
6ae3f0f9f1 set default NR_AHEAD to 32 2022-12-08 18:01:50 +09:00
Ryo Nakamura
847c80276a fix final progress output 2022-12-06 20:04:04 +09:00
Ryo Nakamura
c4ea9a1e78 add ssh_buffer_new_size and ssh_buffer_add_func to libssh
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-06 15:02:14 +09:00
Ryo Nakamura
289293e812 change prompt for ssh key passphrase 2022-12-05 22:27:53 +09:00
Ryo Nakamura
1441873db6 reuse ctrl sftp session for the first copy thread 2022-12-05 21:47:00 +09:00
Ryo Nakamura
a2caa93d2a update libssh build options 2022-12-05 19:46:02 +09:00
Ryo Nakamura
e1d14623f4 set TCP_NODELAY by default and introduce -N option to disable it 2022-12-04 21:32:48 +09:00
Ryo Nakamura
3b794ab51b remove unused code and introduce -b buf_sz option
This commit removes ifdef ASYNC_WRITE. So, mscp always depends on
the patched libssh.
2022-12-03 20:48:43 +09:00
Ryo Nakamura
50c6781811 little cleanup 2022-12-02 23:35:45 +09:00
Ryo Nakamura
5846c6b6a9 cache passphrase for private key for later connections. 2022-12-02 23:20:23 +09:00
Ryo Nakamura
03a3a6dc4b add auth callback for input passphrase of privkey 2022-12-02 22:28:56 +09:00
Ryo Nakamura
03b857b51a add -M hmac option 2022-12-02 21:13:13 +09:00
Ryo Nakamura
d646fc1f89 use sigalrm for printing progress bar 2022-11-28 00:14:05 +09:00
Ryo Nakamura
5188cf6df6 add ETA to progress print 2022-11-27 20:36:24 +09:00
Ryo Nakamura
130e735e65 skip sftp_free() inappropriately 2022-11-27 19:48:13 +09:00
Ryo Nakamura
e3ed4f89d2 update REAMDE 2022-11-27 00:37:07 +09:00
Ryo Nakamura
db1431ed6a only the last thread changes dst file permission 2022-11-27 00:06:39 +09:00
Ryo Nakamura
bf3ee25bae add libssh-0.9.6.patch 2022-11-26 23:16:56 +09:00
Ryo Nakamura
8cc964ca8a fix duplicate error message on ssh auth failed.
and fix the final \n with -q
2022-11-26 17:34:24 +09:00
Ryo Nakamura
e0fe88c9c4 update README for v0.0.4 2022-11-26 01:30:25 +09:00
Ryo Nakamura
73cfee29aa bump version to 0.0.4
mistake for v0.0.3 releasing...
v0.0.4
2022-11-26 00:48:24 +09:00
Ryo Nakamura
392ffc0d0e add workflow_dispatch to release.yml v0.0.3 2022-11-26 00:21:06 +09:00
Ryo Nakamura
612c3c41d4 github: add source-release job
Default source tar balls in github releases do not include
submodules. source-release job uploads mscp tar ball with patched
libssh.
2022-11-26 00:13:49 +09:00
Ryo Nakamura
876a60382c bump version to 0.0.2 v0.0.2 2022-11-24 23:27:02 +09:00
Ryo Nakamura
0f0354f848 fix comments on release.yml 2022-11-24 23:26:04 +09:00
Ryo Nakamura
33d1adcdbb fix codeql.yml 2022-11-24 23:20:51 +09:00
Ryo Nakamura
adbcb3701e update README 2022-11-24 23:18:40 +09:00
Ryo Nakamura
5495e5dd61 fix codeql.yml: init submodules and apply patch to libssh 2022-11-24 23:05:45 +09:00
Ryo Nakamura
52fc2a71b0 fix build-macos.yml 2022-11-24 23:03:22 +09:00
Ryo Nakamura
b46a6f15c1 update github workflows to fit patched libssh 2022-11-24 22:59:59 +09:00
Ryo Nakamura
6f9aaeab80 update README: use patch instead of git apply 2022-11-20 18:20:10 +09:00
Ryo Nakamura
fc2d34eaee remove sudo 2022-11-20 18:13:26 +09:00
Ryo Nakamura
e22bc5523b fix CPACK build dependency 2022-11-20 18:03:56 +09:00
Ryo Nakamura
b6b283f8b5 set WITH_EXAMPLES OFF 2022-11-20 17:04:22 +09:00
Ryo Nakamura
4b5d300fa4 update README for cmkae with libssh 2022-11-20 16:50:00 +09:00
Ryo Nakamura
dc0dd60287 build libssh-static from mscp cmake 2022-11-20 16:14:07 +09:00
Ryo Nakamura
4129a47a3a add ignore dirty for libssh 2022-11-20 15:38:25 +09:00
Ryo Nakamura
7079ff6542 add libssh 0.10.4 as submodule 2022-11-20 15:37:15 +09:00
Ryo Nakamura
8e266517da use list(LENGTH) to iterate DIST_ lists 2022-11-20 02:02:43 +09:00
Ryo Nakamura
8395c05d67 fix CMakeLists.txt
* install mscp from package at docker build phase.
* add docker-*-all custom targets.
2022-11-20 00:37:01 +09:00
Ryo Nakamura
04b7ec3e4b cleanup docker-related commands in cmake
TODO: add bruild procedure for async_write
2022-11-19 23:40:29 +09:00
Ryo Nakamura
e3c9c82bb8 Merge branch 'async-write' 2022-11-18 22:33:13 +09:00
Ryo Nakamura
dca0241824 add O_TRUNC when the first open() for a file 2022-11-18 22:30:34 +09:00