Bug 1372799
Summary: | regression in libnm serializing "cloned-mac-address" which causes failure to edit property in nmtui | ||
---|---|---|---|
Product: | Red Hat Enterprise Linux 7 | Reporter: | Thomas Haller <thaller> |
Component: | NetworkManager | Assignee: | Thomas Haller <thaller> |
Status: | CLOSED ERRATA | QA Contact: | Desktop QE <desktop-qa-list> |
Severity: | unspecified | Docs Contact: | |
Priority: | unspecified | ||
Version: | 7.3 | CC: | atragler, bgalvani, fgiudici, lrintel, mkolaja, rkhan, thaller, vbenes |
Target Milestone: | rc | ||
Target Release: | --- | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | NetworkManager-1.4.0-5.el7 | Doc Type: | If docs needed, set a value |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2016-11-03 19:29:55 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
please review: th/empty-cloned-mac-address-rh1372799 (In reply to Thomas Haller from comment #1) > please review: th/empty-cloned-mac-address-rh1372799 LGTM LGTM. Maybe a tiny change in the comment: * field "assigned-mac-address"), libnm and _nm_utils_hwaddr_to_dbus - * would drop invalid values as it was unable to serialize them. + * would drop invalid values as they were unable to serialize them. (In reply to Francesco Giudici from comment #4) > LGTM. > > Maybe a tiny change in the comment: > * field "assigned-mac-address"), libnm and _nm_utils_hwaddr_to_dbus > - * would drop invalid values as it was unable to serialize them. > + * would drop invalid values as they were unable to serialize them. thanks. Reworded it samewhat differently. merged upstream: master: https://cgit.freedesktop.org/NetworkManager/NetworkManager/commit/?id=ad3c8a0d4e2b4aee07b59c3923169d02e29297ea nm-1-4: https://cgit.freedesktop.org/NetworkManager/NetworkManager/commit/?id=fe0e507617000fb655b28ffcb53597d5686ced85 Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://rhn.redhat.com/errata/RHSA-2016-2581.html |
The regression in libnm causes for example nmtui to be unable to edit the cloned-mac-address as NULL. Reproduce: Edit an ethernet or wifi connection that has "cloned-mac-address" unset. Notice, as long as you don't touch the cloned-mac-address input text field in nmtui, you can successfully save the connection (by selecting "OK"). Once you edit the text field, you can no longer clear the value. If you enter an empty text (which should be a supported value), the server will reject saving the connection. to quote the commit-message from the patch: >>> libnm: fix regression serializing empty "cloned-mac-address" For "cloned-mac-address", the empty string "" is an invalid value that is rejected by verify(). Commit 8eed671 changed how the property is serialized to D-Bus. Before, it was serialized using _nm_utils_hwaddr_to_dbus(). For invalid or empty addresses, this would not serialize the value on D-Bus (or before commit 76aa6f8e0, it would create a bogus value with no array elements). With commit 8eed671, the cloned-mac-address gets also serialized as "assigned-mac-address" via _nm_utils_hwaddr_cloned_data_synth(), which would pass on invalid strings that the server would then reject. That breaks for example nmtui. Try editing a connection with "cloned-mac-address" set to NULL. Note, as long as you don't edit the cloned MAC address in nmtui, you can save the modification. Once you start modifying the entry, you can no longer set an empty MAC address as the server now receiveds the empty string as invalid. Thus, the "OK" button fails with Unable to save connection: 802-3-ethernet.cloned-mac-address: is not a valid MAC address It also means, nmtui cannot modify the "cloned-mac-address" field to become empty. Fix that problem at various places by coercing "" to NULL.