Commit Graph

1162 Commits

Author SHA1 Message Date
Teo Mrnjavac 7ff137233a Disallow partition delete operation if the FS is cryptOpen. 2016-04-26 11:51:12 +02:00
Andrius Štikonas 12c03cfeff Clear LUKS label when closing crypt. 2016-04-24 21:51:49 +01:00
Andrius Štikonas 96ceadd3be Use open/close instead of luksOpen/luksClose. 2016-04-22 16:24:30 +01:00
Teo Mrnjavac 8e3e9309ed suggestedMapperName as a separate method. 2016-04-22 16:48:45 +02:00
Andrius Štikonas f7ff5f2d30 Fix a bug that prevented resizing nilfs2 partitions. 2016-04-22 13:47:58 +01:00
Andrius Štikonas a412564b00 Simplify NTFS writeUUID code. Rely on external ntfslabel command. 2016-04-22 13:30:19 +01:00
Andrius Štikonas 433cb5651b Enable growing luks->reiserfs. 2016-04-22 13:23:57 +01:00
Andrius Štikonas 2e7055aa69 Merge branch 'master' into luks-decorator 2016-04-21 23:03:28 +01:00
Andrius Štikonas 7306c86241 Silence a warning about unused variable. 2016-04-21 22:50:19 +01:00
Andrius Štikonas 16f76b1623 Remove unnecessary "this->". 2016-04-21 22:48:58 +01:00
Andrius Štikonas eb4e985933 Use C++11 initialization instead of << for readability. 2016-04-21 22:48:05 +01:00
Andrius Štikonas 33c049926f
Add initial support for reading and writing innerFS labels. 2016-04-21 21:19:49 +01:00
Andrius Štikonas 8c1dd32baa
Remove luksName from DecryptLuksDialog. 2016-04-21 18:02:57 +01:00
Teo Mrnjavac 27d5ff82e6 Cache the passphrase in a LUKS open session. 2016-04-21 18:36:04 +02:00
Andrius Štikonas d126f04886
Add initial support for growing LUKS volumes.
Added support for filling btrfs, ext and swap partitions.
2016-04-21 17:22:48 +01:00
Teo Mrnjavac 7edc601a36 Allow the UI to set a passphrase before creation instead of asking. 2016-04-21 17:05:27 +02:00
Andrius Štikonas 01c9b9f881
Use long command line options when possible. 2016-04-20 16:30:23 +01:00
Andrius Štikonas e48abb1794
Set libparted name for Reiser4 to be reiserfs.
libparted does not support reiser4 filesystems, so formatting returned an error.
2016-04-20 16:03:10 +01:00
Andrius Štikonas 5f87ba705f
Add --force flag when creating reiser4 filesystems. 2016-04-20 15:25:17 +01:00
Andrius Štikonas 1ee17c38e3
Clobber first 129 sectors of partition when deleting it. 2016-04-20 15:07:21 +01:00
Andrius Štikonas 46c3536a4c
Use UUID of LUKS partition for mapper name. 2016-04-19 17:10:59 +01:00
Teo Mrnjavac 26026b6232 PartitionRole::LUKS is now PartitionRole::Luks. 2016-04-19 16:46:18 +02:00
Andrius Štikonas 58e9876307
Rename qglobal.h to QtGlobal 2016-04-18 17:14:31 +01:00
Teo Mrnjavac b4a57db54d Update copyright and strings. 2016-04-15 15:43:21 +02:00
Teo Mrnjavac e1383df143 Assume the inner FS is already set when creating LUKS FS.
An open LUKS FS now reports the type of its inner FS.
Build a list of "LUKS-encryptable" filesystem types.
2016-04-15 15:33:32 +02:00
Teo Mrnjavac 4c8b531bf4 Set the LUKS role if LUKS detected. 2016-04-15 15:11:51 +02:00
Teo Mrnjavac 12e7da5b1c Add LUKS role. Both open and closed LUKS "filesystems" should use this. 2016-04-15 15:10:14 +02:00
Teo Mrnjavac 9970fb7b1d Make sure to create the inner fs when detecting. 2016-04-13 18:32:21 +02:00
Teo Mrnjavac 7993257541 Inner fs mount checks must use mapper name. 2016-04-13 17:01:53 +02:00
Teo Mrnjavac 3f10c8e2d5 We don't need the dash because ExternalCommand already does the piping. 2016-04-13 15:56:07 +02:00
Teo Mrnjavac c41f843aff Actually create inner fs. 2016-04-13 15:55:35 +02:00
Teo Mrnjavac 1b79099760 Preliminary LUKS create support. 2016-04-12 11:26:07 +02:00
Teo Mrnjavac 1aff54c047 Use C++11 initialization instead of << for readability. 2016-04-07 16:13:29 +02:00
Teo Mrnjavac 49cde487cc Check if the mapper node is mounted. 2016-04-06 18:13:18 +02:00
Teo Mrnjavac 45311941ca Add mounted state accessors to FS::luks. 2016-04-06 18:13:18 +02:00
Teo Mrnjavac 0a8a5887df Bring back LUKS code which was previously merged+reverted.
Revert "Revert merge of branch luks-decorator."
This reverts commit efd3179d95.
Messages:
FS::luks is now a decorator for an actual FS composed inside.
Implement cryptOpen/cryptClose/mount/unmount operations.
detectFileSystem, which only uses blkid, is now in FileSystem.cpp.
FileSystem::mount now requires a mountPoint.
Use umount -A to immediately umount all mount points in unmountCmds.
Add override keywords, TODO: add them everywhere.
LibPartedBackend no longer links against libblkid.
Fix LUKS handling in LibPartedBackend::scanDevicePartitions.
Allow detecting FS::Type by path, and remove libparted workaround.
FS detection now only uses blkid (from util-linux).
2016-03-31 18:43:38 +02:00
Andrius Štikonas 7f44e71298 Use KIO version instead. 2016-03-29 20:55:56 +03:00
Teo Mrnjavac ccf1880efa Do not filter out PED_DEVICE_UNKNOWN devices as if they were read-only.
This is necessary because libparted still reports NVME devices as
PED_DEVICE_UNKNOWN.
2016-03-15 18:06:30 +01:00
Andrius Štikonas e3477347e1 Fix updating NTFS UUID.
For some reason dd did not work properly, use QFile instead.
2016-03-11 00:31:30 +00:00
Andrius Štikonas ca5bc8000b Merge branch 'more-parted-flags' 2016-03-08 20:48:09 +00:00
Teo Mrnjavac 3c2f383b8e Define underlying type for enums so they can be forward-declared. 2016-03-03 16:03:41 +01:00
Andrius Štikonas 41f9dc36dd Cleanup unused include. 2016-03-03 10:17:41 +01:00
Andrius Štikonas e0c23f443b Update copyright. 2016-03-02 19:00:31 +00:00
Teo Mrnjavac 852c8c8516 Bring partition flags support up to current libparted level.
This doesn't quite support all the types listed by fdisk as described
in bug 359819 since we are limited by what's exposed by libparted, but
it covers the most important ones.
BUG: 359819
2016-03-02 11:43:27 +01:00
Andrius Štikonas a0592de93a Cleanup unused include. 2016-02-29 17:58:25 +00:00
Andrius Štikonas 828a4060cc Add forgotten files. 2016-02-25 23:46:31 +00:00
Andrius Štikonas dc75c7a11f Add basic support for F2FS. 2016-02-25 23:29:33 +00:00
Andrius Štikonas d9f87b1031 Simplify prettyName logic. We already check for empty name in the constructor. 2016-02-25 22:24:46 +00:00
Andrius Štikonas b25d7c19de Make Partition Manager device selector more user friendly:
Show Device name – Capacity (Device node)

BUG:259679
2016-02-22 16:14:50 +00:00
Andrius Štikonas 227c77e801 Do not report free space for swap partitions.
Swap partitions have no mount path so KDiskFreeSpaceInfo shows
total free disk space available.

BUG:357363
2016-02-21 19:22:35 +00:00
Andrius Štikonas 20bb8eba7e Get btrfs used capacity from btrfs filesystem show --raw
It's output looks like:

Label: 'test'  uuid: d23f3138-c8ea-449e-9155-015ce4f6e2e6
        Total devices 1 FS bytes used 131072
        devid    1 size 981467136 used 252706816 path /dev/sdb1

FS bytes used number is actual data on btrfs volume. However,
to resize successfully we need to know actual space used by data
and metadata. That's why we read size from devid (i.e. 252706816).

Btrfs volumes can span over multiple devices, so we must make sure
that we are reading devid corresponding to the correct device node.

BUG: 353333
2016-02-18 13:39:09 +00:00
Andrius Štikonas 58013d54fe Never force installation in the system prefix when it's not needed 2016-01-31 14:45:34 +00:00
Andrius Štikonas b2aa3176ba Remove parted workaround.
FS detection now only uses blkid (from util-linux).
Bump minimum blkid (and therefore util-linux) version to 2.23.
2016-01-25 15:42:20 +00:00
l10n daemon script b6a6efc579 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2015-12-30 09:24:52 +00:00
Andrius Štikonas efd3179d95 Revert merge of branch luks-decorator. 2015-09-16 14:18:13 +01:00
Teo Mrnjavac 815cb3caad Add ismounted.c and related from util-linux.
These are supposed to be LGPL or GPL 2 or later. The licensing is
unclear but in util-linux the relevant files are treated as LGPL.
is_mounted is wrapped in helpers.h
Compared to libparted, this has the benefit of not requiring a
PedPartition object, and it's supposed to be reliable and
cross-platform.
2015-08-18 18:22:30 +02:00
Teo Mrnjavac 1135a36b68 Useless forward-declare is useless. 2015-08-18 18:13:49 +02:00
Teo Mrnjavac d8494a00a5 FS::luks is now a decorator for an actual FS composed inside.
Implement cryptOpen/cryptClose/mount/unmount operations.
detectFileSystem, which only uses blkid, is now in FileSystem.cpp.
FileSystem::mount now requires a mountPoint.
Use umount -A to immediately umount all mount points in unmountCmds.
Add override keywords, TODO: add them everywhere.
LibPartedBackend no longer links against libblkid.
Fix LUKS handling in LibPartedBackend::scanDevicePartitions.
2015-08-14 17:53:06 +02:00
Teo Mrnjavac 166728b820 Allow detecting FS::Type by path, and remove libparted workaround.
FS detection now only uses blkid (from util-linux).
2015-08-13 14:25:13 +02:00
Andrius Štikonas b0e6104e91 List .ui files instead of globbing them. 2015-08-05 12:35:17 +01:00
Teo Mrnjavac 5e7dff18ec Useless include is useless. 2015-08-04 18:32:07 +02:00
Teo Mrnjavac cdf57075f9 Support LUKS mounting. 2015-08-04 17:04:30 +02:00
Teo Mrnjavac 17eb5e51e5 Resurrect DecryptLuksDialog. 2015-08-04 16:43:23 +02:00
Teo Mrnjavac 7f1a340e47 Resurrect DecryptLuksDialogWidget. 2015-08-04 16:42:56 +02:00
Teo Mrnjavac 49dd31149f Glob for UI files in src/gui. 2015-08-04 16:42:10 +02:00
Teo Mrnjavac 504ac5a86c First check, then assert. 2015-07-23 17:55:17 +02:00
Teo Mrnjavac ab049467b7 First check, then assert. Also fix check syntax. 2015-07-23 17:52:22 +02:00
Teo Mrnjavac ac6591807a First check, then assert. 2015-07-23 17:49:05 +02:00
Teo Mrnjavac cd0f5d8778 Do not risk a division by zero. 2015-07-23 17:47:17 +02:00
Teo Mrnjavac 409bde6d1f Alignment. 2015-07-23 17:41:15 +02:00
Teo Mrnjavac c031d239e5 Do not forget breaks in switch (thanks to Coverity). 2015-07-23 17:36:55 +02:00
Teo Mrnjavac a683078b28 Allow excluding read-only devices from backend scan. 2015-07-23 16:42:09 +02:00
Teo Mrnjavac dd9c4eeb7e Check if ocfs2 create command starts. 2015-07-22 16:15:25 +02:00
Teo Mrnjavac cba82dea40 Useless check is useless. 2015-07-22 16:10:46 +02:00
Teo Mrnjavac de27f840bf Always use nullptr instead of NULL because it is type-safe. 2015-07-22 15:48:03 +02:00
Teo Mrnjavac c4bb654916 Do not dereference before null check. 2015-07-22 15:36:55 +02:00
Teo Mrnjavac e69c679fd9 Cast to quint64 early enough to not lose precision. 2015-07-22 15:28:47 +02:00
Teo Mrnjavac df01276a53 config.h is no more. 2015-07-21 12:44:59 +02:00
Teo Mrnjavac 5d19f9c55e Remove kcfg and kcfgc files. 2015-07-21 12:44:40 +02:00
Teo Mrnjavac 4e6655c356 Parameter intentionally unused, do not warn. 2015-07-20 17:11:40 +02:00
Teo Mrnjavac a50076f1bd Remove all references to KConfig from CMake. 2015-07-20 17:10:47 +02:00
Teo Mrnjavac 93d933c498 Have PartWidget color codes not use KConfig. 2015-07-17 13:36:23 +02:00
Teo Mrnjavac fda3c2c814 Use PartitionAlignment::sectorAlignment instead of KConfig. 2015-07-15 18:38:41 +02:00
Teo Mrnjavac f343f4c3b2 Make sectorAlignment a static setting in PartitionAlignment.
Also yank out cylinder alignment from sectorAlignment.
2015-07-15 18:37:30 +02:00
Teo Mrnjavac 0a4ac3065b By default we never align to cylinder boundaries because it's not 1987. 2015-07-14 18:41:44 +02:00
Andrius Štikonas 626f560e52 Format kpmcore code using KDE style. 2015-07-13 17:16:36 +03:00
Teo Mrnjavac c25bb0d923 Fix indentation. 2015-07-13 16:03:49 +02:00
Teo Mrnjavac 46946c7949 Specify type when creating a new partition. 2015-07-13 16:03:49 +02:00
Teo Mrnjavac 521d3efb39 Obsolete code is obsolete. 2015-07-13 16:03:49 +02:00
Teo Mrnjavac 38c8fc1efc Fix build again. 2015-07-13 16:03:49 +02:00
Teo Mrnjavac e2a7e4b230 Fix build. 2015-07-13 16:03:49 +02:00
Teo Mrnjavac fd8603f70c Do not use KConfig for the shred action. 2015-07-13 16:03:49 +02:00
Teo Mrnjavac eb1879774f Export Copy{Source,Target}Device classes. 2015-07-13 16:03:49 +02:00
Teo Mrnjavac 7fa51ae067 Make it possible to set partition sectors from the outside world 2015-07-13 16:03:49 +02:00
Teo Mrnjavac 3da87feba1 Make Device::setPartitionTable() public 2015-07-13 16:03:49 +02:00
Teo Mrnjavac 3bbce2865f Revert "Format kpmcore code using KDE style."
This reverts commit 21b569e499.
2015-07-13 16:03:36 +02:00
Andrius Štikonas 21b569e499 Format kpmcore code using KDE style. 2015-07-13 17:02:13 +03:00
Teo Mrnjavac 195e495876 Move PartResizerWidget and related from PartitionManager into KPMcore. 2015-07-08 18:16:57 +02:00
Teo Mrnjavac 3db017e4c1 Consistently use spaces instead of tabs in CMakeLists.txt files. 2015-07-02 15:21:46 +02:00
Teo Mrnjavac b5a2403e57 Add core/copy*.h to installed headers list. 2015-07-02 14:20:03 +02:00
Teo Mrnjavac 05790882f1 Rename PartitionManager things to KPMcore. 2015-07-02 14:19:33 +02:00
Andrius Štikonas 46615725b5 Move FileSystem::defaultFileSystem to GUI. 2015-06-30 22:22:00 +03:00
Andrius Štikonas 80904cded3 Move Capacity::preferredUnit to GUI. 2015-06-14 02:01:19 +01:00
Andrius Štikonas 5c04c17cb7 Move createFileSystemColor back to GUI. 2015-06-12 15:06:48 +01:00
l10n daemon script ce3faee105 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2015-06-12 10:26:58 +00:00
Andrius Štikonas c37059f062 Stop installing partitionmanager.kcfg to avoid file collision. 2015-06-12 02:42:35 +01:00
Andrius Štikonas 13b1adac59 Remove unnecessary config.h includes. 2015-06-12 02:40:00 +01:00
l10n daemon script c0b4df13ae SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2015-06-09 14:09:02 +00:00
l10n daemon script fd7a7bd947 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2015-06-07 04:13:54 +00:00
l10n daemon script 55c21cf142 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2015-06-06 04:26:29 +00:00
l10n daemon script 80dc2e97b8 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2015-06-05 04:19:09 +00:00
Andrius Štikonas 1ef6fa8131 Move kpmcore library into its own repository. 2015-06-04 01:29:22 +01:00