Commit graph

36 commits

Author SHA1 Message Date
Jiří Klimeš
cb680c5b54 ifcfg-rh: add missing functionality for reading/writing subject matches
subject-match              - IEEE_8021X_SUBJECT_MATCH
altsubject-matches         - IEEE_8021X_ALTSUBJECT_MATCHES
phase2-subject-match       - IEEE_8021X_PHASE2_SUBJECT_MATCH
phase2-altsubject-matches  - IEEE_8021X_PHASE2_ALTSUBJECT_MATCHES

And a testcase of course.
2014-02-28 10:17:40 +01:00
Dan Williams
aeefde7513 ifcfg-rh: add testcase for empty Team port config
Add testcase for 3e70fb20d4.
2014-02-14 10:05:19 -06:00
Dan Williams
078d177874 ifcfg-rh: add tests for Team master and port 2014-01-27 12:49:55 -06:00
Jiří Klimeš
97af7e6ee5 ifcfg-rh: read/write dhcp-send-hostname as DHCP_SEND_HOSTNAME (rh #1001529)
It is an extension compared to initscripts (not in sysconfig.txt). But it is
necessary for preserving dhcp-send-hostname. Missing DHCP_SEND_HOSTNAME is
treated as "yes", which matches dhcp-send-hostname default value being TRUE.

https://bugzilla.redhat.com/show_bug.cgi?id=1001529
2013-12-12 08:42:33 +01:00
Dan Winship
e213707623 settings: add unrecognized-specs, implement in ifcfg-rh
In Fedora, OVS ports are now identified in ifcfg files as
"TYPE=OVSPort", which NM doesn't recognize, and so it would ignore
those ifcfg files. Unfortunately, this meant that if auto-default
wasn't disabled, and there was no other configuration defined for the
device, then NM would create an NMDefaultWiredConnection for it and
screw things up.

So, add an "unrecognized-specs" settings plugin property, which allows
a plugin to indicate to NetworkManager that it knows of some
non-NetworkManager-supported connection defined for a device. This
will suppress default-wired connection creation for that device,
similar to the "no-auto-default" config file option, but determined by
the plugin instead of by manual configuration. Devices listed in
unrecognized-specs may still be managed by NetworkManager, unless they
are also listed in unmanaged-specs.

https://bugzilla.redhat.com/show_bug.cgi?id=1022256
2013-11-01 13:04:12 -04:00
Dan Winship
0d3674a50a ifcfg-rh: centralize unmanaged-spec handling in the reader
Rather than having each connection-parsing function do its own
unmanaged-spec handling, just do it all directly from
connection_from_file(), and don't bother trying to fully parse the
file if it is unmanaged, since it won't ever be seen outside of the
plugin in that case anyway.

This also makes it possible to have an ifcfg file of an unrecognized
type be unmanaged.
2013-11-01 13:04:11 -04:00
Dan Williams
a3bd6df05f ifcfg-rh: add DCB setting reader and writer
See 'ifcfg-test-dcb' for details on all supported options.
2013-10-31 13:29:21 -05:00
Jiří Klimeš
1a67f8df03 ifcfg-rh: always read (and write) static IP addresses (rh #998135)
Static IP addresses were only read from ifcfg-* file when IP method was
'manual' (BOOTPROTO=none|static). This was to match the legacy initscripts
behaviour. However, NetworkManager supports using additional static IPs in
addition to automatically obtained (DHCP, etc.) addresses. So we now read
static IPs even for automatic methods to be able to use this feature.

https://bugzilla.redhat.com/show_bug.cgi?id=998135
2013-10-24 10:09:57 +02:00
Jiří Klimeš
2af8c08f65 ifcfg-rh: ignore default routes in route6 file (rh #991807)
Base on patch from Francesco Prelz <Francesco Prelz mi infn it>:
https://mail.gnome.org/archives/networkmanager-list/2013-January/msg00095.html

https://bugzilla.redhat.com/show_bug.cgi?id=991807
2013-10-07 18:10:27 +02:00
Scott Shambarger
04f6e09d50 ifcfg-rh: fix handling of legacy IPv4 route files without gateway.
Routes without gateway are legal and should be treated as a device route
(direct route).

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

The original patch was written by Scott Shambarger <scott-gnome@shambarger.net>.
This is a modified version of the patch.

Signed-off-by: Thomas Haller <thaller@redhat.com>
Reported-by: Scott Shambarger <scott-gnome@shambarger.net>
2013-09-05 21:13:15 +02:00
Jiří Klimeš
bb72d2e4e2 ifcfg-rh: fix distcheck 2013-08-27 15:03:45 +02:00
Jiri Pirko
dbf9c42578 ifcfg-rh: add test for BOOTPROTO=none reader
Signed-off-by: Jiri Pirko <jiri@resnulli.us>
2013-08-22 08:51:51 -04:00
Dan Williams
e9e84c19c9 ifcfg-rh: fix handling of VLAN parent PHYSDEV key
The initscripts do this:

    MATCH='^.+\.[0-9]{1,4}$'
    if [[ "${DEVICE}" =~ $MATCH ]]; then
	VID=$(echo "${DEVICE}" | LC_ALL=C sed 's/^.*\.\([0-9]\+\)/\1/')
	PHYSDEV=${DEVICE%.*}
    fi
    MATCH='^vlan[0-9]{1,4}?'
    if [[ "${DEVICE}" =~ $MATCH ]]; then
	VID=$(echo "${DEVICE}" | LC_ALL=C sed 's/^vlan0*//')
	# PHYSDEV should be set in ifcfg-vlan* file
	if test -z "$PHYSDEV"; then
		net_log $"PHYSDEV should be set for device ${DEVICE}"
		exit 1
	fi
    fi

which means that if the VLAN name starts with "vlan" then
PHYSDEV must be set, otherwise the parent interface cannot
be determined.

Since PHYSDEV, if set, reflects the explicit intentions of the
user instead of assuming the name from DEVICE, make PHYSDEV
take precedence over determining the parent interface from
heuristics.
2013-08-06 16:36:51 -05:00
Dan Williams
360a02fc13 ifcfg-rh: ensure missing STP property is interpreted as "off" (rh #922702)
The initscripts interpreted it this way, so we do too.
2013-03-22 09:13:12 -05:00
Dan Williams
20e60deccb ifcfg-rh: add support for reading/writing bridge port connections
Allows to attach any connection to a bridge using the BRIDGE= key.
IP configuration is optional for bridge components but not
prohibited. Test case included.
2012-11-30 13:21:51 -06:00
Thomas Graf
6bc5213b66 ifcfg-rh: add support for reading/writing bridge connections
Including testcase.
2012-11-30 13:21:51 -06:00
Dan Winship
f14ecfb9f5 build: distcheck fixes 2012-10-04 09:36:19 -04:00
Dan Winship
c87f1758be ifcfg-rh: Fix bonds-of-InfiniBand
Move the bond-slave check out of the wired-specific code so that it
can be shared with the infiniband code again.
2012-09-26 12:10:23 -04:00
Dan Winship
3324bd2cdf ifcfg-rh: ignore IP config on bond slaves
NM was requiring that bond slaves have either no IP config or an
explicit "none"/"disabled" config. But the system scripts just ignore
any IP config that is present on a slave, so change NM to do that too
(but warn about it).

https://bugzilla.redhat.com/show_bug.cgi?id=838907
2012-07-23 12:52:32 -04:00
Jiří Klimeš
974c39fe3e ifcfg-rh: fix a segfault when unescaping a string (rh #841391)
The crash occured for variables like these:
VAR="
VAR='
2012-07-19 14:30:29 +02:00
Jiří Klimeš
4938996973 ifcfg-rh: fix unescaping single quotes in WPA passphrases (WPA_PSK) (rh #833616)
When the last character of the PSK was a backslash and the whole PSK was
enclosed in single quotes, the unquoting/unescaping code mistakenly took
trailing \' as an escaped quote and thus changed \ to '.

See also 79757f10f3 (that introduced the code).
2012-06-22 13:04:18 +02:00
Dan Williams
cfa1536fa8 ifcfg-rh: fix distcheck 2012-03-13 14:50:36 -05:00
Jiří Klimeš
79757f10f3 ifcfg-rh: use single quotes when quoting WPA passphrases (WPA_PSK) (rh #798102)
Single quotes ensure we don't break initscripts (bash processing) when the
string contains special characters. Special handling is necessary for single
quotes characters. They have to be escaped and the whole string has to be
prepended with '$' character so that bash is happy.
This change also filters out CR and LF characters as they break WPA_PSK
variable and could pose security issues.
2012-03-07 14:45:37 +01:00
Dan Winship
49214066a4 Fix capitalization of "InfiniBand"
"InfiniBand" has a capital "B". Fix that everywhere it's being used as
a human-readable string.

In particular, the RH initscripts recognize "TYPE=infiniband" and
"TYPE=InfiniBand", but not "TYPE=Infiniband", which is what we were
writing before.
2012-03-06 13:23:29 -05:00
Dan Williams
10b32be37b ifcfg-rh: various VLAN cleanups
Add some testcases checking for DEVICE/PHYSDEV/VLAN_ID variations,
and read/write the new VLAN_ID tag, which we can use in
combination with the 'parent' property to determine the interface
name if no interface name/DEVICE is given.
2012-03-01 17:40:17 -06:00
Weiping Pan
ee4b05cfc6 ifcfg-rh: add ifcfg-vlan parser
The example of ifcfg-vlan is as followed:

VLAN=yes
TYPE=Vlan
DEVICE=vlan43  or "DEVICE=eth9.43"
PHYSDEV=eth9
REORDER_HDR=0
VLAN_FLAGS=GVRP,LOOSE_BINDING
VLAN_INGRESS_PRIORITY_MAP=0:1,2:5
VLAN_EGRESS_PRIORITY_MAP=12:3,14:7
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.43.149
NETMASK=255.255.255.0

And we try to make it compitable with the format used by initscripts,
and there is no need to change anything in ifcfg-eth9.

Signed-off-by: Weiping Pan <wpan@redhat.com>

(dcbw: complete VLAN testcase)
2012-02-16 15:05:55 -06:00
Dan Williams
3f963d308a build: fix distcheck due to missing ifcfg-rh test files 2012-02-16 15:05:26 -06:00
Thomas Graf
5a3e1caec1 ifcfg-rh: add bonding test cases
Adds two simple test cases for bonding masters and bonding slaves.

Signed-off-by: Thomas Graf <tgraf@redhat.com>
2012-02-15 21:28:33 -06:00
Dan Winship
c79b8085ee ifcfg-rh: belatedly add writer support for infiniband (and tests) 2012-02-02 12:24:03 -06:00
Dan Williams
ba390d2430 ifcfg-rh: add testcase for PEAP anonymous identity (rh #708436) 2011-07-18 22:40:45 -05:00
Jiří Klimeš
b7b5599fb3 ifcfg-rh: add testcases for IPv4 manual addresses 2011-04-14 10:53:26 +02:00
Dan Williams
5af6a4baec ifcfg-rh: add testcase for S390 CTC-type connections (bgo #647578) (rh #641986) 2011-04-12 15:03:09 -05:00
Dan Williams
af7e26b39a ifcfg-rh: fix reading and writing of Dynamic WEP with EAP-LEAP connections
These are distinct from old-school LEAP (ie, Network EAP) in that
they are standard Dynamic WEP with LEAP as an EAP method and use
open-system authentication.  Old LEAP uses the non-standard LEAP
authentication algorithm.  The config for each is different and thus
we need to make sure we handle both cases.
2011-03-14 00:25:14 -05:00
Dan Williams
e165511ed8 ifcfg-rh: fix handling of private key password secret flags 2011-03-03 17:32:29 -06:00
Dan Williams
bc4d3482e1 ifcfg-rh: handle secret flags
Some adjustments need to be made to read and write secret flags, and
to ensure that connections that don't have system-owned secrets are
still parsed as expected.  testcases for 802.1x connections to come
shortly.
2011-03-03 12:29:37 -06:00
Dan Williams
5bcb0832e5 settings: move system-settings/plugins => src/settings/plugins 2011-02-15 11:55:34 -06:00