Re: [RFC] Partial support for reading DiskCryptor volumes

Mateusz Jończyk <[email protected]> Tue, 2 Nov 2021 21:23:56 +0100
Newsgroups gmane.linux.kernel.device-mapper.dm-crypt
Message-ID <[email protected]>
VyBkbml1IDAxLjExLjIwMjEgb8KgMTE6NTUsIE1pbGFuIEJyb3ogcGlzemU6DQoNCj4gSGksDQo+
DQo+IE9uIDMxLzEwLzIwMjEgMjM6MzYsIE1hdGV1c3ogSm/FhGN6eWsgd3JvdGU6DQo+PiBIZWxs
bywNCj4+DQo+PiBCYWNrIGluIEp1bmUsIEkgd3JvdGUgdG8gdGhlIG1haWxpbmcgbGlzdCBzZWVr
aW5nIHNvbWUgaGVscCB3aXRoDQo+PiByZXZlcnNlLWVuZ2luZWVyaW5nIHRoZSBEaXNrQ3J5cHRv
ciB2b2x1bWUgZm9ybWF0IFsxXS4NCj4+DQo+PiBTaW5jZSB0aGVuLCBJIGhhdmUgaW1wbGVtZW50
ZWQgZGVjcnlwdGlvbiBvZiB0aGUgdm9sdW1lIGhlYWRlciAoZm9yIGFsbA0KPj4gY2lwaGVyIGNv
bWJpbmF0aW9ucywgd2l0aCBhdXRvZGV0ZWN0aW9uKSBhbmQgd291bGQgbGlrZSB0byBrbm93IHdo
ZXRoZXINCj4+IHlvdSB3b3VsZCBiZSBpbnRlcmVzdGVkIGluIG1lcmdpbmcgc3VwcG9ydCBmb3Ig
b3BlbmluZyBEaXNrQ3J5cHRvcg0KPj4gdm9sdW1lcyBvbmNlIGl0IGlzIHJlYWR5Lg0KPj4NCj4+
IFRoZSBEaXNrQ3J5cHRvciBkZXZlbG9wbWVudCBoYXMgbGFyZ2VseSBzdGFsbGVkLCB3aXRoIHRo
ZSBsYXN0IGJldGENCj4+IHJlbGVhc2UgaW4gQXByaWwgMjAyMC4gUmVsZWFzZXMgYnkgRGF2aWRY
YW5hdG9zIGhhdmUgdGhlIGZvbGxvd2luZw0KPj4gcHJvYmxlbSBbM106DQo+Pg0KPj4+IMKgwqDC
oMKgwqDCoMKgIFRoZSBEaXNrIENyeXB0b3IgZHJpdmVyIG5lZWRlZCB0byBiZSB1cGRhdGVkLCBh
bmQgc2luY2UgdGhlDQo+Pj4gwqDCoMKgwqDCoMKgwqAgUmVhY3RPUyBmb3VuZGF0aW9uIG5vIGxv
bmdlciBvZmZlciBhIGRyaXZlciBzaWduaW5nIHNlcnZpY2UsIEkNCj4+PiDCoMKgwqDCoMKgwqDC
oCBoZWFkIHRvIHVzZSBhIGxlYWtlZCBjb2RlIHNpZ25pbmcgY2VydGlmaWNhdGUgSSBmb3VuZCBs
YXlpbmcNCj4+PiDCoMKgwqDCoMKgwqDCoCBhcm91bmQgdGhlIEludGVybmV0cy4gVGhpcyBtZWFu
cyBzb21lIGFudGkgbWFsd2FyZSBhcHBsaWNhdGlvbnMNCj4+PiDCoMKgwqDCoMKgwqDCoCBtYXkg
d3JvbmdmdWxseSBmbGFnIGl0IGFzIHBvdGVudGlhbGx5IGRhbmdlcm91cy4NCj4gSG93IG11Y2gg
aXMgRGlza0NyeXB0b3IgdXNlZCBpbiByZWFsaXR5PyBUaGUgbm90ZSBhYm92ZSB3b3VsZCBxdWFs
aWZ5DQo+IGl0IGFzIGEgcmVndWxhciBtYWx3YXJlIGZvciBtZSBJIHdvdWxkIGxpa2UgdG8gaGF2
ZSBzdXBwb3J0IGZvciB2YXJpb3VzIGZvcm1hdHMsIGJ1dCB0aGUgbGluZSB3aGVyZQ0KPiBpdCBi
ZWNvbWVzIGJsb2F0d2FyZSBpcyB2ZXJ5IHRoaW4uLi4NCj4NCj4gQW55d2F5LCBpZg0KPiDCoC0g
Y29kZSBpcyBsaWNlbnNlZCB1bmRlciBMR1BMIChubyBuZXcgR1BMLW9ubHkgY29kZSBpbiBsaWJj
cnlwdHNldHVwKQ0KDQpZdXANCg0KPiDCoC0gaXQgb25seSBhbGxvd3MgdG8gb3BlbiBleGlzdGlu
ZyBmb3JtYXRzIChubyBjb2RlIHRvIG1vZGlmeSBtZXRhZGF0YTsNCj4gwqDCoCBvdXIgcHJpbWFy
eSBmb3JtYXQgaXMgTFVLUyBhbmQgaXQgd2lsbCBzdGF5IHRoaXMgd2F5KQ0KDQpPSw0KDQo+IMKg
LSBpdCBkb2VzIG5vdCBhZGQgY29tcGxpY2F0ZWQgZGVwZW5kZW5jZXMNCj4gwqDCoCAoSSB0aGlu
ayB3ZSBzaG91bGQgY2FyZSBhYm91dCBtZW1vcnkgZm9vdHByaW50IG1vcmUgbm93KQ0KDQp0aGF0
J3MgY29ycmVjdCAoaXQgd29uJ3QgYWRkIGFueSBleHRlcm5hbCBkZXBlbmRlbmNpZXMpLg0KDQo+
IHRoZW4gdGhlIGJlc3QgaXMgcGVyaGFwcyBvcGVuIG1lcmdlIHJlcXVlc3QgKG9yIGlzc3VlKSBv
biB0aGUgcHJvamVjdA0KPiBwYWdlIGFuZCBkaXNjdXNzIGl0IHRoZXJlLg0KPiAoRm9yIG5vdywg
dGhlIGNvZGUgbG9va3Mgc2ltcGxlIGVub3VnaC4pDQoNCllvdSBtZWFuIG9wZW4gbm93LCBvciBv
bmNlIHRoZSBjb2RlIGlzIHJlYWR5Pw0KDQo+IFdoYXQgaXMgbWlzc2luZyB0byBtb3JlICJzdGFi
bGUiIGNvZGU/IE9ubHkgdGhlIHBhcnRzIG1hcmtlZCBUT0RPLA0KPiBvciBzb21ldGhpbmcgY3J1
Y2lhbCBmb3IgZm9ybWF0IHBhcnNpbmc/DQoNClRoZSBtYWpvciBwYXJ0cyBtaXNzaW5nIGluIHRo
ZSBjb2RlIEkgcG9zdGVkOg0KDQotIHNldHRpbmcgdXAgbWFwcGluZyBpbiB0aGUgZGV2aWNlIG1h
cHBlciwNCg0KLSBsaWJjcnlwdHNldHVwOiBzdXBwb3J0IGZvciAqZG1fZXJyb3JfdGFyZ2V0X3Nl
dCgpKiB0aGF0IHdvdWxkIGJlDQpzaW1pbGFyIHRvICpkbV96ZXJvX3RhcmdldF9zZXQoKSogdG8g
Y3JlYXRlIGEgcmVnaW9uIGluIHRoZSBibG9jaw0KZGV2aWNlIHRoYXQgZXJyb3JzIG91dCByZWFk
cyBhbmQgd3JpdGVzLiBUaGlzIGlzIG5lY2Vzc2FyeSBhcyBzb21ldGltZXMNCnRoZSBmaXJzdCAy
MDQ4IGJ5dGVzIG9mIHRoZSBlbmNyeXB0ZWQgZmlsZXN5c3RlbSBhcmUgcmVsb2NhdGVkIHRvIGFu
b3RoZXINCnBsYWNlIGluIHRoZSBpbWFnZSAoIGh0dHBzOi8vZGlza2NyeXB0b3Iub3JnL3ZvbHVt
ZS8gKToNCg0KPiBSZWxvY2F0aW9uIGFyZWEgLSBpcyBhIGNvbnRpZ3VvdXMgc2VxdWVuY2Ugb2Yg
c2VjdG9ycyB3aGVyZSB0aGUgZmlyc3QgMjA0OA0KPiBieXRlcyBvZiBwYXJ0aXRpb24gYXJlIHN0
b3JlZC4NCj4NCj4gQ3VycmVudGx5IHRoZXJlIGFyZSB0d28gbWV0aG9kcyBvZiBwbGFjZW1lbnQg
b2YgdGhpcyBhcmVhIHRoYXQgYXJlIGJlaW5nIHVzZWQ6IGluICRkY3N5cyQgZmlsZSwgb3IgYXQg
dGhlIGVuZCBvZiBwYXJ0aXRpb24uIE9uIGVuY3J5cHRpb24gb2YgcGFydGl0aW9uIHRoYXQgaGFz
IGRhdGEgb24gaXQsIHRoaXMgYXJlYSBpcyBiZWluZyBwbGFjZWQgaW4gJGRjc3lzJCBmaWxlIFtp
dHMgbmFtZSBjb250YWlucyB0aGUgZG9sbGFyIHNpZ25zXSAsIHdoaWNoIGlzIGxvY2F0ZWQgaW4g
YSBjb250aWd1b3VzIHNlcXVlbmNlIG9mIGNsdXN0ZXJzLiBPbiBmb3JtYXR0aW5nIGEgbmV3IHBh
cnRpdGlvbiwgdGhpcyBhcmVhIGlzIGJlaW5nIHBsYWNlZCBhdCB0aGUgZW5kIG9mIHBhcnRpdGlv
biwgYWZ0ZXIgdXNlciBkYXRhLg0KPg0KPiBJbiBvcmRlciB0byBwcm90ZWN0IHRoZSAkZGNzeXMk
IGZpbGUgZnJvbSBiZWluZyBkZWxldGVkLCBmcmFnbWVudGVkIG9yIG1vdmVkLCBpdHMgYWNjZXNz
IGlzIGZvcmJpZGRlbiBieSB0aGUgZHJpdmVyLg0KDQpJdCB3aWxsIGJlIG5lY2Vzc2FyeSB0byBq
dXN0IGluZm9ybSB0aGUgdXNlciBub3QgdG8gZGVsZXRlIHRoZSAkZGNzeXMkDQpmaWxlIGFzIHRo
ZXJlIGlzIG5vIG90aGVyIHdvcmthYmxlIHdheSB0byBwcm90ZWN0IGl0Lg0KDQotIHNvbWUgYm9p
bGVycGxhdGUgaW4gbGliL3NldHVwLmMgYW5kIHNyYy9jcnlwdHNldHVwLmMgKGFuZCBwZXJoYXBz
DQpzb21lIGNvZGUgdG8gcmVxdWlyZSBhIGNvbmZpcm1hdGlvbiBhYm91dCB0aGUgJGRjc3lzJCBm
aWxlIGZyb20gdGhlIHVzZXIpLg0KDQotIGRvY3VtZW50YXRpb24sDQoNCi0gdGVzdHMsDQoNCi0g
dW5sb2NraW5nIHdpdGgga2V5ZmlsZXMgKHNob3VsZCBub3QgYmUgY29tcGxpY2F0ZWQpLg0KDQoN
CkkgaGF2ZSByZWJhc2VkIHRoZSBjb2RlIG9uIGNyeXB0c2V0dXAgdjIuNC4xIGFuZCBkaWQgc29t
ZSBmdXJ0aGVyDQpkZXZlbG9wbWVudCAoYmVnYW4gd29yayBvbiBkZXZpY2VtYXBwZXIgc2V0dXAp
LiBJdCBjYW4gYmUgZm91bmQgb24gYSBuZXcgYnJhbmNoOg0KDQpodHRwczovL2dpdGh1Yi5jb20v
bWF0am9uL2NyeXB0c2V0dXAvdHJlZS9kY3J5cHRvcl9zdXBwb3J0X29uXzIuNC4xL2xpYi9kY3J5
cHRvcg0KDQo+IFRoYW5rcywNCj4gTWlsYW4NCg0KR3JlZXRpbmdzLA0KDQpNYXRldXN6DQoNCg0K
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZG0tY3J5cHQg
bWFpbGluZyBsaXN0IC0tIGRtLWNyeXB0QHNhb3V0LmRlClRvIHVuc3Vic2NyaWJlIHNlbmQgYW4g
ZW1haWwgdG8gZG0tY3J5cHQtbGVhdmVAc2FvdXQuZGUK