platform/upstream/connman.git
10 years agomulti-user: Fix service auto connect issue 27/31327/2 accepted/tizen/common/20141208.080901 accepted/tizen/ivi/20141217.060504 accepted/tizen/mobile/20141208.084229 accepted/tizen/tv/20141210.133225 accepted/tizen/wearable/20141210.194841 submit/tizen/20141208.013030
Zhang zhengguang [Thu, 4 Dec 2014 05:25:42 +0000 (13:25 +0800)]
multi-user: Fix service auto connect issue

In curernt IVI image, systemd doesn't write utmp entries
for logged in users, so that ConnMan can't get the related
user info, under which condition, it doesn't need to forbid
service auto connect for this user.

Change-Id: I4ca33b2b43ac351d1be8c862808304d8a17d8d7d

10 years agoPull systemd-devel to get RPM macros 96/31196/1 accepted/tizen/common/20141202.165308 accepted/tizen/ivi/20141209.110758 submit/tizen_common/20141201.121739 submit/tizen_ivi/20141208.111111 submit/tizen_ivi/20141209.000000
Łukasz Stelmach [Tue, 2 Dec 2014 10:49:18 +0000 (11:49 +0100)]
Pull systemd-devel to get RPM macros

Change-Id: I532306d4a912c8f1f6b7f8a7bdd6e45ff0823982
Signed-off-by: Łukasz Stelmach <l.stelmach@samsung.com>
10 years agomulti-user: Fix service load/save issues 13/30613/2
Zhang zhengguang [Fri, 21 Nov 2014 08:34:11 +0000 (16:34 +0800)]
multi-user: Fix service load/save issues

Refine service load/save to be multi-user complicant.

Change-Id: Icc8a0507826f4cae72319191e4fdbebe548434fc

10 years agomulti-user: Expose function to check service user favorite 05/30505/3
Zhang zhengguang [Wed, 19 Nov 2014 01:50:45 +0000 (09:50 +0800)]
multi-user: Expose function to check service user favorite

Expose the function to check whether the service is favorite
to the current user.

Change-Id: Ib232f16c652ec94ef2e10b199a638a98554a1066

10 years agomulti-user: Add multi-user support for auto connect service 15/29715/3 accepted/tizen/common/20141121.180554 accepted/tizen/ivi/20141202.020921 accepted/tizen/mobile/20141117.090654 submit/tizen/20141117.030429
Zhang zhengguang [Sat, 11 Oct 2014 08:46:50 +0000 (16:46 +0800)]
multi-user: Add multi-user support for auto connect service

Use case:

For wifi auto connect mechamnism, only when the user who owns the
wifi service login, the service is allowed to be auto connected.

Change-Id: I99135117facafda41532e0280c89194b27baac16

10 years agomulti-user: Add multi-user support in manager 14/29714/3
Zhang zhengguang [Fri, 17 Oct 2014 03:21:37 +0000 (11:21 +0800)]
multi-user: Add multi-user support in manager

Use case:

Given 2 users: UserA and UserB

If UserA is connected to a wifi service, then UserB is not allowed
to turn on offline mode.

Change-Id: I54b108beb580a805c7fa2d3ae9dac192b836ba77

10 years agomulti-user: Add multi-user support in technology 13/29713/3
Zhang zhengguang [Sat, 11 Oct 2014 07:09:09 +0000 (15:09 +0800)]
multi-user: Add multi-user support in technology

Use case:

Given 2 users: UserA and UserB

If UserA is connected to a wifi service, then UserB is not allowed
to set wifi technology properties.

Change-Id: Ia783b22bc28e9e487ddfa3a4c249c9d1ea76bde8

10 years agomulti-user: Add multi-user support in service 12/29712/3
Zhang zhengguang [Sat, 11 Oct 2014 07:08:18 +0000 (15:08 +0800)]
multi-user: Add multi-user support in service

Use cases:

Given 2 users: UserA and UserB

1. If UserA is connected to a wifi service, then UserB is not allowed
to connect wifi service, and not allowed to disconnect the service
UserA connected.

2. If UserA is connected to a wifi service, then UserB is allowed to
use the same connection, but he is not allowed to modify the connection.

3. If UserA is connected to a wifi service with security wep/wpa/psk,
then UserA disconnects it, when UserB tries to connect the same wifi
service, it must input passphrase to connect it.

Change-Id: Id686ebd7d1f3490875a9d8f877219bd004907227

10 years agomulti-user: Add function to get dbus user id synchronously 11/29711/3
Zhang zhengguang [Sat, 11 Oct 2014 07:06:14 +0000 (15:06 +0800)]
multi-user: Add function to get dbus user id synchronously

Change-Id: Ic41643e5f8b6e1a28ce00e0456d961fe2de7a7fb

10 years agoTethering: Get the client mac info of Gadget tether accepted/tizen/common/20141103.141112 accepted/tizen/ivi/20141107.062620 accepted/tizen/mobile/20141117.073754 submit/tizen/20141103.030434 submit/tizen_mobile/20141120.000000
guoqiang.liu [Wed, 25 Sep 2013 08:36:21 +0000 (16:36 +0800)]
Tethering: Get the client mac info of Gadget tether

Change-Id: Icfa6cd683c659e6728060d6201b90109c63fe56d

10 years agoTethering: Watch the connection and disconnection signal of Bluetooth
Chengyi Zhao [Sun, 22 Sep 2013 06:14:06 +0000 (14:14 +0800)]
Tethering: Watch the connection and disconnection signal of Bluetooth

Signed-off-by: Chengyi Zhao <chengyix.zhao@intel.com>
Change-Id: I38bb9b799c3e4c4c25acd9d264a4225bf59401dc

10 years agoTethering: Add tethering interfaces description to technology-api.txt
Chengyi Zhao [Fri, 26 Jul 2013 06:58:32 +0000 (14:58 +0800)]
Tethering: Add tethering interfaces description to technology-api.txt

Change-Id: I59768258d5f2515311ed3dad5db91618b1c459ec

10 years agoTethering: Add test script of open and hidden AP
Chengyi Zhao [Thu, 11 Jul 2013 02:29:38 +0000 (10:29 +0800)]
Tethering: Add test script of open and hidden AP

Change-Id: I8dbeaeba5848c8a8739422a93786b2ca6ed31b21

10 years agoTethering: Add hidden access point support in technology
Chengyi Zhao [Thu, 11 Jul 2013 02:00:31 +0000 (10:00 +0800)]
Tethering: Add hidden access point support in technology

Change-Id: I73fccf5f322ee2597f8f58d5e3d7f60ddeb0a641

10 years agoTethering: Add open access point support in technology
Chengyi Zhao [Thu, 11 Jul 2013 01:12:01 +0000 (09:12 +0800)]
Tethering: Add open access point support in technology

Change-Id: I86f4a22567f5df2fbd5d0c0c03c6cc5b6fc24a2d

10 years agoTethering: Notify listeners when station connection changes
Chengyi Zhao [Wed, 10 Jul 2013 12:00:36 +0000 (20:00 +0800)]
Tethering: Notify listeners when station connection changes

Change-Id: I048c1a8a348b6f862ca104ad2fbe971f580fe180

10 years agoTethering: Add interface that save lease in DHCP information
Chengyi Zhao [Wed, 10 Jul 2013 11:17:02 +0000 (19:17 +0800)]
Tethering: Add interface that save lease in DHCP information

Change-Id: Ia09c875954d8a20a3e6c39f87076780d8a6582e4

10 years agoTethering: Add station information management feature
Chengyi Zhao [Wed, 10 Jul 2013 09:54:32 +0000 (17:54 +0800)]
Tethering: Add station information management feature

Change-Id: I2f699e42ec5ce7f148b8c1d685b52ee32e2e236b

10 years agoTethering: Add handling for wpa_supplicant authorized/deauthorized signals
Chengyi Zhao [Wed, 10 Jul 2013 07:37:50 +0000 (15:37 +0800)]
Tethering: Add handling for wpa_supplicant authorized/deauthorized signals

Change-Id: Iff022e257ee9d2c5227585bf0b84e726914cc62b

10 years agoTizen: Unify bluetooth tethering enable logic
Zhang zhengguang [Tue, 25 Mar 2014 06:16:52 +0000 (14:16 +0800)]
Tizen: Unify bluetooth tethering enable logic

In bluez 4.x plugin, when bluetooth tethering is enabled,
set_tethering() returns 0, while in bluez 5.x plugin,
it returns -EINPROGRESS, which is not compatiable for
ConnMan to handle both of them, this patch makes bluez
5.x tethering enable logic consistent with bluez 4.x.

Change-Id: I618efd32b5f123fe9bdb58d10adb29c67a87796f

10 years agoTizen: Check some telephony flags before active context
guoqiang.liu [Fri, 27 Dec 2013 06:22:52 +0000 (14:22 +0800)]
Tizen: Check some telephony flags before active context

Telephony active maybe fail if data_allowed or ps_attached is false,
so check it before actived.

When data_allowed is false, if connman starts to auto connect 3G
service, it will result in 3G service auto connected fail, which
leads to it will not be auto connected next time.

Change-Id: Ibdd9c34fee7a612c1788a364c69550c4f7e79123
Signed-off-by: guoqiang.liu <guoqiang.liu@archermind.com>
10 years agoTizen: Fix wifi enterprise to support SIM and AKA
Arron Wang [Fri, 12 Oct 2012 02:10:28 +0000 (10:10 +0800)]
Tizen: Fix wifi enterprise to support SIM and AKA

Revise Wi-Fi enterprise to enable PEAP, TLS, TTLS
Fix wifi enterprise to support SIM and AKA

Change-Id: Ib9c10615fd0668b2ebca57eac9285bf8a3564427

10 years agoTizen: Integrate telephony plugin
Arron Wang [Wed, 10 Oct 2012 01:56:13 +0000 (09:56 +0800)]
Tizen: Integrate telephony plugin

Change-Id: Ia178f5de981501296573bf3f48e329d5a1355af6

10 years agoTizen: Export network proxy API for telephony plugin
Arron Wang [Tue, 9 Oct 2012 08:20:45 +0000 (16:20 +0800)]
Tizen: Export network proxy API for telephony plugin

Telephony plug-in requires manual PROXY setting function
Telephony stack provides proxy address (3G profile).

Change-Id: Iaa02f59465a687961c303667ee09051b419507d2

10 years agoTizen: Append extra wifi service property
Arron Wang [Mon, 24 Sep 2012 06:42:02 +0000 (14:42 +0800)]
Tizen: Append extra wifi service property

Append wifi property bssid, maxrate, frequency, encryptionmode to wifi
service

Change-Id: I1d5987334ab288fc04ff931fda5108f4afe864f0

10 years agoTizen: Export more wifi info in ConnMan network API
Arron Wang [Mon, 24 Sep 2012 06:18:07 +0000 (14:18 +0800)]
Tizen: Export more wifi info in ConnMan network API

Network client requires additional wifi specific info

Export the BSSID property
Export the MaxRate property
Export the detailed info for encryption mode(mixed,aes,tkip,wep,none)

Export the connman_network get/set method for bssid, maxrate,
encryption_mode property

Change-Id: Ic5744978282e49cb2f70165aaadc7822dc718dfb

10 years agoAdd connmanctl to the built rpm
Zhang zhengguang [Tue, 19 Aug 2014 01:41:09 +0000 (09:41 +0800)]
Add connmanctl to the built rpm

Change-Id: I84fb13ea9224985ad9e15b5c3c5f616bcf7431a4

10 years agoEnable ConnMan VPND/OpenVPN/OpenConnect configurable in spec file
Zhang zhengguang [Fri, 4 Jul 2014 06:37:58 +0000 (14:37 +0800)]
Enable ConnMan VPND/OpenVPN/OpenConnect configurable in spec file

10 years agoEnable ConnMan NTP configurable in spec file
Zhang zhengguang [Fri, 4 Jul 2014 06:33:55 +0000 (14:33 +0800)]
Enable ConnMan NTP configurable in spec file

10 years agoSet ConnMan default settings in config files
Zhang zhengguang [Fri, 4 Jul 2014 06:49:18 +0000 (14:49 +0800)]
Set ConnMan default settings in config files

10 years agoSet manifest request domain to floor
Zhang zhengguang [Fri, 4 Jul 2014 05:50:49 +0000 (13:50 +0800)]
Set manifest request domain to floor

10 years agoAdd systemd service to manager ConnMan NTP
Zhang zhengguang [Fri, 4 Jul 2014 06:12:08 +0000 (14:12 +0800)]
Add systemd service to manager ConnMan NTP

10 years agoAdd package build spec file
Zhang zhengguang [Fri, 4 Jul 2014 05:45:07 +0000 (13:45 +0800)]
Add package build spec file

Change-Id: Ia8c78e122998da70565700d895dbf54688e7c8b9

10 years agoAdd bootstrap files
Zhang zhengguang [Fri, 11 Jul 2014 01:34:05 +0000 (09:34 +0800)]
Add bootstrap files

Change-Id: Ia3923cb1ff35e7bfbd4e45f13dd18af15ed89f56

10 years agoImported Upstream version 1.26 upstream/1.26
Zhang zhengguang [Wed, 29 Oct 2014 03:03:47 +0000 (11:03 +0800)]
Imported Upstream version 1.26

10 years agoImported Upstream version 1.24 upstream/1.24
Zhang zhengguang [Thu, 17 Jul 2014 02:37:39 +0000 (10:37 +0800)]
Imported Upstream version 1.24

11 years agoclient: Fix passphrase handling
Patrik Flykt [Wed, 12 Jun 2013 13:54:32 +0000 (16:54 +0300)]
client: Fix passphrase handling

An empty passphrase means that WPS is to be tried next. If WPS is not
supported by the service, passphrase can not be left empty.

11 years agoclient: Implement VPN Agent API RequestInput method call
Patrik Flykt [Wed, 12 Jun 2013 13:54:31 +0000 (16:54 +0300)]
client: Implement VPN Agent API RequestInput method call

Instead of having a global agent_input struct, make the structure a
member of the agent_data structure that gets passed around when
handling the RequestInput method call.

With this modification agent_data is self-contained with all needed
information and the RequestInput handling code can be shared between
ConnMan and VPN agent implementations.

11 years agoclient: Add vpnagent command to register and unregister VPN Agent
Patrik Flykt [Wed, 12 Jun 2013 13:54:30 +0000 (16:54 +0300)]
client: Add vpnagent command to register and unregister VPN Agent

11 years agoclient: Implement support for queueing Agent messages
Patrik Flykt [Wed, 12 Jun 2013 13:54:29 +0000 (16:54 +0300)]
client: Implement support for queueing Agent messages

ConnMan and ConnMan VPN daemon both send only one Agent message at
a time. Since they are two different daemons, they can be sending
messages at the same time independent of each other.

Implement a check for an agent request from the other daemon being
already processed and if so store the message for later. When the
current agent request has been processed, check if there are
pending requests from the other daemon and re-run the pending
function.

In order to support arbitrary queueing, make all method call
implementations asynchronous.

11 years agoclient: Add VPN Agent support for Release, Cancel and ReportError
Patrik Flykt [Wed, 12 Jun 2013 13:54:28 +0000 (16:54 +0300)]
client: Add VPN Agent support for Release, Cancel and ReportError

Create a new agent data structure for the VPN Agent and add the needed
minor modifications to Release, Cancel and ReportError method calls in
order to get them working both for Agent and VPN Agent.

Create new register and unregister functions for the VPN Agent code.

11 years agoclient: Create agent data structure and pass it in function callbacks
Patrik Flykt [Wed, 12 Jun 2013 13:54:27 +0000 (16:54 +0300)]
client: Create agent data structure and pass it in function callbacks

Collect the agent variables into a data structure and update the agent
functionality to pass this data structure around as function callback
user data.

Update the agent mode input functionality to store both the callback
function and user data pointers. Notice that only only one input
callback can be handled at any one time due to the input handling itself
and the simple storing of callback and user data pointers.

11 years agoclient: Don't handle Agent messages in monitor code
Patrik Flykt [Wed, 12 Jun 2013 13:54:26 +0000 (16:54 +0300)]
client: Don't handle Agent messages in monitor code

Agent messages need to be handled in the agent code, ignore them when
they get captured in the monitor code.

11 years agoclient: Fix DBUS_TYPE_UINT16 pretty-printing
Patrik Flykt [Wed, 12 Jun 2013 13:54:25 +0000 (16:54 +0300)]
client: Fix DBUS_TYPE_UINT16 pretty-printing

The previous pretty-printing fix causes another change to be
made for DBUS_TYPE_UINT16.

11 years agodhcpv6: Send domain list option to server
Jukka Rissanen [Wed, 12 Jun 2013 11:43:24 +0000 (14:43 +0300)]
dhcpv6: Send domain list option to server

OPTION_DOMAIN_LIST(24) was not sent to server.

11 years agounit: Multiple collisions with different pools
Jukka Rissanen [Wed, 12 Jun 2013 08:02:59 +0000 (11:02 +0300)]
unit: Multiple collisions with different pools

Existing tests did not test this scenario:
* new address is registered to 192.168.0.2
* new address is registered to 192.168.1.2
* ippool is created to 192.168.2.1 (no collision)
* ippool is created to 192.168.3.1 (no collision)
* new address is registered to 192.168.3.1 (collision detected)

11 years agounit: Test ippool collision differently
Jukka Rissanen [Wed, 12 Jun 2013 08:02:58 +0000 (11:02 +0300)]
unit: Test ippool collision differently

Existing tests did not test this scenario:
* new address is registered to 192.168.1.2
* ippool is created to 192.168.0.1 (no collision)
* ippool is created to 192.168.2.1 (there is a collision and the
  code should skip the 192.168.1.1 range)

11 years agoippool: Clear allocated block pointer at cleanup
Jukka Rissanen [Wed, 12 Jun 2013 08:02:57 +0000 (11:02 +0300)]
ippool: Clear allocated block pointer at cleanup

Without this the unit tests might core dump as the allocated_block
pointer would point to already freed memory.

11 years agoippool: Private address check was incorrect
Jukka Rissanen [Wed, 12 Jun 2013 08:02:56 +0000 (11:02 +0300)]
ippool: Private address check was incorrect

Fixes BMC#25993

11 years agoservice: Send proxy properties when connected or disconnected
Jukka Rissanen [Fri, 7 Jun 2013 13:49:34 +0000 (16:49 +0300)]
service: Send proxy properties when connected or disconnected

Fixes BMC#26019

11 years agotechnology: Offlinemode could not be disabled if no technology was powered
Jukka Rissanen [Fri, 7 Jun 2013 12:15:29 +0000 (15:15 +0300)]
technology: Offlinemode could not be disabled if no technology was powered

If all the technologies were powered off, then offline mode could
not be disabled.

Fixes BMC#26018

11 years agoTODO: Mark GSequence removal done
Daniel Wagner [Fri, 7 Jun 2013 11:41:13 +0000 (13:41 +0200)]
TODO: Mark GSequence removal done

11 years agoservice: Use GList instead of GSequence for service list
Daniel Wagner [Fri, 7 Jun 2013 11:41:12 +0000 (13:41 +0200)]
service: Use GList instead of GSequence for service list

The hash table is now the owner of the service entry instead of the
service list.

11 years agosession: Use GList instead of GSequence for service list
Daniel Wagner [Fri, 7 Jun 2013 11:41:11 +0000 (13:41 +0200)]
session: Use GList instead of GSequence for service list

The hash table is now the owner of the service entry instead of
the service list.

11 years agosession: Use service iterator instead of match/creation callbacks
Daniel Wagner [Fri, 7 Jun 2013 11:41:10 +0000 (13:41 +0200)]
session: Use service iterator instead of match/creation callbacks

When a new session is created we need to get the initial list
of services which match the session AllowedBearers criteria. As soon
the session is running add or removed services are tracked via the
notifier interface.

We concluded that exposing all the services is not really necessary
and therefore we are using currently two callbacks to get the initial
list. That exposes implementation details from session to service, that
is GSequence. We also need to expose the type 'struct service_entry'.

Instead doing so we are using an iterator and keep all the
implementation details in session.c.

11 years agoservice: Initialize tech_data
Daniel Wagner [Fri, 7 Jun 2013 11:41:09 +0000 (13:41 +0200)]
service: Initialize tech_data

tech_data is allocated on the stack and is therefore not initilized
with NULL.

11 years agoclient: Avoid printing extra prompt on RequestInput
Patrik Flykt [Fri, 7 Jun 2013 06:58:33 +0000 (09:58 +0300)]
client: Avoid printing extra prompt on RequestInput

11 years agoclient: Read D-Bus string type only if argument is 'Type'
Patrik Flykt [Fri, 7 Jun 2013 05:25:25 +0000 (08:25 +0300)]
client: Read D-Bus string type only if argument is 'Type'

A basic type was always read independent of the argument type which
on some systems lead to a crash and on others only to a warning
printout.

11 years agoclient: Pretty-print D-Bus signed integers
Patrik Flykt [Mon, 3 Jun 2013 10:11:38 +0000 (13:11 +0300)]
client: Pretty-print D-Bus signed integers

To keep it more logical, rename the unsigned variable in the code.

11 years agoclient: Add VPN monitoring support
Patrik Flykt [Mon, 3 Jun 2013 10:04:19 +0000 (13:04 +0300)]
client: Add VPN monitoring support

When adding VPN monitoring capabilities, also clean up the monitor code.

11 years agoclient: Add support for displaying VPN connections
Patrik Flykt [Mon, 3 Jun 2013 07:59:56 +0000 (10:59 +0300)]
client: Add support for displaying VPN connections

Show a list of VPN connections known to the VPN daemon.

Also allow D-Bus path names to start with numbers, as it is fine with
the D-Bus library to define such path names. Fix up help command
pretty-printing as the VPN command is slightly longer.

11 years agoclient: Add VPN connection helper function
Patrik Flykt [Mon, 3 Jun 2013 07:49:23 +0000 (10:49 +0300)]
client: Add VPN connection helper function

Add helper function for printing VPN connections. Show also configuration
and failure states using 'C' and 'F' as configuration might take some
time and failure conveys practical information to the user.

11 years agoclient: Add parameter to specify D-Bus service for method call
Patrik Flykt [Mon, 3 Jun 2013 07:27:38 +0000 (10:27 +0300)]
client: Add parameter to specify D-Bus service for method call

11 years agoclient: Add missing header file boilerplate
Patrik Flykt [Mon, 3 Jun 2013 07:20:20 +0000 (10:20 +0300)]
client: Add missing header file boilerplate

11 years agodhcpv6: Make sure release message is sent
Jukka Rissanen [Tue, 4 Jun 2013 09:34:37 +0000 (12:34 +0300)]
dhcpv6: Make sure release message is sent

Register an empty Release callback so that the message will be sent.

11 years agobuild: Add session policy format document
Daniel Wagner [Fri, 31 May 2013 12:13:55 +0000 (14:13 +0200)]
build: Add session policy format document

11 years agodoc: Document session policy file format
Daniel Wagner [Fri, 31 May 2013 07:13:38 +0000 (09:13 +0200)]
doc: Document session policy file format

11 years agosession-test: Add tests for session_policy_local
Daniel Wagner [Fri, 31 May 2013 07:13:37 +0000 (09:13 +0200)]
session-test: Add tests for session_policy_local

Use the UID as identification.

11 years agosession_policy_local: Set session identification method
Daniel Wagner [Fri, 31 May 2013 07:13:36 +0000 (09:13 +0200)]
session_policy_local: Set session identification method

For SELinux we need to store the complete context for iptables
to work.

11 years agosession: Add session identification method to config
Daniel Wagner [Fri, 31 May 2013 07:13:35 +0000 (09:13 +0200)]
session: Add session identification method to config

The session core needs to the know which kind of session
identification method has been selected in the plugin in order
to use the right iptables rules etc.

11 years agosession_policy_local: Retrieve UID/GID from session user
Daniel Wagner [Fri, 31 May 2013 07:13:34 +0000 (09:13 +0200)]
session_policy_local: Retrieve UID/GID from session user

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.

11 years agosession_policy_local: Remove struct create_data
Daniel Wagner [Fri, 31 May 2013 07:13:33 +0000 (09:13 +0200)]
session_policy_local: Remove struct create_data

Use struct policy_data instead of struct create_data.

11 years agosession_policy_local: Rework policy file handling
Daniel Wagner [Fri, 31 May 2013 07:13:32 +0000 (09:13 +0200)]
session_policy_local: Rework policy file handling

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).

11 years agosession_policy_local: Add some more debug information
Daniel Wagner [Fri, 31 May 2013 07:13:31 +0000 (09:13 +0200)]
session_policy_local: Add some more debug information

11 years agosession_policy_local: Update session before unref policy
Daniel Wagner [Fri, 31 May 2013 07:13:30 +0000 (09:13 +0200)]
session_policy_local: Update session before unref policy

The update flag can be removed as it is no longer needed.

11 years agosession_policy_local: Refactor SELinux context parser
Daniel Wagner [Fri, 31 May 2013 07:13:29 +0000 (09:13 +0200)]
session_policy_local: Refactor SELinux context parser

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.

11 years agosession_policy_local: Do not handle small allocation
Daniel Wagner [Fri, 31 May 2013 07:13:28 +0000 (09:13 +0200)]
session_policy_local: Do not handle small allocation

Let's remove the small allocations error path because glib will
abort on memory exhausting anyway. Basically we remove dead code.

11 years agosession: Do not access stale entry pointers
Daniel Wagner [Fri, 31 May 2013 07:13:27 +0000 (09:13 +0200)]
session: Do not access stale entry pointers

When removing the entry clear all references towards it.

11 years agosession: Add session argument to create_service_entry_cb
Daniel Wagner [Fri, 31 May 2013 07:13:26 +0000 (09:13 +0200)]
session: Add session argument to create_service_entry_cb

Remember which session this struct service_entry belongs to when
removing the entries again.

11 years agoTODO: Support other time sources
Patrik Flykt [Wed, 29 May 2013 10:28:40 +0000 (13:28 +0300)]
TODO: Support other time sources

11 years agotimeserver: Periodically wake up to recheck timeservers
Patrik Flykt [Tue, 21 May 2013 10:32:14 +0000 (13:32 +0300)]
timeserver: Periodically wake up to recheck timeservers

The current situation is that a failed timeserver name resolution
removes the timeserver immediately from the list of used timeservers
and failing to connect to the nameserver IP address removes the
timeserver after a 2 second delay. Currently no mechanism exists to
re-create the list of nameservers once the list has been exhausted or
the more preferred timeservers have been removed from it.

This implementation combats both problems where less used timeservers
further away end up being used despite a more optimal closer one
becoming available as well as the problem of exhausting the
nameserver list. This is done by periodially waking up and checking
the timeserver in use. If the timeserver in use is not the most
preferred one or the list of timeservers is empty, the timeserver
list is recreated and the timeserver polling procedure is restarted.

11 years agoiptables: Fix memory leak when invoking xtables_find_match
Daniel Wagner [Fri, 24 May 2013 13:27:01 +0000 (15:27 +0200)]
iptables: Fix memory leak when invoking xtables_find_match

xtables_find_match() returns two different kind of pointers.
The first type is pointing to the function pointer table loaded
via dlopen(). The second type is a copy (via plain malloc) of the
first type. xtables_find_match() marks the copies/clones with
m == m->next. So we need to free the struct xtables_match which
point back to themself.

Also fix the issue that we didn't handle multple match instances
at the same time.

The memory leak is only visible when having more than one match
of a kind.

11 years agoRelease 1.15 1.15 upstream/1.15
Marcel Holtmann [Fri, 31 May 2013 01:15:29 +0000 (10:15 +0900)]
Release 1.15

11 years agoconfig: Remove code implementing Protected config file setting
Patrik Flykt [Wed, 29 May 2013 13:21:16 +0000 (16:21 +0300)]
config: Remove code implementing Protected config file setting

The code was relevant only for Manager.ProvisionService method call
which was removed a long time ago.

11 years agodoc: Remove Protected description
Patrik Flykt [Wed, 29 May 2013 13:21:15 +0000 (16:21 +0300)]
doc: Remove Protected description

The Protected setting was relevant only for Manager.ProvisionService
method call which was removed a long time ago.

11 years agovpn-config: Log a warning if the provider ident already exists
Patrik Flykt [Wed, 29 May 2013 13:21:14 +0000 (16:21 +0300)]
vpn-config: Log a warning if the provider ident already exists

Also set the returned value appropriately when removing or adding
configuration files.

11 years agovpn-config: Remove obsolete protected code
Patrik Flykt [Wed, 29 May 2013 13:21:13 +0000 (16:21 +0300)]
vpn-config: Remove obsolete protected code

For VPN connections created via configuration files the immutable flag
is set and it ensures no modifications are allowed. The protected
feature implementation was a left-over from service configuration code.

Removing the code fixes a bug where only VPN entries of different types
can be provisioned in the same provisioning file.

11 years agotest-ippool: Shortcut exhausting allocation test
Daniel Wagner [Wed, 29 May 2013 08:00:30 +0000 (10:00 +0200)]
test-ippool: Shortcut exhausting allocation test

Instead really trying to allocate all possible 69888 blocks, let's
reserve the first two IP pools and then we only need to allocate
255 blocks. That should bring down the runtime considerable.

11 years agoservice: Update Domains property when Domains.Configuration changes
Patrik Flykt [Wed, 29 May 2013 06:25:58 +0000 (09:25 +0300)]
service: Update Domains property when Domains.Configuration changes

Domains property was not updated when Domains.Configuration was changed.
If Domains.Configuration is for example set to empty when using DHCP,
the Domains property is to be updated with the value configured via DHCP.

Fixes BMC#26010

11 years agoservice: Check service type before fetching interface index
Patrik Flykt [Wed, 29 May 2013 06:52:49 +0000 (09:52 +0300)]
service: Check service type before fetching interface index

For VPNs, the index is available from provider, for other services from
network.

Fixes BMC#26009

11 years agoipconfig: Use system set addresses for IPv4 property in 'manual' mode
Patrik Flykt [Fri, 24 May 2013 11:38:01 +0000 (14:38 +0300)]
ipconfig: Use system set addresses for IPv4 property in 'manual' mode

Addresses and gateway for the service IPv4 property being used in the
system are available from ipconfig->system when the property is set to
'manual'.

11 years agoclient: Accept correctly spelled option name
Patrik Flykt [Fri, 24 May 2013 11:58:07 +0000 (14:58 +0300)]
client: Accept correctly spelled option name

Accept also correctly spelled version of 'preferred' option.

11 years agoclient: Fix minor issues in D-Bus path name checking
Patrik Flykt [Wed, 22 May 2013 09:21:36 +0000 (12:21 +0300)]
client: Fix minor issues in D-Bus path name checking

11 years agoclient: Fix index for IPv6 configuration option
Patrik Flykt [Wed, 22 May 2013 09:21:35 +0000 (12:21 +0300)]
client: Fix index for IPv6 configuration option

11 years agoclient: Reserve space for trailing NULL in the array
Patrik Flykt [Wed, 22 May 2013 09:21:34 +0000 (12:21 +0300)]
client: Reserve space for trailing NULL in the array

11 years agosession: Fix service2bearer to return a correct match all rule
Daniel Wagner [Tue, 21 May 2013 11:45:59 +0000 (13:45 +0200)]
session: Fix service2bearer to return a correct match all rule

11 years agodoc: Remove documentation for Technology IdleTimeout property
Patrik Flykt [Tue, 21 May 2013 18:14:03 +0000 (21:14 +0300)]
doc: Remove documentation for Technology IdleTimeout property

IdleTimeout hasn't so far been implemented in any release and will be
handled by other means if needed.

11 years agoservice: Restart timeserver polling only for the default service
Patrik Flykt [Mon, 20 May 2013 12:37:23 +0000 (15:37 +0300)]
service: Restart timeserver polling only for the default service

When timeservers are set, recreate timeserver polling list only if the
service is the the default one.

11 years agodoc: Document the deprecated RemoveProvider method call
Patrik Flykt [Mon, 20 May 2013 09:56:29 +0000 (12:56 +0300)]
doc: Document the deprecated RemoveProvider method call

Fixes BMC#25958

11 years agotest: Add test script for Clock API
Patrik Flykt [Fri, 17 May 2013 11:08:57 +0000 (14:08 +0300)]
test: Add test script for Clock API