<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/NetworkManager.git/po, 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>bluetooth: refactor BlueZ handling and let NMBluezManager cache ObjectManager data</title>
<updated>2019-09-23T10:47:37+00:00</updated>
<author>
<name>Thomas Haller</name>
<email>thaller@redhat.com</email>
</author>
<published>2019-08-11T08:43:53+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/NetworkManager.git/commit/?id=4154d9618c904c2286b332b56f3515806cb1bb3b'/>
<id>4154d9618c904c2286b332b56f3515806cb1bb3b</id>
<content type='text'>
This is a complete refactoring of the bluetooth code.

Now that BlueZ 4 support was dropped, the separation of NMBluezManager
and NMBluez5Manager makes no sense. They should be merged.

At that point, notice that BlueZ 5's D-Bus API is fully centered around
D-Bus's ObjectManager interface. Using that interface, we basically only
call GetManagedObjects() once and register to InterfacesAdded,
InterfacesRemoved and PropertiesChanged signals. There is no need to
fetch individual properties ever.

Note how NMBluezDevice used to query the D-Bus properties itself by
creating a GDBusProxy. This is redundant, because when using the ObjectManager
interfaces, we have all information already.

Instead, let NMBluezManager basically become the client-side cache of
all of BlueZ's ObjectManager interface. NMBluezDevice was mostly concerned
about caching the D-Bus interface's state, tracking suitable profiles
(pan_connection), and moderate between bluez and NMDeviceBt.
These tasks don't get simpler by moving them to a seprate file. Let them
also be handled by NMBluezManager.

I mean, just look how it was previously: NMBluez5Manager registers to
ObjectManager interface and sees a device appearing. It creates a
NMBluezDevice object and registers to its "initialized" and
"notify:usable" signal. In the meantime, NMBluezDevice fetches the
relevant information from D-Bus (although it was already present in the
data provided by the ObjectManager) and eventually emits these usable
and initialized signals.
Then, NMBlue5Manager emits a "bdaddr-added" signal, for which NMBluezManager
creates the NMDeviceBt instance. NMBluezManager, NMBluez5Manager and
NMBluezDevice are strongly cooperating to the point that it is simpler
to merge them.

This is not mere refactoring. This patch aims to make everything
asynchronously and always cancellable. Also, it aims to fix races
and inconsistencies of the state.

- Registering to a NAP server now waits for the response and delays
  activation of the NMDeviceBridge accordingly.

- For NAP connections we now watch the bnep0 interface in platform, and tear
  down the device when it goes away. Bluez doesn't send us a notification
  on D-Bus in that case.

- Rework establishing a DUN connection. It no longer uses blocking
  connect() and does not block until rfcomm device appears. It's
  all async now. It also watches the rfcomm file descriptor for
  POLLERR/POLLHUP to notice disconnect.

- drop nm_device_factory_emit_component_added() and instead let
  NMDeviceBt directly register to the WWan factory's "added" signal.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is a complete refactoring of the bluetooth code.

Now that BlueZ 4 support was dropped, the separation of NMBluezManager
and NMBluez5Manager makes no sense. They should be merged.

At that point, notice that BlueZ 5's D-Bus API is fully centered around
D-Bus's ObjectManager interface. Using that interface, we basically only
call GetManagedObjects() once and register to InterfacesAdded,
InterfacesRemoved and PropertiesChanged signals. There is no need to
fetch individual properties ever.

Note how NMBluezDevice used to query the D-Bus properties itself by
creating a GDBusProxy. This is redundant, because when using the ObjectManager
interfaces, we have all information already.

Instead, let NMBluezManager basically become the client-side cache of
all of BlueZ's ObjectManager interface. NMBluezDevice was mostly concerned
about caching the D-Bus interface's state, tracking suitable profiles
(pan_connection), and moderate between bluez and NMDeviceBt.
These tasks don't get simpler by moving them to a seprate file. Let them
also be handled by NMBluezManager.

I mean, just look how it was previously: NMBluez5Manager registers to
ObjectManager interface and sees a device appearing. It creates a
NMBluezDevice object and registers to its "initialized" and
"notify:usable" signal. In the meantime, NMBluezDevice fetches the
relevant information from D-Bus (although it was already present in the
data provided by the ObjectManager) and eventually emits these usable
and initialized signals.
Then, NMBlue5Manager emits a "bdaddr-added" signal, for which NMBluezManager
creates the NMDeviceBt instance. NMBluezManager, NMBluez5Manager and
NMBluezDevice are strongly cooperating to the point that it is simpler
to merge them.

This is not mere refactoring. This patch aims to make everything
asynchronously and always cancellable. Also, it aims to fix races
and inconsistencies of the state.

- Registering to a NAP server now waits for the response and delays
  activation of the NMDeviceBridge accordingly.

- For NAP connections we now watch the bnep0 interface in platform, and tear
  down the device when it goes away. Bluez doesn't send us a notification
  on D-Bus in that case.

- Rework establishing a DUN connection. It no longer uses blocking
  connect() and does not block until rfcomm device appears. It's
  all async now. It also watches the rfcomm file descriptor for
  POLLERR/POLLHUP to notice disconnect.

- drop nm_device_factory_emit_component_added() and instead let
  NMDeviceBt directly register to the WWan factory's "added" signal.
</pre>
</div>
</content>
</entry>
<entry>
<title>po: fixed typo in it.po</title>
<updated>2019-09-03T14:04:03+00:00</updated>
<author>
<name>Davide Palma</name>
<email>dpfuturehacker@gmail.com</email>
</author>
<published>2019-09-03T13:45:47+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/NetworkManager.git/commit/?id=6a7c2d44aee466d11f2a5b94cc6a229be6ff5c88'/>
<id>6a7c2d44aee466d11f2a5b94cc6a229be6ff5c88</id>
<content type='text'>
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/merge_requests/259
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/merge_requests/259
</pre>
</div>
</content>
</entry>
<entry>
<title>core: fix a typo</title>
<updated>2019-09-03T09:43:56+00:00</updated>
<author>
<name>Lubomir Rintel</name>
<email>lkundrak@v3.sk</email>
</author>
<published>2019-09-03T09:43:12+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/NetworkManager.git/commit/?id=4534c6c36650b42392cf5498d42be826940428a2'/>
<id>4534c6c36650b42392cf5498d42be826940428a2</id>
<content type='text'>
s/grater/greater/
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
s/grater/greater/
</pre>
</div>
</content>
</entry>
<entry>
<title>po: RHEL 8.1 translations</title>
<updated>2019-08-15T12:41:39+00:00</updated>
<author>
<name>Ludek Janda</name>
<email>ljanda@redhat.com</email>
</author>
<published>2019-08-15T09:45:03+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/NetworkManager.git/commit/?id=ca8d54d5a12b5af118f88c41023ba5ad8112750e'/>
<id>ca8d54d5a12b5af118f88c41023ba5ad8112750e</id>
<content type='text'>
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/merge_requests/242
(cherry picked from commit 9e57873e9c5cda8976d0cf00e08283ae080c52a9)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/merge_requests/242
(cherry picked from commit 9e57873e9c5cda8976d0cf00e08283ae080c52a9)
</pre>
</div>
</content>
</entry>
<entry>
<title>po: update Ukrainian translation</title>
<updated>2019-08-15T12:31:28+00:00</updated>
<author>
<name>Yuri Chornoivan</name>
<email>yurchor@ukr.net</email>
</author>
<published>2019-08-15T07:53:56+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/NetworkManager.git/commit/?id=1e3c359f72bbe5ed4cd181afdff7318894800ed0'/>
<id>1e3c359f72bbe5ed4cd181afdff7318894800ed0</id>
<content type='text'>
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/merge_requests/240
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/merge_requests/240
</pre>
</div>
</content>
</entry>
<entry>
<title>po: update Polish (pl) translation</title>
<updated>2019-08-12T09:34:49+00:00</updated>
<author>
<name>Piotr Drąg</name>
<email>piotrdrag@gmail.com</email>
</author>
<published>2019-08-11T12:10:45+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/NetworkManager.git/commit/?id=a791dfba268a08e8801f07414e631c9d0ea423e7'/>
<id>a791dfba268a08e8801f07414e631c9d0ea423e7</id>
<content type='text'>
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/merge_requests/239
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/merge_requests/239
</pre>
</div>
</content>
</entry>
<entry>
<title>po: update Brazilian Portuguese (pt_BR) translation</title>
<updated>2019-07-15T07:55:09+00:00</updated>
<author>
<name>Rafael Fontenelle</name>
<email>rafaelff@gnome.org</email>
</author>
<published>2019-07-13T04:54:31+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/NetworkManager.git/commit/?id=da39bacd82519c1e199909d4f4f856d93d0d38a0'/>
<id>da39bacd82519c1e199909d4f4f856d93d0d38a0</id>
<content type='text'>
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/merge_requests/204/
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/merge_requests/204/
</pre>
</div>
</content>
</entry>
<entry>
<title>po: fix a typo in the French translation</title>
<updated>2019-07-10T09:04:44+00:00</updated>
<author>
<name>Luclu7</name>
<email>me@luclu7.fr</email>
</author>
<published>2019-07-09T16:53:54+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/NetworkManager.git/commit/?id=c11e3b6316247c2560fe0d74f74b15eebdd4e3e8'/>
<id>c11e3b6316247c2560fe0d74f74b15eebdd4e3e8</id>
<content type='text'>
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/merge_requests/200
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/merge_requests/200
</pre>
</div>
</content>
</entry>
<entry>
<title>po: update Chinese Taiwan (zh_TW) translation</title>
<updated>2019-06-29T07:15:27+00:00</updated>
<author>
<name>Hsiu-Ming Chang</name>
<email>cges30901@gmail.com</email>
</author>
<published>2019-06-28T11:19:47+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/NetworkManager.git/commit/?id=3698e24eba3d3819fe4a5499fb0c0cd35848cf0c'/>
<id>3698e24eba3d3819fe4a5499fb0c0cd35848cf0c</id>
<content type='text'>
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/merge_requests/190
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/merge_requests/190
</pre>
</div>
</content>
</entry>
<entry>
<title>settings: drop ibft settings plugin</title>
<updated>2019-06-20T14:06:44+00:00</updated>
<author>
<name>Thomas Haller</name>
<email>thaller@redhat.com</email>
</author>
<published>2019-06-19T05:47:20+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/NetworkManager.git/commit/?id=74641be816a201fdb704a7a8084a791ea5c76c9f'/>
<id>74641be816a201fdb704a7a8084a791ea5c76c9f</id>
<content type='text'>
The functionality of the ibft settings plugin is now handled by
nm-initrd-generator. There is no need for it anymore, drop it.

Note that ibft called iscsiadm, which requires CAP_SYS_ADMIN to work
([1]). We really want to drop this capability, so the current solution
of a settings plugin (as it is implemented) is wrong. The solution
instead is nm-initrd-generator.

Also, on Fedora the ibft was disabled and probably on most other
distributions as well. This was only used on RHEL.

[1] https://bugzilla.redhat.com/show_bug.cgi?id=1371201#c7
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The functionality of the ibft settings plugin is now handled by
nm-initrd-generator. There is no need for it anymore, drop it.

Note that ibft called iscsiadm, which requires CAP_SYS_ADMIN to work
([1]). We really want to drop this capability, so the current solution
of a settings plugin (as it is implemented) is wrong. The solution
instead is nm-initrd-generator.

Also, on Fedora the ibft was disabled and probably on most other
distributions as well. This was only used on RHEL.

[1] https://bugzilla.redhat.com/show_bug.cgi?id=1371201#c7
</pre>
</div>
</content>
</entry>
</feed>
