No subject

Peter Dimitrov peterdmv@REDACTED
Fri Apr 24 15:10:35 CEST 2020


Hi,


I can answer your first two questions:

1)

The URI *ad_injector://a/b/c* has an invalid scheme. A scheme component of
an URI shall follow the following ABNF rules:

scheme = ALPHA *( ALPHA / DIGIT / "+" / "-" / "." )


For more information see: https://tools.ietf.org/html/rfc3986#section-3.1


If it is not possible to change the scheme to a valid one then the only way
forward is to wrap uri_string:parse in an application specific function
that fixes the scheme before sending it to parse:


> uri_string:parse("adinjector://a/b/c").
#{host => "a",path => "/b/c",scheme => "adinjector"}


2) There is no direct equivalent of http_uri:parse but you can use

uri_string:normalize(URI, [return_map]) instead. It normalizes the URI and
returns it as a map. For more information, you can check a similar
discussion we had some time ago: https://github.com/erlang/otp/pull/2492


We have internal tickets to improve the documentation.


BR/Peter


-----Original Message-----
From: erlang-questions <erlang-questions-bounces@REDACTED> On Behalf Of
Max Lapshin
Sent: den 24 april 2020 10:20
To: Loïc Hoguin <essen@REDACTED>
Cc: erlang-questions@REDACTED
Subject: Re: OTP 23 Release Candidate 3 had been released



1)





4>
http_uri:parse("ad_injector://a/b/c",[{scheme_defaults,[{ad_injector,80}]}]).

{ok,{ad_injector,[],"a",80,"/b/c",[]}}

7> uri_string:parse("ad_injector://a/b/c").

{error,invalid_uri,":"}



Can you advice, what is the proper migration path?







2)

> Warning: http_uri:decode/1 is deprecated and will be removed in OTP 25



What is the proper replacement?







3)

inet_backend is not supported for ssl sockets. It is very inconvenient,
because I have to write lot of case clauses to put this option (first! and
it is mandatory) in the option list only for gen_tcp.





4)

Problems with elbrus (lcc) compilation. My patch is growing.



Btw, erlang cross-compilation is working and it is wonderful, thank you a
lot!  We had to refuse from building python, because its ecosystem is not
suitable for cross compilation =(







5) Problem with  inet_socket and switching from packet,http to packet,raw



https://protect2.fireeye.com/v1/url?k=fd512fa6-a1dbfab0-fd516f3d-862f14a9365e-d370ce522ac7d1c7&q=1&e=827c1ccd-217c-40c3-8835-cb5f909e5c31&u=https%3A%2F%2Fgist.github.com%2Fmaxlapshin%2Fcdf03656ac76431d9bede314f279b6b3



when I switch socket from packet,http  to packet,raw, then   recv

immediately closes socket.



On Wed, Apr 22, 2020 at 5:26 PM Loïc Hoguin <essen@REDACTED> wrote:

>

> Everything is green here (Linux, FreeBSD, macOS).

>

> I'm afraid I didn't try on Windows, I will try next time.

>

> Cheers,

>

> On 22/04/2020 12:19, Henrik Nord X wrote:

> >

> >     OTP 23 Release Candidate 3

> >

> > This is the third and last of three planned release candidates

> > before the OTP 23 release.

> > The intention with this release is to get feedback from our users.

> > *All feedback is welcome*, even if it is only to say that it works for
you.

> >

> > Erlang/OTP 23 is a new major release with new features, improvements

> > as well as a few incompatibilities.

> >

> >

> >       Highlights (rc3)

> >

> > Apart from the changes below, this third pre-release contains only

> > minor fixes.

> >

> >

> >       Potential Incompatibilities

> >

> >   * SSL:

> >       o Support for SSL 3.0 is completely removed.

> >       o TLS 1.3 is added to the list of default supported versions.

> >   * |erl_interface|: Removed the deprecated parts of |erl_interface|

> >     (|erl_interface.h| and essentially all C functions with prefix
|erl_|).

> >   * The deprecated |erlang:get_stacktrace/0| BIF now returns an empty

> >     list instead of a stacktrace.

> >     |erlang:get_stacktrace/0| is scheduled for removal in OTP 24.

> >   * ...

> >

> >

> >       Highlights (rc2)

> >

> >   * *ssh*:

> >       o OpenSSH 6.5 introduced a new file representation of

> >         keys called |openssh-key-v1|. This is now supported with the

> >         exception of

> >         handling encrypted keys.

> >       o Algorithm configuration could now be done in a .config file.

> >         This is useful for example to enable an algorithm that

> >         is disabled by default without need to change the code.

> >   * *ssl*:

> >       o Support for the middlebox compatibility mode makes the TLS 1.3

> >         handshake

> >         look more like a TLS 1.2 handshake and increases the chance of

> >         successfully

> >         establishing TLS 1.3 connections through legacy middleboxes.

> >       o Add support for key exchange with Edward curves and PSS-RSA

> >         padding in

> >         signature verification

> >   * The possibility to run Erlang distribution without

> >     relying on EPMD has been extended. To achieve this a

> >     couple of new options to the inet distribution has been

> >     added.

> >       o |-dist_listen false| Setup the distribution

> >         channel, but do not listen for incoming connection.

> >       o |-erl_epmd_port Port| Configure a default port that

> >         the built-in EPMD client should return.

> >       o ...

> >   * A first EXPERIMENTAL |socket| backend to

> >     |gen_tcp| and |inet| has been implemented. |gen_udp| and |gen_sctp|

> >     will follow.

> >     Putting |{inet_backend, socket}| as first option to |listen()| or

> >     |connect()| makes it easy to try this for

> >     existing code

> >

> >

> >       Highlights (rc1)

> >

> >   * A new module |erpc| in kernel which implements an enhanced subset of

> >     the operations provided by the |rpc| module. Enhanced in the sense

> >     that it makes it possible to distinguish between returned value,

> >     raised exceptions and other errors. |erpc| also has better

> >     performance and scalability than the original |rpc| implementation.

> >     This by utilizing the newly introduced |spawn_request()| BIF. Also

> >     the |rpc| module benefits from these improvements by utilizing

> >     |erpc| when possible.

> >   * Scalability and performance Improvements plus new functionality

> >     regarding distributed spawn operations.

> >   * In binary matching, the size of the segment to be matched is now

> >     allowed to be a guard expression (EEP-52)

> >   * When matching with maps the keys can now be guard expressions
(EEP-52).

> >   * ssh: support for TCP/IP port forwarding, a.k.a tunneling a.k.a as

> >     tcp-forward/direct-tcp is implemented. In the OpenSSH client, this

> >     corresponds to the options -L and -R.

> >   * Allow underscores in numeric literals to improve readability.

> >     Examples: |123_456_789|, |16#1234_ABCD|.

> >   * New functions in the shell for displaying documentation for Erlang

> >     modules, functions and types. The

> >     functions are:

> >       o |h/1,2,3| -- Print the documentation for a
|Module:Function/Arity|.

> >       o |ht/1,2,3| -- Print the type documentation for a

> >         |Module:Type/Arity|.

> >         The embedded documentation is created as docchunks (EEP 48) when

> >         building the Erlang/OTP documentation.

> >   * kernel: The module |pg| with a new implementation of distributed

> >     named process groups is introduced. The old module |pg2| is

> >     deprecated and scheduled for removal in OTP 24.

> >   * Our tool chain for building the Windows packages is upgraded with

> >     new C++ compiler, Java compiler, OpenSSL libraries and wxWidgets

> >     versions. We are now using WSL (the Linux Subsystem for Windows when

> >     building) which makes it easier to handle the build environment.

> >   * ...

> >

> > For more details see

> > https://protect2.fireeye.com/v1/url?k=79ffa203-25757715-79ffe298-862

> > f14a9365e-5e9ba1f7d11b760d&q=1&e=827c1ccd-217c-40c3-8835-cb5f909e5c3

> > 1&u=http%3A%2F%2Ferlang.org%2Fdownload%2Fotp_src_23.0-rc3.readme

> >

> > Pre built versions for Windows can be fetched here:

> > https://protect2.fireeye.com/v1/url?k=c710034d-9b9ad65b-c71043d6-862

> > f14a9365e-544e1c42cae49f89&q=1&e=827c1ccd-217c-40c3-8835-cb5f909e5c3

> > 1&u=http%3A%2F%2Ferlang.org%2Fdownload%2Fotp_win32_23.0-rc3.exe

> > https://protect2.fireeye.com/v1/url?k=51c31587-0d49c091-51c3551c-862

> > f14a9365e-ac48d6e9c5bde18e&q=1&e=827c1ccd-217c-40c3-8835-cb5f909e5c3

> > 1&u=http%3A%2F%2Ferlang.org%2Fdownload%2Fotp_win64_23.0-rc3.exe

> >

> > Online documentation can be browsed here:

> > https://protect2.fireeye.com/v1/url?k=af71ae0c-f3fb7b1a-af71ee97-862

> > f14a9365e-befba7c0d3e070d2&q=1&e=827c1ccd-217c-40c3-8835-cb5f909e5c3

> > 1&u=http%3A%2F%2Ferlang.org%2Fdocumentation%2Fdoc-11.0-rc3%2Fdoc

> > The Erlang/OTP source can also be found at GitHub on the official

> > Erlang repository,

> > https://protect2.fireeye.com/v1/url?k=3052cf8d-6cd81a9b-30528f16-862

> > f14a9365e-da5dc02e1c35705d&q=1&e=827c1ccd-217c-40c3-8835-cb5f909e5c3

> > 1&u=https%3A%2F%2Fgithub.com%2Ferlang%2Fotp

> >

> >

>

> --

> Loïc Hoguin

> https://protect2.fireeye.com/v1/url?k=75a6a1cf-292c74d9-75a6e154-862f1

> 4a9365e-c7eb9c851457fb3e&q=1&e=827c1ccd-217c-40c3-8835-cb5f909e5c31&u=

> https%3A%2F%2Fninenines.eu%2F
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20200424/487de9b3/attachment.htm>


More information about the erlang-questions mailing list