Joachim Wiberg
b69d8a6013
Fix copyfile() not preserving source mode with restrictive umask
...
copyfile() passes the source mode to open(2), which applies the umask,
so a 0644 file copied with umask 0027 ends up 0640.
Apply the source mode with fchmod() after creating the destination.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2026-09-13 18:53:40 +02:00
Joachim Wiberg
e874608b76
Fix mkpath() ignoring mode when umask is more restrictive
...
mkpath(dir, 0755) with umask 0027 silently creates a 0750 directory,
since mkdir(2) applies the umask to the requested mode. Callers pass
an explicit mode and expect exactly that.
Apply the mode with chmod() after each successful mkdir().
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2026-09-13 17:17:37 +02:00
Joachim Wiberg
c1e050f93c
Update ChangeLog and bump version for v2.6.2 release
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2025-11-22 21:59:46 +01:00
Joachim Wiberg
0e45929323
Make note of possible extensions
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2025-11-22 21:44:20 +01:00
Joachim Wiberg
958502d982
Fix memory leak in which() on realloc() failure
...
Avoid leaking memory when realloc() fails by using a temporary pointer
and only updating the original on success. Also remove redundant NULL
check before free().
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2025-11-22 20:48:35 +01:00
Joachim Wiberg
f0cb0b7bf2
.github: bump actions
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2025-04-28 08:34:00 +02:00
Joachim Wiberg
ee5788d49b
Create SECURITY.md policy
2025-04-28 07:54:35 +02:00
Joachim Wiberg
9bfe54f959
pidfile(): ensure prefix path ends with slash
...
For some builds using Buildroot, the system default _PATH_VARRUN did not
include a trailing slas '/', which cause the pidfile() function to fail.
Example:
pidfile("arg") => "/var/runarg.pid"
Since the __pidfile_path can be overridden we add a check if that prefix
path ends with '/', if not we add one in the path composition.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2024-03-25 05:23:41 +01:00
Joachim Wiberg
960e7f69ed
Update changelog and bump version for v2.6.1 release
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-10-15 10:22:36 +02:00
Joachim Wiberg
68bc83f08f
FTBFS uClibc and musl libc, lite.h missing stdarg.h include
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-10-15 10:21:30 +02:00
Joachim Wiberg
986d29caf0
m4: sync with latest ax_prog_doxygen.m4
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-10-15 10:18:33 +02:00
Joachim Wiberg
2d9f8f595d
Update ChangeLog and bump version to v2.6.0 GA
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-09-17 16:59:24 +02:00
Joachim Wiberg
3f8ad99f1f
Fix varargs bug/usage, found by Coverity Scan
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-09-17 12:47:59 +02:00
Joachim Wiberg
63e25ecae4
.github: use new syntax for setting variables
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-09-17 12:47:43 +02:00
Joachim Wiberg
6c53ee819b
test: adjust times again
...
Running the tests in a Debian container seem to be taking way too long.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-09-17 12:26:08 +02:00
Joachim Wiberg
da21e02be0
Update ChangeLog diffs
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-09-17 12:19:13 +02:00
Joachim Wiberg
c33500c372
.github: import release job from Mg project
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-09-17 12:17:53 +02:00
Joachim Wiberg
bed65c84e6
.github: bump action versions, node12 deprecated
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-09-17 12:17:27 +02:00
Joachim Wiberg
c4f262b721
debian: prepare new release
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-09-17 12:17:14 +02:00
Joachim Wiberg
563b387ec7
test: increase delay waiting for background job in Debian container
...
GitHub action fails, probably due to too short wait delay.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-09-17 12:11:51 +02:00
Joachim Wiberg
b93d74c065
Update ChangeLog and bump version for v2.6.0-rc1
...
Bump ABI: 5.3.2 -> 5.4.0
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-09-17 12:00:04 +02:00
Joachim Wiberg
c1f7bc2bbb
Update copyright years
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-09-17 11:56:26 +02:00
Joachim Wiberg
99f644b512
doc: document new procfile functions
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-09-17 11:48:37 +02:00
Joachim Wiberg
92bb0ca399
runbg: new helper function inspired by the Infix project
...
The runbg() function is a delayed execvp() that has double-forked to the
background (to not create zombies). It is useful for running commands
in the background for APIs that need to return a reply, e.g. a NETCONF
RPC to reboot the system.
Compared to the original in Infix, this version double forks to reparent
itself to PID 1 (init), closes all open files, including stdio.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-09-17 11:00:09 +02:00
Joachim Wiberg
921afdecb4
Minor, indent
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-09-17 10:49:25 +02:00
Joachim Wiberg
47b02df823
Minor, spellcheck
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-09-17 10:49:13 +02:00
Joachim Wiberg
4dd14dac42
New helper functions to read/write /proc and /sys style files
...
From the Infix project.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-06-11 13:19:05 +02:00
Joachim Wiberg
97a3d43e9c
Reminder
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-06-11 12:47:49 +02:00
Joachim Wiberg
784a667584
New helper function, fexistf(), made for the Infix project
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-06-11 12:18:45 +02:00
Joachim Wiberg
1f6ff90d9e
New helper function, vfopenf(), inspired by the Infix project
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-06-11 12:16:58 +02:00
Joachim Wiberg
9eb847e56c
New helper function, popenf(), from the Infix project
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-06-11 12:03:24 +02:00
Joachim Wiberg
55272c13f7
Start new devel cycle for v2.6.0 release
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-06-11 11:38:01 +02:00
Joachim Wiberg
34097d33b6
Update changelog and bump version for v2.5.3 release
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-04-08 07:05:58 +02:00
Joachim Wiberg
311288eec9
test: major refactor and cleanup
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-04-08 06:51:25 +02:00
Joachim Wiberg
63cf8867c5
test: refactor, each test in separate func
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-04-08 06:00:47 +02:00
Joachim Wiberg
ac7b4194cf
Fix copyfile() regression introduced in 4e9b5c13
...
Caught in release cycle.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-04-08 05:55:48 +02:00
Joachim Wiberg
e44aaa4fd5
test: slight refactor to add diff -q A B check to fcopyfile()
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-04-08 05:55:48 +02:00
Joachim Wiberg
97cb2cb87c
test: reproduce copyfile() off by one regression
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-04-08 05:55:39 +02:00
Joachim Wiberg
837c3f23be
Prepare for v2.5.3 bug fix release
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-04-02 22:20:03 +02:00
Joachim Wiberg
4e9b5c13c1
copyfile: allow copying empty files to non-existing destination dirs
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-04-02 22:17:47 +02:00
Joachim Wiberg
d61b847e55
rsync: fix check for missing dst when dst is a directory
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-04-02 22:17:09 +02:00
Joachim Wiberg
90fdcdeb39
rsync: fix return value when copying a single file
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-04-02 22:16:50 +02:00
Joachim Wiberg
e36ac8f462
test: finalize rsync unit test to reproduce bugs
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-04-02 22:16:21 +02:00
Joachim Wiberg
eb3bb94cfa
Update changelog and bump version for v2.5.2 release
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2022-04-17 14:19:11 +02:00
Joachim Wiberg
11b9c88732
Add printf format attribute to all vararg functions
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2022-04-17 14:11:31 +02:00
Joachim Wiberg
11d4aafce1
Merge pull request #20 from yangfl/upstream
...
Fix for some non-linux
2022-01-27 11:34:50 +01:00
Joachim Wiberg
8120492fc8
Update changelogs and bump version for v2.5.1
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2021-12-02 00:43:02 +01:00
Joachim Wiberg
2065165ae9
debian: use dh_link(1) instead to create /usr/inclute/lite symlink
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2021-12-02 00:42:19 +01:00
Joachim Wiberg
95e5fdba9b
Bump version for v2.5.0 release
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2021-11-30 07:01:09 +01:00
Joachim Wiberg
b21d1c8e9b
More syntactic sugar
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2021-11-29 18:49:20 +01:00
Joachim Wiberg
5b670951a3
More experimenting and some reflow of a paragraph
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2021-11-29 00:33:10 +01:00
Joachim Wiberg
612290c9e2
Experiment with syntax highlighting
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2021-11-29 00:28:39 +01:00
Joachim Wiberg
80d11dccf7
Update changelogs for upcoming v2.5.0 release
...
This should be it, but let's sleep on it for good measure.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2021-11-29 00:25:53 +01:00
Joachim Wiberg
438e7a2722
debian: update libite-dev, headers in libite/*.h and lite symlink
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2021-11-29 00:25:21 +01:00
Joachim Wiberg
96e023e58e
Update README wrt the namespace change
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2021-11-29 00:23:24 +01:00
Joachim Wiberg
67a9b379ba
Update comments, also namespace is one word
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2021-11-29 00:22:38 +01:00
Joachim Wiberg
1c0988b8e2
Fix #18 : optional compat symlink lite -> libite/
...
Default is to create the symlink, to facilitate upgrades.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2021-11-28 19:22:45 +01:00
Joachim Wiberg
407b8f6dbf
Prefix include guards with LIBITE_ to safe guard name space
...
The tree.h and queue.h include guards must remain so users don't
accidentally get their system queue.h included as well.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2021-11-28 19:20:53 +01:00
Joachim Wiberg
bc72e1c3ad
Change -lite include path/name space; lite/*.h -> libite/*.h
...
First step in fixing issue #18 .
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2021-11-28 19:09:55 +01:00
Joachim Wiberg
2d10cf0402
Prepare ChangeLog for upcoming v2.5.0 release
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2021-11-28 19:08:32 +01:00
Joachim Wiberg
7adf2a01f2
Bump version for v2.5.0 release cycle (-dev)
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2021-11-28 19:07:54 +01:00
Joachim Wiberg
a4ff8cce01
strnlen(): defensive programming, check limit before indexing array
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2021-11-28 16:36:43 +01:00
Joachim Wiberg
12b9196c65
Bump ABI version 5.3.0 -> 5.3.1 according to doc/HACKING.md
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2021-10-09 09:21:41 +02:00
Joachim Wiberg
6eee1b1baf
doc: update project name
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2021-10-09 09:19:49 +02:00
Joachim Wiberg
1a5b184391
debian: add doxygen to Build-Depends-Indep
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2021-10-09 09:13:09 +02:00
Joachim Wiberg
832c4a936b
Update changelogs and bump version for v2.4.1 release
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2021-10-09 08:57:49 +02:00
Joachim Wiberg
a712364d49
tempfile(): use same fallback also when O_TMPFILE is missing
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2021-10-06 18:05:45 +02:00
Joachim Wiberg
fae83c9be3
Use mkostemp() instead of insecure tmpfile() as fallback
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2021-10-06 17:51:07 +02:00
Joachim Wiberg
48202ef19e
Slightly rearrange and fix URL
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2021-10-03 22:40:11 +02:00
Joachim Wiberg
7c36f715c7
Split README.md in two, create a new doc/API.md
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2021-10-03 22:37:55 +02:00
Joachim Wiberg
328b28f2d1
Restore spacing between badges
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2021-10-03 22:32:08 +02:00
Joachim Wiberg
970fa47ecf
Update code docs for string functions and macros as well
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2021-10-03 22:30:20 +02:00
Joachim Wiberg
0a98f5bbd1
Mention API documentation
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2021-10-03 21:34:12 +02:00
Joachim Wiberg
85336b1f2b
Link to blog post, to free up GitHub home URL for docs
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2021-10-03 21:31:59 +02:00
Joachim Wiberg
8128e63898
Add codedocs status badge
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2021-10-03 21:29:16 +02:00
Joachim Wiberg
b52f1e5ad6
debian: drop sdbuf, unused internal variable
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2021-10-03 19:14:22 +02:00
Joachim Wiberg
5d1e884d6f
Initial codedocs.xyz integration
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2021-10-03 19:10:45 +02:00
Joachim Wiberg
6537b11e34
doc: initial effort to enable doxygen
...
Framework from libuEv.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2021-10-03 19:08:40 +02:00
Joachim Wiberg
03598fc01e
.github: rename test result artifact
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2021-10-03 14:55:42 +02:00
Joachim Wiberg
d4649b8284
test: clean up any lingering core file after systemf() test
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2021-10-03 13:22:01 +02:00
Joachim Wiberg
3d2a975f11
Fix issue with tempfile() returning EOPNOTSUPP on Azure
...
Turns out O_TMPFILE can fail in interesting ways when the underlying
filesystem doesn't support unnamed inodes, e.g. Azure used by GitHub
Actions. Here's the exact qoute from open(2):
"O_TMPFILE requires support by the underlying filesystem; only a
subset of Linux filesystems provide that support. In the initial
implementation, support was provided in the ext2, ext3, ext4, UDF,
Minix, and shmem filesystems. Support for other filesystems has
subsequently been added as follows: XFS (Linux 3.15); Btrfs (Linux
3.16); F2FS (Linux 3.16); and ubifs (Linux 4.9)"
This patch adds a silent fallback to tmpfile() in these cases.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2021-10-03 12:55:01 +02:00
Joachim Wiberg
1b6707f44e
test: investigate why tempfile() fails on debian:stable
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2021-10-03 12:42:16 +02:00
Joachim Wiberg
bdebca9681
.github: separate check and distcheck steps, use -j3
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2021-10-03 12:35:21 +02:00
Joachim Wiberg
d364f6b4e1
.github: if debian distcheck fails, show test-suite.log
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2021-10-03 12:29:52 +02:00
Joachim Wiberg
6db730aeff
Bump version for v2.4.1 release cycle (-beta1)
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2021-10-03 12:24:21 +02:00
Joachim Wiberg
c512e1cabd
.github: prepare initial release general
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2021-10-03 12:23:23 +02:00
Joachim Wiberg
5d94ca9a14
.github: add coverity scan workflow
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2021-10-03 12:23:23 +02:00
Joachim Wiberg
f0efcb5340
Minor updates and fixes
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2021-10-03 12:23:23 +02:00
Joachim Wiberg
4ee5ca61b8
Drop Travis-CI in favor of GitHub Actions
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2021-10-03 12:22:48 +02:00
Joachim Wiberg
ed491ecdba
.github: enable bob
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2021-10-03 12:22:33 +02:00
Joachim Wiberg
b6940814f4
.github: enable funding for this repo
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2021-10-03 12:22:33 +02:00
Joachim Wiberg
1e91e7ea3f
.github: add contributing guidelines
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2021-10-03 12:22:33 +02:00
Joachim Wiberg
332861430d
Minor, cleanup
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2021-10-03 12:22:33 +02:00
Joachim Wiberg
0813084aa7
Import release related fixes to top Makefile from libuEv
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2021-10-03 12:22:33 +02:00
Joachim Wiberg
990ee6874c
Relocate libite.pc.in to src/
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2021-10-03 12:22:33 +02:00
Joachim Wiberg
ef4a8691d3
test: fix build warnings for most tests
...
Let rsync.c continue to warn, it's not complete ...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2021-10-03 12:22:33 +02:00
Joachim Wiberg
75139cdf3c
Relocate lesser used docs to doc/
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2021-10-03 12:22:33 +02:00
Joachim Wiberg
c9633ffbb0
Rename tests/ -> test/ and update internal refs.
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2021-10-03 12:22:33 +02:00
Joachim Wiberg
692dbadd3a
Prefix CFLAGS/CPPFLAGS/etc with AM_ to prevent env. clashes
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2021-10-03 12:22:33 +02:00
Joachim Wiberg
b1a2975a76
Replace obsolete AM_CONFIG_HEADER with AC_CONFIG_HEADERS
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2021-10-03 12:21:03 +02:00