Age | Commit message (Collapse) | Author | Files | Lines |
|
desc: Start DHCPDISCOVERY when DHCPREQUEST of INIT-REBOOT has failed.
Change-Id: I7c6de8a3b397765cd0173a5b18c0c926a5ce29a4
Signed-off-by: Niraj Kumar Goit <niraj.g@samsung.com>
|
|
Change-Id: Ib36cab79ea86048860ffda7d6108b769a3cc9b33
Signed-off-by: Maneesh Jain <maneesh.jain@samsung.com>
|
|
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>
|
|
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>
|
|
Signed-off-by: hyunuktak <hyunuk.tak@samsung.com>
Change-Id: I84a42375b5c59739e4caca1f726699ea7647ef17
|
|
Change-Id: Ia09c875954d8a20a3e6c39f87076780d8a6582e4
|
|
|
|
|
|
OPTION_DOMAIN_LIST(24) was not sent to server.
|
|
Clean up several places where dhcp_client->type == G_DHCP_IPV4LL is unhandled.
|
|
See RFC 3315 Chapter 18.1.2. Creation and Transmission of Confirm
Messages for details
|
|
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.
|
|
A mandatory elapsed time option was missing from the sent
DHCPv6 messages. See RFC 3315 chapter 22.9 for details.
|
|
As requested in RFC 3315 chapter 15.1, a client MUST leave
the transaction id unchanged in retransmissions of a message.
|
|
|
|
Print transaction id of sent and received messages so that it is
easier to match the packets.
|
|
Use for all memory allocation/dealocation operation the glib
functions. This allows us to use g_mem_profile().
|
|
|
|
Instead of using dhcp_add_simple_option() the gdhcp now uses
three functions for setting uint8, uint16 and uint32 values.
|
|
Convert to network byte order just before sending the packet.
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Pass NULL rather than 0 when calling time(2) to follow prefered
stylistic convention.
|
|
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.
|
|
This patch adds a function to add a RFC 1533- and 2132-compliant DHCP
client-id option (61) to sent DHCPv4 packets.
|
|
Support specifying NULL-terminated string or raw data for allocated
DHCP options.
|
|
|
|
|
|
|
|
|
|
|
|
This patch contains solicitation message support.
|
|
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.
|
|
The patch adds support for information-request DHCPv6 message.
|
|
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
|
|
g_atomic_int_exchange_and_add() has been removed from glib 2.30
and g_atomic_int_add() should be used. Though there are still
quite a few distros out which do not ship a glib version with
g_atomic_int_add().
Instead of maintaing a compatiblilty glib layer we just use
the built-in functions for atomic memory access.
|
|
Make sure all file descriptor are closed.
|
|
This fix will cause the DHCP_REQUESTED_IP option to be sent to
the server.
Fixes BMC #21068
|
|
Given the following reproduction steps:
1) Set up an access point with a Class B IP address, say
10.2.40.254.
2) Set up the access point to provide DHCP leases over a range
10.2.40.2 through 10.2.40.253.
3) Set up a short lease renewal period of 5-10 minutes.
4) Allow the device to associate, connect and receive an IP
address.
5) Midway through the lease interval, change the access point to a
different IP address, say, 10.2.41.254.
6) Change the access point to issue DHCP leases over a new range,
10.2.41.2 through 10.2.41.253.
7) Watch as the access point resets, the connection is lost, the
connection is regained and as connman tries to get a new DHCP
lease.
Prior to commit 39825846, connman could receive a new but different
DHCP lease but connman would not program the confirmed lease to the
interface.
However, following that commit, it now programs the new, changed DHCP
lease to the interface but still believes the old lease is valid and
attempts to keep servicing the old renewal timeout for the prior but
now stale lease.
This patch cancels any existing, pending DHCP lease renewal timeout
following a DHCP lease configuration change.
|
|
|
|
I got build failing as below:
cc1: warnings being treated as errors
gdhcp/client.c: In function ‘alloc_dhcp_option’:
gdhcp/client.c:1455: error: implicit declaration of function ‘strnlen’
define _GNU_SOURCE fixes this problem.
|
|
|
|
IPv4 Link-Local negociation starts on gdhcp client failure.
|
|
Add G_IO_NVAL, G_IO_ERR and G_IO_HUP to the events list.
|