psi-im / psi

XMPP client
https://psi-im.org/
Other
402 stars 123 forks source link

IDN2008 instead of IDN2003 // Use libidn2 instead of libidn (or other) #504

Closed Neustradamus closed 4 years ago

Neustradamus commented 4 years ago

UPDATE: libstringprep is here, done by @rockdaboot : https://gitlab.com/libidn/libidn2/-/issues/28#note_321827403

Can you see for migrate to libidn2 or other?

Current problems:

Solution 1 and the best, I think: @jas4711: Can you export "stringprep" from libidn?

Like:

For PRECIS, there are:

ICU:

Ri0n commented 4 years ago

not sure if any of these links does any help

Neustradamus commented 4 years ago

Ri0n: I specify all about the libidn2 problem and stringprep/saslprep and precis librairies.

For Psi, I think there is ICU instead of libidn2, no?

Ri0n commented 4 years ago

icu maybe. It's already linked with qt on some systems. but it's huge

Neustradamus commented 4 years ago

@Ri0n: https://gitlab.com/libidn/libidn2/-/issues/28#note_321827403

There is "libstringprep" now, can you look and confirm that it works with libidn2 + libstringprep?

The author will create a final libstringprep version.

Neustradamus commented 4 years ago

@Ri0n: @rockdaboot waits news from the Psi project to release the libstringprep 1.0.

rockdaboot commented 4 years ago

In fact, I would release libidn 1.36 which provides libidn and libstringprep. Downstream likely need to adjust their package recipes to include both libraries.

Ri0n commented 4 years ago

In fact, I would release libidn 1.36 which provides libidn and libstringprep. Downstream likely need to adjust their package recipes to include both libraries.

We need just stringprep xmpp profile. IDN stuff is already implemented in Qt.

rockdaboot commented 4 years ago

@Ri0n Libstringprep just holds the profiles, the stringprep functions/API and some NFKC code which is needed for stringprep.

Neustradamus commented 4 years ago

@Ri0n: Can you look asap? With this, @rockdaboot can release an official build.

rockdaboot commented 4 years ago

The decision has been made to not create a new library.

Neustradamus commented 4 years ago

@rockdaboot: Can you export me an archive? I have not downloaded it, thanks in advance.

Ri0n commented 4 years ago

@Neustradamus, I can't switch to this task right now. be patient. Since libidn1 is somewhat obsoleted and already removed from some distros, I don't see a problem to incorporate some part of libidn1 sources directly to iris library. especially if libstringprep is isolated enough.

jas4711 commented 4 years ago

Which distro has libidn removed? Adding a new libstringprep library should be more work than just re-enabling libidn for psi though. New build parameters to drop non-stringprep parts of libidn from the build would be considered, if size issues is a concern.

Note that stringprep is also obsolete. Code should be upgraded to precis framework. I understand some standards may be lagging though.

/Simon

7 maj 2020 kl. 12:41 skrev Sergey Ilinykh notifications@github.com:

 @Neustradamus, I can't switch to this task right now. be patient. Since libidn1 is somewhat obsoleted and already removed from some distros, I don't see a problem to incorporate some part of libidn1 sources directly to iris library. especially if libstringprep is isolated enough.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or unsubscribe.

Ri0n commented 4 years ago

Which distro has libidn removed?

I just heard talks how distro maintainers pushed package maintainers and upstream to migrate to libidn2 as soon as possible since the libidn1 is going to be removed soon. IIRC it was Fedora last time.

So I believe it's already removed from some distros which care less about backward compatibility.

some standards may be lagging though.

Yep. Waiting for an implementation.

Ri0n commented 4 years ago

I made Conan recipe to build stringprep either with Visual Studio or on Linux. https://github.com/Ri0n/conan-stringprep/ I haven't tried to use the lib though.

Ri0n commented 4 years ago

stringprep is now bundled to libiris https://github.com/psi-im/iris/tree/master/3rdparty/stringprep