summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2012-11-23provider: Add callback when creating vpn providerJukka Rissanen1-5/+37
Because the vpnd Create() in manager API only creates and does not connect the vpn, we must do the connect part after the vpn is created. This requires a callback which is called when the connection is established. Eventually this patch becomes obsolete because the CreateProvider() connman API is deprecated.
2012-11-23manager: Deprecating connect/remove provider APIJukka Rissanen1-2/+2
The VPN configuration API is provided by connman-vpnd instead of connmand.
2012-11-23agent: Split agent code into generic and service specific partsJukka Rissanen6-690/+850
2012-11-23provider: Refactor server and user route handlingJukka Rissanen2-36/+23
The server and user route handling is refactored in order to reflect the vpn dbus API changes. The routes are now array of dicts in dbus API.
2012-11-23provider: Initially provider ipconfigs are now OFFJukka Rissanen1-2/+3
The ipconfig is marked as fixed when IP address is set to that ipconfig.
2012-11-23provider: Support functions addedJukka Rissanen1-0/+65
2012-11-23provider: Remove functionality that is no longer usedJukka Rissanen1-890/+68
The VPN support functionality is moved into connman-vpnd.
2012-11-23provider: Provider disconnect function made available to pluginJukka Rissanen3-7/+6
The VPN needs to be able to call the provider disconnect.
2012-11-23vpn: New vpn daemon that handles vpn connections and clientsJukka Rissanen1-1/+1
2012-11-23log: Give program name and version in log initJukka Rissanen3-4/+6
This allows the correct output when the log functions are used from separate vpn daemon.
2012-11-23device: Move device creation func into device.cJukka Rissanen3-174/+179
The device creation function should be part of device.c and not inet.c. After this change the inet.c can be used by separate vpn daemon.
2012-11-23ipconfig: Move IP address API into separate ipaddress.c fileJukka Rissanen5-171/+206
Done so that connman_ipaddress_* functions can be used from separate vpn daemon.
2012-11-22core: Use interface index instead of interface namePatrik Flykt6-208/+194
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-11-19dnsproxy: Use TCP connections only for the intended requestPatrik Flykt1-0/+5
The DNS proxy code creates and uses a TCP connection only for a single request at a time. A TCP DNS proxy is added to the end of the server list, but should not be used for generic requests as the connection will be closed down after the response to the initial request. Any other requests sent over the connection will silently disappear. Add a check to ignore TCP DNS servers for generic lookups.
2012-11-19dnsproxy: Check the result of socket creation when resolvingPatrik Flykt1-2/+6
If the socket creation failed, continue with the next server.
2012-11-19dnsproxy: Check GIO channel for NULL before usePatrik Flykt1-3/+7
Check GIO channel for NULL before using it. Also shut down the GIO channel so that already pending input will not use the free'd structure.
2012-11-16dnsproxy: Close the UDP socket on error condition.Forest Bond1-106/+124
The socket is created again on the next request. Previously, an error condition only caused the event watch to be removed and then added again on the next request to avoid processing spurious error events. But in some network environments, the error condition is caused by an overly aggressive firewall that rejects our UDP packets and sends an ICMP error packet indicating an unreachable host and/or port. In some of these cases we can recover by using a different UDP source port for outgoing requests (i.e. by closing and re-opening the socket).
2012-11-13iptables: A file descriptor cannot be a nagative integerDanny Jeongseok Seo1-1/+2
When a socket() has failed and a negative file descriptor has been set, close() cannot accept a negative number as a parameter.
2012-11-13manager: Fix negative error codeDanny Jeongseok Seo1-1/+1
Fix error code for __connman_error_failed
2012-11-13bridge: Close socket on errorPatrik Flykt1-1/+3
2012-11-13inet: Fix resource leakDanny Jeongseok Seo1-3/+1
The socket was not closed when err < 0 is true.
2012-11-05session: Register session after policy plugin returned configDaniel Wagner1-75/+89
Move the configuration part of __connman_session_create() into session_create_cb(). With this change the policy plugin is able to do async work to retrieve a configuration.
2012-11-05session: Factor out user settings in __connman_session_create()Daniel Wagner1-23/+48
In order to be able to pass the user configuration provided through from the D-Bus Manager.SessionCreate() call to the callback we need to store the configuration into a local data data structure. This data structure can then be passed into the callback introduced later on.
2012-11-05session: Remove struct connman_session_bearerDaniel Wagner1-95/+34
Instead start using enum connman_service_type directly.
2012-11-05session: Handle no match case in parse_bearers()Daniel Wagner1-0/+9
2012-11-05session: parse_bearers() should check for invalid typesDaniel Wagner1-2/+9
2012-11-05session: Rename session_parse_allowed_bearers() to parse_bearers()Daniel Wagner1-5/+3
This function name was a source of confusion because in a later patch we introduce connman_session_parse_allowed_bearers() which will call parse_bearers(). With this change it should be more readable.
2012-11-05session: Remove match_all from connman_session_bearerDaniel Wagner1-35/+21
The match_all will be expressed through CONNMAN_SESSION_TYPE_UNKNOWN. The 'no match' case happens when allowed_bearers is NULL.
2012-11-05session: Remove name variable from connman_session_bearerDaniel Wagner1-7/+8
The string is only used when appending the bearer to the D-Bus message in append_allowed_bearers(). Let's use __connman_session_type2string() in append_allowed_bearers(). This saves a bit of memory.
2012-11-05session: Add callback to policy create()Daniel Wagner1-9/+23
Instead returning directly a config when create() is called in policy plugin, use a callback function for handing over a valid configuration from the plugin to the session core. This prepares support for asynchronous create call.
2012-11-05session: Policy register should check callback existenceDaniel Wagner1-0/+3
Let's ensure that the policy plugin has all necessary callbacks installed when connman_session_policy_register() is called. The rest of the code expects that the create() and destroy() callbacks exist whenever a plugin is used.
2012-11-05session: Pick directly first policy in listDaniel Wagner1-8/+3
There is no point in iterating over the list when we always pick the first element in the list.
2012-11-05session: Factor out memory release part of cleanup_sessionDaniel Wagner1-9/+14
We want to reuse this code snippet for the error case in __connman_session_create() too.
2012-11-05manager: Allow async CreateSession method callDaniel Wagner1-2/+6
The CreateSession D-Bus call should be marked as async call in order to allow the session core to defer the response.
2012-11-05storage: Add void if function does not have any argumentsDaniel Wagner2-7/+7
2012-11-02dhcp: Clear ipaddresses from ipconfig before starting DHCPJukka Rissanen1-0/+6
This is needed if manually configured addresses were used and later DHCP was taken into use. If the manually configured IP information (address, netmask and gateway) and the information given by DHCP is the same, DHCP will not set the IP address to the interface.
2012-11-02ipconfig: Add function to clear ipaddress informationJukka Rissanen2-0/+9
2012-10-26technology: Do not proceed with tethering if technology is not enabledTomasz Bursztyka1-0/+4
Fixes BMC#25846
2012-10-25systemd: prevent duplicate logging messages in journalMarti Raudsepp1-0/+1
By default, both stdout and syslog messages go to the systemd journal, which results in duplicate messages being logged. Thanks to Vinicius Costa Gomes for pointing out this problem.
2012-10-25technology: Do not presume a technology being hardblocked when createdTomasz Bursztyka1-6/+2
This fixes an issue with the TechnologyAdded signal when the first un-hardblock event occurs: - when a technology was created, D-Bus registration was done and hardblock was set to TRUE even if there was no evidence that the technology was rfkill driven - when the technology was updated to be rfkill driven, hardblock was already set to TRUE and thus the technology was not unregistered - when an rfkill event un-hardblocks the technology, the TechnologyAdded signal was not sent since the technology was already registered to D-Bus
2012-10-25dnsproxy: Add reply host part length checkingPatrik Flykt1-5/+17
Check that the first part of the name is not of zero length before attempting to calculate the length of the domain part. Also ensure the domain lenght checking does not run outside of the receive buffer. Also add debug messages for ids and lengths in order to pinpoint any possible problems.
2012-10-23wispr: Free wispr portal context in the relevant placeTomasz Bursztyka1-11/+11
This fixes 2 issues: - calling __connman_service_ipconfig_indicate_state() might lead to restart wispr_portal check, so context should not be freed afterward but beforehand. - freeing the context in wispr_manage_message() should not happen since wispr_manage_message() will return back to wispr_portal_web_result() where we can still use the context. Thanks to Julien Massot <jmassot@aldebaran-robotics.com> who reported the issue and provided logs.
2012-10-22device: Do not mark connecting networks unavailableTomasz Bursztyka1-1/+2
When autoscan fallback code is started, it sets scanning to true which in turn marks all networks unavailable except for the ones that are already connected. When connecting during an ongoing autoscan, the connection attempt stops autoscan and all unavailable networks are removed, also the one to be connected. The fix is to ignore both connected and connecting networks when marking networks unavailable.
2012-10-19network: Fix typo in debug printJukka Rissanen1-1/+1
2012-10-18service: Prefer user connected services with SingleConnectedTechnologyPatrik Flykt1-0/+20
Don't override user connected services with the ones selected by the preferred technology list when SingleConnectedTechnology is enabled. Do this by checking each connected service sorted in the beginning of the service list for the userconnect flag.
2012-10-18service: Clear user connected flag on disconnectPatrik Flykt1-2/+2
Remember whether the service was connected by the user via D-Bus until the service gets disconnected.
2012-10-18service: Keep only a single connected technology if configuredPatrik Flykt1-0/+33
If SingleConnectedTechnology is enabled in main.conf, disconnect any previously connected services when the new service enters ready state.
2012-10-18main: Add SingleConnectedTechnology main.conf variablePatrik Flykt1-0/+12
2012-10-18main.conf: Add SingleConnectedTechnology descriptionPatrik Flykt1-0/+12
2012-10-18service: Fix default service switching and setting gatewayPatrik Flykt1-2/+3
Calling switch_default_service() didn't change the service order since the services were already sorted that way. Also update the gateway immediately.