Re: Concerns Regarding the Choice of Rust for the Xfce Wayland Compositor
Mailing Lists <[email protected]> Wed, 17 Jun 2026 21:03:15 +0000
| Newsgroups | gmane.comp.desktop.xfce.devel.version4 |
|---|---|
| Message-ID | <bbi4cPrLJyR8G95qtM5r1nuipJf1THNXH4xpsce8bvsxG0TsUtkevvotgFyZPzbBWojPkGS7w3TqH6BBk2xZYMFbQBRnNeMBvUIR7j4AokI=@protonmail.com> |
This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --===============1070898423866730713== Content-Type: multipart/signed; protocol="application/pgp-signature"; micalg=pgp-sha512; boundary="------a3511600dd0c72af2350a7759195eeb35bebe7cb299df538f4324e34f7f229c0"; charset=utf-8 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --------a3511600dd0c72af2350a7759195eeb35bebe7cb299df538f4324e34f7f229c0 Content-Type: multipart/mixed;boundary=---------------------6ad617274c278f7a295ea0f272d9415c -----------------------6ad617274c278f7a295ea0f272d9415c Content-Type: multipart/alternative;boundary=---------------------ef624f5fe90cdbe4001c862071b88265 -----------------------ef624f5fe90cdbe4001c862071b88265 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain;charset=utf-8 Theron, I'm also interested in discussing that choice, though I want to note that = I'm more or less indifferent to the choice of language. Incremental compilation times=C2=A0in modern Rust are much lower than they= used to be, though first-time builds (i.e., those prior ti generating the= `target/` cache) are still somewhat higher than C.=C2=A0The main ways to = reduce first-time build times include: reducing generics usage in function= s and types, limiting macro usage,=C2=A0replacing=C2=A0procedural macros w= ith code generation or declarative macros, and cutting dependency trees. A= s you'll note, the vast majority of these are related to code=C2=A0generat= ion and inclusion; that's slow in any language -- not just Rust. It's more= of a style/fundamentals problem, like in C++. See:=C2=A0https://nnetherco= te.github.io/perf-book/compile-times.html Your next concern is very significant, and I strongly advise maintainers t= o abide by a strong security policy. Please vendor your dependencies, limi= t library reliance, and vet everything carefully! Any Crates.io libraries = should be locked via `Cargo.lock` s.t.=C2=A0reproducible builds would be r= equired from the very start. Monitor RustSec advisories and patch any affe= cted or=C2=A0vendored dependencies=C2=A0as soon as possible.=C2=A0You may = also wish to use tools like `cargo-deny` to automatically scan dependencie= s for RustSec advisories, licensing problems, etc.: https://rustsec.org/ I would also encourage Xfce maintainers to explore more "home-made"=C2=A0s= olutions, though I don't necessarily believe it should be in C. From what = I've seen,=C2=A0C-based compositors get to be a bit of a mess internally, = and Rust can help there by enforcing=C2=A0its many=C2=A0static guarantees!= It's just a matter of writing and adopting strategies for=C2=A0risk manag= ement, especially for ecosystem security.=C2=A0I=C2=A0also strongly advise= that y'all adopt=C2=A0human-focused security guidelines, meaning that LLM= s shouldn't be trusted to generate secure source code. Please keep humans = in the loop at all times=C2=A0-- `rustc` can detect many=C2=A0memory safet= y mistakes, but LLMs bring many additional security problems and tend to b= loat codebases. I agree with your request for a security audit of Smithay and its dependen= cies, hopefully resulting in either a full dependency lock=C2=A0or in-tree= /vendored crates. Hope to see something on that soon! :) Cheers, Barrett Ray -------- Original Message -------- On Wednesday, 06/17/26 at 10:17 Theron York <[email protected]> wr= ote: > I want to start by saying that I am genuinely excited to see Xfce workin= g on a native Wayland compositor. This is an essential step for the future= of the desktop, and I appreciate the team's effort on this. > = > However, I have some serious concerns about the decision to write the ne= w compositor in Rust. I understand the appeal of memory safety, but I thin= k the practical costs are significant and conflict with Xfce's core princi= ples. > = > The first concern is compilation time. Rust is well known for its slow c= ompile times, even for incremental builds. This is a real productivity hit= compared to C, which compiles almost instantly. For a volunteer driven pr= oject, long build times discourage new contributors and make debugging and= iteration much more tedious. This is especially problematic for users on = older or low power hardware, which makes up a large part of the Xfce commu= nity. The CI infrastructure would also need to be upgraded to handle the h= eavier Rust build load. > = > The second concern is the supply chain risk from Cargo and crates.io. Us= ing Rust means pulling in a large number of external dependencies, which i= ntroduces a significant attack surface that does not exist in a pure C pro= ject. A compromised crate could execute malicious code during the build pr= ocess. There is also the risk of typosquatting or dependency confusion. Xf= ce has always been trusted because its codebase is relatively small and au= ditable. Adding a sprawling dependency tree makes it very difficult for th= e team to vet everything that ends up in the final binary. > = > Beyond these technical issues, I think this choice goes against the trad= itional Xfce philosophy of keeping things lightweight and independent. Ins= tead of adopting a new language and ecosystem, I would urge the team to im= plement the compositor in C using a custom in house approach, just as Xfce= has always done for its core components. This would give the team total c= ontrol over the codebase, keep dependencies minimal, and ensure the compos= itor remains lightweight, secure, and easy to audit. This approach is enti= rely viable and would preserve the fast, secure, and lean nature that user= s expect from Xfce. > = > I respect the decision to look at Rust for safety, likely via smithay, b= ut I believe the trade offs are too large. I would kindly ask the team to = publicly address these concerns and reconsider the language choice. > = > Thank you for your work on Xfce, and I look forward to hearing your thou= ghts. > = > = > = > -- > = > "I believe that a sane world is a world with only free software." > = > Theron York > CloudNuke > cloudnuke.org > [email protected] -----------------------ef624f5fe90cdbe4001c862071b88265 Content-Type: multipart/related;boundary=---------------------0daa4b8da8b17aefa760c71bed730205 -----------------------0daa4b8da8b17aefa760c71bed730205 Content-Type: text/html;charset=utf-8 Content-Transfer-Encoding: base64 VGhlcm9uLDxkaXY+PGJyPjwvZGl2PjxkaXY+SSdtIGFsc28gaW50ZXJlc3RlZCBpbiBkaXNjdXNz aW5nIHRoYXQgY2hvaWNlLCB0aG91Z2ggSSB3YW50IHRvIG5vdGUgdGhhdCBJJ20gbW9yZSBvciBs ZXNzIGluZGlmZmVyZW50IHRvIHRoZSBjaG9pY2Ugb2YgbGFuZ3VhZ2UuPC9kaXY+PGRpdj48YnI+ PC9kaXY+PGRpdj5JbmNyZW1lbnRhbCBjb21waWxhdGlvbiB0aW1lcyZuYnNwO2luIG1vZGVybiBS dXN0IGFyZSBtdWNoIGxvd2VyIHRoYW4gdGhleSB1c2VkIHRvIGJlLCB0aG91Z2ggZmlyc3QtdGlt ZSBidWlsZHMgKGkuZS4sIHRob3NlIHByaW9yIHRpIGdlbmVyYXRpbmcgdGhlIGB0YXJnZXQvYCBj YWNoZSkgYXJlIHN0aWxsIHNvbWV3aGF0IGhpZ2hlciB0aGFuIEMuJm5ic3A7VGhlIG1haW4gd2F5 cyB0byByZWR1Y2UgZmlyc3QtdGltZSBidWlsZCB0aW1lcyBpbmNsdWRlOiByZWR1Y2luZyBnZW5l cmljcyB1c2FnZSBpbiBmdW5jdGlvbnMgYW5kIHR5cGVzLCBsaW1pdGluZyBtYWNybyB1c2FnZSwm bmJzcDtyZXBsYWNpbmcmbmJzcDtwcm9jZWR1cmFsIG1hY3JvcyB3aXRoIGNvZGUgZ2VuZXJhdGlv biBvciBkZWNsYXJhdGl2ZSBtYWNyb3MsIGFuZCBjdXR0aW5nIGRlcGVuZGVuY3kgdHJlZXMuIEFz IHlvdSdsbCBub3RlLCB0aGUgdmFzdCBtYWpvcml0eSBvZiB0aGVzZSBhcmUgcmVsYXRlZCB0byBj b2RlJm5ic3A7Z2VuZXJhdGlvbiBhbmQgaW5jbHVzaW9uOyB0aGF0J3Mgc2xvdyBpbiBhbnkgbGFu Z3VhZ2UgLS0gbm90IGp1c3QgUnVzdC4gSXQncyBtb3JlIG9mIGEgc3R5bGUvZnVuZGFtZW50YWxz IHByb2JsZW0sIGxpa2UgaW4gQysrLiBTZWU6Jm5ic3A7PGEgaHJlZj0iaHR0cHM6Ly9ubmV0aGVy Y290ZS5naXRodWIuaW8vcGVyZi1ib29rL2NvbXBpbGUtdGltZXMuaHRtbCIgc3R5bGU9IndvcmQt YnJlYWs6IGJyZWFrLXdvcmQ7IiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub3JlZmVycmVyIG5vZm9s bG93IG5vb3BlbmVyIj5odHRwczovL25uZXRoZXJjb3RlLmdpdGh1Yi5pby9wZXJmLWJvb2svY29t cGlsZS10aW1lcy5odG1sPC9hPjwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+WW91ciBuZXh0IGNv bmNlcm4gaXMgdmVyeSBzaWduaWZpY2FudCwgYW5kIEkgc3Ryb25nbHkgYWR2aXNlIG1haW50YWlu ZXJzIHRvIGFiaWRlIGJ5IGEgc3Ryb25nIHNlY3VyaXR5IHBvbGljeS4gUGxlYXNlIHZlbmRvciB5 b3VyIGRlcGVuZGVuY2llcywgbGltaXQgbGlicmFyeSByZWxpYW5jZSwgYW5kIHZldCBldmVyeXRo aW5nIGNhcmVmdWxseSEgQW55IENyYXRlcy5pbyBsaWJyYXJpZXMgc2hvdWxkIGJlIGxvY2tlZCB2 aWEgYENhcmdvLmxvY2tgIHMudC4mbmJzcDtyZXByb2R1Y2libGUgYnVpbGRzIHdvdWxkIGJlIHJl cXVpcmVkIGZyb20gdGhlIHZlcnkgc3RhcnQuIE1vbml0b3IgUnVzdFNlYyBhZHZpc29yaWVzIGFu ZCBwYXRjaCBhbnkgYWZmZWN0ZWQgb3ImbmJzcDt2ZW5kb3JlZCBkZXBlbmRlbmNpZXMmbmJzcDth cyBzb29uIGFzIHBvc3NpYmxlLiZuYnNwO1lvdSBtYXkgYWxzbyB3aXNoIHRvIHVzZSB0b29scyBs aWtlIGBjYXJnby1kZW55YCB0byBhdXRvbWF0aWNhbGx5IHNjYW4gZGVwZW5kZW5jaWVzIGZvciBS dXN0U2VjIGFkdmlzb3JpZXMsIGxpY2Vuc2luZyBwcm9ibGVtcywgZXRjLjogPGEgaHJlZj0iaHR0 cHM6Ly9ydXN0c2VjLm9yZy8iIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vcmVmZXJyZXIgbm9mb2xs b3cgbm9vcGVuZXIiPmh0dHBzOi8vcnVzdHNlYy5vcmcvPC9hPjwvZGl2PjxkaXY+PGJyPjwvZGl2 PjxkaXY+SSB3b3VsZCBhbHNvIGVuY291cmFnZSBYZmNlIG1haW50YWluZXJzIHRvIGV4cGxvcmUg bW9yZSAiaG9tZS1tYWRlIiZuYnNwO3NvbHV0aW9ucywgdGhvdWdoIEkgZG9uJ3QgbmVjZXNzYXJp bHkgYmVsaWV2ZSBpdCBzaG91bGQgYmUgaW4gQy4gRnJvbSB3aGF0IEkndmUgc2VlbiwmbmJzcDtD LWJhc2VkIGNvbXBvc2l0b3JzIGdldCB0byBiZSBhIGJpdCBvZiBhIG1lc3MgaW50ZXJuYWxseSwg YW5kIFJ1c3QgY2FuIGhlbHAgdGhlcmUgYnkgZW5mb3JjaW5nJm5ic3A7aXRzIG1hbnkmbmJzcDtz dGF0aWMgZ3VhcmFudGVlcyEgSXQncyBqdXN0IGEgbWF0dGVyIG9mIHdyaXRpbmcgYW5kIGFkb3B0 aW5nIHN0cmF0ZWdpZXMgZm9yJm5ic3A7cmlzayBtYW5hZ2VtZW50LCBlc3BlY2lhbGx5IGZvciBl Y29zeXN0ZW0gc2VjdXJpdHkuJm5ic3A7SSZuYnNwO2Fsc28gc3Ryb25nbHkgYWR2aXNlIHRoYXQg eSdhbGwgYWRvcHQmbmJzcDtodW1hbi1mb2N1c2VkIHNlY3VyaXR5IGd1aWRlbGluZXMsIG1lYW5p bmcgdGhhdCBMTE1zIHNob3VsZG4ndCBiZSB0cnVzdGVkIHRvIGdlbmVyYXRlIHNlY3VyZSBzb3Vy Y2UgY29kZS4gUGxlYXNlIGtlZXAgaHVtYW5zIGluIHRoZSBsb29wIGF0IGFsbCB0aW1lcyZuYnNw Oy0tIGBydXN0Y2AgY2FuIGRldGVjdCBtYW55Jm5ic3A7bWVtb3J5IHNhZmV0eSBtaXN0YWtlcywg YnV0IExMTXMgYnJpbmcgbWFueSBhZGRpdGlvbmFsIHNlY3VyaXR5IHByb2JsZW1zIGFuZCB0ZW5k IHRvIGJsb2F0IGNvZGViYXNlcy48L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2PkkgYWdyZWUgd2l0 aCB5b3VyIHJlcXVlc3QgZm9yIGEgc2VjdXJpdHkgYXVkaXQgb2YgU21pdGhheSBhbmQgaXRzIGRl cGVuZGVuY2llcywgaG9wZWZ1bGx5IHJlc3VsdGluZyBpbiBlaXRoZXIgYSBmdWxsIGRlcGVuZGVu Y3kgbG9jayZuYnNwO29yIGluLXRyZWUvdmVuZG9yZWQgY3JhdGVzLiBIb3BlIHRvIHNlZSBzb21l dGhpbmcgb24gdGhhdCBzb29uISA6KTwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+Q2hlZXJzLDwv ZGl2PjxkaXY+QmFycmV0dCBSYXk8L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2Pjxicj48YnI+PGJy PjxkaXYgY2xhc3M9InByb3Rvbm1haWxfc2lnbmF0dXJlX2Jsb2NrLXVzZXIiPjwvZGl2Pjxicj48 YnI+PC9kaXY+PGJyPjxkaXYgY2xhc3M9InByb3Rvbm1haWxfcXVvdGUiPjxicj48YnI+LS0tLS0t LS0gT3JpZ2luYWwgTWVzc2FnZSAtLS0tLS0tLTxicj5PbiBXZWRuZXNkYXksIDA2LzE3LzI2IGF0 IDEwOjE3IFRoZXJvbiBZb3JrICZsdDs8YSBocmVmPSJtYWlsdG86dGhlcm9uLnlvcmtAY2xvdWRu dWtlLm9yZyIgcmVsPSJub3JlZmVycmVyIG5vZm9sbG93IG5vb3BlbmVyIj50aGVyb24ueW9ya0Bj bG91ZG51a2Uub3JnPC9hPiZndDsgd3JvdGU6PGJyPjxibG9ja3F1b3RlIGNsYXNzPSJwcm90b25t YWlsX3F1b3RlIj4KICAgIDxwIGRpcj0iYXV0byI+SSB3YW50IHRvIHN0YXJ0IGJ5IHNheWluZyB0 aGF0IEkgYW0gZ2VudWluZWx5IGV4Y2l0ZWQKICAgICAgdG8gc2VlIFhmY2Ugd29ya2luZyBvbiBh IG5hdGl2ZSBXYXlsYW5kIGNvbXBvc2l0b3IuIFRoaXMgaXMgYW4KICAgICAgZXNzZW50aWFsIHN0 ZXAgZm9yIHRoZSBmdXR1cmUgb2YgdGhlIGRlc2t0b3AsIGFuZCBJIGFwcHJlY2lhdGUgdGhlCiAg ICAgIHRlYW0ncyBlZmZvcnQgb24gdGhpcy48L3A+CiAgICA8cCBkaXI9ImF1dG8iPkhvd2V2ZXIs IEkgaGF2ZSBzb21lIHNlcmlvdXMgY29uY2VybnMgYWJvdXQgdGhlCiAgICAgIGRlY2lzaW9uIHRv IHdyaXRlIHRoZSBuZXcgY29tcG9zaXRvciBpbiBSdXN0LiBJIHVuZGVyc3RhbmQgdGhlCiAgICAg IGFwcGVhbCBvZiBtZW1vcnkgc2FmZXR5LCBidXQgSSB0aGluayB0aGUgcHJhY3RpY2FsIGNvc3Rz IGFyZQogICAgICBzaWduaWZpY2FudCBhbmQgY29uZmxpY3Qgd2l0aCBYZmNlJ3MgY29yZSBwcmlu Y2lwbGVzLjwvcD4KICAgIDxwIGRpcj0iYXV0byI+VGhlIGZpcnN0IGNvbmNlcm4gaXMgY29tcGls YXRpb24gdGltZS4gUnVzdCBpcyB3ZWxsCiAgICAgIGtub3duIGZvciBpdHMgc2xvdyBjb21waWxl IHRpbWVzLCBldmVuIGZvciBpbmNyZW1lbnRhbCBidWlsZHMuCiAgICAgIFRoaXMgaXMgYSByZWFs IHByb2R1Y3Rpdml0eSBoaXQgY29tcGFyZWQgdG8gQywgd2hpY2ggY29tcGlsZXMKICAgICAgYWxt b3N0IGluc3RhbnRseS4gRm9yIGEgdm9sdW50ZWVyIGRyaXZlbiBwcm9qZWN0LCBsb25nIGJ1aWxk IHRpbWVzCiAgICAgIGRpc2NvdXJhZ2UgbmV3IGNvbnRyaWJ1dG9ycyBhbmQgbWFrZSBkZWJ1Z2dp bmcgYW5kIGl0ZXJhdGlvbiBtdWNoCiAgICAgIG1vcmUgdGVkaW91cy4gVGhpcyBpcyBlc3BlY2lh bGx5IHByb2JsZW1hdGljIGZvciB1c2VycyBvbiBvbGRlciBvcgogICAgICBsb3cgcG93ZXIgaGFy ZHdhcmUsIHdoaWNoIG1ha2VzIHVwIGEgbGFyZ2UgcGFydCBvZiB0aGUgWGZjZQogICAgICBjb21t dW5pdHkuIFRoZSBDSSBpbmZyYXN0cnVjdHVyZSB3b3VsZCBhbHNvIG5lZWQgdG8gYmUgdXBncmFk ZWQgdG8KICAgICAgaGFuZGxlIHRoZSBoZWF2aWVyIFJ1c3QgYnVpbGQgbG9hZC48L3A+CiAgICA8 cCBkaXI9ImF1dG8iPlRoZSBzZWNvbmQgY29uY2VybiBpcyB0aGUgc3VwcGx5IGNoYWluIHJpc2sg ZnJvbSBDYXJnbwogICAgICBhbmQgY3JhdGVzLmlvLiBVc2luZyBSdXN0IG1lYW5zIHB1bGxpbmcg aW4gYSBsYXJnZSBudW1iZXIgb2YKICAgICAgZXh0ZXJuYWwgZGVwZW5kZW5jaWVzLCB3aGljaCBp bnRyb2R1Y2VzIGEgc2lnbmlmaWNhbnQgYXR0YWNrCiAgICAgIHN1cmZhY2UgdGhhdCBkb2VzIG5v dCBleGlzdCBpbiBhIHB1cmUgQyBwcm9qZWN0LiBBIGNvbXByb21pc2VkCiAgICAgIGNyYXRlIGNv dWxkIGV4ZWN1dGUgbWFsaWNpb3VzIGNvZGUgZHVyaW5nIHRoZSBidWlsZCBwcm9jZXNzLiBUaGVy ZQogICAgICBpcyBhbHNvIHRoZSByaXNrIG9mIHR5cG9zcXVhdHRpbmcgb3IgZGVwZW5kZW5jeSBj b25mdXNpb24uIFhmY2UKICAgICAgaGFzIGFsd2F5cyBiZWVuIHRydXN0ZWQgYmVjYXVzZSBpdHMg Y29kZWJhc2UgaXMgcmVsYXRpdmVseSBzbWFsbAogICAgICBhbmQgYXVkaXRhYmxlLiBBZGRpbmcg YSBzcHJhd2xpbmcgZGVwZW5kZW5jeSB0cmVlIG1ha2VzIGl0IHZlcnkKICAgICAgZGlmZmljdWx0 IGZvciB0aGUgdGVhbSB0byB2ZXQgZXZlcnl0aGluZyB0aGF0IGVuZHMgdXAgaW4gdGhlIGZpbmFs CiAgICAgIGJpbmFyeS48L3A+CiAgICA8cCBkaXI9ImF1dG8iPkJleW9uZCB0aGVzZSB0ZWNobmlj YWwgaXNzdWVzLCBJIHRoaW5rIHRoaXMgY2hvaWNlCiAgICAgIGdvZXMgYWdhaW5zdCB0aGUgdHJh ZGl0aW9uYWwgWGZjZSBwaGlsb3NvcGh5IG9mIGtlZXBpbmcgdGhpbmdzCiAgICAgIGxpZ2h0d2Vp Z2h0IGFuZCBpbmRlcGVuZGVudC4gSW5zdGVhZCBvZiBhZG9wdGluZyBhIG5ldyBsYW5ndWFnZQog ICAgICBhbmQgZWNvc3lzdGVtLCBJIHdvdWxkIHVyZ2UgdGhlIHRlYW0gdG8gaW1wbGVtZW50IHRo ZSBjb21wb3NpdG9yCiAgICAgIGluIEMgdXNpbmcgYSBjdXN0b20gaW4gaG91c2UgYXBwcm9hY2gs IGp1c3QgYXMgWGZjZSBoYXMgYWx3YXlzCiAgICAgIGRvbmUgZm9yIGl0cyBjb3JlIGNvbXBvbmVu dHMuIFRoaXMgd291bGQgZ2l2ZSB0aGUgdGVhbSB0b3RhbAogICAgICBjb250cm9sIG92ZXIgdGhl IGNvZGViYXNlLCBrZWVwIGRlcGVuZGVuY2llcyBtaW5pbWFsLCBhbmQgZW5zdXJlCiAgICAgIHRo ZSBjb21wb3NpdG9yIHJlbWFpbnMgbGlnaHR3ZWlnaHQsIHNlY3VyZSwgYW5kIGVhc3kgdG8gYXVk aXQuCiAgICAgIFRoaXMgYXBwcm9hY2ggaXMgZW50aXJlbHkgdmlhYmxlIGFuZCB3b3VsZCBwcmVz ZXJ2ZSB0aGUgZmFzdCwKICAgICAgc2VjdXJlLCBhbmQgbGVhbiBuYXR1cmUgdGhhdCB1c2VycyBl eHBlY3QgZnJvbSBYZmNlLjwvcD4KICAgIDxwIGRpcj0iYXV0byI+SSByZXNwZWN0IHRoZSBkZWNp c2lvbiB0byBsb29rIGF0IFJ1c3QgZm9yIHNhZmV0eSwKICAgICAgbGlrZWx5IHZpYSBzbWl0aGF5 LCBidXQgSSBiZWxpZXZlIHRoZSB0cmFkZSBvZmZzIGFyZSB0b28gbGFyZ2UuIEkKICAgICAgd291 bGQga2luZGx5IGFzayB0aGUgdGVhbSB0byBwdWJsaWNseSBhZGRyZXNzIHRoZXNlIGNvbmNlcm5z IGFuZAogICAgICByZWNvbnNpZGVyIHRoZSBsYW5ndWFnZSBjaG9pY2UuPC9wPgogICAgPHAgZGly PSJhdXRvIj5UaGFuayB5b3UgZm9yIHlvdXIgd29yayBvbiBYZmNlLCBhbmQgSSBsb29rIGZvcndh cmQgdG8KICAgICAgaGVhcmluZyB5b3VyIHRob3VnaHRzLjwvcD4KICAgIDxwPjxicj4KICAgIDwv cD4KICAgIDxkaXYgY2xhc3M9Im1vei1zaWduYXR1cmUiPi0tIDxicj4KICAgICAgPGhyPgogICAg ICA8cD48ZW0+IkkgYmVsaWV2ZSB0aGF0IGEgc2FuZSB3b3JsZCBpcyBhIHdvcmxkIHdpdGggb25s eSBmcmVlCiAgICAgICAgICBzb2Z0d2FyZS4iPC9lbT48L3A+CiAgICAgIDxwPgogICAgICAgIDxz dHJvbmc+VGhlcm9uIFlvcms8L3N0cm9uZz48YnI+CiAgICAgICAgQ2xvdWROdWtlPGJyPgogICAg ICAgIDxhIGhyZWY9Imh0dHBzOi8vY2xvdWRudWtlLm9yZyIgcmVsPSJub3JlZmVycmVyIG5vZm9s bG93IG5vb3BlbmVyIiB0YXJnZXQ9Il9ibGFuayI+Y2xvdWRudWtlLm9yZzwvYT48YnI+CiAgICAg ICAgPGEgaHJlZj0ibWFpbHRvOnRoZXJvbi55b3JrQGNsb3VkbnVrZS5vcmciIGNsYXNzPSJtb3ot dHh0LWxpbmstZnJlZXRleHQiIHJlbD0ibm9yZWZlcnJlciBub2ZvbGxvdyBub29wZW5lciI+dGhl cm9uLnlvcmtAY2xvdWRudWtlLm9yZzwvYT4KICAgICAgPC9wPgogICAgPC9kaXY+CiAgCgo8L2Js b2NrcXVvdGU+PC9kaXY+ -----------------------0daa4b8da8b17aefa760c71bed730205-- -----------------------ef624f5fe90cdbe4001c862071b88265-- -----------------------6ad617274c278f7a295ea0f272d9415c Content-Type: application/pgp-keys; filename="publickey - [email protected] - 0xA3BCBAE4.asc"; name="publickey - [email protected] - 0xA3BCBAE4.asc" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="publickey - [email protected] - 0xA3BCBAE4.asc"; name="publickey - [email protected] - 0xA3BCBAE4.asc" LS0tLS1CRUdJTiBQR1AgUFVCTElDIEtFWSBCTE9DSy0tLS0tCgp4ak1FWXI0NnZoWUpLd1lCQkFI YVJ3OEJBUWRBV1BsbzJ6QlNmSGFUQzVFTVZlS0pORjNRMFlXbzFVeno2S2hCCjVtRlo5dXpOTDJ0 dlpXMWhhV3hBY0hKdmRHOXViV0ZwYkM1amIyMGdQR3R2WlcxaGFXeEFjSEp2ZEc5dWJXRnAKYkM1 amIyMCt3bzhFRUJZS0FDQUZBbUsrT3I0R0N3a0hDQU1DQkJVSUNnSUVGZ0lCQUFJWkFRSWJBd0ll QVFBaApDUkEzbDQwMXhkY0w0aFloQktPOHV1UkFDTkNxQTJNR1JUZVhqVFhGMXd2aXNma0JBTUYy UmZZdkNLYUNNNlZkCmtjV08weXdVVDZQWnhCU25adlJmb0lUWVhhLzFBUDlUbFlla3hmWktSV3lE bk4vVWZ5bWY4aUtsb0t3V1BRS2QKRGUwRWtRZm9BODQ0QkdLK09yNFNDaXNHQVFRQmwxVUJCUUVC QjBDMjN6KzFjWU1LcW5VN29KWWJGNE5mSVRFeQpQYlA0dWtoODVETjIwSVhFWlFNQkNBZkNlQVFZ RmdnQUNRVUNZcjQ2dmdJYkRBQWhDUkEzbDQwMXhkY0w0aFloCkJLTzh1dVJBQ05DcUEyTUdSVGVY alRYRjF3dmk5WkFBLzJUc0g4Y0NydFV4MHdWeGFLYkNQd1JDd3hTUHRRZWIKMTQzLzJ4Z2lNTGhK QVFEREpKeHRyQ3Y0WEpONXBqQ3hKL29aUENRQ2VkVjc2TWRhRjVna2VBanNEdz09Cj1SaU9tCi0t LS0tRU5EIFBHUCBQVUJMSUMgS0VZIEJMT0NLLS0tLS0= -----------------------6ad617274c278f7a295ea0f272d9415c-- --------a3511600dd0c72af2350a7759195eeb35bebe7cb299df538f4324e34f7f229c0 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: ProtonMail wrsEARYKAG0FgmozC4MJEDeXjTXF1wviRRQAAAAAABwAIHNhbHRAbm90YXRp b25zLm9wZW5wZ3Bqcy5vcmcyAhwPCCMeUb4byHwPK2zu+6tZS6QkFTIwzt2g /omt2BYhBKO8uuRACNCqA2MGRTeXjTXF1wviAAAvvQEAi0t78lNPgzAFLDto sMA6OttwQevmWEVBhKzpY0VbdAIBAJkKhoklbRPtNysENnX0RUDCtP9KS5Uv Fc+rrCAllZUK =W5F4 -----END PGP SIGNATURE----- --------a3511600dd0c72af2350a7759195eeb35bebe7cb299df538f4324e34f7f229c0-- --===============1070898423866730713== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Xfce4-dev mailing list [email protected] https://mail.xfce.org/mailman/listinfo/xfce4-dev --===============1070898423866730713==--