Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • lkundrak/NetworkManager
  • LorbusChris/NetworkManager
  • sadiq/NetworkManager
  • here-abarany/NetworkManager
  • Luclu7/NetworkManager
  • jlebon/NetworkManager
  • HW-lj/NetworkManager
  • Dmitry-Eremeev/NetworkManager
  • hadess/NetworkManager
  • vbubela/NetworkManager
  • thaller/NetworkManager
  • estelle.a.poulin/NetworkManager
  • psandro/NetworkManager
  • andreas.kling/NetworkManager
  • EvaSDK/NetworkManager
  • 3v1n0/NetworkManager
  • klausenbusk/NetworkManager
  • adarshaj/NetworkManager
  • fdanis/NetworkManager
  • nielsdg/NetworkManager
  • miztake/NetworkManager
  • aalam1/NetworkManager
  • sertonix/NetworkManager
  • Mejans/NetworkManager
  • MarongHappy/NetworkManager
  • svenschwermer/NetworkManager
  • pc/NetworkManager
  • dustymabe/NetworkManager
  • kouellette/NetworkManager
  • cgetzen/NetworkManager
  • worldofpeace/NetworkManager
  • chaillandelisha7/NetworkManager
  • pmenzel/NetworkManager
  • peat-psuwit/NetworkManager
  • YsuOS/NetworkManager
  • sfabre31/NetworkManager
  • M4ldoror/NetworkManager
  • andhe/NetworkManager
  • NeoRaider/NetworkManager
  • mattst88/NetworkManager
  • DamienCassou/NetworkManager
  • lmajewski/NetworkManager
  • leon.liao/NetworkManager
  • jirislaby/NetworkManager
  • dickenhobelix/NetworkManager
  • steinsgate/NetworkManager
  • ameliamminer/NetworkManager
  • nazarenko-roman/NetworkManager
  • kevincox/NetworkManager
  • rahulsundaram/NetworkManager
  • javsanpar/NetworkManager
  • hexchain/NetworkManager
  • kristjan.schmidt/NetworkManager
  • binli/NetworkManager
  • MiloCasagrande/NetworkManager
  • mbiebl/NetworkManager
  • hellsworth1/NetworkManager
  • aleksm/NetworkManager
  • kraj/NetworkManager
  • vicamo/NetworkManager
  • knatsakis/NetworkManager
  • Rodhos/NetworkManager
  • inigomartinez/NetworkManager
  • tintou/NetworkManager
  • kyle-walker/NetworkManager
  • mgorse1/NetworkManager
  • mike.lenca92/NetworkManager
  • liaohanqin/NetworkManager
  • jose1711/NetworkManager
  • andika/NetworkManager
  • quenty_occitania/NetworkManager
  • a-wai/NetworkManager
  • tbzatek/NetworkManager
  • sicelo/NetworkManager
  • halfline/NetworkManager
  • acardace/NetworkManager
  • oleg.bravo.ru/NetworkManager
  • eaglegai/NetworkManager
  • carmenbianca/NetworkManager
  • Lockywolf/NetworkManager
  • yurchor/NetworkManager
  • neville133/NetworkManager
  • piotrdrag/NetworkManager
  • quozl/NetworkManager
  • qyecst/NetworkManager
  • sbivol/NetworkManager
  • jonathankang/NetworkManager
  • TheLinuxNinja/NetworkManager
  • fmartinsons/NetworkManager
  • cuiyue/NetworkManager
  • gaoxingwang/NetworkManager
  • stintel/NetworkManager
  • gvlatyshev/NetworkManager
  • parly/NetworkManager
  • hugok79/NetworkManager
  • NorwayFun/NetworkManager
  • alfonsosanchezbeato/NetworkManager
  • ajonsson/NetworkManager
  • antlarr-suse/NetworkManager
  • jpalus/NetworkManager
  • zsien/NetworkManager
  • ljanda/NetworkManager
  • gwashburn/NetworkManager
  • pwozniak/NetworkManager
  • tomegun/NetworkManager
  • l631197874/NetworkManager
  • Ryanh2700/NetworkManager
  • xexaxo/NetworkManager
  • tk906328/NetworkManager
  • borkra/NetworkManager
  • whot/NetworkManager
  • ozkanonur/NetworkManager
  • lukas.maerdian/NetworkManager
  • luc14n0/NetworkManager
  • hartan/NetworkManager
  • ffmancera/network-manager-ff
  • scootergrisen/NetworkManager
  • fschmaus/NetworkManager
  • janro/NetworkManager
  • gnumdk/NetworkManager
  • changwoo/NetworkManager
  • balrog-kun/NetworkManager
  • wberrier/NetworkManager
  • kloczek/NetworkManager
  • wenliang/NetworkManager
  • dongsibo/NetworkManager
  • flamingradian/NetworkManager
  • amanza-stack/NetworkManager
  • gearhartd60/NetworkManager
  • benzea/NetworkManager
  • m515535m/NetworkManager
  • rsmarples/NetworkManager
  • Josef-Ouano/NetworkManager
  • tchaik/NetworkManager
  • afreof/NetworkManager
  • liangwen12year/NetworkManager
  • eivnaes/NetworkManager
  • smcv/NetworkManager
  • flipreverse/NetworkManager
  • jakob197925/NetworkManager
  • apatard/NetworkManager
  • nazgul77/NetworkManager
  • sharkcz/NetworkManager
  • imGeorge/NetworkManager
  • Cogitri/NetworkManager
  • yegorslists/NetworkManager
  • cges30901/NetworkManager
  • jvaclav/NetworkManager
  • calexandru2018/NetworkManager
  • freedomben/NetworkManager
  • isidroas/NetworkManager
  • sigurdrj/NetworkManager
  • maxbachmann/NetworkManager
  • egrumbach/NetworkManager
  • ArisAachen/NetworkManager
  • msuchy/NetworkManager
  • akozemcak/NetworkManager
  • hubenchang0515/NetworkManager
  • onlymee/NetworkManager
  • hthiery/NetworkManager
  • esrevinu/NetworkManager
  • heftig/NetworkManager
  • mmuehlfeldrh/NetworkManager
  • forxn9/NetworkManager
  • c.lobrano/NetworkManager
  • rayanbettis/NetworkManager
  • laney/NetworkManager
  • ceggers_arri/network-manager-1
  • ptalbert/NetworkManager
  • luzpaz/NetworkManager
  • pwithnall/NetworkManager
  • ujdhesa/NetworkManager
  • agners/NetworkManager
  • bjourne/NetworkManager
  • aafeijoo-suse/NetworkManager
  • sfaye/NetworkManager
  • andrew-sayers/NetworkManager
  • bshah/NetworkManager
  • wangce/NetworkManager
  • yrro/NetworkManager
  • jdegges/NetworkManager
  • sarwanedi832/NetworkManager
  • baotouwang1988/NetworkManager
  • dcbw/NetworkManager
  • suyanjun/NetworkManager
  • amaxine/NetworkManager
  • JulianoSC/NetworkManager
  • megacraque9/NetworkManager
  • WillNilges/NetworkManager
  • zx2c4/NetworkManager
  • eschwartz/NetworkManager
  • jjardon/NetworkManager
  • orbea/NetworkManager
  • vtsisyk/NetworkManager
  • jkotra/NetworkManager
  • jprestwo/NetworkManager
  • jcpvdm/NetworkManager
  • jjj/NetworkManager
  • leebickmtu/NetworkManager
  • jameshilliard/NetworkManager
  • fbezannier/NetworkManager
  • muzena/NetworkManager
  • dylanvanassche/NetworkManager
  • luokai01/NetworkManager
  • tsobczynski/NetworkManager
  • piliener/NetworkManager
  • sayshah/NetworkManager
  • ichigo663/NetworkManager
  • shemgp/NetworkManager
  • fgont/NetworkManager
  • bittin/NetworkManager
  • bka/NetworkManager
  • jordimas/NetworkManager
  • voit27238/NetworkManager
  • Red54/NetworkManager
  • ioooitt/NetworkManager
  • letmestudy/NetworkManager
  • hwpplayer1/NetworkManager
  • alatiera/NetworkManager
  • shreyaspapi/NetworkManager
  • ChaoticRoman/NetworkManager
  • Grishnack/NetworkManager
  • vinc17/NetworkManager
  • martinetd/NetworkManager
  • chipitsine/NetworkManager
  • chengbo7135/NetworkManager
  • ouuan/NetworkManager
  • ComixHe/NetworkManager
  • realxiaoyang/NetworkManager
  • idmasse/NetworkManager
  • garywill/NetworkManager
  • pemensik/NetworkManager
  • afaure/NetworkManager
  • pbrobinson/NetworkManager
  • coxu/NetworkManager
  • NetworkManager/NetworkManager
  • grimthorpe/NetworkManager
  • wheresvic/NetworkManager
  • ebikt/NetworkManager
  • isasmendi.agus/NetworkManager
  • rancell/NetworkManager
  • tstellar1/NetworkManager
  • valentindavid/NetworkManager
  • ddmatsu/NetworkManager
  • yinoguchi/NetworkManager
  • Soapux/NetworkManager
  • verdre/NetworkManager
  • xiaohuait/NetworkManager
  • dnlplm/NetworkManager
  • atulhjp/NetworkManager
  • Lunarequest/NetworkManager
  • fran.dieguez/NetworkManager
  • v19930312/NetworkManager
  • dengbo/NetworkManager
  • lugomgom/NetworkManager
  • ishitatsuyuki/NetworkManager
  • q66/NetworkManager
  • maciek.borzecki/NetworkManager
  • nfollens/NetworkManager
  • martin-sucha/NetworkManager
  • rafaelff/NetworkManager
  • liskin/NetworkManager
  • gagern/NetworkManager
  • moemen.fadhlaoui/NetworkManager
  • TomasKorbar/NetworkManager
  • elmarco/NetworkManager
  • Niklas974/NetworkManager
  • richie-guo/NetworkManager
  • elbs-unicon/NetworkManager
  • droidbittin/NetworkManager
  • davecb/NetworkManager
  • urbalazs/NetworkManager
  • drosdeck/NetworkManager
  • dpfuturehacker/NetworkManager
  • hvdijk/NetworkManager
  • develop7/NetworkManager
  • barinet/NetworkManager
  • mikhailnov/NetworkManager
  • khozaei/NetworkManager
  • yichiehc/NetworkManager
  • virophagesp4444/NetworkManager
  • labzhangxj/NetworkManager
  • masatake/NetworkManager
  • elear/NetworkManager
  • benyamin.kd/NetworkManager
  • dwmw2/NetworkManager
  • akodanev/NetworkManager
  • FrazerClews/NetworkManager
  • vbenes/NetworkManager
  • alexhenrie/NetworkManager
  • frdeng/NetworkManager
  • blocktrron/NetworkManager
  • joshgavant/NetworkManager
  • stapelberg/NetworkManager
  • Marv-CZ/NetworkManager
  • PaulosV/NetworkManager
  • NotsoanoNimus/network-manager-vba
  • cathay4t/NetworkManager
  • Austin-tawe/NetworkManager
  • dkosovic/NetworkManager
  • harshalgohel/NetworkManager
  • comradekingu/NetworkManager
  • chenhanxiao/NetworkManager
  • georgmu/NetworkManager
  • makinbacon17/NetworkManager
  • Conan_Kudo/NetworkManager
  • Mstrodl/NetworkManager
  • Peter_van_der_Velde/NetworkManager
  • maxice8/NetworkManager
309 results
Show changes
Commits on Source (18)
  • Beniamino Galvani's avatar
    2b9283da
  • Lubomir Rintel's avatar
    cli: don't ignore errors from setting property aliases · dde7d4b5
    Lubomir Rintel authored
    Before, we would just ignore the errors when we passed an invalid value
    to a property alias:
    
      $ nmcli c add type ethernet mac Hello
      Connection 'ethernet-1' (242eec76-7147-411a-a50b-336cf5bc8137) successfully added.
      $ nmcli c show 242eec76-7147-411a-a50b-336cf5bc8137 |grep 802-3-ethernet.mac-address:
      802-3-ethernet.mac-address:             --
    
    ...or crash, because the GError would still be around:
    
      $ nmcli c add type ethernet mac Hello ethernet.mac-address World
      (process:734670): GLib-WARNING **: 14:52:51.436: GError set over the top of a previous GError or uninitialized memory.
      This indicates a bug in someone's code. You must ensure an error is NULL before it's set.
      The overwriting error message was: Error: failed to modify 802-3-ethernet.mac-address: 'World' is not a valid Ethernet MAC.
      Error: failed to modify 802-3-ethernet.mac-address: 'Hello' is not a valid Ethernet MAC.
    
    Now we catch it early enough:
    
      $ nmcli c add type ethernet mac Hello
      Error: failed to modify 802-3-ethernet.mac-address: 'Hello' is not a valid Ethernet MAC.
    
    Fixes: 40032f46 ('cli: fix resetting values via property alias')
    
    !1134
    (cherry picked from commit a7ef0681)
    dde7d4b5
  • Beniamino Galvani's avatar
    rpm: fix autotools build options for default plugins · 3811e6ae
    Beniamino Galvani authored
    Fixes: bb832641 ('rpm: remove build-time default for plugins on newer distros')
    (cherry picked from commit b580741e)
    3811e6ae
  • Thomas Haller's avatar
  • Lubomir Rintel's avatar
    cli: document connection/device-external colors · 249aae81
    Lubomir Rintel authored and Thomas Haller's avatar Thomas Haller committed
    These were added without documentation.
    
    Fixes: 16cff114 ('core: fix taking over external connection after restart')
    
    !1137
    (cherry picked from commit d3d2e9b5)
    249aae81
  • Lubomir Rintel's avatar
    libnm: fix an assert in nm_client_get_capabilities() · 4b7d5c8f
    Lubomir Rintel authored and Thomas Haller's avatar Thomas Haller committed
    The length argument is optional. That makes sense, because the returned
    array is NUL-terminated.
    
    !1136
    
    Fixes: 21b008d0 ('libnm: add nm_client_get_capabilities() to expose server Capabilities')
    
    (cherry picked from commit 7f1840bb)
    4b7d5c8f
  • Wen Liang's avatar
    libnm: fix crash during the restart after killed · b2c559ef
    Wen Liang authored and Thomas Haller's avatar Thomas Haller committed
    When cloud-init job (metadata service crawler) starts, it sends the
    SIGTERM signal to nm-cloud-setup and force the nm-cloud-setup to
    restart, however, because the error is not initialized as NULL in
    `_init_start_cancelled_cb()` before it is set, nm-cloud-setup will hit
    a dumped core.
    
    TO fix it, initialize the error as NULL in `_init_start_cancelled_cb()`.
    
    https://bugzilla.redhat.com/show_bug.cgi?id=2027674
    
    Fixes: ce0e898f ('libnm: refactor caching of D-Bus objects in NMClient')
    
    Backtrace:
    
     #0  g_logv (log_domain=0x7f833a872071 "GLib", log_level=G_LOG_LEVEL_WARNING, format=<optimized out>, args=<optimized out>) at ../glib/gmessages.c:1413
     #1  0x00007f833a81f043 in g_log (log_domain=<optimized out>, log_level=<optimized out>, format=<optimized out>) at ../glib/gmessages.c:1451
     #2  0x00007f833ab97230 in nm_utils_error_set_cancelled (is_disposing=<optimized out>, instance_name=<optimized out>, error=0x7ffff79cb980) at src/libnm-glib-aux/nm-shared-utils.c:2599
     #3  nm_utils_error_set_cancelled (is_disposing=0, instance_name=0x0, error=0x7ffff79cb980) at src/libnm-glib-aux/nm-shared-utils.c:2590
     #4  _init_start_cancelled_cb (cancellable=<optimized out>, user_data=0x5640ca292150) at src/libnm-client-impl/nm-client.c:7324
     #5  _init_start_cancelled_cb (cancellable=<optimized out>, user_data=0x5640ca292150) at src/libnm-client-impl/nm-client.c:7307
     #6  0x00007f833a93094a in _g_closure_invoke_va (param_types=0x0, n_params=<optimized out>, args=0x7ffff79cbb40, instance=0x5640ca267020, return_value=0x0, closure=0x5640ca29d430)
         at ../gobject/gclosure.c:873
     #7  g_signal_emit_valist (instance=0x5640ca267020, signal_id=<optimized out>, detail=0, var_args=var_args@entry=0x7ffff79cbb40) at ../gobject/gsignal.c:3406
     #8  0x00007f833a930a93 in g_signal_emit (instance=instance@entry=0x5640ca267020, signal_id=<optimized out>, detail=detail@entry=0) at ../gobject/gsignal.c:3553
     #9  0x00007f833a9a6475 in g_cancellable_cancel (cancellable=0x5640ca267020) at ../gio/gcancellable.c:513
     #10 g_cancellable_cancel (cancellable=0x5640ca267020) at ../gio/gcancellable.c:487
     #11 0x00005640ca1a8bd4 in sigterm_handler (user_data=0x5640ca267020) at src/nm-cloud-setup/main.c:599
     #12 0x00007f833a819d4f in g_main_dispatch (context=0x5640ca268ef0) at ../glib/gmain.c:3337
     #13 g_main_context_dispatch (context=0x5640ca268ef0) at ../glib/gmain.c:4055
     #14 0x00007f833a86e608 in g_main_context_iterate.constprop.0 (context=0x5640ca268ef0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4131
     #15 0x00007f833a819463 in g_main_loop_run (loop=0x5640ca24fdb0) at ../glib/gmain.c:4329
     #16 0x00005640ca1a6d04 in nmc_client_new_waitsync (cancellable=0x5640ca267020, out_nmc=0x7ffff79cbfa0, error=0x7ffff79cbf98, first_property_name=0x5640ca1b11db "instance-flags",
         first_property_name=0x5640ca1b11db "instance-flags") at src/libnm-client-aux-extern/nm-libnm-aux.c:129
     #17 0x00005640ca1a3863 in main (argc=1, argv=<optimized out>) at src/nm-cloud-setup/main.c:639
    
    (cherry picked from commit 549761b0)
    b2c559ef
  • Thomas Haller's avatar
    libnm: fix uninitialized GError in NMClient's _init_start_cancel_on_idle_cb() · 9a9819d3
    Thomas Haller authored
    Found with `git grep 'GError.*[^,)];'| grep ' *= *NULL;' -v`
    
    Fixes: ce0e898f ('libnm: refactor caching of D-Bus objects in NMClient')
    (cherry picked from commit a9d521bf)
    9a9819d3
  • Thomas Haller's avatar
    glib-aux: add nm_g_main_context_can_acquire() helper · bd97fead
    Thomas Haller authored
    (cherry picked from commit 5dc9307a)
    bd97fead
  • Thomas Haller's avatar
    libnm: fix assertion in NMClient checking for current main context · e7753357
    Thomas Haller authored
    NMClient is strongly tied to the GMainContext with which it was created.
    Several operations must only be called from within the context. There
    was an assertion for that.
    
    However, creating (and init_async()) should be allowed to call not
    from within the GMainContext. So if the current context has no owner
    (is not acquired), then it's also OK.
    
    Fix the assertion for that.
    
    Fixes: ce0e898f ('libnm: refactor caching of D-Bus objects in NMClient')
    (cherry picked from commit ae0cc961)
    e7753357
  • Thomas Haller's avatar
    core/team: fix leak and uninitialized GError in NMDeviceTeam's constructed() · fd41ff1d
    Thomas Haller authored
    Found with `git grep 'GError.*[^,)];'| grep ' *= *NULL;' -v`
    
    Fixes: d689380c ('team: support operation without D-Bus')
    (cherry picked from commit 43748d29)
    fd41ff1d
  • Thomas Haller's avatar
    core/dhcp: fix uninitialized GError in NMDhcpDhcpcd's ip4_start() · 34225ccc
    Thomas Haller authored
    Found with `git grep 'GError.*[^,)];'| grep ' *= *NULL;' -v`
    
    Fixes: a2abd15f ('DHCP: Support dhcpcd-9.x')
    (cherry picked from commit fd503232)
    34225ccc
  • Thomas Haller's avatar
    glib-aux: fix priority for nm_g_idle_add_source() · 156bb80b
    Thomas Haller authored
    nm_g_idle_add_source() is supposed to work like g_idle_add(). Use the correct
    priority.
    
    I think this causes little actual problems, because usually we don't
    carefully tune the priorities and would be mostly fine with either.
    
    Fixes: 6b18fc25 ('shared: add nm_g_{idle,timeout}_add_source() helpers')
    (cherry picked from commit 15e88379)
    156bb80b
  • Thomas Haller's avatar
    examples/python: avoid Python2 "print" statement · 2e4d1e8d
    Thomas Haller authored
    Recent python-black (22.0) dropped support for Python 2 and thus fail
    for those files. Make the examples Python3 compatible.
    
    (cherry picked from commit 95e6a0a6)
    2e4d1e8d
  • Beniamino Galvani's avatar
    ppp: allow autoconf6 when ipv6.method is 'auto' · d3615b2a
    Beniamino Galvani authored
    PPP supports IPv6 autoconfiguration.
    
    Fixes: 58287cbc ('core: rework IP configuration in NetworkManager using layer 3 configuration')
    (cherry picked from commit 041df05f)
    d3615b2a
  • Beniamino Galvani's avatar
    ethernet: don't do DHCPv4 on PPPoE · 94702568
    Beniamino Galvani authored
    It's not going to work.
    
    Fixes: 58287cbc ('core: rework IP configuration in NetworkManager using layer 3 configuration')
    (cherry picked from commit 7b2bea7c)
    94702568
  • Beniamino Galvani's avatar
    ethernet: fix setting ip-ifindex for PPPoE connections · 4dbf0bfc
    Beniamino Galvani authored
    When a NMDevice is involved in a PPPoE activation, it means that the
    connection has connection.interface-name=<ethernet-interface>. In such
    case, the ppp ifindex should be set as ip-ifindex of the ethernet
    device.
    
    Fixes: 58287cbc ('core: rework IP configuration in NetworkManager using layer 3 configuration')
    (cherry picked from commit aa9b5e28)
    4dbf0bfc
  • Beniamino Galvani's avatar
    pppoe: merge branch 'bg/pppoe-fix' · 6e02ab13
    Beniamino Galvani authored
    !1148
    
    (cherry picked from commit 3a8a1b0e)
    6e02ab13
Showing
with 124 additions and 54 deletions
......@@ -8,7 +8,7 @@ dnl "shared/nm-version-macros.h.in"
dnl - update number in meson.build
m4_define([nm_major_version], [1])
m4_define([nm_minor_version], [36])
m4_define([nm_micro_version], [2])
m4_define([nm_micro_version], [3])
m4_define([nm_version],
[nm_major_version.nm_minor_version.nm_micro_version])
......
......@@ -871,7 +871,9 @@ intltoolize --automake --copy --force
--disable-firewalld-zone \
%endif
--with-dist-version=%{version}-%{release} \
--with-config-plugins-default=%{config_plugins_default} \
%if %{?config_plugins_default_ifcfg_rh}
--with-config-plugins-default=ifcfg-rh \
%endif
--with-resolvconf=no \
--with-netconfig=no \
--with-config-dns-rc-manager-default=%{dns_rc_manager_default} \
......
......@@ -15,23 +15,23 @@ main_loop = None
def handle_config(config):
print " ---- new configuration ----"
print(" ---- new configuration ----")
for entry in config:
print " * servers: %s" % ", ".join(map(str, entry.get_nameservers()))
print(" * servers: %s" % ", ".join(map(str, entry.get_nameservers())))
domains = entry.get_domains()
if domains and domains[0]:
print " domains: %s" % ", ".join(map(str, domains))
print(" domains: %s" % ", ".join(map(str, domains)))
if entry.get_interface():
print " interface: %s" % entry.get_interface()
print(" interface: %s" % entry.get_interface())
print " priority: %d" % entry.get_priority()
print(" priority: %d" % entry.get_priority())
if entry.get_vpn():
print " vpn: yes"
print(" vpn: yes")
print ""
print("")
def dns_config_changed(self, property):
......
......@@ -15,22 +15,28 @@ if __name__ == "__main__":
client = NM.Client.new(None)
devices = client.get_all_devices()
print "Real devices"
print "------------"
print("Real devices")
print("------------")
for d in devices:
if d.is_real():
print "%s (%s): %s" % (
d.get_iface(),
d.get_type_description(),
d.get_state(),
print(
"%s (%s): %s"
% (
d.get_iface(),
d.get_type_description(),
d.get_state(),
)
)
print "\nUnrealized/placeholder devices"
print "------------------------------"
print("\nUnrealized/placeholder devices")
print("------------------------------")
for d in devices:
if not d.is_real():
print "%s (%s): %s" % (
d.get_iface(),
d.get_type_description(),
d.get_state(),
print(
"%s (%s): %s"
% (
d.get_iface(),
d.get_type_description(),
d.get_state(),
)
)
......@@ -28,12 +28,12 @@ if __name__ == "__main__":
for neighbor in neighbors:
ret, chassis = neighbor.get_attr_string_value("chassis-id")
ret, port = neighbor.get_attr_string_value("port-id")
print "Neighbor: %s - %s" % (chassis, port)
print("Neighbor: %s - %s" % (chassis, port))
for attr in neighbor.get_attr_names():
attr_type = neighbor.get_attr_type(attr)
if attr_type.equal(GLib.VariantType.new("s")):
ret, value = neighbor.get_attr_string_value(attr)
print " %-32s: %s" % (attr, value)
print(" %-32s: %s" % (attr, value))
elif attr_type.equal(GLib.VariantType.new("u")):
ret, value = neighbor.get_attr_uint_value(attr)
print " %-32s: %u" % (attr, value)
print(" %-32s: %u" % (attr, value))
......@@ -1866,6 +1866,13 @@
</listitem>
</varlistentry>
<varlistentry>
<term><option>connection-external</option></term>
<listitem>
<para>Connection representing configuration created externally to NetworkManager.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>connection-invisible</option></term>
<listitem>
......@@ -1929,6 +1936,13 @@
</listitem>
</varlistentry>
<varlistentry>
<term><option>device-external</option></term>
<listitem>
<para>Device configured externally to NetworkManager.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>device-firmware-missing</option></term>
<listitem>
......
......@@ -6,7 +6,7 @@ project(
# - add corresponding NM_VERSION_x_y_z macros in
# "src/libnm-core-public/nm-version-macros.h.in"
# - update number in configure.ac
version: '1.36.2',
version: '1.36.3',
license: 'GPL2+',
default_options: [
'buildtype=debugoptimized',
......
......@@ -1163,11 +1163,10 @@ _ppp_mgr_callback(NMPppMgr *ppp_mgr, const NMPppMgrCallbackData *callback_data,
gs_free char *old_name = NULL;
gs_free_error GError *error = NULL;
if (!nm_device_take_over_link(device, callback_data->data.ifindex, &old_name, &error)) {
if (!nm_device_set_ip_ifindex(device, callback_data->data.ifindex)) {
_LOGW(LOGD_DEVICE | LOGD_PPP,
"could not take control of link %d: %s",
callback_data->data.ifindex,
error->message);
"could not set ip-ifindex %d",
callback_data->data.ifindex);
_ppp_mgr_cleanup(self);
nm_device_state_changed(device,
NM_DEVICE_STATE_FAILED,
......@@ -1892,6 +1891,32 @@ is_available(NMDevice *device, NMDeviceCheckDevAvailableFlags flags)
return !!nm_device_get_initial_hw_address(device);
}
static const char *
get_ip_method_auto(NMDevice *device, int addr_family)
{
NMSettingConnection *s_con;
s_con = nm_device_get_applied_setting(device, NM_TYPE_SETTING_CONNECTION);
g_return_val_if_fail(s_con,
NM_IS_IPv4(addr_family) ? NM_SETTING_IP4_CONFIG_METHOD_AUTO
: NM_SETTING_IP6_CONFIG_METHOD_AUTO);
if (!nm_streq(nm_setting_connection_get_connection_type(s_con),
NM_SETTING_PPPOE_SETTING_NAME)) {
return NM_DEVICE_CLASS(nm_device_ethernet_parent_class)
->get_ip_method_auto(device, addr_family);
}
if (NM_IS_IPv4(addr_family)) {
/* We cannot do DHCPv4 on a PPP link, instead we get "auto" IP addresses
* by pppd. Return "manual" here, which has the suitable effect to a
* (zero) manual addresses in addition. */
return NM_SETTING_IP6_CONFIG_METHOD_MANUAL;
}
return NM_SETTING_IP6_CONFIG_METHOD_AUTO;
}
static gboolean
can_reapply_change(NMDevice *device,
const char *setting_name,
......@@ -2047,6 +2072,7 @@ nm_device_ethernet_class_init(NMDeviceEthernetClass *klass)
device_class->act_stage2_config = act_stage2_config;
device_class->act_stage3_ip_config = act_stage3_ip_config;
device_class->get_configured_mtu = get_configured_mtu;
device_class->get_ip_method_auto = get_ip_method_auto;
device_class->deactivate = deactivate;
device_class->get_s390_subchannels = get_s390_subchannels;
device_class->update_connection = update_connection;
......
......@@ -222,10 +222,9 @@ get_ip_method_auto(NMDevice *device, int addr_family)
return NM_SETTING_IP6_CONFIG_METHOD_MANUAL;
}
/* We can do autoconf6 on an PPP link, but we should already get an IPv6
* address from pppd. Use that instead. We however do want to generate our
* (own) IPv6 link local address, so return "link-local". */
return NM_SETTING_IP6_CONFIG_METHOD_LINK_LOCAL;
/* We get a interface identifier via IPV6CP, used to construct a link-local
* address. Method auto means autoconf6 as usual.*/
return NM_SETTING_IP6_CONFIG_METHOD_AUTO;
}
static gboolean
......
......@@ -957,7 +957,7 @@ constructed(GObject *object)
NMDeviceTeamPrivate *priv = NM_DEVICE_TEAM_GET_PRIVATE(device);
gs_free char *tmp_str = NULL;
gs_unref_object GFile *file = NULL;
GError *error;
gs_free_error GError *error = NULL;
G_OBJECT_CLASS(nm_device_team_parent_class)->constructed(object);
......
......@@ -70,7 +70,7 @@ ip4_start(NMDhcpClient *client, GError **error)
const NMDhcpClientConfig *client_config;
gs_unref_ptrarray GPtrArray *argv = NULL;
pid_t pid;
GError *local;
GError *local = NULL;
gs_free char *cmd_str = NULL;
const char *dhcpcd_path;
......
......@@ -694,6 +694,7 @@ do_curl_request(NMConnectivityCheckHandle *cb_data)
curl_easy_setopt(ehandle, CURLOPT_INTERFACE, cb_data->ifspec);
curl_easy_setopt(ehandle, CURLOPT_RESOLVE, cb_data->concheck.hosts);
curl_easy_setopt(ehandle, CURLOPT_IPRESOLVE, resolve);
curl_easy_setopt(ehandle, CURLOPT_PROTOCOLS, CURLPROTO_HTTP | CURLPROTO_HTTPS);
curl_multi_add_handle(mhandle, ehandle);
}
......
......@@ -764,7 +764,7 @@ _nm_client_set_property_sync_legacy(NMClient *self,
NMClientPrivate *_priv = NM_CLIENT_GET_PRIVATE(self); \
\
nm_assert(g_source_get_context(_source) == _priv->x_context); \
nm_assert(g_main_context_is_owner(_priv->x_context)); \
nm_assert(nm_g_main_context_can_acquire(_priv->x_context)); \
} \
} \
} \
......@@ -778,7 +778,7 @@ _nm_client_set_property_sync_legacy(NMClient *self,
\
nm_assert((g_main_context_get_thread_default() ?: g_main_context_default()) \
== _priv->x_context); \
nm_assert(g_main_context_is_owner(_priv->x_context)); \
nm_assert(nm_g_main_context_can_acquire(_priv->x_context)); \
} \
} \
G_STMT_END
......@@ -6261,7 +6261,6 @@ nm_client_get_capabilities(NMClient *client, gsize *length)
NMClientPrivate *priv;
g_return_val_if_fail(NM_IS_CLIENT(client), NULL);
g_return_val_if_fail(length, NULL);
priv = NM_CLIENT_GET_PRIVATE(client);
......@@ -7306,9 +7305,9 @@ _init_start_check_complete(NMClient *self)
static void
_init_start_cancelled_cb(GCancellable *cancellable, gpointer user_data)
{
NMClient *self = user_data;
NMClientPrivate *priv = NM_CLIENT_GET_PRIVATE(self);
GError *error;
NMClient *self = user_data;
NMClientPrivate *priv = NM_CLIENT_GET_PRIVATE(self);
GError *error = NULL;
nm_assert(NM_IS_CLIENT(self));
nm_assert(priv->init_data);
......@@ -7328,8 +7327,8 @@ _init_start_cancelled_cb(GCancellable *cancellable, gpointer user_data)
static gboolean
_init_start_cancel_on_idle_cb(gpointer user_data)
{
NMClient *self = user_data;
GError *error;
NMClient *self = user_data;
GError *error = NULL;
nm_utils_error_set_cancelled(&error, FALSE, NULL);
_init_start_complete(self, error);
......
......@@ -6680,3 +6680,23 @@ nm_g_main_context_iterate_for_msec(GMainContext *context, guint timeout_msec)
while (source)
g_main_context_iteration(context, TRUE);
}
/*****************************************************************************/
gboolean
nm_g_main_context_can_acquire(GMainContext *context)
{
/* Fast path. Usually we don't pass contexts between threads
* and operate while iterating the context. Hence, usually we
* already acquired the context. Check that first. */
if (g_main_context_is_owner(context))
return TRUE;
/* Either the context is not owned, or owned by somebody else. Only
* one way to find out. */
if (!g_main_context_acquire(context))
return FALSE;
g_main_context_release(context);
return TRUE;
}
......@@ -1789,7 +1789,7 @@ nm_g_idle_add_source(GSourceFunc func, gpointer user_data)
/* A convenience function to attach a new timeout source to the default GMainContext.
* In that sense it's very similar to g_idle_add() except that it returns a
* reference to the new source. */
return nm_g_source_attach(nm_g_idle_source_new(G_PRIORITY_DEFAULT, func, user_data, NULL),
return nm_g_source_attach(nm_g_idle_source_new(G_PRIORITY_DEFAULT_IDLE, func, user_data, NULL),
NULL);
}
......@@ -1931,6 +1931,8 @@ nm_g_main_context_iterate_ready(GMainContext *context)
void nm_g_main_context_iterate_for_msec(GMainContext *context, guint timeout_msec);
gboolean nm_g_main_context_can_acquire(GMainContext *context);
/*****************************************************************************/
static inline int
......
......@@ -305,6 +305,7 @@ nm_http_client_get(NMHttpClient *self,
curl_easy_setopt(edata->ehandle, CURLOPT_WRITEFUNCTION, _get_writefunction_cb);
curl_easy_setopt(edata->ehandle, CURLOPT_WRITEDATA, edata);
curl_easy_setopt(edata->ehandle, CURLOPT_PRIVATE, edata);
curl_easy_setopt(edata->ehandle, CURLOPT_PROTOCOLS, CURLPROTO_HTTP | CURLPROTO_HTTPS);
if (http_headers) {
for (i = 0; http_headers[i]; ++i) {
......
......@@ -4211,16 +4211,16 @@ set_option(NmCli *nmc,
if (option && option->check_and_set) {
return option->check_and_set(nmc, connection, option, value, error);
} else if (value || allow_reset) {
set_property(nmc->client,
connection,
setting_name,
property_name,
value,
!value ? NM_META_ACCESSOR_MODIFIER_DEL
: (inf_flags & NM_META_PROPERTY_INF_FLAG_MULTI
? NM_META_ACCESSOR_MODIFIER_ADD
: NM_META_ACCESSOR_MODIFIER_SET),
error);
return set_property(nmc->client,
connection,
setting_name,
property_name,
value,
!value ? NM_META_ACCESSOR_MODIFIER_DEL
: (inf_flags & NM_META_PROPERTY_INF_FLAG_MULTI
? NM_META_ACCESSOR_MODIFIER_ADD
: NM_META_ACCESSOR_MODIFIER_SET),
error);
}
return TRUE;
......