{"push_id":1075287311,"size":37,"distinct_size":3,"ref":"refs/heads/th/device-ip-config-on-link-up-rh1309899","head":"801718501513194dfd83442fde5a8b7f7b7ffc17","before":"7999adb9bf3bd64782f2c6953de8d525e92df4ca","commits":[{"sha":"178c972facec38dbcbc0978fe57f208eed42623b","author":{"email":"c9b9bbc6e9b0bc7e9cec5af1551c7b98adb9530c@v3.sk","name":"Lubomir Rintel"},"message":"libnm-core/vpn-connection: get the service for bus path from plugin\n\n...not from the connection. Otherwise the o.fdo.NM.openswan connection\nwould try to use a name they're not allowed to use.","distinct":false,"url":"https://api.github.com/repos/NetworkManager/NetworkManager/commits/178c972facec38dbcbc0978fe57f208eed42623b"},{"sha":"332994f1b19ded7cb343ef573443916bab05aaec","author":{"email":"c9b9bbc6e9b0bc7e9cec5af1551c7b98adb9530c@v3.sk","name":"Lubomir Rintel"},"message":"device-factory: always prefer manually set interface name to a generated one\n\nIf the connection specifies an interface name, it should never attach to\na device of a different name even if the factory thinks the connection\nis compatible with the device.\n\nThis fixes an issue that caused the inifniband connections to attach to\ndifferent devices or partitions.","distinct":false,"url":"https://api.github.com/repos/NetworkManager/NetworkManager/commits/332994f1b19ded7cb343ef573443916bab05aaec"},{"sha":"7e5b0c94e6de782f25c41e081ca28d235751ce76","author":{"email":"76686399b73357bbab3cce10937c280c528b17ce@redhat.com","name":"Beniamino Galvani"},"message":"contrib/fedora: add dependency on jansson","distinct":false,"url":"https://api.github.com/repos/NetworkManager/NetworkManager/commits/7e5b0c94e6de782f25c41e081ca28d235751ce76"},{"sha":"28274495d61cb434272e0e2307dfd824ee78de8e","author":{"email":"76686399b73357bbab3cce10937c280c528b17ce@redhat.com","name":"Beniamino Galvani"},"message":"device/team: always try to connect to teamd in update_connection()\n\nupdate_connection() may be called during startup when the bus watch\nhasn't notified yet the presence (or absence) of the teamd service on\nthe bus. Try to obtain a connection to the service in order to\nretrieve the current configuration.","distinct":false,"url":"https://api.github.com/repos/NetworkManager/NetworkManager/commits/28274495d61cb434272e0e2307dfd824ee78de8e"},{"sha":"82f8a54854f65d2bf648329d1d9b411de04959cb","author":{"email":"76686399b73357bbab3cce10937c280c528b17ce@redhat.com","name":"Beniamino Galvani"},"message":"libnm-core: use jansson to compare and check team configurations\n\nOptionally link libnm-core against jansson JSON library and use it to\nvalidate and compare team configurations.","distinct":false,"url":"https://api.github.com/repos/NetworkManager/NetworkManager/commits/82f8a54854f65d2bf648329d1d9b411de04959cb"},{"sha":"a5f794ac0fcba47004ba23027dda108db1419284","author":{"email":"76686399b73357bbab3cce10937c280c528b17ce@redhat.com","name":"Beniamino Galvani"},"message":"team: merge branch 'bg/team-conf-check-rh1294728'\n\nImprove the assumption logic for team devices.\n\nhttps://bugzilla.redhat.com/show_bug.cgi?id=1294728","distinct":false,"url":"https://api.github.com/repos/NetworkManager/NetworkManager/commits/a5f794ac0fcba47004ba23027dda108db1419284"},{"sha":"38abb711f52e4dfde57923721c9eefe42579e196","author":{"email":"16e26612e4159990a6b3691e92592e691ff74132@redhat.com","name":"Thomas Haller"},"message":"systemd: update code from upstream\n\nThis is a direct dump from systemd git on 2016-04-19, git commit\n490d20e65dd85628f910299a3925bbff466b2e74.\n\n======\n\nSYSTEMD_DIR=../systemd\nCOMMIT=490d20e65dd85628f910299a3925bbff466b2e74\n\n(\n  cd \"$SYSTEMD_DIR\"\n  git checkout \"$COMMIT\"\n  git reset --hard\n  git clean -fdx\n)\n\ngit ls-files :/src/systemd/src/ | xargs -d '\\n' rm -f\n\nnm_copy_sd() {\n    mkdir -p \"./src/systemd/$(dirname \"$1\")\"\n    cp \"$SYSTEMD_DIR/$1\" \"./src/systemd/$1\"\n}\n\nnm_copy_sd \"src/basic/alloc-util.c\"\nnm_copy_sd \"src/basic/alloc-util.h\"\nnm_copy_sd \"src/basic/async.h\"\nnm_copy_sd \"src/basic/escape.c\"\nnm_copy_sd \"src/basic/escape.h\"\nnm_copy_sd \"src/basic/ether-addr-util.c\"\nnm_copy_sd \"src/basic/ether-addr-util.h\"\nnm_copy_sd \"src/basic/fileio.c\"\nnm_copy_sd \"src/basic/fileio.h\"\nnm_copy_sd \"src/basic/fd-util.c\"\nnm_copy_sd \"src/basic/fd-util.h\"\nnm_copy_sd \"src/basic/fs-util.c\"\nnm_copy_sd \"src/basic/fs-util.h\"\nnm_copy_sd \"src/basic/hash-funcs.c\"\nnm_copy_sd \"src/basic/hash-funcs.h\"\nnm_copy_sd \"src/basic/hashmap.c\"\nnm_copy_sd \"src/basic/hashmap.h\"\nnm_copy_sd \"src/basic/hexdecoct.c\"\nnm_copy_sd \"src/basic/hexdecoct.h\"\nnm_copy_sd \"src/basic/hostname-util.c\"\nnm_copy_sd \"src/basic/hostname-util.h\"\nnm_copy_sd \"src/basic/in-addr-util.c\"\nnm_copy_sd \"src/basic/in-addr-util.h\"\nnm_copy_sd \"src/basic/io-util.c\"\nnm_copy_sd \"src/basic/io-util.h\"\nnm_copy_sd \"src/basic/list.h\"\nnm_copy_sd \"src/basic/log.h\"\nnm_copy_sd \"src/basic/macro.h\"\nnm_copy_sd \"src/basic/mempool.h\"\nnm_copy_sd \"src/basic/mempool.c\"\nnm_copy_sd \"src/basic/parse-util.c\"\nnm_copy_sd \"src/basic/parse-util.h\"\nnm_copy_sd \"src/basic/path-util.c\"\nnm_copy_sd \"src/basic/path-util.h\"\nnm_copy_sd \"src/basic/prioq.h\"\nnm_copy_sd \"src/basic/prioq.c\"\nnm_copy_sd \"src/basic/random-util.c\"\nnm_copy_sd \"src/basic/random-util.h\"\nnm_copy_sd \"src/basic/refcnt.h\"\nnm_copy_sd \"src/basic/set.h\"\nnm_copy_sd \"src/basic/signal-util.h\"\nnm_copy_sd \"src/basic/siphash24.c\"\nnm_copy_sd \"src/basic/siphash24.h\"\nnm_copy_sd \"src/basic/socket-util.c\"\nnm_copy_sd \"src/basic/socket-util.h\"\nnm_copy_sd \"src/basic/sparse-endian.h\"\nnm_copy_sd \"src/basic/stdio-util.h\"\nnm_copy_sd \"src/basic/string-table.c\"\nnm_copy_sd \"src/basic/string-table.h\"\nnm_copy_sd \"src/basic/string-util.c\"\nnm_copy_sd \"src/basic/string-util.h\"\nnm_copy_sd \"src/basic/strv.c\"\nnm_copy_sd \"src/basic/strv.h\"\nnm_copy_sd \"src/basic/time-util.c\"\nnm_copy_sd \"src/basic/time-util.h\"\nnm_copy_sd \"src/basic/umask-util.h\"\nnm_copy_sd \"src/basic/unaligned.h\"\nnm_copy_sd \"src/basic/utf8.c\"\nnm_copy_sd \"src/basic/utf8.h\"\nnm_copy_sd \"src/basic/util.c\"\nnm_copy_sd \"src/basic/util.h\"\nnm_copy_sd \"src/libsystemd-network/arp-util.c\"\nnm_copy_sd \"src/libsystemd-network/arp-util.h\"\nnm_copy_sd \"src/libsystemd-network/dhcp6-internal.h\"\nnm_copy_sd \"src/libsystemd-network/dhcp6-lease-internal.h\"\nnm_copy_sd \"src/libsystemd-network/dhcp6-network.c\"\nnm_copy_sd \"src/libsystemd-network/dhcp6-option.c\"\nnm_copy_sd \"src/libsystemd-network/dhcp6-protocol.h\"\nnm_copy_sd \"src/libsystemd-network/dhcp-identifier.c\"\nnm_copy_sd \"src/libsystemd-network/dhcp-identifier.h\"\nnm_copy_sd \"src/libsystemd-network/dhcp-internal.h\"\nnm_copy_sd \"src/libsystemd-network/dhcp-lease-internal.h\"\nnm_copy_sd \"src/libsystemd-network/dhcp-network.c\"\nnm_copy_sd \"src/libsystemd-network/dhcp-option.c\"\nnm_copy_sd \"src/libsystemd-network/dhcp-packet.c\"\nnm_copy_sd \"src/libsystemd-network/dhcp-protocol.h\"\nnm_copy_sd \"src/libsystemd-network/lldp-internal.h\"\nnm_copy_sd \"src/libsystemd-network/lldp-neighbor.c\"\nnm_copy_sd \"src/libsystemd-network/lldp-neighbor.h\"\nnm_copy_sd \"src/libsystemd-network/lldp-network.c\"\nnm_copy_sd \"src/libsystemd-network/lldp-network.h\"\nnm_copy_sd \"src/libsystemd-network/network-internal.c\"\nnm_copy_sd \"src/libsystemd-network/network-internal.h\"\nnm_copy_sd \"src/libsystemd-network/sd-dhcp6-client.c\"\nnm_copy_sd \"src/libsystemd-network/sd-dhcp6-lease.c\"\nnm_copy_sd \"src/libsystemd-network/sd-dhcp-client.c\"\nnm_copy_sd \"src/libsystemd-network/sd-dhcp-lease.c\"\nnm_copy_sd \"src/libsystemd-network/sd-ipv4ll.c\"\nnm_copy_sd \"src/libsystemd-network/sd-ipv4acd.c\"\nnm_copy_sd \"src/libsystemd-network/sd-lldp.c\"\nnm_copy_sd \"src/libsystemd/sd-event/sd-event.c\"\nnm_copy_sd \"src/libsystemd/sd-id128/sd-id128.c\"\nnm_copy_sd \"src/shared/dns-domain.c\"\nnm_copy_sd \"src/shared/dns-domain.h\"\nnm_copy_sd \"src/systemd/_sd-common.h\"\nnm_copy_sd \"src/systemd/sd-dhcp6-client.h\"\nnm_copy_sd \"src/systemd/sd-dhcp6-lease.h\"\nnm_copy_sd \"src/systemd/sd-dhcp-client.h\"\nnm_copy_sd \"src/systemd/sd-dhcp-lease.h\"\nnm_copy_sd \"src/systemd/sd-event.h\"\nnm_copy_sd \"src/systemd/sd-ndisc.h\"\nnm_copy_sd \"src/systemd/sd-id128.h\"\nnm_copy_sd \"src/systemd/sd-ipv4acd.h\"\nnm_copy_sd \"src/systemd/sd-ipv4ll.h\"\nnm_copy_sd \"src/systemd/sd-lldp.h\"","distinct":false,"url":"https://api.github.com/repos/NetworkManager/NetworkManager/commits/38abb711f52e4dfde57923721c9eefe42579e196"},{"sha":"3f230c1ad8252c62745b5e92a137482cbac10b10","author":{"email":"16e26612e4159990a6b3691e92592e691ff74132@redhat.com","name":"Thomas Haller"},"message":"merge: merge branch 'systemd' into master","distinct":false,"url":"https://api.github.com/repos/NetworkManager/NetworkManager/commits/3f230c1ad8252c62745b5e92a137482cbac10b10"},{"sha":"f9a0aface38ec4ea21dfd9ae8e4e3d6777b372e6","author":{"email":"c9b9bbc6e9b0bc7e9cec5af1551c7b98adb9530c@v3.sk","name":"Lubomir Rintel"},"message":"macvlan: fix error handling","distinct":false,"url":"https://api.github.com/repos/NetworkManager/NetworkManager/commits/f9a0aface38ec4ea21dfd9ae8e4e3d6777b372e6"},{"sha":"dda8e24a214a8a1f4057e48b13f1f7af8c01de4f","author":{"email":"c9b9bbc6e9b0bc7e9cec5af1551c7b98adb9530c@v3.sk","name":"Lubomir Rintel"},"message":"infiniband: consistently use the error code\n\nOnly report CREATION_FAILED when we did actually attempt creation.","distinct":false,"url":"https://api.github.com/repos/NetworkManager/NetworkManager/commits/dda8e24a214a8a1f4057e48b13f1f7af8c01de4f"},{"sha":"7eca706751907c498ff27408aa2e0098205c4bf3","author":{"email":"c9b9bbc6e9b0bc7e9cec5af1551c7b98adb9530c@v3.sk","name":"Lubomir Rintel"},"message":"infiniband: check that the connection to be created is a partition first\n\nNo functional change. It will make it a bit easier to produce a good\nerror message in subsequent commit.","distinct":false,"url":"https://api.github.com/repos/NetworkManager/NetworkManager/commits/7eca706751907c498ff27408aa2e0098205c4bf3"},{"sha":"03584e420f58aafaa2d71408deb2b4603dcc3103","author":{"email":"c9b9bbc6e9b0bc7e9cec5af1551c7b98adb9530c@v3.sk","name":"Lubomir Rintel"},"message":"device: check for a parent device\n\nThe device creation can be attempted if the name can be determined. It\nalone is doesn't mean that there's a parent device -- the name could\njust have been hardcoded in the connection.\n\n  NetworkManager[21519]: nm_device_get_ifindex: assertion 'NM_IS_DEVICE (self)' failed\n\n  Program received signal SIGTRAP, Trace/breakpoint trap.\n  g_logv (log_domain=0x5555557fb2e5 \"NetworkManager\", log_level=G_LOG_LEVEL_CRITICAL, format=<optimized out>, args=args@entry=0x7fffffffd3d0) at gmessages.c:1046\n  1046              g_private_set (&g_log_depth, GUINT_TO_POINTER (depth));\n  (gdb) bt\n  #0  0x00007ffff4ec88c3 in g_logv (log_domain=0x5555557fb2e5 \"NetworkManager\", log_level=G_LOG_LEVEL_CRITICAL, format=<optimized out>, args=args@entry=0x7fffffffd3d0) at gmessages.c:1046\n  #1  0x00007ffff4ec8a3f in g_log (log_domain=<optimized out>, log_level=<optimized out>, format=<optimized out>) at gmessages.c:1079\n  #2  0x00005555555d2090 in nm_device_get_ifindex (self=0x0) at devices/nm-device.c:562\n  #3  0x00005555555ef77a in nm_device_supports_vlans (self=0x0) at devices/nm-device.c:9865\n  #4  0x00005555555bf2f9 in create_and_realize (device=0x555555c549b0 [NMDeviceVlan], connection=0x555555b451e0, parent=0x0, out_plink=0x7fffffffd5f8, error=0x7fffffffd700) at devices/nm-device-vlan.c:225\n  #5  0x00005555555d5757 in nm_device_create_and_realize (self=0x555555c549b0 [NMDeviceVlan], connection=0x555555b451e0, parent=0x0, error=0x7fffffffd700) at devices/nm-device.c:1783\n  #6  0x0000555555688601 in system_create_virtual_device (self=0x555555af51c0 [NMManager], connection=0x555555b451e0) at nm-manager.c:1120\n  #7  0x000055555568894e in connection_changed (settings=0x555555ae8220 [NMSettings], connection=0x555555b451e0, manager=0x555555af51c0 [NMManager]) at nm-manager.c:1172\n  #8  0x0000555555693448 in nm_manager_start (self=0x555555af51c0 [NMManager], error=0x7fffffffda30) at nm-manager.c:4466\n  #9  0x00005555555d166f in main (argc=1, argv=0x7fffffffdba8) at main.c:454\n  (gdb)\n\nFixes: 332994f1b19ded7cb343ef573443916bab05aaec","distinct":false,"url":"https://api.github.com/repos/NetworkManager/NetworkManager/commits/03584e420f58aafaa2d71408deb2b4603dcc3103"},{"sha":"186787744c5678f60c054b1223a44e7890901f11","author":{"email":"16e26612e4159990a6b3691e92592e691ff74132@redhat.com","name":"Thomas Haller"},"message":"shared: move nm_utils_ascii_str_to_bool() to shared/nm-shared-utils.h","distinct":false,"url":"https://api.github.com/repos/NetworkManager/NetworkManager/commits/186787744c5678f60c054b1223a44e7890901f11"},{"sha":"6878999ca388bc747e1a9546837f82929cb7575c","author":{"email":"16e26612e4159990a6b3691e92592e691ff74132@redhat.com","name":"Thomas Haller"},"message":"libnm/vpn: lookup nm_vpn_plugin_info_supports_multiple() from cached values\n\nInstead of looking into the keyfile, lookup the \"supports-multiple-connections\" setting\nin the \"keys\" hash. This has some behavioral difference:\n\n  - g_key_file_get_boolean() first does g_key_file_get_value(), and then\n    converts the string using the private g_key_file_parse_value_as_boolean()\n    function -- which is case-sensitive, accepts \"true|false|0|1\" and\n    considers only the text until the first whitespace.\n\n  - now, we put g_key_file_get_string() into the cache \"keys\" and\n    parse it with _nm_utils_ascii_str_to_bool(). The latter is\n    case insensitive, allows also \"yes|no|on|off\", strips whitespaces.\n\nHowever, the difference is subtle and shouldn't matter.\n\nThe point of this change is to free \"keyfile\" after construction.","distinct":false,"url":"https://api.github.com/repos/NetworkManager/NetworkManager/commits/6878999ca388bc747e1a9546837f82929cb7575c"},{"sha":"4003edbbf91910d9da55e68381d5eb164ca9669c","author":{"email":"16e26612e4159990a6b3691e92592e691ff74132@redhat.com","name":"Thomas Haller"},"message":"libnm/vpn: clear internal \"keyfile\" from NMVpnPluginInfo\n\nThe GKeyFile is no longer needed after constuction. All strings are\ncopied over to the \"keys\" hash.","distinct":false,"url":"https://api.github.com/repos/NetworkManager/NetworkManager/commits/4003edbbf91910d9da55e68381d5eb164ca9669c"},{"sha":"cb22f025886ffdeca7dec3615e0e5cbb0fe2470b","author":{"email":"16e26612e4159990a6b3691e92592e691ff74132@redhat.com","name":"Thomas Haller"},"message":"libnm/vpn: fix code comment for nm_vpn_editor_plugin_load_from_file()\n\nThe @plugin_filename argument must be an absolute path.\nThat was changed later, but forgot to update the comment.\n\nFixes: 3dfbbb227e82b47973f612b6b031d8d591727436","distinct":false,"url":"https://api.github.com/repos/NetworkManager/NetworkManager/commits/cb22f025886ffdeca7dec3615e0e5cbb0fe2470b"},{"sha":"ca000cffbb9ef20c6dd965283df3f1babf0a7745","author":{"email":"16e26612e4159990a6b3691e92592e691ff74132@redhat.com","name":"Thomas Haller"},"message":"libnm/vpn: allow specifying non-absolute plugin name in VPN .name file\n\nSince commit 3dfbbb227e82b47973f612b6b031d8d591727436, we enforce that\nthe plugin path in the .name file is absolute and we perform several\nchecks on the file before loading it (ownership, etc).\n\nRelax that, to also allow libray names without path component.\nIn that case, g_module_open()/dlopen() will search for a library\nin various search paths. This allows, to omit absolute paths\nin the .name file. The latter is problematic, because by default\nwe install the .name file in the architecture independent location\n/usr/lib/NetworkManager. As such, it should not contain paths\nto architecture dependent libraries. With this change, a .name\nfile can contain only the library name and it will be loaded\nusing the usual mechanism.\n\nHowever, specifying absolute paths is still possible and works\nsame as before, including checking file permissions.\n\nAs such, distributions probably should package the VPN plugins\nto have no path in the .name file. On the other hand, a user\ncompiling from source probably wants to specify an absolute\npath. The reason is, that the user probably doesn't build the\nplugin for multiple achitectures and that way, he can install\nthe plugin in a separate (private) prefix.","distinct":false,"url":"https://api.github.com/repos/NetworkManager/NetworkManager/commits/ca000cffbb9ef20c6dd965283df3f1babf0a7745"},{"sha":"e00eac298118b2016da4db78f88a74bb8c0eb4a4","author":{"email":"16e26612e4159990a6b3691e92592e691ff74132@redhat.com","name":"Thomas Haller"},"message":"libnm/vpn: add nm_vpn_editor_plugin_load() function\n\nContrary to nm_vpn_editor_plugin_load_from_file(), this allows\nto specify a library name without path. In this case, g_module_open()\n(dlopen()) will search for a library in various system directories.","distinct":false,"url":"https://api.github.com/repos/NetworkManager/NetworkManager/commits/e00eac298118b2016da4db78f88a74bb8c0eb4a4"},{"sha":"7652e9ebe0c0a52139af763f007a61fd8f694f83","author":{"email":"16e26612e4159990a6b3691e92592e691ff74132@redhat.com","name":"Thomas Haller"},"message":"libnm/vpn: merge branch 'th/vpn-load-plugin-bgo765225'\n\nhttps://bugzilla.gnome.org/show_bug.cgi?id=765225","distinct":false,"url":"https://api.github.com/repos/NetworkManager/NetworkManager/commits/7652e9ebe0c0a52139af763f007a61fd8f694f83"},{"sha":"0b128aeced540d98dd4fdea2598dbf1a6c47c6ad","author":{"email":"16e26612e4159990a6b3691e92592e691ff74132@redhat.com","name":"Thomas Haller"},"message":"libnm/vpn: search VPN plugin in NMPLUGINDIR\n\nIn commit ca000cffbb9ef20c6dd965283df3f1babf0a7745, we changed to\naccept a plugin library name without path. One reason for that\nis to keep architecture dependent parts out of the .name file\nand possibly support multilib.\n\nHowever, the shared libraries of VPN plugins are not installed in\na global library search path, but for example into\n\"/usr/lib64/NetworkManager/libnm-vpn-plugin-openvpn.so\".\nIn that case, specifying \"plugin=libnm-vpn-plugin-openvpn.so\"\nwould not be enough to find plugin.\n\nInstead, when configuring a plugin name without path, assume\nit is in NMPLUGINDIR directory. Modify nm_vpn_editor_plugin_load_from_file()\nto allow path-less plugin-names. Previously such names would be rejected\nas not being absolute. This API allows to do file verification\nbefore loading the plugin, but it now supports prepending NMPLUGINDIR\nto the plugin name. Basically, this function mangles the plugin_name\nargument and checks that such a file exists.\n\nThe recently added nm_vpn_editor_plugin_load() continues to behave\nas before: it does no checks whatsoever and passes the name directly\nto dlopen(). That way, it uses system search paths like LD_LIBRARY_PATH\nand performs no checks on the file.\n\nFixes: ca000cffbb9ef20c6dd965283df3f1babf0a7745","distinct":false,"url":"https://api.github.com/repos/NetworkManager/NetworkManager/commits/0b128aeced540d98dd4fdea2598dbf1a6c47c6ad"}]}