Skip to content

Commit

Permalink
Merge 76e9e6e into f57b5e2
Browse files Browse the repository at this point in the history
  • Loading branch information
priestjim committed Oct 4, 2016
2 parents f57b5e2 + 76e9e6e commit 1b63ee0
Show file tree
Hide file tree
Showing 50 changed files with 1,860 additions and 1,068 deletions.
6 changes: 3 additions & 3 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
sudo: false
language: erlang
otp_release:
- "19.0"
- "19.1"
cache:
directories:
- $HOME/otp/19.0
- $HOME/otp/19.1
- $HOME/.cache/rebar3
- _plt
install: "true"
Expand All @@ -15,5 +15,5 @@ branches:
- develop
notifications:
email:
- priestjim@gmail.com
- pj@ezgr.net

61 changes: 61 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
# Changelog

Below is a non-exhaustive list of changes between `gen_rpc` versions.

## 2.0.0

This release boasts a major rengineer/refactor of `gen_rpc` that includes quite a few new features:

- The server and acceptor FSMs have been converted to `gen_statem` to follow Erlang's best practices
and development. As a result, **support for Erlang releases older than 19.1 has been dropped**.

- Specific options, leveraging Erlang 19, have been enabled such as off-heap mailboxes for client and acceptor,
and higher priorities for all `gen_rpc` processes.

- Ports are not dynamically assigned anymore as it shows that, after some research, offers no additional benefits
to having a static port listener. That means less processes to supervise and less moving parts where something can
go wrong.

- Support for SSL has been added. Please refer to the [README](README.md#ssl-configuration) for more information on
how to use it.

- Module version control support has been added, effectively allowing you to only make RPC calls to nodes that
run specific versions of modules.

- `lager` support has been **dropped** in favor of the logging backend-agnostic library `hut`, in order to better support
Elixir installations. The test suite and development profiles still use lager but this doesn't interfere with production
deployments of `gen_rpc`.

- Tests have been updated to test more edge cases, including new SSL functionality.

- Some options in `gen_rpc.app.src` have changed names to better describe what they do. Again, pleaserefer to the README to
verify your preexisting settings are consistent with their new names.

- Various smaller bugs have been fixed and various responses have been massaged for consistency.

## 1.0.2

- Implemented blacklisting/whitelisting of modules available for RPC.

- Implemented abcast and sbcast support.

## 1.0.1

- Updated documentation

- Updated/optimized various TCP options

- Updated tests to include more edge cases

- Support client-configurable listener port per remote node

- Small code refactoring and cleanup

## 1.0.0

This release drops the hybrid RPC/TCP approach and uses a separate TCP listener to emulate initial RPC communication.
In addition, this release includes:

- Updated documentation

- Added integration tests using Docker
12 changes: 8 additions & 4 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
.PHONY: all test dialyzer xref spec dist coveralls

# Run targets
.PHONY: shell
.PHONY: shell shell-master shell-slave

# Misc targets
.PHONY: clean testclean distclean tags rebar
Expand Down Expand Up @@ -79,7 +79,6 @@ endif

integration: image
@export NODES=$(NODES) && cd test/integration && bash -c "./integration-tests.sh $(NODES)"

endif

# =============================================================================
Expand Down Expand Up @@ -111,8 +110,13 @@ coveralls: $(COVERDATA)
# Run targets
# =============================================================================

shell: $(REBAR) epmd
@REBAR_PROFILE=dev $(REBAR) do shell --name gen_rpc@127.0.0.1 --config test/gen_rpc.config
shell: shell-master

shell-master: $(REBAR) epmd
@REBAR_PROFILE=dev $(REBAR) do shell --name gen_rpc_master@127.0.0.1 --config test/gen_rpc.master.config

shell-slave: $(REBAR) epmd
@REBAR_PROFILE=dev $(REBAR) do shell --name gen_rpc_slave@127.0.0.1 --config test/gen_rpc.slave.config

# =============================================================================
# Misc targets
Expand Down
174 changes: 123 additions & 51 deletions README.md

Large diffs are not rendered by default.

2 changes: 0 additions & 2 deletions TODO.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,4 @@

This is a list of pending features or code technical debt for `gen_rpc`:

- Implement SSL connectivity, including CN-based authentication
- Implement per-id-and-node tuple connection sharing to spread workload on multiple mailboxes per node
- Implement static port range allocation (instead of listening to 0) to adhere to potential corporate firewall rules
32 changes: 0 additions & 32 deletions include/app.hrl
Original file line number Diff line number Diff line change
Expand Up @@ -5,35 +5,3 @@
%%%

-define(APP, gen_rpc).

%%% Default TCP options
-define(DEFAULT_TCP_OPTS, [binary,
{packet,4},
{exit_on_close,true},
{show_econnreset, true}, % Send message for reset connections
{nodelay,true}, % Send our requests immediately
{send_timeout_close,true}, % When the socket times out, close the connection
{delay_send,false}, % Scheduler should favor timely delivery
{linger,{true,2}}, % Allow the socket to flush outgoing data for 2" before closing it - useful for casts
{reuseaddr,true}, % Reuse local port numbers
{keepalive,true}, % Keep our channel open
{tos,72}, % Deliver immediately
{active,false}]). % Retrieve data from socket upon request

%%% Default TCP options
-define(ACCEPTOR_DEFAULT_TCP_OPTS, [binary,
{packet,4},
{exit_on_close,true},
{active,once}]). % Retrieve data from socket upon request

%%% The TCP options that should be copied from the listener to the acceptor
-define(ACCEPTOR_TCP_OPTS, [nodelay,
show_econnreset,
send_timeout_close,
delay_send,
linger,
reuseaddr,
keepalive,
tos,
active]).

45 changes: 45 additions & 0 deletions include/ssl.hrl
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
%%% -*-mode:erlang;coding:utf-8;tab-width:4;c-basic-offset:4;indent-tabs-mode:()-*-
%%% ex: set ft=erlang fenc=utf-8 sts=4 ts=4 sw=4 et:
%%%
%%% Copyright 2015 Panagiotis Papadomitsos. All Rights Reserved.
%%%

%%% Default SSL options common to client and server
-define(SSL_DEFAULT_COMMON_OPTS, [binary,
{packet,0},
{header,0},
{exit_on_close,true},
{nodelay,true}, % Send our requests immediately
{send_timeout_close,true}, % When the socket times out, close the connection
{delay_send,false}, % Scheduler should favor timely delivery
{linger,{true,2}}, % Allow the socket to flush outgoing data for 2" before closing it - useful for casts
{reuseaddr,true}, % Reuse local port numbers
{keepalive,true}, % Keep our channel open
{tos,72}, % Deliver immediately
{active,false},
%% SSL options
{ciphers,["ECDHE-ECDSA-AES256-GCM-SHA384","ECDHE-RSA-AES256-GCM-SHA384",
"ECDHE-ECDSA-AES256-SHA384","ECDHE-RSA-AES256-SHA384","ECDHE-ECDSA-DES-CBC3-SHA",
"ECDH-ECDSA-AES256-GCM-SHA384","ECDH-RSA-AES256-GCM-SHA384","ECDH-ECDSA-AES256-SHA384",
"ECDH-RSA-AES256-SHA384","DHE-DSS-AES256-GCM-SHA384","DHE-DSS-AES256-SHA256",
"AES256-GCM-SHA384","AES256-SHA256","ECDHE-ECDSA-AES128-GCM-SHA256",
"ECDHE-RSA-AES128-GCM-SHA256","ECDHE-ECDSA-AES128-SHA256","ECDHE-RSA-AES128-SHA256",
"ECDH-ECDSA-AES128-GCM-SHA256","ECDH-RSA-AES128-GCM-SHA256","ECDH-ECDSA-AES128-SHA256",
"ECDH-RSA-AES128-SHA256","DHE-DSS-AES128-GCM-SHA256","DHE-DSS-AES128-SHA256","AES128-GCM-SHA256",
"AES128-SHA256","ECDHE-ECDSA-AES256-SHA","ECDHE-RSA-AES256-SHA","DHE-DSS-AES256-SHA",
"ECDH-ECDSA-AES256-SHA","ECDH-RSA-AES256-SHA","AES256-SHA","ECDHE-ECDSA-AES128-SHA",
"ECDHE-RSA-AES128-SHA","DHE-DSS-AES128-SHA","ECDH-ECDSA-AES128-SHA","ECDH-RSA-AES128-SHA","AES128-SHA"]},
{secure_renegotiate,true},
{reuse_sessions,true},
{versions,['tlsv1.2','tlsv1.1']},
{verify,verify_peer},
{hibernate_after,600000},
{active,false}]).

-define(SSL_DEFAULT_SERVER_OPTS, [{fail_if_no_peer_cert,true},
{log_alert,false},
{honor_cipher_order,true},
{client_renegotiation,true}]).

-define(SSL_DEFAULT_CLIENT_OPTS, [{server_name_indication,disable},
{depth,99}]).
36 changes: 36 additions & 0 deletions include/tcp.hrl
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
%%% -*-mode:erlang;coding:utf-8;tab-width:4;c-basic-offset:4;indent-tabs-mode:()-*-
%%% ex: set ft=erlang fenc=utf-8 sts=4 ts=4 sw=4 et:
%%%
%%% Copyright 2015 Panagiotis Papadomitsos. All Rights Reserved.
%%%

%%% Default TCP options
-define(TCP_DEFAULT_OPTS, [binary,
{packet,4},
{exit_on_close,true},
{show_econnreset,true}, % Send message for reset connections
{nodelay,true}, % Send our requests immediately
{send_timeout_close,true}, % When the socket times out, close the connection
{delay_send,false}, % Scheduler should favor timely delivery
{linger,{true,2}}, % Allow the socket to flush outgoing data for 2" before closing it - useful for casts
{reuseaddr,true}, % Reuse local port numbers
{keepalive,true}, % Keep our channel open
{tos,72}, % Deliver immediately
{active,false}]). % Retrieve data from socket upon request

%%% Default TCP options
-define(ACCEPTOR_DEFAULT_TCP_OPTS, [binary,
{packet,4},
{exit_on_close,true},
{active,once}]). % Retrieve data from socket upon request

%%% The TCP options that should be copied from the listener to the acceptor
-define(ACCEPTOR_COPY_TCP_OPTS, [nodelay,
show_econnreset,
send_timeout_close,
delay_send,
linger,
reuseaddr,
keepalive,
tos,
active]).
4 changes: 2 additions & 2 deletions package.exs
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,13 @@ defmodule GenRPC.Mixfile do

def project do
[app: :gen_rpc,
version: "1.0.0",
version: "2.0.0",
description: "A scalable RPC library for Erlang-VM based languages",
package: package]
end

defp package do
[files: ~w(include src LICENSE Makefile package.exs README.md TODO.md rebar.config),
[files: ~w(include src LICENSE Makefile package.exs README.md TODO.md CHANGELOG.md rebar.config rebar.config.script otp-release.escript),
maintainers: ["Panagiotis PJ Papadomitsos"],
licenses: ["Apache 2.0"],
links: %{"GitHub" => "https://github.com/priestjim/gen_rpc"}]
Expand Down
25 changes: 25 additions & 0 deletions priv/ssl/ca.cert.pem
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
-----BEGIN CERTIFICATE-----
MIIEKjCCAxKgAwIBAgIJAI7iBfguHJwOMA0GCSqGSIb3DQEBCwUAMGsxCzAJBgNV
BAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJhbmNp
c2NvMQ8wDQYDVQQKEwZHZW5SUEMxHjAcBgNVBAMTFUNlcnRpZmljYXRlIEF1dGhv
cml0eTAeFw0xNjA5MTkwNjU0MDVaFw0zNjA5MTQwNjU0MDVaMGsxCzAJBgNVBAYT
AlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJhbmNpc2Nv
MQ8wDQYDVQQKEwZHZW5SUEMxHjAcBgNVBAMTFUNlcnRpZmljYXRlIEF1dGhvcml0
eTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPZgNiAtglkGKOiPZ3Ai
Zakd/teUIOwsqVaWBIsYDi1uSmj2UNSe9dFKTBRG6DqaA7+ZasKvJsyhV23woasV
5nqeZnO++U/bbGT06CeoGJSdF1E0WJjZq0LuizQlZ+aJF8hVcYdO4oiI8wPkp8F0
YPDSzloybRIcXOixUQVXQPwoGL+f8TO+sdcgRdq2pMgTxVV8wPkTif0DjUUkDWTz
KzSMy9ZKv1fYGRMWlXNkgtOuf1vccCwFnoKamwnYIo80oh9DOmWvYR4U5S7Euyes
UZzNzEoFBZDRB3agbzaiutdURBzMGXdOWPxSC7Apdhe6aKhOND6gzW+xLcxTbs9u
21kCAwEAAaOB0DCBzTAdBgNVHQ4EFgQUT1/pE9DF+qIF3fYMB2DH10vi9TwwgZ0G
A1UdIwSBlTCBkoAUT1/pE9DF+qIF3fYMB2DH10vi9Tyhb6RtMGsxCzAJBgNVBAYT
AlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJhbmNpc2Nv
MQ8wDQYDVQQKEwZHZW5SUEMxHjAcBgNVBAMTFUNlcnRpZmljYXRlIEF1dGhvcml0
eYIJAI7iBfguHJwOMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAB+J
UUlLraMCVzmjpJ51kNAHQeR//c0PR3jboc/K3IvDBGPyTpU5oLS+9Lxv9Bp67XF4
VOo7V7SjDJCWwFqeMYzU8pgKZZjKUiZkc5Bt6HhgnkBoZ0vOO6UnUcmdyYansDqw
bNq8hQR57Aw9pghOohjwrFSH8g275IU950xvHCsZeyjkB8vOaVLaDbIkipydGa6d
2fTJ3Nsjjd7Fzb5kiuKUwsUAfN8uTRRUimvaX89QEXh1+cr1PkzucssNXhZ0+HBT
OJcO/IjpdVSiCM8W4wf5he5yIL9eIdN7Y+BrN+KcDAWThXpxCRSYTeteyS4qQayi
sBnI4Aea3SDDw9004OI=
-----END CERTIFICATE-----
27 changes: 27 additions & 0 deletions priv/ssl/ca.key.pem
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
-----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEA9mA2IC2CWQYo6I9ncCJlqR3+15Qg7CypVpYEixgOLW5KaPZQ
1J710UpMFEboOpoDv5lqwq8mzKFXbfChqxXmep5mc775T9tsZPToJ6gYlJ0XUTRY
mNmrQu6LNCVn5okXyFVxh07iiIjzA+SnwXRg8NLOWjJtEhxc6LFRBVdA/CgYv5/x
M76x1yBF2rakyBPFVXzA+ROJ/QONRSQNZPMrNIzL1kq/V9gZExaVc2SC065/W9xw
LAWegpqbCdgijzSiH0M6Za9hHhTlLsS7J6xRnM3MSgUFkNEHdqBvNqK611REHMwZ
d05Y/FILsCl2F7poqE40PqDNb7EtzFNuz27bWQIDAQABAoIBABRIGUyO0oMnmaiD
XZ2Ch2HjoT336Lnod0w0b01P/qLIyIFZfY/zQgMnnZmxuJ5SXWqhY4OBTa1cvsjD
HVvrIp0HeyGeIAHt6z9oVdAl61gYknnR2FVE3e9VmcoCJkp5EKciOYVM/iMFOxQf
95taTDym7evI6OerxA43wpaw9x2Kuh1HJRL3okLgdTIdYSjtU2vsOb7TcEf8J8fF
fXr2BMycW+1l7wyCHuHD2xIK2W0ldT7UbLOLt15txKtrv8iK6yvYgSfEx5M3LXvU
nmXJgYssfcMVGyAm6/Rj8UvvYLTPOArAuKjkoOWEt7OwDvsCfRXJvNXLeTTZ/d+g
ySAMDt0CgYEA/RcCZ4CLamNJp5FRUo2Wdw64RLNhD5RvOzepY1ni1JzQlF0eU80+
qzsOiR/G1WAI0SjophhGapb6ADKW7hmq6cNfXOiIahM53Xh7Q3pHjNfoYl3Mgcgl
lS6CjuVa4pkqiMLF2+xo9hLLvNHe6gv0QhCaH1glA7R4t1TmKdJqWw8CgYEA+TVw
TNCKAmL1gXThoXUp6s5+v2nYq+FShEJ4L1AIzguamHmzuugSCCk7rtoxFi1UbNhJ
10UfuQ/fqbtJNumqYVgoJcqw16E9mdB5qs+EBfuC0BsPvoQx90XkMLS056fXOJO8
h2UolmPTN1xVVZGQhrdEWgL8tpfP/OoJunA4gxcCgYBU/IADL4ghTnvyN/r95Kut
CRVZhH7IU4jScst/oDRqPspPt8EyVM6Bg1BLPY9wIVJ0oe8VrzseGdqTbGmARMA+
xStlsHP2YsRgmU+TBiG2qt3PAj5lKkdsg/S1dVECnHpK+FSmmAla8E7X9gWLxD3e
XWLTua6cQuLydSDg1FaAgwKBgGltFwYYDtp1nODYXn+cflAsbWhy0cvc9bioGgoB
9MeeFxe8HLHMbZxwPSR6f9ue76FgWtSsFICI25kFdzK45XBrCAj815VRTCsfC+mc
AoE5Zpy9Zgq2CCFQuvlz6Tg7RAxWS6KHxATjVD6OXDdn7llffJYLv3dLgBzBsb3i
rbWfAoGBALYYSCG9+O0Sb3zSKHSF7QRdw1eaPJeIVDXYHmkZ6zzBBwr6DZ1+DMKF
xSA5R+gsJ6mOpjO9WDfMq2KBanYM9Ow9oUiETugssjO04i5NHB9g+kvqa0A19Bfz
oGrockn8xXmqBrenSZuPFriw3xOltOTEdEyN1bJ5EYZ7OXCqcB7f
-----END RSA PRIVATE KEY-----
1 change: 1 addition & 0 deletions priv/ssl/ca.srl
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
BD6B6A958A3C4681
13 changes: 13 additions & 0 deletions priv/ssl/dhparam.pem
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
-----BEGIN DH PARAMETERS-----
MIICCAKCAgEAroDK5Kfo2pS0vAPo/cNigg2LGH2/q+ss4ZD+UW3yDXKrGwjh5/94
hSx3pjlnrSvY9bw04gXFoz+FGn7zJ1f128+DcRpNIhD9H9ucvnLgfIthjQil1FWS
m38UTJQJnNCJF2FhT027MQamWaILcZ++1XbrvMovPkMekBuAPs2fnycBW2UqSbxT
ePx6o4PimP2eEIhTMrWmwJF3/pZA0k1MGcXziadpwRJtW3D2yCBNRbDTmFrXMp7J
lsWgtIcictxrI56WMtvwAaGwhKAzK5iaZJCMEi7PqsEltfO3lbSNPzyzXbR8rADA
1moh8HQDsVbPBafSI5qvo4X8+Nk5lSPpVKa4voRD4QWxnw1oc+kK/xCojoCZ2ApG
9foHjoJ+hRq+9gBxuYa9v/5WTgnub7v8HshqAnbjxubTlOgwISkQv5DMSaqtI8mx
JPq+P9rU5g+5H/i/v5GMOvW1r2ZFubM93Nx051RVNOzNBYGPr9gpaMxPiXkH5a+S
m8iYX+XlFUeseV2eCTtK19+154hdDlbGKoBbHsAkc5AiyOU8P0+6jHdL9QS6nSzV
3CSuFZYZq3pSGUPCN1IH74VXPa5hWdlblItVnzlbBHqCjZippZb8evduu+b0Lncw
5eSeY9weGyHHk6XHnwuPqetk3kg4e4wkX0YAwOXuu3E5f0KhLEQO51sCAQI=
-----END DH PARAMETERS-----
20 changes: 20 additions & 0 deletions priv/ssl/gen_rpc_master@127.0.0.1.cert.pem
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
-----BEGIN CERTIFICATE-----
MIIDVTCCAj0CCQC9a2qVijxGgDANBgkqhkiG9w0BAQsFADBrMQswCQYDVQQGEwJV
UzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZyYW5jaXNjbzEP
MA0GA1UEChMGR2VuUlBDMR4wHAYDVQQDExVDZXJ0aWZpY2F0ZSBBdXRob3JpdHkw
HhcNMTYwOTE5MDcwMDEyWhcNMzYwOTE0MDcwMDEyWjBuMQswCQYDVQQGEwJVUzET
MBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZyYW5jaXNjbzEPMA0G
A1UEChMGR2VuUlBDMSEwHwYDVQQDFBhnZW5fcnBjX21hc3RlckAxMjcuMC4wLjEw
ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDQ1dZtyRFzwdjS/5dus+2s
cFgTmCnNups8wduV3PYulHJ5nVOVYYFjNmKyvEDp3LcVfCtrLPkkApJAQP/tnTkl
feRTo+HTtLYQTkoTNqHIkqKmCNqJ+rTIs2EreUOEQVyLVgDOh8emiOl6UqUVb33J
4O03avWcZvp0fWIpXZhkcsLpRkctF3bUCP5YnbXLXHtqR5rkDicqrh/2e2Ml3k1Y
bPBtup+9H2sQ7c9pzPNAYySh/grIHMEgKMJ/qPAkQ6jsrqZxPjtY0NE5FGgbnB+j
4WsJfYfIBP78SZ2i8fRQnA9ceH39c8K7gwGWXw4HaVOmWJjKD5CrGHwsVX6EYl0P
AgMBAAEwDQYJKoZIhvcNAQELBQADggEBACJJ5v6mUOY69lJW0XlWVL1jk7p170sz
IX0OD53CfWQhjCURlpRCmYBvJS3EVbDnJCjdS1hZORwXR5vcSUeaE7htPSyEBgr9
Ougg2KEODBb5xlZdS8JMuOiwpHVPiyIjJDYskbyGvckYyQdTdPXXjyhQdHsnVJ2F
1csxGlMNI53F14Z1jicUwtzltkEOZg7aQzJ/ivrQptD03qEIZ95q6xn86zTe8sE0
z94DTEWZRdcZkqmS/94soNidjLjeLGiOwt4pB1e23aVPRStpt5ymkQIv7DiEPuza
gNjp8kz2qS3610GfL0fCAj211j9541GYAcpoOIQVOiGmFlQ+xyH7dv4=
-----END CERTIFICATE-----
17 changes: 17 additions & 0 deletions priv/ssl/gen_rpc_master@127.0.0.1.csr.pem
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
-----BEGIN CERTIFICATE REQUEST-----
MIICyjCCAbICAQAwbjELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWEx
FjAUBgNVBAcTDVNhbiBGcmFuY2lzY28xDzANBgNVBAoTBkdlblJQQzEhMB8GA1UE
AxQYZ2VuX3JwY19tYXN0ZXJAMTI3LjAuMC4xMIIBIjANBgkqhkiG9w0BAQEFAAOC
AQ8AMIIBCgKCAQEA0NXWbckRc8HY0v+XbrPtrHBYE5gpzbqbPMHbldz2LpRyeZ1T
lWGBYzZisrxA6dy3FXwrayz5JAKSQED/7Z05JX3kU6Ph07S2EE5KEzahyJKipgja
ifq0yLNhK3lDhEFci1YAzofHpojpelKlFW99yeDtN2r1nGb6dH1iKV2YZHLC6UZH
LRd21Aj+WJ21y1x7akea5A4nKq4f9ntjJd5NWGzwbbqfvR9rEO3PaczzQGMkof4K
yBzBICjCf6jwJEOo7K6mcT47WNDRORRoG5wfo+FrCX2HyAT+/EmdovH0UJwPXHh9
/XPCu4MBll8OB2lTpliYyg+Qqxh8LFV+hGJdDwIDAQABoBcwFQYJKoZIhvcNAQkC
MQgTBkdlblJQQzANBgkqhkiG9w0BAQUFAAOCAQEAtZuXPszqJdw70LYpVhUxRKJe
WPaVj9wt4h30fkhDUwuXbm7Ed1dyKIaB3bTwSox0INn4aFiy2rGSDbywhYxU2KOb
gRsMlHKcDn1HhaifvQRr2fKHM+P7C4e9sOXp3moB9i6JcI+C2vCEjfLeOE3tMUPo
k9NXd3BXlc8EpPfDUFg7gcco7n5lffxCfxJvNsMA7Or6xxt5WyyJm73v9wPj4OLT
Vmmo3lo//AcctLaFPS3wsGFacUkOAt5+5K2P8u3GW4S9IFes9j4CIlBrwHEIuzUl
g6mut8/ic6TiYMhqQfpdslGKdpEgTZuQqs7tHFDPRYOvRsXXxAFJShKAHwlqTA==
-----END CERTIFICATE REQUEST-----
27 changes: 27 additions & 0 deletions priv/ssl/gen_rpc_master@127.0.0.1.key.pem
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
-----BEGIN RSA PRIVATE KEY-----
MIIEpAIBAAKCAQEA0NXWbckRc8HY0v+XbrPtrHBYE5gpzbqbPMHbldz2LpRyeZ1T
lWGBYzZisrxA6dy3FXwrayz5JAKSQED/7Z05JX3kU6Ph07S2EE5KEzahyJKipgja
ifq0yLNhK3lDhEFci1YAzofHpojpelKlFW99yeDtN2r1nGb6dH1iKV2YZHLC6UZH
LRd21Aj+WJ21y1x7akea5A4nKq4f9ntjJd5NWGzwbbqfvR9rEO3PaczzQGMkof4K
yBzBICjCf6jwJEOo7K6mcT47WNDRORRoG5wfo+FrCX2HyAT+/EmdovH0UJwPXHh9
/XPCu4MBll8OB2lTpliYyg+Qqxh8LFV+hGJdDwIDAQABAoIBAQCL3oztnvu3Yh/M
wi80kAIhumTjSsjE57TNbrGZoBKqg/ZgCcVPiazVPDnCqF95wsBE/ZM/BzIesjIu
ItrG1MTPnY/tjRfVaXV/WlA2qiKVadDSD5//RhELU0lDisZzsCtBj2qe6UYI/i4S
JYQ35SKEscdvlI3IIRiiKNA0EGHe899+1+50gBJLfRJGsc7U90Nc2Lu45qjyIWPg
+eSqFyrPEEKU20TszmcuUvU0hzFuxXPMpcCEdgM62+6E+GUlL8fFLL/M+FxnO5bH
sIMWHL20Hkk2wUgjZZokk5iJ2M3ipjtUhyGCgUwIex7JMQTsHHzuiOtqOQwESQGU
RnMw4CzRAoGBAPm5yix2FnTyhrx+xyqDSd/WFvt+jJIhJ8T57yIaOH4xsqm1+jk4
xeh8PgZ6jQlft2M1TgsXxvtbkAK4zevWWzGrJjuFA+5rUic/18UFgdMNhaO9BSz8
AxgFB77e/vEtQpSvY5B2RIVfD1um4uuA7FpXmDhC0mkBFGpxtFytDn9tAoGBANYV
C3b3cnCLUuOjbzwTR107TmAYeMm+iy84JJgV+ML45Eg0TjrePWwQbCg2gWvj06sE
PB4A5f5nz41qgKzD1JWCDsNmPLIDq0HTZsa3twMnjs2CgjqxPS8HIlimkgAew8QT
fjkFyTIhKo0flCDE4oTDEgRWXLG6ht0aZ/q77nTrAoGBAIi5EJihGpByzBPdcVu0
P7j+NN0CnyHOZ0Cv+h34rx9gREooaNP1Yl1z0F2psRgFwJjfcVgfb4Dk04a5+Xv6
gzlBVBBYNhvNxE/a415qMncDuzw3W+MSIvt+nYwB+SDAP+i50dAhAEjpD7aFO03m
6wBXXu7Gnv6AadYRZMcstHhNAoGAIJc5lJXdFScQqlkCIRoqPhY+O0DeepAIblrU
r1aA9WWgkyFrW2jj3uStIn4Ru9QGMD3HzSWD3fP90+CH0EVLwqr3BmY1DUCjvLSr
K8tiEBfglIauvrKmxtcGMorBJUWJtfrlt1abJ4eHC87n5Qk0FtP/lSt0lxX3XAee
Fryvc5sCgYBctWaTHptVzgJBsOhSBpbx4Wcbwq+OooiarPHKMbJqHV/V9cnP3/Bs
ik4tcQtrOJ5CIPEI/wAe5kemr6o0NTxVCjyc+iw86qEe5wj1zkVvYEmNblgAF4k+
e9zhZg7bBp5XR4TlW4kUO0uRhBgBX5ZvQGLIeC0Mx9zJ1jdGoNwQDg==
-----END RSA PRIVATE KEY-----

0 comments on commit 1b63ee0

Please sign in to comment.