Ver. 20.2.3

Signed-off-by: Peter Lemenkov <lemenkov@gmail.com>
This commit is contained in:
Peter Lemenkov 2018-02-20 16:26:06 +03:00
parent d54e49b290
commit e5d275e412
11 changed files with 68 additions and 510 deletions

View File

@ -22,7 +22,6 @@
%global __with_emacs 1
%global __with_examples 1
%global __with_java 1
%global __with_tcltk 1
#
# wxWidgets plugin blocks the following ones:
#
@ -37,10 +36,6 @@
# * common_test
# * megaco
#
# dialyzer blocks:
#
# * typer
#
# et blocks:
#
# * megaco
@ -58,15 +53,14 @@
# megaco
# observer
# reltool (*)
# typer
# wx
#
%global __with_wxwidgets 1
Name: erlang
Version: 19.3.6.5
Release: 2%{?dist}
Version: 20.2.3
Release: 1%{?dist}
Summary: General-purpose programming language and runtime environment
Group: Development/Languages
@ -104,9 +98,8 @@ Patch3: otp-0003-Do-not-install-C-sources.patch
Patch4: otp-0004-Do-not-install-Java-sources.patch
Patch5: otp-0005-Do-not-install-nteventlog-and-related-doc-files-on-n.patch
Patch6: otp-0006-Do-not-install-erlang-sources.patch
Patch7: otp-0007-Fix-CVE-2016-10253.patch
Patch8: otp-0008-Fix-erl_epmd-port_please-when-using-IPv6.patch
Patch9: otp-0009-Add-extra-search-directory.patch
Patch7: otp-0007-Fix-erl_epmd-port_please-when-using-IPv6.patch
Patch8: otp-0008-Add-extra-search-directory.patch
# end of autogenerated patch tag list
BuildRequires: flex
@ -158,9 +151,6 @@ Requires: %{name}-erts%{?_isa} = %{version}-%{release}
Requires: %{name}-et%{?_isa} = %{version}-%{release}
%endif %{__with_wxwidgets}
Requires: %{name}-eunit%{?_isa} = %{version}-%{release}
%if %{__with_tcltk}
Requires: %{name}-gs%{?_isa} = %{version}-%{release}
%endif %{__with_tcltk}
Requires: %{name}-hipe%{?_isa} = %{version}-%{release}
%if %{__with_java}
Requires: %{name}-ic%{?_isa} = %{version}-%{release}
@ -182,7 +172,6 @@ Requires: %{name}-orber%{?_isa} = %{version}-%{release}
Requires: %{name}-os_mon%{?_isa} = %{version}-%{release}
Requires: %{name}-otp_mibs%{?_isa} = %{version}-%{release}
Requires: %{name}-parsetools%{?_isa} = %{version}-%{release}
Requires: %{name}-percept%{?_isa} = %{version}-%{release}
Requires: %{name}-public_key%{?_isa} = %{version}-%{release}
%if %{__with_wxwidgets}
Requires: %{name}-reltool%{?_isa} = %{version}-%{release}
@ -196,9 +185,6 @@ Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
Requires: %{name}-syntax_tools%{?_isa} = %{version}-%{release}
Requires: %{name}-tools%{?_isa} = %{version}-%{release}
%if %{__with_wxwidgets}
Requires: %{name}-typer%{?_isa} = %{version}-%{release}
%endif %{__with_wxwidgets}
%if %{__with_wxwidgets}
Requires: %{name}-wx%{?_isa} = %{version}-%{release}
%endif %{__with_wxwidgets}
Requires: %{name}-xmerl%{?_isa} = %{version}-%{release}
@ -380,6 +366,7 @@ Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
Requires: %{name}-syntax_tools%{?_isa} = %{version}-%{release}
Requires: %{name}-wx%{?_isa} = %{version}-%{release}
Requires: graphviz
Obsoletes: erlang-typer
%description dialyzer
A DIscrepancy AnaLYZer for ERlang programs.
@ -472,12 +459,14 @@ Requires: lksctp-tools
Provides: erlang(erl_drv_version) = 3.3
# See erts/emulator/beam/erl_nif.h or call erlang:system_info(nif_version).
#Provides: erlang(erl_nif_version) = %%(%%{buildroot}/bin/erl -noshell -eval 'io:format(erlang:system_info(nif_version)).' -s erlang halt)
Provides: erlang(erl_nif_version) = 2.11
Provides: erlang(erl_nif_version) = 2.13
Provides: bundled(pcre) = 8.33
Obsoletes: erlang-appmon
Obsoletes: erlang-docbuilder
Obsoletes: erlang-gs
Obsoletes: erlang-inviso
Obsoletes: erlang-ose
Obsoletes: erlang-percept
Obsoletes: erlang-pman
Obsoletes: erlang-toolbar
Obsoletes: erlang-tv
@ -515,9 +504,6 @@ Support for unit testing.
Summary: Examples for some Erlang modules
Group: Development/Languages
Requires: %{name}-erts%{?_isa} = %{version}-%{release}
%if %{__with_tcltk}
Requires: %{name}-gs%{?_isa} = %{version}-%{release}
%endif %{__with_tcltk}
Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
Requires: %{name}-public_key%{?_isa} = %{version}-%{release}
Requires: %{name}-sasl%{?_isa} = %{version}-%{release}
@ -528,21 +514,6 @@ Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
Examples for some Erlang modules.
%endif %{__with_examples}
%if %{__with_tcltk}
%package gs
Summary: A library for Tcl/Tk support in Erlang
Group: Development/Languages
BuildRequires: tcl-devel
BuildRequires: tk-devel
Requires: %{name}-erts%{?_isa} = %{version}-%{release}
Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
Requires: tk
%description gs
A Graphics System used to write platform independent user interfaces.
%endif %{__with_tcltk}
%package hipe
Summary: High Performance Erlang
Group: Development/Languages
@ -708,18 +679,6 @@ Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
%description parsetools
A set of parsing and lexical analysis tools.
%package percept
Summary: A concurrency profiler tool
Group: Development/Languages
Requires: %{name}-erts%{?_isa} = %{version}-%{release}
Requires: %{name}-inets%{?_isa} = %{version}-%{release}
Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
Requires: %{name}-runtime_tools%{?_isa} = %{version}-%{release}
Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
%description percept
A concurrency profiler tool.
%package public_key
Summary: API to public key infrastructure
Group: Development/Languages
@ -865,21 +824,6 @@ Obsoletes: xemacs-erlang-el
%description tools
A set of programming tools including a coverage analyzer etc.
%if %{__with_wxwidgets}
%package typer
Summary: TYPe annotator for ERlang programs
Group: Development/Languages
Requires: %{name}-compiler%{?_isa} = %{version}-%{release}
Requires: %{name}-dialyzer%{?_isa} = %{version}-%{release}
Requires: %{name}-erts%{?_isa} = %{version}-%{release}
Requires: %{name}-hipe%{?_isa} = %{version}-%{release}
Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
%description typer
TYPe annotator for ERlang programs.
%endif %{__with_wxwidgets}
%if %{__with_wxwidgets}
%package wx
Summary: A library for wxWidgets support in Erlang
@ -934,11 +878,6 @@ CFLAGS="${ERL_FLAGS}" CXXFLAGS="${ERL_FLAGS}" %configure --enable-shared-zlib --
%else
--without-jinterface \
%endif %{__with_java}
%if %{__with_tcltk}
\
%else
--without-gs \
%endif %{__with_tcltk}
%if %{__with_wxwidgets}
--with-wx-config=/usr/bin/wx-config-3.0
%else
@ -949,7 +888,6 @@ CFLAGS="${ERL_FLAGS}" CXXFLAGS="${ERL_FLAGS}" %configure --enable-shared-zlib --
--without-megaco \
--without-observer \
--without-reltool \
--without-typer \
--without-wx
%endif %{__with_wxwidgets}
@ -1126,6 +1064,7 @@ install -D -p -m 0644 %{SOURCE8} %{buildroot}%{_unitdir}/epmd@.socket
echo "No need to fix additional scripts"
%else
# FIXME workaround for broken Erlang install procedure
echo "Removing scripts which won't work w/o wxWidgets anyway"
for exe in ct_run dialyzer typer
do
rm -f $RPM_BUILD_ROOT/%{_bindir}/${exe}
@ -1172,7 +1111,6 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \
%{_libdir}/erlang/lib/asn1-*/src
%if %{with doc}
%{_libdir}/erlang/man/man3/asn1ct.*
%{_libdir}/erlang/man/man3/asn1rt.*
%endif
%if %{__with_wxwidgets}
@ -1345,11 +1283,16 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \
%if %{__with_wxwidgets}
%files dialyzer
%{_bindir}/dialyzer
# FIXME FIXME FIXME this must be installed properly!!!!!!
#%%{_bindir}/typer
%{_libdir}/erlang/bin/dialyzer
%{_libdir}/erlang/bin/typer
%{_libdir}/erlang/erts-*/bin/dialyzer
%{_libdir}/erlang/erts-*/bin/typer
%{_libdir}/erlang/lib/dialyzer-*/
%if %{with doc}
%{_libdir}/erlang/man/man3/dialyzer.*
%{_libdir}/erlang/man/man3/typer.*
%endif
%endif %{__with_wxwidgets}
@ -1457,7 +1400,6 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \
%{_libdir}/erlang/bin/to_erl
%dir %{_libdir}/erlang/erts-*/
%dir %{_libdir}/erlang/erts-*/bin/
%{_libdir}/erlang/erts-*/bin/beam
%{_libdir}/erlang/erts-*/bin/beam.smp
%{_libdir}/erlang/erts-*/bin/dyn_erl
%{_libdir}/erlang/erts-*/bin/epmd
@ -1537,9 +1479,6 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \
%{_libdir}/erlang/lib/et-*/examples/
%endif %{__with_wxwidgets}
%{_libdir}/erlang/lib/eunit-*/examples/
%if %{__with_tcltk}
%{_libdir}/erlang/lib/gs-*/examples/
%endif %{__with_tcltk}
%if %{__with_java}
%{_libdir}/erlang/lib/ic-*/examples/
%endif %{__with_java}
@ -1566,17 +1505,6 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \
%endif %{__with_wxwidgets}
%endif %{__with_examples}
%if %{__with_tcltk}
%files gs
%dir %{_libdir}/erlang/lib/gs-*/
%{_libdir}/erlang/lib/gs-*/ebin
%{_libdir}/erlang/lib/gs-*/priv
%{_libdir}/erlang/lib/gs-*/src
%if %{with doc}
%{_libdir}/erlang/man/man3/gs.*
%endif
%endif %{__with_tcltk}
%files hipe
%{_libdir}/erlang/lib/hipe-*/
@ -1775,14 +1703,6 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \
%{_libdir}/erlang/man/man3/yecc.*
%endif
%files percept
%{_libdir}/erlang/lib/percept-*/
%if %{with doc}
%{_libdir}/erlang/man/man3/egd.*
%{_libdir}/erlang/man/man3/percept.*
%{_libdir}/erlang/man/man3/percept_profile.*
%endif
%files public_key
%{_libdir}/erlang/lib/public_key-*/
%if %{with doc}
@ -2039,16 +1959,6 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \
%{_xemacs_sitestartdir}/erlang-init.el
%endif %{__with_emacs}
%if %{__with_wxwidgets}
%files typer
%{_bindir}/typer
%{_libdir}/erlang/bin/typer
%{_libdir}/erlang/erts-*/bin/typer
%dir %{_libdir}/erlang/lib/typer-*/
%{_libdir}/erlang/lib/typer-*/ebin/
%endif %{__with_wxwidgets}
%if %{__with_wxwidgets}
%files wx
%dir %{_libdir}/erlang/lib/wx-*/
@ -2304,6 +2214,12 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \
%changelog
* Tue Feb 20 2018 Peter Lemenkov <lemenkov@gmail.com> - 20.2.3-1
- Ver. 20.2.3
- Removed gs (also removed tcl/tk dependency), percept
- Application typer was merged into dialyzer
- NIF version bumped up to 2.13
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 19.3.6.5-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
@ -2340,6 +2256,7 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \
- Ver. 19.3.4
- Require javapackages-tools (/use/share/java)
- Use /dev/null as a homedir for EPMD (its shell is /sbin/nologin anyway)
- Removed beam appilciation (non-SMP VM).
* Tue May 2 2017 Peter Lemenkov <lemenkov@gmail.com> - 19.3.3-1
- Ver. 19.3.3

View File

@ -6,10 +6,10 @@ Subject: [PATCH] Do not format man-pages and do not install miscellaneous
Signed-off-by: Peter Lemenkov <lemenkov@gmail.com>
diff --git a/erts/etc/common/Makefile.in b/erts/etc/common/Makefile.in
index cb053a1b7c..024307b9c9 100644
index 5b1b9119ce..02535a78bc 100644
--- a/erts/etc/common/Makefile.in
+++ b/erts/etc/common/Makefile.in
@@ -492,10 +492,6 @@ endif
@@ -495,10 +495,6 @@ endif
ifneq ($(INSTALL_TOP_BIN),)
$(INSTALL_PROGRAM) $(INSTALL_TOP_BIN) "$(RELEASE_PATH)"
endif
@ -21,7 +21,7 @@ index cb053a1b7c..024307b9c9 100644
$(INSTALL_DIR) "$(RELEASE_PATH)/erts-$(VSN)/src"
$(INSTALL_DATA) $(INSTALL_SRC) "$(RELEASE_PATH)/erts-$(VSN)/src"
diff --git a/erts/etc/unix/Install.src b/erts/etc/unix/Install.src
index e71308edbe..ae2c9cf251 100644
index e4b842877c..382561821f 100644
--- a/erts/etc/unix/Install.src
+++ b/erts/etc/unix/Install.src
@@ -141,14 +141,5 @@ cp -p ../releases/%I_SYSTEM_VSN%/start_*.boot .

View File

@ -5,10 +5,10 @@ Subject: [PATCH] Remove rpath
Signed-off-by: Peter Lemenkov <lemenkov@gmail.com>
diff --git a/lib/crypto/c_src/Makefile.in b/lib/crypto/c_src/Makefile.in
index c62f25b3ee..bb28704c1e 100644
index 31124ba477..a4a6c158cc 100644
--- a/lib/crypto/c_src/Makefile.in
+++ b/lib/crypto/c_src/Makefile.in
@@ -90,7 +90,7 @@ endif
@@ -96,7 +96,7 @@ endif
DYNAMIC_CRYPTO_LIB=@SSL_DYNAMIC_ONLY@
ifeq ($(DYNAMIC_CRYPTO_LIB),yes)

View File

@ -27,10 +27,10 @@ index 1f714df357..95835d6ed2 100644
release_docs_spec:
diff --git a/lib/crypto/c_src/Makefile.in b/lib/crypto/c_src/Makefile.in
index bb28704c1e..165a2e0cd5 100644
index a4a6c158cc..2a7532a399 100644
--- a/lib/crypto/c_src/Makefile.in
+++ b/lib/crypto/c_src/Makefile.in
@@ -195,13 +195,9 @@ docs:
@@ -216,13 +216,9 @@ docs:
include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
@ -43,9 +43,9 @@ index bb28704c1e..165a2e0cd5 100644
- $(INSTALL_PROGRAM) $(CALLBACK_OBJS) "$(RELSYSDIR)/priv/obj"
$(INSTALL_PROGRAM) $(CALLBACK_LIB) "$(RELSYSDIR)/priv/lib"
endif
$(INSTALL_PROGRAM) $(TEST_ENGINE_OBJS) "$(RELSYSDIR)/priv/obj"
diff --git a/lib/erl_interface/src/Makefile.in b/lib/erl_interface/src/Makefile.in
index 4f393e952c..a9a7f7cc79 100644
index 69b5b6003d..ba9a0e74b8 100644
--- a/lib/erl_interface/src/Makefile.in
+++ b/lib/erl_interface/src/Makefile.in
@@ -842,14 +842,14 @@ ifneq ($(EXE_TARGETS),)

View File

@ -18,7 +18,7 @@ index 21c38e54b5..eeba2e4eae 100644
$(INSTALL_DATA) $(JAVA_DEST_ROOT)$(JARFILE) "$(RELSYSDIR)/priv"
diff --git a/lib/jinterface/java_src/com/ericsson/otp/erlang/Makefile b/lib/jinterface/java_src/com/ericsson/otp/erlang/Makefile
index e55cfa62ea..5e3a0a5274 100644
index 001acfdd2e..35b2eb3446 100644
--- a/lib/jinterface/java_src/com/ericsson/otp/erlang/Makefile
+++ b/lib/jinterface/java_src/com/ericsson/otp/erlang/Makefile
@@ -120,8 +120,6 @@ release release_docs release_tests release_html:

View File

@ -6,7 +6,7 @@ Subject: [PATCH] Do not install nteventlog and related doc-files on non-win32
Signed-off-by: Peter Lemenkov <lemenkov@gmail.com>
diff --git a/lib/os_mon/doc/src/Makefile b/lib/os_mon/doc/src/Makefile
index 91c7ae7bc3..dc7bcf3686 100644
index 4aa8879a91..46dfde42f1 100644
--- a/lib/os_mon/doc/src/Makefile
+++ b/lib/os_mon/doc/src/Makefile
@@ -36,12 +36,17 @@ RELSYSDIR = $(RELEASE_PATH)/lib/$(APPLICATION)-$(VSN)
@ -26,10 +26,10 @@ index 91c7ae7bc3..dc7bcf3686 100644
- nteventlog.xml
+ $(NTEVENTLOG_DOCFILE)
XML_REF6_FILES = os_mon_app.xml
XML_REF6_FILES = os_mon_app.xml
diff --git a/lib/os_mon/src/Makefile b/lib/os_mon/src/Makefile
index 3ff63204c6..29b53a8188 100644
index fc2eb22393..e2f4d5a090 100644
--- a/lib/os_mon/src/Makefile
+++ b/lib/os_mon/src/Makefile
@@ -34,8 +34,13 @@ RELSYSDIR = $(RELEASE_PATH)/lib/os_mon-$(VSN)

View File

@ -8,7 +8,7 @@ Signed-off-by: Peter Lemenkov <lemenkov@gmail.com>
Signed-off-by: Hans Ulrich Niedermann <hun@n-dimensional.de>
diff --git a/erts/preloaded/src/Makefile b/erts/preloaded/src/Makefile
index 2ab9edaf5e..9b8ed35d1a 100644
index edb9f35258..6ee4ac2251 100644
--- a/erts/preloaded/src/Makefile
+++ b/erts/preloaded/src/Makefile
@@ -90,8 +90,6 @@ $(APP_TARGET): $(APP_SRC) $(ERL_TOP)/erts/vsn.mk
@ -21,10 +21,10 @@ index 2ab9edaf5e..9b8ed35d1a 100644
$(INSTALL_DATA) $(STATIC_TARGET_FILES) $(APP_TARGET) "$(RELSYSDIR)/ebin"
diff --git a/lib/asn1/src/Makefile b/lib/asn1/src/Makefile
index 38cf2d496a..d4bb3982d2 100644
index ba459f6cd3..5565126214 100644
--- a/lib/asn1/src/Makefile
+++ b/lib/asn1/src/Makefile
@@ -155,7 +155,7 @@ release_spec: opt
@@ -154,7 +154,7 @@ release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/ebin"
$(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET) "$(RELSYSDIR)/ebin"
$(INSTALL_DIR) "$(RELSYSDIR)/src"
@ -63,7 +63,7 @@ index f015064b39..57f96d2929 100644
$(INSTALL_SCRIPT) $(PROGRAMS) "$(RELEASE_PATH)/test_server"
diff --git a/lib/compiler/src/Makefile b/lib/compiler/src/Makefile
index 518c89d044..1bcd19cff7 100644
index ef6db66ff6..4c9be713aa 100644
--- a/lib/compiler/src/Makefile
+++ b/lib/compiler/src/Makefile
@@ -174,8 +174,8 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@ -174,10 +174,10 @@ index 4cc1e487c2..084f0a7230 100644
$(INSTALL_DATA) $(EXTERNAL_GEN_HRL_FILES) "$(RELSYSDIR)/include"
diff --git a/lib/crypto/src/Makefile b/lib/crypto/src/Makefile
index 456b8be64d..fcfa8def89 100644
index edad0e6b61..00a30c010f 100644
--- a/lib/crypto/src/Makefile
+++ b/lib/crypto/src/Makefile
@@ -82,8 +82,6 @@ docs:
@@ -81,8 +81,6 @@ docs:
include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
@ -187,7 +187,7 @@ index 456b8be64d..fcfa8def89 100644
$(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) \
$(APPUP_TARGET) "$(RELSYSDIR)/ebin"
diff --git a/lib/debugger/src/Makefile b/lib/debugger/src/Makefile
index 9594a0bfe3..bc33e67e88 100644
index 118cb6b758..86722d8767 100644
--- a/lib/debugger/src/Makefile
+++ b/lib/debugger/src/Makefile
@@ -117,7 +117,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@ -200,10 +200,10 @@ index 9594a0bfe3..bc33e67e88 100644
$(INSTALL_DATA) $(TARGET_FILES) $(TARGET_TOOLBOX_FILES) "$(RELSYSDIR)/ebin"
diff --git a/lib/dialyzer/src/Makefile b/lib/dialyzer/src/Makefile
index 256f20f549..2920c0f198 100644
index fc08e7ca2f..2464a15c3f 100644
--- a/lib/dialyzer/src/Makefile
+++ b/lib/dialyzer/src/Makefile
@@ -154,7 +154,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@@ -158,7 +158,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/src"
@ -213,7 +213,7 @@ index 256f20f549..2920c0f198 100644
$(INSTALL_DIR) "$(RELSYSDIR)/ebin"
$(INSTALL_DATA) $(INSTALL_FILES) "$(RELSYSDIR)/ebin"
diff --git a/lib/diameter/src/Makefile b/lib/diameter/src/Makefile
index 6bf748a727..962d7b75d6 100644
index 3af856f63e..9630a89ba6 100644
--- a/lib/diameter/src/Makefile
+++ b/lib/diameter/src/Makefile
@@ -251,11 +251,8 @@ release_spec: opt
@ -231,10 +231,10 @@ index 6bf748a727..962d7b75d6 100644
$(EXAMPLE_DIRS:%/=release_examples_%): release_examples_%:
$(INSTALL_DIR) "$(RELSYSDIR)/examples/$*"
diff --git a/lib/edoc/src/Makefile b/lib/edoc/src/Makefile
index 4e5a4182da..c0bb0c32ec 100644
index ea2f45dc4c..84af08eb67 100644
--- a/lib/edoc/src/Makefile
+++ b/lib/edoc/src/Makefile
@@ -88,7 +88,7 @@ release_spec: opt
@@ -87,7 +87,7 @@ release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/ebin"
$(INSTALL_DATA) $(OBJECTS) "$(RELSYSDIR)/ebin"
$(INSTALL_DIR) "$(RELSYSDIR)/src"
@ -289,7 +289,7 @@ index b6347d8b6d..a695d2cc2d 100644
$(INSTALL_DIR) "$(RELSYSDIR)/include"
$(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/include"
diff --git a/lib/eunit/src/Makefile b/lib/eunit/src/Makefile
index 86a6d8831e..5732fd85f3 100644
index 3510d3cc93..9179e9b4c2 100644
--- a/lib/eunit/src/Makefile
+++ b/lib/eunit/src/Makefile
@@ -120,7 +120,6 @@ release_spec: opt
@ -300,21 +300,6 @@ index 86a6d8831e..5732fd85f3 100644
$(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src"
$(INSTALL_DIR) "$(RELSYSDIR)/include"
$(INSTALL_DATA) $(INCLUDE_DELIVERABLES) "$(RELSYSDIR)/include"
diff --git a/lib/gs/src/Makefile b/lib/gs/src/Makefile
index e19ce822b9..6b7c96ea68 100644
--- a/lib/gs/src/Makefile
+++ b/lib/gs/src/Makefile
@@ -109,8 +109,8 @@ include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/src"
- $(INSTALL_DATA) $(APP_SRC) $(ERL_FILES) $(HRL_FILES) $(GEN_HRL_FILES) \
- $(GSTK_GENERIC) "$(RELSYSDIR)/src"
+ $(INSTALL_DATA) $(HRL_FILES) $(GEN_HRL_FILES) \
+ "$(RELSYSDIR)/src"
$(INSTALL_DIR) "$(RELSYSDIR)/ebin"
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
$(INSTALL_DIR) "$(RELSYSDIR)/priv/bitmap"
diff --git a/lib/hipe/cerl/Makefile b/lib/hipe/cerl/Makefile
index 9f50d6bf91..df92b84c0d 100644
--- a/lib/hipe/cerl/Makefile
@ -355,10 +340,10 @@ index b220bc16a0..d4073277be 100644
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
diff --git a/lib/hipe/llvm/Makefile b/lib/hipe/llvm/Makefile
index 88016a7d8b..d8e8fa0546 100644
index 817ff67dcd..e50ba5e207 100644
--- a/lib/hipe/llvm/Makefile
+++ b/lib/hipe/llvm/Makefile
@@ -102,7 +102,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@@ -101,7 +101,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
$(INSTALL_DIR) $(RELSYSDIR)/llvm
@ -381,7 +366,7 @@ index 8ef31dbb46..80d28819f2 100644
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
diff --git a/lib/hipe/misc/Makefile b/lib/hipe/misc/Makefile
index 72cfff21a8..e55223a57d 100644
index e5033e444b..74a444b386 100644
--- a/lib/hipe/misc/Makefile
+++ b/lib/hipe/misc/Makefile
@@ -102,7 +102,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@ -394,7 +379,7 @@ index 72cfff21a8..e55223a57d 100644
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
diff --git a/lib/hipe/rtl/Makefile b/lib/hipe/rtl/Makefile
index b4cdf8b1f2..f9ebcaec30 100644
index 5abc9ec049..664df3b0c6 100644
--- a/lib/hipe/rtl/Makefile
+++ b/lib/hipe/rtl/Makefile
@@ -105,7 +105,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@ -407,12 +392,12 @@ index b4cdf8b1f2..f9ebcaec30 100644
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
diff --git a/lib/hipe/util/Makefile b/lib/hipe/util/Makefile
index 66e9421c25..19517427e6 100644
index 20b1c3bf50..40c642a441 100644
--- a/lib/hipe/util/Makefile
+++ b/lib/hipe/util/Makefile
@@ -50,7 +50,6 @@ HIPE_MODULES =
endif
MODULES = hipe_timing hipe_dot hipe_digraph $(HIPE_MODULES)
MODULES = hipe_timing hipe_dot hipe_digraph hipe_dsets $(HIPE_MODULES)
-HRL_FILES=
ERL_FILES= $(MODULES:%=%.erl)
@ -519,10 +504,10 @@ index 4eaa959cce..198fbf3106 100644
$(INSTALL_DATA) $(TARGET_FILES) $(BEHAVIOUR_TARGET_FILES) "$(RELSYSDIR)/ebin"
diff --git a/lib/kernel/src/Makefile b/lib/kernel/src/Makefile
index 2b72f78dcf..31eed456ff 100644
index 5946620f0f..b8944e0a26 100644
--- a/lib/kernel/src/Makefile
+++ b/lib/kernel/src/Makefile
@@ -202,7 +202,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@@ -204,7 +204,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/src"
@ -621,10 +606,10 @@ index 028a63e98e..9e11e9bfb2 100644
release_docs_spec:
diff --git a/lib/mnesia/src/Makefile b/lib/mnesia/src/Makefile
index 08a00e6aba..a21ffb3801 100644
index 7d316df263..60fdefb5d0 100644
--- a/lib/mnesia/src/Makefile
+++ b/lib/mnesia/src/Makefile
@@ -135,7 +135,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@@ -134,7 +134,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/src"
@ -687,7 +672,7 @@ index 7fec29a000..a71b9f1227 100644
$(INSTALL_DATA) $(EXTERNAL_HRL_FILES) $(GEN_HRL_FILES_EXT) "$(RELSYSDIR)/include"
diff --git a/lib/os_mon/src/Makefile b/lib/os_mon/src/Makefile
index 29b53a8188..3ae2074f8c 100644
index e2f4d5a090..57f21a145b 100644
--- a/lib/os_mon/src/Makefile
+++ b/lib/os_mon/src/Makefile
@@ -105,7 +105,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@ -699,7 +684,7 @@ index 29b53a8188..3ae2074f8c 100644
$(INSTALL_DIR) "$(RELSYSDIR)/ebin"
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
diff --git a/lib/otp_mibs/src/Makefile b/lib/otp_mibs/src/Makefile
index 4023f50d48..864a0a53d8 100644
index 5c7af39c3f..a85368b4f4 100644
--- a/lib/otp_mibs/src/Makefile
+++ b/lib/otp_mibs/src/Makefile
@@ -96,8 +96,6 @@ $(APPUP_TARGET): $(APPUP_SRC) ../vsn.mk
@ -712,7 +697,7 @@ index 4023f50d48..864a0a53d8 100644
$(INSTALL_DATA) $(TARGETS) "$(RELSYSDIR)/ebin"
diff --git a/lib/parsetools/src/Makefile b/lib/parsetools/src/Makefile
index dea29bee4c..655aea91ca 100644
index ba206904ec..281cc8657c 100644
--- a/lib/parsetools/src/Makefile
+++ b/lib/parsetools/src/Makefile
@@ -91,8 +91,6 @@ $(APPUP_TARGET): $(APPUP_SRC) ../vsn.mk
@ -724,18 +709,6 @@ index dea29bee4c..655aea91ca 100644
$(INSTALL_DIR) "$(RELSYSDIR)/ebin"
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
$(INSTALL_DIR) "$(RELSYSDIR)/include"
diff --git a/lib/percept/src/Makefile b/lib/percept/src/Makefile
index b2ec87d08c..3153e34f7a 100644
--- a/lib/percept/src/Makefile
+++ b/lib/percept/src/Makefile
@@ -97,7 +97,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/src"
- $(INSTALL_DATA) $(ERL_FILES) "$(RELSYSDIR)/src"
$(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src"
# $(INSTALL_DIR) "$(RELSYSDIR)/include"
# $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/include"
diff --git a/lib/public_key/asn1/Makefile b/lib/public_key/asn1/Makefile
index a920ea87ea..7672ef3470 100644
--- a/lib/public_key/asn1/Makefile
@ -778,10 +751,10 @@ index 4bddee4664..c714255548 100644
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
$(INSTALL_DATA) $(APP_TARGET) $(APPUP_TARGET) "$(RELSYSDIR)/ebin"
diff --git a/lib/runtime_tools/src/Makefile b/lib/runtime_tools/src/Makefile
index 2c902952a1..d674a8fe13 100644
index 5a99c6e240..bdd77fb4f4 100644
--- a/lib/runtime_tools/src/Makefile
+++ b/lib/runtime_tools/src/Makefile
@@ -99,8 +99,6 @@ docs:
@@ -98,8 +98,6 @@ docs:
include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
@ -868,10 +841,10 @@ index adc2c4858f..89ce954e99 100644
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
# $(INSTALL_DIR) "$(RELSYSDIR)/include"
diff --git a/lib/ssh/src/Makefile b/lib/ssh/src/Makefile
index 7ab6f22424..b57da4ad67 100644
index 9e8d80c71f..6ce3dc96ef 100644
--- a/lib/ssh/src/Makefile
+++ b/lib/ssh/src/Makefile
@@ -136,7 +136,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@@ -137,7 +137,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/src"
@ -894,10 +867,10 @@ index 2e7df9792e..0cd43d3805 100644
$(INSTALL_DATA) $(BEHAVIOUR_TARGET_FILES) $(TARGET_FILES) $(APP_TARGET) \
$(APPUP_TARGET) "$(RELSYSDIR)/ebin"
diff --git a/lib/stdlib/src/Makefile b/lib/stdlib/src/Makefile
index 302834f9d0..53804f81ff 100644
index bf836203ec..e86fb6a6d1 100644
--- a/lib/stdlib/src/Makefile
+++ b/lib/stdlib/src/Makefile
@@ -208,7 +208,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@@ -212,7 +212,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/src"
@ -931,20 +904,6 @@ index 032bd612db..efb0309eb8 100644
$(INSTALL_DIR) "$(RELSYSDIR)/ebin"
$(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET) \
"$(RELSYSDIR)/ebin"
diff --git a/lib/typer/src/Makefile b/lib/typer/src/Makefile
index 6c5d8b0726..82f516a0e5 100644
--- a/lib/typer/src/Makefile
+++ b/lib/typer/src/Makefile
@@ -102,9 +102,6 @@ $(APPUP_TARGET): $(APPUP_SRC) ../vsn.mk
include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
- $(INSTALL_DIR) "$(RELSYSDIR)/src"
- $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) $(YRL_FILES) \
- "$(RELSYSDIR)/src"
$(INSTALL_DIR) "$(RELSYSDIR)/ebin"
$(INSTALL_DATA) $(INSTALL_FILES) "$(RELSYSDIR)/ebin"
diff --git a/lib/wx/src/Makefile b/lib/wx/src/Makefile
index 21b45af2c4..a7bf34f4f4 100644
--- a/lib/wx/src/Makefile

View File

@ -1,318 +0,0 @@
From: Zephyr Pellerin <zv@nxvr.org>
Date: Mon, 20 Mar 2017 15:36:41 -0700
Subject: [PATCH] Fix CVE-2016-10253
diff --git a/erts/emulator/pcre/pcre_compile.c b/erts/emulator/pcre/pcre_compile.c
index d48126a55d..15a81fae56 100644
--- a/erts/emulator/pcre/pcre_compile.c
+++ b/erts/emulator/pcre/pcre_compile.c
@@ -2335,34 +2335,36 @@ for (;;)
}
}
-
-
/*************************************************
-* Scan compiled branch for non-emptiness *
-*************************************************/
+ * Scan compiled branch for non-emptiness *
+ *************************************************/
/* This function scans through a branch of a compiled pattern to see whether it
-can match the empty string or not. It is called from could_be_empty()
-below and from compile_branch() when checking for an unlimited repeat of a
-group that can match nothing. Note that first_significant_code() skips over
-backward and negative forward assertions when its final argument is TRUE. If we
-hit an unclosed bracket, we return "empty" - this means we've struck an inner
-bracket whose current branch will already have been scanned.
-
-Arguments:
- code points to start of search
- endcode points to where to stop
- utf TRUE if in UTF-8 / UTF-16 / UTF-32 mode
- cd contains pointers to tables etc.
-
-Returns: TRUE if what is matched could be empty
+ can match the empty string or not. It is called from could_be_empty()
+ below and from compile_branch() when checking for an unlimited repeat of a
+ group that can match nothing. Note that first_significant_code() skips over
+ backward and negative forward assertions when its final argument is TRUE. If we
+ hit an unclosed bracket, we return "empty" - this means we've struck an inner
+ bracket whose current branch will already have been scanned.
+
+ Arguments:
+ code points to start of search
+ endcode points to where to stop
+ utf TRUE if in UTF-8 / UTF-16 / UTF-32 mode
+ cd contains pointers to tables etc.
+ recurses chain of recurse_check to catch mutual recursion
+
+ Returns: TRUE if what is matched could be empty
*/
+
static BOOL
could_be_empty_branch(const pcre_uchar *code, const pcre_uchar *endcode,
- BOOL utf, compile_data *cd)
+ BOOL utf, compile_data *cd, recurse_check *recurses)
{
register pcre_uchar c;
+recurse_check this_recurse;
+
for (code = first_significant_code(code + PRIV(OP_lengths)[*code], TRUE);
code < endcode;
code = first_significant_code(code + PRIV(OP_lengths)[c], TRUE))
@@ -2390,25 +2392,47 @@ for (code = first_significant_code(code + PRIV(OP_lengths)[*code], TRUE);
if (c == OP_RECURSE)
{
- const pcre_uchar *scode;
+ const pcre_uchar *scode = cd->start_code + GET(code, 1);
+ const pcre_uchar *endgroup = scode;
BOOL empty_branch;
- /* Test for forward reference */
+ /* Test for forward reference or uncompleted reference. This is disabled
+ when called to scan a completed pattern by setting cd->start_workspace to
+ NULL. */
- for (scode = cd->start_workspace; scode < cd->hwm; scode += LINK_SIZE)
- if ((int)GET(scode, 0) == (int)(code + 1 - cd->start_code)) return TRUE;
+ if (cd->start_workspace != NULL)
+ {
+ const pcre_uchar *tcode;
+ for (tcode = cd->start_workspace; tcode < cd->hwm; tcode += LINK_SIZE)
+ if ((int)GET(tcode, 0) == (int)(code + 1 - cd->start_code)) return TRUE;
+ if (GET(scode, 1) == 0) return TRUE; /* Unclosed */
+ }
- /* Not a forward reference, test for completed backward reference */
+ /* If the reference is to a completed group, we need to detect whether this
+ is a recursive call, as otherwise there will be an infinite loop. If it is
+ a recursion, just skip over it. Simple recursions are easily detected. For
+ mutual recursions we keep a chain on the stack. */
- empty_branch = FALSE;
- scode = cd->start_code + GET(code, 1);
- if (GET(scode, 1) == 0) return TRUE; /* Unclosed */
+ do endgroup += GET(endgroup, 1); while (*endgroup == OP_ALT);
+ if (code >= scode && code <= endgroup) continue; /* Simple recursion */
+ else
+ {
+ recurse_check *r = recurses;
+ for (r = recurses; r != NULL; r = r->prev)
+ if (r->group == scode) break;
+ if (r != NULL) continue; /* Mutual recursion */
+ }
+
+ /* Completed reference; scan the referenced group, remembering it on the
+ stack chain to detect mutual recursions. */
- /* Completed backwards reference */
+ empty_branch = FALSE;
+ this_recurse.prev = recurses;
+ this_recurse.group = scode;
do
{
- if (could_be_empty_branch(scode, endcode, utf, cd))
+ if (could_be_empty_branch(scode, endcode, utf, cd, &this_recurse))
{
empty_branch = TRUE;
break;
@@ -2448,7 +2472,7 @@ for (code = first_significant_code(code + PRIV(OP_lengths)[*code], TRUE);
if (c == OP_BRA || c == OP_BRAPOS ||
c == OP_CBRA || c == OP_CBRAPOS ||
c == OP_ONCE || c == OP_ONCE_NC ||
- c == OP_COND)
+ c == OP_COND || c == OP_SCOND)
{
BOOL empty_branch;
if (GET(code, 1) == 0) return TRUE; /* Hit unclosed bracket */
@@ -2464,8 +2488,8 @@ for (code = first_significant_code(code + PRIV(OP_lengths)[*code], TRUE);
empty_branch = FALSE;
do
{
- if (!empty_branch && could_be_empty_branch(code, endcode, utf, cd))
- empty_branch = TRUE;
+ if (!empty_branch && could_be_empty_branch(code, endcode, utf, cd,
+ recurses)) empty_branch = TRUE;
code += GET(code, 1);
}
while (*code == OP_ALT);
@@ -2522,34 +2546,57 @@ for (code = first_significant_code(code + PRIV(OP_lengths)[*code], TRUE);
/* Opcodes that must match a character */
+ case OP_ANY:
+ case OP_ALLANY:
+ case OP_ANYBYTE:
+
case OP_PROP:
case OP_NOTPROP:
+ case OP_ANYNL:
+
+ case OP_NOT_HSPACE:
+ case OP_HSPACE:
+ case OP_NOT_VSPACE:
+ case OP_VSPACE:
case OP_EXTUNI:
+
case OP_NOT_DIGIT:
case OP_DIGIT:
case OP_NOT_WHITESPACE:
case OP_WHITESPACE:
case OP_NOT_WORDCHAR:
case OP_WORDCHAR:
- case OP_ANY:
- case OP_ALLANY:
- case OP_ANYBYTE:
+
case OP_CHAR:
case OP_CHARI:
case OP_NOT:
case OP_NOTI:
+
case OP_PLUS:
+ case OP_PLUSI:
case OP_MINPLUS:
- case OP_POSPLUS:
- case OP_EXACT:
+ case OP_MINPLUSI:
+
case OP_NOTPLUS:
+ case OP_NOTPLUSI:
case OP_NOTMINPLUS:
+ case OP_NOTMINPLUSI:
+
+ case OP_POSPLUS:
+ case OP_POSPLUSI:
case OP_NOTPOSPLUS:
+ case OP_NOTPOSPLUSI:
+
+ case OP_EXACT:
+ case OP_EXACTI:
case OP_NOTEXACT:
+ case OP_NOTEXACTI:
+
case OP_TYPEPLUS:
case OP_TYPEMINPLUS:
case OP_TYPEPOSPLUS:
case OP_TYPEEXACT:
+
return FALSE;
/* These are going to continue, as they may be empty, but we have to
@@ -2583,30 +2630,58 @@ for (code = first_significant_code(code + PRIV(OP_lengths)[*code], TRUE);
return TRUE;
/* In UTF-8 mode, STAR, MINSTAR, POSSTAR, QUERY, MINQUERY, POSQUERY, UPTO,
- MINUPTO, and POSUPTO may be followed by a multibyte character */
+ MINUPTO, and POSUPTO and their caseless and negative versions may be
+ followed by a multibyte character. */
#if defined SUPPORT_UTF && !defined COMPILE_PCRE32
case OP_STAR:
case OP_STARI:
+ case OP_NOTSTAR:
+ case OP_NOTSTARI:
+
case OP_MINSTAR:
case OP_MINSTARI:
+ case OP_NOTMINSTAR:
+ case OP_NOTMINSTARI:
+
case OP_POSSTAR:
case OP_POSSTARI:
+ case OP_NOTPOSSTAR:
+ case OP_NOTPOSSTARI:
+
case OP_QUERY:
case OP_QUERYI:
+ case OP_NOTQUERY:
+ case OP_NOTQUERYI:
+
case OP_MINQUERY:
case OP_MINQUERYI:
+ case OP_NOTMINQUERY:
+ case OP_NOTMINQUERYI:
+
case OP_POSQUERY:
case OP_POSQUERYI:
+ case OP_NOTPOSQUERY:
+ case OP_NOTPOSQUERYI:
+
if (utf && HAS_EXTRALEN(code[1])) code += GET_EXTRALEN(code[1]);
break;
case OP_UPTO:
case OP_UPTOI:
+ case OP_NOTUPTO:
+ case OP_NOTUPTOI:
+
case OP_MINUPTO:
case OP_MINUPTOI:
+ case OP_NOTMINUPTO:
+ case OP_NOTMINUPTOI:
+
case OP_POSUPTO:
case OP_POSUPTOI:
+ case OP_NOTPOSUPTO:
+ case OP_NOTPOSUPTOI:
+
if (utf && HAS_EXTRALEN(code[1 + IMM2_SIZE])) code += GET_EXTRALEN(code[1 + IMM2_SIZE]);
break;
#endif
@@ -2632,7 +2707,6 @@ return TRUE;
}
-
/*************************************************
* Scan compiled regex for non-emptiness *
*************************************************/
@@ -2660,7 +2734,7 @@ could_be_empty(const pcre_uchar *code, const pcre_uchar *endcode,
{
while (bcptr != NULL && bcptr->current_branch >= code)
{
- if (!could_be_empty_branch(bcptr->current_branch, endcode, utf, cd))
+ if (!could_be_empty_branch(bcptr->current_branch, endcode, utf, cd, NULL))
return FALSE;
bcptr = bcptr->outer;
}
@@ -2668,7 +2742,6 @@ return TRUE;
}
-
/*************************************************
* Check for POSIX class syntax *
*************************************************/
@@ -5392,7 +5465,7 @@ for (;; ptr++)
pcre_uchar *scode = bracode;
do
{
- if (could_be_empty_branch(scode, ketcode, utf, cd))
+ if (could_be_empty_branch(scode, ketcode, utf, cd, NULL))
{
*bracode += OP_SBRA - OP_BRA;
break;
diff --git a/erts/emulator/pcre/pcre_internal.h b/erts/emulator/pcre/pcre_internal.h
index af436bd99b..eb0db89619 100644
--- a/erts/emulator/pcre/pcre_internal.h
+++ b/erts/emulator/pcre/pcre_internal.h
@@ -2455,6 +2455,13 @@ typedef struct branch_chain {
pcre_uchar *current_branch;
} branch_chain;
+/* Structure for mutual recursion detection. */
+
+typedef struct recurse_check {
+ struct recurse_check *prev;
+ const pcre_uchar *group;
+} recurse_check;
+
/* Structure for items in a linked list that represents an explicit recursive
call within the pattern; used by pcre_exec(). */

View File

@ -5,7 +5,7 @@ Subject: [PATCH] Add extra search directory
Signed-off-by: Peter Lemenkov <lemenkov@gmail.com>
diff --git a/lib/kernel/src/code_server.erl b/lib/kernel/src/code_server.erl
index 59b26176bf..89297718fe 100644
index 418b0c50e1..d24b73a9aa 100644
--- a/lib/kernel/src/code_server.erl
+++ b/lib/kernel/src/code_server.erl
@@ -79,11 +79,17 @@ init(Ref, Parent, [Root,Mode]) ->

View File

@ -1 +1 @@
SHA512 (otp-OTP-19.3.6.5.tar.gz) = 7ed91bb3b2a5baa9674b811281746aae82b8d06dc1f7dfccf1a00e0d6be34e249d5fe1300fb6bd3d3a2a81409e326b32f82340461da58bba042e6900fdb5ed71
SHA512 (otp-OTP-20.2.3.tar.gz) = 54dd81041635d14c8c4c05e31a70017ae5c501c91e5071875711cad460c4f21572f586eb3faeeb6e400b888f32a56859e066ea049877356f02f8cab43d3e6207