Login
Changes To TODOs
Login

Changes to "TODOs" between 2024-07-22 12:53:09 and 2024-09-05 09:33:02

94
95
96
97
98
99
100
101
102
103
104
105
106
107


108
109
110
111
112
113
114
94
95
96
97
98
99
100



101
102
103
104
105
106
107
108
109
110
111
112
113







-
-
-




+
+







libf's symlink support has never been fleshed out (and has been outright ignored in numerous places as a result of my personal stance on storing symlinks in an SCM), so this disconnect could be in any number of places in the library. 

# Security-relevant

But not otherwise SCM-relevant...

- **Port over `db_unprotect()` and `db_protect_pop()`** APIs, which allow a db to effectively be made read-only except for limited windows where specific sections of it needs to be writable. Related: `db.c:db_top_authorizer()`.

- ***SQLite3 Security Encryption Extension (SEE)*** support: <https://sqlite.org/see>. We have received an SEE license which can be used to develop this support, so it's now just a matter of figuring out how best to integrate it in such a way that arbitrary clients can plug into it.


# Non-SCM TODOs

In no particular order...

- **URL parsing**: _not_ because we really need URLs at the library level, but (A) so that libfossil can find a repo's default user name from its `remote-url` setting (which is often a URL with a user name encoded in it) and (B) so that client code can parse URLs in a manner known to be compatible with fossil's understanding of them.

- **Add [SPDX-style](https://spdx.dev/) license attribution** to all source files. This is ongoing.

- **Header file restructuring.** The current separation of the APIs into many `include/fossil-scm/*.h` files is somewhat confusing. The initial intent was to keep my low-end development system of the time from choking on syntax highlighting on one large file, but those days are largely behind me. It may make sense to combine those into 1 public API file, 1 internal API file, and the auto-generated config file(s). (Even then, it's big enough to choke emacs' syntax highlighting on lower-end systems like Raspberry Pi SBCs.)

- **Stop using char as booleans**. This tree historically uses `char` type for booleans. Now that the tree is C99, we can switch to the `bool` type. This is ongoing.