Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 211451
Collapse All | Expand All

(-)a/bus/policy.c (-6 / +26 lines)
Lines 942-950 bus_client_policy_check_can_send (BusClientPolicy *policy, Link Here
942
      
942
      
943
      if (rule->d.send.interface != NULL)
943
      if (rule->d.send.interface != NULL)
944
        {
944
        {
945
          if (dbus_message_get_interface (message) != NULL &&
945
          /* The interface is optional in messages. For allow rules, if the message
946
              strcmp (dbus_message_get_interface (message),
946
           * has no interface we want to skip the rule (and thus not allow);
947
                      rule->d.send.interface) != 0)
947
           * for deny rules, if the message has no interface we want to use the
948
           * rule (and thus deny).
949
           */
950
          dbus_bool_t no_interface;
951
952
          no_interface = dbus_message_get_interface (message) == NULL;
953
          
954
          if ((no_interface && rule->allow) ||
955
              (!no_interface && 
956
               strcmp (dbus_message_get_interface (message),
957
                       rule->d.send.interface) != 0))
948
            {
958
            {
949
              _dbus_verbose ("  (policy) skipping rule for different interface\n");
959
              _dbus_verbose ("  (policy) skipping rule for different interface\n");
950
              continue;
960
              continue;
Lines 1128-1136 bus_client_policy_check_can_receive (BusClientPolicy *policy, Link Here
1128
      
1138
      
1129
      if (rule->d.receive.interface != NULL)
1139
      if (rule->d.receive.interface != NULL)
1130
        {
1140
        {
1131
          if (dbus_message_get_interface (message) != NULL &&
1141
          /* The interface is optional in messages. For allow rules, if the message
1132
              strcmp (dbus_message_get_interface (message),
1142
           * has no interface we want to skip the rule (and thus not allow);
1133
                      rule->d.receive.interface) != 0)
1143
           * for deny rules, if the message has no interface we want to use the
1144
           * rule (and thus deny).
1145
           */
1146
          dbus_bool_t no_interface;
1147
1148
          no_interface = dbus_message_get_interface (message) == NULL;
1149
          
1150
          if ((no_interface && rule->allow) ||
1151
              (!no_interface &&
1152
               strcmp (dbus_message_get_interface (message),
1153
                       rule->d.receive.interface) != 0))
1134
            {
1154
            {
1135
              _dbus_verbose ("  (policy) skipping rule for different interface\n");
1155
              _dbus_verbose ("  (policy) skipping rule for different interface\n");
1136
              continue;
1156
              continue;

Return to bug 211451