Merge branch 'maint'

Conflicts:
	lib/kernel/src/inet_db.erl
SNMP/VACM: bugfix for vacmViewTreeFamilyMask

Dear all,

it's almost a year since I sent the patch attached to this e-mail, and I
just found out that I have not yet gotten a response to it.

I would consider this patch important because it fixes an issue with the
interpretation of data that might be critical for SNMPv3 operation. I
confirmed at that time that erlangs interpretation of
vacmViewTreeFamilyMask is indeed not interoperable with other SNMP
stacks.

Kind regards,

> > > the implementation of SNMP-VIEW-BASED-ACM.mib assumes that the input for
> > > vacmViewTreeFamilyMask is an OID consisting of 1's and 0's only to form
> > > the mask. However, the MIB states that the input should be a bitstring.
> > >
> > > The OID representation of the mask is useful in the code as it speeds up
> > > time-critical code paths when checking access permissions for EACH SNMP
> > > access. Reading/writing the view mask objects is less time-critical.
> > >
> > > Therefore, to fix the issue, convert between OID representation and
> > > bitstring when the vacmViewTreeFamilyMask objects are accessed. This is
> > > done by the patch attached to this e-mail.
>
>
> I'm very sorry for the troubles that I am causing but it seems that the
> previous version of the patch did more than it should: the OID-bitstring
> conversion was also applied to other tables in the same MIB on
> get/get-next requests.
>
> The version of the patch that is attached to this e-mail restricts the
> OID-bitstring conversion to vacmViewTreeFamilyMask alone.

--
Dr. Stefan Zegenhagen

arcutronix GmbH
Garbsener Landstr. 10
30419 Hannover
Germany

Tel:   +49 511 277-2734
Fax:   +49 511 277-2709
Email: stefan.zegenhagen@arcutronix.com
Web:   www.arcutronix.com

*Synchronize the Ethernet*

General Managers: Dipl. Ing. Juergen Schroeder, Dr. Josef Gfrerer -
Legal Form: GmbH, Registered office: Hannover, HRB 202442, Amtsgericht
Hannover; Ust-Id: DE257551767.

Please consider the environment before printing this message.

>From aa2acfb8a0b5ae05fc5ba982d78ee5607384a2be Mon Sep 17 00:00:00 2001
From: Stefan Zegenhagen <stefan.zegenhagen@arcutronix.com>
Date: Wed, 1 Aug 2012 09:56:15 +0200
Subject: [PATCH] bugfix for vacmViewTreeFamilyMask

The vacmViewTreeFamilyMask is defined to be a bit string in the MIB, not
an OID. However, the MIB implementation assumed the latter, effectively
rendering all attempts to read/set masks via SNMP unsuccessful.

Since the mask is used in hot paths (e.g. access permission checks for
each SNMP operation, the OID representation of the mask has benefits
(e.g. faster processing). Therefore, convert the bitstring to/from its
OID representation when reading/setting any mask object.
Wrap eunit macros into begin ... end blocks

This makes typos such as missing commas between two assertions
(e.g. ?assert(true) ?assert(true)) syntax errors instead of silently
compiling and failing with a badfun error at runtime.

This won't break any existing code as parenthesed expressions and blocks
have the same precedence and none of these macros can be used as patterns.
erts: Fix management of redirected carrier to deallocate
erts: Fix warning
erts: Fix debug code in erts_ptab_test_next_id()
Merge branch 'maint'

* maint:
  erts: Fix debug code in erts_ptab_test_next_id()
Fix bad fix of erts_stale_drv_select()
Merge branch 'rickard/stale-driver-select/OTP-11084' into maint

* rickard/stale-driver-select/OTP-11084:
  Fix bad fix of erts_stale_drv_select()
Merge branch 'maint'

* maint:
  Fix bad fix of erts_stale_drv_select()
Merge branch 'ia/crypto/avoid-too-big-binaries/OTP-11142' into maint

* ia/crypto/avoid-too-big-binaries/OTP-11142:
  Teach crypto.c not to call enif_compute_timeslice with 0
  Add enif_consume_timeslice to appropriate crypto NIFs
  crypto: Add large test data
  crypto: Avoid big binaries in nifs
  Crypto: Structure code
Merge branch 'ia/public_key/crypto/prepare-for-release' into maint

* ia/public_key/crypto/prepare-for-release:
  public_key & ssl: Add ASN-1 dependency
  crypto & public_key: prepare for release
Merge remote-tracking branch 'upstream/maint'
Merge branch 'sverk/darwin-unlimited-select' into maint

* sverk/darwin-unlimited-select:
  erts: Fix dynamic select for darwin
  erts: Refactor unlimited select patch
  erts: Fix bug in unlimited fd_set patch
  Use _DARWIN_UNLIMITED_SELECT in erl_poll
Forgot ticket for sverk/darwin-unlimited-select

OTP-11159
Merge branch 'maint'
Make spawn options for request processes configurable

That is, for the process that's spawned for each incoming Diameter
request message.
Merge branch 'rickard-sverker/carrier-migration/OTP-10279' into maint

* rickard-sverker/carrier-migration/OTP-10279:
  erts: Fix warning
  erts: Fix management of redirected carrier to deallocate
Merge branch 'maint'

* maint:
  erts: Fix warning
  erts: Fix management of redirected carrier to deallocate
Update appup for R16B01

Tickets and corresponding runtime modules, in order merged:

  OTP-9610 (distribution)

      diameter
      diameter_config
      diameter_peer
      diameter_service
      diameter_traffic

      diameter_service must precede diameter_peer.

 OTP-10972 (app_not_configured)

      diameter
      diameter_config
      diameter_lib
      diameter_peer_fsm
      diameter_watchdog

      Load order is unimportant.

  OTP-11017 (service_config)

      diameter_config

  OTP-10986 (address_config)

      diameter_peer
      diameter_peer_fsm
      diameter_tcp

      diameter_tcp must follow the others.

  OTP-11019 (watchdog_leak)

      diameter_service

  OTP-11026 (avp_length_failure)

      diameter_codec

  OTP-11007 (avp_decode)

      diameter_gen.hrl => diameter_gen_*
      diameter_codec
      diameter_traffic

      diameter_traffic must precede diameter_gen_*.

  OTP-11087 (missed_5001)

      diameter_gen.hrl => diameter_gen_*

  OTP-11115 (watchdog_function_clause)

      diameter_watchdog

  OTP-11050 (inband_security)

      diameter_peer_fsm
      diameter_capx

      This order is required.

  OTP-11045 (host_ip_address)

      diameter_peer_fsm

  OTP-11092 (5xxx_failed_avp)

      diameter_traffic

  OTP-11127 (one_failed_avp)

      diameter_peer_fsm

  OTP-10893 (peer_address_config)

      diameter_peer
      diameter_tcp
      diameter_sctp

      diameter_peer must precede the others.

  OTP-11060 (request_spawn)

      diameter_service
      diameter_traffic
      diameter_config
      diameter

      diameter_traffic should precede diameter_service, diameter_config
      should follow.

Tickets without code:

  OTP-10903 (examples_suite)
  OTP-11014 (release_notes)
  OTP-11051 (mkdir_race)
  OTP-10914 (timetraps)