Cannot parse policies with empty values
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
adsys (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Focal |
Fix Released
|
Undecided
|
Unassigned | ||
Jammy |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
[Impact]
In addition to empty data, some Microsoft policy entries happen to have empty values as well. See the following entry:
// [key;value;
00000000: 5052 6567 0100 0000 5b00 5300 6f00 6600 PReg....[.S.o.f.
00000010: 7400 7700 6100 7200 6500 5c00 5000 6f00 t.w.a.r.e.\.P.o.
00000020: 6c00 6900 6300 6900 6500 7300 5c00 4d00 l.i.c.i.e.s.\.M.
00000030: 6900 6300 7200 6f00 7300 6f00 6600 7400 i.c.r.o.s.o.f.t.
00000040: 5c00 5300 7900 7300 7400 6500 6d00 4300 \.S.y.s.t.e.m.C.
00000050: 6500 7200 7400 6900 6600 6900 6300 6100 e.r.t.i.f.i.c.a.
00000060: 7400 6500 7300 5c00 4100 4300 5200 5300 t.e.s.\.A.C.R.S.
00000070: 5c00 4300 6500 7200 7400 6900 6600 6900 \.C.e.r.t.i.f.i.
00000080: 6300 6100 7400 6500 7300 0000 3b00 0000 c.a.t.e.s...;...
00000090: 3b00 0000 0000 3b00 0000 0000 3b00 5d00 ;.....;.....;.].
This fails hard when parsing, returning an `empty value` error, rendering the remaining policies unparsable.
This is a common occurence on Microsoft's policies like the Default Domain Policy. Even if Ubuntu does not support policy entries with empty values, we must still be able to parse them in case a Group Policy has both Ubuntu and non-Ubuntu entries.
[Test Plan]
* Attempt to apply the Default Domain Policy on a client
[Where problems could occur]
Adsys already excluded non-Ubuntu keys before applying policies, so this change has no impact other than letting all policies be parsed. If an error occurs in parsing an Ubuntu entry, it will be surfaced before policies are applied instead of at parsing time.
[Other Info]
This issue was initially reported on GitHub at https:/
This bug was fixed in the package adsys - 0.9.2
---------------
adsys (0.9.2) kinetic; urgency=medium
* Update generators to fix FTBFS com/golangci/ golangci- lint golang. org/protobuf
- shell out to mkdir instead of go's os.Mkdir which can bypass fakeroot's
filesystem hijacking and cause unexpected behavior
* Update dependencies to latest:
- github.
- google.
-- Gabriel Nagy <email address hidden> Wed, 03 Aug 2022 11:00:39 +0300