Commit Graph

332 Commits

Author SHA1 Message Date
Ryo Nakamura
363296f499 add mscp_ssh_opts and change -C optarg 2023-03-03 16:50:06 +09:00
Ryo Nakamura
a8af79f9cf remove test.c 2023-02-27 10:57:10 +09:00
Ryo Nakamura
fc45fa2532 add comments to mscp.h 2023-02-26 23:56:57 +09:00
Ryo Nakamura
ca0ea3ee77 tiny fix on comment 2023-02-26 23:46:53 +09:00
Ryo Nakamura
c649742b3e fix dst path resolve 2023-02-26 23:42:25 +09:00
Ryo Nakamura
700d64b375 now mscp links libmscp 2023-02-26 23:18:39 +09:00
Ryo Nakamura
2bad21bdc2 set default params in mscp_init 2023-02-26 18:43:24 +09:00
Ryo Nakamura
89777032cd have written mscp.c 2023-02-26 18:17:58 +09:00
Ryo Nakamura
3d26cc2c18 add copy-related functions to path 2023-02-25 23:39:20 +09:00
Ryo Nakamura
1be9b70808 start to impliment mscp as a library
this commit starts to refactor file.h|c to path.h|c and
add mscp.c|h. not completed yet.
2023-02-25 22:17:29 +09:00
Ryo Nakamura
b4c021c954 README: add instructions for package install 2023-02-18 16:23:13 +09:00
Ryo Nakamura
32f4b450ea bump version to 0.0.6 v0.0.6 2023-02-16 18:24:19 +09:00
Ryo Nakamura
dbc96f9166 add -r option (but no effect) 2023-02-16 18:04:16 +09:00
Ryo Nakamura
fd5c6e971e add \n at the final output 2023-02-16 17:59:26 +09:00
Ryo Nakamura
44b21994b5 fix typo on README 2023-01-09 15:57:53 +09:00
Ryo Nakamura
c18fb6996f remove unnecessary pr_warn 2023-01-05 21:37:50 +09:00
Ryo Nakamura
e56336286a update README.md 2022-12-26 15:33:34 +09:00
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