summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-03-26gen_fast_metamanifest: Account for empty categoriesMichał Górny
2018-03-16Bump to v12.1Michał Górny
2018-03-16openpgp: Honor user's http_proxy settingMichał Górny
Solution suggested by Patrik Osgnach. Bug: https://bugs.gentoo.org/649642
2018-03-16Introduce a context manager for multiprocessing.PoolMichał Górny
2018-03-13tests: Fix one more cross-fs test to test for mountpointMichał Górny
2018-03-11Bump to v12.0Michał Górny
2018-02-22cli: Add -x option to prevent crossing filesystem boundariesMichał Górny
2018-02-22Allow cross-device Manifests by defaultMichał Górny
Default to allowing cross-device Manifests for better compatibility. This avoids issues with overlayfs, and also makes gemato behave more like other tools (rsync, find, cp) that allow crossing filesystems by default.
2018-02-22verify: Account for EOPNOTSUPP when opening sockets on FBSDMichał Górny
2018-02-22cli: Split common RecursiveManifestLoader options into mixinMichał Górny
2018-02-22cli: Remove __slots__ (they do not like mixins)Michał Górny
2018-02-22cli: Convert to mixin-styleMichał Górny
2018-02-22tests: Assert for /proc being a mountpoint for cross-fs testsMichał Górny
Skip cross-fs tests if /proc is not a mountpoint. This handles cases when /proc exists but is not mounted which is quite normal e.g. on Gentoo/FreeBSD.
2018-02-13Bump to 11.2Michał Górny
2018-02-13hash: Read small-ish files into memory via a single callMichał Górny
Read files that are known to be small-ish (up to 1 MiB) into the memory via a single read() call instead of reading in smaller parts. This is mostly meant to workaround a bug in PyPy that causes wrong data when small buffers are repeatedly passed to C extensions. Apparently slurping the whole file does not exhibit this problem in gemato.
2018-02-11cli: Attempt to fix Python 2 compatibilityMichał Górny
2018-02-11bin: Reuse setuptools_main()Michał Górny
2018-02-10README: document the utility functionsMichał Górny
2018-02-10README: document the two other main commandsMichał Górny
2018-02-10README: update requirementsMichał Górny
2018-02-10Attempt to improve exception portability for py2 unicodeMichał Górny
2018-02-10cli: Fix typo in loggingMichał Górny
2018-02-10cli: Add helper openpgp-verify commandMichał Górny
2018-02-10cli: Abstract refreshing keys out to separate classMichał Górny
2018-02-10cli: Add utility 'hash' command to hash filesMichał Górny
2018-02-10manifest: Remove unnecessary assertion preventing absolute pathsMichał Górny
2018-02-10cli: Add __slots__ to remaining classesMichał Górny
2018-02-10cli: Split common update args into a base classMichał Górny
2018-02-10cli: Correct the description of default path in createMichał Górny
2018-02-10cli: Split common OpenPGP logic into a base classMichał Górny
2018-02-10cli: Split argument processing into separate methodMichał Górny
2018-02-09cli: Start abstracting out commands into objectsMichał Górny
2018-02-09Bump to 11.1Michał Górny
2018-02-09Restore allow_xdev default to false for bugfix releaseMichał Górny
2018-02-08recursiveloader: Allow cross-device processing by defaultMichał Górny
2018-02-08recursiveloader: Control storing Manifest device explicitlyMichał Górny
Add an explicit keyword argument to control when st_dev of Manifest is stored as Manifest device. It does not make any real difference at the moment (since st_dev of sub-Manifests is forced to match that of top Manifest) but it will be useful in the future.
2018-02-08find_top_level: Support crossing filesystem boundariesMichał Górny
Default to allow crossing filesystem boundaries when looking for top-level Manifest. There is no real reason to prevent that, and it breaks the verification for overlayfs users.
2018-02-08find_top_level: Remove broken cross-device testMichał Górny
Remove the cross-device test that wrongly assumed we will be traversing logical parent directories rather than physical. In other words, '..' in the symlinked filesystem will never contain the Manifest file.
2018-02-08find_top_level: Remove duplicate m_path declarationMichał Górny
2018-02-08openpgp: Do not wipe the environment in isolated modeMichał Górny
Do not wipe the complete environment when running in isolated mode as this had unintended side effect of wiping PATH. Since there is no real reasons to pursue a proper whitelist for this, just preserve the environment while overriding GNUPGHOME and TZ appropriately.
2018-02-08openpgp: Fix duplicate message in key import/refresh exceptionsMichał Górny
2018-02-03tox: Fix collecting coverage for multiprocessingMichał Górny
2018-02-02Bump to v11.0Michał Górny
2018-02-02recursiveloader: Detect symlink loops explicitlyMichał Górny
2018-02-02recursiveloader: Check for cross-device directories earlier in loopMichał Górny
Check for cross-device directory when starting to process the directory rather than for each subdirectory to be processed. This will avoid double stat() call in the future. It also means that cross-device exceptions are raised a little later, when recurring into the directory rather than before doing that. However, the starting directory is now also tested.
2018-02-02recursiveloader: Do not recur into directories when file was expectedMichał Górny
When verifying, do not let os.walk() recur into a directory for which we have an entry requesting it to be a file. The verification is going to fail on the directory entry anyway, so there is no point in seeking matches further and this could have currently resulted in crossing filesystem boundaries (since the cross-fs test is deferred to verifying thread).
2018-02-02openpgp: Fix handling OpenPGPNoImplementation in testsMichał Górny
2018-02-01cli: Unify exception handling and fix it to catch all gemato exceptionsMichał Górny
2018-02-01openpgp: Use assertion for home-after-close()Michał Górny
2018-02-01openpgp: Replace RuntimeError with dedicated for import/refresh errorsMichał Górny