801a7cdb39
Added temp permission globbing
2025-05-06 12:17:50 +02:00
22b091f017
Fixed empty filename bug.
2025-05-06 12:17:26 +02:00
fd2144a1f9
Added a filename check
2025-05-05 18:59:57 +02:00
420f34a7f3
Added folder globbing for permanent permissions
2025-05-05 18:53:05 +02:00
4539df9842
Fixed wrong fallback filename bug
2025-05-04 17:39:39 +02:00
e32ce5add5
Renamed all zenity mentions to dialogue
2025-05-04 17:25:47 +02:00
c4ae40c7bd
Finished the new dialogue functionality
2025-05-04 17:09:28 +02:00
ecedbbb4ce
Added DENY_TEMP access type
2025-05-04 17:05:44 +02:00
10d2988761
Added a version check for the icfs-dialogue
2025-05-04 17:05:07 +02:00
a2eeb81fed
Updated gitignore
2025-05-03 12:09:10 +02:00
3a89449c32
Added gitignore to the dialogue
2025-05-03 12:05:11 +02:00
ac1d7c1535
Renamed zenity-clone to icfs-dialogue and improved makefile
2025-05-03 12:03:54 +02:00
d367d6ffe7
Adapted the ui-socket to the new dialogue
2025-05-03 10:31:42 +02:00
82f66a1df3
Fixed inverted responses
2025-05-03 10:30:13 +02:00
8cb7721e39
Updated ui-socket to use the new dialogue
2025-05-01 20:55:05 +02:00
fe84daecfe
Removed const
where it was simply wrong.
2025-05-01 20:54:39 +02:00
683da15953
Updated the cc.h version
2025-05-01 20:52:32 +02:00
5452c3d1d7
Added filename translation to the ui-socker
2025-05-01 16:17:50 +02:00
ed441b3c5f
Absolved fuse operations of responsibility for filename translation
2025-05-01 16:17:11 +02:00
48342b0d5f
Updated sourcefs header
2025-05-01 16:16:24 +02:00
31b70b6069
Added mountpoint functions to sourcefs
2025-05-01 16:16:09 +02:00
07cb76f425
Updated the dialogue
2025-05-01 16:15:00 +02:00
747077f365
Update Makefile for the zenity clone
2025-05-01 16:13:31 +02:00
ccb449ae57
Added a new dialogue
2025-04-28 10:11:50 +02:00
c4ef955ff1
Added a cleaner way of allocating the zenity command.
2025-04-15 19:02:36 +02:00
3157940c0b
add a missing header
2025-04-15 18:58:18 +02:00
92378c1cde
add exerimental deny flag in the tables
...
For now, perm table does not set the thrid parameter to anything useful
2025-04-15 18:57:57 +02:00
BritishTeapot
55fb5c54c6
Improved code readability
2025-04-14 16:46:06 +02:00
BritishTeapot
402a5d109f
Fixed incorrect executable path problem.
...
Previously, process name was grabbed from `/proc/pid/cmdline`. This was
revealed to be faulty, since the path to the executable might be
relative, and thus would change the result depending on how the program
was called. Also, it made executable renaming a viable bypass of the
entire access control.
I still don't fully undestand how I managed to not think of this before
:)
2025-04-12 18:44:20 +02:00
BritishTeapot
16b8d77fb9
Improved code readability and added database file argument.
2025-04-07 19:38:33 +02:00
BritishTeapot
aea6e94ad7
Fixed incorrect database creation flags
2025-04-02 18:56:31 +02:00
BritishTeapot
52fcb4d4e3
Fixed an arbitrary return value in temp permissions init
2025-04-02 18:49:14 +02:00
BritishTeapot
07e4ce3eb4
Added missing license headers
2025-04-01 19:56:10 +02:00
BritishTeapot
4c8092378b
Added database protection with setuid.
...
Added the initial support for the database protection with the setuid
mechanism. In the beginning the program creates(or opens) the database
as a special user, and then switches to the real uid and functions
normally.
2025-04-01 19:34:15 +02:00
BritishTeapot
40ca81d744
Updated header function description for interactive_access
2025-03-31 14:36:26 +02:00
BritishTeapot
d4e86c8620
Reorgised the code
2025-03-31 14:33:43 +02:00
BritishTeapot
845c264989
Removed unnecessary include
2025-03-31 13:32:10 +02:00
BritishTeapot
57091bf0ce
Made create to grant permissions automatically.
...
Creating files grants permanent permissions to them now. This makes
sense because if a program creates a new file, then it clearly can't
steal any data. This is particularly useful for programs which open an
obscene amount of auxilary files (e.g. neovim with a huge amount of
plugins).
2025-03-30 19:48:11 +02:00
BritishTeapot
7e111b16b7
Added permanent permissions
...
Finally implemented the permanent permission tables using sqlite3. For
now, performance wasn't a consideration. There are a lot of
optimizations that could be made, like having prepared queries. The code
remains fairly untested.
2025-03-30 19:06:57 +02:00
BritishTeapot
da37376fde
Added permission checks for chmod, link, rename and chown
...
Those clearly need to ask for permissions.
2025-03-24 17:11:01 +01:00
BritishTeapot
2e21ae7b18
Deleted a useless file.
2025-03-18 16:50:53 +01:00
BritishTeapot
b705228685
Made temporary process table work!
...
Temprorary permissions table now works! It needs a better way for
cleaning though.
2025-03-18 15:45:32 +01:00
BritishTeapot
fe4b8801c0
Moved permission table logic to a separate file
2025-03-18 14:02:42 +01:00
BritishTeapot
b6ce683364
WIP: Added the initial process table implementation.
...
Wrote a basic process table implementation with CC's vectors and hash
maps. So far, it looks like it does not really work.
2025-03-18 10:07:45 +01:00
BritishTeapot
70e81d64c1
Added the CC (Convenient Containers) library.
...
Added the CC library for vectors and hash maps.
2025-03-18 10:05:12 +01:00
BritishTeapot
67a148c7aa
Fixed inverted access control permissions bug.
...
Fixed an (admitedly quite silly) bug that caused the access control
descisions to be inverted.
2025-03-18 10:03:32 +01:00
BritishTeapot
0cc9140aa3
Skeleton for the process tables implementation
...
Wrote a skeleton for the future process table implemntation. Aslo
slightly edited the ui-socket interface.
2025-03-17 10:54:01 +01:00
BritishTeapot
d7c20a5d5f
Added proper license headers
2025-03-10 18:09:05 +01:00
BritishTeapot
64289b2786
Added the "Allow this time." option.
...
Now the user can choose the "Allow this time." option when prompted.
`ask_access` will return 2 if this option is selected. So far, only the
GUI for this feature is implemented.
2025-03-10 18:01:04 +01:00
BritishTeapot
01cdf4094e
Changed NULL
to 0 in flags fields.
2025-02-11 12:09:28 +01:00