[Pidgin] #15585: D-Bus signals names are not properly checked
Pidgin
trac at pidgin.im
Wed Apr 10 07:41:51 EDT 2013
#15585: D-Bus signals names are not properly checked
-----------------------+---------------------------------------
Reporter: sardemff7 | Owner:
Type: defect | Status: new
Milestone: | Component: libpurple
Version: 2.10.7 | Keywords: dbus D-Bus signal signals
-----------------------+---------------------------------------
In [http://hg.pidgin.im/pidgin/main/file/0ab9ed685a54/libpurple/dbus-
server.c#l653 purple_dbus_convert_signal_name], the signal name is not
checked for '.', which is a reserved char for D-Bus.
Moreover, libpurple signal names can be any UTF-8 arbitrary string, while
D-Bus signal names are limited to [A-Z][a-z][0-9]_ ASCII characters. The
purple_dbus_convert_signal_name function also assumes ASCII (but the whole
set here) while the libpurple documentation does not mention this.
The main question is where to fix that:
— in the documentation, limiting signal names to the same subset as D-Bus
— in purple_dbus_convert_signal_name, to support the whole UTF-8 set
— at both places, to limit signal names to ASCII and convert it to the
D-Bus subset
We can also add a flag as mentioned in the comment
[http://hg.pidgin.im/pidgin/main/file/0ab9ed685a54/libpurple/dbus-
server.c#l773 here]
And maybe automatically add this flag at signal creation time if an
unsupported character is found.
--
Ticket URL: <https://developer.pidgin.im/ticket/15585>
Pidgin <http://pidgin.im>
Pidgin
More information about the Tracker
mailing list