No description
Find a file
CismonX 750c16077c
backend: prevent timestamp overflow
When updating timestamps, make sure that the corresponding
microsecond value fits in a single signed 64-bit integer,
so that it won't result in an integer overflow, which is UB.

Also forbid timestamps before the Unix epoch, since working with
negative time_t is problematic.

This check does not apply to current timestamp, however,
add a check on backend startup to ensure sane system time.

There's no need to validate `tv_nsec`, since the kernel already
does that for us.
2025-03-20 12:46:11 +08:00
.builds ci: add history build urls 2025-02-27 11:06:00 +08:00
doc backend: refactor bookmark_set() for timestamps 2025-03-20 12:14:59 +08:00
m4 build: rename autoconf helper macros 2025-03-14 07:44:51 +08:00
src backend: prevent timestamp overflow 2025-03-20 12:46:11 +08:00
tests test: fix helper program 2025-03-16 11:53:54 +08:00
.gitignore test: init tests; add tests for util lib 2025-02-08 01:48:07 +08:00
bookmarkfs.pc.in chore: update links 2025-02-05 18:11:37 +08:00
configure.ac build: rename autoconf helper macros 2025-03-14 07:44:51 +08:00
COPYING init: prepare for Savannah 2024-12-31 18:09:03 +08:00
INSTALL.md build: misc update 2025-02-11 18:28:30 +08:00
Makefile.am init: prepare for Savannah 2024-12-31 18:09:03 +08:00
README.md chore: update links 2025-02-05 18:11:37 +08:00

About

BookmarkFS is a FUSE-based pseudo-filesystem which provides an interface to the bookmark data of web browsers.

Currently, the following browsers (and their derivatives) are supported:

  • Firefox
  • Chromium

Getting Started

See 'INSTALL.md' for instructions on how to build and install BookmarkFS. See the files under 'doc/' for the user manual.

Project homepage: https://www.nongnu.org/bookmarkfs/.

Copying

BookmarkFS is free software, distributed under the terms of the GNU General Public License, either version 3, or any later version of the license. For more information, see the file 'COPYING'.

The user manual and other supporting files in this codebase are distributed under separeate licenses. Refer to the corresponding license notice for details.