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