po: update Assamese (as) translation (bgo #738105)

https://bugzilla.gnome.org/show_bug.cgi?id=738105

Signed-off-by: Thomas Haller <thaller@redhat.com>
ifnet: fix parsing dhcp configuration

- fix memleaks if the script contains duplicate lines
- only accept either dhclient or dhcpcd syntax, depending
  on the file
- be more strikt in parsing:
  - don't use strstr() when parsing dhcpcd.conf. It wrongly
    accepts "# send dhcp-client-identifier".
  - enfore that keyword are terminated by space. Would no longer
    accept "hostnameHOSTNAME"
- be less strict in parsing:
  - accept any number of spaces between "send" and "host-name"/
    "dhcp-client-identifier"

https://bugzilla.gnome.org/show_bug.cgi?id=738125

Signed-off-by: Thomas Haller <thaller@redhat.com>
supplicant: fix handling of 'freq_list' option and band locking (bgo #737795)

The supplicant has a custom parsing function for freq_list which
handles the list as a string.  Having NM marshal the option
as TYPE_BYTES causes the supplicant to interpret the values that
NM passes (which are in ASCII) as a byte-array and thus the
supplicant gets a bogus frequency list.  Instead, NM should
marshal freq_list as a simple string (using TYPE_KEYWORD without
value checking).

https://bugzilla.gnome.org/show_bug.cgi?id=737795
ifcfg-rh: read and write WiFi bands with BAND keyword

BAND alone will be honored, but CHANNEL will override BAND
since CHANNEL almost always implies BAND as well.
platform: fix format string for logging MTU in nm_platform_link_set_mtu()

Signed-off-by: Thomas Haller <thaller@redhat.com>
ifcfg-rh: fix build on 32-bit
core: add nm_utils_get_start_time_for_pid() function

Move the code from nm-auth-subject.c over to NetworkManagerUtils.c

Signed-off-by: Thomas Haller <thaller@redhat.com>
core: add nm_utils_kill_process_sync() function

This utility function is for killing other processes.
Contrary to nm_utils_kill_child_*() which is for killing
and reaping child processes.

Signed-off-by: Thomas Haller <thaller@redhat.com>
core/dhcp: kill external dhcp process using nm_utils_kill_process_sync()

nm_utils_kill_child_sync() is not able to reap the external process.
This causes NM to hang for 500 ms and logs the following error:

  <debug> [1412167360.400201] [NetworkManagerUtils.c:534] nm_utils_kill_child_sync(): kill child process 'dhcp-client' (7109): waiting up to 500 milliseconds for process to terminate normally afte
  <debug> [1412167360.900298] [NetworkManagerUtils.c:549] nm_utils_kill_child_sync(): kill child process 'dhcp-client' (7109): sending SIGKILL...
  <error> [1412167360.900369] [NetworkManagerUtils.c:576] nm_utils_kill_child_sync(): kill child process 'dhcp-client' (7109): after sending SIGTERM (15) and SIGKILL, waitpid failed with No child

Signed-off-by: Thomas Haller <thaller@redhat.com>
dhcp: relax check valid PID for dhcp process

All callers only pass a PID that previously was returned from
spawning a process. AFAIS, there is no officially reserved range
for lower PIDs that would enforce valid PIDs to be larger then 25.
Relax this check.

Signed-off-by: Thomas Haller <thaller@redhat.com>
core: merge branch 'th/bgo737731-kill-process'

Add utility function to kill non-child processes and fix the wrong
use of nm_utils_kill_child_process_sync() in nm-dhcp-client.c

https://bugzilla.gnome.org/show_bug.cgi?id=737731

Signed-off-by: Thomas Haller <thaller@redhat.com>
libnm: (trivial) reorder NMClient function declarations/code

Rearrange the NMClient function declarations and the functions
themselves, and group them into "general", "device", and "active
connection" sections.

No code changes, just moving things around.
libnm: clean up NMClient semantics when NM is not running

Add a single function to check if NM is running and set a GError if
not, then use it as appropriate.

Don't bother to check if NM is running in get_*() functions if
nm_running_changed_cb() would have reset the field anyway (and fix
that up to reset a few more fields).
libnm: split "NMManager" out of NMClient

Clone NMClient as NMManager, and make NMClient just be a wrapper
around that new class.
cli: (trivial) rename NmCli.system_connections to connections

Rename NmCli.system_connections to connections, since the "user
connections" have been gone forever.
libnm: merge NMRemoteSettings into NMClient

Make NMRemoteSettings internal and have NMClient wrap all of its APIs,
just like it does with NMManager.
libnm: merge NMRemoteSettings into NMClient (bgo #738103)
libnm: add nm-types.h, to avoid include loops

Add nm-types.h defining all the type structs, to avoid future include
loops. Clean up the includes in all of the installed headers.
libnm: fix NMActiveConnection object-path-valued properties

NMActiveConnection:connection was an object path rather than an
NMRemoteConnection because in the past the NMObject property system
wasn't capable of handling NMRemoteConnection-valued properties.
NMActiveConnection:master was an object path rather than an NMDevice
entirely by accident. Fix both.

NMActiveConnection:specific-object can't currently be converted to an
object, because we don't know ahead of time what object type it is,
and NMObject can't deal with that. Instead, we rename it to
:specific-object-path (and likewise for its get function), both to
emphasize that it doesn't behave like other properties, and to leave
the old name open for an actual object-valued property later on.
libnm: fix NMActiveConnection object-path-valued properties (bgo #738103)