Age | Commit message (Collapse) | Author | |
---|---|---|---|
2023-11-25 | add -P, equivalent to -p for just compatibility | Ryo Nakamura | |
and add a test case for -p and -P | |||
2023-11-25 | add -I interval option | Ryo Nakamura | |
-I INTERVAL option inserts sleep for interval (seconds) between SSH connection attempts (issue #7). | |||
2023-11-01 | fix parsing user@host:path. | Ryo Nakamura | |
This commit fixes issue #6. Now mscp command correctly parses [x::x] IPv6 address notation in hostname. | |||
2023-11-01 | main: adopt rolling average of recent eight bps values to calculate ETA | Ryo Nakamura | |
2023-11-01 | main: call only mscp_stop() when receives sigint | Ryo Nakamura | |
2023-11-01 | write total transferred bytes and number of files | Ryo Nakamura | |
at the end of output when serverity is notice. | |||
2023-11-01 | change msg: thread[%d] to thread:%d | Ryo Nakamura | |
2023-11-01 | print 1st decimal point in the progress bar | Ryo Nakamura | |
2023-11-01 | add -g option to specify TCP cc algorithm | Ryo Nakamura | |
This commit introduce SSH_OPTIONS_CCALGO option to the libssh patch and add -g CONGESTION option to mscp. | |||
2023-09-08 | fix: use off_t for lseek | Ryo Nakamura | |
2023-08-30 | fix libmscp python bindings. | Ryo Nakamura | |
- fix libmscp install path by setup.py with data_files - fix return values of mscp_get_stats() - add examples directory for mscp python binding | |||
2023-08-30 | fix mscp_opendir, do not use `tls_sftp`, use `sftp` isntead. | Ryo Nakamura | |
The fixed issue causes mscp_opendir wrongly calls opendir() for local when tls_sftp is NULL although sftp is not NULL. | |||
2023-08-04 | fix usage: "none" is not supported for -F | Ryo Nakamura | |
2023-08-04 | introduce git-based versioning | Ryo Nakamura | |
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 | do not set O_TRUNC when opening destination file. | Ryo Nakamura | |
It prevents `mscp localhost:hoge ~/hoge` from truncating the source file. See https://bugzilla.mindrot.org/show_bug.cgi?id=3431. https://github.com/upa/mscp/issues/1 | |||
2023-08-04 | add -F ssh_config option | Ryo Nakamura | |
2023-08-03 | use pseudo glob/globfree for remote-glob when musl | Ryo Nakamura | |
musllibc does not implement GLOB_ALTDIRFUNC, so do not call glob for remote sides when libc is musl. test_e2e.py skips test_glob_src_path when running on alpine. | |||
2023-08-03 | add glob for source paths | Ryo Nakamura | |
https://github.com/upa/mscp/issues/3 | |||
2023-08-03 | cleanup wrappers for file operations | Ryo Nakamura | |
Previously wrapper functions for open(), opendir(), and stat(), etc, are implemneted in path.h, and now they are in fileops.h and fileops.c. This commit is a reparation for remote glob. | |||
2023-05-07 | mscp: maintain mscp_thread structs in list | Ryo Nakamura | |
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-04-05 | main: add a white space to the elapsed time output | Ryo Nakamura | |
It adjusts the position of XX:XX in elapsed timeou output. | |||
2023-04-05 | main: print elapsed time instead ETA at the end | Ryo Nakamura | |
2023-03-26 | Merge branch 'main' of github.com:upa/mscp | Ryo Nakamura | |
2023-03-25 | fix error handling when scan thread failed. | Ryo Nakamura | |
set chunk pool to fill to invoke copy threads when scan failed. | |||
2023-03-22 | fix invalid return sem | Ryo Nakamura | |
2023-03-16 | do not sem_close() for unnamed semaphore | Ryo Nakamura | |
2023-03-16 | fix semaphore handling for macOS | Ryo Nakamura | |
2023-03-15 | add sem_create(), wrappign sem_init() for linux and sem_open() for macOS | Ryo Nakamura | |
2023-03-15 | linux also needs stdlib.h for random() | Ryo Nakamura | |
2023-03-15 | macOS does not support sem_init. use sem_open instead | Ryo Nakamura | |
2023-03-15 | add comment to mscp_scan(), why usleep(100) | Ryo Nakamura | |
2023-03-15 | rename mscp_prepare to mscp_scan | Ryo Nakamura | |
2023-03-15 | set m->tid_prepare 0 to avoid duble join | Ryo Nakamura | |
2023-03-15 | mscp: add -u max_startups option. | Ryo Nakamura | |
pymscp also accepts keyword 'max_startups' (int). | |||
2023-03-15 | fix: when msg_fd is 0, use STDOUT_FILENO | Ryo Nakamura | |
2023-03-15 | do not fdopen(msg_fd) if msg_fd < 0 | Ryo Nakamura | |
2023-03-15 | introduce semaphore for concurrent connecting ssh | Ryo Nakamura | |
instead of ssh_estab_queue (delay-based approach). MaxStartups in sshd_config limits number of conccurent incoming ssh connections. mscp_opts->max_startups adjusts this value. | |||
2023-03-15 | cleanup message print functions | Ryo Nakamura | |
2023-03-14 | rename ssh_connect_flag to ssh_estab_queue | Ryo Nakamura | |
2023-03-14 | implement ssh_connect_flag | Ryo Nakamura | |
Each copy thread establishes SSH/SFTP connection to remote host. A delay is inserted between SSH connecting to the remote. | |||
2023-03-14 | cleanup mscp_prepare-related code | Ryo Nakamura | |
2023-03-13 | mscp_prepare() scans source paths in a thread. | Ryo Nakamura | |
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 | revise walk_src_path. | Ryo Nakamura | |
In new walk_src_path, resolve dst path and resolve chunks are invoked when adding a path. | |||
2023-03-13 | fix mscp.py | Ryo Nakamura | |
2023-03-12 | little cleanup for python bindings | Ryo Nakamura | |
2023-03-12 | fix cleanup | Ryo Nakamura | |
2023-03-12 | mscp copy via python bindings works. | Ryo Nakamura | |
ToDo: memory for struct instance in pymscp.c is not released until mscp.free() is called. It is memory leak in a typical pyhotn usage. Use python extension refcnt instead. | |||
2023-03-11 | add mscp and pymscp python modules. | Ryo Nakamura | |
pymscp is a C Python wrapper for libmscp functions. mscp module provides simple (?) Python API. | |||
2023-03-11 | move direction from mscp_opts to mscp_init argument | Ryo Nakamura | |
2023-03-11 | start to implement pymscp.c | Ryo Nakamura | |