X-Git-Url: http://git.ozlabs.org/?p=petitboot;a=blobdiff_plain;f=lib%2Fpb-protocol%2Fpb-protocol.c;h=315efc4cf000555f9575b20c489d01441aeca0e3;hp=8e37348c07ccd9787ee7fe0531eb2ac45b3d9649;hb=c78f9ec47ba92b74698dacdae963dbbefd9b676f;hpb=6598baa0bd34db9a9c446500a940ec034375b523 diff --git a/lib/pb-protocol/pb-protocol.c b/lib/pb-protocol/pb-protocol.c index 8e37348..315efc4 100644 --- a/lib/pb-protocol/pb-protocol.c +++ b/lib/pb-protocol/pb-protocol.c @@ -253,7 +253,8 @@ int pb_protocol_system_info_len(const struct system_info *sysinfo) len += 4 + if_info->hwaddr_size + 4 + optional_strlen(if_info->name) + sizeof(if_info->link) + - 4 + optional_strlen(if_info->address); + 4 + optional_strlen(if_info->address) + + 4 + optional_strlen(if_info->address_v6); } for (i = 0; i < sysinfo->n_blockdevs; i++) { @@ -509,6 +510,7 @@ int pb_protocol_serialise_system_info(const struct system_info *sysinfo, pos += sizeof(bool); pos += pb_protocol_serialise_string(pos, if_info->address); + pos += pb_protocol_serialise_string(pos, if_info->address_v6); } *(uint32_t *)pos = __cpu_to_be32(sysinfo->n_blockdevs); @@ -723,7 +725,7 @@ int pb_protocol_write_message(int fd, struct pb_protocol_message *message) if (!total_len) return 0; - pb_log("%s: failed: %s\n", __func__, strerror(errno)); + pb_log_fn("failed: %s\n", strerror(errno)); return -1; } @@ -733,7 +735,7 @@ struct pb_protocol_message *pb_protocol_create_message(void *ctx, struct pb_protocol_message *message; if (payload_len > PB_PROTOCOL_MAX_PAYLOAD_SIZE) { - pb_log("%s: payload too big %u/%u\n", __func__, payload_len, + pb_log_fn("payload too big %u/%u\n", payload_len, PB_PROTOCOL_MAX_PAYLOAD_SIZE); return NULL; } @@ -764,7 +766,7 @@ struct pb_protocol_message *pb_protocol_read_message(void *ctx, int fd) m.action = __be32_to_cpu(m.action); if (m.payload_len > PB_PROTOCOL_MAX_PAYLOAD_SIZE) { - pb_log("%s: payload too big %u/%u\n", __func__, m.payload_len, + pb_log_fn("payload too big %u/%u\n", m.payload_len, PB_PROTOCOL_MAX_PAYLOAD_SIZE); return NULL; } @@ -777,7 +779,7 @@ struct pb_protocol_message *pb_protocol_read_message(void *ctx, int fd) if (rc <= 0) { talloc_free(message); - pb_log("%s: failed (%u): %s\n", __func__, len, + pb_log_fn("failed (%u): %s\n", len, strerror(errno)); return NULL; } @@ -1046,6 +1048,8 @@ int pb_protocol_deserialise_system_info(struct system_info *sysinfo, if (read_string(if_info, &pos, &len, &if_info->address)) goto out; + if (read_string(if_info, &pos, &len, &if_info->address_v6)) + goto out; sysinfo->interfaces[i] = if_info; }