upstart-udev-bridge should convert udev data to utf8
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
upstart |
New
|
Low
|
Unassigned |
Bug Description
Working on bug 829980 suggested that all non-ascii data the kernel passes back to userland is "bogus". However, the following udev log suggests otherwise:
https:/
$ egrep "[^[:print:]]" /tmp/udev
HID_NAME=䙸〄䜀 换敤ヲ楨歪浬潮煰獲睶翿膀
NAME="䙸〄䜀 换敤ヲ楨歪浬潮煰獲睶翿膀
UNIQ="香晦晦香香晦晦香香
HID_NAME=䙸〄䜀 换敤ヲ楨歪浬潮煰獲睶翿膀
NAME="䙸〄䜀 换敤ヲ楨歪浬潮煰獲睶翿膀
UNIQ="香晦晦香香晦晦香香
ID_SERIAL=
ID_SERIAL_
HID_NAME=䙸〄䜀 换敤ヲ楨歪浬潮煰獲睶翿膀
HID_NAME=䙸〄䜀 换敤ヲ楨歪浬潮煰獲睶翿膀
NAME="䙸〄䜀 换敤ヲ楨歪浬潮煰獲睶翿膀
UNIQ="香晦晦香香晦晦香香
ID_SERIAL=
ID_SERIAL_
ID_SERIAL=
ID_SERIAL_
DEVLINKS=
ID_SERIAL=
ID_SERIAL_
DEVLINKS=
NAME="䙸〄䜀 换敤ヲ楨歪浬潮煰獲睶翿膀
UNIQ="香晦晦香香晦晦香香
ID_SERIAL=
ID_SERIAL_
ID_SERIAL=
ID_SERIAL_
DEVLINKS=
$
So, it appears that as udev places no constraints on the character set, we're now seeing utf8 data. Strictly, the upstart-udev-bridge needs now to be modified to fully support utf8 strings. However, this work would need to be coordinated with the udev upstream (since it is possible for udev rules to inject data and that data could be utf8).
The implication of the utf8 data is that it is not possible to write an Upstart start/stop on condition to match on any fields containing utf8 chracters since the upstart-udev-bridge is now stripping them out (see bug 829980).
Changed in upstart: | |
importance: | Undecided → Low |