<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/NetworkManager.git/src/ppp, branch th/fix-python-test</title>
<subtitle>gitlab.freedesktop.org: NetworkManager/NetworkManager.git
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/NetworkManager.git/'/>
<entry>
<title>core: extend nm_shutdown_wait_obj_*() to support notification via a GCancellable</title>
<updated>2019-09-22T14:05:50+00:00</updated>
<author>
<name>Thomas Haller</name>
<email>thaller@redhat.com</email>
</author>
<published>2019-08-23T05:45:41+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/NetworkManager.git/commit/?id=eae69e33dd1865f24544c135b366eb343c5a46e6'/>
<id>eae69e33dd1865f24544c135b366eb343c5a46e6</id>
<content type='text'>
Now nm_shutdown_wait_obj_*() supports two styles:

 - NM_SHUTDOWN_WAIT_TYPE_OBJECT: this just registers a weak pointer
   on a source GObject. As long as the object is not destroyed
   (and the object is not unregistered), the shutdown gets blocked.

 - now new is NM_SHUTDOWN_WAIT_TYPE_CANCELLABLE: this source object
   is a GCancellable, and during shutdown, the system will cancel
   the instances to notify about the shutdown. That aside, the GCancellable
   is tracked exactly like a regular NM_SHUTDOWN_WAIT_TYPE_OBJECT (meaning:
   a weak pointer is registered and shutdown gets delayed as long as the instance
   lives).

As the rest of the shutdown, it's not yet implemented on the shutdown-side.
What is now possible is to register such cancellables, so that users can make
use of this API before we fix shutdown. We cannot fix it all at the same time,
so first users must be ready for this approach.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Now nm_shutdown_wait_obj_*() supports two styles:

 - NM_SHUTDOWN_WAIT_TYPE_OBJECT: this just registers a weak pointer
   on a source GObject. As long as the object is not destroyed
   (and the object is not unregistered), the shutdown gets blocked.

 - now new is NM_SHUTDOWN_WAIT_TYPE_CANCELLABLE: this source object
   is a GCancellable, and during shutdown, the system will cancel
   the instances to notify about the shutdown. That aside, the GCancellable
   is tracked exactly like a regular NM_SHUTDOWN_WAIT_TYPE_OBJECT (meaning:
   a weak pointer is registered and shutdown gets delayed as long as the instance
   lives).

As the rest of the shutdown, it's not yet implemented on the shutdown-side.
What is now possible is to register such cancellables, so that users can make
use of this API before we fix shutdown. We cannot fix it all at the same time,
so first users must be ready for this approach.
</pre>
</div>
</content>
</entry>
<entry>
<title>all: SPDX header conversion</title>
<updated>2019-09-10T09:19:56+00:00</updated>
<author>
<name>Lubomir Rintel</name>
<email>lkundrak@v3.sk</email>
</author>
<published>2019-09-10T09:19:01+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/NetworkManager.git/commit/?id=24028a22467275671df71cc6a8054036b37d8f03'/>
<id>24028a22467275671df71cc6a8054036b37d8f03</id>
<content type='text'>
  $ find * -type f |xargs perl contrib/scripts/spdx.pl
  $ git rm contrib/scripts/spdx.pl
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
  $ find * -type f |xargs perl contrib/scripts/spdx.pl
  $ git rm contrib/scripts/spdx.pl
</pre>
</div>
</content>
</entry>
<entry>
<title>core/pppd-plugin: wait to recover port settings before notifying death</title>
<updated>2019-06-14T11:29:45+00:00</updated>
<author>
<name>Alfonso Sánchez-Beato</name>
<email>alfonso.sanchez-beato@canonical.com</email>
</author>
<published>2019-06-13T16:23:21+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/NetworkManager.git/commit/?id=a251712a729f676c9c2d38e469e4f88e250229ba'/>
<id>a251712a729f676c9c2d38e469e4f88e250229ba</id>
<content type='text'>
pppd restores the previous settings for the serial port it uses right
before exiting. It is especially important to do so because otherwise
ModemManager is not able to recover the port as it can receive a hangup
event from the port due to CLOCAL not being restored.  However, there is
currently a race condition that produces this issue. This is because
when PHASE_DEAD is notified, pppd still has not restored the port
settings - it does that a bit later, in the die() function.

This patch delays notifying PHASE_DEAD until when the exitnotify() hook
is called by pppd: when this happens the port settings have already been
restored.

There were previously efforts to fix this in commit fe090c34b724, so
PHASE_DEAD was used instead of PHASE_DISCONNECT to notify MM that the
port was disconnected, but that still early to ensure that the port
settings are restored.

The MM traces seen when the bug is triggered are:

ModemManager[2158]: &lt;warn&gt;  (ttyACM1): could not re-acquire serial port lock: (5) Input/output error
ModemManager[2158]: &lt;warn&gt;  Couldn't load Operator Code: 'Cannot run sequence: 'Could not open serial device ttyACM1: it has been forced close'

https://mail.gnome.org/archives/networkmanager-list/2019-June/msg00014.html
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
pppd restores the previous settings for the serial port it uses right
before exiting. It is especially important to do so because otherwise
ModemManager is not able to recover the port as it can receive a hangup
event from the port due to CLOCAL not being restored.  However, there is
currently a race condition that produces this issue. This is because
when PHASE_DEAD is notified, pppd still has not restored the port
settings - it does that a bit later, in the die() function.

This patch delays notifying PHASE_DEAD until when the exitnotify() hook
is called by pppd: when this happens the port settings have already been
restored.

There were previously efforts to fix this in commit fe090c34b724, so
PHASE_DEAD was used instead of PHASE_DISCONNECT to notify MM that the
port was disconnected, but that still early to ensure that the port
settings are restored.

The MM traces seen when the bug is triggered are:

ModemManager[2158]: &lt;warn&gt;  (ttyACM1): could not re-acquire serial port lock: (5) Input/output error
ModemManager[2158]: &lt;warn&gt;  Couldn't load Operator Code: 'Cannot run sequence: 'Could not open serial device ttyACM1: it has been forced close'

https://mail.gnome.org/archives/networkmanager-list/2019-June/msg00014.html
</pre>
</div>
</content>
</entry>
<entry>
<title>all: drop emacs file variables from source files</title>
<updated>2019-06-11T08:04:00+00:00</updated>
<author>
<name>Thomas Haller</name>
<email>thaller@redhat.com</email>
</author>
<published>2019-06-02T12:32:30+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/NetworkManager.git/commit/?id=c0e075c90263150bd00ea033dbbd2d8e6b05300e'/>
<id>c0e075c90263150bd00ea033dbbd2d8e6b05300e</id>
<content type='text'>
We no longer add these. If you use Emacs, configure it yourself.

Also, due to our "smart-tab" usage the editor anyway does a subpar
job handling our tabs. However, on the upside every user can choose
whatever tab-width he/she prefers. If "smart-tabs" are used properly
(like we do), every tab-width will work.

No manual changes, just ran commands:

    F=($(git grep -l -e '-\*-'))
    sed '1 { /\/\* *-\*-  *[mM]ode.*\*\/$/d }'     -i "${F[@]}"
    sed '1,4 { /^\(#\|--\|dnl\) *-\*- [mM]ode/d }' -i "${F[@]}"

Check remaining lines with:

    git grep -e '-\*-'

The ultimate purpose of this is to cleanup our files and eventually use
SPDX license identifiers. For that, first get rid of the boilerplate lines.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We no longer add these. If you use Emacs, configure it yourself.

Also, due to our "smart-tab" usage the editor anyway does a subpar
job handling our tabs. However, on the upside every user can choose
whatever tab-width he/she prefers. If "smart-tabs" are used properly
(like we do), every tab-width will work.

No manual changes, just ran commands:

    F=($(git grep -l -e '-\*-'))
    sed '1 { /\/\* *-\*-  *[mM]ode.*\*\/$/d }'     -i "${F[@]}"
    sed '1,4 { /^\(#\|--\|dnl\) *-\*- [mM]ode/d }' -i "${F[@]}"

Check remaining lines with:

    git grep -e '-\*-'

The ultimate purpose of this is to cleanup our files and eventually use
SPDX license identifiers. For that, first get rid of the boilerplate lines.
</pre>
</div>
</content>
</entry>
<entry>
<title>core/pppd-plugin: use GDBusConnection in "nm-pppd-plugin.c"</title>
<updated>2019-05-13T07:25:05+00:00</updated>
<author>
<name>Thomas Haller</name>
<email>thaller@redhat.com</email>
</author>
<published>2019-05-05T13:00:37+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/NetworkManager.git/commit/?id=156f4ee53f0e8007344f68d513bb13958facd72f'/>
<id>156f4ee53f0e8007344f68d513bb13958facd72f</id>
<content type='text'>
- use GDBusConnection instead of GDBusProxy.

- namespace global variables with a "gl" struct.

- don't log __func__. If a log line should have a certain
  topic/tag, the tag should be set manually, not based on the
  function name. It just looks odd. Also, it's unnecessary.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- use GDBusConnection instead of GDBusProxy.

- namespace global variables with a "gl" struct.

- don't log __func__. If a log line should have a certain
  topic/tag, the tag should be set manually, not based on the
  function name. It just looks odd. Also, it's unnecessary.
</pre>
</div>
</content>
</entry>
<entry>
<title>build/meson: rename "nm_core_dep" to "libnm_core_dep"</title>
<updated>2019-04-18T18:13:49+00:00</updated>
<author>
<name>Thomas Haller</name>
<email>thaller@redhat.com</email>
</author>
<published>2019-04-15T14:46:54+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/NetworkManager.git/commit/?id=e7836cd15165da701eeb09e764befbeee767466c'/>
<id>e7836cd15165da701eeb09e764befbeee767466c</id>
<content type='text'>
The library is called "libnm_core". So the dependency should be called
"libnm_core_dep", like in all other cases.

(cherry picked from commit c27ad37c278461fd783b6db56844683ab3088345)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The library is called "libnm_core". So the dependency should be called
"libnm_core_dep", like in all other cases.

(cherry picked from commit c27ad37c278461fd783b6db56844683ab3088345)
</pre>
</div>
</content>
</entry>
<entry>
<title>all: replace strerror() calls with nm_strerror_native()</title>
<updated>2019-02-12T07:50:28+00:00</updated>
<author>
<name>Thomas Haller</name>
<email>thaller@redhat.com</email>
</author>
<published>2019-01-31T16:22:18+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/NetworkManager.git/commit/?id=9beed4f661d0b8e02c16a616e7491baa42af0843'/>
<id>9beed4f661d0b8e02c16a616e7491baa42af0843</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>all: cache errno in local variable before using it</title>
<updated>2019-02-12T07:50:28+00:00</updated>
<author>
<name>Thomas Haller</name>
<email>thaller@redhat.com</email>
</author>
<published>2019-01-31T12:29:21+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/NetworkManager.git/commit/?id=047998f80a8686f5200cd48d31349c977f9a50b7'/>
<id>047998f80a8686f5200cd48d31349c977f9a50b7</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>all: drop unnecessary includes of &lt;errno.h&gt; and &lt;string.h&gt;</title>
<updated>2019-02-12T07:50:28+00:00</updated>
<author>
<name>Thomas Haller</name>
<email>thaller@redhat.com</email>
</author>
<published>2019-01-31T12:44:13+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/NetworkManager.git/commit/?id=a3370af3a8a965e41950c5022182730d79614df2'/>
<id>a3370af3a8a965e41950c5022182730d79614df2</id>
<content type='text'>
"nm-macros-interal.h" already includes &lt;errno.h&gt; and &lt;string.h&gt;.
No need to include it everywhere else too.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
"nm-macros-interal.h" already includes &lt;errno.h&gt; and &lt;string.h&gt;.
No need to include it everywhere else too.
</pre>
</div>
</content>
</entry>
<entry>
<title>core: pass hints as strv to nm_act_request_get_secrets()</title>
<updated>2019-02-05T07:34:23+00:00</updated>
<author>
<name>Thomas Haller</name>
<email>thaller@redhat.com</email>
</author>
<published>2019-01-24T15:18:56+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/NetworkManager.git/commit/?id=bd590579dabd1940049822026357f45b4ab4d4af'/>
<id>bd590579dabd1940049822026357f45b4ab4d4af</id>
<content type='text'>
Extend nm_act_request_get_secrets() API to allow for the underlying
flexibility (of the API that it calls) to accept a strv list of hints.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Extend nm_act_request_get_secrets() API to allow for the underlying
flexibility (of the API that it calls) to accept a strv list of hints.
</pre>
</div>
</content>
</entry>
</feed>
