<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/NetworkManager.git/src/nm-cloud-setup, branch main</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>cloud-setup/gcp: add ability to redirect metadata API requests</title>
<updated>2023-05-12T10:42:55+00:00</updated>
<author>
<name>Lubomir Rintel</name>
<email>lkundrak@v3.sk</email>
</author>
<published>2023-04-17T05:08:05+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/NetworkManager.git/commit/?id=79f6a7da567637443f82d2ea1d6ea10e8f3c6208'/>
<id>79f6a7da567637443f82d2ea1d6ea10e8f3c6208</id>
<content type='text'>
A different host can be specified with (undocumented, private)
NM_CLOUD_SETUP_GCP_HOST environment variable.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
A different host can be specified with (undocumented, private)
NM_CLOUD_SETUP_GCP_HOST environment variable.
</pre>
</div>
</content>
</entry>
<entry>
<title>cloud-setup/azure: add ability to redirect metadata API requests</title>
<updated>2023-05-12T10:42:55+00:00</updated>
<author>
<name>Lubomir Rintel</name>
<email>lkundrak@v3.sk</email>
</author>
<published>2023-04-17T05:08:12+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/NetworkManager.git/commit/?id=515e69df3a549aa5a23052f3d68a04e1ed1e6b99'/>
<id>515e69df3a549aa5a23052f3d68a04e1ed1e6b99</id>
<content type='text'>
A different host can be specified with (undocumented, private)
NM_CLOUD_SETUP_AZURE_HOST environment variable.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
A different host can be specified with (undocumented, private)
NM_CLOUD_SETUP_AZURE_HOST environment variable.
</pre>
</div>
</content>
</entry>
<entry>
<title>cloud-init: fix leaking iproutes for GCP provider</title>
<updated>2023-05-12T10:42:54+00:00</updated>
<author>
<name>Thomas Haller</name>
<email>thaller@redhat.com</email>
</author>
<published>2023-05-10T10:48:22+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/NetworkManager.git/commit/?id=0888ed93f785efff5b53e55ff27499ae69ec9640'/>
<id>0888ed93f785efff5b53e55ff27499ae69ec9640</id>
<content type='text'>
The routes in iproutes were leaked (and ownership stolen
in _nmc_mangle_connection(), leaving dangling pointers).

Fix that by using a GPtrArray instead.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The routes in iproutes were leaked (and ownership stolen
in _nmc_mangle_connection(), leaving dangling pointers).

Fix that by using a GPtrArray instead.
</pre>
</div>
</content>
</entry>
<entry>
<title>doc: replace all (allow-none) annotations by (optional) and/or (nullable)</title>
<updated>2023-03-27T09:49:43+00:00</updated>
<author>
<name>Corentin Noël</name>
<email>corentin.noel@collabora.com</email>
</author>
<published>2023-03-01T00:21:38+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/NetworkManager.git/commit/?id=5d28a0dd899bbe24f805758283173927c530291c'/>
<id>5d28a0dd899bbe24f805758283173927c530291c</id>
<content type='text'>
The (allow-none) annotation is deprecated since a long time now, it is better to
use (nullable) and/or (optional) which clarifies what it means with the (out)
annotation.

https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/1551
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The (allow-none) annotation is deprecated since a long time now, it is better to
use (nullable) and/or (optional) which clarifies what it means with the (out)
annotation.

https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/1551
</pre>
</div>
</content>
</entry>
<entry>
<title>cloud-setup: actually pass the HTTP method in nm_http_client_poll_req()</title>
<updated>2023-03-21T22:35:42+00:00</updated>
<author>
<name>Lubomir Rintel</name>
<email>lkundrak@v3.sk</email>
</author>
<published>2023-03-21T21:47:27+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/NetworkManager.git/commit/?id=f07da04cd9f16ac9e90d3d57d970ac935ad87b4d'/>
<id>f07da04cd9f16ac9e90d3d57d970ac935ad87b4d</id>
<content type='text'>
https://bugzilla.redhat.com/show_bug.cgi?id=2179718

Fixes: 8b7e12c2d631 ('cloud-setup/ec2: start with requesting a IMDSv2 token')
Fixes: cd74d7500278 ('cloud-setup: make nm_http_client_req() accept a method argument')
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://bugzilla.redhat.com/show_bug.cgi?id=2179718

Fixes: 8b7e12c2d631 ('cloud-setup/ec2: start with requesting a IMDSv2 token')
Fixes: cd74d7500278 ('cloud-setup: make nm_http_client_req() accept a method argument')
</pre>
</div>
</content>
</entry>
<entry>
<title>glib-aux,cloud-setup: move nm{cs,}_utils_poll() to libnm-glib-aux</title>
<updated>2023-03-13T16:13:01+00:00</updated>
<author>
<name>Thomas Haller</name>
<email>thaller@redhat.com</email>
</author>
<published>2023-02-27T14:16:40+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/NetworkManager.git/commit/?id=5a564ca17c824f356eed5f037706f5696b10e409'/>
<id>5a564ca17c824f356eed5f037706f5696b10e409</id>
<content type='text'>
The idea is to have useful and correct helper functions, that are
generic and reusable.

nmcs_utils_poll() was done with that intent, and it is a generally
useful function. As the implementation shows, it's not entirely trivial
to get all the parameters right, when it comes to glib-integration
(GMainContext and GTask) and polling.

Whether something like a generic poll helper is a useful thing at all,
may be a valid question. E.g. you need several hooks, and the usage is
still not trivial. Regardless of that, "nm-cloud-setup-utils.c" already
had such a helper. This is only about moving it to a place where it is
actually accessible to others.

And, if it turns out to be a good idea after all, then somebody else
could use it.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The idea is to have useful and correct helper functions, that are
generic and reusable.

nmcs_utils_poll() was done with that intent, and it is a generally
useful function. As the implementation shows, it's not entirely trivial
to get all the parameters right, when it comes to glib-integration
(GMainContext and GTask) and polling.

Whether something like a generic poll helper is a useful thing at all,
may be a valid question. E.g. you need several hooks, and the usage is
still not trivial. Regardless of that, "nm-cloud-setup-utils.c" already
had such a helper. This is only about moving it to a place where it is
actually accessible to others.

And, if it turns out to be a good idea after all, then somebody else
could use it.
</pre>
</div>
</content>
</entry>
<entry>
<title>cloud-setup: add register-object callback to nmcs_utils_poll()</title>
<updated>2023-03-13T16:13:01+00:00</updated>
<author>
<name>Thomas Haller</name>
<email>thaller@redhat.com</email>
</author>
<published>2023-02-27T14:53:06+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/NetworkManager.git/commit/?id=90f7d7d77b9fbc42ba3ddb736874da88d02fc06b'/>
<id>90f7d7d77b9fbc42ba3ddb736874da88d02fc06b</id>
<content type='text'>
nmcs_utils_poll() calls nmcs_wait_for_objects_register(), which is
specific to nm-cloud-setup.

nmcs_utils_poll() should move to libnm-glib-aux, so it should not have a
direct dependency on nm-cloud-setup code. Add instead a hook that the
caller can use for registering the object.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
nmcs_utils_poll() calls nmcs_wait_for_objects_register(), which is
specific to nm-cloud-setup.

nmcs_utils_poll() should move to libnm-glib-aux, so it should not have a
direct dependency on nm-cloud-setup code. Add instead a hook that the
caller can use for registering the object.
</pre>
</div>
</content>
</entry>
<entry>
<title>cloud-setup/trivial: fix gtkdoc comment for nmcs_utils_poll()</title>
<updated>2023-03-13T16:13:01+00:00</updated>
<author>
<name>Thomas Haller</name>
<email>thaller@redhat.com</email>
</author>
<published>2023-02-27T14:50:44+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/NetworkManager.git/commit/?id=1ee35cb6380d3d8469976b3a31c0d2d1ff99f11d'/>
<id>1ee35cb6380d3d8469976b3a31c0d2d1ff99f11d</id>
<content type='text'>
@probe_start_fcn is not called the first time synchronously. Fix the comment.
While at it, reword a bit.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
@probe_start_fcn is not called the first time synchronously. Fix the comment.
While at it, reword a bit.
</pre>
</div>
</content>
</entry>
<entry>
<title>cloud-setup: don't pass separate user-data when polling in nm_http_client_poll_req()</title>
<updated>2023-03-13T16:12:54+00:00</updated>
<author>
<name>Thomas Haller</name>
<email>thaller@redhat.com</email>
</author>
<published>2023-02-27T14:45:56+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/NetworkManager.git/commit/?id=841e06be5e99e12334209ad876fd5df92338b6d2'/>
<id>841e06be5e99e12334209ad876fd5df92338b6d2</id>
<content type='text'>
nmcs_utils_poll() accepts two different user-data. One is passed to the
probe callbacks (and returned by nmcs_utils_poll_finish()). The other
one is passed to the callback.

Having separate user data might be useful. It's not useful for
nm_http_client_poll_req(), which both passes the same.

It's confusing to pass the same data as different user-data. Don't do
that. Use only one way.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
nmcs_utils_poll() accepts two different user-data. One is passed to the
probe callbacks (and returned by nmcs_utils_poll_finish()). The other
one is passed to the callback.

Having separate user data might be useful. It's not useful for
nm_http_client_poll_req(), which both passes the same.

It's confusing to pass the same data as different user-data. Don't do
that. Use only one way.
</pre>
</div>
</content>
</entry>
<entry>
<title>cloud-setup/ec2: start with requesting a IMDSv2 token</title>
<updated>2023-03-07T12:54:08+00:00</updated>
<author>
<name>Lubomir Rintel</name>
<email>lkundrak@v3.sk</email>
</author>
<published>2023-02-26T23:15:11+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/NetworkManager.git/commit/?id=8b7e12c2d631c47292258c29429cd565715ea186'/>
<id>8b7e12c2d631c47292258c29429cd565715ea186</id>
<content type='text'>
The present version of the EC2 metadata API (IMDSv2) requires a header
with a token to be present in all requests. The token is essentially a
cookie that's not actually a cookie that's obtained with a PUT call that
doesn't put anything. Apparently it's too easy to trick someone into
calling a GET method.

EC2 now supports IMDSv2 everywhere with IMDSv1 being optional, so let's
just use IMDSv2 unconditionally. Also, the presence of a token API can
be used to detect the AWS EC2 cloud.

https://bugzilla.redhat.com/show_bug.cgi?id=2151986
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The present version of the EC2 metadata API (IMDSv2) requires a header
with a token to be present in all requests. The token is essentially a
cookie that's not actually a cookie that's obtained with a PUT call that
doesn't put anything. Apparently it's too easy to trick someone into
calling a GET method.

EC2 now supports IMDSv2 everywhere with IMDSv1 being optional, so let's
just use IMDSv2 unconditionally. Also, the presence of a token API can
be used to detect the AWS EC2 cloud.

https://bugzilla.redhat.com/show_bug.cgi?id=2151986
</pre>
</div>
</content>
</entry>
</feed>
