Skip to content

Commit

Permalink
Merge pull request #148 from ZencashOfficial/development
Browse files Browse the repository at this point in the history
* new -3 transaction type
* added Groth16 specific tests
* Community Fund increase to 20% of block rewards
* adjusted tests for CF increase
* mainnet and testnet checkpoint blocks added
* upgrade OpenSSL to 1.1.0j
  • Loading branch information
cronicc committed Jan 3, 2019
2 parents 9d4cbfa + 1e7db72 commit e48cf60
Show file tree
Hide file tree
Showing 275 changed files with 4,230 additions and 1,303 deletions.
4 changes: 2 additions & 2 deletions .github/ISSUE_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@

This issue tracker is only for technical issues related to Zen.

General Zen questions and/or support requests and are best directed to the [Slack](https://zencash.slack.com).
General Zen questions and/or support requests are best directed to the [Discord](https://horizen.global/invite/discord), or [Support Portal](https://support.horizen.global).

For reporting security vulnerabilities or for sensitive discussions with our security team, please post a message in #developers within the above Slack, or email info@zensystem.io with information.
For reporting security vulnerabilities or for sensitive discussions with our security team, please see the [Bug Bounty Policy and Scope](https://horizenofficial.atlassian.net/wiki/spaces/ZEN/pages/136871957/Bug+Bounty+Submission+Policy+and+Scope), or send an encrypted email to security@horizen.global with information. The public key for that address is available [here](https://zencashofficial.github.io/keys/).

### Describe the issue
Please provide a general summary of the issue you're experiencing
Expand Down
33 changes: 22 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Zen 2.0.15
Zen 2.0.16
==============

What is Horizen?
Expand All @@ -8,7 +8,7 @@ A globally accessible and anonymous blockchain for censorship-resistant communic
Upgrading from 2.0.11 source
----------------

To upgrade from any version prior to 2.0.14 you will have to re-clone the repository, the [ZencashOfficial/zen](https://github.com/ZencashOfficial/zen) repository was replaced by a new repository based on Zcash upstream with a different commit history, merging/pulling is not possible without issues.
To upgrade from any version prior to 2.0.14, you will have to re-clone the repository, the [ZencashOfficial/zen](https://github.com/ZencashOfficial/zen) repository was replaced by a new repository based on Zcash upstream with a different commit history. Merging/pulling is not possible without issues.
Assuming your current repository is stored at `~/zen`, do the following to upgrade:
```{r, engine='bash'}
# if you don't want to keep the old src around
Expand All @@ -20,7 +20,7 @@ cd ~/zen
```
Now continue with building from source.

Installing from source
Building from source
----------------

1. Get dependencies:
Expand All @@ -31,12 +31,21 @@ Installing from source
autoconf libtool ncurses-dev unzip git python \
zlib1g-dev bsdmainutils automake curl
```
2. Centos:
2. Centos 7:
```{r, engine='bash')
sudo yum install epel-release
sudo yum update
sudo yum groupinstall 'Development Tools'
sudo yum install git cmake3 curl
sudo yum group install 'Development Tools'
sudo yum install \
autoconf libtool unzip git python \
curl automake gcc gcc-c++ patch \
glibc-static libstdc++-static
```
Please execute the below commands in order.
```{r, engine='bash')
sudo yum install centos-release-scl-rh
sudo yum install devtoolset-3-gcc devtoolset-3-gcc-c++
sudo update-alternatives --install /usr/bin/gcc-4.9 gcc-4.9 /opt/rh/devtoolset-3/root/usr/bin/gcc 10
sudo update-alternatives --install /usr/bin/g++-4.9 g++-4.9 /opt/rh/devtoolset-3/root/usr/bin/g++ 10
scl enable devtoolset-3 bash
```
3. Windows
```{r, engine='bash'}
Expand All @@ -53,8 +62,10 @@ Installing from source
zlib1g-dev curl bsdmainutils automake cmake cargo
```

* Install for linux
* Install for Linux
```{r, engine='bash'}
git clone https://github.com/ZencashOfficial/zen.git
cd zen
# Build
./zcutil/build.sh -j$(nproc)
# fetch key
Expand Down Expand Up @@ -93,7 +104,7 @@ PATH=$PATH:~/bin
cd ~/zen/
./zcutil/build-arm.sh -j$(nproc)
```
Instructions to redeem pre block 110,000 ZCL
Instructions to redeem pre-block 110,000 ZCL
-------------
1. Linux:
Copy and paste your wallet.dat from ~/.zclassic/ to ~/.zen. That's it!
Expand Down Expand Up @@ -123,7 +134,7 @@ See important security warnings in

Where do I begin?
-----------------
* The easiest way to get started is to download one of the available graphical wallets from [horizen.global](https://horizen.global)
* The easiest way to get started is to download one of the available GUI wallets from [horizen.global](https://horizen.global)

### Need Help?

Expand Down
96 changes: 62 additions & 34 deletions configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ dnl require autoconf 2.60 (AS_ECHO/AS_ECHO_N)
AC_PREREQ([2.60])
define(_CLIENT_VERSION_MAJOR, 2)
define(_CLIENT_VERSION_MINOR, 0)
define(_CLIENT_VERSION_REVISION, 15)
define(_CLIENT_VERSION_REVISION, 16)
define(_CLIENT_VERSION_BUILD, 50)
define(_ZC_BUILD_VAL, m4_if(m4_eval(_CLIENT_VERSION_BUILD < 25), 1, m4_incr(_CLIENT_VERSION_BUILD), m4_eval(_CLIENT_VERSION_BUILD < 50), 1, m4_eval(_CLIENT_VERSION_BUILD - 24), m4_eval(_CLIENT_VERSION_BUILD == 50), 1, , m4_eval(_CLIENT_VERSION_BUILD - 50)))
define(_CLIENT_VERSION_SUFFIX, m4_if(m4_eval(_CLIENT_VERSION_BUILD < 25), 1, _CLIENT_VERSION_REVISION-beta$1, m4_eval(_CLIENT_VERSION_BUILD < 50), 1, _CLIENT_VERSION_REVISION-rc$1, m4_eval(_CLIENT_VERSION_BUILD == 50), 1, _CLIENT_VERSION_REVISION, _CLIENT_VERSION_REVISION-$1)))
Expand Down Expand Up @@ -96,12 +96,6 @@ AC_ARG_ENABLE([mining],
[enable_mining=$enableval],
[enable_mining=yes])

AC_ARG_ENABLE([rust],
[AS_HELP_STRING([--enable-rust],
[enable rust (default is yes)])],
[enable_rust=$enableval],
[enable_rust=yes])

AC_ARG_ENABLE([proton],
[AS_HELP_STRING([--disable-proton],
[disable Proton (AMQP messaging)])],
Expand All @@ -113,6 +107,18 @@ AC_ARG_ENABLE(tests,
[use_tests=$enableval],
[use_tests=yes])

AC_ARG_ENABLE([asan],
[AS_HELP_STRING([--enable-asan],
[instrument the executables with asan (default is no)])],
[use_asan=$enableval],
[use_asan=no])

AC_ARG_ENABLE([tsan],
[AS_HELP_STRING([--enable-tsan],
[instrument the executables with tsan (default is no)])],
[use_tsan=$enableval],
[use_tsan=no])

AC_ARG_ENABLE([hardening],
[AS_HELP_STRING([--enable-hardening],
[attempt to harden the resulting executables (default is yes)])],
Expand Down Expand Up @@ -218,9 +224,9 @@ AC_ARG_WITH([utils],

AC_ARG_WITH([libs],
[AS_HELP_STRING([--with-libs],
[build libraries (default=yes)])],
[build libraries (default=no)])],
[build_bitcoin_libs=$withval],
[build_bitcoin_libs=yes])
[build_bitcoin_libs=no])

AC_ARG_WITH([daemon],
[AS_HELP_STRING([--with-daemon],
Expand Down Expand Up @@ -441,6 +447,29 @@ if test x$TARGET_OS != xwindows; then
AX_CHECK_COMPILE_FLAG([-fPIC],[PIC_FLAGS="-fPIC"])
fi

#asan and tsan cannot be used together
if test x$use_asan$use_tsan == xyesyes; then
AC_MSG_ERROR(asan and tsan cannot be simultaneously enabled)
fi

# using asan flag to enable address sanitizer and undefined behavior sanitizer
if test x$use_asan == xyes; then
AX_CHECK_LINK_FLAG([-static-libstdc++],[SAN_LDFLAGS="$SAN_LDFLAGS -static-libstdc++"],[AC_MSG_ERROR(Cannot statically link -static-libstdc++)])
AX_CHECK_LINK_FLAG([-static-libasan],[SAN_LDFLAGS="$SAN_LDFLAGS -static-libasan"],[AC_MSG_ERROR(Cannot statically link -static-libasan)])
AX_CHECK_COMPILE_FLAG([-fsanitize=address],[SAN_CXXFLAGS="$SAN_CXXFLAGS -fsanitize=address"],[AC_MSG_ERROR(Cannot enable -fsanitize=address)])
AX_CHECK_COMPILE_FLAG([-fsanitize=undefined],[SAN_CXXFLAGS="$SAN_CXXFLAGS -fsanitize=undefined"],[AC_MSG_ERROR(Cannot enable -fsanitize=undefined)])
AX_CHECK_COMPILE_FLAG([-fno-omit-frame-pointer],[SAN_CXXFLAGS="$SAN_CXXFLAGS -fno-omit-frame-pointer"],[AC_MSG_ERROR(Cannot enable -fno-omit-frame-pointer)])
fi

# using tsan flag to enable address thread sanitizer
# TSAN is supported on Linux x84_64 and tested on Ubuntu 12.04
# Non-position-independent executables are not supported. Use with -fPIE and -pie flags
# libc/libstdc++ static linking is not supported
if test x$use_tsan == xyes; then
AX_CHECK_COMPILE_FLAG([-fsanitize=thread],[SAN_CXXFLAGS="$SAN_CXXFLAGS -fsanitize=thread"],[AC_MSG_ERROR(Cannot enable -fsanitize=thread)])
AX_CHECK_COMPILE_FLAG([-fno-omit-frame-pointer],[SAN_CXXFLAGS="$SAN_CXXFLAGS -fno-omit-frame-pointer"],[AC_MSG_ERROR(Cannot enable -fno-omit-frame-pointer)])
fi

if test x$use_hardening != xno; then
AX_CHECK_COMPILE_FLAG([-Wformat],[HARDENED_CXXFLAGS="$HARDENED_CXXFLAGS -Wformat"],[AC_MSG_ERROR(Cannot enable -Wformat)])
AX_CHECK_COMPILE_FLAG([-Wformat-security],[HARDENED_CXXFLAGS="$HARDENED_CXXFLAGS -Wformat-security"],[AC_MSG_ERROR(Cannot enable -Wformat-security)],[-Wformat])
Expand All @@ -453,23 +482,25 @@ if test x$use_hardening != xno; then
],[AC_MSG_ERROR(Cannot enable -U_FORTIFY_SOURCE)])
HARDENED_CPPFLAGS="$HARDENED_CPPFLAGS -D_FORTIFY_SOURCE=2"
],[AC_MSG_ERROR(Cannot enable -D_FORTIFY_SOURCE=2)])
# AX_CHECK_LINK_FLAG([[-Wl,-z,relro]], [HARDENED_LDFLAGS="$HARDENED_LDFLAGS -Wl,-z,relro"],[AC_MSG_ERROR(Cannot enable RELRO)])
# AX_CHECK_LINK_FLAG([[-Wl,-z,now]], [HARDENED_LDFLAGS="$HARDENED_LDFLAGS -Wl,-z,now"],[AC_MSG_ERROR(Cannot enable BIND_NOW)])

if test x$BUILD_OS != xdarwin; then
AX_CHECK_LINK_FLAG([[-Wl,-z,relro]], [HARDENED_LDFLAGS="$HARDENED_LDFLAGS -Wl,-z,relro"],[AC_MSG_ERROR(Cannot enable RELRO)])
AX_CHECK_LINK_FLAG([[-Wl,-z,now]], [HARDENED_LDFLAGS="$HARDENED_LDFLAGS -Wl,-z,now"],[AC_MSG_ERROR(Cannot enable BIND_NOW)])
else
if test x$BUILD_OS = xdarwin || test x$TARGET_OS = xwindows; then
# Xcode's ld (at least ld64-302.3) doesn't support -z
# mingw-w64's ld (at least mingw-w64 4.0.4-2) also appears to not support -z
AX_CHECK_LINK_FLAG([[-Wl,-z,relro]], [HARDENED_LDFLAGS="$HARDENED_LDFLAGS -Wl,-z,relro"],[AC_MSG_WARN(Cannot enable RELRO)])
AX_CHECK_LINK_FLAG([[-Wl,-z,now]], [HARDENED_LDFLAGS="$HARDENED_LDFLAGS -Wl,-z,now"],[AC_MSG_WARN(Cannot enable BIND_NOW)])
else
AX_CHECK_LINK_FLAG([[-Wl,-z,relro]], [HARDENED_LDFLAGS="$HARDENED_LDFLAGS -Wl,-z,relro"],[AC_MSG_ERROR(Cannot enable RELRO)])
AX_CHECK_LINK_FLAG([[-Wl,-z,now]], [HARDENED_LDFLAGS="$HARDENED_LDFLAGS -Wl,-z,now"],[AC_MSG_ERROR(Cannot enable BIND_NOW)])
fi


if test x$TARGET_OS != xwindows; then
# All windows code is PIC, forcing it on just adds useless compile warnings
AX_CHECK_COMPILE_FLAG([-fPIE],[PIE_FLAGS="-fPIE"],[AC_MSG_ERROR(Cannot enable -fPIE)])
if test x$BUILD_OS != xdarwin; then
AX_CHECK_LINK_FLAG([[-pie]], [HARDENED_LDFLAGS="$HARDENED_LDFLAGS -pie"],[AC_MSG_WARN(Cannot enable -pie)])
if test x$BUILD_OS = xdarwin; then
AX_CHECK_LINK_FLAG([[-Wl,-pie]], [HARDENED_LDFLAGS="$HARDENED_LDFLAGS -Wl,-pie"],[AC_MSG_ERROR(Cannot enable -Wl,-pie)])
else
AX_CHECK_LINK_FLAG([[-pie]], [HARDENED_LDFLAGS="$HARDENED_LDFLAGS -pie"],[AC_MSG_ERROR(Cannot enable -pie)])
fi
else
# These are only available on Windows.
Expand Down Expand Up @@ -703,15 +734,20 @@ AC_CHECK_LIB([gmp],[[__gmpn_sub_n]],GMP_LIBS=-lgmp, [AC_MSG_ERROR(libgmp missing
AC_CHECK_HEADER([gmpxx.h],,AC_MSG_ERROR(libgmpxx headers missing))
AC_CHECK_LIB([gmpxx],[main],GMPXX_LIBS=-lgmpxx, [AC_MSG_ERROR(libgmpxx missing)])

RUST_LIBS=""
if test x$enable_rust != xno; then
RUST_LIBS="-lrustzcash"
fi
RUST_LIBS="-lrustzcash"
case $host in
*mingw*)
;;
*)
RUST_LIBS="$RUST_LIBS -ldl"
;;
esac

dnl Check for OpenMP support
AX_OPENMP(
[AC_DEFINE(HAVE_OPENMP, 1, [Define if OpenMP is enabled])
AM_CONDITIONAL([HAVE_OPENMP], [true])
CPPFLAGS="$CPPFLAGS -DMULTICORE"
CXXFLAGS="$CXXFLAGS $OPENMP_CXXFLAGS"],
[AC_MSG_WARN([OpenMP not supported, disabling multithreading])
AC_DEFINE(HAVE_OPENMP, 0, [Define if OpenMP is enabled])
Expand Down Expand Up @@ -745,7 +781,7 @@ if test x$BUILD_OS = xdarwin; then
fi


LIBZCASH_LIBS="-lgmp -lgmpxx -lboost_system-mt -lcrypto -lsodium $RUST_LIBS"
LIBZCASH_LIBS="-lgmp -lgmpxx -lboost_system -lcrypto -lsodium $RUST_LIBS"

AC_MSG_CHECKING([whether to build bitcoind])
AM_CONDITIONAL([BUILD_BITCOIND], [test x$build_bitcoind = xyes])
Expand Down Expand Up @@ -805,16 +841,6 @@ else
AC_MSG_RESULT(no)
fi

dnl enable rust
AC_MSG_CHECKING([if rust should be enabled])
if test x$enable_rust != xno; then
AC_MSG_RESULT(yes)
AC_DEFINE(ENABLE_RUST, 1, [Define to 1 to enable Rust language dependent functions])

else
AC_MSG_RESULT(no)
fi

AM_CONDITIONAL([ENABLE_ZMQ], [test "x$use_zmq" = "xyes"])

AM_CONDITIONAL([ENABLE_PROTON], [test "x$use_proton" = "xyes"])
Expand Down Expand Up @@ -844,11 +870,12 @@ AM_CONDITIONAL([BUILD_DARWIN], [test x$BUILD_OS = xdarwin])
AM_CONDITIONAL([TARGET_WINDOWS], [test x$TARGET_OS = xwindows])
AM_CONDITIONAL([ENABLE_WALLET],[test x$enable_wallet = xyes])
AM_CONDITIONAL([ENABLE_MINING],[test x$enable_mining = xyes])
AM_CONDITIONAL([ENABLE_RUST],[test x$enable_rust = xyes])
AM_CONDITIONAL([ENABLE_TESTS],[test x$BUILD_TEST = xyes])
AM_CONDITIONAL([USE_LCOV],[test x$use_lcov = xyes])
AM_CONDITIONAL([GLIBC_BACK_COMPAT],[test x$use_glibc_compat = xyes])
AM_CONDITIONAL([HARDEN],[test x$use_hardening = xyes])
AM_CONDITIONAL([ASAN],[test x$use_asan = xyes])
AM_CONDITIONAL([TSAN],[test x$use_tsan = xyes])

AC_DEFINE(CLIENT_VERSION_MAJOR, _CLIENT_VERSION_MAJOR, [Major version])
AC_DEFINE(CLIENT_VERSION_MINOR, _CLIENT_VERSION_MINOR, [Minor version])
Expand All @@ -868,6 +895,8 @@ AC_SUBST(BITCOIN_TX_NAME)

AC_SUBST(RELDFLAGS)
AC_SUBST(ERROR_CXXFLAGS)
AC_SUBST(SAN_CXXFLAGS)
AC_SUBST(SAN_LDFLAGS)
AC_SUBST(HARDENED_CXXFLAGS)
AC_SUBST(HARDENED_CPPFLAGS)
AC_SUBST(HARDENED_LDFLAGS)
Expand Down Expand Up @@ -933,7 +962,6 @@ esac
echo
echo "Options used to compile and link:"
echo " with wallet = $enable_wallet"
echo " with rust = $enable_rust"
echo " with proton = $use_proton"
echo " with zmq = $use_zmq"
echo " with test = $use_tests"
Expand Down
8 changes: 4 additions & 4 deletions depends/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ BASE_CACHE ?= $(BASEDIR)/built
SDK_PATH ?= $(BASEDIR)/SDKs
NO_WALLET ?=
NO_UPNP ?=
PRIORITY_DOWNLOAD_PATH ?= https://horizen.global/depends-sources
PRIORITY_DOWNLOAD_PATH ?= https://downloads.horizen.global/file/depends-sources

BUILD ?= $(shell ./config.guess)
HOST ?= $(BUILD)
Expand All @@ -14,6 +14,7 @@ BASEDIR = $(CURDIR)
HASH_LENGTH:=11
DOWNLOAD_CONNECT_TIMEOUT:=10
DOWNLOAD_RETRIES:=3
CRATE_REGISTRY:=vendored-sources

host:=$(BUILD)
ifneq ($(HOST),)
Expand Down Expand Up @@ -72,15 +73,14 @@ include builders/$(build_os).mk
include builders/default.mk
include packages/packages.mk

rust_packages_$(NO_RUST) = $(rust_packages)
wallet_packages_$(NO_WALLET) = $(wallet_packages)
proton_packages_$(NO_PROTON) = $(proton_packages)

packages += $($(host_arch)_$(host_os)_packages) $($(host_os)_packages) $(rust_packages_) $(proton_packages_) $(wallet_packages_)
packages += $($(host_arch)_$(host_os)_packages) $($(host_os)_packages) $(rust_packages) $(proton_packages_) $(wallet_packages_)
native_packages += $($(host_arch)_$(host_os)_native_packages) $($(host_os)_native_packages)
all_packages = $(packages) $(native_packages)

meta_depends = Makefile funcs.mk builders/default.mk hosts/default.mk hosts/$(host_os).mk builders/$(build_os).mk
meta_depends = Makefile funcs.mk builders/default.mk hosts/default.mk hosts/$(host_os).mk builders/$(build_os).mk cargo-checksum.sh

$(host_arch)_$(host_os)_native_toolchain?=$($(host_os)_native_toolchain)

Expand Down
13 changes: 13 additions & 0 deletions depends/cargo-checksum.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
echo "{\"files\":{$(
find . -type f | # Get list of file paths
grep -v $1 | # Exclude Makefile hashes
grep -v '[.]stamp_' | # Exclude Makefile stamps
sed 's|^[.]/||' | # Remove leading ./
sort | # Sort (for uniformity)
xargs $2 | # Get SHA256 hashes (assumes standard 'H(A) A' format)
awk -v OFS='":"' '{print $2, $1}' | # 'H(A) A' -> 'A":"H(A)'
sed 's|^|"|' | # 'A":"H(A)' -> '"A":"H(A)'
sed 's|$|"|' | # '"A":"H(A)' -> '"A":"H(A)"'
tr '\n' ',' | # Concatenate lines with commas
sed 's|,$||' # Remove any trailing comma (to fit JSON spec)
)},\"package\":$3}" > .cargo-checksum.json
15 changes: 15 additions & 0 deletions depends/funcs.mk
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,21 @@ define fetch_file
rm -rf $$($(1)_download_dir) ))
endef

define generate_crate_checksum
$(BASEDIR)/cargo-checksum.sh "$($(1)_file_name)" "$(build_SHA256SUM)" "\"$($(1)_sha256_hash)\""
endef

define generate_unpackaged_crate_checksum
$(BASEDIR)/cargo-checksum.sh "$($(1)_file_name)" "$(build_SHA256SUM)" "null"
endef

define vendor_crate_source
mkdir -p $($(1)_staging_prefix_dir)/$(CRATE_REGISTRY) && \
cp -r $($(1)_extract_dir) $($(1)_staging_prefix_dir)/$(CRATE_REGISTRY)/$($(1)_crate_name) && \
cd $($(1)_staging_prefix_dir)/$(CRATE_REGISTRY)/$($(1)_crate_versioned_name) && \
rm -r `basename $($(1)_patch_dir)` .stamp_* .$($(1)_file_name).hash
endef

define int_get_build_recipe_hash
$(eval $(1)_all_file_checksums:=$(shell $(build_SHA256SUM) $(meta_depends) packages/$(1).mk $(addprefix $(PATCHES_PATH)/$(1)/,$($(1)_patches)) | cut -d" " -f1))
$(eval $(1)_recipe_hash:=$(shell echo -n "$($(1)_all_file_checksums)" | $(build_SHA256SUM) | cut -d" " -f1))
Expand Down
3 changes: 2 additions & 1 deletion depends/packages/bdb.mk
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package=bdb
$(package)_version=6.2.23
$(package)_download_path=http://download.oracle.com/berkeley-db
$(package)_download_path=https://download.oracle.com/berkeley-db
$(package)_file_name=db-$($(package)_version).tar.gz
$(package)_sha256_hash=47612c8991aa9ac2f6be721267c8d3cdccf5ac83105df8e50809daea24e95dc7
$(package)_build_subdir=build_unix
Expand All @@ -13,6 +13,7 @@ $(package)_cxxflags=-std=c++11
endef

define $(package)_preprocess_cmds
sed -i.old 's/WinIoCtl.h/winioctl.h/g' src/dbinc/win_db.h && \
sed -i.old 's/__atomic_compare_exchange\\(/__atomic_compare_exchange_db(/' src/dbinc/atomic.h && \
sed -i.old 's/atomic_init/atomic_init_db/' src/dbinc/atomic.h src/mp/mp_region.c src/mp/mp_mvcc.c src/mp/mp_fget.c src/mutex/mut_method.c src/mutex/mut_tas.c
endef
Expand Down
Loading

0 comments on commit e48cf60

Please sign in to comment.