Commit Graph
100 Commits
Author SHA1 Message Date
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
Joachim Wiberg 67529f2283 debian: update symbols file
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2021-03-27 10:24:05 +01:00
Joachim Wiberg 8e69676943 Increment ABI version 5.2.0 -> 5.3.0
The GNU libtool numbers are just SO confusing.

 - New interfaces (new functions) added/removed/changed: 7 -> 8
 - Interfaces added: 2 -> 3

End result, steps 5.2.0 to 5.3.0, which makes sense.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2021-03-27 09:26:04 +01:00
Joachim Wiberg 76faae4292 Update changelogs, and bump version in prep. for v2.4.0 release
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2021-03-27 09:18:22 +01:00
Joachim Wiberg e928c30fbd Revert "Travis-CI: disable clang temporarily for Coverity Scan run"
This reverts commit 951050fdd2.
2021-03-27 09:05:31 +01:00
Joachim Wiberg 3512201a58 Travis-CI: install to /tmp/foo and run distcheck at the end
- We shouldn't run ls -lr /tmp, in particular when Coverity runs, it
  keeps a LOT of files in /tmp causing Travis to terminate our jobs
- make check is cool, but distcheck also verifies our Makefile.am
  rules, ensuring make check also works from an unpacked tarball

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2021-03-27 08:56:27 +01:00
Joachim Wiberg dc5c4ae36c systemf(): simplify further, exited OK or was signaled
Coverity highlighted a problem with logically dead code from the change
prior that triggered this refactor.  When system() returns we may have
exited either normally or due to a signal.

My reasoning behind systemf() is to allow users to treat external calls
as any other syscall, abstracting away the WIFFOO() macros.  This leaves
us with either the return value of the external program >= 0, or -1 and
errno for everything else.  I.e., if fork() or alloca() fails we may get
ENOMEM and if the program doesn't catch signals properly, EINTR.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2021-03-27 08:48:09 +01:00
Joachim Wiberg 748948b665 Minor, use .svg Travis status badge
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2021-03-27 08:48:01 +01:00
Joachim Wiberg 951050fdd2 Travis-CI: disable clang temporarily for Coverity Scan run
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2021-03-27 08:09:17 +01:00
Joachim Wiberg d5c5996f03 Minor, whitespace
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2021-03-27 08:06:17 +01:00
Joachim Wiberg f5808e557e Add strtrim(), trims leading and trailing white-space from a string
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2021-03-27 08:05:36 +01:00
Joachim Wiberg d4b554ccdc Add erasef(), formatted version of erase()
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2021-03-27 07:08:49 +01:00
Joachim Wiberg 098a020843 Bump version, 2.4.0 development cycle
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2021-03-26 12:39:32 +01:00
Joachim Wiberg 2040569f0a Add touchf(), formatted version of touch()
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2021-03-26 12:39:32 +01:00
Joachim Wiberg 733a7062e9 Minor, whitespace
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2021-03-26 12:37:05 +01:00
Joachim Wiberg 7ad11a31df touch(): behavioral change, call utimensat() first, then mknod()
Optimize for the case the file exists already.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2021-03-26 12:35:41 +01:00
Joachim Wiberg 8ce46eb439 systemf(): fix improper handling of WEXITSTATUS()
The call to system() may return -1, e.g. if fork() fails or return
status from execl() cannot be read.  In these cases we should end
immediately and not call WIFEXITED() et al.

Also, WEXITSTATUS() should only be called if WEXITED() returns true.

For details, see system(3) and wait(2).

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2021-03-26 12:32:43 +01:00
Joachim Wiberg c15e883427 tests: update systemf() test to detect improper return code on error
Non-existing programs should return 127, and
killing ourselves with -9 should return -1

For details, see system(3).

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2021-03-26 12:29:55 +01:00
Joachim Wiberg 63d82da62d Update changelogs and bump version for v2.3.1 release
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2021-02-12 15:13:40 +01:00
Joachim Wiberg dd1c67b2b6 debian: add missing files to copyright
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2021-02-12 15:10:05 +01:00
Joachim Wiberg 08d9a90945 Makefile: use debuild to build .deb packages, also runs lintian
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2021-02-12 09:29:42 +01:00
Joachim Wiberg beba419a0f debian: makepath.c is copyright me, licensed as isc
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2021-02-12 09:29:01 +01:00
Joachim Wiberg 3d695eede5 Update copyright years and author surname
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2021-02-12 09:28:41 +01:00
Joachim Wiberg 6e18edea93 debian: set dist to stable, that's the only channel currently
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2021-02-12 08:28:18 +01:00
Joachim Wiberg 9c89daf770 Update changelogs and bump version for v2.3.0 release
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2021-02-12 08:24:30 +01:00
Joachim Wiberg b3d4674bf7 Makefile: add .sha256 checksums to release target
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2021-02-12 08:23:07 +01:00
Joachim Wiberg aa4576d5ea configure: enable tar.gz dist archives, by popular demand
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2021-02-12 08:22:32 +01:00
Joachim Wiberg ae56c9e33c debian: sync rules with libuev
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2021-02-12 08:21:42 +01:00
Joachim Wiberg 3387c737be debian: update symbols file, new functions introduced in 2.3.0
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2021-02-12 08:21:23 +01:00
Joachim Wiberg 8d90ede158 Update changelog with new function
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2021-02-01 19:12:44 +01:00
Joachim Nilsson b1fe8a1271 debian: Update .gitignore
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2020-06-02 06:56:41 +02:00
Joachim Nilsson 044c2621ac Add support for truncatef(), formatted truncate() replacement
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2020-06-02 06:56:02 +02:00
Joachim Nilsson 7396dd83c7 Merge pull request #15 from yangfl/upstream
Fix #14: Avoid (some) hard-coded pathes in tests
2020-06-01 17:18:11 +02:00
Joachim Nilsson 824da13977 Update ChangeLog, added fremove()
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2020-04-29 00:33:39 +02:00
Joachim Nilsson efb1470008 Update ChangeLog with ETIMEDOUT fix to telnet_open()
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2020-04-27 23:23:21 +02:00
Joachim Nilsson d2d0792c06 telnet_open(): Handle ETIMEDOUT in connect()
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2020-04-27 23:20:55 +02:00
Joachim Nilsson 711c59e3a6 telnet: Refactor, rename local variable
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2020-04-27 23:20:55 +02:00
Joachim Nilsson f85ff3c835 tests: Add fremove() pass to fopenf() unit test for cleanup
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2020-04-27 23:18:47 +02:00
Joachim Nilsson 16ea69adb4 Add support for fremove(), formatted remove() replacement
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2020-04-27 23:18:10 +02:00
Joachim Nilsson ae492581f8 tests: Keep same width for pass sub-headings as as test framework
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2020-04-27 23:17:50 +02:00
Joachim Nilsson d16385415c Simplify va_start/_end handling and return ENOMEM if alloca() fails
Be consistent with errno codes from libite, we already have other APIs
that return ENOMEM if alloca() fails, so let's do the same for these
new ones as well.

Also, simplify va_start()/va_end() handling in these APIs, no point
in the extra complexity before this patch.

Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2020-04-27 23:14:56 +02:00
Joachim Nilsson d27518c5b8 Bump version for 2.3.0-dev release cycle
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2020-04-27 22:45:41 +02:00
Joachim Nilsson 724926896a Add mising bullet and document new APIs better 2020-03-26 05:41:41 +01:00
Joachim Nilsson ef04307b4a debian: Update symbols file, new APIs introduced in v2.2.0
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2020-03-16 17:41:44 +01:00
Joachim Nilsson 5d035d955e debian: Add missing libtool to Build-Depends
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2020-03-16 17:38:25 +01:00
Joachim Nilsson b65175782d Bump ABI version, new APIs added
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2020-03-16 17:38:25 +01:00
Joachim Nilsson c27a8e7ec6 Update changelogs and bump version for v2.2.0 release
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2020-03-16 16:01:46 +01:00
Joachim Nilsson d231c1e1eb Revert "Travis-CI: Disable clang temporarily for Coverity Scan run"
This reverts commit 2a6adeebcd.
2020-03-16 10:41:27 +01:00
Joachim Nilsson 247fb67274 Add Coverity Scan badge
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2020-03-16 10:37:21 +01:00