gloox
1.0.9
Main Page
Related Pages
Namespaces
Classes
Files
File List
src
tlsopensslclient.cpp
1
/*
2
Copyright (c) 2005-2013 by Jakob Schroeter <js@camaya.net>
3
This file is part of the gloox library. http://camaya.net/gloox
4
5
This software is distributed under a license. The full license
6
agreement can be found in the file LICENSE in this distribution.
7
This software may not be copied, modified, sold or distributed
8
other than expressed in the named license agreement.
9
10
This software is distributed without any warranty.
11
*/
12
13
14
15
#include "tlsopensslclient.h"
16
17
#ifdef HAVE_OPENSSL
18
19
namespace
gloox
20
{
21
22
OpenSSLClient::OpenSSLClient
(
TLSHandler
* th,
const
std::string& server )
23
:
OpenSSLBase
( th, server )
24
{
25
}
26
27
OpenSSLClient::~OpenSSLClient
()
28
{
29
}
30
31
bool
OpenSSLClient::setType()
32
{
33
m_ctx = SSL_CTX_new( SSLv23_client_method() );
// FIXME: use TLSv1_client_method() as soon as OpenSSL/gtalk combo is fixed!
34
if
( !m_ctx )
35
return
false
;
36
37
return
true
;
38
}
39
40
bool
OpenSSLClient::hasChannelBinding
()
const
41
{
42
return
true
;
43
}
44
45
const
std::string
OpenSSLClient::channelBinding
()
const
46
{
47
unsigned
char
* buf[128];
48
int
res = SSL_get_finished( m_ssl, buf, 128 );
49
return
std::string( (
char
*)buf, res );
50
}
51
52
int
OpenSSLClient::handshakeFunction()
53
{
54
return
SSL_connect( m_ssl );
55
}
56
57
}
58
59
#endif // HAVE_OPENSSL
Generated on Tue Oct 15 2013 19:25:21 for gloox by
1.8.1.2