Open-Transactions
0.93.0-ge03d287
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
OpenSSL_BIO.hpp
Go to the documentation of this file.
1
/*************************************************************
2
*
3
* OpenSSL_BIO.hpp
4
*
5
*/
6
7
/************************************************************
8
-----BEGIN PGP SIGNED MESSAGE-----
9
Hash: SHA1
10
11
* OPEN TRANSACTIONS
12
*
13
* Financial Cryptography and Digital Cash
14
* Library, Protocol, API, Server, CLI, GUI
15
*
16
* -- Anonymous Numbered Accounts.
17
* -- Untraceable Digital Cash.
18
* -- Triple-Signed Receipts.
19
* -- Cheques, Vouchers, Transfers, Inboxes.
20
* -- Basket Currencies, Markets, Payment Plans.
21
* -- Signed, XML, Ricardian-style Contracts.
22
* -- Scripted smart contracts.
23
*
24
* Copyright (C) 2010-2013 by "Fellow Traveler" (A pseudonym)
25
*
26
* EMAIL:
27
*
[email protected]
28
*
29
* BITCOIN: 1NtTPVVjDsUfDWybS4BwvHpG2pdS9RnYyQ
30
*
31
* KEY FINGERPRINT (PGP Key in license file):
32
* 9DD5 90EB 9292 4B48 0484 7910 0308 00ED F951 BB8E
33
*
34
* OFFICIAL PROJECT WIKI(s):
35
* https://github.com/FellowTraveler/Moneychanger
36
* https://github.com/FellowTraveler/Open-Transactions/wiki
37
*
38
* WEBSITE:
39
* http://www.OpenTransactions.org/
40
*
41
* Components and licensing:
42
* -- Moneychanger..A Java client GUI.....LICENSE:.....GPLv3
43
* -- otlib.........A class library.......LICENSE:...LAGPLv3
44
* -- otapi.........A client API..........LICENSE:...LAGPLv3
45
* -- opentxs/ot....Command-line client...LICENSE:...LAGPLv3
46
* -- otserver......Server Application....LICENSE:....AGPLv3
47
* Github.com/FellowTraveler/Open-Transactions/wiki/Components
48
*
49
* All of the above OT components were designed and written by
50
* Fellow Traveler, with the exception of Moneychanger, which
51
* was contracted out to Vicky C (
[email protected]
).
52
* The open-source community has since actively contributed.
53
*
54
* -----------------------------------------------------
55
*
56
* LICENSE:
57
* This program is free software: you can redistribute it
58
* and/or modify it under the terms of the GNU Affero
59
* General Public License as published by the Free Software
60
* Foundation, either version 3 of the License, or (at your
61
* option) any later version.
62
*
63
* ADDITIONAL PERMISSION under the GNU Affero GPL version 3
64
* section 7: (This paragraph applies only to the LAGPLv3
65
* components listed above.) If you modify this Program, or
66
* any covered work, by linking or combining it with other
67
* code, such other code is not for that reason alone subject
68
* to any of the requirements of the GNU Affero GPL version 3.
69
* (==> This means if you are only using the OT API, then you
70
* don't have to open-source your code--only your changes to
71
* Open-Transactions itself must be open source. Similar to
72
* LGPLv3, except it applies to software-as-a-service, not
73
* just to distributing binaries.)
74
*
75
* Extra WAIVER for OpenSSL, Lucre, and all other libraries
76
* used by Open Transactions: This program is released under
77
* the AGPL with the additional exemption that compiling,
78
* linking, and/or using OpenSSL is allowed. The same is true
79
* for any other open source libraries included in this
80
* project: complete waiver from the AGPL is hereby granted to
81
* compile, link, and/or use them with Open-Transactions,
82
* according to their own terms, as long as the rest of the
83
* Open-Transactions terms remain respected, with regard to
84
* the Open-Transactions code itself.
85
*
86
* Lucre License:
87
* This code is also "dual-license", meaning that Ben Lau-
88
* rie's license must also be included and respected, since
89
* the code for Lucre is also included with Open Transactions.
90
* See Open-Transactions/src/otlib/lucre/LUCRE_LICENSE.txt
91
* The Laurie requirements are light, but if there is any
92
* problem with his license, simply remove the Lucre code.
93
* Although there are no other blind token algorithms in Open
94
* Transactions (yet. credlib is coming), the other functions
95
* will continue to operate.
96
* See Lucre on Github: https://github.com/benlaurie/lucre
97
* -----------------------------------------------------
98
* You should have received a copy of the GNU Affero General
99
* Public License along with this program. If not, see:
100
* http://www.gnu.org/licenses/
101
*
102
* If you would like to use this software outside of the free
103
* software license, please contact FellowTraveler.
104
* (Unfortunately many will run anonymously and untraceably,
105
* so who could really stop them?)
106
*
107
* DISCLAIMER:
108
* This program is distributed in the hope that it will be
109
* useful, but WITHOUT ANY WARRANTY; without even the implied
110
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
111
* PURPOSE. See the GNU Affero General Public License for
112
* more details.
113
114
-----BEGIN PGP SIGNATURE-----
115
Version: GnuPG v1.4.9 (Darwin)
116
117
iQIcBAEBAgAGBQJRSsfJAAoJEAMIAO35UbuOQT8P/RJbka8etf7wbxdHQNAY+2cC
118
vDf8J3X8VI+pwMqv6wgTVy17venMZJa4I4ikXD/MRyWV1XbTG0mBXk/7AZk7Rexk
119
KTvL/U1kWiez6+8XXLye+k2JNM6v7eej8xMrqEcO0ZArh/DsLoIn1y8p8qjBI7+m
120
aE7lhstDiD0z8mwRRLKFLN2IH5rAFaZZUvj5ERJaoYUKdn4c+RcQVei2YOl4T0FU
121
LWND3YLoH8naqJXkaOKEN4UfJINCwxhe5Ke9wyfLWLUO7NamRkWD2T7CJ0xocnD1
122
sjAzlVGNgaFDRflfIF4QhBx1Ddl6wwhJfw+d08bjqblSq8aXDkmFA7HeunSFKkdn
123
oIEOEgyj+veuOMRJC5pnBJ9vV+7qRdDKQWaCKotynt4sWJDGQ9kWGWm74SsNaduN
124
TPMyr9kNmGsfR69Q2Zq/FLcLX/j8ESxU+HYUB4vaARw2xEOu2xwDDv6jt0j3Vqsg
125
x7rWv4S/Eh18FDNDkVRChiNoOIilLYLL6c38uMf1pnItBuxP3uhgY6COm59kVaRh
126
nyGTYCDYD2TK+fI9o89F1297uDCwEJ62U0Q7iTDp5QuXCoxkPfv8/kX6lS6T3y9G
127
M9mqIoLbIQ1EDntFv7/t6fUTS2+46uCrdZWbQ5RjYXdrzjij02nDmJAm2BngnZvd
128
kamH0Y/n11lCvo1oQxM+
129
=uSzz
130
-----END PGP SIGNATURE-----
131
**************************************************************/
132
133
#ifndef OPENTXS_CORE_CRYPTO_OPENSSL_BIO_HPP
134
#define OPENTXS_CORE_CRYPTO_OPENSSL_BIO_HPP
135
136
extern
"C"
{
137
#include <openssl/bio.h>
138
}
139
140
namespace
opentxs
141
{
142
143
class
OpenSSL_BIO
144
{
145
private
:
146
BIO& m_refBIO;
147
bool
bCleanup;
148
bool
bFreeOnly;
149
150
EXPORT
static
BIO* assertBioNotNull(BIO* pBIO);
151
152
public
:
153
EXPORT
OpenSSL_BIO
(BIO* pBIO);
154
155
EXPORT
~OpenSSL_BIO
();
156
157
EXPORT
operator
BIO*()
const
;
158
159
EXPORT
void
release
();
160
EXPORT
void
setFreeOnly
();
161
};
162
163
}
// namespace opentxs
164
165
#endif // OPENTXS_CORE_CRYPTO_OPENSSL_BIO_HPP
opentxs::OpenSSL_BIO::~OpenSSL_BIO
EXPORT ~OpenSSL_BIO()
Definition:
OTCrypto.cpp:5055
opentxs::OpenSSL_BIO
Definition:
OpenSSL_BIO.hpp:143
opentxs::OpenSSL_BIO::setFreeOnly
EXPORT void setFreeOnly()
Definition:
OTCrypto.cpp:5077
opentxs::OpenSSL_BIO::release
EXPORT void release()
Definition:
OTCrypto.cpp:5072
opentxs::OpenSSL_BIO::OpenSSL_BIO
EXPORT OpenSSL_BIO(BIO *pBIO)
Definition:
OTCrypto.cpp:5048
include
opentxs
core
crypto
OpenSSL_BIO.hpp
Generated on Thu Oct 2 2014 10:53:26 for Open-Transactions by
1.8.5