Skip to content

Commit 4e35760

Browse files
committed
Move MultiSocket, RippleSSLContext to common module
1 parent 3674b01 commit 4e35760

23 files changed

+212
-167
lines changed

Builds/VisualStudio2013/RippleD.vcxproj

+15-15
Original file line numberDiff line numberDiff line change
@@ -34,12 +34,24 @@
3434
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
3535
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
3636
</ClCompile>
37+
<ClCompile Include="..\..\src\ripple\common\impl\MultiSocket.cpp">
38+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
39+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
40+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
41+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
42+
</ClCompile>
3743
<ClCompile Include="..\..\src\ripple\common\impl\ResolverAsio.cpp">
3844
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
3945
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
4046
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
4147
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
4248
</ClCompile>
49+
<ClCompile Include="..\..\src\ripple\common\impl\RippleSSLContext.cpp">
50+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
51+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
52+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
53+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
54+
</ClCompile>
4355
<ClCompile Include="..\..\src\ripple\common\impl\TaggedCache.cpp">
4456
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
4557
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
@@ -1763,12 +1775,6 @@
17631775
<ClCompile Include="..\..\src\ripple_data\ripple_data.cpp" />
17641776
<ClCompile Include="..\..\src\ripple_hyperleveldb\ripple_hyperleveldb.cpp" />
17651777
<ClCompile Include="..\..\src\ripple_leveldb\ripple_leveldb.cpp" />
1766-
<ClCompile Include="..\..\src\ripple_net\basics\RippleSSLContext.cpp">
1767-
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
1768-
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
1769-
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
1770-
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
1771-
</ClCompile>
17721778
<ClCompile Include="..\..\src\ripple_net\basics\HTTPRequest.cpp">
17731779
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
17741780
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
@@ -1781,12 +1787,6 @@
17811787
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
17821788
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
17831789
</ClCompile>
1784-
<ClCompile Include="..\..\src\ripple_net\basics\MultiSocket.cpp">
1785-
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
1786-
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
1787-
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
1788-
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
1789-
</ClCompile>
17901790
<ClCompile Include="..\..\src\ripple_net\basics\RPCDoor.cpp">
17911791
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
17921792
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
@@ -2232,9 +2232,12 @@
22322232
<ClInclude Include="..\..\src\ripple\algorithm\api\DecayingSample.h" />
22332233
<ClInclude Include="..\..\src\ripple\common\byte_view.h" />
22342234
<ClInclude Include="..\..\src\ripple\common\counted_bind.h" />
2235+
<ClInclude Include="..\..\src\ripple\common\impl\MultiSocketType.h" />
22352236
<ClInclude Include="..\..\src\ripple\common\KeyCache.h" />
2237+
<ClInclude Include="..\..\src\ripple\common\MultiSocket.h" />
22362238
<ClInclude Include="..\..\src\ripple\common\Resolver.h" />
22372239
<ClInclude Include="..\..\src\ripple\common\ResolverAsio.h" />
2240+
<ClInclude Include="..\..\src\ripple\common\RippleSSLContext.h" />
22382241
<ClInclude Include="..\..\src\ripple\common\seconds_clock.h" />
22392242
<ClInclude Include="..\..\src\ripple\common\TaggedCache.h" />
22402243
<ClInclude Include="..\..\src\ripple\http\api\Handler.h" />
@@ -2635,12 +2638,9 @@
26352638
<ClInclude Include="..\..\src\ripple_data\utility\UptimeTimerAdapter.h" />
26362639
<ClInclude Include="..\..\src\ripple_hyperleveldb\ripple_hyperleveldb.h" />
26372640
<ClInclude Include="..\..\src\ripple_leveldb\ripple_leveldb.h" />
2638-
<ClInclude Include="..\..\src\ripple_net\basics\impl\MultiSocketType.h" />
26392641
<ClInclude Include="..\..\src\ripple_net\basics\impl\RPCServerImp.h" />
2640-
<ClInclude Include="..\..\src\ripple_net\basics\RippleSSLContext.h" />
26412642
<ClInclude Include="..\..\src\ripple_net\basics\HTTPRequest.h" />
26422643
<ClInclude Include="..\..\src\ripple_net\basics\HTTPClient.h" />
2643-
<ClInclude Include="..\..\src\ripple_net\basics\MultiSocket.h" />
26442644
<ClInclude Include="..\..\src\ripple_net\basics\RPCDoor.h" />
26452645
<ClInclude Include="..\..\src\ripple_net\basics\RPCServer.h" />
26462646
<ClInclude Include="..\..\src\ripple_net\basics\SNTPClient.h" />

Builds/VisualStudio2013/RippleD.vcxproj.filters

+16-15
Original file line numberDiff line numberDiff line change
@@ -765,18 +765,12 @@
765765
<ClCompile Include="..\..\src\ripple_data\protocol\BuildInfo.cpp">
766766
<Filter>[2] Old Ripple\ripple_data\protocol</Filter>
767767
</ClCompile>
768-
<ClCompile Include="..\..\src\ripple_net\basics\RippleSSLContext.cpp">
769-
<Filter>[2] Old Ripple\ripple_net\basics</Filter>
770-
</ClCompile>
771768
<ClCompile Include="..\..\src\ripple_net\basics\HTTPRequest.cpp">
772769
<Filter>[2] Old Ripple\ripple_net\basics</Filter>
773770
</ClCompile>
774771
<ClCompile Include="..\..\src\ripple_net\basics\HTTPClient.cpp">
775772
<Filter>[2] Old Ripple\ripple_net\basics</Filter>
776773
</ClCompile>
777-
<ClCompile Include="..\..\src\ripple_net\basics\MultiSocket.cpp">
778-
<Filter>[2] Old Ripple\ripple_net\basics</Filter>
779-
</ClCompile>
780774
<ClCompile Include="..\..\src\ripple_net\basics\SNTPClient.cpp">
781775
<Filter>[2] Old Ripple\ripple_net\basics</Filter>
782776
</ClCompile>
@@ -1494,6 +1488,12 @@
14941488
<ClCompile Include="..\..\src\ripple_app\transactors\WalletAddTransactor.cpp">
14951489
<Filter>[2] Old Ripple\ripple_app\transactors</Filter>
14961490
</ClCompile>
1491+
<ClCompile Include="..\..\src\ripple\common\impl\MultiSocket.cpp">
1492+
<Filter>[1] Ripple\common\impl</Filter>
1493+
</ClCompile>
1494+
<ClCompile Include="..\..\src\ripple\common\impl\RippleSSLContext.cpp">
1495+
<Filter>[1] Ripple\common\impl</Filter>
1496+
</ClCompile>
14971497
</ItemGroup>
14981498
<ItemGroup>
14991499
<ClInclude Include="..\..\src\ripple_basics\containers\RangeSet.h">
@@ -1997,27 +1997,18 @@
19971997
<ClInclude Include="..\..\src\ripple_data\protocol\BuildInfo.h">
19981998
<Filter>[2] Old Ripple\ripple_data\protocol</Filter>
19991999
</ClInclude>
2000-
<ClInclude Include="..\..\src\ripple_net\basics\RippleSSLContext.h">
2001-
<Filter>[2] Old Ripple\ripple_net\basics</Filter>
2002-
</ClInclude>
20032000
<ClInclude Include="..\..\src\ripple_net\basics\HTTPRequest.h">
20042001
<Filter>[2] Old Ripple\ripple_net\basics</Filter>
20052002
</ClInclude>
20062003
<ClInclude Include="..\..\src\ripple_net\basics\HTTPClient.h">
20072004
<Filter>[2] Old Ripple\ripple_net\basics</Filter>
20082005
</ClInclude>
2009-
<ClInclude Include="..\..\src\ripple_net\basics\MultiSocket.h">
2010-
<Filter>[2] Old Ripple\ripple_net\basics</Filter>
2011-
</ClInclude>
20122006
<ClInclude Include="..\..\src\ripple_net\basics\RPCServer.h">
20132007
<Filter>[2] Old Ripple\ripple_net\basics</Filter>
20142008
</ClInclude>
20152009
<ClInclude Include="..\..\src\ripple_net\basics\SNTPClient.h">
20162010
<Filter>[2] Old Ripple\ripple_net\basics</Filter>
20172011
</ClInclude>
2018-
<ClInclude Include="..\..\src\ripple_net\basics\impl\MultiSocketType.h">
2019-
<Filter>[2] Old Ripple\ripple_net\basics\impl</Filter>
2020-
</ClInclude>
20212012
<ClInclude Include="..\..\src\ripple_net\basics\RPCDoor.h">
20222013
<Filter>[2] Old Ripple\ripple_net\basics</Filter>
20232014
</ClInclude>
@@ -3048,6 +3039,16 @@
30483039
<ClInclude Include="..\..\src\ripple_app\transactors\WalletAddTransactor.h">
30493040
<Filter>[2] Old Ripple\ripple_app\transactors</Filter>
30503041
</ClInclude>
3042+
<ClInclude Include="..\..\src\BeastConfig\BeastConfig.h" />
3043+
<ClInclude Include="..\..\src\ripple\common\impl\MultiSocketType.h">
3044+
<Filter>[1] Ripple\common\impl</Filter>
3045+
</ClInclude>
3046+
<ClInclude Include="..\..\src\ripple\common\MultiSocket.h">
3047+
<Filter>[1] Ripple\common</Filter>
3048+
</ClInclude>
3049+
<ClInclude Include="..\..\src\ripple\common\RippleSSLContext.h">
3050+
<Filter>[1] Ripple\common</Filter>
3051+
</ClInclude>
30513052
<ClInclude Include="..\..\src\ripple\common\byte_view.h">
30523053
<Filter>[1] Ripple\common</Filter>
30533054
</ClInclude>

doc/todo/VFALCO_TODO.txt

-3
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,6 @@ David Features:
2222

2323
- std::priority_queue for DeadlineTimer
2424

25-
- Change ProxyInfo to use IP::Endpoint, get rid of IPv4Address from the parsing
26-
code
27-
2825
- Validators should delay the application of newly downloaded lists from
2926
sources, to mitigate the effects of attacks. Unless there's no validators
3027
in the list.

src/ripple_net/basics/MultiSocket.h renamed to src/ripple/common/MultiSocket.h

+13-8
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,15 @@
1717
*/
1818
//==============================================================================
1919

20-
#ifndef RIPPLE_NET_BASICS_MULTISOCKET_H_INCLUDED
21-
#define RIPPLE_NET_BASICS_MULTISOCKET_H_INCLUDED
20+
#ifndef RIPPLE_COMMON_MULTISOCKET_H_INCLUDED
21+
#define RIPPLE_COMMON_MULTISOCKET_H_INCLUDED
2222

23-
/** A Socket that can handshake with multiple protocols.
24-
*/
25-
class MultiSocket : public Socket
23+
#include "../beast/modules/beast_asio/beast_asio.h"
24+
25+
namespace ripple {
26+
27+
/** A Socket that can handshake with multiple protocols. */
28+
class MultiSocket : public beast::Socket
2629
{
2730
public:
2831
// immutable flags
@@ -98,13 +101,13 @@ class MultiSocket : public Socket
98101
server_proxy = 8
99102
};
100103

101-
typedef HandshakeDetectLogicPROXY::ProxyInfo ProxyInfo;
104+
typedef beast::HandshakeDetectLogicPROXY::ProxyInfo ProxyInfo;
102105

103106
// Note that this returns the original flags
104107
virtual Flag getFlags () = 0;
105108

106-
virtual IP::Endpoint local_endpoint() = 0;
107-
virtual IP::Endpoint remote_endpoint() = 0;
109+
virtual beast::IP::Endpoint local_endpoint() = 0;
110+
virtual beast::IP::Endpoint remote_endpoint() = 0;
108111
virtual ProxyInfo getProxyInfo () = 0;
109112

110113
/** Returns a pointer to the SSL handle or nullptr if no SSL. */
@@ -123,4 +126,6 @@ class MultiSocket : public Socket
123126
int flags = 0);
124127
};
125128

129+
}
130+
126131
#endif

src/ripple_net/basics/RippleSSLContext.h renamed to src/ripple/common/RippleSSLContext.h

+12-4
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,14 @@
1717
*/
1818
//==============================================================================
1919

20-
#ifndef RIPPLE_NET_BASICS_RIPPLESSLCONTEXT_H_INCLUDED
21-
#define RIPPLE_NET_BASICS_RIPPLESSLCONTEXT_H_INCLUDED
20+
#ifndef RIPPLE_COMMON_SSLCONTEXT_H_INCLUDED
21+
#define RIPPLE_COMMON_SSLCONTEXT_H_INCLUDED
22+
23+
#include "../beast/modules/beast_asio/beast_asio.h"
24+
25+
#include <string>
26+
27+
namespace ripple {
2228

2329
/** The SSL contexts used by Ripple.
2430
@@ -27,7 +33,7 @@
2733
sslv23, Transport Layer Security / General. This is primarily used for peer to peer servers that don't care
2834
about certificates or identity verification.
2935
*/
30-
class RippleSSLContext : public SSLContext
36+
class RippleSSLContext : public beast::SSLContext
3137
{
3238
public:
3339
/** Retrieve raw DH parameters.
@@ -52,7 +58,7 @@ class RippleSSLContext : public SSLContext
5258
No certificates are required. Peers use this context.
5359
If the cipher list is invalid, a fatal error is raised.
5460
*/
55-
static RippleSSLContext* createAnonymous (String const& cipherList);
61+
static RippleSSLContext* createAnonymous (std::string const& cipherList);
5662

5763
/** Create a context with authentication requirements.
5864
This is used for WebSocket connections.
@@ -66,4 +72,6 @@ class RippleSSLContext : public SSLContext
6672
explicit RippleSSLContext (ContextType& context);
6773
};
6874

75+
}
76+
6977
#endif

src/ripple_net/basics/MultiSocket.cpp renamed to src/ripple/common/impl/MultiSocket.cpp

+19-12
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,12 @@
1717
*/
1818
//==============================================================================
1919

20+
#include "MultiSocketType.h"
21+
22+
#include "../RippleSSLContext.h"
23+
24+
namespace ripple {
25+
2026
MultiSocket* MultiSocket::New (
2127
boost::asio::ip::tcp::socket& socket,
2228
boost::asio::ssl::context& ssl_context,
@@ -39,10 +45,10 @@ MultiSocket* MultiSocket::New (
3945

4046
//------------------------------------------------------------------------------
4147

42-
class MultiSocketTests : public UnitTest
48+
class MultiSocketTests : public beast::UnitTest
4349
{
4450
public:
45-
class MultiSocketDetails : public TestPeerDetails
51+
class MultiSocketDetails : public beast::TestPeerDetails
4652
{
4753
public:
4854
typedef int arg_type;
@@ -52,9 +58,9 @@ class MultiSocketTests : public UnitTest
5258
{
5359
}
5460

55-
static String getArgName (arg_type arg)
61+
static beast::String getArgName (arg_type arg)
5662
{
57-
String s;
63+
beast::String s;
5864

5965
if (arg & MultiSocket::Flag::client_role)
6066
s << "client,";
@@ -71,7 +77,7 @@ class MultiSocketTests : public UnitTest
7177
if (arg & MultiSocket::Flag::proxy)
7278
s << "proxy,";
7379

74-
if (s != String::empty)
80+
if (s != beast::String::empty)
7581
{
7682
s = "(" + s.substring (0, s.length () - 1) + ")";
7783
}
@@ -92,15 +98,15 @@ class MultiSocketTests : public UnitTest
9298
boost::asio::ssl::verify_none);
9399
}
94100

95-
ScopedPointer <RippleSSLContext> context;
101+
std::unique_ptr <RippleSSLContext> context;
96102
};
97103

98104
static ContextHolder holder;
99105

100106
return holder.context->get ();
101107
}
102108

103-
String name () const
109+
beast::String name () const
104110
{
105111
return getArgName (m_flags);
106112
}
@@ -139,12 +145,12 @@ class MultiSocketTests : public UnitTest
139145
{
140146
}
141147

142-
Socket& get_socket ()
148+
beast::Socket& get_socket ()
143149
{
144150
return m_multiSocket;
145151
}
146152

147-
Socket& get_acceptor ()
153+
beast::Socket& get_acceptor ()
148154
{
149155
return m_acceptor_wrapper;
150156
}
@@ -159,9 +165,9 @@ class MultiSocketTests : public UnitTest
159165
return m_acceptor;
160166
}
161167

162-
endpoint_type get_endpoint (PeerRole role)
168+
endpoint_type get_endpoint (beast::PeerRole role)
163169
{
164-
if (role == PeerRole::server)
170+
if (role == beast::PeerRole::server)
165171
return endpoint_type (boost::asio::ip::tcp::v6 (), 1052);
166172
else
167173
return endpoint_type (boost::asio::ip::address_v6 ().from_string ("::1"), 1052);
@@ -171,7 +177,7 @@ class MultiSocketTests : public UnitTest
171177
socket_type m_socket;
172178
acceptor_type m_acceptor;
173179
MultiSocketType <socket_type&> m_multiSocket;
174-
SocketWrapper <acceptor_type&> m_acceptor_wrapper;
180+
beast::SocketWrapper <acceptor_type&> m_acceptor_wrapper;
175181
};
176182

177183
//--------------------------------------------------------------------------
@@ -288,3 +294,4 @@ class MultiSocketTests : public UnitTest
288294

289295
static MultiSocketTests multiSocketTests;
290296

297+
}

0 commit comments

Comments
 (0)