Ryo Nakamura
e67b7468e5
use setitimer instead of alarm, and print message.
...
print_stat now prints messages per interval.
ToDo:
- realtime message printing
- use timer_create instead of setitimer (mscOS has different one)
2023-03-04 16:48:26 +09:00
Ryo Nakamura
f9c8dec389
compilable on ubuntu
2023-03-04 15:53:54 +09:00
Ryo Nakamura
9342c18f0e
accidentaly swap min_chunk_sz and max_chunk_sz...
2023-03-04 15:53:42 +09:00
Ryo Nakamura
df2f922b0d
remove pprint, use message (mpr_*) instead.
...
ToDo:
main should use pipe to receive messages from libmscp.
2023-03-04 15:44:10 +09:00
Ryo Nakamura
1e57e8fb2f
implementing messaging.
...
ToDo: remove pprint.
mscp should use mpr_* functions, and main.c should use
just fprintf(stdout, "\r\033[K" fmt, ...) for printing progress bar.
2023-03-03 22:14:54 +09:00
Ryo Nakamura
1b9ae51974
add message.h and message.c, mscp_set|get_error()
...
Instead of pr_err(), libmscp uses mscp_set_error() and
applications use mscp_get_errror() to get error message.
2023-03-03 21:29:43 +09:00
Ryo Nakamura
c5aa70d9c9
tiny cleanup
2023-03-03 18:30:34 +09:00
Ryo Nakamura
a0b7482f66
add mscp_get_stats
...
move progress bar-related functions from mscp.c to main.c.
2023-03-03 18:27:14 +09:00
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