quickfix_ruby_ud 2.0.7-aarch64-linux
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/ext/quickfix/Acceptor.cpp +257 -0
- data/ext/quickfix/Acceptor.h +127 -0
- data/ext/quickfix/Allocator.h +9 -0
- data/ext/quickfix/Application.h +137 -0
- data/ext/quickfix/DOMDocument.h +70 -0
- data/ext/quickfix/DataDictionary.cpp +679 -0
- data/ext/quickfix/DataDictionary.h +607 -0
- data/ext/quickfix/DataDictionaryProvider.cpp +66 -0
- data/ext/quickfix/DataDictionaryProvider.h +67 -0
- data/ext/quickfix/DatabaseConnectionID.h +98 -0
- data/ext/quickfix/DatabaseConnectionPool.h +84 -0
- data/ext/quickfix/Dictionary.cpp +157 -0
- data/ext/quickfix/Dictionary.h +89 -0
- data/ext/quickfix/Event.h +89 -0
- data/ext/quickfix/Except.h +39 -0
- data/ext/quickfix/Exceptions.h +257 -0
- data/ext/quickfix/Field.h +654 -0
- data/ext/quickfix/FieldConvertors.cpp +86 -0
- data/ext/quickfix/FieldConvertors.h +800 -0
- data/ext/quickfix/FieldMap.cpp +254 -0
- data/ext/quickfix/FieldMap.h +327 -0
- data/ext/quickfix/FieldNumbers.h +44 -0
- data/ext/quickfix/FieldTypes.cpp +62 -0
- data/ext/quickfix/FieldTypes.h +817 -0
- data/ext/quickfix/Fields.h +30 -0
- data/ext/quickfix/FileLog.cpp +176 -0
- data/ext/quickfix/FileLog.h +110 -0
- data/ext/quickfix/FileStore.cpp +369 -0
- data/ext/quickfix/FileStore.h +131 -0
- data/ext/quickfix/FixCommonFields.h +13 -0
- data/ext/quickfix/FixFieldNumbers.h +6132 -0
- data/ext/quickfix/FixFields.h +6133 -0
- data/ext/quickfix/FixValues.h +5790 -0
- data/ext/quickfix/Group.cpp +44 -0
- data/ext/quickfix/Group.h +78 -0
- data/ext/quickfix/HostDetailsProvider.cpp +79 -0
- data/ext/quickfix/HostDetailsProvider.h +44 -0
- data/ext/quickfix/HtmlBuilder.h +178 -0
- data/ext/quickfix/HttpConnection.cpp +914 -0
- data/ext/quickfix/HttpConnection.h +74 -0
- data/ext/quickfix/HttpMessage.cpp +229 -0
- data/ext/quickfix/HttpMessage.h +112 -0
- data/ext/quickfix/HttpParser.cpp +49 -0
- data/ext/quickfix/HttpParser.h +49 -0
- data/ext/quickfix/HttpServer.cpp +152 -0
- data/ext/quickfix/HttpServer.h +76 -0
- data/ext/quickfix/Initiator.cpp +310 -0
- data/ext/quickfix/Initiator.h +151 -0
- data/ext/quickfix/Log.cpp +71 -0
- data/ext/quickfix/Log.h +254 -0
- data/ext/quickfix/Message.cpp +617 -0
- data/ext/quickfix/Message.h +419 -0
- data/ext/quickfix/MessageCracker.h +171 -0
- data/ext/quickfix/MessageSorters.cpp +101 -0
- data/ext/quickfix/MessageSorters.h +185 -0
- data/ext/quickfix/MessageStore.cpp +182 -0
- data/ext/quickfix/MessageStore.h +164 -0
- data/ext/quickfix/Mutex.h +120 -0
- data/ext/quickfix/MySQLConnection.h +187 -0
- data/ext/quickfix/MySQLLog.cpp +262 -0
- data/ext/quickfix/MySQLLog.h +158 -0
- data/ext/quickfix/MySQLStore.cpp +323 -0
- data/ext/quickfix/MySQLStore.h +161 -0
- data/ext/quickfix/MySQLStubs.h +203 -0
- data/ext/quickfix/NullStore.cpp +40 -0
- data/ext/quickfix/NullStore.h +89 -0
- data/ext/quickfix/OdbcConnection.h +241 -0
- data/ext/quickfix/OdbcLog.cpp +230 -0
- data/ext/quickfix/OdbcLog.h +109 -0
- data/ext/quickfix/OdbcStore.cpp +313 -0
- data/ext/quickfix/OdbcStore.h +124 -0
- data/ext/quickfix/PUGIXML_DOMDocument.cpp +112 -0
- data/ext/quickfix/PUGIXML_DOMDocument.h +81 -0
- data/ext/quickfix/Parser.cpp +111 -0
- data/ext/quickfix/Parser.h +50 -0
- data/ext/quickfix/PostgreSQLConnection.h +163 -0
- data/ext/quickfix/PostgreSQLLog.cpp +263 -0
- data/ext/quickfix/PostgreSQLLog.h +157 -0
- data/ext/quickfix/PostgreSQLStore.cpp +327 -0
- data/ext/quickfix/PostgreSQLStore.h +160 -0
- data/ext/quickfix/PostgreSQLStubs.h +203 -0
- data/ext/quickfix/Queue.h +66 -0
- data/ext/quickfix/QuickfixRuby.cpp +131900 -0
- data/ext/quickfix/QuickfixRuby.h +56 -0
- data/ext/quickfix/Responder.h +41 -0
- data/ext/quickfix/SSLSocketAcceptor.cpp +409 -0
- data/ext/quickfix/SSLSocketAcceptor.h +186 -0
- data/ext/quickfix/SSLSocketConnection.cpp +434 -0
- data/ext/quickfix/SSLSocketConnection.h +221 -0
- data/ext/quickfix/SSLSocketInitiator.cpp +558 -0
- data/ext/quickfix/SSLSocketInitiator.h +203 -0
- data/ext/quickfix/SSLStubs.h +129 -0
- data/ext/quickfix/Session.cpp +1437 -0
- data/ext/quickfix/Session.h +343 -0
- data/ext/quickfix/SessionFactory.cpp +314 -0
- data/ext/quickfix/SessionFactory.h +84 -0
- data/ext/quickfix/SessionID.h +136 -0
- data/ext/quickfix/SessionSettings.cpp +165 -0
- data/ext/quickfix/SessionSettings.h +283 -0
- data/ext/quickfix/SessionState.h +260 -0
- data/ext/quickfix/Settings.cpp +160 -0
- data/ext/quickfix/Settings.h +56 -0
- data/ext/quickfix/SharedArray.h +274 -0
- data/ext/quickfix/SocketAcceptor.cpp +216 -0
- data/ext/quickfix/SocketAcceptor.h +77 -0
- data/ext/quickfix/SocketConnection.cpp +256 -0
- data/ext/quickfix/SocketConnection.h +102 -0
- data/ext/quickfix/SocketConnector.cpp +112 -0
- data/ext/quickfix/SocketConnector.h +76 -0
- data/ext/quickfix/SocketInitiator.cpp +241 -0
- data/ext/quickfix/SocketInitiator.h +76 -0
- data/ext/quickfix/SocketMonitor.h +26 -0
- data/ext/quickfix/SocketMonitor_UNIX.cpp +238 -0
- data/ext/quickfix/SocketMonitor_UNIX.h +101 -0
- data/ext/quickfix/SocketMonitor_WIN32.cpp +248 -0
- data/ext/quickfix/SocketMonitor_WIN32.h +99 -0
- data/ext/quickfix/SocketServer.cpp +163 -0
- data/ext/quickfix/SocketServer.h +100 -0
- data/ext/quickfix/ThreadedSSLSocketAcceptor.cpp +436 -0
- data/ext/quickfix/ThreadedSSLSocketAcceptor.h +209 -0
- data/ext/quickfix/ThreadedSSLSocketConnection.cpp +364 -0
- data/ext/quickfix/ThreadedSSLSocketConnection.h +191 -0
- data/ext/quickfix/ThreadedSSLSocketInitiator.cpp +434 -0
- data/ext/quickfix/ThreadedSSLSocketInitiator.h +193 -0
- data/ext/quickfix/ThreadedSocketAcceptor.cpp +242 -0
- data/ext/quickfix/ThreadedSocketAcceptor.h +95 -0
- data/ext/quickfix/ThreadedSocketConnection.cpp +227 -0
- data/ext/quickfix/ThreadedSocketConnection.h +89 -0
- data/ext/quickfix/ThreadedSocketInitiator.cpp +238 -0
- data/ext/quickfix/ThreadedSocketInitiator.h +78 -0
- data/ext/quickfix/TimeRange.cpp +227 -0
- data/ext/quickfix/TimeRange.h +215 -0
- data/ext/quickfix/Utility.cpp +639 -0
- data/ext/quickfix/Utility.h +255 -0
- data/ext/quickfix/UtilitySSL.cpp +1612 -0
- data/ext/quickfix/UtilitySSL.h +274 -0
- data/ext/quickfix/Values.h +63 -0
- data/ext/quickfix/config-all.h +10 -0
- data/ext/quickfix/config.h +10 -0
- data/ext/quickfix/config_unix.h +178 -0
- data/ext/quickfix/config_windows.h +0 -0
- data/ext/quickfix/dirent_windows.h +838 -0
- data/ext/quickfix/double-conversion/bignum-dtoa.cc +641 -0
- data/ext/quickfix/double-conversion/bignum-dtoa.h +84 -0
- data/ext/quickfix/double-conversion/bignum.cc +766 -0
- data/ext/quickfix/double-conversion/bignum.h +144 -0
- data/ext/quickfix/double-conversion/cached-powers.cc +176 -0
- data/ext/quickfix/double-conversion/cached-powers.h +64 -0
- data/ext/quickfix/double-conversion/diy-fp.cc +57 -0
- data/ext/quickfix/double-conversion/diy-fp.h +118 -0
- data/ext/quickfix/double-conversion/double-conversion.cc +994 -0
- data/ext/quickfix/double-conversion/double-conversion.h +543 -0
- data/ext/quickfix/double-conversion/fast-dtoa.cc +665 -0
- data/ext/quickfix/double-conversion/fast-dtoa.h +88 -0
- data/ext/quickfix/double-conversion/fixed-dtoa.cc +404 -0
- data/ext/quickfix/double-conversion/fixed-dtoa.h +56 -0
- data/ext/quickfix/double-conversion/ieee.h +402 -0
- data/ext/quickfix/double-conversion/strtod.cc +557 -0
- data/ext/quickfix/double-conversion/strtod.h +45 -0
- data/ext/quickfix/double-conversion/utils.h +374 -0
- data/ext/quickfix/extconf.rb +76 -0
- data/ext/quickfix/index.h +37 -0
- data/ext/quickfix/pugiconfig.hpp +77 -0
- data/ext/quickfix/pugixml.cpp +13237 -0
- data/ext/quickfix/pugixml.hpp +1516 -0
- data/ext/quickfix/scope_guard.hpp +215 -0
- data/ext/quickfix/stdint_msvc.h +254 -0
- data/ext/quickfix/strptime.h +7 -0
- data/lib/2.4/quickfix.so +0 -0
- data/lib/2.5/quickfix.so +0 -0
- data/lib/2.6/quickfix.so +0 -0
- data/lib/2.7/quickfix.so +0 -0
- data/lib/3.0/quickfix.so +0 -0
- data/lib/3.1/quickfix.so +0 -0
- data/lib/3.2/quickfix.so +0 -0
- data/lib/3.3/quickfix.so +0 -0
- data/lib/3.4/quickfix.so +0 -0
- data/lib/quickfix40.rb +274 -0
- data/lib/quickfix41.rb +351 -0
- data/lib/quickfix42.rb +1184 -0
- data/lib/quickfix43.rb +3504 -0
- data/lib/quickfix44.rb +14040 -0
- data/lib/quickfix50.rb +20051 -0
- data/lib/quickfix50sp1.rb +23596 -0
- data/lib/quickfix50sp2.rb +412444 -0
- data/lib/quickfix_fields.rb +79393 -0
- data/lib/quickfix_ruby.rb +82 -0
- data/lib/quickfixt11.rb +65 -0
- data/spec/FIX40.xml +862 -0
- data/spec/FIX41.xml +1282 -0
- data/spec/FIX42.xml +2743 -0
- data/spec/FIX43.xml +4230 -0
- data/spec/FIX44.xml +6600 -0
- data/spec/FIX50.xml +8142 -0
- data/spec/FIX50SP1.xml +9506 -0
- data/spec/FIX50SP2.xml +26069 -0
- data/spec/FIXT11.xml +252 -0
- data/test/DataDictionaryTestCase.rb +268 -0
- data/test/DictionaryTestCase.rb +112 -0
- data/test/FieldBaseTestCase.rb +24 -0
- data/test/MessageStoreTestCase.rb +19 -0
- data/test/MessageTestCase.rb +368 -0
- data/test/SessionSettingsTestCase.rb +41 -0
- metadata +247 -0
@@ -0,0 +1,274 @@
|
|
1
|
+
/* Licensed to the Apache Software Foundation (ASF) under one or more
|
2
|
+
* contributor license agreements. See the NOTICE file distributed with
|
3
|
+
* this work for additional information regarding copyright ownership.
|
4
|
+
* The ASF licenses this file to You under the Apache License, Version 2.0
|
5
|
+
* (the "License"); you may not use this file except in compliance with
|
6
|
+
* the License. You may obtain a copy of the License at
|
7
|
+
*
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
9
|
+
*
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
13
|
+
* See the License for the specific language governing permissions and
|
14
|
+
* limitations under the License.
|
15
|
+
*/
|
16
|
+
|
17
|
+
/* ====================================================================
|
18
|
+
* Copyright (c) 1998-2006 Ralf S. Engelschall. All rights reserved.
|
19
|
+
*
|
20
|
+
* Redistribution and use in source and binary forms, with or without
|
21
|
+
* modification, are permitted provided that the following conditions
|
22
|
+
* are met:
|
23
|
+
*
|
24
|
+
* 1. Redistributions of source code must retain the above copyright
|
25
|
+
* notice, this list of conditions and the following disclaimer.
|
26
|
+
*
|
27
|
+
* 2. Redistributions in binary form must reproduce the above copyright
|
28
|
+
* notice, this list of conditions and the following
|
29
|
+
* disclaimer in the documentation and/or other materials
|
30
|
+
* provided with the distribution.
|
31
|
+
*
|
32
|
+
* 3. All advertising materials mentioning features or use of this
|
33
|
+
* software must display the following acknowledgment:
|
34
|
+
* "This product includes software developed by
|
35
|
+
* Ralf S. Engelschall <rse@engelschall.com> for use in the
|
36
|
+
* mod_ssl project (http://www.modssl.org/)."
|
37
|
+
*
|
38
|
+
* 4. The names "mod_ssl" must not be used to endorse or promote
|
39
|
+
* products derived from this software without prior written
|
40
|
+
* permission. For written permission, please contact
|
41
|
+
* rse@engelschall.com.
|
42
|
+
*
|
43
|
+
* 5. Products derived from this software may not be called "mod_ssl"
|
44
|
+
* nor may "mod_ssl" appear in their names without prior
|
45
|
+
* written permission of Ralf S. Engelschall.
|
46
|
+
*
|
47
|
+
* 6. Redistributions of any form whatsoever must retain the following
|
48
|
+
* acknowledgment:
|
49
|
+
* "This product includes software developed by
|
50
|
+
* Ralf S. Engelschall <rse@engelschall.com> for use in the
|
51
|
+
* mod_ssl project (http://www.modssl.org/)."
|
52
|
+
*
|
53
|
+
* THIS SOFTWARE IS PROVIDED BY RALF S. ENGELSCHALL ``AS IS'' AND ANY
|
54
|
+
* EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
55
|
+
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
56
|
+
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL RALF S. ENGELSCHALL OR
|
57
|
+
* HIS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
58
|
+
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
59
|
+
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
60
|
+
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
61
|
+
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
62
|
+
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
63
|
+
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
64
|
+
* OF THE POSSIBILITY OF SUCH DAMAGE.
|
65
|
+
* ====================================================================
|
66
|
+
*/
|
67
|
+
|
68
|
+
/* ====================================================================
|
69
|
+
* Copyright (c) 1995-1999 Ben Laurie. All rights reserved.
|
70
|
+
*
|
71
|
+
* Redistribution and use in source and binary forms, with or without
|
72
|
+
* modification, are permitted provided that the following conditions
|
73
|
+
* are met:
|
74
|
+
*
|
75
|
+
* 1. Redistributions of source code must retain the above copyright
|
76
|
+
* notice, this list of conditions and the following disclaimer.
|
77
|
+
*
|
78
|
+
* 2. Redistributions in binary form must reproduce the above copyright
|
79
|
+
* notice, this list of conditions and the following disclaimer in
|
80
|
+
* the documentation and/or other materials provided with the
|
81
|
+
* distribution.
|
82
|
+
*
|
83
|
+
* 3. All advertising materials mentioning features or use of this
|
84
|
+
* software must display the following acknowledgment:
|
85
|
+
* "This product includes software developed by Ben Laurie
|
86
|
+
* for use in the Apache-SSL HTTP server project."
|
87
|
+
*
|
88
|
+
* 4. The name "Apache-SSL Server" must not be used to
|
89
|
+
* endorse or promote products derived from this software without
|
90
|
+
* prior written permission.
|
91
|
+
*
|
92
|
+
* 5. Redistributions of any form whatsoever must retain the following
|
93
|
+
* acknowledgment:
|
94
|
+
* "This product includes software developed by Ben Laurie
|
95
|
+
* for use in the Apache-SSL HTTP server project."
|
96
|
+
*
|
97
|
+
* THIS SOFTWARE IS PROVIDED BY BEN LAURIE ``AS IS'' AND ANY
|
98
|
+
* EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
99
|
+
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
100
|
+
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BEN LAURIE OR
|
101
|
+
* HIS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
102
|
+
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
103
|
+
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
104
|
+
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
105
|
+
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
106
|
+
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
107
|
+
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
108
|
+
* OF THE POSSIBILITY OF SUCH DAMAGE.
|
109
|
+
* ====================================================================
|
110
|
+
*/
|
111
|
+
|
112
|
+
#ifndef FIX_UTILITY_SSL_H
|
113
|
+
#define FIX_UTILITY_SSL_H
|
114
|
+
|
115
|
+
#if (HAVE_SSL > 0)
|
116
|
+
|
117
|
+
#include "Log.h"
|
118
|
+
#include "SessionSettings.h"
|
119
|
+
#include "Utility.h"
|
120
|
+
|
121
|
+
#ifndef _MSC_VER
|
122
|
+
#include <dirent.h>
|
123
|
+
#else
|
124
|
+
#ifndef HAVE_ACE_DIRENT
|
125
|
+
#include "dirent_windows.h"
|
126
|
+
#else
|
127
|
+
#include "ace/OS_NS_dirent.h"
|
128
|
+
#endif
|
129
|
+
#endif
|
130
|
+
|
131
|
+
#include "openssl/err.h"
|
132
|
+
#include "openssl/ssl.h" // SSL and SSL_CTX for SSL connections
|
133
|
+
|
134
|
+
namespace FIX {
|
135
|
+
|
136
|
+
#if defined(_MSC_VER)
|
137
|
+
|
138
|
+
static const char *WSAErrString(int code)
|
139
|
+
/********************************************************************************
|
140
|
+
* Translate WSA error code to message string (abreviated)
|
141
|
+
* Returns: pointer to static string.
|
142
|
+
*/
|
143
|
+
{
|
144
|
+
#define expand(x) \
|
145
|
+
{ x, #x }
|
146
|
+
static struct {
|
147
|
+
int code;
|
148
|
+
const char *s;
|
149
|
+
} tab[] = {expand(WSAEINTR), expand(WSAEBADF), expand(WSAEACCES), expand(WSAEFAULT),
|
150
|
+
expand(WSAEINVAL), expand(WSAEMFILE), expand(WSAEWOULDBLOCK), expand(WSAEINPROGRESS),
|
151
|
+
expand(WSAEALREADY), expand(WSAENOTSOCK), expand(WSAEDESTADDRREQ), expand(WSAEMSGSIZE),
|
152
|
+
expand(WSAEPROTOTYPE), expand(WSAENOPROTOOPT), expand(WSAEPROTONOSUPPORT), expand(WSAESOCKTNOSUPPORT),
|
153
|
+
expand(WSAEOPNOTSUPP), expand(WSAEPFNOSUPPORT), expand(WSAEAFNOSUPPORT), expand(WSAEADDRINUSE),
|
154
|
+
expand(WSAEADDRNOTAVAIL), expand(WSAENETDOWN), expand(WSAENETUNREACH), expand(WSAENETRESET),
|
155
|
+
expand(WSAECONNABORTED), expand(WSAECONNRESET), expand(WSAENOBUFS), expand(WSAEISCONN),
|
156
|
+
expand(WSAENOTCONN), expand(WSAESHUTDOWN), expand(WSAETOOMANYREFS), expand(WSAETIMEDOUT),
|
157
|
+
expand(WSAECONNREFUSED), expand(WSAELOOP), expand(WSAENAMETOOLONG), expand(WSAEHOSTDOWN),
|
158
|
+
expand(WSAEHOSTUNREACH), expand(WSAENOTEMPTY), expand(WSAEPROCLIM), expand(WSAEUSERS),
|
159
|
+
expand(WSAEDQUOT), expand(WSAESTALE), expand(WSAEREMOTE), {-1, ""}};
|
160
|
+
int i;
|
161
|
+
|
162
|
+
for (i = 0; tab[i].code > 0; i++) {
|
163
|
+
if (code == tab[i].code) {
|
164
|
+
return tab[i].s;
|
165
|
+
}
|
166
|
+
}
|
167
|
+
|
168
|
+
return "Unknown error code";
|
169
|
+
}
|
170
|
+
|
171
|
+
#undef expand
|
172
|
+
#define SLASH "\\"
|
173
|
+
#define SUFFIX "*"
|
174
|
+
|
175
|
+
#else
|
176
|
+
|
177
|
+
#define SLASH "/"
|
178
|
+
|
179
|
+
#endif
|
180
|
+
|
181
|
+
// Callback functions
|
182
|
+
extern "C" {
|
183
|
+
typedef int (*passPhraseHandleCallbackType)(char *, int, int, void *);
|
184
|
+
|
185
|
+
int caListX509NameCmp(const X509_NAME *const *a, const X509_NAME *const *b);
|
186
|
+
STACK_OF(X509_NAME) * findCAList(const char *cpCAfile, const char *cpCApath);
|
187
|
+
int lookupX509Store(X509_STORE *pStore, int nType, X509_NAME *pName, X509_OBJECT *pObj);
|
188
|
+
int callbackVerify(int ok, X509_STORE_CTX *ctx);
|
189
|
+
int callbackVerifyCRL(int ok, X509_STORE_CTX *ctx, X509_STORE *revStore);
|
190
|
+
X509_STORE *createX509Store(const char *cpFile, const char *cpPath);
|
191
|
+
X509 *readX509(FILE *fp, X509 **x509, passPhraseHandleCallbackType cb, void *passwordCallbackParam);
|
192
|
+
EVP_PKEY *readPrivateKey(FILE *fp, EVP_PKEY **key, passPhraseHandleCallbackType cb, void *passwordCallbackParam);
|
193
|
+
}
|
194
|
+
|
195
|
+
int setSocketNonBlocking(socket_handle pSocket);
|
196
|
+
|
197
|
+
// define certificate algorithm type
|
198
|
+
#define SSL_ALGO_UNKNOWN 0
|
199
|
+
#define SSL_ALGO_RSA 1
|
200
|
+
#define SSL_ALGO_DSA 2
|
201
|
+
#define SSL_ALGO_EC 8 // 8 to match SSL's own enum
|
202
|
+
#define SSL_ALGO_ALL (SSL_ALGO_RSA | SSL_ALGO_DSA | SSL_ALGO_EC)
|
203
|
+
|
204
|
+
/*
|
205
|
+
* Define the SSL Protocol options
|
206
|
+
*/
|
207
|
+
#define SSL_PROTOCOL_NONE (0)
|
208
|
+
#define SSL_PROTOCOL_SSLV2 (1 << 0)
|
209
|
+
#define SSL_PROTOCOL_SSLV3 (1 << 1)
|
210
|
+
#define SSL_PROTOCOL_TLSV1 (1 << 2)
|
211
|
+
#define SSL_PROTOCOL_TLSV1_1 (1 << 3)
|
212
|
+
#define SSL_PROTOCOL_TLSV1_2 (1 << 4)
|
213
|
+
#if (OPENSSL_VERSION_NUMBER >= 0x1010100FL)
|
214
|
+
#define SSL_PROTOCOL_TLSV1_3 (1 << 5)
|
215
|
+
#define SSL_PROTOCOL_ALL \
|
216
|
+
(SSL_PROTOCOL_SSLV2 | SSL_PROTOCOL_SSLV3 | SSL_PROTOCOL_TLSV1 | SSL_PROTOCOL_TLSV1_1 | SSL_PROTOCOL_TLSV1_2 \
|
217
|
+
| SSL_PROTOCOL_TLSV1_3)
|
218
|
+
#else
|
219
|
+
#define SSL_PROTOCOL_ALL \
|
220
|
+
(SSL_PROTOCOL_SSLV2 | SSL_PROTOCOL_SSLV3 | SSL_PROTOCOL_TLSV1 | SSL_PROTOCOL_TLSV1_1 | SSL_PROTOCOL_TLSV1_2)
|
221
|
+
#endif
|
222
|
+
|
223
|
+
typedef enum {
|
224
|
+
SSL_CLIENT_VERIFY_NONE = 0,
|
225
|
+
SSL_CLIENT_VERIFY_REQUIRE = 1,
|
226
|
+
SSL_CLIENT_VERIFY_OPTIONAL = 2,
|
227
|
+
SSL_CLIENT_VERIFY_NOTSET = 3
|
228
|
+
} SSLVerifyClient;
|
229
|
+
|
230
|
+
// Should always call ssl_init/ssl_term.
|
231
|
+
|
232
|
+
void ssl_init();
|
233
|
+
|
234
|
+
void ssl_term();
|
235
|
+
|
236
|
+
void ssl_socket_close(socket_handle socket, SSL *ssl);
|
237
|
+
|
238
|
+
const char *socket_error(char *tempbuf, int buflen);
|
239
|
+
|
240
|
+
int typeofSSLAlgo(X509 *pCert, EVP_PKEY *pKey);
|
241
|
+
|
242
|
+
long protocolOptions(const char *opt);
|
243
|
+
|
244
|
+
void setCtxOptions(SSL_CTX *ctx, long options);
|
245
|
+
|
246
|
+
int enable_DH_ECDH(SSL_CTX *ctx, const char *certFile);
|
247
|
+
|
248
|
+
SSL_CTX *createSSLContext(bool server, const SessionSettings &settings, std::string &errStr);
|
249
|
+
|
250
|
+
bool loadSSLCert(
|
251
|
+
SSL_CTX *ctx,
|
252
|
+
bool server,
|
253
|
+
const SessionSettings &settings,
|
254
|
+
Log *log,
|
255
|
+
passPhraseHandleCallbackType cb,
|
256
|
+
void *passwordCallbackParam,
|
257
|
+
std::string &errStr);
|
258
|
+
|
259
|
+
bool loadCAInfo(
|
260
|
+
SSL_CTX *ctx,
|
261
|
+
bool server,
|
262
|
+
const SessionSettings &settings,
|
263
|
+
Log *log,
|
264
|
+
std::string &errStr,
|
265
|
+
int &verifyLevel);
|
266
|
+
|
267
|
+
X509_STORE *loadCRLInfo(SSL_CTX *ctx, const SessionSettings &settings, Log *log, std::string &errStr);
|
268
|
+
|
269
|
+
int acceptSSLConnection(socket_handle socket, SSL *ssl, Log *log, int verify);
|
270
|
+
} // namespace FIX
|
271
|
+
|
272
|
+
#endif
|
273
|
+
|
274
|
+
#endif
|
@@ -0,0 +1,63 @@
|
|
1
|
+
/* -*- C++ -*- */
|
2
|
+
|
3
|
+
/****************************************************************************
|
4
|
+
** Copyright (c) 2001-2014
|
5
|
+
**
|
6
|
+
** This file is part of the QuickFIX FIX Engine
|
7
|
+
**
|
8
|
+
** This file may be distributed under the terms of the quickfixengine.org
|
9
|
+
** license as defined by quickfixengine.org and appearing in the file
|
10
|
+
** LICENSE included in the packaging of this file.
|
11
|
+
**
|
12
|
+
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
|
13
|
+
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
14
|
+
**
|
15
|
+
** See http://www.quickfixengine.org/LICENSE for licensing information.
|
16
|
+
**
|
17
|
+
** Contact ask@quickfixengine.org if any conditions of this licensing are
|
18
|
+
** not clear to you.
|
19
|
+
**
|
20
|
+
****************************************************************************/
|
21
|
+
|
22
|
+
#ifndef FIX_VALUES_BASE_H
|
23
|
+
#define FIX_VALUES_BASE_H
|
24
|
+
|
25
|
+
#include "FixValues.h"
|
26
|
+
#include <string>
|
27
|
+
|
28
|
+
namespace FIX {
|
29
|
+
const char BeginString_FIXT11[] = "FIXT.1.1";
|
30
|
+
const char BeginString_FIX50[] = "FIX.5.0";
|
31
|
+
const char BeginString_FIX44[] = "FIX.4.4";
|
32
|
+
const char BeginString_FIX43[] = "FIX.4.3";
|
33
|
+
const char BeginString_FIX42[] = "FIX.4.2";
|
34
|
+
const char BeginString_FIX41[] = "FIX.4.1";
|
35
|
+
const char BeginString_FIX40[] = "FIX.4.0";
|
36
|
+
|
37
|
+
const char SessionRejectReason_INVALID_TAG_NUMBER_TEXT[] = "Invalid tag number";
|
38
|
+
const char SessionRejectReason_REQUIRED_TAG_MISSING_TEXT[] = "Required tag missing";
|
39
|
+
const char SessionRejectReason_TAG_NOT_DEFINED_FOR_THIS_MESSAGE_TYPE_TEXT[] = "Tag not defined for this message type";
|
40
|
+
const char SessionRejectReason_UNDEFINED_TAG_TEXT[] = "Undefined Tag";
|
41
|
+
const char SessionRejectReason_TAG_SPECIFIED_WITHOUT_A_VALUE_TEXT[] = "Tag specified without a value";
|
42
|
+
const char SessionRejectReason_VALUE_IS_INCORRECT_TEXT[] = "Value is incorrect (out of range) for this tag";
|
43
|
+
const char SessionRejectReason_INCORRECT_DATA_FORMAT_FOR_VALUE_TEXT[] = "Incorrect data format for value";
|
44
|
+
const char SessionRejectReason_DECRYPTION_PROBLEM_TEXT[] = "Decryption problem";
|
45
|
+
const char SessionRejectReason_SIGNATURE_PROBLEM_TEXT[] = "Signature problem";
|
46
|
+
const char SessionRejectReason_COMPID_PROBLEM_TEXT[] = "CompID problem";
|
47
|
+
const char SessionRejectReason_SENDINGTIME_ACCURACY_PROBLEM_TEXT[] = "SendingTime accuracy problem";
|
48
|
+
const char SessionRejectReason_INVALID_MSGTYPE_TEXT[] = "Invalid MsgType";
|
49
|
+
const char SessionRejectReason_TAG_APPEARS_MORE_THAN_ONCE_TEXT[] = "Tag appears more than once";
|
50
|
+
const char SessionRejectReason_TAG_SPECIFIED_OUT_OF_REQUIRED_ORDER_TEXT[] = "Tag specified out of required order";
|
51
|
+
const char SessionRejectReason_INCORRECT_NUMINGROUP_COUNT_FOR_REPEATING_GROUP_TEXT[]
|
52
|
+
= "Incorrect NumInGroup count for repeating group";
|
53
|
+
const char BusinessRejectReason_OTHER_TEXT[] = "Other";
|
54
|
+
const char BusinessRejectReason_UNKNOWN_ID_TEXT[] = "Unknown ID";
|
55
|
+
const char BusinessRejectReason_UNKNOWN_SECURITY_TEXT[] = "Unknown Security";
|
56
|
+
const char BusinessRejectReason_UNSUPPORTED_MESSAGE_TYPE_TEXT[] = "Unsupported Message Type";
|
57
|
+
const char BusinessRejectReason_APPLICATION_NOT_AVAILABLE_TEXT[] = "Application Not Available";
|
58
|
+
const char BusinessRejectReason_CONDITIONALLY_REQUIRED_FIELD_MISSING_TEXT[] = "Conditionally Required Field Missing";
|
59
|
+
const char BusinessRejectReason_NOT_AUTHORIZED_TEXT[] = "Not Authorized";
|
60
|
+
const char BusinessRejectReason_DELIVER_TO_FIRM_NOT_AVAILABLE_AT_THIS_TIME_TEXT[]
|
61
|
+
= "Deliver to firm not available at this time";
|
62
|
+
} // namespace FIX
|
63
|
+
#endif // FIX_VALUES_BASE_H
|
@@ -0,0 +1,178 @@
|
|
1
|
+
/* src/C++/config_unix.h. Generated from config_unix.h.in by configure. */
|
2
|
+
/* src/C++/config_unix.h.in. Generated from configure.ac by autoheader. */
|
3
|
+
|
4
|
+
/* __gnu_cxx::bitmap_allocator exists */
|
5
|
+
/* #undef ENABLE_BITMAP_ALLOCATOR */
|
6
|
+
|
7
|
+
/* boost::fast_pool_allocator exists */
|
8
|
+
/* #undef ENABLE_BOOST_FAST_POOL_ALLOCATOR */
|
9
|
+
|
10
|
+
/* boost::pool_allocator exists */
|
11
|
+
/* #undef ENABLE_BOOST_POOL_ALLOCATOR */
|
12
|
+
|
13
|
+
/* __gnu_cxx::debug_allocator exists */
|
14
|
+
/* #undef ENABLE_DEBUG_ALLOCATOR */
|
15
|
+
|
16
|
+
/* __gnu_cxx::mt_allocator exists */
|
17
|
+
/* #undef ENABLE_MT_ALLOCATOR */
|
18
|
+
|
19
|
+
/* __gnu_cxx::new_allocator exists */
|
20
|
+
/* #undef ENABLE_NEW_ALLOCATOR */
|
21
|
+
|
22
|
+
/* __gnu_cxx::pool_allocator exists */
|
23
|
+
/* #undef ENABLE_POOL_ALLOCATOR */
|
24
|
+
|
25
|
+
/* tbb::scalable_allocator exists */
|
26
|
+
/* #undef ENABLE_TBB_ALLOCATOR */
|
27
|
+
|
28
|
+
/* The system has gethostbyname_r which takes a result as a pass-in param */
|
29
|
+
/* #undef GETHOSTBYNAME_R_INPUTS_RESULT */
|
30
|
+
|
31
|
+
/* custom allocator configured */
|
32
|
+
/* #undef HAVE_ALLOCATOR_CONFIG */
|
33
|
+
|
34
|
+
/* Define if you have boost framework */
|
35
|
+
/* #undef HAVE_BOOST */
|
36
|
+
|
37
|
+
/* Define if clock_gettime exists. */
|
38
|
+
#define HAVE_CLOCK_GETTIME 1
|
39
|
+
|
40
|
+
/* whether or not we have to demangle names */
|
41
|
+
/* #undef HAVE_CPLUS_DEMANGLE */
|
42
|
+
|
43
|
+
/* define if the compiler supports basic C++11 syntax */
|
44
|
+
#define HAVE_CXX11 1
|
45
|
+
|
46
|
+
/* define if the compiler supports basic C++14 syntax */
|
47
|
+
#define HAVE_CXX14 1
|
48
|
+
|
49
|
+
/* define if the compiler supports basic C++17 syntax */
|
50
|
+
#define HAVE_CXX17 1
|
51
|
+
|
52
|
+
/* Define to 1 if you have the <dlfcn.h> header file. */
|
53
|
+
#define HAVE_DLFCN_H 1
|
54
|
+
|
55
|
+
/* found ftime */
|
56
|
+
#define HAVE_FTIME 1
|
57
|
+
|
58
|
+
/* Define to 1 if you have the <inttypes.h> header file. */
|
59
|
+
#define HAVE_INTTYPES_H 1
|
60
|
+
|
61
|
+
/* Define to 1 if you have the 'compat' library (-lcompat). */
|
62
|
+
/* #undef HAVE_LIBCOMPAT */
|
63
|
+
|
64
|
+
/* Define to 1 if you have the 'c_r' library (-lc_r). */
|
65
|
+
/* #undef HAVE_LIBC_R */
|
66
|
+
|
67
|
+
/* Define to 1 if you have the 'nsl' library (-lnsl). */
|
68
|
+
/* #undef HAVE_LIBNSL */
|
69
|
+
|
70
|
+
/* Define to 1 if you have the 'pthread' library (-lpthread). */
|
71
|
+
/* #undef HAVE_LIBPTHREAD */
|
72
|
+
|
73
|
+
/* Define to 1 if you have the 'rt' library (-lrt). */
|
74
|
+
/* #undef HAVE_LIBRT */
|
75
|
+
|
76
|
+
/* Define to 1 if you have the 'socket' library (-lsocket). */
|
77
|
+
/* #undef HAVE_LIBSOCKET */
|
78
|
+
|
79
|
+
/* Define if you have sql library (-lmysqlclient) */
|
80
|
+
/* #undef HAVE_MYSQL */
|
81
|
+
|
82
|
+
/* Define if you have odbc library */
|
83
|
+
/* #undef HAVE_ODBC */
|
84
|
+
|
85
|
+
/* Define to 1 if you have the <openssl/ssl.h> header file. */
|
86
|
+
/* #undef HAVE_OPENSSL_SSL_H */
|
87
|
+
|
88
|
+
/* Define to 1 if PostgreSQL libraries are available */
|
89
|
+
#define HAVE_POSTGRESQL 1
|
90
|
+
|
91
|
+
/* Define if you have python3 */
|
92
|
+
/* #undef HAVE_PYTHON3 */
|
93
|
+
|
94
|
+
/* Define if you have ruby */
|
95
|
+
#define HAVE_RUBY 1
|
96
|
+
|
97
|
+
/* Define if you have SSL */
|
98
|
+
/* #undef HAVE_SSL */
|
99
|
+
|
100
|
+
/* Define to 1 if you have the <stdint.h> header file. */
|
101
|
+
#define HAVE_STDINT_H 1
|
102
|
+
|
103
|
+
/* Define to 1 if you have the <stdio.h> header file. */
|
104
|
+
#define HAVE_STDIO_H 1
|
105
|
+
|
106
|
+
/* Define to 1 if you have the <stdlib.h> header file. */
|
107
|
+
#define HAVE_STDLIB_H 1
|
108
|
+
|
109
|
+
/* Define to 1 if you have the <strings.h> header file. */
|
110
|
+
#define HAVE_STRINGS_H 1
|
111
|
+
|
112
|
+
/* Define to 1 if you have the <string.h> header file. */
|
113
|
+
#define HAVE_STRING_H 1
|
114
|
+
|
115
|
+
/* Define to 1 if you have the <sys/stat.h> header file. */
|
116
|
+
#define HAVE_SYS_STAT_H 1
|
117
|
+
|
118
|
+
/* Define to 1 if you have the <sys/types.h> header file. */
|
119
|
+
#define HAVE_SYS_TYPES_H 1
|
120
|
+
|
121
|
+
/* Define if you have Intel TBB framework */
|
122
|
+
/* #undef HAVE_TBB */
|
123
|
+
|
124
|
+
/* Define to 1 if you have the <unistd.h> header file. */
|
125
|
+
#define HAVE_UNISTD_H 1
|
126
|
+
|
127
|
+
/* Define to the sub-directory where libtool stores uninstalled libraries. */
|
128
|
+
#define LT_OBJDIR ".libs/"
|
129
|
+
|
130
|
+
/* Name of package */
|
131
|
+
#define PACKAGE "quickfix"
|
132
|
+
|
133
|
+
/* Define to the address where bug reports for this package should be sent. */
|
134
|
+
#define PACKAGE_BUGREPORT "ask@quickfixengine.org"
|
135
|
+
|
136
|
+
/* Define to the full name of this package. */
|
137
|
+
#define PACKAGE_NAME "QuickFIX"
|
138
|
+
|
139
|
+
/* Define to the full name and version of this package. */
|
140
|
+
#define PACKAGE_STRING "QuickFIX 1.16.0"
|
141
|
+
|
142
|
+
/* Define to the one symbol short name of this package. */
|
143
|
+
#define PACKAGE_TARNAME "quickfix"
|
144
|
+
|
145
|
+
/* Define to the home page for this package. */
|
146
|
+
#define PACKAGE_URL ""
|
147
|
+
|
148
|
+
/* Define to the version of this package. */
|
149
|
+
#define PACKAGE_VERSION "1.16.0"
|
150
|
+
|
151
|
+
/* select statement decrements timeval parameter if interupted */
|
152
|
+
/* #undef SELECT_MODIFIES_TIMEVAL */
|
153
|
+
|
154
|
+
/* Define to 1 if all of the C89 standard headers exist (not just the ones
|
155
|
+
required in a freestanding environment). This macro is provided for
|
156
|
+
backward compatibility; new code need not use it. */
|
157
|
+
#define STDC_HEADERS 1
|
158
|
+
|
159
|
+
/* For location of set_terminate */
|
160
|
+
#define TERMINATE_IN_STD 1
|
161
|
+
|
162
|
+
/* Whether or not we are using the new-style typeinfo header */
|
163
|
+
#define TYPEINFO_IN_STD 1
|
164
|
+
|
165
|
+
/* The system supports AT&T STREAMS */
|
166
|
+
/* #undef USING_STREAMS */
|
167
|
+
|
168
|
+
/* Version number of package */
|
169
|
+
#define VERSION "1.16.0"
|
170
|
+
|
171
|
+
/* enable reentrant system calls */
|
172
|
+
#define _REENTRANT 1
|
173
|
+
|
174
|
+
/* Define if clock_get_time exists. */
|
175
|
+
#define __MACH__ 1
|
176
|
+
|
177
|
+
/* socklen_t needs to be defined if the system doesn't define it */
|
178
|
+
/* #undef socklen_t */
|
File without changes
|