summaryrefslogtreecommitdiff
path: root/gdhcp
AgeCommit message (Collapse)AuthorFilesLines
2016-06-10[SPIN] Restart dhcp as soon as INIT-REBOOT has been failedNiraj Kumar Goit2-0/+53
desc: Start DHCPDISCOVERY when DHCPREQUEST of INIT-REBOOT has failed. Change-Id: I7c6de8a3b397765cd0173a5b18c0c926a5ce29a4 Signed-off-by: Niraj Kumar Goit <niraj.g@samsung.com>
2016-06-09Merge:Partial Fix a crash and valgrind invalid read errorManeesh Jain1-1/+1
Change-Id: Ib36cab79ea86048860ffda7d6108b769a3cc9b33 Signed-off-by: Maneesh Jain <maneesh.jain@samsung.com>
2016-03-30gdhcp: Don't try to remove timer againsubmit/tizen/20160406.101500accepted/tizen/wearable/20160407.000819accepted/tizen/tv/20160407.000800accepted/tizen/mobile/20160407.000743accepted/tizen/ivi/20160407.000831accepted/tizen/common/20160406.145254Saurav Babu1-0/+3
GLib-CRITICAL warning message is obtained in below scenario: 1. service is connected and link local address is obtained. 2. Try to disconnect service. (connmand:8377): GLib-CRITICAL **: Source ID 289 was not found when attempting to remove it (connmand:8377): GLib-CRITICAL **: Source ID 303 was not found when attempting to remove it When Link Local IP address is obtained then both dhcp_client->timeout assigned for DISCOVER_TIMEOUT and ANNOUNCE_INTERVAL are already removed when discover_timeout() and ipv4ll_announce_timeout() function returns FALSE but the dhcp_client->timeout is not assigned to 0. Now when dhcp_release() calls remove_timeouts() function then dhcp_client->timeout is tried to remove again resulting in GLib-CRITICAL warning. This patch removes all possible remaing timeouts in g_dhcp_client_start() and explicitly sets dhcp_client->timeout to 0 in ipv4ll_announce_timeout() function. Change-Id: I12b072beef92818a2c1db253c85d1cfea540682b Signed-off-by: Saurav Babu <saurav.babu@samsung.com>
2016-03-01gdhcp: Don't send DHCPREQUEST if last assigned IP is Link Local AddressSaurav Babu1-1/+2
In the following scenario: 1. ConnMan is connected to a service and Link Local Address is obtained. 2. Disconnect the service. 3. Connect the service again. ConnMan tries to send DHCPREQUEST with last assigned IP which was Link Local Address. This patch makes ConnMan to send DHCPDISCOVER when last assigned IP was Link Local Address. Change-Id: I3c03f2b43a0f5c5f3be0a4878decb4345af55b33 Signed-off-by: Saurav Babu <saurav.babu@samsung.com>
2015-08-07Base Code merged to SPIN 2.4submit/tizen/20150810.034432hyunuktak7-37/+130
Signed-off-by: hyunuktak <hyunuk.tak@samsung.com> Change-Id: I84a42375b5c59739e4caca1f726699ea7647ef17
2014-10-31Tethering: Add interface that save lease in DHCP informationChengyi Zhao5-66/+99
Change-Id: Ia09c875954d8a20a3e6c39f87076780d8a6582e4
2014-10-29Imported Upstream version 1.26upstream/1.26Zhang zhengguang4-21/+70
2014-07-17Imported Upstream version 1.24upstream/1.24Zhang zhengguang6-418/+830
2013-06-12dhcpv6: Send domain list option to serverJukka Rissanen2-0/+4
OPTION_DOMAIN_LIST(24) was not sent to server.
2013-05-15gdhcp: Handle dhcp_client->type == G_DHCP_IPV4LLJustin Maggard1-17/+17
Clean up several places where dhcp_client->type == G_DHCP_IPV4LL is unhandled.
2013-05-06dhcpv6: Implement CONFIRM message supportJukka Rissanen2-3/+71
See RFC 3315 Chapter 18.1.2. Creation and Transmission of Confirm Messages for details
2013-05-06gdhcp: Initialize message status code earlyJukka Rissanen1-4/+3
The message status code was initialized too late i.e., after it was set so we lost the status code. This problem was seen with wide-dhcpv6 server.
2013-04-30dhcpv6: Add elapsed time option to sent messagesJukka Rissanen2-3/+48
A mandatory elapsed time option was missing from the sent DHCPv6 messages. See RFC 3315 chapter 22.9 for details.
2013-04-26gdhcp: The last option in a message was not parsed correctlyJukka Rissanen1-2/+2
If the desired option was last one in the message, then it was lost because the remaining data calculation was wrong.
2013-04-26gdhcp: Do not change the transaction id if retransmittingJukka Rissanen1-3/+9
As requested in RFC 3315 chapter 15.1, a client MUST leave the transaction id unchanged in retransmissions of a message.
2013-04-26gdhcp: Add helper functions for message retransmissionJukka Rissanen2-0/+19
2013-04-26gdhcp: Add debug print for transaction idJukka Rissanen1-5/+12
Print transaction id of sent and received messages so that it is easier to match the packets.
2013-02-11gdhcp: DHCP server IP address is stored in host orderPatrik Flykt1-1/+1
This change affects unicasted DHCP renew and release messages. A DHCP server receiving packets via a raw socket will get all packets destined to port 67. If the DHCP server checks the intended server IP address, the request will fail. If the server does not care about the IP address being used, it will send a reply. The reply is not recognized by ConnMan since it is coming from another IP address than what it was sent to. ConnMan will retry quite a few times, but eventually settle down and use the address even without a proper response from the server.
2012-12-20gdhcp: Use glib memory functionsDaniel Wagner1-1/+1
Use for all memory allocation/dealocation operation the glib functions. This allows us to use g_mem_profile().
2012-12-04dhcpv6: Memory leak when sending Option Request OptionJukka Rissanen1-0/+2
2012-11-13gdhcp: Fix resource leakDanny Jeongseok Seo1-1/+1
The socket was not closed when the sendto failed.
2012-10-15gdhcp: Returned IP address is already in host byte orderJukka Rissanen1-1/+1
2012-10-11gdhcp: Use data size specific option setting functionJukka Rissanen4-31/+72
Instead of using dhcp_add_simple_option() the gdhcp now uses three functions for setting uint8, uint16 and uint32 values.
2012-10-11gdhcp: Use host byte order internallyJukka Rissanen5-71/+58
Convert to network byte order just before sending the packet.
2012-10-11gdhcp: Add unalignment macrosJukka Rissanen1-0/+163
The alignment macros are copied from Bluez.
2012-10-11gdhcp: Remove obsolete load lease functionJukka Rissanen2-8/+0
2012-07-17gdhcp: Set client state to INIT_SELECTING on restartForest Bond1-0/+1
With the previous behavior, we would end up sending a discover message and then ignoring the reply due to the client state mismatch, so a restart would never result in successful acquisition of a lease. RFC 2131 specifies that the client should return to INIT state in various restart scenarios. However, also note that it would not make sense in any case to send a discover message and ignore the reply.
2012-07-15gdhcp: Avoid shadowing address string variableMarcel Holtmann1-4/+4
2012-05-11gdhcp: Make sure we have the message before accessing itJukka Rissanen1-0/+3
2012-05-11gdhcp: Message type is required in DHCPv4Jukka Rissanen1-1/+4
2012-05-09gdhcp: Remove dead assignmentHenrique Dante de Almeida1-1/+1
2012-05-09gdhcp: Remove assignment that's never usedHenrique Dante de Almeida1-1/+0
2012-05-04gdhcp: Add option and length checksPatrik Flykt1-0/+6
2012-05-04gdhcp: Fix packet length checkingPatrik Flykt1-3/+15
Fix packet length checking where payload length could have been zero. Also check that we don't set the option pointer beyond the end of the packet payload.
2012-04-29gdhcp: Update copyright informationMarcel Holtmann5-5/+5
2012-04-20gdhcp: fix strict-aliasing warningLucas De Marchi1-1/+1
The previous way was giving the following warning with gcc 4.7: CC gdhcp/common.o gdhcp/common.c: In function 'dhcp_add_simple_option': gdhcp/common.c:275:38: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing Change it slightly so not to give this warning.
2012-03-01dhcpv4-client: Change coding style for passing NULL to timeGrant Erickson1-5/+5
Pass NULL rather than 0 when calling time(2) to follow prefered stylistic convention.
2012-03-01gdhcp: set secs in a RFC 951- and 2131-compliant mannerGrant Erickson1-0/+15
This patch sets the BOOTP secs field in a RFC 951- and 2131-compliant manner for DHCPv4 DISCOVER and REQUEST/SELECT packets. Certain DHCP servers, such as that implemented in Mac OS X (< 10.7) for its "Internet Sharing" feature, refuse to issue a DHCP lease to clients that have not set a non-zero value in their DISCOVER or REQUEST packets. In fact, based on http://hints.macworld.com/article.php? story=20071223001432304, it's not non-zero but a value greater than four (4) seconds to allow another "authoritative" DHCP server on the subnet to reply first. Side-by-side packet analysis of Mac OS X, iOS, Android, ISC and Windows clients show that these clients set the BOOTP 'secs' field and are successfully issued a DHCP lease by Mac OS X. By contrast, a connman-based client will issue 10 back-to-back DISCOVER packets and will not be returned a DHCP OFFER from the server.
2012-02-13gdhcp: Add RFC 1533- and 2132-compliant client-id optionGrant Erickson2-0/+24
This patch adds a function to add a RFC 1533- and 2132-compliant DHCP client-id option (61) to sent DHCPv4 packets.
2012-02-13gdhcp: Refactor alloc_dhcp_option to accept string or raw data.Grant Erickson1-7/+21
Support specifying NULL-terminated string or raw data for allocated DHCP options.
2012-01-13gdhcp: Fix build failureSamuel Ortiz1-2/+0
<inet.h> doesn't exist.
2012-01-05dhcpv6: Release message implemented.Jukka Rissanen2-0/+32
2012-01-05dhcpv6: Handle address expiration by restarting the stack.Jukka Rissanen2-2/+20
2012-01-05dhcpv6: Rebind message implemented.Jukka Rissanen2-3/+49
2012-01-05dhcpv6: Renew message implemented.Jukka Rissanen2-2/+49
2012-01-05dhcpv6: Request message implemented.Jukka Rissanen2-1/+43
2012-01-05dhcpv6: Initial stateful DHCPv6 support.Jukka Rissanen4-11/+450
This patch contains solicitation message support.
2012-01-05dhcpv6: Support stateless DHCPv6Jukka Rissanen2-0/+36
See relevant parts from these RFCs: RFC 3315 - DHCP for IPv6 RFC 3646 - DNS configuration options for DHCP for IPv6 RFC 3736 - Stateless DHCP service for IPv6 RFC 4075 - SNTP configuration option for DHCPv6 The patch does not support authenticated information messages.
2012-01-05gdhcp: Generic stateless DHCPv6 support.Jukka Rissanen5-40/+734
The patch adds support for information-request DHCPv6 message.
2011-12-16gdhcp: Check listerner_watch before remove itYu A Wang1-1/+2
Fixed following error: connmand[4547]: src/dhcp.c:dhcp_release() dhcp 0x8c6d3e8 connmand[4547]: DHCP: switch listening mode (3 ==> 0) (connmand:4547): GLib-CRITICAL **: g_source_remove: assertion `tag > 0' failed