summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2013-06-10technology: Offlinemode could not be disabled if no technology was poweredJukka Rissanen1-5/+9
If all the technologies were powered off, then offline mode could not be disabled. Fixes BMC#26018
2013-06-10TODO: Mark GSequence removal doneDaniel Wagner1-2/+1
2013-06-10service: Use GList instead of GSequence for service listDaniel Wagner1-186/+116
The hash table is now the owner of the service entry instead of the service list.
2013-06-10session: Use GList instead of GSequence for service listDaniel Wagner1-53/+41
The hash table is now the owner of the service entry instead of the service list.
2013-06-10session: Use service iterator instead of match/creation callbacksDaniel Wagner3-36/+28
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.
2013-06-10service: Initialize tech_dataDaniel Wagner1-1/+1
tech_data is allocated on the stack and is therefore not initilized with NULL.
2013-06-07client: Avoid printing extra prompt on RequestInputPatrik Flykt1-1/+2
2013-06-07client: Read D-Bus string type only if argument is 'Type'Patrik Flykt1-3/+4
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.
2013-06-07client: Pretty-print D-Bus signed integersPatrik Flykt1-1/+7
To keep it more logical, rename the unsigned variable in the code.
2013-06-07client: Add VPN monitoring supportPatrik Flykt1-38/+84
When adding VPN monitoring capabilities, also clean up the monitor code.
2013-06-07client: Add support for displaying VPN connectionsPatrik Flykt1-4/+75
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.
2013-06-07client: Add VPN connection helper functionPatrik Flykt3-0/+150
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.
2013-06-07client: Add parameter to specify D-Bus service for method callPatrik Flykt4-26/+33
2013-06-07client: Add missing header file boilerplatePatrik Flykt2-0/+26
2013-06-04dhcpv6: Make sure release message is sentJukka Rissanen1-2/+11
Register an empty Release callback so that the message will be sent.
2013-05-31build: Add session policy format documentDaniel Wagner1-1/+2
2013-05-31doc: Document session policy file formatDaniel Wagner1-0/+83
2013-05-31session-test: Add tests for session_policy_localDaniel Wagner1-0/+151
Use the UID as identification.
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: Add session identification method to configDaniel Wagner2-0/+13
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.
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-31session: Do not access stale entry pointersDaniel Wagner1-3/+16
When removing the entry clear all references towards it.
2013-05-31session: Add session argument to create_service_entry_cbDaniel Wagner3-4/+9
Remember which session this struct service_entry belongs to when removing the entries again.
2013-05-31TODO: Support other time sourcesPatrik Flykt1-0/+8
2013-05-31timeserver: Periodically wake up to recheck timeserversPatrik Flykt1-10/+72
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.
2013-05-31iptables: Fix memory leak when invoking xtables_find_matchDaniel Wagner1-12/+34
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.
2013-05-31Release 1.15upstream/1.151.15Marcel Holtmann2-1/+8
2013-05-30config: Remove code implementing Protected config file settingPatrik Flykt1-54/+0
The code was relevant only for Manager.ProvisionService method call which was removed a long time ago.
2013-05-30doc: Remove Protected descriptionPatrik Flykt1-3/+0
The Protected setting was relevant only for Manager.ProvisionService method call which was removed a long time ago.
2013-05-30vpn-config: Log a warning if the provider ident already existsPatrik Flykt1-2/+7
Also set the returned value appropriately when removing or adding configuration files.
2013-05-30vpn-config: Remove obsolete protected codePatrik Flykt1-63/+1
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.
2013-05-29test-ippool: Shortcut exhausting allocation testDaniel Wagner1-3/+9
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.
2013-05-29service: Update Domains property when Domains.Configuration changesPatrik Flykt1-0/+1
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
2013-05-29service: Check service type before fetching interface indexPatrik Flykt1-1/+4
For VPNs, the index is available from provider, for other services from network. Fixes BMC#26009
2013-05-24ipconfig: Use system set addresses for IPv4 property in 'manual' modePatrik Flykt1-1/+1
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'.
2013-05-24client: Accept correctly spelled option namePatrik Flykt1-2/+4
Accept also correctly spelled version of 'preferred' option.
2013-05-22client: Fix minor issues in D-Bus path name checkingPatrik Flykt1-2/+3
2013-05-22client: Fix index for IPv6 configuration optionPatrik Flykt1-1/+1
2013-05-22client: Reserve space for trailing NULL in the arrayPatrik Flykt1-1/+1
2013-05-22session: Fix service2bearer to return a correct match all ruleDaniel Wagner1-0/+1
2013-05-21doc: Remove documentation for Technology IdleTimeout propertyPatrik Flykt1-8/+0
IdleTimeout hasn't so far been implemented in any release and will be handled by other means if needed.
2013-05-21service: Restart timeserver polling only for the default servicePatrik Flykt1-1/+3
When timeservers are set, recreate timeserver polling list only if the service is the the default one.
2013-05-20doc: Document the deprecated RemoveProvider method callPatrik Flykt1-0/+4
Fixes BMC#25958
2013-05-20test: Add test script for Clock APIPatrik Flykt2-1/+34