chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
libsystemd-dhcp: Use be32_t for IP addresses in network order.
[elogind.git]
/
src
/
libsystemd-dhcp
/
dhcp-client.c
diff --git
a/src/libsystemd-dhcp/dhcp-client.c
b/src/libsystemd-dhcp/dhcp-client.c
index 01d406c27b3cc946958b8f45c95ccb078a0c2705..fe410676003541fdf36611defb1ab17d5c87e880 100644
(file)
--- a/
src/libsystemd-dhcp/dhcp-client.c
+++ b/
src/libsystemd-dhcp/dhcp-client.c
@@
-36,10
+36,10
@@
struct DHCPLease {
uint32_t t1;
uint32_t t2;
uint32_t lifetime;
uint32_t t1;
uint32_t t2;
uint32_t lifetime;
-
uint
32_t address;
-
uint
32_t server_address;
-
uint
32_t subnet_mask;
-
uint
32_t router;
+
be
32_t address;
+
be
32_t server_address;
+
be
32_t subnet_mask;
+
be
32_t router;
};
typedef struct DHCPLease DHCPLease;
};
typedef struct DHCPLease DHCPLease;
@@
-54,7
+54,7
@@
struct sd_dhcp_client {
sd_event_source *receive_message;
uint8_t *req_opts;
size_t req_opts_size;
sd_event_source *receive_message;
uint8_t *req_opts;
size_t req_opts_size;
-
uint
32_t last_addr;
+
be
32_t last_addr;
struct ether_addr mac_addr;
uint32_t xid;
usec_t start_time;
struct ether_addr mac_addr;
uint32_t xid;
usec_t start_time;
@@
-897,6
+897,9
@@
static int client_receive_raw_message(sd_event_source *s, int fd,
client->receive_message =
sd_event_source_unref(client->receive_message);
}
client->receive_message =
sd_event_source_unref(client->receive_message);
}
+
+ r = 0;
+
break;
case DHCP_STATE_INIT:
break;
case DHCP_STATE_INIT:
@@
-910,7
+913,7
@@
static int client_receive_raw_message(sd_event_source *s, int fd,
}
error:
}
error:
- if (r < 0)
+ if (r < 0
|| r == DHCP_EVENT_NO_LEASE
)
return client_stop(client, r);
return 0;
return client_stop(client, r);
return 0;