[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