Bruce Leidl
3e017ef9f3
added dependencies
2019-04-02 15:32:02 -04:00
Bruce Leidl
c5d5693f62
installer refactored extensively
2019-04-02 15:31:29 -04:00
Bruce Leidl
ffd7a78c3d
updated to new libcitadel api
2019-04-02 15:30:41 -04:00
Bruce Leidl
1fc2292f9b
added a subcommand
2019-04-02 15:29:28 -04:00
Bruce Leidl
adbae8a971
updated to new libcitadel api
2019-04-02 15:26:09 -04:00
Bruce Leidl
fff6ddb15a
citadel-desktopd replaced with citadel-desktop-sync util
2019-04-02 15:22:55 -04:00
Bruce Leidl
ce10df3dfc
citadel-realmfs moved into citadel-tool binary
2019-04-02 15:20:38 -04:00
Bruce Leidl
a984632123
completely rewritten
2019-04-02 15:19:39 -04:00
Bruce Leidl
d9889771d6
a few new dependencies
2019-04-02 15:18:18 -04:00
Bruce Leidl
92cd59eb65
updated with changes to library
2019-04-02 15:17:46 -04:00
Bruce Leidl
8a65aa1708
refactored scattered functions into a class
2019-04-02 15:16:49 -04:00
Bruce Leidl
81e9e224fc
updated to use new ImageHeader correctly
2019-04-02 15:16:12 -04:00
Bruce Leidl
cf85d10055
method added to construct keypair from raw bytes
2019-04-02 15:15:28 -04:00
Bruce Leidl
e493e5180d
implemented some extra functionality
2019-04-02 15:14:41 -04:00
Bruce Leidl
533ed4b8be
ImageHeader refactored to be thread safe and shareable
2019-04-02 15:13:13 -04:00
Bruce Leidl
025d7f3aa4
functions for manipulating symlinks
2019-04-02 15:12:34 -04:00
Bruce Leidl
f9311fa35e
improved logging system and macros
2019-04-02 15:12:10 -04:00
Bruce Leidl
f1ff4e6e20
A new Command wrapper
2019-04-02 15:11:29 -04:00
Bruce Leidl
6f007692dc
added citadel.debug as a recognized kernel command line var
2019-04-02 15:10:27 -04:00
Bruce Leidl
b7d4f1e570
refactor of RealmFS into several components
2019-04-02 15:09:41 -04:00
Bruce Leidl
fcbf63db8e
refactor of Realm into a module with various components
2019-04-02 15:08:55 -04:00
Bruce Leidl
4b4e5f31e7
various low level system utils moved into system module
2019-04-02 15:00:01 -04:00
Bruce Leidl
4bd8c3626f
a module for terminal colors and escape sequences
2019-04-02 14:57:29 -04:00
Bruce Leidl
43800cdc6e
Initial implementation of keyring
...
Keyring is an encrypted file to store secrets. The encryption key is
derived from the disk decryption passphrase so that the file can be
automatically decrypted and processed during boot.
The keys contained in the keyring file are loaded into the kernel key
store so that they can later be retrieved by other components.
Currenly during installation a signing key is generated and stored in
the keyring so that the system can transparently sign RealmFS images
when the user modifies or updates them.
2019-02-02 20:42:42 -05:00
Bruce Leidl
0e1a06ae7f
goodbye Ring hello sodiumoxide
2019-02-02 20:33:50 -05:00
Bruce Leidl
28401b589e
move /run/realms to /run/citadel/realms
2019-01-30 23:36:43 -05:00
Bruce Leidl
d3ac4bb000
small cleanup
2019-01-30 21:43:55 -05:00
Bruce Leidl
2dc32d1f20
Refactor multiple tools into a single binary.
...
citadel-tool now installed with a hardlink for each binary tool and
dispatches on the exe path to the tool implementation. This makes
the build faster, uses less disk space, and makes it easier to
create new small tools.
2019-01-30 21:31:13 -05:00
Bruce Leidl
dbdf0d4035
added bless and install commands
2019-01-30 14:27:50 -05:00
Bruce Leidl
e7151f8de2
Initial implementation of RealmFS
2019-01-30 14:26:46 -05:00
Bruce Leidl
884d056420
refactor for realmfs implementation
2019-01-30 14:21:54 -05:00
Bruce Leidl
e5d0b7f6f2
installer refactored to support RealmFS
2019-01-30 14:15:44 -05:00
Bruce Leidl
a0d39431e8
bless method added to mark partition which has booted successfully
2019-01-30 14:13:24 -05:00
Bruce Leidl
c00e11ee8f
rootfs symlink is created when realm is started so remove this check
2019-01-30 14:12:37 -05:00
Bruce Leidl
55b08fb683
decompress images in parallel by spawning a thread for each one
2019-01-30 14:11:30 -05:00
Bruce Leidl
0b2480f849
Refactor to chain realm specific config to global config
...
Now if a variable is not set in a realm config file (or the file does
not exist), the 'global' config file will also be searched in the
parent directory (ie: /storage/realms/config). If the variable is
still not found, the value from the default instance is returned.
2019-01-30 14:09:34 -05:00
Bruce Leidl
6215b58167
realmfs-owner is name of realm that can write to unsealed realm
2019-01-30 14:06:18 -05:00
Bruce Leidl
191b580440
refactor verity module to work on images without removing header first
2019-01-30 14:05:11 -05:00
Bruce Leidl
e7e75061a1
Everything optional except 'image-type' now. Also removed a couple fields.
...
When a RealmFS image is not sealed it has a very simple header and
doesn't use most of the metainfo fields.
2019-01-29 13:53:22 -05:00
Bruce Leidl
d23e488aaa
method to write header to a path
2019-01-29 13:42:17 -05:00
Bruce Leidl
322fa97f6a
add 'realmfs-name' as a potential metainfo field
2019-01-29 13:41:50 -05:00
Bruce Leidl
c13fb5fb61
method to clear signature field
2019-01-29 13:39:30 -05:00
Bruce Leidl
0299d2814f
function added to also find mounts by target path
2019-01-29 11:56:56 -05:00
Bruce Leidl
41708c870e
Added option to enable sealed realmfs images from kernel command line
2019-01-29 11:51:24 -05:00
Bruce Leidl
3782668514
Refactor how images are built to support realmfs images
...
Main change in building images is that an empty 4096 byte block is
prepended to raw image before compression so that upon decompression
the header can be written without having to shuffle around decompressed
image.
2019-01-29 11:50:10 -05:00
Bruce Leidl
e4665f3f5c
function to test for valid names of things
2019-01-29 11:42:27 -05:00
Bruce Leidl
f5bf92f488
function for piping section of a file to a command
...
This makes it possible to calculate sha256sum in place on an image file
which has both a header and an appended dm-verity tree. Before this
required a message process of extracting the body into a temporary file.
2019-01-29 11:40:20 -05:00
Bruce Leidl
ff115e6005
Put everything into a single workspace
2019-01-17 11:03:37 -05:00
Bruce Leidl
c864e58f6d
external crate declarations no longer needed
2019-01-17 09:39:06 -05:00
Bruce Leidl
b258604fd0
Updated everything for Rust 2018 with cargo fix --edition
2019-01-17 09:25:24 -05:00