adium/adium
Clone
Summary
Browse
Changes
Graph
We're releasing, silly.
adium-1.5.7
1.5.7
2013-07-02, Thijs Alkemade
c72b164f75a7
We're releasing, silly.
/*
* Adium is the legal property of its developers, whose names are listed in the copyright file included
* with this source distribution.
*
* This program is free software; you can redistribute it and/or modify it under the terms of the GNU
* General Public License as published by the Free Software Foundation; either version 2 of the License,
* or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
* the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
* Public License for more details.
*
* You should have received a copy of the GNU General Public License along with this program; if not,
* write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
#import "adiumPurpleCertificateTrustWarning.h"
#import "AIPurpleCertificateTrustWarningAlert.h"
#import <Adium/AIAccount.h>
#import <Adium/AIAccountControllerProtocol.h>
#import "ESPurpleJabberAccount.h"
void
adium_query_cert_chain
(
PurpleSslConnection
*
gsc
,
const
char
*
hostname
,
CFArrayRef
certs
,
void
(
*
query_cert_cb
)(
gboolean
trusted
,
void
*
userdata
),
void
*
userdata
)
{
NSAutoreleasePool
*
pool
=
[[
NSAutoreleasePool
alloc
]
init
];
// only the jabber service supports this right now
for
(
ESPurpleJabberAccount
*
account
in
[
adium
.
accountController
accountsCompatibleWithService
:
[
adium
.
accountController
firstServiceWithServiceID
:
@"Jabber"
]])
{
if
([
account
secureConnection
]
==
gsc
)
{
if
([
account
shouldVerifyCertificates
])
[
AIPurpleCertificateTrustWarningAlert
displayTrustWarningAlertWithAccount
:
account
hostname
:[
NSString
stringWithUTF8String
:
hostname
]
certificates
:
certs
resultCallback
:
query_cert_cb
userData
:
userdata
];
else
query_cert_cb
(
true
,
userdata
);
[
pool
release
];
return
;
}
}
// default fallback
query_cert_cb
(
true
,
userdata
);
[
pool
release
];
}