[systemd-devel] [RFC 5/6] proxy-discoveryd: Add the basic parts for handling DBus methods

Marcel Holtmann marcel at holtmann.org
Fri Apr 10 15:33:32 PDT 2015


Hi Lennart,

>> +
>> +static int method_find_proxy(sd_bus *bus, sd_bus_message *message, void *userdata, sd_bus_error *error) {
>> +        _cleanup_free_ char *p = strdup("DIRECT");
> 
> Please don't mix variable declarations and function invocations in one
> line (also see CODING_STYLE). Also, missing OOM check...
> 
>> +        Manager *m = userdata;
>> +        int r;
>> +
>> +        assert(bus);
>> +        assert(message);
>> +        assert(m);
>> +
>> +        r = proxy_execute(m->default_proxies, message);
>> +        if (r < 0)
>> +                sd_bus_reply_method_return(message, "s", p);
> 
> Hmm, is this right? Shouldn't we return the error code to the client
> instead of eating up and returning "DIRECT"?
> 
> Also, why allocate "DIRECT" with strdup() at all?

there are no errors. Either you get a proxy directive or you return DIRECT to indicate no proxy. What would you do in an error case anyway. The backup is always assume no proxy.

Regards

Marcel



More information about the systemd-devel mailing list