314 Commits

Author SHA1 Message Date
Michel Machado
53b682aba8
Merge pull request #194 from yannickschuchmann/patch-1
README: Update blog link about devices in docker
2022-12-12 11:16:59 -05:00
Yannick Schuchmann
2fc4ccc364
README: Update blog link about devices in docker 2022-12-11 14:59:52 +01:00
Michel Machado
1fa46106a3
Merge pull request #192 from Al2Klimov/regression-test
GitHub Actions: also test "volume" ./relative-path
2022-11-14 11:18:47 -05:00
Alexander A. Klimov
9c274d40e1 GitHub Actions: also test "volume" ./relative-path 2022-11-12 11:26:24 +01:00
Michel Machado
204555d5df adjust_dev_path() struggles with relative paths
Calling "./f3write a" returns the following error:

f3write: Can't change root directory to a at adjust_dev_path(): No such file or directory

This patch avoids this bug.
2022-11-11 19:03:27 -05:00
Michel Machado
283f386448
Merge pull request #187 from Al2Klimov/hardening
Hardening f3write and f3read
2022-11-11 18:57:08 -05:00
Michel Machado
a7c13b1311
Merge pull request #190 from AltraMayor/wbuf
Add dynamic buffers to f3write
2022-11-11 18:50:10 -05:00
Alexander A. Klimov
49db27c71d GitHub Actions: also run as root 2022-11-11 22:16:32 +01:00
Alexander A. Klimov
8e67e3c954 GitHub Actions: also test volume / 2022-11-11 22:08:04 +01:00
Alexander A. Klimov
2a6ac36ca7 f3read, f3write: chroot(2) to source/target dir if allowed 2022-11-11 22:01:51 +01:00
Alexander A. Klimov
d01f5cad6e GitHub Actions: also test "volume" . 2022-11-11 22:01:48 +01:00
Alexander A. Klimov
0acac543f1 f3read, f3write: chdir(2) to source/target dir
This makes the dir non-umount-able for the program's lifetime.
2022-11-11 20:20:46 +01:00
Michel Machado
1aff91a44a
Merge pull request #191 from Al2Klimov/gha
GitHub Actions: test
2022-11-11 07:48:41 -05:00
Alexander A. Klimov
6b589aa8ca GitHub Actions: test 2022-11-10 23:10:31 +01:00
Alexander A. Klimov
709acbee27 GitHub Actions: build 2022-11-10 22:26:45 +01:00
Michel Machado
f5ae6b537a Add dynamic buffers to f3write and f3read
The write and read buffers passed to the operating system have
previously been limited to MAX_BUFFER_SIZE.  This commit makes
them dynamically sized in order to reach maximum writing and
reading speeds.

See details on issue #188.
2022-11-10 08:57:46 -05:00
Michel Machado
3b015a5a49
Merge pull request #186 from Al2Klimov/openbsd
Support OpenBSD
2022-10-24 15:33:23 -04:00
Alexander A. Klimov
bca777bef4 On OpenBSD use the MacOS msleep(), not the default one
which uses clock_nanosleep(2) which OpenBSD doesn't have.
2022-10-24 21:07:11 +02:00
Alexander A. Klimov
373504735e On OpenBSD, which doesn't have posix_fadvise(2), define that function 2022-10-24 21:07:07 +02:00
Michel Machado
57448c97c2
Merge pull request #184 from dreua/safer-documentation
Replace actual device names with /dev/sdX
2022-08-16 12:53:48 -04:00
David Auer
e94f845e1e Replace actual device names with /dev/sdX
Prevent possible data loss by mindless copy and paste.

Closes: https://github.com/AltraMayor/f3/issues/177
2022-08-16 18:26:32 +02:00
Michel Machado
447e37338b
Merge pull request #172 from vibraniumdev/master
Quick Fix | Replaces linking from releases to tags
2021-10-28 15:55:15 -04:00
Guilherme Teixeira
f291461a31 Quick Fix | Replaces linking from releases to tags
Since the releases are actually there
2021-10-28 15:27:31 -03:00
Michel Machado
e951364f88 f3read.1: update link to online manual
This patch closes #171
2021-09-07 14:54:11 -04:00
Michel Machado
8f96a03112
Merge pull request #170 from a1346054/master
Minor cleanup
2021-08-25 10:14:24 -04:00
a1346054
7750cd1474 trim excess whitespace 2021-08-25 13:23:07 +00:00
a1346054
0d3215a10b fix spelling 2021-08-25 13:23:06 +00:00
a1346054
be4444f4c4 Use correct license file from upstream
File retrieved from:
https://www.gnu.org/licenses/gpl-3.0.txt
2021-08-24 13:56:26 +00:00
Volker Runkel
94569efe38
Update README.rst (#160)
Added F3XSwift in GUI section
2021-01-20 08:33:27 -05:00
Michel Machado
f8d4e44f4f
Merge pull request #155 from whitslack/flakyflash-link
README: add reference to Flakyflash in "Other resources"
2020-12-30 15:07:51 -05:00
Matt Whitlock
c1efefeb96 README: add reference to Flakyflash in "Other resources"
See: https://github.com/AltraMayor/f3/issues/70#issuecomment-751832182
2020-12-30 13:12:09 -05:00
Michel Machado
7c5d6b7894 f3read/f3write: avoid the execution stack to list files
For large number of files, the original, recursive version of
__ls_my_files() triggers a stack overflow; see issue #153 for
an example.

This patch replaces __ls_my_files() with a version that replaces
the recursion with two scans of the target folder.
2020-12-10 19:38:18 -05:00
Michel Machado
46a509578f libflow: address compilation warning on ARM
This patch addresses issue #151.
2020-11-25 14:00:47 -05:00
kwaaak
f05682451b
Change libparted library name (#150)
* Change libparted library name

On Ubuntu 20.04.1 LTS, the name of the library is libparted-dev

Co-authored-by: Michel Machado <michel@digirati.com.br>
2020-11-15 11:19:00 -05:00
Michel Machado
e8cc238c72
Merge pull request #149 from gpupo/pr/Shebang
Add portability to Bash Program location
2020-11-15 10:59:30 -05:00
Gilmar Pupo
55b17d87f4 Shebang Portability 2020-11-14 08:45:26 -03:00
Michel Machado
4dae4eaf00 Bump version to 8.0 v8.0 2020-10-29 09:25:47 -04:00
Michel Machado
10cc50fd19
Merge pull request #146 from jowagner/patch-2
Correct overflow protection
2020-09-01 08:40:16 -04:00
Joachim Wagner
67337d7998
Correct overflow protection
`sizeof()` returns the number of bytes, not bits, and since this is as an unsigned type and the value typically less than 10 the assertion currently does not fail but also fails to detect problems when `MAX_N_BLOCK_ORDER` is too big as the comparison is with the the very big number resulting from an unsigned overflow, typically 2^32-2.
2020-09-01 13:22:31 +01:00
Michel Machado
ba0078e6d8
Merge pull request #142 from gchenfc/documentation_docker
Docker documentation on device passthrough
2020-07-30 15:47:36 -04:00
Gerry Chen
fa90e24f05 re-add docker build command (local build) 2020-07-30 14:30:37 -04:00
Gerry Chen
e39d6c542e Docker documentation on device passthrough
Primarily geared towards Mac, but serves as a rough template for Windows as well.
2020-07-30 14:22:37 -04:00
Michel Machado
9a9e74250d libflow: accommodate Macs
As of today, macOS or OS X still does not implement
clock_nanosleep() according to this project:
https://github.com/ChisholmKyle/PosixMachTiming
2020-06-23 08:01:52 -04:00
Michel Machado
5ac9551d87 libflow: avoid types size_t and ssize_t in libflow.h
Those types are not included in libflow.h and
including them is overwhelming.
2020-06-23 07:35:05 -04:00
Michel Machado
099eb7fd42 f3read: tighten assert()
The last assert() in iterate_files() was doing an integer division
before comparing values, so there was potential for a bug going
silent due to the truncation fo the integer division.
This patch rewrite the test with a multiplication.
2020-06-23 07:14:21 -04:00
Michel Machado
ab76ce4f85 README: drop reference to F3X
The project F3X is no longer maintained.

This patch closes #127.
2020-06-22 16:59:59 -04:00
Michel Machado
777c0758b8 f3read: add parameter --max-read-rate 2020-06-22 16:38:42 -04:00
Michel Machado
041c94c4ac f3read: integrate with libflow 2020-06-22 16:38:42 -04:00
Michel Machado
2ba83fb441 f3read: replace fopen(3) with open(2)
This patch is another step to prepare f3read to be integrated with
libflow.
2020-06-22 16:38:42 -04:00
Michel Machado
79cd2d66a2 libflow: rename fields and variables for generality
The original libflow was written for f3write only, and
this was reflected in the name of fields and variables
throughout the code. This patch renames these fields and
variables to reflect the fact that libflow will eventually
support f3write AND f3read.
2020-06-22 16:38:42 -04:00