Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
libvirt
提交
16251193
L
libvirt
项目概览
openeuler
/
libvirt
通知
3
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
L
libvirt
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
16251193
编写于
5月 03, 2013
作者:
M
Michal Privoznik
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Adapt to VIR_STRDUP and VIR_STRNDUP in src/rpc/*
上级
d2846c25
变更
10
隐藏空白更改
内联
并排
Showing
10 changed file
with
94 addition
and
114 deletion
+94
-114
src/rpc/gendispatch.pl
src/rpc/gendispatch.pl
+7
-14
src/rpc/virnetclient.c
src/rpc/virnetclient.c
+7
-9
src/rpc/virnetmessage.c
src/rpc/virnetmessage.c
+17
-10
src/rpc/virnetsaslcontext.c
src/rpc/virnetsaslcontext.c
+2
-4
src/rpc/virnetserver.c
src/rpc/virnetserver.c
+2
-4
src/rpc/virnetserverclient.c
src/rpc/virnetserverclient.c
+2
-8
src/rpc/virnetservermdns.c
src/rpc/virnetservermdns.c
+2
-4
src/rpc/virnetsocket.c
src/rpc/virnetsocket.c
+4
-6
src/rpc/virnetsshsession.c
src/rpc/virnetsshsession.c
+40
-40
src/rpc/virnettlscontext.c
src/rpc/virnettlscontext.c
+11
-15
未找到文件。
src/rpc/gendispatch.pl
浏览文件 @
16251193
...
...
@@ -626,12 +626,10 @@ elsif ($mode eq "server") {
# SPECIAL: virConnectGetType returns a constant string that must
# not be freed. Therefore, duplicate the string here.
push
(
@vars_list
,
"
const char *$1
");
push
(
@ret_list
,
"
/* We have to
strdup
because remoteDispatchClientRequest will
");
push
(
@ret_list
,
"
/* We have to
VIR_STRDUP
because remoteDispatchClientRequest will
");
push
(
@ret_list
,
"
* free this string after it's been serialised. */
");
push
(
@ret_list
,
"
if (!(ret->type = strdup(type))) {
");
push
(
@ret_list
,
"
virReportOOMError();
");
push
(
@ret_list
,
"
if (VIR_STRDUP(ret->type, type) < 0)
");
push
(
@ret_list
,
"
goto cleanup;
");
push
(
@ret_list
,
"
}
");
}
else
{
push
(
@vars_list
,
"
char *$1
");
push
(
@ret_list
,
"
ret->$1 = $1;
");
...
...
@@ -652,11 +650,8 @@ elsif ($mode eq "server") {
"
goto cleanup;
\n
"
.
"
}
\n
"
.
"
\n
"
.
"
*$1_p = strdup($1);
\n
"
.
"
if (*$1_p == NULL) {
\n
"
.
"
virReportOOMError();
\n
"
.
"
goto cleanup;
\n
"
.
"
}
\n
");
"
if (VIR_STRDUP(*$1_p, $1) < 0)
\n
"
.
"
goto cleanup;
\n
");
$single_ret_var
=
$
1
;
$single_ret_by_ref
=
0
;
...
...
@@ -1578,16 +1573,14 @@ elsif ($mode eq "client") {
print
"
\n
";
print
"
/* This call is caller-frees (although that isn't clear from
\n
";
print
"
* the documentation). However xdr_free will free up both the
\n
";
print
"
* names and the list of pointers, so we have to
strdup
the
\n
";
print
"
* names and the list of pointers, so we have to
VIR_STRDUP
the
\n
";
print
"
* names here. */
\n
";
print
"
for (i = 0; i < ret.
$single_ret_list_name
.
${single_ret_list_name}
_len; ++i) {
\n
";
print
"
${single_ret_list_name}
[i] = strdup(ret.
$single_ret_list_name
.
${single_ret_list_name}
_val[i]);
\n
";
print
"
\n
";
print
"
if (
${single_ret_list_name}
[i] == NULL) {
\n
";
print
"
if (VIR_STRDUP(
${single_ret_list_name}
[i],
\n
";
print
"
ret.
$single_ret_list_name
.
${single_ret_list_name}
_val[i]) < 0) {
\n
";
print
"
for (--i; i >= 0; --i)
\n
";
print
"
VIR_FREE(
${single_ret_list_name}
[i]);
\n
";
print
"
\n
";
print
"
virReportOOMError();
\n
";
print
"
goto cleanup;
\n
";
print
"
}
\n
";
print
"
}
\n
";
...
...
src/rpc/virnetclient.c
浏览文件 @
16251193
...
...
@@ -36,6 +36,7 @@
#include "virlog.h"
#include "virutil.h"
#include "virerror.h"
#include "virstring.h"
#define VIR_FROM_THIS VIR_FROM_RPC
...
...
@@ -317,17 +318,14 @@ static virNetClientPtr virNetClientNew(virNetSocketPtr sock,
client
->
wakeupSendFD
=
wakeupFD
[
1
];
wakeupFD
[
0
]
=
wakeupFD
[
1
]
=
-
1
;
if
(
hostname
&&
!
(
client
->
hostname
=
strdup
(
hostname
)))
goto
no_memory
;
if
(
VIR_STRDUP
(
client
->
hostname
,
hostname
)
<
0
)
goto
error
;
PROBE
(
RPC_CLIENT_NEW
,
"client=%p sock=%p"
,
client
,
client
->
sock
);
return
client
;
no_memory:
virReportOOMError
();
error:
VIR_FORCE_CLOSE
(
wakeupFD
[
0
]);
VIR_FORCE_CLOSE
(
wakeupFD
[
1
]);
...
...
@@ -414,8 +412,8 @@ virNetClientPtr virNetClientNewLibSSH2(const char *host,
goto
no_memory
;
}
}
else
{
if
(
!
(
knownhosts
=
strdup
(
knownHostsPath
))
)
goto
no_memory
;
if
(
VIR_STRDUP
(
knownhosts
,
knownHostsPath
)
<
0
)
goto
cleanup
;
}
}
...
...
@@ -438,8 +436,8 @@ virNetClientPtr virNetClientNewLibSSH2(const char *host,
VIR_FREE
(
privkey
);
}
}
else
{
if
(
!
(
privkey
=
strdup
(
privkeyPath
))
)
goto
no_memory
;
if
(
VIR_STRDUP
(
privkey
,
privkeyPath
)
<
0
)
goto
cleanup
;
}
}
...
...
src/rpc/virnetmessage.c
浏览文件 @
16251193
...
...
@@ -29,6 +29,7 @@
#include "virlog.h"
#include "virfile.h"
#include "virutil.h"
#include "virstring.h"
#define VIR_FROM_THIS VIR_FROM_RPC
...
...
@@ -514,22 +515,28 @@ void virNetMessageSaveError(virNetMessageErrorPtr rerr)
if
(
verr
)
{
rerr
->
code
=
verr
->
code
;
rerr
->
domain
=
verr
->
domain
;
if
(
verr
->
message
&&
VIR_ALLOC
(
rerr
->
message
)
==
0
)
*
rerr
->
message
=
strdup
(
verr
->
message
);
if
(
verr
->
message
&&
VIR_ALLOC
(
rerr
->
message
)
==
0
&&
VIR_STRDUP_QUIET
(
*
rerr
->
message
,
verr
->
message
)
<
0
)
VIR_FREE
(
rerr
->
message
);
rerr
->
level
=
verr
->
level
;
if
(
verr
->
str1
&&
VIR_ALLOC
(
rerr
->
str1
)
==
0
)
*
rerr
->
str1
=
strdup
(
verr
->
str1
);
if
(
verr
->
str2
&&
VIR_ALLOC
(
rerr
->
str2
)
==
0
)
*
rerr
->
str2
=
strdup
(
verr
->
str2
);
if
(
verr
->
str3
&&
VIR_ALLOC
(
rerr
->
str3
)
==
0
)
*
rerr
->
str3
=
strdup
(
verr
->
str3
);
if
(
verr
->
str1
&&
VIR_ALLOC
(
rerr
->
str1
)
==
0
&&
VIR_STRDUP_QUIET
(
*
rerr
->
str1
,
verr
->
str1
)
<
0
)
VIR_FREE
(
verr
->
str1
);
if
(
verr
->
str2
&&
VIR_ALLOC
(
rerr
->
str2
)
==
0
&&
VIR_STRDUP_QUIET
(
*
rerr
->
str2
,
verr
->
str2
)
<
0
)
VIR_FREE
(
verr
->
str2
);
if
(
verr
->
str3
&&
VIR_ALLOC
(
rerr
->
str3
)
==
0
&&
VIR_STRDUP_QUIET
(
*
rerr
->
str3
,
verr
->
str3
)
<
0
)
VIR_FREE
(
verr
->
str2
);
rerr
->
int1
=
verr
->
int1
;
rerr
->
int2
=
verr
->
int2
;
}
else
{
rerr
->
code
=
VIR_ERR_INTERNAL_ERROR
;
rerr
->
domain
=
VIR_FROM_RPC
;
if
(
VIR_ALLOC
(
rerr
->
message
)
==
0
)
*
rerr
->
message
=
strdup
(
_
(
"Library function returned error but did not set virError"
));
if
(
VIR_ALLOC
(
rerr
->
message
)
==
0
&&
VIR_STRDUP_QUIET
(
*
rerr
->
message
,
_
(
"Library function returned error but did not set virError"
))
<
0
)
VIR_FREE
(
rerr
->
message
);
rerr
->
level
=
VIR_ERR_ERROR
;
}
}
...
...
src/rpc/virnetsaslcontext.c
浏览文件 @
16251193
...
...
@@ -29,6 +29,7 @@
#include "viralloc.h"
#include "virthread.h"
#include "virlog.h"
#include "virstring.h"
#define VIR_FROM_THIS VIR_FROM_RPC
...
...
@@ -385,10 +386,7 @@ char *virNetSASLSessionListMechanisms(virNetSASLSessionPtr sasl)
err
,
sasl_errdetail
(
sasl
->
conn
));
goto
cleanup
;
}
if
(
!
(
ret
=
strdup
(
mechlist
)))
{
virReportOOMError
();
goto
cleanup
;
}
ignore_value
(
VIR_STRDUP
(
ret
,
mechlist
));
cleanup:
virObjectUnlock
(
sasl
);
...
...
src/rpc/virnetserver.c
浏览文件 @
16251193
...
...
@@ -37,6 +37,7 @@
#include "virfile.h"
#include "virnetservermdns.h"
#include "virdbus.h"
#include "virstring.h"
#ifndef SA_SIGINFO
# define SA_SIGINFO 0
...
...
@@ -387,11 +388,8 @@ virNetServerPtr virNetServerNew(size_t min_workers,
srv
->
privileged
=
geteuid
()
==
0
;
srv
->
autoShutdownInhibitFd
=
-
1
;
if
(
mdnsGroupName
&&
!
(
srv
->
mdnsGroupName
=
strdup
(
mdnsGroupName
)))
{
virReportOOMError
();
if
(
VIR_STRDUP
(
srv
->
mdnsGroupName
,
mdnsGroupName
)
<
0
)
goto
error
;
}
if
(
srv
->
mdnsGroupName
)
{
if
(
!
(
srv
->
mdns
=
virNetServerMDNSNew
()))
goto
error
;
...
...
src/rpc/virnetserverclient.c
浏览文件 @
16251193
...
...
@@ -693,22 +693,16 @@ virNetServerClientCreateIdentity(virNetServerClientPtr client)
#if WITH_SASL
if
(
client
->
sasl
)
{
const
char
*
identity
=
virNetSASLSessionGetIdentity
(
client
->
sasl
);
if
(
identity
&&
!
(
saslname
=
strdup
(
identity
)))
{
virReportOOMError
();
if
(
VIR_STRDUP
(
saslname
,
identity
)
<
0
)
goto
cleanup
;
}
}
#endif
#if WITH_GNUTLS
if
(
client
->
tls
)
{
const
char
*
identity
=
virNetTLSSessionGetX509DName
(
client
->
tls
);
if
(
identity
&&
!
(
x509dname
=
strdup
(
identity
)))
{
virReportOOMError
();
if
(
VIR_STRDUP
(
x509dname
,
identity
)
<
0
)
goto
cleanup
;
}
}
#endif
...
...
src/rpc/virnetservermdns.c
浏览文件 @
16251193
...
...
@@ -479,9 +479,8 @@ virNetServerMDNSGroupPtr virNetServerMDNSAddGroup(virNetServerMDNS *mdns,
return
NULL
;
}
if
(
!
(
group
->
name
=
strdup
(
name
))
)
{
if
(
VIR_STRDUP
(
group
->
name
,
name
)
<
0
)
{
VIR_FREE
(
group
);
virReportOOMError
();
return
NULL
;
}
group
->
mdns
=
mdns
;
...
...
@@ -525,9 +524,8 @@ virNetServerMDNSEntryPtr virNetServerMDNSAddEntry(virNetServerMDNSGroupPtr group
}
entry
->
port
=
port
;
if
(
!
(
entry
->
type
=
strdup
(
type
))
)
{
if
(
VIR_STRDUP
(
entry
->
type
,
type
)
<
0
)
{
VIR_FREE
(
entry
);
virReportOOMError
();
return
NULL
;
}
entry
->
next
=
group
->
entry
;
...
...
src/rpc/virnetsocket.c
浏览文件 @
16251193
...
...
@@ -800,10 +800,10 @@ virNetSocketNewConnectLibSSH2(const char *host,
if
(
virNetSSHSessionSetChannelCommand
(
sess
,
command
)
!=
0
)
goto
error
;
if
(
!
(
authMethodNext
=
authMethodsCopy
=
strdup
(
authMethods
)))
{
virReportOOMError
();
if
(
VIR_STRDUP
(
authMethodsCopy
,
authMethods
)
<
0
)
goto
error
;
}
authMethodNext
=
authMethodsCopy
;
while
((
authMethod
=
strsep
(
&
authMethodNext
,
","
)))
{
if
(
STRCASEEQ
(
authMethod
,
"keyboard-interactive"
))
...
...
@@ -1191,10 +1191,8 @@ int virNetSocketGetSELinuxContext(virNetSocketPtr sock,
goto
cleanup
;
}
if
(
!
(
*
context
=
strdup
(
seccon
)))
{
virReportOOMError
();
if
(
VIR_STRDUP
(
*
context
,
seccon
)
<
0
)
goto
cleanup
;
}
ret
=
0
;
cleanup:
...
...
src/rpc/virnetsshsession.c
浏览文件 @
16251193
...
...
@@ -234,10 +234,12 @@ virNetSSHKbIntCb(const char *name ATTRIBUTE_UNUSED,
/* fill data structures for auth callback */
for
(
i
=
0
;
i
<
num_prompts
;
i
++
)
{
if
(
!
(
askcred
[
i
].
prompt
=
strdup
(
prompts
[
i
].
text
)))
{
char
*
prompt
;
if
(
VIR_STRDUP
(
prompt
,
prompts
[
i
].
text
)
<
0
)
{
priv
->
authCbErr
=
VIR_NET_SSH_AUTHCB_OOM
;
goto
cleanup
;
}
askcred
[
i
].
prompt
=
prompt
;
/* remove colon and trailing spaces from prompts, as default behavior
* of libvirt's auth callback is to add them */
...
...
@@ -739,7 +741,7 @@ virNetSSHAuthenticateKeyboardInteractive(virNetSSHSessionPtr sess,
"authentication credentials"
));
return
-
1
;
case
VIR_NET_SSH_AUTHCB_OOM
:
virReportOOMError
();
/* OOM error already reported */
return
-
1
;
case
VIR_NET_SSH_AUTHCB_RETR_ERR
:
virReportError
(
VIR_ERR_SSH
,
"%s"
,
...
...
@@ -960,12 +962,14 @@ virNetSSHSessionAuthAddPasswordAuth(virNetSSHSessionPtr sess,
virObjectLock
(
sess
);
if
(
!
(
user
=
strdup
(
username
))
||
!
(
pass
=
strdup
(
password
))
)
goto
no_memory
;
if
(
VIR_STRDUP
(
user
,
username
)
<
0
||
VIR_STRDUP
(
pass
,
password
)
<
0
)
goto
error
;
if
(
!
(
auth
=
virNetSSHSessionAuthMethodNew
(
sess
)))
goto
no_memory
;
if
(
!
(
auth
=
virNetSSHSessionAuthMethodNew
(
sess
)))
{
virReportOOMError
();
goto
error
;
}
auth
->
username
=
user
;
auth
->
password
=
pass
;
...
...
@@ -974,10 +978,9 @@ virNetSSHSessionAuthAddPasswordAuth(virNetSSHSessionPtr sess,
virObjectUnlock
(
sess
);
return
0
;
no_memory
:
error
:
VIR_FREE
(
user
);
VIR_FREE
(
pass
);
virReportOOMError
();
virObjectUnlock
(
sess
);
return
-
1
;
}
...
...
@@ -998,11 +1001,13 @@ virNetSSHSessionAuthAddAgentAuth(virNetSSHSessionPtr sess,
virObjectLock
(
sess
);
if
(
!
(
user
=
strdup
(
username
))
)
goto
no_memory
;
if
(
VIR_STRDUP
(
user
,
username
)
<
0
)
goto
error
;
if
(
!
(
auth
=
virNetSSHSessionAuthMethodNew
(
sess
)))
goto
no_memory
;
if
(
!
(
auth
=
virNetSSHSessionAuthMethodNew
(
sess
)))
{
virReportOOMError
();
goto
error
;
}
auth
->
username
=
user
;
auth
->
method
=
VIR_NET_SSH_AUTH_AGENT
;
...
...
@@ -1010,9 +1015,8 @@ virNetSSHSessionAuthAddAgentAuth(virNetSSHSessionPtr sess,
virObjectUnlock
(
sess
);
return
0
;
no_memory
:
error
:
VIR_FREE
(
user
);
virReportOOMError
();
virObjectUnlock
(
sess
);
return
-
1
;
}
...
...
@@ -1038,15 +1042,15 @@ virNetSSHSessionAuthAddPrivKeyAuth(virNetSSHSessionPtr sess,
virObjectLock
(
sess
);
if
(
!
(
user
=
strdup
(
username
))
||
!
(
file
=
strdup
(
keyfile
)))
goto
no_memory
;
if
(
password
&&
!
(
pass
=
strdup
(
password
)))
goto
no_memory
;
if
(
VIR_STRDUP
(
user
,
username
)
<
0
||
VIR_STRDUP
(
file
,
keyfile
)
<
0
||
VIR_STRDUP
(
pass
,
password
)
<
0
)
goto
error
;
if
(
!
(
auth
=
virNetSSHSessionAuthMethodNew
(
sess
)))
goto
no_memory
;
if
(
!
(
auth
=
virNetSSHSessionAuthMethodNew
(
sess
)))
{
virReportOOMError
();
goto
error
;
}
auth
->
username
=
user
;
auth
->
password
=
pass
;
...
...
@@ -1056,11 +1060,10 @@ virNetSSHSessionAuthAddPrivKeyAuth(virNetSSHSessionPtr sess,
virObjectUnlock
(
sess
);
return
0
;
no_memory
:
error
:
VIR_FREE
(
user
);
VIR_FREE
(
pass
);
VIR_FREE
(
file
);
virReportOOMError
();
virObjectUnlock
(
sess
);
return
-
1
;
}
...
...
@@ -1082,11 +1085,13 @@ virNetSSHSessionAuthAddKeyboardAuth(virNetSSHSessionPtr sess,
virObjectLock
(
sess
);
if
(
!
(
user
=
strdup
(
username
))
)
goto
no_memory
;
if
(
VIR_STRDUP
(
user
,
username
)
<
0
)
goto
error
;
if
(
!
(
auth
=
virNetSSHSessionAuthMethodNew
(
sess
)))
goto
no_memory
;
if
(
!
(
auth
=
virNetSSHSessionAuthMethodNew
(
sess
)))
{
virReportOOMError
();
goto
error
;
}
auth
->
username
=
user
;
auth
->
tries
=
tries
;
...
...
@@ -1095,9 +1100,8 @@ virNetSSHSessionAuthAddKeyboardAuth(virNetSSHSessionPtr sess,
virObjectUnlock
(
sess
);
return
0
;
no_memory
:
error
:
VIR_FREE
(
user
);
virReportOOMError
();
virObjectUnlock
(
sess
);
return
-
1
;
...
...
@@ -1112,10 +1116,8 @@ virNetSSHSessionSetChannelCommand(virNetSSHSessionPtr sess,
VIR_FREE
(
sess
->
channelCommand
);
if
(
command
&&
!
(
sess
->
channelCommand
=
strdup
(
command
)))
{
virReportOOMError
();
if
(
VIR_STRDUP
(
sess
->
channelCommand
,
command
)
<
0
)
ret
=
-
1
;
}
virObjectUnlock
(
sess
);
return
ret
;
...
...
@@ -1138,8 +1140,8 @@ virNetSSHSessionSetHostKeyVerification(virNetSSHSessionPtr sess,
VIR_FREE
(
sess
->
hostname
);
if
(
hostname
&&
!
(
sess
->
hostname
=
strdup
(
hostname
))
)
goto
no_memory
;
if
(
VIR_STRDUP
(
sess
->
hostname
,
hostname
)
<
0
)
goto
error
;
/* load the known hosts file */
if
(
hostsfile
)
{
...
...
@@ -1163,16 +1165,14 @@ virNetSSHSessionSetHostKeyVerification(virNetSSHSessionPtr sess,
/* set filename only if writing to the known hosts file is requested */
if
(
!
(
flags
&
VIR_NET_SSH_HOSTKEY_FILE_READONLY
))
{
VIR_FREE
(
sess
->
knownHostsFile
);
if
(
!
(
sess
->
knownHostsFile
=
strdup
(
hostsfile
))
)
goto
no_memory
;
if
(
VIR_STRDUP
(
sess
->
knownHostsFile
,
hostsfile
)
<
0
)
goto
error
;
}
}
virObjectUnlock
(
sess
);
return
0
;
no_memory:
virReportOOMError
();
error:
virObjectUnlock
(
sess
);
return
-
1
;
...
...
src/rpc/virnettlscontext.c
浏览文件 @
16251193
...
...
@@ -837,23 +837,23 @@ static int virNetTLSContextLocateCredentials(const char *pkipath,
*/
if
(
!*
cacert
)
{
VIR_DEBUG
(
"Using default TLS CA certificate path"
);
if
(
!
(
*
cacert
=
strdup
(
LIBVIRT_CACERT
))
)
goto
out_of_memory
;
if
(
VIR_STRDUP
(
*
cacert
,
LIBVIRT_CACERT
)
<
0
)
goto
error
;
}
if
(
!*
cacrl
)
{
VIR_DEBUG
(
"Using default TLS CA revocation list path"
);
if
(
!
(
*
cacrl
=
strdup
(
LIBVIRT_CACRL
))
)
goto
out_of_memory
;
if
(
VIR_STRDUP
(
*
cacrl
,
LIBVIRT_CACRL
)
<
0
)
goto
error
;
}
if
(
!*
key
&&
!*
cert
)
{
VIR_DEBUG
(
"Using default TLS key/certificate path"
);
if
(
!
(
*
key
=
strdup
(
isServer
?
LIBVIRT_SERVERKEY
:
LIBVIRT_CLIENTKEY
))
)
goto
out_of_memory
;
if
(
VIR_STRDUP
(
*
key
,
isServer
?
LIBVIRT_SERVERKEY
:
LIBVIRT_CLIENTKEY
)
<
0
)
goto
error
;
if
(
!
(
*
cert
=
strdup
(
isServer
?
LIBVIRT_SERVERCERT
:
LIBVIRT_CLIENTCERT
))
)
goto
out_of_memory
;
if
(
VIR_STRDUP
(
*
cert
,
isServer
?
LIBVIRT_SERVERCERT
:
LIBVIRT_CLIENTCERT
)
<
0
)
goto
error
;
}
VIR_FREE
(
user_pki_path
);
...
...
@@ -863,6 +863,7 @@ static int virNetTLSContextLocateCredentials(const char *pkipath,
out_of_memory:
virReportOOMError
();
error:
VIR_FREE
(
*
cacert
);
VIR_FREE
(
*
cacrl
);
VIR_FREE
(
*
key
);
...
...
@@ -1029,10 +1030,8 @@ static int virNetTLSContextValidCertificate(virNetTLSContextPtr ctxt,
"[session]"
,
gnutls_strerror
(
ret
));
goto
authfail
;
}
if
(
!
(
sess
->
x509dname
=
strdup
(
dname
)))
{
virReportOOMError
();
if
(
VIR_STRDUP
(
sess
->
x509dname
,
dname
)
<
0
)
goto
authfail
;
}
VIR_DEBUG
(
"Peer DN is %s"
,
dname
);
if
(
virNetTLSContextCheckCertDN
(
cert
,
"[session]"
,
sess
->
hostname
,
dname
,
...
...
@@ -1169,11 +1168,8 @@ virNetTLSSessionPtr virNetTLSSessionNew(virNetTLSContextPtr ctxt,
if
(
!
(
sess
=
virObjectLockableNew
(
virNetTLSSessionClass
)))
return
NULL
;
if
(
hostname
&&
!
(
sess
->
hostname
=
strdup
(
hostname
)))
{
virReportOOMError
();
if
(
VIR_STRDUP
(
sess
->
hostname
,
hostname
)
<
0
)
goto
error
;
}
if
((
err
=
gnutls_init
(
&
sess
->
session
,
ctxt
->
isServer
?
GNUTLS_SERVER
:
GNUTLS_CLIENT
))
!=
0
)
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录