Commit Graph

391 Commits

Author SHA1 Message Date
Sebastian Meßmer
354de197ff Add some asserts 2015-04-08 14:15:11 +02:00
Sebastian Meßmer
f1a992d187 A CryDir returns . and .. as children 2015-03-19 03:53:21 +01:00
Sebastian Meßmer
56928e68a8 Adapt to new fspp interface 2015-03-18 02:46:06 +01:00
Sebastian Meßmer
4d113613d9 Return error if trying to add an already existing entry to a directory 2015-03-18 02:11:10 +01:00
Sebastian Meßmer
26bdd6ff3a Move source to src directory 2015-03-16 01:42:50 +01:00
Sebastian Messmer
b59ee2d1e2 Switch to biicode 2015-02-17 01:02:15 +01:00
Sebastian Messmer
3350e9368a Switch to biicode 2015-02-17 00:40:34 +01:00
Sebastian Messmer
0c851fa452 Switch to biicode 2015-02-17 00:23:33 +01:00
Sebastian Messmer
424c4085a3 TODOs 2015-02-09 19:25:07 +01:00
Sebastian Messmer
7a2e2ec8a6 Written some test cases that the data isn't lost when growing a tree 2015-02-09 18:35:33 +01:00
Sebastian Messmer
b51588670c Refactor test 2015-01-28 01:11:30 +01:00
Sebastian Messmer
f115e10f6d Implemented more tests for DataTreeTest 2015-01-28 01:02:32 +01:00
Sebastian Messmer
1b15af4a3c Add some tests to DataTree 2015-01-27 16:54:46 +01:00
Sebastian Messmer
95e4a7a335 Added a DataTree test case and some TODOs 2015-01-27 00:58:06 +01:00
Sebastian Messmer
77b288a20a Written some first test cases for DataTree 2015-01-27 00:54:25 +01:00
Sebastian Messmer
a61195642f Added comment 2015-01-26 00:40:46 +01:00
Sebastian Messmer
58ccf0495e Source out GetLowestRightBorderNodeWithLessThanKChildrenOrNull and write test cases for it 2015-01-26 00:39:15 +01:00
Sebastian Messmer
03867bb8a2 Write test cases for DataInnerNode::LastChild 2015-01-25 23:54:23 +01:00
Sebastian Messmer
273035cf08 Since blocks now store their keys, we don't need to store it somewhere else. 2015-01-24 22:27:14 +01:00
Sebastian Messmer
76b3724da4 Since blocks now store their keys, we don't need to store it somewhere else. 2015-01-24 22:27:14 +01:00
Sebastian Messmer
dd2c96e363 Since blocks now store their keys, we don't need to store it somewhere else. 2015-01-24 22:27:14 +01:00
Sebastian Messmer
196b543cbb A block stores its key 2015-01-24 22:08:41 +01:00
Sebastian Messmer
03e10cabf5 Implement copying DataNode blocks and finish DataTree::addDataLeaf implementation 2015-01-24 01:59:42 +01:00
Sebastian Messmer
f4398dfeec Implemented copying of blocks 2015-01-24 01:24:37 +01:00
Sebastian Messmer
d442016d16 Implemented converting any node into a inner node and wrote test cases. Furthermore, implemented DataTree::addDataLeafToFullTree() 2015-01-24 00:58:40 +01:00
Sebastian Messmer
fcccbcf2e0 Fix some issues in DataTree using OptionalOwnershipPointer 2015-01-23 18:32:26 +01:00
Sebastian Messmer
753c5aab27 Start with DataTreeStore 2015-01-23 04:39:36 +01:00
Sebastian Messmer
dabe6e2567 Written more test cases for DataInnerNode and refactored them a bit 2015-01-23 03:05:55 +01:00
Sebastian Messmer
a427b0e677 Allow adding children to DataInnerNode and write some test cases 2015-01-23 02:41:55 +01:00
Sebastian Messmer
17440ec52d Changed TODOs 2015-01-22 23:45:37 +01:00
Sebastian Messmer
2eb58ded2a Added TODO 2015-01-22 23:39:01 +01:00
Sebastian Messmer
99c2e353a4 Restrict datanodestore abstraction to a simple node store without tree operations like resizing 2015-01-22 23:37:36 +01:00
Sebastian Messmer
3e9e46f706 Removed resolved TODOs 2015-01-22 21:57:56 +01:00
Sebastian Messmer
fbec747427 Removed resolved TODOs 2015-01-22 21:57:56 +01:00
Sebastian Messmer
fa604a7fc4 Move datanodestore classes into own c++ package and adapt BlobStoreOnBlocks to it 2014-12-13 19:17:08 +01:00
Sebastian Messmer
7490e55d00 Added some test cases for DataLeafNodeTest 2014-12-13 18:47:31 +01:00
Sebastian Messmer
517ed6929d Add testcases to DataLeafNodeTest 2014-12-13 17:58:11 +01:00
Sebastian Messmer
059629cd8a Rename test cases 2014-12-13 17:49:54 +01:00
Sebastian Messmer
de5eb0fa81 Create own module for datanodestore 2014-12-13 17:48:02 +01:00
Sebastian Messmer
1bbe0532dc Introduce DataNodeStore and refactor DataNode 2014-12-13 17:43:02 +01:00
Sebastian Messmer
9ccb583b4b Introduce DataNodeStore and refactor DataNode 2014-12-13 17:43:02 +01:00
Sebastian Messmer
3ab2302650 Refactor KeyTest 2014-12-13 12:31:24 +01:00
Sebastian Messmer
a97eb08224 Replace magic number in DataNodeView with a depth field 2014-12-13 12:00:19 +01:00
Sebastian Messmer
961fdd1d0b Add Key::ToBinary, Key::FromBinary and more test cases for Key 2014-12-13 11:59:48 +01:00
Sebastian Messmer
c5d0e2c245 Add Key::ToBinary, Key::FromBinary and more test cases for Key 2014-12-13 11:59:48 +01:00
Sebastian Messmer
0d6dcd5b8b Introduce Data::copy() and test case for it, refactor FakeBlobStore using Data::copy() 2014-12-11 01:41:08 +01:00
Sebastian Messmer
fb2b511d06 Create a FakeBlockStore and use it instead of InMemoryBlockStore in tests 2014-12-11 01:31:21 +01:00
Sebastian Messmer
15b10feeaf Create a FakeBlockStore and use it instead of InMemoryBlockStore in tests 2014-12-11 01:31:21 +01:00
Sebastian Messmer
eaf9277d81 Make read-only functions of DataNode const 2014-12-11 00:24:50 +01:00
Sebastian Messmer
d1a7712aee Comments & TODOs 2014-12-11 00:21:34 +01:00
Sebastian Messmer
c3d543619e When shrinking a data node, the old space is overwritten with zeroes 2014-12-11 00:20:23 +01:00
Sebastian Messmer
24c81dd0b0 Implement DataLeafNode::resize and test cases for it 2014-12-10 23:34:36 +01:00
Sebastian Messmer
eebe8a4b75 Write factory methods in DataNode and write more test cases 2014-12-10 22:55:02 +01:00
Sebastian Messmer
1201823b68 Created some test cases for DataLeafNode 2014-12-10 17:59:45 +01:00
Sebastian Messmer
c6867b596e TODOs 2014-12-10 17:28:21 +01:00
Sebastian Messmer
85b100ac9d Written test cases for DataNodeView 2014-12-10 17:26:49 +01:00
Sebastian Messmer
b33cf908fa Redesign DataNodes 2014-12-10 16:48:00 +01:00
Sebastian Messmer
1924c936a4 Remove Key::CreateDummyKey() 2014-12-09 20:57:10 +01:00
Sebastian Messmer
fa5058c8e3 Added some more test cases to key 2014-12-09 20:47:49 +01:00
Sebastian Messmer
77ff3320c0 Added some more test cases to key 2014-12-09 20:46:34 +01:00
Sebastian Messmer
83fad1ca53 Create dedicated Key class for addressing blocks 2014-12-09 20:36:32 +01:00
Sebastian Messmer
0b2b527b4d Create dedicated Key class for addressing blocks 2014-12-09 20:36:32 +01:00
Sebastian Messmer
e7aea38f83 Create dedicated Key class for addressing blocks 2014-12-09 20:36:32 +01:00
Sebastian Messmer
48cc8eeff0 Write a test case that we reject invalid magic numbers 2014-12-09 18:56:45 +01:00
Sebastian Messmer
ec65b31c8e Add DataNode/DataInnerNode/DataLeafNode to blobstore and write testcases for their magic numbers 2014-12-09 18:53:11 +01:00
Sebastian Messmer
5fee5e862a BlobStoreOnBlocks mirrors BlockStore 2014-12-09 17:56:48 +01:00
Sebastian Messmer
532431f8e3 Created basic class structure for blobstore 2014-12-09 17:45:33 +01:00
Sebastian Messmer
e757da0ad3 Rename blobstore to blockstore 2014-12-09 17:19:59 +01:00
Sebastian Messmer
868c06a5f1 Rename blobstore to blockstore 2014-12-09 17:19:59 +01:00
Sebastian Messmer
93a624b228 Rename blobstore to blockstore 2014-12-09 17:19:59 +01:00
Sebastian Messmer
ebc70cff53 Allow creating files 2014-12-09 16:34:34 +01:00
Sebastian Messmer
79455cf01f Implemented basic FileBlob 2014-12-09 11:28:52 +01:00
Sebastian Messmer
9a97287a96 A dir stores a magic number 2014-12-09 11:13:50 +01:00
Sebastian Messmer
b275d47dd9 Renamed VirtualTestFile to DataBlockFixture 2014-12-09 11:01:32 +01:00
Sebastian Messmer
c306d8be66 Renamed VirtualTestFile to DataBlockFixture 2014-12-09 11:01:32 +01:00
Sebastian Messmer
5413384ee3 TODOs 2014-12-07 22:38:48 +01:00
Sebastian Messmer
32d28665a0 TODOs 2014-12-07 22:38:48 +01:00
Sebastian Messmer
2d74935034 CryConfig: DISALLOW_COPY_AND_ASSIGN 2014-12-07 22:29:24 +01:00
Sebastian Messmer
fcc22fe054 CryFS stores root blob key in config file! 2014-12-07 22:26:16 +01:00
Sebastian Messmer
30ac3ab3cb Created a simple mkdir/lsdir for cryfs, backed by blocks 2014-12-07 10:42:16 +01:00
Sebastian Messmer
51bcc2f191 Remove Cryfs Implementation 2014-12-07 08:57:23 +01:00
Sebastian Messmer
2c295ace62 Specify that BlobWithKey takes ownership of the contained blob 2014-12-07 08:57:04 +01:00
Sebastian Messmer
39ab086bb6 Copy current CryFS implementation (which rather was CopyFS) to a copyfs directory 2014-12-07 08:33:47 +01:00
Sebastian Messmer
6d0815915c Redefined error behavior in blob loading when blob key doesn't exist 2014-12-07 00:58:56 +01:00
Sebastian Messmer
aed2148f17 Redefine error behavior in BlobStoreWithRandomKeys when key already exists and write test cases for it 2014-12-07 00:09:44 +01:00
Sebastian Messmer
9125e7a3ce Factor out BlobStoreWithRandomKeys 2014-12-06 22:28:57 +01:00
Sebastian Messmer
2b112c7fdb Generalized BlobStoreTest, added more test cases there 2014-12-06 21:28:03 +01:00
Sebastian Messmer
5355d0ca18 BlobStoreTest is a type parameterized test and is instantiated as InMemoryBlobStoreTest and OnDiskBlobStoreTest 2014-12-06 19:46:42 +01:00
Sebastian Messmer
03c490d5b3 Moved test files to correct package 2014-12-06 16:15:33 +01:00
Sebastian Messmer
a116a8330c Implemented an in-memory blobstore 2014-12-06 16:14:22 +01:00
Sebastian Messmer
e0e9129099 Also move RandomKeyGenerator to utils package 2014-12-06 15:50:37 +01:00
Sebastian Messmer
abcc766375 Moved Data class to an own utils package in blobstore 2014-12-06 15:48:32 +01:00
Sebastian Messmer
1151d4db47 Written Testcases for OnDiskBlobStore 2014-12-06 11:51:57 +01:00
Sebastian Messmer
2d3f329b6a Block-Keys are created randomly 2014-12-06 11:22:34 +01:00
Sebastian Messmer
11b74dd035 Renamed test cases 2014-12-06 11:21:41 +01:00
Sebastian Messmer
b64d352a8c BlobStore also returns BlobKey 2014-12-05 15:37:35 +01:00
Sebastian Messmer
24e2d42380 Added test cases for Data::LoadFromFile and Data.StoreToFile 2014-12-05 15:18:43 +01:00
Sebastian Messmer
a489914f80 Added test case for Data.FillWithZeroes() 2014-12-05 12:31:49 +01:00
Sebastian Messmer
b9c2f43afb Test loading a not existing blob (and fix behaviour for that case) 2014-12-05 12:00:05 +01:00
Sebastian Messmer
2d45783414 Added test cases for OnDiskBlob that load and compare data 2014-12-05 11:50:24 +01:00
Sebastian Messmer
155bbeaba3 Added test cases for OnDiskBlob that load and compare data 2014-12-05 11:50:24 +01:00
Sebastian Messmer
dc8a81eef5 Added test cases that blobs are actually initialized with zeroes 2014-12-05 11:36:14 +01:00
Sebastian Messmer
edd2125685 Rename test case 2014-12-05 11:23:47 +01:00
Sebastian Messmer
a34b5a316f Added Blob::flush() and test cases for it 2014-12-05 11:22:44 +01:00
Sebastian Messmer
a699350e19 Simplify Data::LoadFromFile and use DISALLOW_COPY_AND_ASSIGN for OnDiskBlob and OnDiskBlobStore 2014-12-05 08:14:19 +01:00
Sebastian Messmer
c20b09030d Move load from file functionality to Data class 2014-12-05 08:08:45 +01:00
Sebastian Messmer
e32a84eb8e Add Data::StoreToFile 2014-12-05 07:42:39 +01:00
Sebastian Messmer
e585d12511 Written a test case to test size on loading 2014-12-05 07:22:41 +01:00
Sebastian Messmer
e52da598f4 Write some test cases for OnDiskBlob and also change implementation to adapt them 2014-12-05 07:16:35 +01:00
Sebastian Messmer
ab3b5d906c Written a ondisk blobstore implementation and started with test cases 2014-12-05 06:20:38 +01:00
Sebastian Messmer
a43359c3b0 Added size parameters to blobstore interface 2014-12-05 06:06:05 +01:00
Sebastian Messmer
90c49dabc6 Written first version of the blobstore interface 2014-12-05 04:50:50 +01:00
Sebastian Messmer
3af17f24d9 Refactor: Move Filesystem.h and FuseErrnoException.h to fuse package 2014-11-28 14:46:45 +01:00
Sebastian Messmer
47a35c94b4 Added write() test cases 2014-11-27 16:40:22 +01:00
Sebastian Messmer
22c1dff622 Refactor FuseReadReturnedDataTest to make VirtualTestFile reusable for the upcoming write tests 2014-11-27 15:23:51 +01:00
Sebastian Messmer
74cf914f1e Implement flush() 2014-11-21 01:11:24 +01:00
Sebastian Messmer
51cc539f99 Delete dummy test 2014-11-19 00:15:00 +01:00
Sebastian Messmer
6aeaae5436 Make test cases run fuse in a parallel thread. For now, test cases don't use mock fs implementation, but real cryfs. This is to be changed soon. 2014-11-18 00:14:33 +01:00
Sebastian Messmer
c495e6b475 Written a test case setting up a file system and tearing it down again afterwards 2014-11-17 21:13:58 +01:00
Sebastian Messmer
193b2b1b88 Finished renaming fusepp -> fspp 2014-11-16 00:10:29 +01:00
Sebastian Messmer
f5a6f79e09 Finished renaming fusepp -> fspp 2014-11-16 00:10:29 +01:00
Sebastian Messmer
e863e5b6ce Rename namespace fusepp -> fspp 2014-11-16 00:05:28 +01:00
Sebastian Messmer
d14e825cee Rename namespace fusepp -> fspp 2014-11-16 00:05:28 +01:00
Sebastian Messmer
3f318281ec Rename FuseFile -> File and so on 2014-11-15 23:47:38 +01:00
Sebastian Messmer
c730fb5ebf Rename FuseFile -> File and so on 2014-11-15 23:47:38 +01:00
Sebastian Messmer
6dce6ffd80 Put fuse bindings in their own directory 2014-11-15 17:24:07 +01:00
Sebastian Messmer
749239ad0f Put fuse bindings in their own directory 2014-11-15 17:24:07 +01:00
Sebastian Messmer
382a7b89f1 Created a CryFs implementation based on the Fuse classes 2014-11-15 16:33:24 +01:00
Sebastian Messmer
272456e187 Created a CryFs implementation based on the Fuse classes 2014-11-15 16:33:24 +01:00
Sebastian Messmer
d088995178 Renamed cryfs::CryXXX classes to fusepp::FuseXXX classes 2014-11-15 15:16:18 +01:00
Sebastian Messmer
da7debdf9d Renamed cryfs::CryXXX classes to fusepp::FuseXXX classes 2014-11-15 15:16:18 +01:00
Sebastian Messmer
1cd2364b7f Simplify readdir 2014-11-13 00:03:03 +01:00
Sebastian Messmer
9af5f72665 Simplify readdir 2014-11-13 00:03:03 +01:00
Sebastian Messmer
27057f8c82 Fix creat 2014-11-12 23:13:00 +01:00
Sebastian Messmer
d8d35ae462 Resolve TODO2 2014-11-12 22:50:40 +01:00
Sebastian Messmer
b265dd9313 Resolve TODO2 2014-11-12 22:50:40 +01:00
Sebastian Messmer
35d997779a Removed todo 2014-11-12 22:47:20 +01:00
Sebastian Messmer
9dabea5e5d Removed todo 2014-11-12 22:47:20 +01:00
Sebastian Messmer
009b09df70 Fix error code 2014-11-12 22:40:47 +01:00
Sebastian Messmer
1fba488a07 Fix error code 2014-11-12 22:40:47 +01:00
Sebastian Messmer
3b376aa048 Fix IdList and implement statfs() 2014-11-12 22:38:12 +01:00
Sebastian Messmer
df80fdfb74 Fix IdList and implement statfs() 2014-11-12 22:38:12 +01:00
Sebastian Messmer
708ca7b1d6 utimens 2014-11-12 21:55:34 +01:00
Sebastian Messmer
31aa6228bb utimens 2014-11-12 21:55:34 +01:00
Sebastian Messmer
0dc7fe2bb8 Fix unimplemented utimens 2014-11-12 15:42:47 +01:00
Sebastian Messmer
7ddf6d0672 Fix unimplemented utimens 2014-11-12 15:42:47 +01:00
Sebastian Messmer
bedf079af2 fix readdir 2014-11-12 15:41:26 +01:00
Sebastian Messmer
194f1cba48 opendir/readdir/releasedir 2014-11-12 15:34:01 +01:00
Sebastian Messmer
3b2de412c8 opendir/readdir/releasedir 2014-11-12 15:34:01 +01:00
Sebastian Messmer
d2cba6cfe6 Implemented CryDir opening 2014-11-12 15:19:32 +01:00
Sebastian Messmer
abc8811e17 Generalized IdList 2014-11-12 15:19:04 +01:00
Sebastian Messmer
c1ef981368 Make some functions not-implemented 2014-11-12 13:54:29 +01:00
Sebastian Messmer
9db97ff258 Make some functions not-implemented 2014-11-12 13:54:29 +01:00
Sebastian Messmer
e3259d68f9 rename 2014-11-12 12:43:49 +01:00
Sebastian Messmer
e561f52dd5 rename 2014-11-12 12:43:49 +01:00
Sebastian Messmer
a0a30e3c75 fix compiler warnings 2014-11-12 12:36:04 +01:00
Sebastian Messmer
b85da9a688 rmdir 2014-11-12 12:34:35 +01:00
Sebastian Messmer
8561d90de0 rmdir 2014-11-12 12:34:35 +01:00
Sebastian Messmer
3727dd8b74 unlink 2014-11-12 12:31:38 +01:00
Sebastian Messmer
afd4066ef7 unlink 2014-11-12 12:31:38 +01:00
Sebastian Messmer
c5e8c37588 mkdir 2014-11-12 12:27:23 +01:00
Sebastian Messmer
c112def985 mkdir 2014-11-12 12:27:23 +01:00
Sebastian Messmer
8182a45d65 Fix create! 2014-11-11 00:38:33 +01:00
Sebastian Messmer
bfd7d20c8b Fix file reading 2014-11-11 00:18:24 +01:00
Sebastian Messmer
a8604d7b58 Fix file reading 2014-11-11 00:18:24 +01:00
Sebastian Messmer
f86db75948 Refactor 2014-11-10 23:51:45 +01:00
Sebastian Messmer
2e06e0a3b0 Refactor 2014-11-10 23:51:45 +01:00
Sebastian Messmer
6b8c205916 Implemented file operations using our class hierarchy 2014-11-10 23:47:41 +01:00
Sebastian Messmer
ca745bb3da Implemented file operations using our class hierarchy 2014-11-10 23:47:41 +01:00
Sebastian Messmer
80d708d62d Implement CryOpenFile and infrastructure around it 2014-11-10 22:42:17 +01:00
Sebastian Messmer
21f1a294ab Implement CryOpenFile and infrastructure around it 2014-11-10 22:42:17 +01:00
Sebastian Messmer
91dd8a7395 Better test handling 2014-11-06 23:14:20 +01:00
Sebastian Messmer
3c34cfd6d2 Added gtest framework and fixed compiler warnings 2014-11-06 22:50:50 +01:00
Sebastian Messmer
df0ac39ec9 Added gtest framework and fixed compiler warnings 2014-11-06 22:50:50 +01:00
Sebastian Messmer
a6b664063c Fix some stuff and make getattr go through our class structure 2014-11-05 01:35:41 +01:00
Sebastian Messmer
9981b5aeae Fix some stuff and make getattr go through our class structure 2014-11-05 01:35:41 +01:00
Sebastian Messmer
f9fe4f579c Reorder folder structure 2014-11-04 22:33:43 +01:00
Sebastian Messmer
fd07c4892d Reorder folder structure 2014-11-04 22:33:43 +01:00
Sebastian Messmer
944a8b201f Remove leftover comment 2014-11-04 22:23:34 +01:00
Sebastian Messmer
a97261d02f Removed debug output 2014-11-04 22:23:16 +01:00
Sebastian Messmer
6230d19750 Implemented a final, copy file system 2014-11-04 22:08:13 +01:00
Sebastian Messmer
154de4c74d Implement some of the fuse functions 2014-11-04 21:17:02 +01:00
Sebastian Messmer
728d97e9e8 CryDevice stores root path to which we work relatively 2014-11-04 21:03:04 +01:00
Sebastian Messmer
560d304fb8 Rename functions to avoid name clashes 2014-11-04 20:50:42 +01:00
Sebastian Messmer
d38480b234 Use boost::filesystem::path 2014-11-04 19:54:35 +01:00
Sebastian Messmer
24b81dab7b Refine interface 2014-11-04 18:34:33 +01:00
Sebastian Messmer
a5f293e0f8 Code style 2014-11-04 18:14:21 +01:00
Sebastian Messmer
ec6955ec25 Separated fuse implementation from fuse interface 2014-11-04 18:03:59 +01:00
Sebastian Messmer
6e44f4a326 Implemented basic fuse interface 2014-11-04 17:40:31 +01:00
Sebastian Messmer
08c3ab0b38 Created a cryfs_lib directory for the main source code 2014-11-04 02:54:23 +01:00
Sebastian Messmer
e8b1b51cdb Initiate CMake 2014-11-04 02:32:06 +01:00