notable upgrades requiring code changes:
rcgen: signed_by now takes an Issuer instead of a Certificate and KeyPair
tonic/prost: prost feature was stripped out of tonic and moved into tonic_prost crates
rand: OsRng was renamed to SysRng
Changelog-None
I've ran `cargo fix --edition` and three changes were noticeable:
- set_var is now unsafe, i've added a SAFETY comment on each to explain why
this is fine here.
- conversions of several if let to match because of the new if let temporary scope
I have reviewed and restored all of them since the behaviour was the same on each.
- the macro expr was converted to expr_2021 in the lsps plugin, i have reverted those
aswell since we don't use const or _ expressions
Changelog-None
Recent versions of urllib3 fail certificate verification if certificates
lack the Authority Key Identifier or Key Usages extensions:
```
SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: Missing Authority Key Identifier (_ssl.c:1032)
SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: CA cert does not include key usage extension (_ssl.c:1032)
```
Luckily, rcgen offers parameters in its CertificateParams structure to
add these extensions. Let's use them.
Changelog-Fixed: Certificates auto-generated by grpc-plugin, rest-plugin, and wss-proxy-plugin now include the required Authority Key Identifier and Key Usages extensions.
Changelog-Added: clnrest can now return successful responses as xml, yaml, or form-encoded in addition to json defined in the 'Accept' header. The same goes for request types defined in the 'Content-type' header.