diff options
Diffstat (limited to 'bus/config-parser.c')
| -rw-r--r-- | bus/config-parser.c | 30 | 
1 files changed, 30 insertions, 0 deletions
diff --git a/bus/config-parser.c b/bus/config-parser.c index f9e0b7d7..a8de3ff3 100644 --- a/bus/config-parser.c +++ b/bus/config-parser.c @@ -111,6 +111,8 @@ struct BusConfigParser    unsigned int fork : 1; /**< TRUE to fork into daemon mode */ +  unsigned int syslog : 1; /**< TRUE to enable syslog */ +    unsigned int is_toplevel : 1; /**< FALSE if we are a sub-config-file inside another one */  }; @@ -698,6 +700,21 @@ start_busconfig_child (BusConfigParser   *parser,        return TRUE;      } +  else if (element_type == ELEMENT_SYSLOG) +    { +      if (!check_no_attributes (parser, "syslog", attribute_names, attribute_values, error)) +        return FALSE; + +      if (push_element (parser, ELEMENT_SYSLOG) == NULL) +        { +          BUS_SET_OOM (error); +          return FALSE; +        } + +      parser->syslog = TRUE; +       +      return TRUE; +    }    else if (element_type == ELEMENT_PIDFILE)      {        if (!check_no_attributes (parser, "pidfile", attribute_names, attribute_values, error)) @@ -1073,6 +1090,7 @@ append_rule_from_element (BusConfigParser   *parser,                            dbus_bool_t        allow,                            DBusError         *error)  { +  const char *log;    const char *send_interface;    const char *send_member;    const char *send_error; @@ -1116,6 +1134,7 @@ append_rule_from_element (BusConfigParser   *parser,                            "own", &own,                            "user", &user,                            "group", &group, +                          "log", &log,                            NULL))      return FALSE; @@ -1320,6 +1339,9 @@ append_rule_from_element (BusConfigParser   *parser,        if (eavesdrop)          rule->d.send.eavesdrop = (strcmp (eavesdrop, "true") == 0); +      if (log) +        rule->d.send.log = (strcmp (log, "true") == 0); +        if (send_requested_reply)          rule->d.send.requested_reply = (strcmp (send_requested_reply, "true") == 0); @@ -1947,6 +1969,7 @@ bus_config_parser_end_element (BusConfigParser   *parser,      case ELEMENT_ALLOW:      case ELEMENT_DENY:      case ELEMENT_FORK: +    case ELEMENT_SYSLOG:      case ELEMENT_SELINUX:      case ELEMENT_ASSOCIATE:      case ELEMENT_STANDARD_SESSION_SERVICEDIRS: @@ -2232,6 +2255,7 @@ bus_config_parser_content (BusConfigParser   *parser,      case ELEMENT_ALLOW:      case ELEMENT_DENY:      case ELEMENT_FORK: +    case ELEMENT_SYSLOG:      case ELEMENT_STANDARD_SESSION_SERVICEDIRS:          case ELEMENT_STANDARD_SYSTEM_SERVICEDIRS:          case ELEMENT_SELINUX: @@ -2554,6 +2578,12 @@ bus_config_parser_get_fork (BusConfigParser   *parser)    return parser->fork;  } +dbus_bool_t +bus_config_parser_get_syslog (BusConfigParser   *parser) +{ +  return parser->syslog; +} +  const char *  bus_config_parser_get_pidfile (BusConfigParser   *parser)  {  | 
