X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;ds=inline;f=src%2Flibsystemd-bus%2Fbus-socket.c;h=1365092d736fa3f9eaadcfe8824c40d1a8c1c4aa;hb=9f97c93671554dd3c46588b7c31031d26440ba34;hp=d7d3b4dac5aa2bea3c4b21e40de7f3edc4fb5423;hpb=7adc46fcce257fcf4c83faa18b8c78f2a577e4f1;p=elogind.git diff --git a/src/libsystemd-bus/bus-socket.c b/src/libsystemd-bus/bus-socket.c index d7d3b4dac..1365092d7 100644 --- a/src/libsystemd-bus/bus-socket.c +++ b/src/libsystemd-bus/bus-socket.c @@ -623,6 +623,10 @@ int bus_socket_setup(sd_bus *b) { if (getsockopt(b->input_fd, SOL_SOCKET, SO_PEERCRED, &b->ucred, &l) >= 0 && l >= sizeof(b->ucred)) b->ucred_valid = b->ucred.pid > 0; + b->is_kernel = false; + b->message_version = 1; + b->message_endian = 0; + return 0; } @@ -765,6 +769,10 @@ int bus_socket_exec(sd_bus *b) { close_nointr_nofail(s[1]); b->output_fd = b->input_fd = s[0]; + r = bus_socket_setup(b); + if (r < 0) + return r; + return bus_socket_start_auth(b); } @@ -874,10 +882,10 @@ static int bus_socket_read_message_need(sd_bus *bus, size_t *need) { b = ((const uint32_t*) bus->rbuffer)[3]; e = ((const uint8_t*) bus->rbuffer)[0]; - if (e == SD_BUS_LITTLE_ENDIAN) { + if (e == BUS_LITTLE_ENDIAN) { a = le32toh(a); b = le32toh(b); - } else if (e == SD_BUS_BIG_ENDIAN) { + } else if (e == BUS_BIG_ENDIAN) { a = be32toh(a); b = be32toh(b); } else