summaryrefslogtreecommitdiff
path: root/plugins
AgeCommit message (Collapse)AuthorFilesLines
2014-07-17Imported Upstream version 1.24upstream/1.24Zhang zhengguang16-1422/+2031
2013-05-31session_policy_local: Set session identification methodDaniel Wagner1-1/+43
For SELinux we need to store the complete context for iptables to work.
2013-05-31session_policy_local: Retrieve UID/GID from session userDaniel Wagner1-25/+179
When the session core ask to create a configuration, then we first ask the D-Bus server which UID/GID the session belongs to. If possible we also ask for the SELinux context. Then we try to figure out which file containts the configuration for SElinux, UID or GID identification. The order of matching preference is SELinux, UID and finally GID.
2013-05-31session_policy_local: Remove struct create_dataDaniel Wagner1-29/+14
Use struct policy_data instead of struct create_data.
2013-05-31session_policy_local: Rework policy file handlingDaniel Wagner1-143/+257
The old assumption was that a config file is associtated with one session only. With introducing UID/GID support a policy might be used for several sessions. Furthermore, it was assumed that the file name is the key/ident to identify a session and a file containts exactly one policy. Here are the new rules for writing a policy file. - A valid file name contains letters or numbers and must have a '.policy' suffix. - The file name has not semantical meaning - A policy file may contain contain more than 1 policy - Each policy entry starts with 'policy_' - Each policy entry shall have one and exactly one valid key (e.g. selinux) The implementation has two main hash tables, file_hash and session_hash which owns 'the file' respectively the session config. Additionally there is a hash table which connects a policy with a session (selinux_hash).
2013-05-31session_policy_local: Add some more debug informationDaniel Wagner1-8/+19
2013-05-31session_policy_local: Update session before unref policyDaniel Wagner1-10/+4
The update flag can be removed as it is no longer needed.
2013-05-31session_policy_local: Refactor SELinux context parserDaniel Wagner1-13/+8
g_strplit() will eventually strdup the tokens so no need to strdup() 'context'. But we an ugly cast (from 'const unsigned char *' to 'const char *') is needed for g_strsplit() to make the compiler happy.
2013-05-31session_policy_local: Do not handle small allocationDaniel Wagner1-29/+4
Let's remove the small allocations error path because glib will abort on memory exhausting anyway. Basically we remove dead code.
2013-05-17wifi: Scan all stored hidden networksTomasz Bursztyka1-44/+120
Previously the number of scanned hidden WiFi networks was restricted by the fast scan limit of the WiFi driver. This patch takes into account the driver fast scan limit and will scan for all configured hidden WiFi networks. Thanks to Jukka for testing this.
2013-04-26ethernet: Add tethering supportJukka Rissanen1-1/+101
2013-04-18session: Do not fail when creating default policy configurationDaniel Wagner1-12/+1
Do not handle the small alloc failures because glib will abort when memory is tight anyway.
2013-04-18session: Change to "func_t" postfix to callback typedefDaniel Wagner1-3/+3
Streamline the callback typedefs with the rest of the code.
2013-04-18session_policy_local: Use callback helpersDaniel Wagner1-7/+9
Use the generic callback helpers to encapsulate struct create_data. In a later patch we will add some more data elemets to struct create_data. That is the reason why it is not remove here.
2013-04-18session_policy_local: Load policy when a new file is addedDaniel Wagner1-0/+7
When a file is added (not modified) we need to parse it as well
2013-04-18session_policy_local: Do not free policy on load errorDaniel Wagner1-2/+5
We should not unref the policy on parsing errors becase the policy lifetime is attached to the lifetime of the file. When the file is removed we remove it from the hash table.
2013-04-18session_policy_local: Empty policy list indicated no match allDaniel Wagner1-8/+3
Match all is expressed via CONNMAN_SERVICE_TYPE_UNKNOWN. An empty list means no match.
2013-04-18session_policy_local: Set default policy using common codeDaniel Wagner1-4/+2
Use connman_sessoin_set_default_config() instead of open coded version. This prepars the next fix.
2013-04-15wifi: improve fix to avoid device double release on disableGrant Erickson1-35/+11
Per MEEGO-25999 <https://bugs.meego.com/show_bug.cgi?id=25999>, there exists a race between scan_callback and wifi_disable such that a care- fully-timed deassertion of the technology Powered property between throw_wifi_scan and scan_callback will lead to a device reference count underflow. A second Powered property false -> true -> false transition will then deallocate the device and Wi-Fi will no longer function until connman or the system is restarted. This patch improves upon and revises the prior patch to address this issue by recognizing that hidden networks involve a slightly different code path and timing and that both this and the prior case can be addressed by tracking the device scanning state and only releasing the device when the state is asserted.
2013-04-12wifi: avoid device double release on disableGrant Erickson1-2/+38
Per MEEGO-25999 <https://bugs.meego.com/show_bug.cgi?id=25999>, there exists a race between scan_callback and wifi_disable such that a care- fully-timed deassertion of the technology Powered property between throw_wifi_scan and scan_callback will lead to a device reference count underflow. A second Powered property false -> true -> false transition will then deallocate the device and Wi-Fi will no longer function until connman or the system is restarted. This patch addresses that race by tracking and observing the disabling state such that scan_callback ad wifi_disable can effectively negotiate which has performed the device release, thereby avoiding the double release and resulting underflow.
2013-04-08vpn: Host IP address was not freedJukka Rissanen1-0/+1
The host ip address field is only used if user has given vpn server as a host name instead of host ip address.
2013-04-08vpn: Free ip address before allocating a new oneJukka Rissanen1-0/+1
Possible memory leak here as we might have ip address allocated already.
2013-04-03vpn: Update domain name when received from vpndJukka Rissanen1-0/+10
2013-04-03ofono: Add the CDMA network when the device is createdForest Bond1-2/+8
There is a race that causes the network not to be added if we get the CDMA netreg changed signal before the CDMA connection manager added signal. In that case the network is not added because the device has not been created yet. So we fix this by trying to add the network whenever the device is created.
2013-04-03ofono: Add CDMA network when modem is registeredForest Bond1-11/+16
Connecting the network requires powering the CDMA connection manager, which fails with an error if network registration is not complete. So we only add the network when registration is complete and remove it when the modem is no longer registered.
2013-03-27provider: Set nameservers if we receive them from vpndJukka Rissanen1-1/+8
If we receive nameservers from vpnd we must set them in provider. The connman_provider_set_nameservers() function needs changes because we get the nameservers as an array, it makes no sense to convert the array to string and then back to array.
2013-03-27wifi: terminate autoscan stop if autoscan is not activeGrant Erickson1-0/+5
This terminates the body of stop_autoscan if autoscan is not active. Per MEEGO-25987 <http://bugs.meego.com/show_bug.cgi?id=25987>, running stop_autoscan when changing connected services can prematurely and incorrectly terminate a new, in-flight service connection and result in a failure of that connection with "net.connman.Error.OperationAborted: Operation aborted". When a scan is started, all networks are marked unavailable. Should the check added in this patch not be present, device scanning is set to false and all not yet found networks are removed. Thus the service will not be able to connect if its network wasn't already found.
2013-03-18neard: RequestOOB() method sends empty dictionaryTomasz Bursztyka1-4/+8
Reported by Ravikumar Veeramally
2013-03-08vpn: Make sure vpn connection really exists before removing itJukka Rissanen1-1/+6
2013-03-08vpn: Check whether we have already removed the providerJukka Rissanen1-0/+8
The dbus messages from vpnd might come in different order so make sure we are not trying to access already removed provider.
2013-03-08vpn: Add debug information when vpn state changesJukka Rissanen1-0/+2
2013-03-08vpn: Remove VPN provider from service list when destroying itJukka Rissanen1-1/+1
When provider is destroyed in vpnd, we get a notification about that. We must then remove the provider which will also unref it so the provider data will get removed properly. Old code just unreffed the provider but it was left hanging in service list.
2013-03-08vpn: Clear the data pointer from provider when destroyingJukka Rissanen1-0/+2
If the data pointer is left around, then vpn plugin might accidentally use it if dbus messages are received after we have cleared the vpn connection.
2013-03-08vpn: Set immutable flag of the VPN serviceJukka Rissanen1-0/+1
2013-03-08vpn: Remember the immutable flag from vpndJukka Rissanen1-0/+3
2013-03-05wifi: Preliminary fix for autoscanning known hidden SSIDsTomasz Bursztyka1-16/+15
Currently, it relies on max_ssids to know how many SSIDs it can provide as paremeters. However, patch 6af0579c434058536fb40480f40f5e9895cfe863, which fixes an issue about fast scanning, affects such feature. Therefore, as a default, it will fallback to 1 if given max_ssids is 0. There is still the issue that it will autoscan only max_ssid (1 or more) known hidden SSIDs. This need to be fixed. Reported by Sameer Naik
2013-02-27neard: Use a timeout instead of DBUS_TIMEOUT_USE_DEFAULT for compatibilityTomasz Bursztyka1-1/+3
DBUS_TIMEOUT_USE_DEFAULT appeared in dbus-1.4.12, but earlier dbus versions are still in use in some distributions like Fedora 17.
2013-02-26dundee: Increase timeout to 60 secondsPatrik Flykt1-1/+1
D-Bus method calls to may trigger pairing and/or pop up a dialog in the remote Bluetooth device to which the user needs to react.
2013-02-26bluetooth_legacy: Increase Bluez 4 plugin timeout to 60 secondsPatrik Flykt1-1/+1
D-Bus method calls to Bluez 4 may trigger pairing and/or pop up a dialog in the remote device to which the user needs to react.
2013-02-26neard: Add partial support for wifi provisionning via NFCTomasz Bursztyka1-16/+257
PushOOB() method implementation. Currently only basic open/psk based provisioning is supported.
2013-02-26neard: Add neard plugin with tethering info sharing supportTomasz Bursztyka1-0/+381
Implement also RequestOOB() neard Agent method.
2013-02-19vpn: Ignore VPN UserRoutes and ServerRoutes propertiesJukka Rissanen1-0/+4
These properties are not needed here so ignore them.
2013-02-19config: Read only wifi configJukka Rissanen1-1/+1
2013-01-30dundee: Set network available is needed only when scanningPatrik Flykt1-2/+0
2013-01-30ofono: Set network available is needed only when scanningPatrik Flykt1-2/+0
2013-01-30ethernet: Set network available is needed only when scanningPatrik Flykt1-2/+0
2013-01-30bluetooth: Implement tethering for the Bluez 5 bluetooth pluginPatrik Flykt1-0/+117
2013-01-30bluetooth: Connect and disconnect a PAN NAP networkPatrik Flykt1-5/+137
Implement connect and disconnect functionality for a ConnMan network. On network creation check the connection status of the Bluez 5 Network1 object and set the network to connected when needed.
2013-01-30bluetooth: Expose Bluez 5 org.bluez.Network1 objects as networksPatrik Flykt1-4/+133
Create ConnMan networks for those Bluez 5 org.bluez.Network1/Device1 objects that support PAN NAP. A network is created or removed in response to the Network1/Device1 being created or when the Device1 object's UUID changed. The ConnMan network struct is added to and removed from the ConnMan device when the device is created, enabled or disabled.
2013-01-30bluetooth_legacy: Check network in probe functionPatrik Flykt1-4/+18
The network probed can belong to the new Bluez 5 bluetooth plugin or to this plugin. Check if this plugin created the network and proceed accordingly.