Ryo Nakamura
a281dfd9e9
fix bitrate factor should be 1 when unit is not specified
2024-04-10 23:07:50 +09:00
Ryo Nakamura
2bfd599ad9
add -L limit bitrate option ( #14 )
2024-04-10 20:57:11 +09:00
Ryo Nakamura
dfdad6bca5
update doc for checkpoint
2024-02-20 20:43:57 +09:00
Ryo Nakamura
19c73af09d
update console output and doc
2024-02-18 21:34:41 +09:00
Ryo Nakamura
5f628b64e3
add -W and -R option for resume checkpoint
2024-02-18 14:48:30 +09:00
Ryo Nakamura
f71c7a145a
add checkpoint.c and .h
2024-02-17 12:39:19 +09:00
Ryo Nakamura
d65a49768c
cleanup mscp_scan_thread related codes
2024-02-11 20:33:35 +09:00
Ryo Nakamura
b2628b54fb
add -4 and -6 options to use either IPv4 or IPv6
2024-02-07 15:14:27 +09:00
Ryo Nakamura
96084004b6
cleanup error message handling
...
The top-level funtion in a thread should print errors using
priv_get_err(), while lower-level functions should set error messages
using priv_set_err() except that error mesesages should be printed
immediately, e.g., under walk_src_path().
2024-02-07 13:29:45 +09:00
Ryo Nakamura
93f155cffe
add .clang-format from Linux kernel and format sources
...
The exception is that ColumnLimit is 90.
2024-02-06 23:09:59 +09:00
Ryo Nakamura
4f0669f8f8
refactor error message-related functions
...
split message print fuctions (mpr_*), strerrno, and mscp_get/set_error
into print.c/h and strerrno.c/h.
ToDo: revise usages of priv_set_errv and pr_* functions.
2024-02-06 21:54:04 +09:00
Ryo Nakamura
a7f8ad948b
add -p option, preserving file timestamps
2024-02-06 16:15:43 +09:00
Ryo Nakamura
ff45d9d71b
add two env vars to pass password/keyphrase ( #9 )
...
MSCP_SSH_AUTH_PASSWORD passes a password, and MSCP_SSH_AUTH_PASSPHRASE
passes a passphrase for publickey auth. They enable avoiding interactive
password input. Test cases are also added.
2024-02-06 10:35:38 +09:00
Ryo Nakamura
9908fb309d
passing options via pointers in mscp_ssh_opts
...
We do not need static buf because we have already dropped python biding
support.
2024-02-05 23:36:59 +09:00
Ryo Nakamura
c95e6a4fff
do not passing msg_fp via mscp opts
...
instead, mpr_* functions print messages to stdout or stderr directly.
2024-02-04 20:23:08 +09:00
Ryo Nakamura
9bdbfe8487
add SPDX-License-Identifier to source files
2024-01-18 12:59:49 +09:00
Ryo Nakamura
2b71c4bf8c
add -P, equivalent to -p for just compatibility
...
and add a test case for -p and -P
2023-11-25 15:49:09 +09:00
Ryo Nakamura
0cf3acee20
add -I interval option
...
-I INTERVAL option inserts sleep for interval (seconds) between
SSH connection attempts (issue #7 ).
2023-11-25 15:17:33 +09:00
Ryo Nakamura
8e590da322
fix parsing user@host:path.
...
This commit fixes issue #6 . Now mscp command correctly parses
[x::x] IPv6 address notation in hostname.
2023-11-01 19:54:18 +09:00
Ryo Nakamura
b298b2ec35
main: adopt rolling average of recent eight bps values to calculate ETA
2023-11-01 19:54:18 +09:00
Ryo Nakamura
05a7e96759
main: call only mscp_stop() when receives sigint
2023-11-01 19:54:18 +09:00
Ryo Nakamura
139ba12f1a
write total transferred bytes and number of files
...
at the end of output when serverity is notice.
2023-11-01 19:54:18 +09:00
Ryo Nakamura
d7365683a9
print 1st decimal point in the progress bar
2023-11-01 19:54:18 +09:00
Ryo Nakamura
bf74aa095a
add -g option to specify TCP cc algorithm
...
This commit introduce SSH_OPTIONS_CCALGO option to the libssh patch
and add -g CONGESTION option to mscp.
2023-11-01 19:54:18 +09:00
Ryo Nakamura
58026790d9
fix usage: "none" is not supported for -F
2023-08-04 16:11:29 +09:00
Ryo Nakamura
23d9577bde
introduce git-based versioning
...
MSCP_BUILD_VERSION (`git describe --tags --dirty --match "v*"`) is
passed through include/mscp_version.h.in and cmake.
When git is failed, use VERSION file instead (for building from
source tar balls that excludes .git).
2023-08-04 16:07:37 +09:00
Ryo Nakamura
518aa42208
add -F ssh_config option
2023-08-04 13:31:10 +09:00
Ryo Nakamura
24e86f58d8
mscp: maintain mscp_thread structs in list
...
Instead of m->threads array, struct mscp_thread instanes are
maintained in m->thread_list. This enables stable counter access
via mscp_get_stats().
2023-05-07 21:05:05 +09:00
Ryo Nakamura
1d3b3a2261
main: add a white space to the elapsed time output
...
It adjusts the position of XX:XX in elapsed timeou output.
2023-04-05 19:07:10 +09:00
Ryo Nakamura
575c920b6e
main: print elapsed time instead ETA at the end
2023-04-05 19:00:29 +09:00
Ryo Nakamura
a086e6a154
rename mscp_prepare to mscp_scan
2023-03-15 22:03:14 +09:00
Ryo Nakamura
a923d40ada
mscp: add -u max_startups option.
...
pymscp also accepts keyword 'max_startups' (int).
2023-03-15 21:53:34 +09:00
Ryo Nakamura
cf99a439cb
cleanup message print functions
2023-03-15 00:00:23 +09:00
Ryo Nakamura
5f9f20f150
mscp_prepare() scans source paths in a thread.
...
This commit runs mscp_prepare() in a pthread. mscp copy threads
run aysnchronously with mscp_prepare(). So, when mscp_prepare()
has not finished yet (due to too many source files), we can start
to copy files.
2023-03-13 22:35:51 +09:00
Ryo Nakamura
74d58e986a
move direction from mscp_opts to mscp_init argument
2023-03-11 21:48:07 +09:00
Ryo Nakamura
2477647a3b
fix uninitialized dst_path_is_dir bool
2023-03-10 21:42:00 +09:00
Ryo Nakamura
d766b3a99e
fix dryrun handling on main.c
2023-03-04 19:01:44 +09:00
Ryo Nakamura
cc18c74d32
remove sigalrm. integrate print messages and progress bar
2023-03-04 17:37:19 +09:00
Ryo Nakamura
205c7cf803
tiny fix for clang warning
2023-03-04 16:50:34 +09:00
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
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
ca0ea3ee77
tiny fix on comment
2023-02-26 23:46:53 +09:00
Ryo Nakamura
700d64b375
now mscp links libmscp
2023-02-26 23:18:39 +09:00
Ryo Nakamura
dbc96f9166
add -r option (but no effect)
2023-02-16 18:04:16 +09:00