mirror of
https://github.com/genodelabs/genode.git
synced 2025-05-09 12:02:57 +00:00
file-system session: root dir via session label
This patch changes the way of how the client-selected sub directory is communicated to the server. The former opaque session argument is now passed as last label element, which allows for the flexible tweaking of this argument by init's session-routing and label-rewriting mechansims. In particular, it alleviates the need for creating chroot component instances. This change requires the following four adaptations at the configuration level: - Each file-system session request must now carry a path starting with / as last session arguments. Hence, <vfs> <fs> nodes that feature a 'label' attributes must extend the attribute value with " -> /". For <fs> nodes with no label attribute, "/" is used as last label argument by default. - For matching session-routing rules at init's configuration, the matching of full labels should be replaced by 'label_prefix' matches, excluding the last (path) argument. - Wherever a label of a file-system session is rewritten by using init's 'label' attribute of a <parent> or <child> target node, the new attribute 'identity' should be used instead. This replaces the identity part of the label while preserving the client's directory argument. - Analogously to the matching of session-routing rules, server-side policy-selection rules that formerly matched a concrete 'label' must be changed to match a 'label_prefix' instead. As a good practice, 'label_prefix' values should end with " ->" if possible, which clearly delimits the identity part of the label used by the matching. Issue #5445
This commit is contained in:
parent
ba97a676ad
commit
2c8beb462f
@ -47,10 +47,10 @@ install_config {
|
|||||||
<start name="lx_fs" caps="200" ram="4M" ld="no">
|
<start name="lx_fs" caps="200" ram="4M" ld="no">
|
||||||
<provides> <service name="File_system"/> </provides>
|
<provides> <service name="File_system"/> </provides>
|
||||||
<config>
|
<config>
|
||||||
<policy label_prefix="fs_rom_config" root="/lx_fs_notify" writeable="no"/>
|
<policy label_prefix="fs_rom_config" root="/lx_fs_notify" writeable="no"/>
|
||||||
<policy label_prefix="fs_rom_test" root="/lx_fs_notify/test" writeable="no"/>
|
<policy label_prefix="fs_rom_test" root="/lx_fs_notify/test" writeable="no"/>
|
||||||
<policy label_suffix="templates" root="/lx_fs_notify/templates" writeable="yes"/>
|
<policy label_suffix="templates -> /" root="/lx_fs_notify/templates" writeable="yes"/>
|
||||||
<policy label_suffix="test" root="/lx_fs_notify/test" writeable="yes"/>
|
<policy label_suffix="test -> /" root="/lx_fs_notify/test" writeable="yes"/>
|
||||||
</config>
|
</config>
|
||||||
</start>
|
</start>
|
||||||
|
|
||||||
@ -117,8 +117,8 @@ set init_run_fwrite_test {
|
|||||||
<log/>
|
<log/>
|
||||||
<null/>
|
<null/>
|
||||||
</dir>
|
</dir>
|
||||||
<dir name="templates"> <fs label="templates"/> </dir>
|
<dir name="templates"> <fs label="templates -> /"/> </dir>
|
||||||
<dir name="test"> <fs label="test"/> </dir>
|
<dir name="test"> <fs label="test -> /"/> </dir>
|
||||||
</vfs>
|
</vfs>
|
||||||
<arg value="test-file_writer"/>
|
<arg value="test-file_writer"/>
|
||||||
<arg value="--fwrite"/>
|
<arg value="--fwrite"/>
|
||||||
@ -153,8 +153,8 @@ set init_run_write_test {
|
|||||||
<log/>
|
<log/>
|
||||||
<null/>
|
<null/>
|
||||||
</dir>
|
</dir>
|
||||||
<dir name="templates"> <fs label="templates"/> </dir>
|
<dir name="templates"> <fs label="templates -> /"/> </dir>
|
||||||
<dir name="test"> <fs label="test"/> </dir>
|
<dir name="test"> <fs label="test -> /"/> </dir>
|
||||||
</vfs>
|
</vfs>
|
||||||
<arg value="test-file_writer"/>
|
<arg value="test-file_writer"/>
|
||||||
<arg value="--write"/>
|
<arg value="--write"/>
|
||||||
|
@ -60,7 +60,7 @@
|
|||||||
</config>
|
</config>
|
||||||
<route>
|
<route>
|
||||||
<service name="File_system">
|
<service name="File_system">
|
||||||
<parent label="used"/>
|
<parent identity="used"/>
|
||||||
</service>
|
</service>
|
||||||
<any-service> <parent/> </any-service>
|
<any-service> <parent/> </any-service>
|
||||||
</route>
|
</route>
|
||||||
@ -74,7 +74,7 @@
|
|||||||
</config>
|
</config>
|
||||||
<route>
|
<route>
|
||||||
<service name="File_system">
|
<service name="File_system">
|
||||||
<parent label="used"/>
|
<parent identity="used"/>
|
||||||
</service>
|
</service>
|
||||||
<any-service> <parent/> </any-service>
|
<any-service> <parent/> </any-service>
|
||||||
</route>
|
</route>
|
||||||
@ -101,10 +101,10 @@
|
|||||||
<service name="ROM" label_suffix="installation">
|
<service name="ROM" label_suffix="installation">
|
||||||
<child name="report_rom" label="depot_download -> installation"/>
|
<child name="report_rom" label="depot_download -> installation"/>
|
||||||
</service>
|
</service>
|
||||||
<service name="File_system" label="depot">
|
<service name="File_system" label_prefix="depot ->">
|
||||||
<child name="depot_rw"/>
|
<child name="depot_rw"/>
|
||||||
</service>
|
</service>
|
||||||
<service name="File_system" label="public">
|
<service name="File_system" label_prefix="public ->">
|
||||||
<child name="public_rw"/>
|
<child name="public_rw"/>
|
||||||
</service>
|
</service>
|
||||||
<service name="Report">
|
<service name="Report">
|
||||||
@ -118,13 +118,13 @@
|
|||||||
<config>
|
<config>
|
||||||
<vfs>
|
<vfs>
|
||||||
<dir name="config">
|
<dir name="config">
|
||||||
<fs label="config"/>
|
<fs label="config -> /"/>
|
||||||
</dir>
|
</dir>
|
||||||
</vfs>
|
</vfs>
|
||||||
</config>
|
</config>
|
||||||
<route>
|
<route>
|
||||||
<service name="File_system" label="config">
|
<service name="File_system" label_prefix="config ->">
|
||||||
<parent label="system_config"/>
|
<parent identity="system_config"/>
|
||||||
</service>
|
</service>
|
||||||
<service name="Report">
|
<service name="Report">
|
||||||
<child name="report_rom"/>
|
<child name="report_rom"/>
|
||||||
|
@ -86,17 +86,17 @@
|
|||||||
<service name="File_system"/>
|
<service name="File_system"/>
|
||||||
</provides>
|
</provides>
|
||||||
<config>
|
<config>
|
||||||
<vfs> <dir name="tresor"> <fs label="tresor"/> </dir> </vfs>
|
<vfs> <dir name="tresor"> <fs label="tresor -> /"/> </dir> </vfs>
|
||||||
</config>
|
</config>
|
||||||
<route>
|
<route>
|
||||||
<service name="ROM" label="ui_config"> <child name="report_rom"/> </service>
|
<service name="ROM" label="ui_config"> <child name="report_rom"/> </service>
|
||||||
<service name="Report" label="ui_report"> <child name="report_rom"/> </service>
|
<service name="Report" label="ui_report"> <child name="report_rom"/> </service>
|
||||||
<service name="File_system" label="tresor_trust_anchor_vfs -> storage_dir"> <parent label="trust_anchor"/> </service>
|
<service name="File_system" label_prefix="tresor_trust_anchor_vfs -> storage_dir"> <parent identity="trust_anchor"/> </service>
|
||||||
<service name="File_system" label="tresor_init -> "> <parent label="data"/> </service>
|
<service name="File_system" label_prefix="tresor_init -> "> <parent identity="data"/> </service>
|
||||||
<service name="File_system" label="tresor"> <parent label="data"/> </service>
|
<service name="File_system" label_prefix="tresor ->"> <parent identity="data"/> </service>
|
||||||
<service name="File_system" label="image_fs_query -> "> <parent label="data"/> </service>
|
<service name="File_system" label_prefix="image_fs_query -> "> <parent identity="data"/> </service>
|
||||||
<service name="File_system" label="tresor_vfs -> tresor_fs"> <parent label="data"/> </service>
|
<service name="File_system" label_prefix="tresor_vfs -> tresor_fs"> <parent identity="data"/> </service>
|
||||||
<service name="File_system" label="truncate_file -> tresor"> <parent label="data"/> </service>
|
<service name="File_system" label_prefix="truncate_file -> tresor"> <parent identity="data"/> </service>
|
||||||
<service name="Timer"> <parent/> </service>
|
<service name="Timer"> <parent/> </service>
|
||||||
<service name="PD"> <parent/> </service>
|
<service name="PD"> <parent/> </service>
|
||||||
<service name="ROM"> <parent/> </service>
|
<service name="ROM"> <parent/> </service>
|
||||||
@ -111,7 +111,7 @@
|
|||||||
<route>
|
<route>
|
||||||
<service name="ROM" label="ui_report"> <child name="report_rom"/> </service>
|
<service name="ROM" label="ui_report"> <child name="report_rom"/> </service>
|
||||||
<service name="Report" label="ui_config"> <child name="report_rom"/> </service>
|
<service name="Report" label="ui_config"> <child name="report_rom"/> </service>
|
||||||
<service name="File_system" label_last="fonts"> <parent label="fonts"/> </service>
|
<service name="File_system" label_last="fonts -> /"> <parent identity="fonts"/> </service>
|
||||||
<service name="Gui"> <parent/> </service>
|
<service name="Gui"> <parent/> </service>
|
||||||
<service name="Timer"> <parent/> </service>
|
<service name="Timer"> <parent/> </service>
|
||||||
<service name="PD"> <parent/> </service>
|
<service name="PD"> <parent/> </service>
|
||||||
|
@ -85,7 +85,7 @@
|
|||||||
<ram/>
|
<ram/>
|
||||||
</dir>
|
</dir>
|
||||||
</vfs>
|
</vfs>
|
||||||
<policy label="file_vault -> data" root="/data" writeable="yes"/>
|
<policy label_prefix="file_vault -> data" root="/data" writeable="yes"/>
|
||||||
</config>
|
</config>
|
||||||
<route>
|
<route>
|
||||||
<service name="PD"> <parent/> </service>
|
<service name="PD"> <parent/> </service>
|
||||||
@ -104,7 +104,7 @@
|
|||||||
<ram/>
|
<ram/>
|
||||||
</dir>
|
</dir>
|
||||||
</vfs>
|
</vfs>
|
||||||
<policy label="file_vault -> trust_anchor" root="/trust_anchor" writeable="yes"/>
|
<policy label_prefix="file_vault -> trust_anchor" root="/trust_anchor" writeable="yes"/>
|
||||||
</config>
|
</config>
|
||||||
<route>
|
<route>
|
||||||
<service name="PD"> <parent/> </service>
|
<service name="PD"> <parent/> </service>
|
||||||
@ -118,26 +118,27 @@
|
|||||||
<config>
|
<config>
|
||||||
<vfs>
|
<vfs>
|
||||||
<dir name="tresor">
|
<dir name="tresor">
|
||||||
<fs label="tresor"/>
|
<fs label="tresor -> /"/>
|
||||||
</dir>
|
</dir>
|
||||||
</vfs>
|
</vfs>
|
||||||
</config>
|
</config>
|
||||||
<route>
|
<route>
|
||||||
<service name="ROM" label="ui_config"> <child name="dynamic_rom" label="file_vault_ui_config"/> </service>
|
<service name="ROM" label="ui_config"> <child name="dynamic_rom" label="file_vault_ui_config"/> </service>
|
||||||
<service name="Report"> label="ui_report" <child name="report_rom"/> </service>
|
<service name="Report"> <child name="report_rom"/> </service>
|
||||||
<service name="File_system" label="tresor_trust_anchor_vfs -> storage_dir"> <child name="trust_anchor_fs" label="file_vault -> trust_anchor"/> </service>
|
<service name="File_system" label_prefix="tresor_trust_anchor_vfs -> storage_dir">
|
||||||
<service name="File_system" label="tresor_init -> "> <child name="data_fs" label="file_vault -> data"/> </service>
|
<child name="trust_anchor_fs" identity="file_vault -> trust_anchor"/> </service>
|
||||||
<service name="File_system" label="tresor"> <child name="data_fs" label="file_vault -> data"/> </service>
|
<service name="File_system" label_prefix="tresor_init ->"> <child name="data_fs" identity="file_vault -> data"/> </service>
|
||||||
<service name="File_system" label="fs_query -> "> <child name="data_fs" label="file_vault -> data"/> </service>
|
<service name="File_system" label_prefix="tresor ->"> <child name="data_fs" identity="file_vault -> data"/> </service>
|
||||||
<service name="File_system" label="image_fs_query -> "> <child name="data_fs" label="file_vault -> data"/> </service>
|
<service name="File_system" label_prefix="fs_query ->"> <child name="data_fs" identity="file_vault -> data"/> </service>
|
||||||
<service name="File_system" label="tresor_vfs -> tresor_fs"> <child name="data_fs" label="file_vault -> data"/> </service>
|
<service name="File_system" label_prefix="image_fs_query ->"> <child name="data_fs" identity="file_vault -> data"/> </service>
|
||||||
<service name="File_system" label="truncate_file -> tresor"> <child name="data_fs" label="file_vault -> data"/> </service>
|
<service name="File_system" label_prefix="tresor_vfs -> tresor_fs"> <child name="data_fs" identity="file_vault -> data"/> </service>
|
||||||
<service name="Timer"> <parent/> </service>
|
<service name="File_system" label_prefix="truncate_file -> tresor"> <child name="data_fs" identity="file_vault -> data"/> </service>
|
||||||
<service name="PD"> <parent/> </service>
|
<service name="Timer"> <parent/> </service>
|
||||||
<service name="ROM"> <parent/> </service>
|
<service name="PD"> <parent/> </service>
|
||||||
<service name="CPU"> <parent/> </service>
|
<service name="ROM"> <parent/> </service>
|
||||||
<service name="LOG"> <parent/> </service>
|
<service name="CPU"> <parent/> </service>
|
||||||
<service name="RM"> <parent/> </service>
|
<service name="LOG"> <parent/> </service>
|
||||||
|
<service name="RM"> <parent/> </service>
|
||||||
</route>
|
</route>
|
||||||
</start>
|
</start>
|
||||||
|
|
||||||
|
@ -85,7 +85,7 @@
|
|||||||
<ram/>
|
<ram/>
|
||||||
</dir>
|
</dir>
|
||||||
</vfs>
|
</vfs>
|
||||||
<policy label="file_vault -> data" root="/data" writeable="yes"/>
|
<policy label_prefix="file_vault -> data" root="/data" writeable="yes"/>
|
||||||
</config>
|
</config>
|
||||||
<route>
|
<route>
|
||||||
<service name="PD"> <parent/> </service>
|
<service name="PD"> <parent/> </service>
|
||||||
@ -104,7 +104,7 @@
|
|||||||
<ram/>
|
<ram/>
|
||||||
</dir>
|
</dir>
|
||||||
</vfs>
|
</vfs>
|
||||||
<policy label="file_vault -> trust_anchor" root="/trust_anchor" writeable="yes"/>
|
<policy label_prefix="file_vault -> trust_anchor" root="/trust_anchor" writeable="yes"/>
|
||||||
</config>
|
</config>
|
||||||
<route>
|
<route>
|
||||||
<service name="PD"> <parent/> </service>
|
<service name="PD"> <parent/> </service>
|
||||||
@ -118,26 +118,27 @@
|
|||||||
<config jitterentropy_available="no">
|
<config jitterentropy_available="no">
|
||||||
<vfs>
|
<vfs>
|
||||||
<dir name="tresor">
|
<dir name="tresor">
|
||||||
<fs label="tresor"/>
|
<fs label="tresor -> /"/>
|
||||||
</dir>
|
</dir>
|
||||||
</vfs>
|
</vfs>
|
||||||
</config>
|
</config>
|
||||||
<route>
|
<route>
|
||||||
<service name="ROM" label="ui_config"> <child name="dynamic_rom" label="file_vault_ui_config"/> </service>
|
<service name="ROM" label="ui_config"> <child name="dynamic_rom" label="file_vault_ui_config"/> </service>
|
||||||
<service name="Report"> label="ui_report" <child name="report_rom"/> </service>
|
<service name="Report"> <child name="report_rom"/> </service>
|
||||||
<service name="File_system" label="tresor_trust_anchor_vfs -> storage_dir"> <child name="trust_anchor_fs" label="file_vault -> trust_anchor"/> </service>
|
<service name="File_system" label_prefix="tresor_trust_anchor_vfs -> storage_dir">
|
||||||
<service name="File_system" label="tresor_init -> "> <child name="data_fs" label="file_vault -> data"/> </service>
|
<child name="trust_anchor_fs" identity="file_vault -> trust_anchor"/> </service>
|
||||||
<service name="File_system" label="tresor"> <child name="data_fs" label="file_vault -> data"/> </service>
|
<service name="File_system" label_prefix="tresor_init ->"> <child name="data_fs" identity="file_vault -> data"/> </service>
|
||||||
<service name="File_system" label="fs_query -> "> <child name="data_fs" label="file_vault -> data"/> </service>
|
<service name="File_system" label_prefix="tresor ->"> <child name="data_fs" identity="file_vault -> data"/> </service>
|
||||||
<service name="File_system" label="image_fs_query -> "> <child name="data_fs" label="file_vault -> data"/> </service>
|
<service name="File_system" label_prefix="fs_query ->"> <child name="data_fs" identity="file_vault -> data"/> </service>
|
||||||
<service name="File_system" label="tresor_vfs -> tresor_fs"> <child name="data_fs" label="file_vault -> data"/> </service>
|
<service name="File_system" label_prefix="image_fs_query ->"> <child name="data_fs" identity="file_vault -> data"/> </service>
|
||||||
<service name="File_system" label="truncate_file -> tresor"> <child name="data_fs" label="file_vault -> data"/> </service>
|
<service name="File_system" label_prefix="tresor_vfs -> tresor_fs"> <child name="data_fs" identity="file_vault -> data"/> </service>
|
||||||
<service name="Timer"> <parent/> </service>
|
<service name="File_system" label_prefix="truncate_file -> tresor"> <child name="data_fs" identity="file_vault -> data"/> </service>
|
||||||
<service name="PD"> <parent/> </service>
|
<service name="Timer"> <parent/> </service>
|
||||||
<service name="ROM"> <parent/> </service>
|
<service name="PD"> <parent/> </service>
|
||||||
<service name="CPU"> <parent/> </service>
|
<service name="ROM"> <parent/> </service>
|
||||||
<service name="LOG"> <parent/> </service>
|
<service name="CPU"> <parent/> </service>
|
||||||
<service name="RM"> <parent/> </service>
|
<service name="LOG"> <parent/> </service>
|
||||||
|
<service name="RM"> <parent/> </service>
|
||||||
</route>
|
</route>
|
||||||
</start>
|
</start>
|
||||||
|
|
||||||
|
@ -27,8 +27,8 @@
|
|||||||
<route>
|
<route>
|
||||||
<service name="ROM" label="layout">
|
<service name="ROM" label="layout">
|
||||||
<parent label="touch_keyboard_layout.config"/> </service>
|
<parent label="touch_keyboard_layout.config"/> </service>
|
||||||
<service name="File_system" label="fonts">
|
<service name="File_system" label_prefix="fonts ->">
|
||||||
<parent label="fonts"/> </service>
|
<parent identity="fonts"/> </service>
|
||||||
<any-service> <parent/> </any-service>
|
<any-service> <parent/> </any-service>
|
||||||
</route>
|
</route>
|
||||||
</start>
|
</start>
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
|
|
||||||
<!-- example, must be refined and enabled -->
|
<!-- example, must be refined and enabled -->
|
||||||
<config period_ms="5000" enable="no">
|
<config period_ms="5000" enable="no">
|
||||||
<vfs> <fs label="target"/> </vfs>
|
<vfs> <fs label="target -> /"/> </vfs>
|
||||||
|
|
||||||
<default-policy policy="ctf0">
|
<default-policy policy="ctf0">
|
||||||
<ctf/>
|
<ctf/>
|
||||||
|
@ -33,7 +33,7 @@
|
|||||||
<provides> <service name="Report"/> </provides>
|
<provides> <service name="Report"/> </provides>
|
||||||
<config> <vfs> <fs/> </vfs> </config>
|
<config> <vfs> <fs/> </vfs> </config>
|
||||||
<route>
|
<route>
|
||||||
<service name="File_system"> <parent label="recall"/> </service>
|
<service name="File_system"> <parent identity="recall"/> </service>
|
||||||
<any-service> <parent/> </any-service>
|
<any-service> <parent/> </any-service>
|
||||||
</route>
|
</route>
|
||||||
</start>
|
</start>
|
||||||
@ -42,7 +42,7 @@
|
|||||||
<provides> <service name="ROM"/> </provides>
|
<provides> <service name="ROM"/> </provides>
|
||||||
<config/>
|
<config/>
|
||||||
<route>
|
<route>
|
||||||
<service name="File_system"> <parent label="recall"/> </service>
|
<service name="File_system"> <parent identity="recall"/> </service>
|
||||||
<any-service> <parent/> </any-service>
|
<any-service> <parent/> </any-service>
|
||||||
</route>
|
</route>
|
||||||
</start>
|
</start>
|
||||||
|
@ -61,7 +61,7 @@
|
|||||||
<provides> <service name="File_system"/> </provides>
|
<provides> <service name="File_system"/> </provides>
|
||||||
<config> <default-policy path="/" writeable="no"/> </config>
|
<config> <default-policy path="/" writeable="no"/> </config>
|
||||||
<route>
|
<route>
|
||||||
<service name="File_system"> <parent label="depot"/> </service>
|
<service name="File_system"> <parent identity="depot"/> </service>
|
||||||
<any-service> <parent/> </any-service>
|
<any-service> <parent/> </any-service>
|
||||||
</route>
|
</route>
|
||||||
</start>
|
</start>
|
||||||
@ -71,7 +71,7 @@
|
|||||||
<provides> <service name="File_system"/> </provides>
|
<provides> <service name="File_system"/> </provides>
|
||||||
<config> <default-policy path="/" writeable="no"/> </config>
|
<config> <default-policy path="/" writeable="no"/> </config>
|
||||||
<route>
|
<route>
|
||||||
<service name="File_system"> <parent label="public"/> </service>
|
<service name="File_system"> <parent identity="public"/> </service>
|
||||||
<any-service> <parent/> </any-service>
|
<any-service> <parent/> </any-service>
|
||||||
</route>
|
</route>
|
||||||
</start>
|
</start>
|
||||||
@ -99,11 +99,11 @@
|
|||||||
<route>
|
<route>
|
||||||
<service name="ROM" label="config"> <child name="report_rom"/> </service>
|
<service name="ROM" label="config"> <child name="report_rom"/> </service>
|
||||||
<service name="Report"> <child name="report_rom"/> </service>
|
<service name="Report"> <child name="report_rom"/> </service>
|
||||||
<service name="File_system" label="depot"> <child name="depot_ro"/> </service>
|
<service name="File_system" label_prefix="depot ->"> <child name="depot_ro"/> </service>
|
||||||
<service name="File_system" label="depot_rw"> <parent label="depot"/> </service>
|
<service name="File_system" label_prefix="depot_rw ->"> <parent identity="depot"/> </service>
|
||||||
<service name="File_system" label="public"> <child name="public_ro"/> </service>
|
<service name="File_system" label_prefix="public ->"> <child name="public_ro"/> </service>
|
||||||
<service name="File_system" label="public_rw"> <parent label="public"/> </service>
|
<service name="File_system" label_prefix="public_rw ->"> <parent identity="public"/> </service>
|
||||||
<service name="File_system" label="tcpip"> <child name="tcpip"/> </service>
|
<service name="File_system" label_prefix="tcpip ->"> <child name="tcpip"/> </service>
|
||||||
<any-service> <parent/> <any-child/> </any-service>
|
<any-service> <parent/> <any-child/> </any-service>
|
||||||
</route>
|
</route>
|
||||||
</start>
|
</start>
|
||||||
|
@ -27,7 +27,7 @@
|
|||||||
<null/>
|
<null/>
|
||||||
</dir>
|
</dir>
|
||||||
<dir name="vm">
|
<dir name="vm">
|
||||||
<fs label="target"/>
|
<fs label="target -> /"/>
|
||||||
</dir>
|
</dir>
|
||||||
<inline name=".profile">
|
<inline name=".profile">
|
||||||
cp /machine.vbox /disk0.vmdk /vm
|
cp /machine.vbox /disk0.vmdk /vm
|
||||||
@ -38,8 +38,8 @@ cp /machine.vbox /disk0.vmdk /vm
|
|||||||
<default-policy root="/" writeable="yes"/>
|
<default-policy root="/" writeable="yes"/>
|
||||||
</config>
|
</config>
|
||||||
<route>
|
<route>
|
||||||
<service name="File_system" label="target">
|
<service name="File_system" label_prefix="target ->">
|
||||||
<parent label="target"/> </service>
|
<parent identity="target"/> </service>
|
||||||
<any-service> <parent/> </any-service>
|
<any-service> <parent/> </any-service>
|
||||||
</route>
|
</route>
|
||||||
</start>
|
</start>
|
||||||
@ -82,7 +82,7 @@ cp /machine.vbox /disk0.vmdk /vm
|
|||||||
<vfs> <dir name="fonts"> <fs/> </dir> </vfs>
|
<vfs> <dir name="fonts"> <fs/> </dir> </vfs>
|
||||||
</config>
|
</config>
|
||||||
<route>
|
<route>
|
||||||
<service name="File_system"> <parent label="fonts"/> </service>
|
<service name="File_system"> <parent identity="fonts"/> </service>
|
||||||
<any-service> <parent/> </any-service>
|
<any-service> <parent/> </any-service>
|
||||||
</route>
|
</route>
|
||||||
</start>
|
</start>
|
||||||
@ -126,7 +126,7 @@ cp /machine.vbox /disk0.vmdk /vm
|
|||||||
</config>
|
</config>
|
||||||
<route>
|
<route>
|
||||||
<service name="File_system" label="target">
|
<service name="File_system" label="target">
|
||||||
<parent label="target"/> </service>
|
<parent label="target -> /"/> </service>
|
||||||
<service name="LOG"> <parent/> </service>
|
<service name="LOG"> <parent/> </service>
|
||||||
<service name="Report"> <child name="report"/> </service>
|
<service name="Report"> <child name="report"/> </service>
|
||||||
<any-service> <parent/> </any-service>
|
<any-service> <parent/> </any-service>
|
||||||
|
@ -335,10 +335,10 @@ proc prepare_to_run_genode { } {
|
|||||||
<dir name="depot"> <tar name="depot.tar"/> </dir>
|
<dir name="depot"> <tar name="depot.tar"/> </dir>
|
||||||
<dir name="gcov_data"> <ram/> </dir>
|
<dir name="gcov_data"> <ram/> </dir>
|
||||||
</vfs>
|
</vfs>
|
||||||
<policy label="depot_query -> depot" root="/depot" />
|
<policy label_prefix="depot_query -> depot" root="/depot" />
|
||||||
<policy label="fs_rom -> " root="/depot" />
|
<policy label_prefix="fs_rom ->" root="/depot" />
|
||||||
<policy label="dynamic -> gcov -> gcov -> depot" root="/depot" />
|
<policy label_prefix="dynamic -> gcov -> gcov -> depot" root="/depot" />
|
||||||
<policy label_suffix=" -> gcov_data" root="/gcov_data" writeable="yes" />
|
<policy label_suffix=" -> gcov_data -> /" root="/gcov_data" writeable="yes" />
|
||||||
</config>
|
</config>
|
||||||
</start>
|
</start>
|
||||||
|
|
||||||
@ -348,7 +348,7 @@ proc prepare_to_run_genode { } {
|
|||||||
|
|
||||||
<start name="depot_query" priority="-1" ram="2M">
|
<start name="depot_query" priority="-1" ram="2M">
|
||||||
<config query="rom">
|
<config query="rom">
|
||||||
<vfs> <dir name="depot"> <fs label="depot"/> </dir> </vfs>
|
<vfs> <dir name="depot"> <fs label="depot -> /"/> </dir> </vfs>
|
||||||
</config>
|
</config>
|
||||||
<route>
|
<route>
|
||||||
<service name="ROM" label="query"> <child name="report_rom"/> </service>
|
<service name="ROM" label="query"> <child name="report_rom"/> </service>
|
||||||
@ -375,16 +375,16 @@ proc prepare_to_run_genode { } {
|
|||||||
|
|
||||||
} [single_test_module_routes] {
|
} [single_test_module_routes] {
|
||||||
|
|
||||||
<service name="ROM" label_last="ld.lib.so"> <parent/> </service>
|
<service name="ROM" label_last="ld.lib.so"> <parent/> </service>
|
||||||
<service name="ROM" label_last="init"> <parent/> </service>
|
<service name="ROM" label_last="init"> <parent/> </service>
|
||||||
<service name="CPU"> <parent/> </service>
|
<service name="CPU"> <parent/> </service>
|
||||||
<service name="PD"> <parent/> </service>
|
<service name="PD"> <parent/> </service>
|
||||||
<service name="LOG"> <parent/> </service>
|
<service name="LOG"> <parent/> </service>
|
||||||
<service name="Timer"> <parent/> </service>
|
<service name="Timer"> <parent/> </service>
|
||||||
<service name="RM"> <parent/> </service>
|
<service name="RM"> <parent/> </service>
|
||||||
<service name="TRACE"> <parent/> </service>
|
<service name="TRACE"> <parent/> </service>
|
||||||
<service name="File_system" label="gcov -> depot"> <parent/> </service>
|
<service name="File_system" label="gcov -> depot -> /"> <parent/> </service>
|
||||||
<service name="File_system" label_suffix="gcov_data"> <parent/> </service>
|
<service name="File_system" label_suffix="gcov_data -> /"> <parent/> </service>
|
||||||
</common_routes>
|
</common_routes>
|
||||||
|
|
||||||
<previous-results time_sec="} [expr ($previous_time_ms + 999) / 1000] {"
|
<previous-results time_sec="} [expr ($previous_time_ms + 999) / 1000] {"
|
||||||
|
@ -95,8 +95,8 @@ install_config {
|
|||||||
<provides> <service name="File_system"/> </provides>
|
<provides> <service name="File_system"/> </provides>
|
||||||
<config>
|
<config>
|
||||||
<vfs> <tar name="depot.tar"/> </vfs>
|
<vfs> <tar name="depot.tar"/> </vfs>
|
||||||
<policy label="depot_query -> depot" root="/" />
|
<policy label_prefix="depot_query -> depot ->" root="/" />
|
||||||
<policy label="fs_rom -> " root="/" />
|
<policy label_prefix="fs_rom ->" root="/" />
|
||||||
</config>
|
</config>
|
||||||
</start>
|
</start>
|
||||||
|
|
||||||
@ -110,7 +110,7 @@ install_config {
|
|||||||
|
|
||||||
<start name="depot_query" ram="2M">
|
<start name="depot_query" ram="2M">
|
||||||
<config query="rom">
|
<config query="rom">
|
||||||
<vfs> <dir name="depot"> <fs label="depot"/> </dir> </vfs>
|
<vfs> <dir name="depot"> <fs label="depot -> /"/> </dir> </vfs>
|
||||||
</config>
|
</config>
|
||||||
<route>
|
<route>
|
||||||
<service name="ROM" label="query"> <child name="report_rom"/> </service>
|
<service name="ROM" label="query"> <child name="report_rom"/> </service>
|
||||||
@ -172,17 +172,17 @@ install_config {
|
|||||||
<service name="ROM" label="decorator_margins"> <child name="wm"/> </service>
|
<service name="ROM" label="decorator_margins"> <child name="wm"/> </service>
|
||||||
<service name="ROM" label="rules"> <child name="wm"/> </service>
|
<service name="ROM" label="rules"> <child name="wm"/> </service>
|
||||||
<service name="Report"> <child name="wm"/> </service>
|
<service name="Report"> <child name="wm"/> </service>
|
||||||
<service name="Gui"> <child name="wm"/> </service>
|
<service name="Gui"> <child name="wm"/> </service>
|
||||||
<service name="File_system" label="recall"> <child name="recall_fs"/> </service>
|
<service name="File_system" label_prefix="recall ->"> <child name="recall_fs"/> </service>
|
||||||
</route>
|
</route>
|
||||||
</start>
|
</start>
|
||||||
|
|
||||||
<start name="themed_decorator" pkg="} [depot_user]/pkg/[current_pkg themed_decorator] {">
|
<start name="themed_decorator" pkg="} [depot_user]/pkg/[current_pkg themed_decorator] {">
|
||||||
<route>
|
<route>
|
||||||
<service name="ROM" label="window_layout"> <child name="wm"/> </service>
|
<service name="ROM" label="window_layout"> <child name="wm"/> </service>
|
||||||
<service name="ROM" label="pointer"> <child name="wm"/> </service>
|
<service name="ROM" label="pointer"> <child name="wm"/> </service>
|
||||||
<service name="Report"> <child name="wm"/> </service>
|
<service name="Report"> <child name="wm"/> </service>
|
||||||
<service name="Gui"> <child name="wm"/> </service>
|
<service name="Gui"> <child name="wm"/> </service>
|
||||||
</route>
|
</route>
|
||||||
</start>
|
</start>
|
||||||
|
|
||||||
@ -216,7 +216,7 @@ install_config {
|
|||||||
<start name="system_shell" pkg="} [depot_user]/pkg/[current_pkg system_shell] {">
|
<start name="system_shell" pkg="} [depot_user]/pkg/[current_pkg system_shell] {">
|
||||||
<route>
|
<route>
|
||||||
<service name="Gui"> <child name="wm"/> </service>
|
<service name="Gui"> <child name="wm"/> </service>
|
||||||
<service name="File_system" label="fonts"> <child name="fonts_fs"/> </service>
|
<service name="File_system" label_prefix="fonts ->"> <child name="fonts_fs"/> </service>
|
||||||
<service name="File_system"> <parent/> </service>
|
<service name="File_system"> <parent/> </service>
|
||||||
<service name="Report" label="clipboard"> <parent label="clipboard"/> </service>
|
<service name="Report" label="clipboard"> <parent label="clipboard"/> </service>
|
||||||
<service name="ROM" label="clipboard"> <parent label="clipboard"/> </service>
|
<service name="ROM" label="clipboard"> <parent label="clipboard"/> </service>
|
||||||
|
@ -116,8 +116,8 @@ append config {
|
|||||||
</dir>
|
</dir>
|
||||||
<dir name="public"> <ram/> </dir>
|
<dir name="public"> <ram/> </dir>
|
||||||
</vfs>
|
</vfs>
|
||||||
<policy label="depot_download -> depot" root="/depot" writeable="yes"/>
|
<policy label_prefix="depot_download -> depot ->" root="/depot" writeable="yes"/>
|
||||||
<policy label="depot_download -> public" root="/public" writeable="yes"/>
|
<policy label_prefix="depot_download -> public ->" root="/public" writeable="yes"/>
|
||||||
</config>
|
</config>
|
||||||
</start>
|
</start>
|
||||||
|
|
||||||
|
@ -68,8 +68,8 @@ install_config {
|
|||||||
</dir>
|
</dir>
|
||||||
</dir>
|
</dir>
|
||||||
</vfs>
|
</vfs>
|
||||||
<policy label="depot_query -> depot" root="/" />
|
<policy label_prefix="depot_query -> depot ->" root="/" />
|
||||||
<policy label="fs_rom -> " root="/" />
|
<policy label_prefix="fs_rom ->" root="/" />
|
||||||
</config>
|
</config>
|
||||||
</start>
|
</start>
|
||||||
|
|
||||||
@ -79,7 +79,7 @@ install_config {
|
|||||||
|
|
||||||
<start name="depot_query" ram="2M">
|
<start name="depot_query" ram="2M">
|
||||||
<config query="rom">
|
<config query="rom">
|
||||||
<vfs> <dir name="depot"> <fs label="depot"/> </dir> </vfs>
|
<vfs> <dir name="depot"> <fs label="depot -> /"/> </dir> </vfs>
|
||||||
</config>
|
</config>
|
||||||
<route>
|
<route>
|
||||||
<service name="ROM" label="query"> <child name="report_rom"/> </service>
|
<service name="ROM" label="query"> <child name="report_rom"/> </service>
|
||||||
|
@ -56,7 +56,7 @@ install_config {
|
|||||||
<start name="lx_fs" ld="no" ram="100M">
|
<start name="lx_fs" ld="no" ram="100M">
|
||||||
<provides> <service name="File_system"/> </provides>
|
<provides> <service name="File_system"/> </provides>
|
||||||
<config>
|
<config>
|
||||||
<policy label="depot_remove -> " root="/depot" writeable="yes"/>
|
<policy label_prefix="depot_remove ->" root="/depot" writeable="yes"/>
|
||||||
</config>
|
</config>
|
||||||
</start>
|
</start>
|
||||||
|
|
||||||
|
@ -191,20 +191,21 @@ append config {
|
|||||||
<config jitterentropy_available="} [jent_avail_attr] {">
|
<config jitterentropy_available="} [jent_avail_attr] {">
|
||||||
<vfs>
|
<vfs>
|
||||||
<dir name="tresor">
|
<dir name="tresor">
|
||||||
<fs label="tresor"/>
|
<fs label="tresor -> /"/>
|
||||||
</dir>
|
</dir>
|
||||||
</vfs>
|
</vfs>
|
||||||
</config>
|
</config>
|
||||||
<route>
|
<route>
|
||||||
<service name="ROM" label="ui_config"> <child name="dynamic_rom" label="file_vault_ui_config"/> </service>
|
<service name="ROM" label="ui_config"> <child name="dynamic_rom" label="file_vault_ui_config"/> </service>
|
||||||
<service name="Report" label="ui_report"> <child name="report_rom"/> </service>
|
<service name="Report" label="ui_report"> <child name="report_rom"/> </service>
|
||||||
<service name="File_system" label="tresor_trust_anchor_vfs -> storage_dir"> <child name="trust_anchor_fs" label="file_vault -> trust_anchor"/> </service>
|
<service name="File_system" label_prefix="tresor_trust_anchor_vfs -> storage_dir">
|
||||||
<service name="File_system" label="tresor_init -> "> <child name="data_fs" label="file_vault -> data"/> </service>
|
<child name="trust_anchor_fs" identity="file_vault -> trust_anchor"/> </service>
|
||||||
<service name="File_system" label="tresor"> <child name="data_fs" label="file_vault -> data"/> </service>
|
<service name="File_system" label_prefix="tresor_init ->"> <child name="data_fs" identity="file_vault -> data"/> </service>
|
||||||
<service name="File_system" label="fs_query -> "> <child name="data_fs" label="file_vault -> data"/> </service>
|
<service name="File_system" label_prefix="tresor ->"> <child name="data_fs" identity="file_vault -> data"/> </service>
|
||||||
<service name="File_system" label="image_fs_query -> "> <child name="data_fs" label="file_vault -> data"/> </service>
|
<service name="File_system" label_prefix="fs_query ->"> <child name="data_fs" identity="file_vault -> data"/> </service>
|
||||||
<service name="File_system" label="tresor_vfs -> tresor_fs"> <child name="data_fs" label="file_vault -> data"/> </service>
|
<service name="File_system" label_prefix="image_fs_query ->"> <child name="data_fs" identity="file_vault -> data"/> </service>
|
||||||
<service name="File_system" label="truncate_file -> tresor"> <child name="data_fs" label="file_vault -> data"/> </service>
|
<service name="File_system" label_prefix="tresor_vfs -> tresor_fs"> <child name="data_fs" identity="file_vault -> data"/> </service>
|
||||||
|
<service name="File_system" label_prefix="truncate_file -> tresor"> <child name="data_fs" identity="file_vault -> data"/> </service>
|
||||||
<service name="Timer"> <child name="timer"/> </service>
|
<service name="Timer"> <child name="timer"/> </service>
|
||||||
<service name="PD"> <parent/> </service>
|
<service name="PD"> <parent/> </service>
|
||||||
<service name="ROM"> <parent/> </service>
|
<service name="ROM"> <parent/> </service>
|
||||||
|
@ -216,8 +216,8 @@ append config {
|
|||||||
<env key="PATH" value="/bin"/>
|
<env key="PATH" value="/bin"/>
|
||||||
</config>
|
</config>
|
||||||
<route>
|
<route>
|
||||||
<service name="File_system" label="shell"> <child name="vfs"/> </service>
|
<service name="File_system" label="shell"> <child name="vfs" label="/"/> </service>
|
||||||
<service name="File_system" label="file_vault"> <parent/> </service>
|
<service name="File_system" label="file_vault"> <parent label="bash -> file_vault -> /"/> </service>
|
||||||
<service name="ROM" label_suffix=".lib.so"> <parent/> </service>
|
<service name="ROM" label_suffix=".lib.so"> <parent/> </service>
|
||||||
<service name="ROM" label_last="/bin/bash"> <child name="fs_rom"/> </service>
|
<service name="ROM" label_last="/bin/bash"> <child name="fs_rom"/> </service>
|
||||||
<service name="ROM" label_prefix="/bin"> <child name="fs_rom"/> </service>
|
<service name="ROM" label_prefix="/bin"> <child name="fs_rom"/> </service>
|
||||||
@ -269,7 +269,7 @@ if {[have_board linux]} {
|
|||||||
<service name="File_system"/>
|
<service name="File_system"/>
|
||||||
</provides>
|
</provides>
|
||||||
<config>
|
<config>
|
||||||
<policy label="file_vault -> data"
|
<policy label_prefix="file_vault -> data"
|
||||||
root="/} [file tail [lx_fs_dir]] {/data"
|
root="/} [file tail [lx_fs_dir]] {/data"
|
||||||
writeable="yes"/>
|
writeable="yes"/>
|
||||||
</config>
|
</config>
|
||||||
@ -288,7 +288,7 @@ if {[have_board linux]} {
|
|||||||
<service name="File_system"/>
|
<service name="File_system"/>
|
||||||
</provides>
|
</provides>
|
||||||
<config>
|
<config>
|
||||||
<policy label="file_vault -> trust_anchor"
|
<policy label_prefix="file_vault -> trust_anchor"
|
||||||
root="/} [file tail [lx_fs_dir]] {/trust_anchor"
|
root="/} [file tail [lx_fs_dir]] {/trust_anchor"
|
||||||
writeable="yes"/>
|
writeable="yes"/>
|
||||||
</config>
|
</config>
|
||||||
@ -315,7 +315,7 @@ if {[have_board linux]} {
|
|||||||
<ram/>
|
<ram/>
|
||||||
</dir>
|
</dir>
|
||||||
</vfs>
|
</vfs>
|
||||||
<policy label="file_vault -> data" root="/data" writeable="yes"/>
|
<policy label_prefix="file_vault -> data" root="/data" writeable="yes"/>
|
||||||
</config>
|
</config>
|
||||||
<route>
|
<route>
|
||||||
<service name="PD"> <parent/> </service>
|
<service name="PD"> <parent/> </service>
|
||||||
@ -334,7 +334,7 @@ if {[have_board linux]} {
|
|||||||
<ram/>
|
<ram/>
|
||||||
</dir>
|
</dir>
|
||||||
</vfs>
|
</vfs>
|
||||||
<policy label="file_vault -> trust_anchor" root="/trust_anchor" writeable="yes"/>
|
<policy label_prefix="file_vault -> trust_anchor" root="/trust_anchor" writeable="yes"/>
|
||||||
</config>
|
</config>
|
||||||
<route>
|
<route>
|
||||||
<service name="PD"> <parent/> </service>
|
<service name="PD"> <parent/> </service>
|
||||||
@ -354,20 +354,21 @@ append config {
|
|||||||
<config jitterentropy_available="} [jent_avail_attr] {">
|
<config jitterentropy_available="} [jent_avail_attr] {">
|
||||||
<vfs>
|
<vfs>
|
||||||
<dir name="tresor">
|
<dir name="tresor">
|
||||||
<fs label="tresor"/>
|
<fs label="tresor -> /"/>
|
||||||
</dir>
|
</dir>
|
||||||
</vfs>
|
</vfs>
|
||||||
</config>
|
</config>
|
||||||
<route>
|
<route>
|
||||||
<service name="ROM" label="ui_config"> <child name="dynamic_rom" label="file_vault_ui_config"/> </service>
|
<service name="ROM" label="ui_config"> <child name="dynamic_rom" label="file_vault_ui_config"/> </service>
|
||||||
<service name="Report" label="ui_report"> <child name="report_rom"/> </service>
|
<service name="Report" label="ui_report"> <child name="report_rom"/> </service>
|
||||||
<service name="File_system" label="tresor_trust_anchor_vfs -> storage_dir"> <child name="trust_anchor_fs" label="file_vault -> trust_anchor"/> </service>
|
<service name="File_system" label_prefix="tresor_trust_anchor_vfs -> storage_dir">
|
||||||
<service name="File_system" label="tresor_init -> "> <child name="data_fs" label="file_vault -> data"/> </service>
|
<child name="trust_anchor_fs" identity="file_vault -> trust_anchor"/> </service>
|
||||||
<service name="File_system" label="tresor"> <child name="data_fs" label="file_vault -> data"/> </service>
|
<service name="File_system" label_prefix="tresor_init ->"> <child name="data_fs" identity="file_vault -> data"/> </service>
|
||||||
<service name="File_system" label="fs_query -> "> <child name="data_fs" label="file_vault -> data"/> </service>
|
<service name="File_system" label_prefix="tresor ->"> <child name="data_fs" identity="file_vault -> data"/> </service>
|
||||||
<service name="File_system" label="image_fs_query -> "> <child name="data_fs" label="file_vault -> data"/> </service>
|
<service name="File_system" label_prefix="fs_query ->"> <child name="data_fs" identity="file_vault -> data"/> </service>
|
||||||
<service name="File_system" label="tresor_vfs -> tresor_fs"> <child name="data_fs" label="file_vault -> data"/> </service>
|
<service name="File_system" label_prefix="image_fs_query ->"> <child name="data_fs" identity="file_vault -> data"/> </service>
|
||||||
<service name="File_system" label="truncate_file -> tresor"> <child name="data_fs" label="file_vault -> data"/> </service>
|
<service name="File_system" label_prefix="tresor_vfs -> tresor_fs"> <child name="data_fs" identity="file_vault -> data"/> </service>
|
||||||
|
<service name="File_system" label_prefix="truncate_file -> tresor"> <child name="data_fs" identity="file_vault -> data"/> </service>
|
||||||
<service name="Timer"> <child name="timer"/> </service>
|
<service name="Timer"> <child name="timer"/> </service>
|
||||||
<service name="PD"> <parent/> </service>
|
<service name="PD"> <parent/> </service>
|
||||||
<service name="ROM"> <parent/> </service>
|
<service name="ROM"> <parent/> </service>
|
||||||
@ -381,7 +382,7 @@ append config {
|
|||||||
<binary name="init"/>
|
<binary name="init"/>
|
||||||
<route>
|
<route>
|
||||||
<service name="ROM" label="config"> <child label="dynamic_init_config" name="dynamic_rom"/> </service>
|
<service name="ROM" label="config"> <child label="dynamic_init_config" name="dynamic_rom"/> </service>
|
||||||
<service name="File_system" label="bash -> file_vault"> <child name="file_vault"/> </service>
|
<service name="File_system" label_prefix="bash -> file_vault ->"> <child name="file_vault"/> </service>
|
||||||
<service name="Timer"> <child name="timer"/> </service>
|
<service name="Timer"> <child name="timer"/> </service>
|
||||||
<service name="PD"> <parent/> </service>
|
<service name="PD"> <parent/> </service>
|
||||||
<service name="ROM"> <parent/> </service>
|
<service name="ROM"> <parent/> </service>
|
||||||
|
@ -165,7 +165,7 @@ append_if [have_board linux] config {
|
|||||||
<service name="File_system"/>
|
<service name="File_system"/>
|
||||||
</provides>
|
</provides>
|
||||||
<config>
|
<config>
|
||||||
<policy label="file_vault -> data" root="/file_vault_gui_dir/data" writeable="yes"/>
|
<policy label_prefix="file_vault -> data" root="/file_vault_gui_dir/data" writeable="yes"/>
|
||||||
</config>
|
</config>
|
||||||
<route>
|
<route>
|
||||||
<service name="Timer"> <child name="timer"/> </service>
|
<service name="Timer"> <child name="timer"/> </service>
|
||||||
@ -182,7 +182,7 @@ append_if [have_board linux] config {
|
|||||||
<service name="File_system"/>
|
<service name="File_system"/>
|
||||||
</provides>
|
</provides>
|
||||||
<config>
|
<config>
|
||||||
<policy label="file_vault -> trust_anchor" root="/file_vault_gui_dir/trust_anchor" writeable="yes"/>
|
<policy label_prefix="file_vault -> trust_anchor" root="/file_vault_gui_dir/trust_anchor" writeable="yes"/>
|
||||||
</config>
|
</config>
|
||||||
<route>
|
<route>
|
||||||
<service name="Timer"> <child name="timer"/> </service>
|
<service name="Timer"> <child name="timer"/> </service>
|
||||||
@ -200,7 +200,7 @@ append_if [expr ![have_board linux]] config {
|
|||||||
<provides><service name="File_system"/></provides>
|
<provides><service name="File_system"/></provides>
|
||||||
<config>
|
<config>
|
||||||
<vfs> <dir name="data"> <ram/> </dir> </vfs>
|
<vfs> <dir name="data"> <ram/> </dir> </vfs>
|
||||||
<policy label="file_vault -> data" root="/data" writeable="yes"/>
|
<policy label_prefix="file_vault -> data" root="/data" writeable="yes"/>
|
||||||
</config>
|
</config>
|
||||||
<route>
|
<route>
|
||||||
<service name="PD"> <parent/> </service>
|
<service name="PD"> <parent/> </service>
|
||||||
@ -215,7 +215,7 @@ append_if [expr ![have_board linux]] config {
|
|||||||
<provides><service name="File_system"/></provides>
|
<provides><service name="File_system"/></provides>
|
||||||
<config>
|
<config>
|
||||||
<vfs> <dir name="trust_anchor"> <ram/> </dir> </vfs>
|
<vfs> <dir name="trust_anchor"> <ram/> </dir> </vfs>
|
||||||
<policy label="file_vault -> trust_anchor" root="/trust_anchor" writeable="yes"/>
|
<policy label_prefix="file_vault -> trust_anchor" root="/trust_anchor" writeable="yes"/>
|
||||||
</config>
|
</config>
|
||||||
<route>
|
<route>
|
||||||
<service name="PD"> <parent/> </service>
|
<service name="PD"> <parent/> </service>
|
||||||
@ -243,17 +243,18 @@ append config {
|
|||||||
|
|
||||||
<start name="file_vault" caps="1200" ram="100M">
|
<start name="file_vault" caps="1200" ram="100M">
|
||||||
<config jitterentropy_available="} [jent_avail_attr] {">
|
<config jitterentropy_available="} [jent_avail_attr] {">
|
||||||
<vfs> <dir name="tresor"> <fs label="tresor"/> </dir> </vfs>
|
<vfs> <dir name="tresor"> <fs label="tresor -> /"/> </dir> </vfs>
|
||||||
</config>
|
</config>
|
||||||
<route>
|
<route>
|
||||||
<service name="ROM" label="ui_config"> <child name="report_rom"/> </service>
|
<service name="ROM" label="ui_config"> <child name="report_rom"/> </service>
|
||||||
<service name="Report" label="ui_report"> <child name="report_rom"/> </service>
|
<service name="Report" label="ui_report"> <child name="report_rom"/> </service>
|
||||||
<service name="File_system" label="tresor_trust_anchor_vfs -> storage_dir"> <child name="trust_anchor_fs" label="file_vault -> trust_anchor"/> </service>
|
<service name="File_system" label_prefix="tresor_trust_anchor_vfs -> storage_dir">
|
||||||
<service name="File_system" label="tresor_init -> "> <child name="data_fs" label="file_vault -> data"/> </service>
|
<child name="trust_anchor_fs" identity="file_vault -> trust_anchor"/> </service>
|
||||||
<service name="File_system" label="tresor"> <child name="data_fs" label="file_vault -> data"/> </service>
|
<service name="File_system" label_prefix="tresor_init ->"> <child name="data_fs" identity="file_vault -> data"/> </service>
|
||||||
<service name="File_system" label="image_fs_query -> "> <child name="data_fs" label="file_vault -> data"/> </service>
|
<service name="File_system" label_prefix="tresor ->"> <child name="data_fs" identity="file_vault -> data"/> </service>
|
||||||
<service name="File_system" label="tresor_vfs -> tresor_fs"> <child name="data_fs" label="file_vault -> data"/> </service>
|
<service name="File_system" label_prefix="image_fs_query ->"> <child name="data_fs" identity="file_vault -> data"/> </service>
|
||||||
<service name="File_system" label="truncate_file -> tresor"> <child name="data_fs" label="file_vault -> data"/> </service>
|
<service name="File_system" label_prefix="tresor_vfs -> tresor_fs"> <child name="data_fs" identity="file_vault -> data"/> </service>
|
||||||
|
<service name="File_system" label_prefix="truncate_file -> tresor"> <child name="data_fs" identity="file_vault -> data"/> </service>
|
||||||
<service name="Timer"> <child name="timer"/> </service>
|
<service name="Timer"> <child name="timer"/> </service>
|
||||||
<service name="PD"> <parent/> </service>
|
<service name="PD"> <parent/> </service>
|
||||||
<service name="ROM"> <parent/> </service>
|
<service name="ROM"> <parent/> </service>
|
||||||
@ -265,7 +266,7 @@ append config {
|
|||||||
|
|
||||||
<start name="file_vault_gui" caps="400" ram="8M">
|
<start name="file_vault_gui" caps="400" ram="8M">
|
||||||
<route>
|
<route>
|
||||||
<service name="File_system" label_last="fonts"> <child name="fonts_fs"/> </service>
|
<service name="File_system"> <child name="fonts_fs"/> </service>
|
||||||
<service name="Gui"> <child name="nitpicker"/> </service>
|
<service name="Gui"> <child name="nitpicker"/> </service>
|
||||||
<service name="ROM" label="ui_report"> <child name="report_rom"/> </service>
|
<service name="ROM" label="ui_report"> <child name="report_rom"/> </service>
|
||||||
<service name="Report" label="ui_config"> <child name="report_rom"/> </service>
|
<service name="Report" label="ui_config"> <child name="report_rom"/> </service>
|
||||||
|
@ -306,7 +306,7 @@ install_config {
|
|||||||
<vfs>
|
<vfs>
|
||||||
<tar name="menu_view_styles.tar" />
|
<tar name="menu_view_styles.tar" />
|
||||||
<dir name="dev"> <log/> </dir>
|
<dir name="dev"> <log/> </dir>
|
||||||
<dir name="fonts"> <fs label="fonts"/> </dir>
|
<dir name="fonts"> <fs label="fonts -> /"/> </dir>
|
||||||
</vfs>
|
</vfs>
|
||||||
<dialog name="dialog" xpos="200" ypos="150"/>
|
<dialog name="dialog" xpos="200" ypos="150"/>
|
||||||
<dialog name="fixed_dialog" xpos="400" ypos="50" width="400"/>
|
<dialog name="fixed_dialog" xpos="400" ypos="50" width="400"/>
|
||||||
@ -314,7 +314,7 @@ install_config {
|
|||||||
<route>
|
<route>
|
||||||
<service name="ROM" label="dialog"> <child name="dynamic_rom" /> </service>
|
<service name="ROM" label="dialog"> <child name="dynamic_rom" /> </service>
|
||||||
<service name="Report" label="hover"> <child name="report_rom"/> </service>
|
<service name="Report" label="hover"> <child name="report_rom"/> </service>
|
||||||
<service name="File_system" label="fonts"> <child name="fonts_fs"/> </service>
|
<service name="File_system" label="fonts -> /"> <child name="fonts_fs"/> </service>
|
||||||
<any-service> <parent/> <any-child/> </any-service>
|
<any-service> <parent/> <any-child/> </any-service>
|
||||||
</route>
|
</route>
|
||||||
</start>
|
</start>
|
||||||
|
@ -347,8 +347,8 @@ install_config {
|
|||||||
<ram/>
|
<ram/>
|
||||||
<import> <tar name="initial_config.tar"/> </import>
|
<import> <tar name="initial_config.tar"/> </import>
|
||||||
</vfs>
|
</vfs>
|
||||||
<policy label="config_fs_rom -> " root="/" />
|
<policy label_prefix="config_fs_rom ->" root="/"/>
|
||||||
<policy label="rw" root="/" writeable="yes" />
|
<policy label_prefix="rw ->" root="/" writeable="yes"/>
|
||||||
</config>
|
</config>
|
||||||
</start>
|
</start>
|
||||||
|
|
||||||
@ -386,10 +386,10 @@ install_config {
|
|||||||
</dir>
|
</dir>
|
||||||
</import>
|
</import>
|
||||||
</vfs>
|
</vfs>
|
||||||
<policy label="fs_report -> " root="/" writeable="yes"/>
|
<policy label_prefix="fs_report ->" root="/" writeable="yes"/>
|
||||||
<policy label="log_terminal -> " root="/" writeable="yes"/>
|
<policy label_prefix="log_terminal ->" root="/" writeable="yes"/>
|
||||||
<policy label="report_fs_rom -> " root="/"/>
|
<policy label_prefix="report_fs_rom ->" root="/"/>
|
||||||
<policy label="ro" root="/"/>
|
<policy label_prefix="ro ->" root="/"/>
|
||||||
</config>
|
</config>
|
||||||
</start>
|
</start>
|
||||||
|
|
||||||
@ -637,12 +637,10 @@ install_config {
|
|||||||
<service name="Report"> <child name="fs_report"/> </service>
|
<service name="Report"> <child name="fs_report"/> </service>
|
||||||
<service name="Gui"> <child name="nitpicker"/> </service>
|
<service name="Gui"> <child name="nitpicker"/> </service>
|
||||||
<service name="Timer"> <child name="timer"/> </service>
|
<service name="Timer"> <child name="timer"/> </service>
|
||||||
<service name="File_system" label="config">
|
<service name="File_system" label_prefix="config ->">
|
||||||
<child name="config_fs" label="rw"/> </service>
|
<child name="config_fs" identity="rw"/> </service>
|
||||||
<service name="File_system" label="report">
|
<service name="File_system" label_prefix="report ->">
|
||||||
<child name="report_fs" label="ro"/> </service>
|
<child name="report_fs" identity="ro"/> </service>
|
||||||
<service name="File_system" label="report">
|
|
||||||
<child name="report_fs" label="ro"/> </service>
|
|
||||||
<any-service> <parent/> </any-service>
|
<any-service> <parent/> </any-service>
|
||||||
</route>
|
</route>
|
||||||
</start>
|
</start>
|
||||||
@ -670,10 +668,10 @@ install_config {
|
|||||||
<child name="report_rom"/> </service>
|
<child name="report_rom"/> </service>
|
||||||
<service name="ROM" label="clicked">
|
<service name="ROM" label="clicked">
|
||||||
<child name="report_rom"/> </service>
|
<child name="report_rom"/> </service>
|
||||||
<service name="File_system" label="config">
|
<service name="File_system" label_prefix="config ->">
|
||||||
<child name="config_fs" label="rw"/> </service>
|
<child name="config_fs" identity="rw"/> </service>
|
||||||
<service name="File_system" label="report">
|
<service name="File_system" label_prefix="report ->">
|
||||||
<child name="report_fs" label="ro"/> </service>
|
<child name="report_fs" identity="ro"/> </service>
|
||||||
<service name="Platform" label_prefix="acpica">
|
<service name="Platform" label_prefix="acpica">
|
||||||
<child name="drivers" label="acpica"/> </service>
|
<child name="drivers" label="acpica"/> </service>
|
||||||
<service name="Platform"> <child name="drivers"/> </service>
|
<service name="Platform"> <child name="drivers"/> </service>
|
||||||
@ -700,8 +698,8 @@ install_config {
|
|||||||
<child name="leitzentrale"/> </service>
|
<child name="leitzentrale"/> </service>
|
||||||
<service name="ROM" label_prefix="leitzentrale ->">
|
<service name="ROM" label_prefix="leitzentrale ->">
|
||||||
<child name="leitzentrale"/> </service>
|
<child name="leitzentrale"/> </service>
|
||||||
<service name="File_system" label="leitzentrale -> fonts">
|
<service name="File_system" label_prefix="leitzentrale -> fonts ->">
|
||||||
<child name="leitzentrale" label="fonts"/> </service>
|
<child name="leitzentrale" identity="fonts"/> </service>
|
||||||
<service name="Report"> <child name="fs_report"/> </service>
|
<service name="Report"> <child name="fs_report"/> </service>
|
||||||
<service name="LOG" label="unlogged"> <parent/> </service>
|
<service name="LOG" label="unlogged"> <parent/> </service>
|
||||||
} [log_route] [driver_routes] {
|
} [log_route] [driver_routes] {
|
||||||
|
@ -105,12 +105,12 @@ install_config {
|
|||||||
<start name="text_area.1" caps="250" ram="8M">
|
<start name="text_area.1" caps="250" ram="8M">
|
||||||
<binary name="text_area"/>
|
<binary name="text_area"/>
|
||||||
<config path="/data/drivers.config" max_lines="20" min_width="500" min_height="300" watch="yes">
|
<config path="/data/drivers.config" max_lines="20" min_width="500" min_height="300" watch="yes">
|
||||||
<vfs> <dir name="data"> <fs label="data"/> </dir> </vfs>
|
<vfs> <dir name="data"> <fs label="data -> /"/> </dir> </vfs>
|
||||||
</config>
|
</config>
|
||||||
<route>
|
<route>
|
||||||
<service name="ROM" label="hover"> <child name="report_rom"/> </service>
|
<service name="ROM" label="hover"> <child name="report_rom"/> </service>
|
||||||
<service name="File_system" label="fonts"> <child name="fonts_fs"/> </service>
|
<service name="File_system" label_prefix="fonts ->"> <child name="fonts_fs"/> </service>
|
||||||
<service name="File_system" label="data"> <child name="data_fs"/> </service>
|
<service name="File_system" label_prefix="data ->"> <child name="data_fs"/> </service>
|
||||||
<any-service> <parent/> <any-child/> </any-service>
|
<any-service> <parent/> <any-child/> </any-service>
|
||||||
</route>
|
</route>
|
||||||
</start>
|
</start>
|
||||||
@ -121,13 +121,13 @@ install_config {
|
|||||||
max_lines="10" min_width="600">
|
max_lines="10" min_width="600">
|
||||||
<report saved="yes"/>
|
<report saved="yes"/>
|
||||||
<save version="1"/>
|
<save version="1"/>
|
||||||
<vfs> <dir name="data"> <fs label="data"/> </dir> </vfs>
|
<vfs> <dir name="data"> <fs label="data -> /"/> </dir> </vfs>
|
||||||
</config>
|
</config>
|
||||||
<route>
|
<route>
|
||||||
<service name="Report"> <child name="report_rom"/> </service>
|
<service name="Report"> <child name="report_rom"/> </service>
|
||||||
<service name="ROM" label="clipboard"> <child name="report_rom"/> </service>
|
<service name="ROM" label="clipboard"> <child name="report_rom"/> </service>
|
||||||
<service name="File_system" label="fonts"> <child name="fonts_fs"/> </service>
|
<service name="File_system" label_prefix="fonts ->"> <child name="fonts_fs"/> </service>
|
||||||
<service name="File_system" label="data"> <child name="data_fs"/> </service>
|
<service name="File_system" label_prefix="data ->"> <child name="data_fs"/> </service>
|
||||||
<any-service> <parent/> <any-child/> </any-service>
|
<any-service> <parent/> <any-child/> </any-service>
|
||||||
</route>
|
</route>
|
||||||
</start>
|
</start>
|
||||||
|
@ -190,7 +190,7 @@ append config {
|
|||||||
<fs buffer_size="1M"/>
|
<fs buffer_size="1M"/>
|
||||||
<tresor_crypto_aes_cbc name="crypto"/>
|
<tresor_crypto_aes_cbc name="crypto"/>
|
||||||
<dir name="trust_anchor">
|
<dir name="trust_anchor">
|
||||||
<fs label="trust_anchor"/>
|
<fs label="trust_anchor -> /"/>
|
||||||
</dir>
|
</dir>
|
||||||
</vfs>
|
</vfs>
|
||||||
|
|
||||||
@ -898,7 +898,7 @@ append config {
|
|||||||
</config>
|
</config>
|
||||||
|
|
||||||
<route>
|
<route>
|
||||||
<service name="File_system" label_last="trust_anchor"> <child name="trust_anchor_fs"/> </service>
|
<service name="File_system" label="trust_anchor -> /"> <child name="trust_anchor_fs"/> </service>
|
||||||
<service name="File_system"> <child name="block_io_fs"/> </service>
|
<service name="File_system"> <child name="block_io_fs"/> </service>
|
||||||
<service name="Terminal"> <child name="log_terminal"/> </service>
|
<service name="Terminal"> <child name="log_terminal"/> </service>
|
||||||
<service name="Timer"> <child name="timer"/> </service>
|
<service name="Timer"> <child name="timer"/> </service>
|
||||||
|
@ -67,7 +67,7 @@ append config {
|
|||||||
|
|
||||||
<start name="tresor_init_trust_anchor" ram="4M">
|
<start name="tresor_init_trust_anchor" ram="4M">
|
||||||
<config passphrase="foobar" trust_anchor_dir="/trust_anchor">
|
<config passphrase="foobar" trust_anchor_dir="/trust_anchor">
|
||||||
<vfs> <dir name="trust_anchor"> <fs label="ta"/> </dir> </vfs>
|
<vfs> <dir name="trust_anchor"> <fs label="ta -> /"/> </dir> </vfs>
|
||||||
</config>
|
</config>
|
||||||
<route>
|
<route>
|
||||||
<service name="PD"> <parent/> </service>
|
<service name="PD"> <parent/> </service>
|
||||||
@ -88,7 +88,7 @@ append config {
|
|||||||
<fs buffer_size="1M"/>
|
<fs buffer_size="1M"/>
|
||||||
<tresor_crypto_aes_cbc name="crypto"/>
|
<tresor_crypto_aes_cbc name="crypto"/>
|
||||||
<dir name="trust_anchor">
|
<dir name="trust_anchor">
|
||||||
<fs label="ta"/>
|
<fs label="ta -> /"/>
|
||||||
</dir>
|
</dir>
|
||||||
</vfs>
|
</vfs>
|
||||||
|
|
||||||
@ -112,7 +112,7 @@ append config {
|
|||||||
<vfs>
|
<vfs>
|
||||||
<fs buffer_size="1M"/>
|
<fs buffer_size="1M"/>
|
||||||
<tresor_crypto_aes_cbc name="crypto"/>
|
<tresor_crypto_aes_cbc name="crypto"/>
|
||||||
<dir name="trust_anchor"> <fs label="ta"/> </dir>
|
<dir name="trust_anchor"> <fs label="ta -> /"/> </dir>
|
||||||
</vfs>
|
</vfs>
|
||||||
</config>
|
</config>
|
||||||
<route>
|
<route>
|
||||||
@ -125,7 +125,7 @@ append config {
|
|||||||
|
|
||||||
</config>
|
</config>
|
||||||
<route>
|
<route>
|
||||||
<service name="File_system" label_last="ta"> <child name="vfs"/> </service>
|
<service name="File_system" label_suffix="ta -> /"> <child name="vfs"/> </service>
|
||||||
<service name="File_system"> <child name="lx_fs"/> </service>
|
<service name="File_system"> <child name="lx_fs"/> </service>
|
||||||
<service name="PD"> <parent/> </service>
|
<service name="PD"> <parent/> </service>
|
||||||
<service name="ROM"> <parent/> </service>
|
<service name="ROM"> <parent/> </service>
|
||||||
|
@ -108,7 +108,7 @@ append config {
|
|||||||
<config passphrase="foobar" trust_anchor_dir="/trust_anchor">
|
<config passphrase="foobar" trust_anchor_dir="/trust_anchor">
|
||||||
<vfs>
|
<vfs>
|
||||||
<dir name="trust_anchor">
|
<dir name="trust_anchor">
|
||||||
<fs label="tresor_trust_anchor"/>
|
<fs label="tresor_trust_anchor -> /"/>
|
||||||
</dir>
|
</dir>
|
||||||
</vfs>
|
</vfs>
|
||||||
</config>
|
</config>
|
||||||
@ -122,10 +122,10 @@ append config {
|
|||||||
<trust-anchor path="/trust_anchor"/>
|
<trust-anchor path="/trust_anchor"/>
|
||||||
|
|
||||||
<vfs>
|
<vfs>
|
||||||
<fs label="tresor_block_io" buffer_size="1M"/>
|
<fs label="tresor_block_io -> /" buffer_size="1M"/>
|
||||||
<tresor_crypto_aes_cbc name="crypto"/>
|
<tresor_crypto_aes_cbc name="crypto"/>
|
||||||
<dir name="trust_anchor">
|
<dir name="trust_anchor">
|
||||||
<fs label="tresor_trust_anchor"/>
|
<fs label="tresor_trust_anchor -> /"/>
|
||||||
</dir>
|
</dir>
|
||||||
</vfs>
|
</vfs>
|
||||||
|
|
||||||
@ -162,9 +162,9 @@ append config {
|
|||||||
<provides><service name="File_system"/></provides>
|
<provides><service name="File_system"/></provides>
|
||||||
<config>
|
<config>
|
||||||
<vfs>
|
<vfs>
|
||||||
<fs buffer_size="1M" label="tresor_block_io"/>
|
<fs buffer_size="1M" label="tresor_block_io -> /"/>
|
||||||
<tresor_crypto_aes_cbc name="tresor_crypto"/>
|
<tresor_crypto_aes_cbc name="tresor_crypto"/>
|
||||||
<dir name="ta"> <fs buffer_size="1M" label="tresor_trust_anchor"/> </dir>
|
<dir name="ta"> <fs buffer_size="1M" label="tresor_trust_anchor -> /"/> </dir>
|
||||||
<dir name="dev">
|
<dir name="dev">
|
||||||
<tresor name="tresor" debug="no" verbose="yes"
|
<tresor name="tresor" debug="no" verbose="yes"
|
||||||
block="/} [tresor_image_name] {"
|
block="/} [tresor_image_name] {"
|
||||||
@ -235,8 +235,8 @@ append config {
|
|||||||
<env key="PATH" value="/bin"/>
|
<env key="PATH" value="/bin"/>
|
||||||
</config>
|
</config>
|
||||||
<route>
|
<route>
|
||||||
<service name="File_system" label="shell"> <child name="vfs"/> </service>
|
<service name="File_system" label="shell"> <child name="vfs" label="/"/> </service>
|
||||||
<service name="File_system" label="tresor"> <child name="vfs_tresor"/> </service>
|
<service name="File_system" label="tresor"> <child name="vfs_tresor" label="/"/> </service>
|
||||||
<service name="ROM" label_suffix=".lib.so"> <parent/> </service>
|
<service name="ROM" label_suffix=".lib.so"> <parent/> </service>
|
||||||
<service name="ROM" label_last="/bin/bash"> <child name="vfs_rom"/> </service>
|
<service name="ROM" label_last="/bin/bash"> <child name="vfs_rom"/> </service>
|
||||||
<service name="ROM" label_prefix="/bin"> <child name="vfs_rom"/> </service>
|
<service name="ROM" label_prefix="/bin"> <child name="vfs_rom"/> </service>
|
||||||
@ -250,8 +250,8 @@ append config {
|
|||||||
</config>
|
</config>
|
||||||
<route>
|
<route>
|
||||||
<service name="Terminal"> <child name="log_terminal"/> </service>
|
<service name="Terminal"> <child name="log_terminal"/> </service>
|
||||||
<service name="File_system" label_suffix="tresor_block_io"> <child name="lx_fs"/> </service>
|
<service name="File_system" label_suffix="tresor_block_io -> /"> <child name="lx_fs"/> </service>
|
||||||
<service name="File_system" label_suffix="tresor_trust_anchor"> <child name="vfs_tresor_trust_anchor"/> </service>
|
<service name="File_system" label_suffix="tresor_trust_anchor -> /"> <child name="vfs_tresor_trust_anchor"/> </service>
|
||||||
<service name="Timer"> <child name="timer"/> </service>
|
<service name="Timer"> <child name="timer"/> </service>
|
||||||
<any-service> <parent/> </any-service>
|
<any-service> <parent/> </any-service>
|
||||||
</route>
|
</route>
|
||||||
|
@ -35,7 +35,8 @@
|
|||||||
<service name="ROM" label="rules"> <child name="wm"/> </service>
|
<service name="ROM" label="rules"> <child name="wm"/> </service>
|
||||||
<service name="Report"> <child name="wm"/> </service>
|
<service name="Report"> <child name="wm"/> </service>
|
||||||
<service name="Gui"> <child name="wm"/> </service>
|
<service name="Gui"> <child name="wm"/> </service>
|
||||||
<service name="File_system" label="recall"> <child name="recall_fs"/> </service>
|
<service name="File_system" label_prefix="recall ->">
|
||||||
|
<child name="recall_fs"/> </service>
|
||||||
</route>
|
</route>
|
||||||
</start>
|
</start>
|
||||||
|
|
||||||
|
@ -21,7 +21,7 @@
|
|||||||
<service name="ROM" label="hover"> <child name="wm"/> </service>
|
<service name="ROM" label="hover"> <child name="wm"/> </service>
|
||||||
<service name="ROM" label="decorator_margins"> <child name="wm"/> </service>
|
<service name="ROM" label="decorator_margins"> <child name="wm"/> </service>
|
||||||
<service name="Report"> <child name="wm"/> </service>
|
<service name="Report"> <child name="wm"/> </service>
|
||||||
<service name="File_system" label="recall"> <child name="recall_fs"/> </service>
|
<service name="File_system" label_prefix="recall ->"> <child name="recall_fs"/> </service>
|
||||||
</route>
|
</route>
|
||||||
</start>
|
</start>
|
||||||
|
|
||||||
@ -68,8 +68,8 @@
|
|||||||
<service name="Play"> <child name="mixer"/> </service>
|
<service name="Play"> <child name="mixer"/> </service>
|
||||||
<service name="Record"> <child name="mixer"/> </service>
|
<service name="Record"> <child name="mixer"/> </service>
|
||||||
<service name="Capture"> <child name="black_hole"/> </service>
|
<service name="Capture"> <child name="black_hole"/> </service>
|
||||||
<service name="File_system" label="config"> <child name="ram_fs"/> </service>
|
<service name="File_system" label_prefix="config ->"> <child name="ram_fs"/> </service>
|
||||||
<service name="File_system" label="downloads"> <child name="ram_fs"/> </service>
|
<service name="File_system" label_prefix="downloads ->"> <child name="ram_fs"/> </service>
|
||||||
<service name="Gui"> <child name="wm"/> </service>
|
<service name="Gui"> <child name="wm"/> </service>
|
||||||
<service name="Report" label="falkon -> shape"> <child name="wm"/> </service>
|
<service name="Report" label="falkon -> shape"> <child name="wm"/> </service>
|
||||||
<service name="Report" label="clipboard"> <child name="wm"/> </service>
|
<service name="Report" label="clipboard"> <child name="wm"/> </service>
|
||||||
|
@ -14,10 +14,10 @@
|
|||||||
<start name="system_shell" priority="-2" pkg="system_shell">
|
<start name="system_shell" priority="-2" pkg="system_shell">
|
||||||
<route>
|
<route>
|
||||||
<service name="Gui"> <child name="wm"/> </service>
|
<service name="Gui"> <child name="wm"/> </service>
|
||||||
<service name="File_system" label="config"> <parent label="config"/> </service>
|
<service name="File_system" label_prefix="config ->"> <parent identity="config"/> </service>
|
||||||
<service name="File_system" label="report"> <parent label="report"/> </service>
|
<service name="File_system" label_prefix="report ->"> <parent identity="report"/> </service>
|
||||||
<service name="File_system" label="target"> <child name="default_fs_rw"/> </service>
|
<service name="File_system" label_prefix="target ->"> <child name="default_fs_rw"/> </service>
|
||||||
<service name="File_system" label="fonts"> <child name="fonts_fs"/> </service>
|
<service name="File_system" label_prefix="fonts ->"> <child name="fonts_fs"/> </service>
|
||||||
<service name="ROM" label="vimrc"> <parent label="config -> vimrc"/> </service>
|
<service name="ROM" label="vimrc"> <parent label="config -> vimrc"/> </service>
|
||||||
<service name="ROM" label="clipboard"> <child name="wm"/> </service>
|
<service name="ROM" label="clipboard"> <child name="wm"/> </service>
|
||||||
<service name="Report" label="clipboard"> <child name="wm"/> </service>
|
<service name="Report" label="clipboard"> <child name="wm"/> </service>
|
||||||
@ -33,7 +33,7 @@
|
|||||||
<service name="ROM" label="hover"> <child name="wm"/> </service>
|
<service name="ROM" label="hover"> <child name="wm"/> </service>
|
||||||
<service name="ROM" label="decorator_margins"> <child name="wm"/> </service>
|
<service name="ROM" label="decorator_margins"> <child name="wm"/> </service>
|
||||||
<service name="Report"> <child name="wm"/> </service>
|
<service name="Report"> <child name="wm"/> </service>
|
||||||
<service name="File_system" label="recall">
|
<service name="File_system" label_prefix="recall ->">
|
||||||
<child name="recall_fs"/>
|
<child name="recall_fs"/>
|
||||||
</service>
|
</service>
|
||||||
</route>
|
</route>
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
<launcher pkg="system_shell">
|
<launcher pkg="system_shell">
|
||||||
<route>
|
<route>
|
||||||
<service name="Gui"> <parent label="focus"/> </service>
|
<service name="Gui"> <parent label="focus"/> </service>
|
||||||
<service name="File_system" label="fonts"> <child name="fonts_fs"/> </service>
|
<service name="File_system" label_prefix="fonts ->"> <child name="fonts_fs"/> </service>
|
||||||
<service name="File_system" label="target"> <child name="default_fs_rw"/> </service>
|
<service name="File_system" label_prefix="target ->"> <child name="default_fs_rw"/> </service>
|
||||||
<service name="File_system" label="config"> <parent label="config"/> </service>
|
<service name="File_system" label_prefix="config ->"> <parent identity="config"/> </service>
|
||||||
<service name="File_system" label="report"> <parent label="report"/> </service>
|
<service name="File_system" label_prefix="report ->"> <parent identity="report"/> </service>
|
||||||
<service name="Report" label="clipboard"> <parent label="clipboard"/> </service>
|
<service name="Report" label="clipboard"> <parent label="clipboard"/> </service>
|
||||||
<service name="ROM" label="clipboard"> <parent label="clipboard"/> </service>
|
<service name="ROM" label="clipboard"> <parent label="clipboard"/> </service>
|
||||||
<service name="ROM" label="vimrc"> <parent label="config -> vimrc"/> </service>
|
<service name="ROM" label="vimrc"> <parent label="config -> vimrc"/> </service>
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
<launcher pkg="dbg_download" priority="-2">
|
<launcher pkg="dbg_download" priority="-2">
|
||||||
<route>
|
<route>
|
||||||
<service name="File_system" label="system_config">
|
<service name="File_system" label_prefix="system_config ->">
|
||||||
<parent label="config"/>
|
<parent identity="config"/>
|
||||||
</service>
|
</service>
|
||||||
<service name="File_system" label="used">
|
<service name="File_system" label_prefix="used ->">
|
||||||
<child name="default_fs_rw"/>
|
<child identity="default_fs_rw"/>
|
||||||
</service>
|
</service>
|
||||||
<service name="ROM" label="build_info">
|
<service name="ROM" label="build_info">
|
||||||
<parent label="build_info"/>
|
<parent label="build_info"/>
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
<launcher pkg="report_dump">
|
<launcher pkg="report_dump">
|
||||||
|
|
||||||
<route>
|
<route>
|
||||||
<service name="File_system" label="report">
|
<service name="File_system" label_prefix="report ->">
|
||||||
<parent label="report"/> </service>
|
<parent label="report"/> </service>
|
||||||
<service name="File_system" label="target">
|
<service name="File_system" label_prefix="target ->">
|
||||||
<child name="default_fs_rw"/> </service>
|
<child name="default_fs_rw"/> </service>
|
||||||
<service name="Rtc">
|
<service name="Rtc">
|
||||||
<child name="system_clock-dummy"/> </service>
|
<child name="system_clock-dummy"/> </service>
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
<launcher pkg="system_shell" priority="-2">
|
<launcher pkg="system_shell" priority="-2">
|
||||||
<route>
|
<route>
|
||||||
<service name="Gui"> <child name="wm"/> </service>
|
<service name="Gui"> <child name="wm"/> </service>
|
||||||
<service name="File_system" label="fonts"> <child name="fonts_fs"/> </service>
|
<service name="File_system" label_prefix="fonts ->"> <child name="fonts_fs"/> </service>
|
||||||
<service name="File_system" label="target"> <child name="default_fs_rw"/> </service>
|
<service name="File_system" label_prefix="target ->"> <child name="default_fs_rw"/> </service>
|
||||||
<service name="File_system" label="config"> <parent label="config"/> </service>
|
<service name="File_system" label_prefix="config ->"> <parent identity="config"/> </service>
|
||||||
<service name="File_system" label="report"> <parent label="report"/> </service>
|
<service name="File_system" label_prefix="report ->"> <parent identity="report"/> </service>
|
||||||
<service name="Report" label="clipboard"> <parent label="clipboard"/> </service>
|
<service name="Report" label="clipboard"> <parent label="clipboard"/> </service>
|
||||||
<service name="ROM" label="clipboard"> <parent label="clipboard"/> </service>
|
<service name="ROM" label="clipboard"> <parent label="clipboard"/> </service>
|
||||||
<service name="ROM" label="vimrc"> <parent label="config -> vimrc"/> </service>
|
<service name="ROM" label="vimrc"> <parent label="config -> vimrc"/> </service>
|
||||||
|
@ -2,6 +2,6 @@
|
|||||||
<route>
|
<route>
|
||||||
<service name="Gui"> <parent label="touch_keyboard"/> </service>
|
<service name="Gui"> <parent label="touch_keyboard"/> </service>
|
||||||
<service name="Event"> <parent label="global"/> </service>
|
<service name="Event"> <parent label="global"/> </service>
|
||||||
<service name="File_system" label="fonts"> <child name="fonts_fs"/> </service>
|
<service name="File_system" label_prefix="fonts ->"> <child name="fonts_fs"/> </service>
|
||||||
</route>
|
</route>
|
||||||
</launcher>
|
</launcher>
|
||||||
|
@ -190,7 +190,7 @@
|
|||||||
<service name="ROM" label="pointer"> <child name="report_rom"/> </service>
|
<service name="ROM" label="pointer"> <child name="report_rom"/> </service>
|
||||||
<service name="Report" label="decorator_margins"> <child name="report_rom"/> </service>
|
<service name="Report" label="decorator_margins"> <child name="report_rom"/> </service>
|
||||||
<service name="Report" label="hover"> <child name="report_rom"/> </service>
|
<service name="Report" label="hover"> <child name="report_rom"/> </service>
|
||||||
<service name="Gui"> <child name="wm"/> </service>
|
<service name="Gui"> <child name="wm"/> </service>
|
||||||
<any-service> <parent/> </any-service>
|
<any-service> <parent/> </any-service>
|
||||||
</route>
|
</route>
|
||||||
</start>
|
</start>
|
||||||
@ -200,7 +200,7 @@
|
|||||||
<provides> <service name="Report"/> </provides>
|
<provides> <service name="Report"/> </provides>
|
||||||
<config> <vfs> <fs/> </vfs> </config>
|
<config> <vfs> <fs/> </vfs> </config>
|
||||||
<route>
|
<route>
|
||||||
<service name="File_system"> <parent label="config"/> </service>
|
<service name="File_system"> <parent identity="config"/> </service>
|
||||||
<any-service> <parent/> </any-service>
|
<any-service> <parent/> </any-service>
|
||||||
</route>
|
</route>
|
||||||
</start>
|
</start>
|
||||||
@ -287,11 +287,11 @@
|
|||||||
<libc stdin="/report/log" stdout="/dev/terminal"/>
|
<libc stdin="/report/log" stdout="/dev/terminal"/>
|
||||||
<vfs>
|
<vfs>
|
||||||
<dir name="dev"> <terminal/> </dir>
|
<dir name="dev"> <terminal/> </dir>
|
||||||
<dir name="report"> <fs label="report"/> </dir>
|
<dir name="report"> <fs label="report -> /"/> </dir>
|
||||||
</vfs>
|
</vfs>
|
||||||
</config>
|
</config>
|
||||||
<route>
|
<route>
|
||||||
<service name="File_system"> <parent label="report"/> </service>
|
<service name="File_system"> <parent identity="report"/> </service>
|
||||||
<any-service> <child name="log_terminal"/> <parent/> </any-service>
|
<any-service> <child name="log_terminal"/> <parent/> </any-service>
|
||||||
</route>
|
</route>
|
||||||
</start>
|
</start>
|
||||||
|
@ -107,7 +107,7 @@
|
|||||||
<provides> <service name="Report"/> </provides>
|
<provides> <service name="Report"/> </provides>
|
||||||
<config> <vfs> <fs/> </vfs> </config>
|
<config> <vfs> <fs/> </vfs> </config>
|
||||||
<route>
|
<route>
|
||||||
<service name="File_system"> <parent label="config"/> </service>
|
<service name="File_system"> <parent identity="config"/> </service>
|
||||||
<any-service> <parent/> </any-service>
|
<any-service> <parent/> </any-service>
|
||||||
</route>
|
</route>
|
||||||
</start>
|
</start>
|
||||||
|
@ -36,7 +36,7 @@ void Depot_download_manager::gen_chroot_start_content(Xml_generator &xml,
|
|||||||
xml.node("service", [&] () {
|
xml.node("service", [&] () {
|
||||||
xml.attribute("name", File_system::Session::service_name());
|
xml.attribute("name", File_system::Session::service_name());
|
||||||
xml.node("parent", [&] () {
|
xml.node("parent", [&] () {
|
||||||
xml.attribute("label", "depot_rw"); });
|
xml.attribute("identity", "depot_rw"); });
|
||||||
});
|
});
|
||||||
gen_parent_unscoped_rom_route(xml, "chroot");
|
gen_parent_unscoped_rom_route(xml, "chroot");
|
||||||
gen_parent_unscoped_rom_route(xml, "ld.lib.so");
|
gen_parent_unscoped_rom_route(xml, "ld.lib.so");
|
||||||
|
@ -30,7 +30,7 @@ void Depot_download_manager::gen_depot_query_start_content(Xml_generator &xml,
|
|||||||
xml.node("dir", [&] () {
|
xml.node("dir", [&] () {
|
||||||
xml.attribute("name", "depot");
|
xml.attribute("name", "depot");
|
||||||
xml.node("fs", [&] () {
|
xml.node("fs", [&] () {
|
||||||
xml.attribute("label", "depot"); });
|
xml.attribute("label", "depot -> /"); });
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -119,7 +119,7 @@ void Depot_download_manager::gen_depot_query_start_content(Xml_generator &xml,
|
|||||||
xml.node("service", [&] () {
|
xml.node("service", [&] () {
|
||||||
xml.attribute("name", File_system::Session::service_name());
|
xml.attribute("name", File_system::Session::service_name());
|
||||||
xml.node("parent", [&] () {
|
xml.node("parent", [&] () {
|
||||||
xml.attribute("label", "depot"); });
|
xml.attribute("identity", "depot"); });
|
||||||
});
|
});
|
||||||
gen_parent_unscoped_rom_route(xml, "depot_query");
|
gen_parent_unscoped_rom_route(xml, "depot_query");
|
||||||
gen_parent_unscoped_rom_route(xml, "ld.lib.so");
|
gen_parent_unscoped_rom_route(xml, "ld.lib.so");
|
||||||
|
@ -37,7 +37,7 @@ void Depot_download_manager::gen_extract_start_content(Xml_generator &xml,
|
|||||||
xml.attribute("name", "public");
|
xml.attribute("name", "public");
|
||||||
xml.node("fs", [&] () {
|
xml.node("fs", [&] () {
|
||||||
xml.attribute("buffer_size", 144u << 10);
|
xml.attribute("buffer_size", 144u << 10);
|
||||||
xml.attribute("label", "public"); });
|
xml.attribute("label", "public -> /"); });
|
||||||
});
|
});
|
||||||
xml.node("dir", [&] () {
|
xml.node("dir", [&] () {
|
||||||
xml.attribute("name", "depot");
|
xml.attribute("name", "depot");
|
||||||
@ -45,7 +45,7 @@ void Depot_download_manager::gen_extract_start_content(Xml_generator &xml,
|
|||||||
xml.attribute("name", user);
|
xml.attribute("name", user);
|
||||||
xml.node("fs", [&] () {
|
xml.node("fs", [&] () {
|
||||||
xml.attribute("buffer_size", 144u << 10);
|
xml.attribute("buffer_size", 144u << 10);
|
||||||
xml.attribute("label", user_path); });
|
xml.attribute("label", Path(user_path, " -> /")); });
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
xml.node("dir", [&] () {
|
xml.node("dir", [&] () {
|
||||||
@ -75,13 +75,13 @@ void Depot_download_manager::gen_extract_start_content(Xml_generator &xml,
|
|||||||
xml.node("route", [&] () {
|
xml.node("route", [&] () {
|
||||||
xml.node("service", [&] () {
|
xml.node("service", [&] () {
|
||||||
xml.attribute("name", File_system::Session::service_name());
|
xml.attribute("name", File_system::Session::service_name());
|
||||||
xml.attribute("label", "public");
|
xml.attribute("label_prefix", "public ->");
|
||||||
xml.node("parent", [&] () {
|
xml.node("parent", [&] () {
|
||||||
xml.attribute("label", "public"); });
|
xml.attribute("identity", "public"); });
|
||||||
});
|
});
|
||||||
xml.node("service", [&] () {
|
xml.node("service", [&] () {
|
||||||
xml.attribute("name", File_system::Session::service_name());
|
xml.attribute("name", File_system::Session::service_name());
|
||||||
xml.attribute("label", user_path);
|
xml.attribute("label_prefix", Path(user_path, " ->"));
|
||||||
xml.node("child", [&] () {
|
xml.node("child", [&] () {
|
||||||
xml.attribute("name", user_path); });
|
xml.attribute("name", user_path); });
|
||||||
});
|
});
|
||||||
|
@ -41,7 +41,7 @@ void Depot_download_manager::gen_fetchurl_start_content(Xml_generator &xml,
|
|||||||
xml.attribute("name", "download");
|
xml.attribute("name", "download");
|
||||||
xml.node("fs", [&] {
|
xml.node("fs", [&] {
|
||||||
xml.attribute("buffer_size", 144u << 10);
|
xml.attribute("buffer_size", 144u << 10);
|
||||||
xml.attribute("label", "download"); });
|
xml.attribute("label", "download -> /"); });
|
||||||
});
|
});
|
||||||
xml.node("dir", [&] {
|
xml.node("dir", [&] {
|
||||||
xml.attribute("name", "dev");
|
xml.attribute("name", "dev");
|
||||||
@ -64,7 +64,7 @@ void Depot_download_manager::gen_fetchurl_start_content(Xml_generator &xml,
|
|||||||
xml.node("pipe", [&] { });
|
xml.node("pipe", [&] { });
|
||||||
});
|
});
|
||||||
xml.node("fs", [&] {
|
xml.node("fs", [&] {
|
||||||
xml.attribute("label", "tcpip"); });
|
xml.attribute("label", "tcpip -> /"); });
|
||||||
});
|
});
|
||||||
|
|
||||||
import.for_each_download([&] (Archive::Path const &path) {
|
import.for_each_download([&] (Archive::Path const &path) {
|
||||||
@ -93,15 +93,15 @@ void Depot_download_manager::gen_fetchurl_start_content(Xml_generator &xml,
|
|||||||
xml.node("route", [&] {
|
xml.node("route", [&] {
|
||||||
xml.node("service", [&] {
|
xml.node("service", [&] {
|
||||||
xml.attribute("name", File_system::Session::service_name());
|
xml.attribute("name", File_system::Session::service_name());
|
||||||
xml.attribute("label", "download");
|
xml.attribute("label_prefix", "download ->");
|
||||||
xml.node("parent", [&] {
|
xml.node("parent", [&] {
|
||||||
xml.attribute("label", "public_rw"); });
|
xml.attribute("identity", "public_rw"); });
|
||||||
});
|
});
|
||||||
xml.node("service", [&] {
|
xml.node("service", [&] {
|
||||||
xml.attribute("name", File_system::Session::service_name());
|
xml.attribute("name", File_system::Session::service_name());
|
||||||
xml.attribute("label", "tcpip");
|
xml.attribute("label_prefix", "tcpip ->");
|
||||||
xml.node("parent", [&] {
|
xml.node("parent", [&] {
|
||||||
xml.attribute("label", "tcpip"); });
|
xml.attribute("identity", "tcpip"); });
|
||||||
});
|
});
|
||||||
gen_parent_unscoped_rom_route(xml, "fetchurl");
|
gen_parent_unscoped_rom_route(xml, "fetchurl");
|
||||||
gen_parent_unscoped_rom_route(xml, "ld.lib.so");
|
gen_parent_unscoped_rom_route(xml, "ld.lib.so");
|
||||||
|
@ -34,13 +34,13 @@ void Depot_download_manager::gen_verify_start_content(Xml_generator &xml,
|
|||||||
xml.attribute("name", "public");
|
xml.attribute("name", "public");
|
||||||
xml.node("fs", [&] () {
|
xml.node("fs", [&] () {
|
||||||
xml.attribute("buffer_size", 144u << 10);
|
xml.attribute("buffer_size", 144u << 10);
|
||||||
xml.attribute("label", "public"); });
|
xml.attribute("label", "public -> /"); });
|
||||||
});
|
});
|
||||||
xml.node("dir", [&] () {
|
xml.node("dir", [&] () {
|
||||||
xml.attribute("name", "depot");
|
xml.attribute("name", "depot");
|
||||||
xml.node("fs", [&] () {
|
xml.node("fs", [&] () {
|
||||||
xml.attribute("buffer_size", 144u << 10);
|
xml.attribute("buffer_size", 144u << 10);
|
||||||
xml.attribute("label", "depot"); });
|
xml.attribute("label", "depot -> /"); });
|
||||||
});
|
});
|
||||||
xml.node("dir", [&] () {
|
xml.node("dir", [&] () {
|
||||||
xml.attribute("name", "dev");
|
xml.attribute("name", "dev");
|
||||||
@ -66,15 +66,15 @@ void Depot_download_manager::gen_verify_start_content(Xml_generator &xml,
|
|||||||
xml.node("route", [&] () {
|
xml.node("route", [&] () {
|
||||||
xml.node("service", [&] () {
|
xml.node("service", [&] () {
|
||||||
xml.attribute("name", File_system::Session::service_name());
|
xml.attribute("name", File_system::Session::service_name());
|
||||||
xml.attribute("label", "public");
|
xml.attribute("label_prefix", "public ->");
|
||||||
xml.node("parent", [&] () {
|
xml.node("parent", [&] () {
|
||||||
xml.attribute("label", "public"); });
|
xml.attribute("identity", "public"); });
|
||||||
});
|
});
|
||||||
xml.node("service", [&] () {
|
xml.node("service", [&] () {
|
||||||
xml.attribute("name", File_system::Session::service_name());
|
xml.attribute("name", File_system::Session::service_name());
|
||||||
xml.attribute("label", "depot");
|
xml.attribute("label_prefix", "depot ->");
|
||||||
xml.node("parent", [&] () {
|
xml.node("parent", [&] () {
|
||||||
xml.attribute("label", "depot"); });
|
xml.attribute("identity", "depot"); });
|
||||||
});
|
});
|
||||||
gen_parent_unscoped_rom_route(xml, "verify");
|
gen_parent_unscoped_rom_route(xml, "verify");
|
||||||
gen_parent_unscoped_rom_route(xml, "ld.lib.so");
|
gen_parent_unscoped_rom_route(xml, "ld.lib.so");
|
||||||
|
@ -43,7 +43,7 @@ an example File Vault configuration with default values:
|
|||||||
! <config jitterentropy_available="yes">
|
! <config jitterentropy_available="yes">
|
||||||
! <vfs>
|
! <vfs>
|
||||||
! <dir name="tresor">
|
! <dir name="tresor">
|
||||||
! <fs label="tresor"/>
|
! <fs label="tresor -> /"/>
|
||||||
! </dir>
|
! </dir>
|
||||||
! </vfs>
|
! </vfs>
|
||||||
! </config>
|
! </config>
|
||||||
|
@ -44,7 +44,7 @@ namespace File_vault {
|
|||||||
void gen_child_route(Xml_generator &xml, char const *child, char const *service, char const *label = "")
|
void gen_child_route(Xml_generator &xml, char const *child, char const *service, char const *label = "")
|
||||||
{
|
{
|
||||||
gen_route(xml, service, label, [&] { gen_named_node(xml, "child", child, [] { }); });
|
gen_route(xml, service, label, [&] { gen_named_node(xml, "child", child, [] { }); });
|
||||||
};
|
}
|
||||||
|
|
||||||
void gen_parent_route(Xml_generator &xml, char const *service, char const *src_label = "", char const *dst_label = "")
|
void gen_parent_route(Xml_generator &xml, char const *service, char const *src_label = "", char const *dst_label = "")
|
||||||
{
|
{
|
||||||
@ -77,10 +77,11 @@ namespace File_vault {
|
|||||||
gen_parent_route(xml, "LOG");
|
gen_parent_route(xml, "LOG");
|
||||||
}
|
}
|
||||||
|
|
||||||
void gen_vfs_policy(Xml_generator &xml, char const *label, char const *root, bool writeable)
|
void gen_vfs_policy(Xml_generator &xml, char const *label_prefix,
|
||||||
|
char const *root, bool writeable)
|
||||||
{
|
{
|
||||||
xml.node("policy", [&] {
|
xml.node("policy", [&] {
|
||||||
xml.attribute("label", label);
|
xml.attribute("label_prefix ", label_prefix);
|
||||||
xml.attribute("root", root);
|
xml.attribute("root", root);
|
||||||
xml.attribute("writeable", writeable ? "yes" : "no");
|
xml.attribute("writeable", writeable ? "yes" : "no");
|
||||||
});
|
});
|
||||||
@ -186,13 +187,13 @@ namespace File_vault {
|
|||||||
xml.node("vfs", [&] {
|
xml.node("vfs", [&] {
|
||||||
xml.node("fs", [&] {
|
xml.node("fs", [&] {
|
||||||
xml.attribute("buffer_size", "1M");
|
xml.attribute("buffer_size", "1M");
|
||||||
xml.attribute("label", "tresor_fs");
|
xml.attribute("label", "tresor_fs -> /");
|
||||||
});
|
});
|
||||||
gen_named_node(xml, "tresor_crypto_aes_cbc", "crypto", [] { });
|
gen_named_node(xml, "tresor_crypto_aes_cbc", "crypto", [] { });
|
||||||
gen_named_node(xml, "dir", "trust_anchor", [&] {
|
gen_named_node(xml, "dir", "trust_anchor", [&] {
|
||||||
xml.node("fs", [&] {
|
xml.node("fs", [&] {
|
||||||
xml.attribute("buffer_size", "1M");
|
xml.attribute("buffer_size", "1M");
|
||||||
xml.attribute("label", "trust_anchor");
|
xml.attribute("label", "trust_anchor -> /");
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
gen_named_node(xml, "dir", "dev", [&] {
|
gen_named_node(xml, "dir", "dev", [&] {
|
||||||
@ -214,8 +215,8 @@ namespace File_vault {
|
|||||||
gen_vfs_policy(xml, "sync_to_tresor_vfs_init -> ", "/dev", true);
|
gen_vfs_policy(xml, "sync_to_tresor_vfs_init -> ", "/dev", true);
|
||||||
});
|
});
|
||||||
xml.node("route", [&] {
|
xml.node("route", [&] {
|
||||||
gen_child_route(xml, "tresor_trust_anchor_vfs", "File_system", "trust_anchor");
|
gen_child_route(xml, "tresor_trust_anchor_vfs", "File_system", "trust_anchor -> /");
|
||||||
gen_parent_route(xml, "File_system", "tresor_fs");
|
gen_parent_route(xml, "File_system", "tresor_fs -> /");
|
||||||
gen_common_routes(xml);
|
gen_common_routes(xml);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
@ -231,7 +232,7 @@ namespace File_vault {
|
|||||||
gen_named_node(xml, "dir", "storage_dir", [&] {
|
gen_named_node(xml, "dir", "storage_dir", [&] {
|
||||||
xml.node("fs", [&] {
|
xml.node("fs", [&] {
|
||||||
xml.attribute("buffer_size", "1M");
|
xml.attribute("buffer_size", "1M");
|
||||||
xml.attribute("label", "storage_dir");
|
xml.attribute("label", "storage_dir -> /");
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
gen_named_node(xml, "dir", "dev", [&] {
|
gen_named_node(xml, "dir", "dev", [&] {
|
||||||
@ -251,7 +252,7 @@ namespace File_vault {
|
|||||||
gen_vfs_policy(xml, "tresor_vfs -> trust_anchor", "/dev/tresor_trust_anchor", true);
|
gen_vfs_policy(xml, "tresor_vfs -> trust_anchor", "/dev/tresor_trust_anchor", true);
|
||||||
});
|
});
|
||||||
xml.node("route", [&] {
|
xml.node("route", [&] {
|
||||||
gen_parent_route(xml, "File_system", "storage_dir");
|
gen_parent_route(xml, "File_system", "storage_dir -> /");
|
||||||
gen_common_routes(xml);
|
gen_common_routes(xml);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
@ -291,7 +292,7 @@ namespace File_vault {
|
|||||||
xml.attribute("path", path);
|
xml.attribute("path", path);
|
||||||
xml.node("vfs", [&] {
|
xml.node("vfs", [&] {
|
||||||
gen_named_node(xml, "dir", "tresor", [&] {
|
gen_named_node(xml, "dir", "tresor", [&] {
|
||||||
xml.node("fs", [&] { xml.attribute("label", "tresor"); }); }); });
|
xml.node("fs", [&] { xml.attribute("label", "tresor -> /"); }); }); });
|
||||||
});
|
});
|
||||||
xml.node("route", [&] {
|
xml.node("route", [&] {
|
||||||
gen_parent_route(xml, "File_system");
|
gen_parent_route(xml, "File_system");
|
||||||
@ -358,10 +359,10 @@ namespace File_vault {
|
|||||||
xml.attribute("trust_anchor_dir", "/trust_anchor");
|
xml.attribute("trust_anchor_dir", "/trust_anchor");
|
||||||
xml.node("vfs", [&] {
|
xml.node("vfs", [&] {
|
||||||
gen_named_node(xml, "dir", "trust_anchor", [&] {
|
gen_named_node(xml, "dir", "trust_anchor", [&] {
|
||||||
xml.node("fs", [&] { xml.attribute("label", "trust_anchor"); }); }); });
|
xml.node("fs", [&] { xml.attribute("label", "trust_anchor -> /"); }); }); });
|
||||||
});
|
});
|
||||||
xml.node("route", [&] {
|
xml.node("route", [&] {
|
||||||
gen_child_route(xml, "tresor_trust_anchor_vfs", "File_system", "trust_anchor");
|
gen_child_route(xml, "tresor_trust_anchor_vfs", "File_system", "trust_anchor -> /");
|
||||||
gen_common_routes(xml);
|
gen_common_routes(xml);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
@ -382,12 +383,12 @@ namespace File_vault {
|
|||||||
xml.node("fs", [&] { xml.attribute("buffer_size", "1M"); });
|
xml.node("fs", [&] { xml.attribute("buffer_size", "1M"); });
|
||||||
gen_named_node(xml, "tresor_crypto_aes_cbc", "crypto", [] { });
|
gen_named_node(xml, "tresor_crypto_aes_cbc", "crypto", [] { });
|
||||||
gen_named_node(xml, "dir", "trust_anchor", [&] {
|
gen_named_node(xml, "dir", "trust_anchor", [&] {
|
||||||
xml.node("fs", [&] { xml.attribute("label", "trust_anchor"); }); });
|
xml.node("fs", [&] { xml.attribute("label", "trust_anchor -> /"); }); });
|
||||||
});
|
});
|
||||||
sb_config.generate_xml(xml);
|
sb_config.generate_xml(xml);
|
||||||
});
|
});
|
||||||
xml.node("route", [&] {
|
xml.node("route", [&] {
|
||||||
gen_child_route(xml, "tresor_trust_anchor_vfs", "File_system", "trust_anchor");
|
gen_child_route(xml, "tresor_trust_anchor_vfs", "File_system", "trust_anchor -> /");
|
||||||
gen_parent_route(xml, "File_system");
|
gen_parent_route(xml, "File_system");
|
||||||
gen_common_routes(xml);
|
gen_common_routes(xml);
|
||||||
});
|
});
|
||||||
|
@ -200,7 +200,7 @@ void Distant_runtime::gen_start_nodes(Xml_generator &xml) const
|
|||||||
xml.node("dir", [&] {
|
xml.node("dir", [&] {
|
||||||
xml.attribute("name", "fonts");
|
xml.attribute("name", "fonts");
|
||||||
xml.node("fs", [&] {
|
xml.node("fs", [&] {
|
||||||
xml.attribute("label", "fonts");
|
xml.attribute("label", "fonts -> /");
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
@ -234,9 +234,9 @@ void Distant_runtime::gen_start_nodes(Xml_generator &xml) const
|
|||||||
});
|
});
|
||||||
|
|
||||||
gen_service_node<::File_system::Session>(xml, [&] {
|
gen_service_node<::File_system::Session>(xml, [&] {
|
||||||
xml.attribute("label", "fonts");
|
xml.attribute("label_prefix", "fonts ->");
|
||||||
xml.node("parent", [&] {
|
xml.node("parent", [&] {
|
||||||
xml.attribute("label", "leitzentrale -> fonts"); }); });
|
xml.attribute("identity", "leitzentrale -> fonts"); }); });
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -105,11 +105,11 @@ struct Sculpt::File_browser_state : Noncopyable
|
|||||||
|
|
||||||
if (browsed_fs == "config") {
|
if (browsed_fs == "config") {
|
||||||
xml.node("parent", [&] {
|
xml.node("parent", [&] {
|
||||||
xml.attribute("label", "config"); });
|
xml.attribute("identity", "config"); });
|
||||||
}
|
}
|
||||||
else if (browsed_fs == "report") {
|
else if (browsed_fs == "report") {
|
||||||
xml.node("parent", [&] {
|
xml.node("parent", [&] {
|
||||||
xml.attribute("label", "report"); });
|
xml.attribute("identity", "report"); });
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
xml.node("child", [&] {
|
xml.node("child", [&] {
|
||||||
@ -181,19 +181,19 @@ struct Sculpt::File_browser_state : Noncopyable
|
|||||||
xml.attribute("label", "leitzentrale -> editor"); }); });
|
xml.attribute("label", "leitzentrale -> editor"); }); });
|
||||||
|
|
||||||
gen_service_node<::File_system::Session>(xml, [&] {
|
gen_service_node<::File_system::Session>(xml, [&] {
|
||||||
xml.attribute("label", "fonts");
|
xml.attribute("label_prefix", "fonts ->");
|
||||||
xml.node("parent", [&] {
|
xml.node("parent", [&] {
|
||||||
xml.attribute("label", "leitzentrale -> fonts"); }); });
|
xml.attribute("identity", "leitzentrale -> fonts"); }); });
|
||||||
|
|
||||||
gen_service_node<::File_system::Session>(xml, [&] {
|
gen_service_node<::File_system::Session>(xml, [&] {
|
||||||
|
|
||||||
if (browsed_fs == "config") {
|
if (browsed_fs == "config") {
|
||||||
xml.node("parent", [&] {
|
xml.node("parent", [&] {
|
||||||
xml.attribute("label", "config"); });
|
xml.attribute("identity", "config"); });
|
||||||
}
|
}
|
||||||
else if (browsed_fs == "report") {
|
else if (browsed_fs == "report") {
|
||||||
xml.node("parent", [&] {
|
xml.node("parent", [&] {
|
||||||
xml.attribute("label", "report"); });
|
xml.attribute("identity", "report"); });
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
xml.node("child", [&] {
|
xml.node("child", [&] {
|
||||||
|
@ -146,10 +146,17 @@ struct Sculpt::Route : List_model<Route>::Element
|
|||||||
|
|
||||||
if (required_label.valid()) {
|
if (required_label.valid()) {
|
||||||
|
|
||||||
if (selected_service->match_label == Service::Match_label::LAST)
|
switch (selected_service->match_label) {
|
||||||
|
case Service::Match_label::LAST:
|
||||||
xml.attribute("label_last", required_label);
|
xml.attribute("label_last", required_label);
|
||||||
else
|
break;
|
||||||
|
case Service::Match_label::FS:
|
||||||
|
xml.attribute("label_prefix", Label(required_label, " ->"));
|
||||||
|
break;
|
||||||
|
case Service::Match_label::EXACT:
|
||||||
xml.attribute("label", required_label);
|
xml.attribute("label", required_label);
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
selected_service->gen_xml(xml);
|
selected_service->gen_xml(xml);
|
||||||
|
@ -312,8 +312,8 @@ class Sculpt::Runtime_config
|
|||||||
_event { _r, Type::EVENT, "filtered input events" },
|
_event { _r, Type::EVENT, "filtered input events" },
|
||||||
_lz_capture{ _r, Type::CAPTURE, "management GUI", "leitzentrale" },
|
_lz_capture{ _r, Type::CAPTURE, "management GUI", "leitzentrale" },
|
||||||
_capture { _r, Type::CAPTURE, "system GUI", "global" },
|
_capture { _r, Type::CAPTURE, "system GUI", "global" },
|
||||||
_config_fs { _r, Type::FILE_SYSTEM, "writeable system configuration", "config" },
|
_config_fs { _r, Type::FILE_SYSTEM, "writeable system configuration", "config", Service::Match_label::FS },
|
||||||
_report_fs { _r, Type::FILE_SYSTEM, "read-only system reports", "report" },
|
_report_fs { _r, Type::FILE_SYSTEM, "read-only system reports", "report", Service::Match_label::FS },
|
||||||
_capslock { _r, Type::ROM, "global capslock state", "capslock" },
|
_capslock { _r, Type::ROM, "global capslock state", "capslock" },
|
||||||
_vimrc { _r, Type::ROM, "default vim configuration", "config -> vimrc" },
|
_vimrc { _r, Type::ROM, "default vim configuration", "config -> vimrc" },
|
||||||
_fonts { _r, Type::ROM, "system font configuration", "config -> managed/fonts" },
|
_fonts { _r, Type::ROM, "system font configuration", "config -> managed/fonts" },
|
||||||
|
@ -30,13 +30,13 @@ struct Sculpt::Service
|
|||||||
RM, IO_MEM, IO_PORT, IRQ, REPORT, ROM, TERMINAL, TRACE, USB, RTC, I2C,
|
RM, IO_MEM, IO_PORT, IRQ, REPORT, ROM, TERMINAL, TRACE, USB, RTC, I2C,
|
||||||
PLATFORM, PIN_STATE, PIN_CONTROL, VM, PD, UPLINK, PLAY, RECORD, UNDEFINED };
|
PLATFORM, PIN_STATE, PIN_CONTROL, VM, PD, UPLINK, PLAY, RECORD, UNDEFINED };
|
||||||
|
|
||||||
enum class Match_label { EXACT, LAST };
|
enum class Match_label { EXACT, LAST, FS };
|
||||||
|
|
||||||
Start_name server { }; /* invalid for parent service */
|
Start_name server { }; /* invalid for parent service */
|
||||||
Type type;
|
Type type;
|
||||||
Label label;
|
Label label;
|
||||||
Info info;
|
Info info;
|
||||||
Match_label match_label { Match_label::EXACT };
|
Match_label match_label;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return name attribute value of <service name="..."> node
|
* Return name attribute value of <service name="..."> node
|
||||||
@ -81,13 +81,18 @@ struct Sculpt::Service
|
|||||||
* Constructor for child service
|
* Constructor for child service
|
||||||
*/
|
*/
|
||||||
Service(Start_name const &server, Type type, Label const &label)
|
Service(Start_name const &server, Type type, Label const &label)
|
||||||
: server(server), type(type), label(label), info(Subst("_", " ", server)) { }
|
:
|
||||||
|
server(server), type(type), label(label), info(Subst("_", " ", server)),
|
||||||
|
match_label(type == Type::FILE_SYSTEM ? Match_label::FS : Match_label::EXACT)
|
||||||
|
{ }
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructor for default_fs_rw
|
* Constructor for default_fs_rw
|
||||||
*/
|
*/
|
||||||
Service(Start_name const &server, Type type, Label const &label, Info const &info)
|
Service(Start_name const &server, Type type, Label const &label, Info const &info)
|
||||||
: server(server), type(type), label(label), info(info) { }
|
:
|
||||||
|
server(server), type(type), label(label), info(info), match_label(Match_label::FS)
|
||||||
|
{ }
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructor for parent service
|
* Constructor for parent service
|
||||||
@ -109,6 +114,9 @@ struct Sculpt::Service
|
|||||||
|
|
||||||
if (label.valid() && match_label == Match_label::EXACT)
|
if (label.valid() && match_label == Match_label::EXACT)
|
||||||
xml.attribute("label", label);
|
xml.attribute("label", label);
|
||||||
|
|
||||||
|
if (label.valid() && match_label == Match_label::FS)
|
||||||
|
xml.attribute("identity", label);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -39,8 +39,8 @@ void Sculpt::gen_fs_tool_start_content(Xml_generator &xml, Fs_tool_version versi
|
|||||||
xml.attribute("buffer_size", buffer_size); }); });
|
xml.attribute("buffer_size", buffer_size); }); });
|
||||||
};
|
};
|
||||||
|
|
||||||
gen_fs("rw", "target", "1M");
|
gen_fs("rw", "target -> /", "1M");
|
||||||
gen_fs("config", "config", "128K");
|
gen_fs("config", "config -> /", "128K");
|
||||||
});
|
});
|
||||||
|
|
||||||
operations.gen_fs_tool_config(xml);
|
operations.gen_fs_tool_config(xml);
|
||||||
@ -49,7 +49,7 @@ void Sculpt::gen_fs_tool_start_content(Xml_generator &xml, Fs_tool_version versi
|
|||||||
xml.node("route", [&] {
|
xml.node("route", [&] {
|
||||||
|
|
||||||
gen_service_node<::File_system::Session>(xml, [&] {
|
gen_service_node<::File_system::Session>(xml, [&] {
|
||||||
xml.attribute("label", "target");
|
xml.attribute("label_prefix", "target ->");
|
||||||
gen_named_node(xml, "child", "default_fs_rw"); });
|
gen_named_node(xml, "child", "default_fs_rw"); });
|
||||||
|
|
||||||
gen_parent_rom_route(xml, "fs_tool");
|
gen_parent_rom_route(xml, "fs_tool");
|
||||||
@ -61,7 +61,7 @@ void Sculpt::gen_fs_tool_start_content(Xml_generator &xml, Fs_tool_version versi
|
|||||||
gen_parent_route<Rom_session> (xml);
|
gen_parent_route<Rom_session> (xml);
|
||||||
|
|
||||||
gen_service_node<::File_system::Session>(xml, [&] {
|
gen_service_node<::File_system::Session>(xml, [&] {
|
||||||
xml.attribute("label", "config");
|
xml.attribute("label_prefix", "config ->");
|
||||||
xml.node("parent", [&] { xml.attribute("label", "config"); }); });
|
xml.node("parent", [&] { xml.attribute("identity", "config"); }); });
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -80,7 +80,7 @@ static void gen_vfs_start(Xml_generator &xml,
|
|||||||
gen_named_node(xml, "dir", label, [&] {
|
gen_named_node(xml, "dir", label, [&] {
|
||||||
xml.node("fs", [&] {
|
xml.node("fs", [&] {
|
||||||
xml.attribute("buffer_size", 272u << 10);
|
xml.attribute("buffer_size", 272u << 10);
|
||||||
xml.attribute("label", label); }); }); };
|
xml.attribute("label", prefixed_label(label, String<8>("/"))); }); }); };
|
||||||
|
|
||||||
fs_dir("config");
|
fs_dir("config");
|
||||||
fs_dir("report");
|
fs_dir("report");
|
||||||
@ -111,13 +111,13 @@ static void gen_vfs_start(Xml_generator &xml,
|
|||||||
xml.node("route", [&] {
|
xml.node("route", [&] {
|
||||||
|
|
||||||
gen_service_node<::File_system::Session>(xml, [&] {
|
gen_service_node<::File_system::Session>(xml, [&] {
|
||||||
xml.attribute("label", "config");
|
xml.attribute("label_prefix", "config ->");
|
||||||
xml.node("parent", [&] { xml.attribute("label", "config"); });
|
xml.node("parent", [&] { xml.attribute("identity", "config"); });
|
||||||
});
|
});
|
||||||
|
|
||||||
gen_service_node<::File_system::Session>(xml, [&] {
|
gen_service_node<::File_system::Session>(xml, [&] {
|
||||||
xml.attribute("label", "report");
|
xml.attribute("label_prefix", "report ->");
|
||||||
xml.node("parent", [&] { xml.attribute("label", "report"); });
|
xml.node("parent", [&] { xml.attribute("identity", "report"); });
|
||||||
});
|
});
|
||||||
|
|
||||||
gen_service_node<Terminal::Session>(xml, [&] {
|
gen_service_node<Terminal::Session>(xml, [&] {
|
||||||
@ -242,18 +242,13 @@ void Sculpt::gen_inspect_view(Xml_generator &xml,
|
|||||||
xml.node("route", [&] {
|
xml.node("route", [&] {
|
||||||
|
|
||||||
gen_service_node<::File_system::Session>(xml, [&] {
|
gen_service_node<::File_system::Session>(xml, [&] {
|
||||||
xml.attribute("label", "config");
|
xml.attribute("label_prefix", "config ->");
|
||||||
xml.node("parent", [&] { xml.attribute("label", "config"); });
|
xml.node("parent", [&] { xml.attribute("identity", "config"); });
|
||||||
});
|
});
|
||||||
|
|
||||||
gen_service_node<::File_system::Session>(xml, [&] {
|
gen_service_node<::File_system::Session>(xml, [&] {
|
||||||
xml.attribute("label", "report");
|
xml.attribute("label_prefix", "report ->");
|
||||||
xml.node("parent", [&] { xml.attribute("label", "report"); });
|
xml.node("parent", [&] { xml.attribute("identity", "report"); });
|
||||||
});
|
|
||||||
|
|
||||||
gen_service_node<::File_system::Session>(xml, [&] {
|
|
||||||
xml.attribute("label", "report");
|
|
||||||
xml.node("parent", [&] { xml.attribute("label", "report"); });
|
|
||||||
});
|
});
|
||||||
|
|
||||||
gen_parent_rom_route(xml, "ld.lib.so");
|
gen_parent_rom_route(xml, "ld.lib.so");
|
||||||
@ -283,16 +278,13 @@ void Sculpt::gen_inspect_view(Xml_generator &xml,
|
|||||||
|
|
||||||
for_each_inspected_storage_target(devices, [&] (Storage_target const &target) {
|
for_each_inspected_storage_target(devices, [&] (Storage_target const &target) {
|
||||||
gen_service_node<::File_system::Session>(xml, [&] {
|
gen_service_node<::File_system::Session>(xml, [&] {
|
||||||
xml.attribute("label_last", target.label());
|
xml.attribute("label_prefix", Session_label("vfs -> ", target.label(), " ->"));
|
||||||
gen_named_node(xml, "child", target.fs());
|
gen_named_node(xml, "child", target.fs()); }); });
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
if (ram_fs_state.inspected)
|
if (ram_fs_state.inspected)
|
||||||
gen_service_node<::File_system::Session>(xml, [&] {
|
gen_service_node<::File_system::Session>(xml, [&] {
|
||||||
xml.attribute("label_last", "ram");
|
xml.attribute("label_prefix", "vfs -> ram ->");
|
||||||
gen_named_node(xml, "child", "ram_fs");
|
gen_named_node(xml, "child", "ram_fs"); });
|
||||||
});
|
|
||||||
|
|
||||||
gen_service_node<Gui::Session>(xml, [&] {
|
gen_service_node<Gui::Session>(xml, [&] {
|
||||||
xml.node("parent", [&] {
|
xml.node("parent", [&] {
|
||||||
|
@ -49,6 +49,6 @@ void Sculpt::gen_launcher_query_start_content(Xml_generator &xml)
|
|||||||
|
|
||||||
gen_service_node<::File_system::Session>(xml, [&] {
|
gen_service_node<::File_system::Session>(xml, [&] {
|
||||||
xml.node("parent", [&] {
|
xml.node("parent", [&] {
|
||||||
xml.attribute("label", "config"); }); });
|
xml.attribute("identity", "config"); }); });
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -58,10 +58,10 @@ void Sculpt::gen_prepare_vfs_start(Xml_generator &xml)
|
|||||||
});
|
});
|
||||||
|
|
||||||
gen_named_node(xml, "dir", "rw", [&] {
|
gen_named_node(xml, "dir", "rw", [&] {
|
||||||
xml.node("fs", [&] { xml.attribute("label", "target"); }); });
|
xml.node("fs", [&] { xml.attribute("label", "target -> /"); }); });
|
||||||
|
|
||||||
gen_named_node(xml, "dir", "config", [&] {
|
gen_named_node(xml, "dir", "config", [&] {
|
||||||
xml.node("fs", [&] { xml.attribute("label", "config"); }); });
|
xml.node("fs", [&] { xml.attribute("label", "config -> /"); }); });
|
||||||
|
|
||||||
gen_named_node(xml, "rom", "VERSION");
|
gen_named_node(xml, "rom", "VERSION");
|
||||||
});
|
});
|
||||||
@ -184,7 +184,7 @@ void Sculpt::gen_prepare_start_content(Xml_generator &xml, Prepare_version versi
|
|||||||
xml.node("route", [&] {
|
xml.node("route", [&] {
|
||||||
|
|
||||||
gen_service_node<::File_system::Session>(xml, [&] {
|
gen_service_node<::File_system::Session>(xml, [&] {
|
||||||
xml.attribute("label", "vfs -> target");
|
xml.attribute("label_prefix", "vfs -> target ->");
|
||||||
gen_named_node(xml, "child", "default_fs_rw"); });
|
gen_named_node(xml, "child", "default_fs_rw"); });
|
||||||
|
|
||||||
gen_parent_rom_route(xml, "ld.lib.so");
|
gen_parent_rom_route(xml, "ld.lib.so");
|
||||||
@ -203,7 +203,7 @@ void Sculpt::gen_prepare_start_content(Xml_generator &xml, Prepare_version versi
|
|||||||
gen_parent_route<Timer::Session> (xml);
|
gen_parent_route<Timer::Session> (xml);
|
||||||
|
|
||||||
gen_service_node<::File_system::Session>(xml, [&] {
|
gen_service_node<::File_system::Session>(xml, [&] {
|
||||||
xml.attribute("label", "vfs -> config");
|
xml.attribute("label_prefix", "vfs -> config ->");
|
||||||
xml.node("parent", [&] { xml.attribute("label", "config"); }); });
|
xml.node("parent", [&] { xml.attribute("identity", "config"); }); });
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -24,14 +24,14 @@ void Sculpt::gen_update_start_content(Xml_generator &xml)
|
|||||||
xml.node("route", [&] {
|
xml.node("route", [&] {
|
||||||
|
|
||||||
using Label = String<32>;
|
using Label = String<32>;
|
||||||
auto gen_fs = [&] (Label const &label, Label const &server) {
|
auto gen_fs = [&] (Label const &label_prefix, Label const &server) {
|
||||||
gen_service_node<::File_system::Session>(xml, [&] {
|
gen_service_node<::File_system::Session>(xml, [&] {
|
||||||
xml.attribute("label", label);
|
xml.attribute("label_prefix", label_prefix);
|
||||||
gen_named_node(xml, "child", server); }); };
|
gen_named_node(xml, "child", server); }); };
|
||||||
|
|
||||||
/* connect file-system sessions to chroot instances */
|
/* connect file-system sessions to chroot instances */
|
||||||
gen_fs("depot", "depot_rw");
|
gen_fs("depot ->", "depot_rw");
|
||||||
gen_fs("public", "public_rw");
|
gen_fs("public ->", "public_rw");
|
||||||
|
|
||||||
gen_parent_rom_route(xml, "ld.lib.so");
|
gen_parent_rom_route(xml, "ld.lib.so");
|
||||||
gen_parent_rom_route(xml, "vfs.lib.so");
|
gen_parent_rom_route(xml, "vfs.lib.so");
|
||||||
|
@ -316,9 +316,9 @@ void Sandboxed_runtime::Menu_view_state::gen_start_node(Xml_generator &xml, View
|
|||||||
|
|
||||||
xml.node("service", [&] () {
|
xml.node("service", [&] () {
|
||||||
xml.attribute("name", "File_system");
|
xml.attribute("name", "File_system");
|
||||||
xml.attribute("label", "fonts");
|
xml.attribute("label_prefix", "fonts ->");
|
||||||
xml.node("parent", [&] () {
|
xml.node("parent", [&] () {
|
||||||
xml.attribute("label", "fonts"); });
|
xml.attribute("identity", "fonts"); });
|
||||||
});
|
});
|
||||||
|
|
||||||
auto parent_route = [&] (auto const &service)
|
auto parent_route = [&] (auto const &service)
|
||||||
|
@ -39,8 +39,8 @@
|
|||||||
<arg value="--demangled-names"/>
|
<arg value="--demangled-names"/>
|
||||||
<vfs>
|
<vfs>
|
||||||
<dir name="dev"> <log/> </dir>
|
<dir name="dev"> <log/> </dir>
|
||||||
<fs label="depot"/>
|
<fs label="depot -> /"/>
|
||||||
<fs label="gcov_data"/>
|
<fs label="gcov_data -> /"/>
|
||||||
</vfs>
|
</vfs>
|
||||||
<libc stdout="/dev/log" stderr="/dev/log"/>
|
<libc stdout="/dev/log" stderr="/dev/log"/>
|
||||||
</config>
|
</config>
|
||||||
|
@ -39,8 +39,8 @@
|
|||||||
<fifo name="downstream"/>
|
<fifo name="downstream"/>
|
||||||
</pipe>
|
</pipe>
|
||||||
</vfs>
|
</vfs>
|
||||||
<policy label="fifo-pipe-test -> in" root="/.upstream/in" writeable="yes"/>
|
<policy label_prefix="fifo-pipe-test -> in ->" root="/.upstream/in" writeable="yes"/>
|
||||||
<policy label="fifo-pipe-test -> out" root="/.downstream/out" writeable="no"/>
|
<policy label_prefix="fifo-pipe-test -> out ->" root="/.downstream/out" writeable="no"/>
|
||||||
<default-policy root="/" writeable="yes"/>
|
<default-policy root="/" writeable="yes"/>
|
||||||
</config>
|
</config>
|
||||||
</start>
|
</start>
|
||||||
@ -70,8 +70,8 @@
|
|||||||
<config type="echo">
|
<config type="echo">
|
||||||
<vfs>
|
<vfs>
|
||||||
<dir name="dev">
|
<dir name="dev">
|
||||||
<fs label="downstream"/>
|
<fs label="downstream -> /"/>
|
||||||
<fs label="upstream"/>
|
<fs label="upstream -> /"/>
|
||||||
<log/>
|
<log/>
|
||||||
</dir>
|
</dir>
|
||||||
</vfs>
|
</vfs>
|
||||||
@ -85,7 +85,7 @@
|
|||||||
</config>
|
</config>
|
||||||
</inline>
|
</inline>
|
||||||
</vfs>
|
</vfs>
|
||||||
<policy label="fs_rom -> " root="/" writeable="no"/>
|
<policy label_prefix="fs_rom ->" root="/" writeable="no"/>
|
||||||
</config>
|
</config>
|
||||||
</start>
|
</start>
|
||||||
|
|
||||||
@ -118,10 +118,10 @@
|
|||||||
</dir>
|
</dir>
|
||||||
<dir name="dev">
|
<dir name="dev">
|
||||||
<dir name="send-pipe">
|
<dir name="send-pipe">
|
||||||
<fs label="in"/>
|
<fs label="in -> /"/>
|
||||||
</dir>
|
</dir>
|
||||||
<dir name="receive-pipe">
|
<dir name="receive-pipe">
|
||||||
<fs label="out"/>
|
<fs label="out -> /"/>
|
||||||
</dir>
|
</dir>
|
||||||
<log/>
|
<log/>
|
||||||
</dir>
|
</dir>
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
<inline name="rtc">2018-01-01 00:01</inline>
|
<inline name="rtc">2018-01-01 00:01</inline>
|
||||||
</dir>
|
</dir>
|
||||||
<dir name="pipe"> <pipe/> </dir>
|
<dir name="pipe"> <pipe/> </dir>
|
||||||
<dir name="edit"> <fs label="rw"/> </dir>
|
<dir name="edit"> <fs label="rw -> /"/> </dir>
|
||||||
<tar name="qt5_dejavusans.tar"/>
|
<tar name="qt5_dejavusans.tar"/>
|
||||||
<tar name="qt5_libqgenode.tar"/>
|
<tar name="qt5_libqgenode.tar"/>
|
||||||
</vfs>
|
</vfs>
|
||||||
|
@ -10,8 +10,8 @@ multiple archives one at a time:
|
|||||||
! <libc stdout="/dev/log" stderr="/dev/log" rtc="/dev/null"
|
! <libc stdout="/dev/log" stderr="/dev/log" rtc="/dev/null"
|
||||||
! update_mtime="no"/>
|
! update_mtime="no"/>
|
||||||
! <vfs>
|
! <vfs>
|
||||||
! <dir name="download"> <fs label="download"/> </dir>
|
! <dir name="download"> <fs label="download -> /"/> </dir>
|
||||||
! <dir name="content"> <fs label="content" writeable="yes"/> </dir>
|
! <dir name="content"> <fs label="content -> /" writeable="yes"/> </dir>
|
||||||
! <dir name="dev"> <log/> <null/> </dir>
|
! <dir name="dev"> <log/> <null/> </dir>
|
||||||
! </vfs>
|
! </vfs>
|
||||||
! <extract archive="/download/foo.zip" to="/content/foo123/" strip="1"/>
|
! <extract archive="/download/foo.zip" to="/content/foo123/" strip="1"/>
|
||||||
|
@ -46,7 +46,7 @@ Use the socket plugin of an other vfs (store file in a directory):
|
|||||||
! <inline name="random">01234567890123456789</inline>
|
! <inline name="random">01234567890123456789</inline>
|
||||||
! </dir>
|
! </dir>
|
||||||
! <fs name="tcpip"/>
|
! <fs name="tcpip"/>
|
||||||
! <dir name="download"> <fs label="download"/> </dir>
|
! <dir name="download"> <fs label="download -> /"/> </dir>
|
||||||
! </vfs>
|
! </vfs>
|
||||||
! <fetch url="http://genode.org/about/LICENSE"
|
! <fetch url="http://genode.org/about/LICENSE"
|
||||||
! path="/download/LICENSE" retry="3"/>
|
! path="/download/LICENSE" retry="3"/>
|
||||||
|
@ -52,7 +52,7 @@ struct Gcov_env
|
|||||||
* VFS.
|
* VFS.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
File_system::Connection fs { env, fs_alloc, "gcov_data" };
|
File_system::Connection fs { env, fs_alloc, "gcov_data -> /" };
|
||||||
seek_off_t seek_offset { 0 };
|
seek_off_t seek_offset { 0 };
|
||||||
|
|
||||||
Io_signal_handler<Gcov_env> _fs_signal_handler {
|
Io_signal_handler<Gcov_env> _fs_signal_handler {
|
||||||
|
@ -58,22 +58,19 @@ struct File_system::Connection : Genode::Connection<Session>, Session_client
|
|||||||
*
|
*
|
||||||
* \param tx_buffer_alloc allocator used for managing the
|
* \param tx_buffer_alloc allocator used for managing the
|
||||||
* transmission buffer
|
* transmission buffer
|
||||||
* \param label session label
|
* \param label session label and client-preferred root directory
|
||||||
* \param root root directory of session
|
|
||||||
* \param writeable session is writeable
|
* \param writeable session is writeable
|
||||||
* \param tx_buf_size size of transmission buffer in bytes
|
* \param tx_buf_size size of transmission buffer in bytes
|
||||||
*/
|
*/
|
||||||
Connection(Genode::Env &env,
|
Connection(Genode::Env &env,
|
||||||
Genode::Range_allocator &tx_block_alloc,
|
Genode::Range_allocator &tx_block_alloc,
|
||||||
Label const &label = Label(),
|
Label const &label = Label("/"),
|
||||||
char const *root = "/",
|
|
||||||
bool writeable = true,
|
bool writeable = true,
|
||||||
size_t tx_buf_size = DEFAULT_TX_BUF_SIZE)
|
size_t tx_buf_size = DEFAULT_TX_BUF_SIZE)
|
||||||
:
|
:
|
||||||
Genode::Connection<Session>(env, label,
|
Genode::Connection<Session>(env, label,
|
||||||
Ram_quota { 8*1024*sizeof(long) + tx_buf_size },
|
Ram_quota { 8*1024*sizeof(long) + tx_buf_size },
|
||||||
Args("root=\"", root, "\", "
|
Args("writeable=", writeable, ", "
|
||||||
"writeable=", writeable, ", "
|
|
||||||
"tx_buf_size=", tx_buf_size)),
|
"tx_buf_size=", tx_buf_size)),
|
||||||
Session_client(cap(), tx_block_alloc, env.rm())
|
Session_client(cap(), tx_block_alloc, env.rm())
|
||||||
{ }
|
{ }
|
||||||
|
@ -34,7 +34,7 @@
|
|||||||
<provides> <service name="Report"/> </provides>
|
<provides> <service name="Report"/> </provides>
|
||||||
<config> <vfs> <fs/> </vfs> </config>
|
<config> <vfs> <fs/> </vfs> </config>
|
||||||
<route>
|
<route>
|
||||||
<service name="File_system"> <parent label="recall"/> </service>
|
<service name="File_system"> <parent identity="recall"/> </service>
|
||||||
<any-service> <parent/> </any-service>
|
<any-service> <parent/> </any-service>
|
||||||
</route>
|
</route>
|
||||||
</start>
|
</start>
|
||||||
@ -43,7 +43,7 @@
|
|||||||
<provides> <service name="ROM"/> </provides>
|
<provides> <service name="ROM"/> </provides>
|
||||||
<config/>
|
<config/>
|
||||||
<route>
|
<route>
|
||||||
<service name="File_system"> <parent label="recall"/> </service>
|
<service name="File_system"> <parent identity="recall"/> </service>
|
||||||
<any-service> <parent/> </any-service>
|
<any-service> <parent/> </any-service>
|
||||||
</route>
|
</route>
|
||||||
</start>
|
</start>
|
||||||
|
@ -47,7 +47,7 @@ install_config {
|
|||||||
|
|
||||||
<start name="lx_fs" ld="no" caps="100" ram="4M">
|
<start name="lx_fs" ld="no" caps="100" ram="4M">
|
||||||
<provides> <service name="File_system"/> </provides>
|
<provides> <service name="File_system"/> </provides>
|
||||||
<config> <policy label="test-internet_checksum -> " root="/} $lx_fs_root {" writeable="yes"/> </config>
|
<config> <policy label_prefix="test-internet_checksum -> " root="/} $lx_fs_root {" writeable="yes"/> </config>
|
||||||
<route> <any-service> <parent/> </any-service> </route>
|
<route> <any-service> <parent/> </any-service> </route>
|
||||||
</start>
|
</start>
|
||||||
|
|
||||||
|
@ -45,7 +45,7 @@ install_config {
|
|||||||
<service name="File_system"/>
|
<service name="File_system"/>
|
||||||
</provides>
|
</provides>
|
||||||
<config>
|
<config>
|
||||||
<policy label="import_showcase -> " root="/" writeable="yes"/>
|
<policy label_prefix="import_showcase ->" root="/" writeable="yes"/>
|
||||||
</config>
|
</config>
|
||||||
<route>
|
<route>
|
||||||
<any-service> <parent/> <any-child/> </any-service>
|
<any-service> <parent/> <any-child/> </any-service>
|
||||||
|
@ -49,8 +49,8 @@ install_config {
|
|||||||
</inline>
|
</inline>
|
||||||
</import>
|
</import>
|
||||||
</vfs>
|
</vfs>
|
||||||
<policy label="fs_report -> " root="/" writeable="yes"/>
|
<policy label_prefix="fs_report ->" root="/" writeable="yes"/>
|
||||||
<policy label="report_fs_rom -> " root="/"/>
|
<policy label_prefix="report_fs_rom ->" root="/"/>
|
||||||
</config>
|
</config>
|
||||||
</start>
|
</start>
|
||||||
|
|
||||||
|
@ -34,9 +34,6 @@ class Vfs::Fs_file_system : public File_system, private Remote_io
|
|||||||
using Label_string = Genode::String<64>;
|
using Label_string = Genode::String<64>;
|
||||||
Label_string _label;
|
Label_string _label;
|
||||||
|
|
||||||
using Root_string = Genode::String<::File_system::MAX_NAME_LEN>;
|
|
||||||
Root_string _root;
|
|
||||||
|
|
||||||
::File_system::Connection _fs;
|
::File_system::Connection _fs;
|
||||||
|
|
||||||
bool _write_would_block = false;
|
bool _write_would_block = false;
|
||||||
@ -568,13 +565,17 @@ class Vfs::Fs_file_system : public File_system, private Remote_io
|
|||||||
Fs_file_system(Vfs::Env &env, Genode::Xml_node config)
|
Fs_file_system(Vfs::Env &env, Genode::Xml_node config)
|
||||||
:
|
:
|
||||||
_env(env),
|
_env(env),
|
||||||
_label(config.attribute_value("label", Label_string())),
|
_label(config.attribute_value("label", Label_string("/"))),
|
||||||
_root( config.attribute_value("root", Root_string())),
|
|
||||||
_fs(_env.env(), _fs_packet_alloc,
|
_fs(_env.env(), _fs_packet_alloc,
|
||||||
_label.string(), _root.string(),
|
_label,
|
||||||
config.attribute_value("writeable", true),
|
config.attribute_value("writeable", true),
|
||||||
buffer_size(config))
|
buffer_size(config))
|
||||||
{
|
{
|
||||||
|
if (config.has_attribute("root")) {
|
||||||
|
Genode::warning("vfs: <fs> node uses deprecated 'root' attribute.");
|
||||||
|
Genode::warning(" Append the root dir to the label instead.");
|
||||||
|
}
|
||||||
|
|
||||||
_fs.sigh(_signal_handler);
|
_fs.sigh(_signal_handler);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -290,7 +290,7 @@ struct Cached_fs_rom::Main final : Genode::Session_request_handler
|
|||||||
Heap heap { env.pd(), env.rm() };
|
Heap heap { env.pd(), env.rm() };
|
||||||
|
|
||||||
Allocator_avl fs_tx_block_alloc { &heap };
|
Allocator_avl fs_tx_block_alloc { &heap };
|
||||||
File_system::Connection fs { env, fs_tx_block_alloc, "", "/", false, 4*1024*1024 };
|
File_system::Connection fs { env, fs_tx_block_alloc, "/", false, 4*1024*1024 };
|
||||||
|
|
||||||
Session_requests_rom session_requests { env, *this };
|
Session_requests_rom session_requests { env, *this };
|
||||||
|
|
||||||
|
@ -64,7 +64,7 @@ struct Chroot::Main
|
|||||||
* File-system session for creating new chroot directories
|
* File-system session for creating new chroot directories
|
||||||
*/
|
*/
|
||||||
File_system::Connection fs {
|
File_system::Connection fs {
|
||||||
env, fs_tx_block_alloc, "", "/", true, 1 };
|
env, fs_tx_block_alloc, "/", true, 1 };
|
||||||
|
|
||||||
Attached_rom_dataspace session_requests { env, "session_requests" };
|
Attached_rom_dataspace session_requests { env, "session_requests" };
|
||||||
|
|
||||||
@ -118,7 +118,7 @@ struct Chroot::Main
|
|||||||
/* Use a chroot path from policy and label sub-directories */
|
/* Use a chroot path from policy and label sub-directories */
|
||||||
Prefix const prefix = policy.attribute_value("path_prefix", Prefix());
|
Prefix const prefix = policy.attribute_value("path_prefix", Prefix());
|
||||||
root_path.import(prefix.string());
|
root_path.import(prefix.string());
|
||||||
root_path.append(path_from_label<Path>(label.string()).string());
|
root_path.append(path_from_label<Path>(label.prefix().string()).string());
|
||||||
} else if (policy.has_attribute("path")) {
|
} else if (policy.has_attribute("path")) {
|
||||||
/* Use a chroot path from policy */
|
/* Use a chroot path from policy */
|
||||||
root_path.import(policy.attribute_value("path", Prefix()).string());
|
root_path.import(policy.attribute_value("path", Prefix()).string());
|
||||||
@ -127,15 +127,24 @@ struct Chroot::Main
|
|||||||
root_path = path_from_label<Path>(label.string());
|
root_path = path_from_label<Path>(label.string());
|
||||||
}
|
}
|
||||||
|
|
||||||
/* extract and append the session argument */
|
/* append client-provided path */
|
||||||
{
|
{
|
||||||
char tmp[PATH_MAX_LEN];
|
Session_label const client_root_path = label.last_element();
|
||||||
Arg_string::find_arg(args.string(), "root").string(tmp, sizeof(tmp), "/");
|
bool root_path_valid = true;
|
||||||
root_path.append_element(tmp);
|
if (client_root_path.string()[0] != '/') {
|
||||||
|
warning(label, ": last label element should start with /");
|
||||||
|
root_path_valid = false;
|
||||||
|
}
|
||||||
|
if (client_root_path.string()[min(1ul, client_root_path.length()) - 1] != '/') {
|
||||||
|
warning(label, ": last label element should end with /");
|
||||||
|
root_path_valid = false;
|
||||||
|
}
|
||||||
|
if (!root_path_valid)
|
||||||
|
throw Service_denied();
|
||||||
|
root_path.append(client_root_path.string());
|
||||||
|
root_path.remove_trailing('/');
|
||||||
}
|
}
|
||||||
|
|
||||||
root_path.remove_trailing('/');
|
|
||||||
|
|
||||||
char const *new_root = root_path.base();
|
char const *new_root = root_path.base();
|
||||||
|
|
||||||
using namespace File_system;
|
using namespace File_system;
|
||||||
@ -179,7 +188,11 @@ struct Chroot::Main
|
|||||||
Arg_string::set_arg(new_args, ARGS_MAX_LEN, "writeable", writeable);
|
Arg_string::set_arg(new_args, ARGS_MAX_LEN, "writeable", writeable);
|
||||||
}
|
}
|
||||||
|
|
||||||
Arg_string::set_arg_string(new_args, ARGS_MAX_LEN, "root", new_root);
|
/* replace last label element by new root path */
|
||||||
|
Session_label const rewritten_label =
|
||||||
|
prefixed_label(label.prefix(), Session_label(root_path.string(), "/"));
|
||||||
|
|
||||||
|
Arg_string::set_arg_string(new_args, ARGS_MAX_LEN, "label", rewritten_label.string());
|
||||||
|
|
||||||
return env.session("File_system", id, new_args, affinity);
|
return env.session("File_system", id, new_args, affinity);
|
||||||
}
|
}
|
||||||
|
@ -923,13 +923,20 @@ class Vfs_server::Root : public Genode::Root_component<Session_component>,
|
|||||||
|
|
||||||
/* apply client's root offset. */
|
/* apply client's root offset. */
|
||||||
{
|
{
|
||||||
char tmp[MAX_PATH_LEN] { };
|
Session_label const client_root_path = label.last_element();
|
||||||
Arg_string::find_arg(args, "root").string(tmp, sizeof(tmp), "/");
|
bool root_path_valid = true;
|
||||||
if (Genode::strcmp("/", tmp, sizeof(tmp))) {
|
if (client_root_path.string()[0] != '/') {
|
||||||
session_root.append("/");
|
warning(label, ": last label element should start with /");
|
||||||
session_root.append(tmp);
|
root_path_valid = false;
|
||||||
session_root.remove_trailing('/');
|
|
||||||
}
|
}
|
||||||
|
if (client_root_path.string()[min(1ul, client_root_path.length()) - 1] != '/') {
|
||||||
|
warning(label, ": last label element should end with /");
|
||||||
|
root_path_valid = false;
|
||||||
|
}
|
||||||
|
if (!root_path_valid)
|
||||||
|
throw Service_denied();
|
||||||
|
session_root.append(client_root_path.string());
|
||||||
|
session_root.remove_trailing('/');
|
||||||
}
|
}
|
||||||
|
|
||||||
/* check if the session root exists */
|
/* check if the session root exists */
|
||||||
|
@ -14,14 +14,14 @@ component:
|
|||||||
! <config>
|
! <config>
|
||||||
!
|
!
|
||||||
! <vfs>
|
! <vfs>
|
||||||
! <fs buffer_size="2M" label="backend"/>
|
! <fs buffer_size="2M" label="backend -> /"/>
|
||||||
! </vfs>
|
! </vfs>
|
||||||
!
|
!
|
||||||
! <policy label_prefix="client"
|
! <policy label_prefix="client"
|
||||||
! file="/vfs_block.img" block_size="512" writeable="yes"/>
|
! file="/vfs_block.img" block_size="512" writeable="yes"/>
|
||||||
! </config>
|
! </config>
|
||||||
! <route>
|
! <route>
|
||||||
! <service name="File_system" label="backend">
|
! <service name="File_system" label_prefix="backend ->">
|
||||||
! <child name="fs_provider"/> </service>
|
! <child name="fs_provider"/> </service>
|
||||||
! <any-service> <parent/> </any-service>
|
! <any-service> <parent/> </any-service>
|
||||||
! </route>
|
! </route>
|
||||||
|
@ -36,7 +36,7 @@ struct Fs_packet::Main
|
|||||||
|
|
||||||
Heap _heap { _env.pd(), _env.rm() };
|
Heap _heap { _env.pd(), _env.rm() };
|
||||||
Allocator_avl _avl_alloc { &_heap };
|
Allocator_avl _avl_alloc { &_heap };
|
||||||
File_system::Connection _fs { _env, _avl_alloc, "", "/", false, 4<<10 };
|
File_system::Connection _fs { _env, _avl_alloc, "/", false, 4<<10 };
|
||||||
|
|
||||||
File_system::Session::Tx::Source &_tx { *_fs.tx() };
|
File_system::Session::Tx::Source &_tx { *_fs.tx() };
|
||||||
|
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
<service name="ROM" label="hover"> <child name="wm"/> </service>
|
<service name="ROM" label="hover"> <child name="wm"/> </service>
|
||||||
<service name="ROM" label="decorator_margins"> <child name="wm"/> </service>
|
<service name="ROM" label="decorator_margins"> <child name="wm"/> </service>
|
||||||
<service name="Report"> <child name="wm"/> </service>
|
<service name="Report"> <child name="wm"/> </service>
|
||||||
<service name="File_system" label="recall">
|
<service name="File_system" label_prefix="recall ->">
|
||||||
<child name="recall_fs"/>
|
<child name="recall_fs"/>
|
||||||
</service>
|
</service>
|
||||||
</route>
|
</route>
|
||||||
@ -62,7 +62,7 @@
|
|||||||
|
|
||||||
<start name="fs_rom" priority="-2" pkg="jschlatow/pkg/fs_rom/2024-10-07">
|
<start name="fs_rom" priority="-2" pkg="jschlatow/pkg/fs_rom/2024-10-07">
|
||||||
<route>
|
<route>
|
||||||
<service name="File_system"> <parent label="report"/> </service>
|
<service name="File_system"> <parent identity="report"/> </service>
|
||||||
</route>
|
</route>
|
||||||
</start>
|
</start>
|
||||||
|
|
||||||
|
@ -36,7 +36,7 @@ dir-listing.activate = "enable"
|
|||||||
</inline>
|
</inline>
|
||||||
</dir>
|
</dir>
|
||||||
</dir>
|
</dir>
|
||||||
<dir name="webroot"> <fs label="webroot"/> </dir>
|
<dir name="webroot"> <fs label="webroot -> /"/> </dir>
|
||||||
<dir name="tmp"> <ram/> </dir>
|
<dir name="tmp"> <ram/> </dir>
|
||||||
</vfs>
|
</vfs>
|
||||||
<libc stdin="/dev/null" stdout="/dev/log" stderr="/dev/log"
|
<libc stdin="/dev/null" stdout="/dev/log" stderr="/dev/log"
|
||||||
|
@ -49,8 +49,8 @@
|
|||||||
<default-policy root="/" writeable="yes"/>
|
<default-policy root="/" writeable="yes"/>
|
||||||
</config>
|
</config>
|
||||||
<route>
|
<route>
|
||||||
<service name="File_system" label="target"> <parent label="target"/> </service>
|
<service name="File_system" label="target"> <parent label="target -> /"/> </service>
|
||||||
<service name="File_system" label="report"> <parent label="report"/> </service>
|
<service name="File_system" label="report"> <parent label="report -> /"/> </service>
|
||||||
<any-service> <parent/> </any-service>
|
<any-service> <parent/> </any-service>
|
||||||
</route>
|
</route>
|
||||||
</start>
|
</start>
|
||||||
|
@ -68,8 +68,8 @@
|
|||||||
</config>
|
</config>
|
||||||
<route>
|
<route>
|
||||||
<service name="Audio_out"> <parent/> </service>
|
<service name="Audio_out"> <parent/> </service>
|
||||||
<service name="File_system" label="shared"> <parent label="shared"/> </service>
|
<service name="File_system" label="shared"> <parent label="shared -> /"/> </service>
|
||||||
<service name="File_system"> <parent label="vm"/> </service>
|
<service name="File_system"> <parent label="vm -> /"/> </service>
|
||||||
<service name="ROM" label="capslock"> <parent label="capslock"/> </service>
|
<service name="ROM" label="capslock"> <parent label="capslock"/> </service>
|
||||||
<service name="ROM" label="platform_info">
|
<service name="ROM" label="platform_info">
|
||||||
<parent label="platform_info"/> </service>
|
<parent label="platform_info"/> </service>
|
||||||
|
@ -29,10 +29,10 @@
|
|||||||
<oss name="dsp" min_ofrag_size="8192" min_ifrag_size="8192"/>
|
<oss name="dsp" min_ofrag_size="8192" min_ifrag_size="8192"/>
|
||||||
</dir>
|
</dir>
|
||||||
<dir name="pipe"> <pipe/> </dir>
|
<dir name="pipe"> <pipe/> </dir>
|
||||||
<dir name="shared"> <fs label="shared" writeable="yes"/> </dir>
|
<dir name="shared"> <fs label="shared -> /" writeable="yes"/> </dir>
|
||||||
<rom name="VBoxSharedClipboard.so"/>
|
<rom name="VBoxSharedClipboard.so"/>
|
||||||
<rom name="VBoxSharedFolders.so"/>
|
<rom name="VBoxSharedFolders.so"/>
|
||||||
<fs label="vm" writeable="yes"/>
|
<fs label="vm -> /" writeable="yes"/>
|
||||||
</vfs>
|
</vfs>
|
||||||
<libc stdout="/dev/log" stderr="/dev/log" rtc="/dev/rtc" pipe="/pipe">
|
<libc stdout="/dev/log" stderr="/dev/log" rtc="/dev/rtc" pipe="/pipe">
|
||||||
<pthread placement="single-cpu"/>
|
<pthread placement="single-cpu"/>
|
||||||
|
@ -28,10 +28,10 @@
|
|||||||
<oss name="dsp" min_ofrag_size="8192" min_ifrag_size="8192"/>
|
<oss name="dsp" min_ofrag_size="8192" min_ifrag_size="8192"/>
|
||||||
</dir>
|
</dir>
|
||||||
<dir name="pipe"> <pipe/> </dir>
|
<dir name="pipe"> <pipe/> </dir>
|
||||||
<dir name="shared"> <fs label="shared" writeable="yes"/> </dir>
|
<dir name="shared"> <fs label="shared -> /" writeable="yes"/> </dir>
|
||||||
<rom name="VBoxSharedClipboard.so"/>
|
<rom name="VBoxSharedClipboard.so"/>
|
||||||
<rom name="VBoxSharedFolders.so"/>
|
<rom name="VBoxSharedFolders.so"/>
|
||||||
<fs label="vm" writeable="yes"/>
|
<fs label="vm -> /" writeable="yes"/>
|
||||||
</vfs>
|
</vfs>
|
||||||
<libc stdout="/dev/log" stderr="/dev/log" rtc="/dev/rtc" pipe="/pipe">
|
<libc stdout="/dev/log" stderr="/dev/log" rtc="/dev/rtc" pipe="/pipe">
|
||||||
<pthread placement="single-cpu"/>
|
<pthread placement="single-cpu"/>
|
||||||
|
@ -41,7 +41,7 @@
|
|||||||
<default-policy root="/" writeable="no"/>
|
<default-policy root="/" writeable="no"/>
|
||||||
</config>
|
</config>
|
||||||
<route>
|
<route>
|
||||||
<service name="File_system" label="depot">
|
<service name="File_system" label_prefix="depot ->">
|
||||||
<child name="depot_ro"/>
|
<child name="depot_ro"/>
|
||||||
</service>
|
</service>
|
||||||
<any-service> <parent/> </any-service>
|
<any-service> <parent/> </any-service>
|
||||||
@ -56,10 +56,10 @@
|
|||||||
</vfs>
|
</vfs>
|
||||||
</config>
|
</config>
|
||||||
<route>
|
<route>
|
||||||
<service name="File_system" label="config">
|
<service name="File_system" label_prefix="config ->">
|
||||||
<parent label="system_config"/>
|
<parent identity="system_config"/>
|
||||||
</service>
|
</service>
|
||||||
<service name="File_system" label="debug">
|
<service name="File_system" label_prefix="debug ->">
|
||||||
<child name="vfs"/>
|
<child name="vfs"/>
|
||||||
</service>
|
</service>
|
||||||
<service name="ROM" label="build_info">
|
<service name="ROM" label="build_info">
|
||||||
|
@ -22,7 +22,7 @@
|
|||||||
<vfs> <dir name="fonts"> <fs/> </dir> </vfs>
|
<vfs> <dir name="fonts"> <fs/> </dir> </vfs>
|
||||||
</config>
|
</config>
|
||||||
<route>
|
<route>
|
||||||
<service name="File_system"> <parent label="fonts"/> </service>
|
<service name="File_system"> <parent identity="fonts"/> </service>
|
||||||
<service name="Gui"> <parent label="terminal"/> </service>
|
<service name="Gui"> <parent label="terminal"/> </service>
|
||||||
<service name="Report" label="clipboard"> <parent label="clipboard"/> </service>
|
<service name="Report" label="clipboard"> <parent label="clipboard"/> </service>
|
||||||
<service name="ROM" label="clipboard"> <parent label="clipboard"/> </service>
|
<service name="ROM" label="clipboard"> <parent label="clipboard"/> </service>
|
||||||
@ -55,9 +55,9 @@
|
|||||||
<default-policy root="/" writeable="yes"/>
|
<default-policy root="/" writeable="yes"/>
|
||||||
</config>
|
</config>
|
||||||
<route>
|
<route>
|
||||||
<service name="File_system" label="target"> <parent label="target"/> </service>
|
<service name="File_system" label="target"> <parent label="target -> /"/> </service>
|
||||||
<service name="File_system" label="config"> <parent label="config"/> </service>
|
<service name="File_system" label="config"> <parent label="config -> /"/> </service>
|
||||||
<service name="File_system" label="report"> <parent label="report"/> </service>
|
<service name="File_system" label="report"> <parent label="report -> /"/> </service>
|
||||||
<service name="ROM" label="vimrc"> <parent label="vimrc"/> </service>
|
<service name="ROM" label="vimrc"> <parent label="vimrc"/> </service>
|
||||||
<service name="Terminal"> <child name="terminal"/> </service>
|
<service name="Terminal"> <child name="terminal"/> </service>
|
||||||
<any-service> <parent/> </any-service>
|
<any-service> <parent/> </any-service>
|
||||||
|
@ -28,15 +28,15 @@
|
|||||||
<log/>
|
<log/>
|
||||||
<rtc/>
|
<rtc/>
|
||||||
</dir>
|
</dir>
|
||||||
<dir name="shared"> <fs label="shared" writeable="yes"/> </dir>
|
<dir name="shared"> <fs label="shared -> /" writeable="yes"/> </dir>
|
||||||
<fs writeable="yes"/>
|
<fs writeable="yes"/>
|
||||||
</vfs>
|
</vfs>
|
||||||
<libc stdout="/dev/log" stderr="/dev/log" rtc="/dev/rtc"/>
|
<libc stdout="/dev/log" stderr="/dev/log" rtc="/dev/rtc"/>
|
||||||
</config>
|
</config>
|
||||||
<route>
|
<route>
|
||||||
<service name="Audio_out"> <parent/> </service>
|
<service name="Audio_out"> <parent/> </service>
|
||||||
<service name="File_system" label="shared"> <parent label="shared"/> </service>
|
<service name="File_system" label_prefix="shared ->"> <parent identity="shared"/> </service>
|
||||||
<service name="File_system"> <parent label="vm"/> </service>
|
<service name="File_system"> <parent identity="vm"/> </service>
|
||||||
<service name="ROM" label="capslock"> <parent label="capslock"/> </service>
|
<service name="ROM" label="capslock"> <parent label="capslock"/> </service>
|
||||||
<service name="ROM" label="platform_info">
|
<service name="ROM" label="platform_info">
|
||||||
<parent label="platform_info"/> </service>
|
<parent label="platform_info"/> </service>
|
||||||
|
@ -207,8 +207,8 @@ set config_of_app {
|
|||||||
<tar name="coreutils.tar"/>
|
<tar name="coreutils.tar"/>
|
||||||
<tar name="bash.tar"/>
|
<tar name="bash.tar"/>
|
||||||
|
|
||||||
<dir name="from"> <fs label="share_from"/> </dir>
|
<dir name="from"> <fs label="share_from -> /"/> </dir>
|
||||||
<dir name="to"> <fs label="share_to"/> </dir>
|
<dir name="to"> <fs label="share_to -> /"/> </dir>
|
||||||
|
|
||||||
<dir name="tmp"> <ram/> </dir>
|
<dir name="tmp"> <ram/> </dir>
|
||||||
<dir name="dev">
|
<dir name="dev">
|
||||||
@ -222,10 +222,10 @@ set config_of_app {
|
|||||||
<default-policy root="/" writeable="yes"/>
|
<default-policy root="/" writeable="yes"/>
|
||||||
</config>
|
</config>
|
||||||
<route>
|
<route>
|
||||||
<service name="File_system" label="share_from">
|
<service name="File_system" label_prefix="share_from ->">
|
||||||
<child name="ram_fs_from"/>
|
<child name="ram_fs_from"/>
|
||||||
</service>
|
</service>
|
||||||
<service name="File_system" label="share_to">
|
<service name="File_system" label_prefix="share_to ->">
|
||||||
<child name="ram_fs_to"/>
|
<child name="ram_fs_to"/>
|
||||||
</service>
|
</service>
|
||||||
<any-service> <parent/> <any-child/> </any-service>
|
<any-service> <parent/> <any-child/> </any-service>
|
||||||
@ -342,11 +342,11 @@ append config_of_app {
|
|||||||
<rom name="} $vbox_file {"/>}
|
<rom name="} $vbox_file {"/>}
|
||||||
|
|
||||||
append_if [expr $use_ram_fs] config_of_app {
|
append_if [expr $use_ram_fs] config_of_app {
|
||||||
<dir name="ram"> <fs label="from_ram_fs"/> </dir>}
|
<dir name="ram"> <fs label="from_ram_fs -> /"/> </dir>}
|
||||||
|
|
||||||
append config_of_app {
|
append config_of_app {
|
||||||
<dir name="from"> <fs label="share_ram_fs_from"/> </dir>
|
<dir name="from"> <fs label="share_ram_fs_from -> /"/> </dir>
|
||||||
<dir name="to"> <fs label="share_ram_fs_to"/> </dir>
|
<dir name="to"> <fs label="share_ram_fs_to -> /"/> </dir>
|
||||||
<fs/>
|
<fs/>
|
||||||
</vfs>
|
</vfs>
|
||||||
</config>
|
</config>
|
||||||
@ -354,15 +354,15 @@ append config_of_app {
|
|||||||
<service name="Report"> <child name="report_rom"/> </service>}
|
<service name="Report"> <child name="report_rom"/> </service>}
|
||||||
|
|
||||||
append_if [expr $use_ram_fs] config_of_app {
|
append_if [expr $use_ram_fs] config_of_app {
|
||||||
<service name="File_system" label="from_ram_fs">
|
<service name="File_system" label_prefix="from_ram_fs ->">
|
||||||
<child name="ram_fs"/>
|
<child name="ram_fs"/>
|
||||||
</service>}
|
</service>}
|
||||||
|
|
||||||
append config_of_app {
|
append config_of_app {
|
||||||
<service name="File_system" label="share_ram_fs_from">
|
<service name="File_system" label_prefix="share_ram_fs_from ->">
|
||||||
<child name="ram_fs_from"/>
|
<child name="ram_fs_from"/>
|
||||||
</service>
|
</service>
|
||||||
<service name="File_system" label="share_ram_fs_to">
|
<service name="File_system" label_prefix="share_ram_fs_to ->">
|
||||||
<child name="ram_fs_to"/>
|
<child name="ram_fs_to"/>
|
||||||
</service>
|
</service>
|
||||||
<service name="File_system"> <child name="rump_fs"/> </service>
|
<service name="File_system"> <child name="rump_fs"/> </service>
|
||||||
|
@ -276,7 +276,7 @@ for { set i 1} { $i <= $use_vms } { incr i} {
|
|||||||
<dir name="pipe"> <pipe/> </dir>}
|
<dir name="pipe"> <pipe/> </dir>}
|
||||||
|
|
||||||
append_if [expr $use_ram_fs] config_of_app {
|
append_if [expr $use_ram_fs] config_of_app {
|
||||||
<dir name="ram"> <fs label="from_ram_fs"/> </dir>}
|
<dir name="ram"> <fs label="from_ram_fs -> /"/> </dir>}
|
||||||
|
|
||||||
append config_of_app "
|
append config_of_app "
|
||||||
<rom name=\"${vbox_file}\"/>"
|
<rom name=\"${vbox_file}\"/>"
|
||||||
@ -295,7 +295,7 @@ for { set i 1} { $i <= $use_vms } { incr i} {
|
|||||||
<service name="Gui"> <child name="wm"/> </service>}
|
<service name="Gui"> <child name="wm"/> </service>}
|
||||||
|
|
||||||
append_if [expr $use_ram_fs] config_of_app {
|
append_if [expr $use_ram_fs] config_of_app {
|
||||||
<service name="File_system" label="from_ram_fs"> <child name="ram_fs"/> </service>}
|
<service name="File_system" label_prefix="from_ram_fs ->"> <child name="ram_fs"/> </service>}
|
||||||
|
|
||||||
append_if [expr $use_rumpfs] config_of_app {
|
append_if [expr $use_rumpfs] config_of_app {
|
||||||
<service name="File_system"> <child name="rump_fs"/> </service>}
|
<service name="File_system"> <child name="rump_fs"/> </service>}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user