path: root/src/tethering.c
AgeCommit message (Collapse)AuthorFilesLines
2014-07-31Tethering: Notify listeners when station connection changesChengyi Zhao1-1/+84
Change-Id: I048c1a8a348b6f862ca104ad2fbe971f580fe180
2014-07-31Tethering: Add station information management featureChengyi Zhao1-0/+87
Change-Id: I2f699e42ec5ce7f148b8c1d685b52ee32e2e236b
2014-07-17Imported Upstream version 1.24upstream/1.24Zhang zhengguang1-26/+44
2013-04-26tethering: Use fallback nameservers if dnsproxy is not in useJukka Rissanen1-10/+37
If user has disabled dnsproxy with -r option, then fallback to user specified nameservers instead of using the Google one.
2013-03-25tethering: Fix build with kernel headers 3.8+Yann E. MORIN1-0/+1
Highly inspired by: As Russel puts it in his commit message for bridge-utils: Linux 3.8 has a header, include/uapi/linux/if_bridge.h that uses a struct in6_addr but doesn't define it. The trivial seeming fix of including the header that does define it causes more problems. The problem was discussed on mailing lists in January 2013. The final suggestion I found was here: This is intended to implement that suggestion. This changeset transplants this trivial fix to connman.
2012-11-23ipconfig: Move IP address API into separate ipaddress.c fileJukka Rissanen1-2/+2
Done so that connman_ipaddress_* functions can be used from separate vpn daemon.
2012-11-22core: Use interface index instead of interface namePatrik Flykt1-2/+5
Service and network code use only interface indexes. Convert the rest of the code using interface names to use interface indexes instead. The files affected are: include/resolver.h src/connman.h src/dnsproxy.c src/resolver.c src/rtnl.c src/service.c src/tethering.c As the network and service code used interface indexes, the interface name had to be looked up via a SIOCGIFNAME ioctl when needed. If a service was removed due to the interface and network being taken down, the lookup wouldn't work. This caused DNS servers to be left behind with broken sockets since removing the DNS servers was done using the interface name.
2012-09-13tethering: Reset the tethering refcount on errorPatrik Flykt1-1/+6
Decrease the refcount with one on error.
2012-09-07tethering: Fix error path in __connman_tethering_set_enabled()Artem Bityutskiy1-0/+3
In some cases we did not destroy the bridge and ip pool.
2012-09-07tethering: Re-add error message about missing bridge functionalityArtem Bityutskiy1-1/+3
Commit 4fe07df removed an error message about missing bridge functionality. Return it back.
2012-09-07tethering: Fix bridge module loading problemArtem Bityutskiy1-6/+12
Connman tries to check if bridging is supported by the kernel by checking whether "/proc/sys/net/bridge" is present. If the bridge is a kernel module which is not already loaded, then tethering cannot be enabled. Instead of checking for the file we invoke the "get bridge version" socket ioctl and the kernel will handle module loading issues - if the bridge module is not loaded, it will first load it, and then check the version.
2012-07-15tethering: Avoid shadowing connection variableMarcel Holtmann1-1/+1
2012-07-02tethering: Fix incorrect index value for private networkWu Zheng1-1/+1
In __connman_private_network_request, pn->fd is used as the index value and passed to __connman_ippool_create, which is not correct. It result in the private network is block used externally.
2012-04-29core: Update copyright informationMarcel Holtmann1-1/+1
2012-02-24tethering: Fix pool size requestDaniel Wagner1-1/+1
Math is hard, I know. Fixes BMC#24898
2012-02-13tethering: Fix start of IP poolDaniel Wagner1-1/+1
The pool should start at 2 not 1 since this collides with the gateway address.
2012-02-13nat: Move nat code into a seperate fileDaniel Wagner1-110/+9
Instead of natting all traffic, nat.c will restrict the masquerading on given network/mask. The nat handling code will be reused by session.c
2012-02-13tethering: Use notifier to update default interface.Daniel Wagner1-3/+25
2012-02-13bridge: Move bridge code into a seperate fileDaniel Wagner1-109/+9
The bridge handling code will reused by session.c.
2012-02-01tethering: Add notification callback implementationGuillaume Zajac1-2/+18
2012-02-01ippool: Add API to notify when IP is externally assignedDaniel Wagner1-2/+4
2012-02-01tethering: Use IP pool API with DHCPGuillaume Zajac1-14/+29
2012-02-01tethering: Use IP pool API with private networkGuillaume Zajac1-12/+18
2011-11-28tethering: Avoid removing dhcp server twice.Jukka Rissanen1-0/+2
The tethering_dhcp_server pointer needs to be cleared as otherwise the __connman_tethering_cleanup() will call it again.
2011-11-15tethering: Use already existing 'tether' bridge interfacePatrik Flykt1-5/+6
When creating bridge interface 'tether', don't report error if it already exists. Check also -EALREADY given by connman_inet_ifup() via enable_bridge() if the bridge interface was already up. Fixes BMC#23931
2011-11-10core: Use gcc atomics instead glib's onesDaniel Wagner1-40/+43
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.
2011-10-25core: Add SOCK_CLOEXEC to socket()Daniel Wagner1-2/+2
Make sure all file descriptor are closed.
2011-06-30tethering: Update APIs to be able to use multiple private networksGuillaume Zajac1-29/+41
2011-06-16element: Remove element.cDaniel Wagner1-0/+1
2011-06-02tethering: Fix small typoMarcel Holtmann1-1/+1
2011-06-02tethering: Fix handling of undefined DBUS_TYPE_UNIX_FDMarcel Holtmann1-0/+7
2011-04-27tethering: Fall back to google's DNS when dnsproxy listener addition failsSamuel Ortiz1-2/+7
2011-04-27tethering: Use tether device IP as tethering DNS serverYu A Wang1-1/+7
2011-04-20tethering: Add private networks ip configuration and NATGustavo F. Padovan1-2/+75
2011-04-20tethering: Add support to create private networks TUN interfaceGustavo F. Padovan1-3/+58
2011-04-20manager: Add hooks for the PrivateNetwork APIGustavo F. Padovan1-0/+79
RequestPrivateNetwork() doesn't return an fd yet and both of them are completely dummy.
2011-03-11tethering: Using /proc/sys/net/bridge to detect the support of bridgeMartin Xu1-2/+2
If bridge is built in kernel, /sys/module/bridge can not be used to detect the support of bridge.
2011-02-10tethering: Check for kernel bridge supportSamuel Ortiz1-0/+11
2011-02-02tethering: Add a tethering property per technologySamuel Ortiz1-28/+4
The manager tethering property is now gone.
2011-01-24Small coding style fixup for bridge enablingMarcel Holtmann1-1/+1
2010-12-07tethering: Set tethering_status earlierMartin Xu1-2/+2
With synchronous technologies (e.g. ethernet), connman_technology_tethering_notify() is called immediatly after enabling or disabling tethering. If tethering_status is not properly set, then that will fail.
2010-11-24tethering: Remove bridge asynchronouslySamuel Ortiz1-6/+12
The tethering bridge should be removed once the technology signals that tethering is actually disabled.
2010-11-24tethering: Properly check for tethering refcount hitting 0Samuel Ortiz1-1/+1
2010-11-24tethering: Disable forward delay on the tethering bridgeSamuel Ortiz1-3/+33
2010-11-16tethering: Fix for default interface string double freeLeena Gunda1-0/+1
2010-11-14tethering: Duplicate default interface stringSamuel Ortiz1-2/+4
2010-11-14tethering: Start DHCP server on the bridgeSamuel Ortiz1-3/+97
2010-11-14tethering: Check for tethering_status to be FALSE when disabling itSamuel Ortiz1-1/+1
2010-11-14tethering: Configure bridge interface when starting tetheringSamuel Ortiz1-1/+44
2010-11-14tethering: Flush POSTROUTING table when neededSamuel Ortiz1-2/+13