X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=gdhcp%2Fserver.c;h=85405f193fe3bb0fb418cf3726cb465ed15116b6;hb=515ec5f2286e75d8a607d88fad3909a692a7e0dc;hp=8574c24c4b72a52fc8460a8f6cd07cef92d0f811;hpb=22633ced6225d294ce8483efbf2b39ea0c0c1b65;p=platform%2Fupstream%2Fconnman.git diff --git a/gdhcp/server.c b/gdhcp/server.c old mode 100644 new mode 100755 index 8574c24..85405f1 --- a/gdhcp/server.c +++ b/gdhcp/server.c @@ -214,9 +214,6 @@ static struct dhcp_lease *add_lease(GDHCPServer *dhcp_server, uint32_t expire, g_hash_table_insert(dhcp_server->nip_lease_hash, GINT_TO_POINTER((int) lease->lease_nip), lease); - if (dhcp_server->lease_added_cb) - dhcp_server->lease_added_cb(lease->lease_mac, yiaddr); - return lease; } @@ -399,7 +396,7 @@ GDHCPServer *g_dhcp_server_new(GDHCPType type, dhcp_server->ref_count = 1; dhcp_server->ifindex = ifindex; dhcp_server->listener_sockfd = -1; - dhcp_server->listener_watch = -1; + dhcp_server->listener_watch = 0; dhcp_server->listener_channel = NULL; dhcp_server->save_lease_func = NULL; dhcp_server->debug_func = NULL; @@ -616,6 +613,9 @@ static void send_ACK(GDHCPServer *dhcp_server, send_packet_to_client(dhcp_server, &packet); add_lease(dhcp_server, 0, packet.chaddr, packet.yiaddr); + + if (dhcp_server->lease_added_cb) + dhcp_server->lease_added_cb(packet.chaddr, packet.yiaddr); } static void send_NAK(GDHCPServer *dhcp_server, @@ -691,7 +691,7 @@ static gboolean listener_event(GIOChannel *channel, GIOCondition condition, debug(dhcp_server, "Received REQUEST NIP %d", requested_nip); if (requested_nip == 0) { - requested_nip = packet.ciaddr; + requested_nip = ntohl(packet.ciaddr); if (requested_nip == 0) break; }