Implement emulator netns support for TCP and UDP
Implement netns option for TCP and UDP
Implement netns for SCTP + bugfixes
Make netns option value a string
Rudimentary test
Document socket option 'netns'
asn1ct_imm: Break out the rule for string alignment

Break out the the rules for determining whether a string should
be in aligned so that it can be reused for encoding.
Encode SEQUENCE OF / SET OF using a list comprehension

Using a list comprehension will simplify both the code generator
and the generated code. Also, if there is an ObjFun argument in
the host function, the BEAM compiler will make sure it is only
passed to the generated list comprehension function if it is
actually used.
erts: Fix segfault when scheduling release_port later_op

begin_port_cleanup can be called from a non-scheduler thread, this
means that there is no esdp available and thus erts_schedule_thr_prgr_later_op
segfaults.
Fix error in builtin hook calling non-existing function

OTP-11238
Remove code for handling an object/object set reference in SEQUENCE

An field in a class that references an object or object set is not
allowed to be referenced directly from within a SEQUENCE.
asn1ct_constructed_per: Simplify gen_enc_line() and friends

The first clause of gen_enc_line() allows us to pass in [] as
the value for Element; if we modify the only caller that passes
[] to pass an actual expression we can remove the first clause.
Furthermore, since the Pos argument was only used by the first
clause, we can remove the Pos argument.

We can also remove the first clause in gen_enc_component_optional(),
since the code in its body is exactly the same as in the following
clause.
Tag sasl and error reports with suite, group, and function in log
Remove the obsolete test_server_h error handler
ei ic: install headers and libs into usr
public_key: Add support for "Simple Certificate Enrollment Protocol" to PKCS-7
add erl option to set schedulers by percentages

For applications where measurements show enhanced performance from the use
of a non-default number of emulator scheduler threads, having to accurately
set the right number of scheduler threads across multiple hosts each with
different numbers of logical processors is difficult because the erl +S
option requires absolute numbers of scheduler threads and scheduler threads
online to be specified.

To address this issue, add a +SP option to erl, similar to the existing +S
option but allowing the number of scheduler threads and scheduler threads
online to be set as percentages of logical processors configured and
logical processors available, respectively. For example, "+SP 50:25" sets
the number of scheduler threads to 50% of the logical processors
configured, and the number of scheduler threads online to 25% of the
logical processors available. The +SP option also interacts with any
settings specified with the +S option, such that the combination of options
"+S 4:4 +SP 50:50" (in either order) results in 2 scheduler threads and 2
scheduler threads online.

Add documentation for the +SP option.

Add tests for the +SP option to scheduler_SUITE.

Add tests and documentation for two existing features of the +S option: +S
0:0 resets the scheduler thread count and scheduler threads online count to
their defaults, and specifying negative numbers for +S results in those
values being subtracted from the default values for the host.
Allow public_key:pem_entry_decode/2) to handle AES-128-CBC ciphered keys

Private keys generated by modern versions of ssh-keygen are ciphered
with AES-128-CBC instead of DES-EDE3-CBC.


Since DES-EDE3-CBC ciphered keys are handled, and the underlying
support for AES-128-CBC is already present, it seems a bug of omission
that AES-128-CBC ciphered keys are not.
Teach asn1ct_func to dynamically generate run-time functions
Refactor encoding of REAL

To facilitate optimizing PER encoding using an intermediate
format, we must change asn1rtt_real_common:encode_real/1 so that
it only returns the encoded binary.