mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-12-22 05:35:25 +00:00
rpc: Update format strings in translated messages
Signed-off-by: Jiri Denemark <jdenemar@redhat.com> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
This commit is contained in:
parent
732ff069ad
commit
88af62f6a0
@ -1178,7 +1178,7 @@ elsif ($mode eq "server") {
|
|||||||
if ($modern_ret_as_list) {
|
if ($modern_ret_as_list) {
|
||||||
print " if (nresults > $single_ret_list_max_define) {\n";
|
print " if (nresults > $single_ret_list_max_define) {\n";
|
||||||
print " virReportError(VIR_ERR_INTERNAL_ERROR,\n";
|
print " virReportError(VIR_ERR_INTERNAL_ERROR,\n";
|
||||||
print " _(\"Too many ${single_ret_list_error_msg_type}s '%d' for limit '%d'\"),\n";
|
print " _(\"Too many ${single_ret_list_error_msg_type}s '%1\$d' for limit '%2\$d'\"),\n";
|
||||||
print " nresults, $single_ret_list_max_define);\n";
|
print " nresults, $single_ret_list_max_define);\n";
|
||||||
print " goto cleanup;\n";
|
print " goto cleanup;\n";
|
||||||
print " }\n";
|
print " }\n";
|
||||||
@ -1845,7 +1845,7 @@ elsif ($mode eq "client") {
|
|||||||
print "\n";
|
print "\n";
|
||||||
print " if ($args_check->{arg} > $args_check->{limit}) {\n";
|
print " if ($args_check->{arg} > $args_check->{limit}) {\n";
|
||||||
print " virReportError(VIR_ERR_RPC,\n";
|
print " virReportError(VIR_ERR_RPC,\n";
|
||||||
print " _(\"%s length greater than maximum: %d > %d\"),\n";
|
print " _(\"%1\$s length greater than maximum: %2\$d > %3\$d\"),\n";
|
||||||
print " $args_check->{name}, (int)$args_check->{arg}, $args_check->{limit});\n";
|
print " $args_check->{name}, (int)$args_check->{arg}, $args_check->{limit});\n";
|
||||||
print " goto done;\n";
|
print " goto done;\n";
|
||||||
print " }\n";
|
print " }\n";
|
||||||
@ -1855,7 +1855,7 @@ elsif ($mode eq "client") {
|
|||||||
print "\n";
|
print "\n";
|
||||||
print " if ($single_ret_list_max_var > $single_ret_list_max_define) {\n";
|
print " if ($single_ret_list_max_var > $single_ret_list_max_define) {\n";
|
||||||
print " virReportError(VIR_ERR_RPC,\n";
|
print " virReportError(VIR_ERR_RPC,\n";
|
||||||
print " _(\"too many remote ${single_ret_list_error_msg_type}s: %d > %d,\"\n";
|
print " _(\"too many remote ${single_ret_list_error_msg_type}s: %1\$d > %2\$d,\"\n";
|
||||||
print " \"in parameter '$single_ret_list_name' for 'vir$call->{ProcName}'\"),\n";
|
print " \"in parameter '$single_ret_list_name' for 'vir$call->{ProcName}'\"),\n";
|
||||||
print " $single_ret_list_max_var, $single_ret_list_max_define);\n";
|
print " $single_ret_list_max_var, $single_ret_list_max_define);\n";
|
||||||
print " goto done;\n";
|
print " goto done;\n";
|
||||||
@ -1917,7 +1917,7 @@ elsif ($mode eq "client") {
|
|||||||
$modern_ret_as_list) {
|
$modern_ret_as_list) {
|
||||||
print " if (ret.$single_ret_list_name.${single_ret_list_name}_len > $single_ret_list_max_var) {\n";
|
print " if (ret.$single_ret_list_name.${single_ret_list_name}_len > $single_ret_list_max_var) {\n";
|
||||||
print " virReportError(VIR_ERR_RPC,\n";
|
print " virReportError(VIR_ERR_RPC,\n";
|
||||||
print " _(\"too many remote ${single_ret_list_error_msg_type}s: %d > %d,\"\n";
|
print " _(\"too many remote ${single_ret_list_error_msg_type}s: %1\$d > %2\$d,\"\n";
|
||||||
print " \"in parameter '$single_ret_list_name' for 'vir$call->{ProcName}'\"),\n";
|
print " \"in parameter '$single_ret_list_name' for 'vir$call->{ProcName}'\"),\n";
|
||||||
print " ret.$single_ret_list_name.${single_ret_list_name}_len, $single_ret_list_max_var);\n";
|
print " ret.$single_ret_list_name.${single_ret_list_name}_len, $single_ret_list_max_var);\n";
|
||||||
print " goto cleanup;\n";
|
print " goto cleanup;\n";
|
||||||
@ -2219,7 +2219,7 @@ elsif ($mode eq "client") {
|
|||||||
if ($action eq "Ensure") {
|
if ($action eq "Ensure") {
|
||||||
print " if (rv == 0)\n";
|
print " if (rv == 0)\n";
|
||||||
print " virReportError(VIR_ERR_ACCESS_DENIED,\n";
|
print " virReportError(VIR_ERR_ACCESS_DENIED,\n";
|
||||||
print" _(\"'%s' denied access\"), conn->driver->name);\n";
|
print" _(\"'%1\$s' denied access\"), conn->driver->name);\n";
|
||||||
print " return $fail;\n";
|
print " return $fail;\n";
|
||||||
} else {
|
} else {
|
||||||
print " virResetLastError();\n";
|
print " virResetLastError();\n";
|
||||||
|
@ -249,7 +249,7 @@ virKeepAliveStart(virKeepAlive *ka,
|
|||||||
/* Guard against overflow */
|
/* Guard against overflow */
|
||||||
if (interval > INT_MAX / 1000) {
|
if (interval > INT_MAX / 1000) {
|
||||||
virReportError(VIR_ERR_INTERNAL_ERROR,
|
virReportError(VIR_ERR_INTERNAL_ERROR,
|
||||||
_("keepalive interval %d too large"), interval);
|
_("keepalive interval %1$d too large"), interval);
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
ka->interval = interval;
|
ka->interval = interval;
|
||||||
|
@ -1138,7 +1138,7 @@ virNetClientCallDispatchReply(virNetClient *client)
|
|||||||
|
|
||||||
if (!thecall) {
|
if (!thecall) {
|
||||||
virReportError(VIR_ERR_RPC,
|
virReportError(VIR_ERR_RPC,
|
||||||
_("no call waiting for reply with prog %d vers %d serial %d"),
|
_("no call waiting for reply with prog %1$d vers %2$d serial %3$d"),
|
||||||
client->msg.header.prog, client->msg.header.vers, client->msg.header.serial);
|
client->msg.header.prog, client->msg.header.vers, client->msg.header.serial);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
@ -1327,7 +1327,7 @@ virNetClientCallDispatch(virNetClient *client)
|
|||||||
case VIR_NET_CALL_WITH_FDS:
|
case VIR_NET_CALL_WITH_FDS:
|
||||||
default:
|
default:
|
||||||
virReportError(VIR_ERR_RPC,
|
virReportError(VIR_ERR_RPC,
|
||||||
_("got unexpected RPC call prog %d vers %d proc %d type %d"),
|
_("got unexpected RPC call prog %1$d vers %2$d proc %3$d type %4$d"),
|
||||||
client->msg.header.prog, client->msg.header.vers,
|
client->msg.header.prog, client->msg.header.vers,
|
||||||
client->msg.header.proc, client->msg.header.type);
|
client->msg.header.proc, client->msg.header.type);
|
||||||
return -1;
|
return -1;
|
||||||
|
@ -216,25 +216,25 @@ int virNetClientProgramDispatch(virNetClientProgram *prog,
|
|||||||
|
|
||||||
/* Check version, etc. */
|
/* Check version, etc. */
|
||||||
if (msg->header.prog != prog->program) {
|
if (msg->header.prog != prog->program) {
|
||||||
VIR_ERROR(_("program mismatch in event (actual 0x%x, expected 0x%x)"),
|
VIR_ERROR(_("program mismatch in event (actual 0x%1$x, expected 0x%2$x)"),
|
||||||
msg->header.prog, prog->program);
|
msg->header.prog, prog->program);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (msg->header.vers != prog->version) {
|
if (msg->header.vers != prog->version) {
|
||||||
VIR_ERROR(_("version mismatch in event (actual 0x%x, expected 0x%x)"),
|
VIR_ERROR(_("version mismatch in event (actual 0x%1$x, expected 0x%2$x)"),
|
||||||
msg->header.vers, prog->version);
|
msg->header.vers, prog->version);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (msg->header.status != VIR_NET_OK) {
|
if (msg->header.status != VIR_NET_OK) {
|
||||||
VIR_ERROR(_("status mismatch in event (actual 0x%x, expected 0x%x)"),
|
VIR_ERROR(_("status mismatch in event (actual 0x%1$x, expected 0x%2$x)"),
|
||||||
msg->header.status, VIR_NET_OK);
|
msg->header.status, VIR_NET_OK);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (msg->header.type != VIR_NET_MESSAGE) {
|
if (msg->header.type != VIR_NET_MESSAGE) {
|
||||||
VIR_ERROR(_("type mismatch in event (actual 0x%x, expected 0x%x)"),
|
VIR_ERROR(_("type mismatch in event (actual 0x%1$x, expected 0x%2$x)"),
|
||||||
msg->header.type, VIR_NET_MESSAGE);
|
msg->header.type, VIR_NET_MESSAGE);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
@ -242,7 +242,7 @@ int virNetClientProgramDispatch(virNetClientProgram *prog,
|
|||||||
event = virNetClientProgramGetEvent(prog, msg->header.proc);
|
event = virNetClientProgramGetEvent(prog, msg->header.proc);
|
||||||
|
|
||||||
if (!event) {
|
if (!event) {
|
||||||
VIR_ERROR(_("No event expected with procedure 0x%x"),
|
VIR_ERROR(_("No event expected with procedure 0x%1$x"),
|
||||||
msg->header.proc);
|
msg->header.proc);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
@ -295,13 +295,13 @@ int virNetClientProgramCall(virNetClientProgram *prog,
|
|||||||
for (i = 0; i < msg->nfds; i++) {
|
for (i = 0; i < msg->nfds; i++) {
|
||||||
if ((msg->fds[i] = dup(outfds[i])) < 0) {
|
if ((msg->fds[i] = dup(outfds[i])) < 0) {
|
||||||
virReportSystemError(errno,
|
virReportSystemError(errno,
|
||||||
_("Cannot duplicate FD %d"),
|
_("Cannot duplicate FD %1$d"),
|
||||||
outfds[i]);
|
outfds[i]);
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
if (virSetInherit(msg->fds[i], false) < 0) {
|
if (virSetInherit(msg->fds[i], false) < 0) {
|
||||||
virReportSystemError(errno,
|
virReportSystemError(errno,
|
||||||
_("Cannot set close-on-exec %d"),
|
_("Cannot set close-on-exec %1$d"),
|
||||||
msg->fds[i]);
|
msg->fds[i]);
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
@ -327,18 +327,18 @@ int virNetClientProgramCall(virNetClientProgram *prog,
|
|||||||
if (msg->header.type != VIR_NET_REPLY &&
|
if (msg->header.type != VIR_NET_REPLY &&
|
||||||
msg->header.type != VIR_NET_REPLY_WITH_FDS) {
|
msg->header.type != VIR_NET_REPLY_WITH_FDS) {
|
||||||
virReportError(VIR_ERR_INTERNAL_ERROR,
|
virReportError(VIR_ERR_INTERNAL_ERROR,
|
||||||
_("Unexpected message type %d"), msg->header.type);
|
_("Unexpected message type %1$d"), msg->header.type);
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
if (msg->header.proc != proc) {
|
if (msg->header.proc != proc) {
|
||||||
virReportError(VIR_ERR_INTERNAL_ERROR,
|
virReportError(VIR_ERR_INTERNAL_ERROR,
|
||||||
_("Unexpected message proc %d != %d"),
|
_("Unexpected message proc %1$d != %2$d"),
|
||||||
msg->header.proc, proc);
|
msg->header.proc, proc);
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
if (msg->header.serial != serial) {
|
if (msg->header.serial != serial) {
|
||||||
virReportError(VIR_ERR_INTERNAL_ERROR,
|
virReportError(VIR_ERR_INTERNAL_ERROR,
|
||||||
_("Unexpected message serial %d != %d"),
|
_("Unexpected message serial %1$d != %2$d"),
|
||||||
msg->header.serial, serial);
|
msg->header.serial, serial);
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
@ -354,13 +354,13 @@ int virNetClientProgramCall(virNetClientProgram *prog,
|
|||||||
for (i = 0; i < *ninfds; i++) {
|
for (i = 0; i < *ninfds; i++) {
|
||||||
if (((*infds)[i] = dup(msg->fds[i])) < 0) {
|
if (((*infds)[i] = dup(msg->fds[i])) < 0) {
|
||||||
virReportSystemError(errno,
|
virReportSystemError(errno,
|
||||||
_("Cannot duplicate FD %d"),
|
_("Cannot duplicate FD %1$d"),
|
||||||
msg->fds[i]);
|
msg->fds[i]);
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
if (virSetInherit((*infds)[i], false) < 0) {
|
if (virSetInherit((*infds)[i], false) < 0) {
|
||||||
virReportSystemError(errno,
|
virReportSystemError(errno,
|
||||||
_("Cannot set close-on-exec %d"),
|
_("Cannot set close-on-exec %1$d"),
|
||||||
(*infds)[i]);
|
(*infds)[i]);
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
@ -378,7 +378,7 @@ int virNetClientProgramCall(virNetClientProgram *prog,
|
|||||||
case VIR_NET_CONTINUE:
|
case VIR_NET_CONTINUE:
|
||||||
default:
|
default:
|
||||||
virReportError(VIR_ERR_RPC,
|
virReportError(VIR_ERR_RPC,
|
||||||
_("Unexpected message status %d"), msg->header.status);
|
_("Unexpected message status %1$d"), msg->header.status);
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -417,7 +417,7 @@ virNetClientStreamSetHole(virNetClientStream *st,
|
|||||||
/* Shouldn't happen, But it's better to safe than sorry. */
|
/* Shouldn't happen, But it's better to safe than sorry. */
|
||||||
if (st->holeLength) {
|
if (st->holeLength) {
|
||||||
virReportError(VIR_ERR_INTERNAL_ERROR,
|
virReportError(VIR_ERR_INTERNAL_ERROR,
|
||||||
_("unprocessed hole of size %lld already in the queue"),
|
_("unprocessed hole of size %1$lld already in the queue"),
|
||||||
st->holeLength);
|
st->holeLength);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
@ -462,7 +462,7 @@ virNetClientStreamHandleHole(virNetClient *client,
|
|||||||
|
|
||||||
if (msg->header.type != VIR_NET_STREAM_HOLE) {
|
if (msg->header.type != VIR_NET_STREAM_HOLE) {
|
||||||
virReportError(VIR_ERR_INTERNAL_ERROR,
|
virReportError(VIR_ERR_INTERNAL_ERROR,
|
||||||
_("Invalid message prog=%d type=%d serial=%u proc=%d"),
|
_("Invalid message prog=%1$d type=%2$d serial=%3$u proc=%4$d"),
|
||||||
msg->header.prog,
|
msg->header.prog,
|
||||||
msg->header.type,
|
msg->header.type,
|
||||||
msg->header.serial,
|
msg->header.serial,
|
||||||
@ -851,7 +851,7 @@ int virNetClientStreamInData(virNetClientStream *st,
|
|||||||
st->holeLength = 0;
|
st->holeLength = 0;
|
||||||
} else {
|
} else {
|
||||||
virReportError(VIR_ERR_INTERNAL_ERROR,
|
virReportError(VIR_ERR_INTERNAL_ERROR,
|
||||||
_("Invalid message prog=%d type=%d serial=%u proc=%d"),
|
_("Invalid message prog=%1$d type=%2$d serial=%3$u proc=%4$d"),
|
||||||
msg->header.prog,
|
msg->header.prog,
|
||||||
msg->header.type,
|
msg->header.type,
|
||||||
msg->header.serial,
|
msg->header.serial,
|
||||||
|
@ -194,7 +194,7 @@ virNetDaemonGetServer(virNetDaemon *dmn,
|
|||||||
|
|
||||||
if (!srv) {
|
if (!srv) {
|
||||||
virReportError(VIR_ERR_NO_SERVER,
|
virReportError(VIR_ERR_NO_SERVER,
|
||||||
_("No server named '%s'"), serverName);
|
_("No server named '%1$s'"), serverName);
|
||||||
}
|
}
|
||||||
|
|
||||||
return srv;
|
return srv;
|
||||||
@ -324,7 +324,7 @@ virNetDaemonNewPostExecRestart(virJSONValue *object,
|
|||||||
size_t n = virJSONValueArraySize(servers);
|
size_t n = virJSONValueArraySize(servers);
|
||||||
if (n > nDefServerNames) {
|
if (n > nDefServerNames) {
|
||||||
virReportError(VIR_ERR_INTERNAL_ERROR,
|
virReportError(VIR_ERR_INTERNAL_ERROR,
|
||||||
_("Server count %zd greater than default name count %zu"),
|
_("Server count %1$zd greater than default name count %2$zu"),
|
||||||
n, nDefServerNames);
|
n, nDefServerNames);
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
@ -646,7 +646,7 @@ virNetDaemonSignalEvent(int watch,
|
|||||||
}
|
}
|
||||||
|
|
||||||
virReportError(VIR_ERR_INTERNAL_ERROR,
|
virReportError(VIR_ERR_INTERNAL_ERROR,
|
||||||
_("Unexpected signal received: %d"), siginfo.si_signo);
|
_("Unexpected signal received: %1$d"), siginfo.si_signo);
|
||||||
|
|
||||||
cleanup:
|
cleanup:
|
||||||
virObjectUnlock(dmn);
|
virObjectUnlock(dmn);
|
||||||
|
@ -261,10 +261,8 @@ virNetLibsshCheckHostKey(virNetLibsshSession *sess)
|
|||||||
|
|
||||||
/* host key verification failed */
|
/* host key verification failed */
|
||||||
virReportError(VIR_ERR_AUTH_FAILED,
|
virReportError(VIR_ERR_AUTH_FAILED,
|
||||||
_("!!! SSH HOST KEY VERIFICATION FAILED !!!: "
|
_("!!! SSH HOST KEY VERIFICATION FAILED !!!: Identity of host '%1$s:%2$d' differs from stored identity. "
|
||||||
"Identity of host '%s:%d' differs from stored identity. "
|
"Please verify the new host key '%3$s' to avoid possible man in the middle attack. The key is stored in '%4$s'."),
|
||||||
"Please verify the new host key '%s' to avoid possible "
|
|
||||||
"man in the middle attack. The key is stored in '%s'."),
|
|
||||||
sess->hostname, sess->port,
|
sess->hostname, sess->port,
|
||||||
keyhashstr, sess->knownHostsFile);
|
keyhashstr, sess->knownHostsFile);
|
||||||
|
|
||||||
@ -290,7 +288,7 @@ virNetLibsshCheckHostKey(virNetLibsshSession *sess)
|
|||||||
if (!keyhashstr)
|
if (!keyhashstr)
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
prompt = g_strdup_printf(_("Accept SSH host key with hash '%s' for " "host '%s:%d' (%s/%s)?"),
|
prompt = g_strdup_printf(_("Accept SSH host key with hash '%1$s' for host '%2$s:%3$d' (%4$s/%5$s)?"),
|
||||||
keyhashstr, sess->hostname, sess->port, "y", "n");
|
keyhashstr, sess->hostname, sess->port, "y", "n");
|
||||||
|
|
||||||
if (!(cred = virAuthAskCredential(sess->cred, prompt, true))) {
|
if (!(cred = virAuthAskCredential(sess->cred, prompt, true))) {
|
||||||
@ -301,7 +299,7 @@ virNetLibsshCheckHostKey(virNetLibsshSession *sess)
|
|||||||
if (!cred->result ||
|
if (!cred->result ||
|
||||||
STRCASENEQ(cred->result, "y")) {
|
STRCASENEQ(cred->result, "y")) {
|
||||||
virReportError(VIR_ERR_LIBSSH,
|
virReportError(VIR_ERR_LIBSSH,
|
||||||
_("SSH host key for '%s' (%s) was not accepted"),
|
_("SSH host key for '%1$s' (%2$s) was not accepted"),
|
||||||
sess->hostname, keyhashstr);
|
sess->hostname, keyhashstr);
|
||||||
ssh_string_free_char(keyhashstr);
|
ssh_string_free_char(keyhashstr);
|
||||||
return -1;
|
return -1;
|
||||||
@ -314,7 +312,7 @@ virNetLibsshCheckHostKey(virNetLibsshSession *sess)
|
|||||||
if (ssh_session_update_known_hosts(sess->session) < 0) {
|
if (ssh_session_update_known_hosts(sess->session) < 0) {
|
||||||
errmsg = ssh_get_error(sess->session);
|
errmsg = ssh_get_error(sess->session);
|
||||||
virReportError(VIR_ERR_LIBSSH,
|
virReportError(VIR_ERR_LIBSSH,
|
||||||
_("failed to write known_host file '%s': %s"),
|
_("failed to write known_host file '%1$s': %2$s"),
|
||||||
sess->knownHostsFile,
|
sess->knownHostsFile,
|
||||||
errmsg);
|
errmsg);
|
||||||
return -1;
|
return -1;
|
||||||
@ -326,7 +324,7 @@ virNetLibsshCheckHostKey(virNetLibsshSession *sess)
|
|||||||
case SSH_SERVER_ERROR:
|
case SSH_SERVER_ERROR:
|
||||||
errmsg = ssh_get_error(sess->session);
|
errmsg = ssh_get_error(sess->session);
|
||||||
virReportError(VIR_ERR_LIBSSH,
|
virReportError(VIR_ERR_LIBSSH,
|
||||||
_("failed to validate SSH host key: %s"),
|
_("failed to validate SSH host key: %1$s"),
|
||||||
errmsg);
|
errmsg);
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
@ -395,14 +393,13 @@ virNetLibsshImportPrivkey(virNetLibsshSession *sess,
|
|||||||
sess, &key);
|
sess, &key);
|
||||||
if (ret == SSH_EOF) {
|
if (ret == SSH_EOF) {
|
||||||
virReportError(VIR_ERR_AUTH_FAILED,
|
virReportError(VIR_ERR_AUTH_FAILED,
|
||||||
_("error while reading private key '%s'"),
|
_("error while reading private key '%1$s'"),
|
||||||
priv->filename);
|
priv->filename);
|
||||||
return SSH_AUTH_ERROR;
|
return SSH_AUTH_ERROR;
|
||||||
} else if (ret == SSH_ERROR) {
|
} else if (ret == SSH_ERROR) {
|
||||||
if (virGetLastErrorCode() == VIR_ERR_OK) {
|
if (virGetLastErrorCode() == VIR_ERR_OK) {
|
||||||
virReportError(VIR_ERR_AUTH_FAILED,
|
virReportError(VIR_ERR_AUTH_FAILED,
|
||||||
_("error while opening private key '%s', wrong "
|
_("error while opening private key '%1$s', wrong passphrase?"),
|
||||||
"passphrase?"),
|
|
||||||
priv->filename);
|
priv->filename);
|
||||||
}
|
}
|
||||||
return SSH_AUTH_ERROR;
|
return SSH_AUTH_ERROR;
|
||||||
@ -435,7 +432,7 @@ virNetLibsshAuthenticatePrivkey(virNetLibsshSession *sess,
|
|||||||
ret = ssh_pki_import_pubkey_file(tmp, &public_key);
|
ret = ssh_pki_import_pubkey_file(tmp, &public_key);
|
||||||
if (ret == SSH_ERROR) {
|
if (ret == SSH_ERROR) {
|
||||||
virReportError(VIR_ERR_AUTH_FAILED,
|
virReportError(VIR_ERR_AUTH_FAILED,
|
||||||
_("error while reading public key '%s'"),
|
_("error while reading public key '%1$s'"),
|
||||||
tmp);
|
tmp);
|
||||||
err = SSH_AUTH_ERROR;
|
err = SSH_AUTH_ERROR;
|
||||||
goto error;
|
goto error;
|
||||||
@ -449,8 +446,7 @@ virNetLibsshAuthenticatePrivkey(virNetLibsshSession *sess,
|
|||||||
ret = ssh_pki_export_privkey_to_pubkey(private_key, &public_key);
|
ret = ssh_pki_export_privkey_to_pubkey(private_key, &public_key);
|
||||||
if (ret == SSH_ERROR) {
|
if (ret == SSH_ERROR) {
|
||||||
virReportError(VIR_ERR_AUTH_FAILED,
|
virReportError(VIR_ERR_AUTH_FAILED,
|
||||||
_("cannot export the public key from the "
|
_("cannot export the public key from the private key '%1$s'"),
|
||||||
"private key '%s'"),
|
|
||||||
priv->filename);
|
priv->filename);
|
||||||
err = SSH_AUTH_ERROR;
|
err = SSH_AUTH_ERROR;
|
||||||
goto error;
|
goto error;
|
||||||
@ -535,7 +531,7 @@ virNetLibsshAuthenticatePassword(virNetLibsshSession *sess)
|
|||||||
g_autoptr(virConnectCredential) cred = NULL;
|
g_autoptr(virConnectCredential) cred = NULL;
|
||||||
g_autofree char *prompt = NULL;
|
g_autofree char *prompt = NULL;
|
||||||
|
|
||||||
prompt = g_strdup_printf(_("Enter %s's password for %s"),
|
prompt = g_strdup_printf(_("Enter %1$s's password for %2$s"),
|
||||||
sess->username, sess->hostname);
|
sess->username, sess->hostname);
|
||||||
|
|
||||||
if (!(cred = virAuthAskCredential(sess->cred, prompt, false)))
|
if (!(cred = virAuthAskCredential(sess->cred, prompt, false)))
|
||||||
@ -552,7 +548,7 @@ virNetLibsshAuthenticatePassword(virNetLibsshSession *sess)
|
|||||||
error:
|
error:
|
||||||
errmsg = ssh_get_error(sess->session);
|
errmsg = ssh_get_error(sess->session);
|
||||||
virReportError(VIR_ERR_AUTH_FAILED,
|
virReportError(VIR_ERR_AUTH_FAILED,
|
||||||
_("authentication failed: %s"), errmsg);
|
_("authentication failed: %1$s"), errmsg);
|
||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -632,7 +628,7 @@ virNetLibsshAuthenticateKeyboardInteractive(virNetLibsshSession *sess,
|
|||||||
cred->result) < 0) {
|
cred->result) < 0) {
|
||||||
errmsg = ssh_get_error(sess->session);
|
errmsg = ssh_get_error(sess->session);
|
||||||
virReportError(VIR_ERR_AUTH_FAILED,
|
virReportError(VIR_ERR_AUTH_FAILED,
|
||||||
_("authentication failed: %s"), errmsg);
|
_("authentication failed: %1$s"), errmsg);
|
||||||
return SSH_AUTH_ERROR;
|
return SSH_AUTH_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -649,7 +645,7 @@ virNetLibsshAuthenticateKeyboardInteractive(virNetLibsshSession *sess,
|
|||||||
/* error path */
|
/* error path */
|
||||||
errmsg = ssh_get_error(sess->session);
|
errmsg = ssh_get_error(sess->session);
|
||||||
virReportError(VIR_ERR_AUTH_FAILED,
|
virReportError(VIR_ERR_AUTH_FAILED,
|
||||||
_("authentication failed: %s"), errmsg);
|
_("authentication failed: %1$s"), errmsg);
|
||||||
}
|
}
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
@ -679,7 +675,7 @@ virNetLibsshAuthenticate(virNetLibsshSession *sess)
|
|||||||
if (ret == SSH_AUTH_ERROR) {
|
if (ret == SSH_AUTH_ERROR) {
|
||||||
errmsg = ssh_get_error(sess->session);
|
errmsg = ssh_get_error(sess->session);
|
||||||
virReportError(VIR_ERR_LIBSSH,
|
virReportError(VIR_ERR_LIBSSH,
|
||||||
_("Failed to authenticate as 'none': %s"),
|
_("Failed to authenticate as 'none': %1$s"),
|
||||||
errmsg);
|
errmsg);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
@ -708,7 +704,7 @@ virNetLibsshAuthenticate(virNetLibsshSession *sess)
|
|||||||
if (ret == SSH_AUTH_ERROR) {
|
if (ret == SSH_AUTH_ERROR) {
|
||||||
errmsg = ssh_get_error(sess->session);
|
errmsg = ssh_get_error(sess->session);
|
||||||
virReportError(VIR_ERR_LIBSSH,
|
virReportError(VIR_ERR_LIBSSH,
|
||||||
_("failed to authenticate using agent: %s"),
|
_("failed to authenticate using agent: %1$s"),
|
||||||
errmsg);
|
errmsg);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -736,7 +732,7 @@ virNetLibsshAuthenticate(virNetLibsshSession *sess)
|
|||||||
if (sess->nauths == 1) {
|
if (sess->nauths == 1) {
|
||||||
errmsg = ssh_get_error(sess->session);
|
errmsg = ssh_get_error(sess->session);
|
||||||
virReportError(VIR_ERR_LIBSSH,
|
virReportError(VIR_ERR_LIBSSH,
|
||||||
_("failed to authenticate: %s"),
|
_("failed to authenticate: %1$s"),
|
||||||
errmsg);
|
errmsg);
|
||||||
} else if (no_method && !auth_failed) {
|
} else if (no_method && !auth_failed) {
|
||||||
virReportError(VIR_ERR_AUTH_FAILED, "%s",
|
virReportError(VIR_ERR_AUTH_FAILED, "%s",
|
||||||
@ -761,7 +757,7 @@ virNetLibsshOpenChannel(virNetLibsshSession *sess)
|
|||||||
if (!sess->channel) {
|
if (!sess->channel) {
|
||||||
errmsg = ssh_get_error(sess->session);
|
errmsg = ssh_get_error(sess->session);
|
||||||
virReportError(VIR_ERR_LIBSSH,
|
virReportError(VIR_ERR_LIBSSH,
|
||||||
_("failed to create libssh channel: %s"),
|
_("failed to create libssh channel: %1$s"),
|
||||||
errmsg);
|
errmsg);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
@ -769,7 +765,7 @@ virNetLibsshOpenChannel(virNetLibsshSession *sess)
|
|||||||
if (ssh_channel_open_session(sess->channel) != SSH_OK) {
|
if (ssh_channel_open_session(sess->channel) != SSH_OK) {
|
||||||
errmsg = ssh_get_error(sess->session);
|
errmsg = ssh_get_error(sess->session);
|
||||||
virReportError(VIR_ERR_LIBSSH,
|
virReportError(VIR_ERR_LIBSSH,
|
||||||
_("failed to open ssh channel: %s"),
|
_("failed to open ssh channel: %1$s"),
|
||||||
errmsg);
|
errmsg);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
@ -777,7 +773,7 @@ virNetLibsshOpenChannel(virNetLibsshSession *sess)
|
|||||||
if (ssh_channel_request_exec(sess->channel, sess->channelCommand) != SSH_OK) {
|
if (ssh_channel_request_exec(sess->channel, sess->channelCommand) != SSH_OK) {
|
||||||
errmsg = ssh_get_error(sess->session);
|
errmsg = ssh_get_error(sess->session);
|
||||||
virReportError(VIR_ERR_LIBSSH,
|
virReportError(VIR_ERR_LIBSSH,
|
||||||
_("failed to execute command '%s': %s"),
|
_("failed to execute command '%1$s': %2$s"),
|
||||||
sess->channelCommand,
|
sess->channelCommand,
|
||||||
errmsg);
|
errmsg);
|
||||||
return -1;
|
return -1;
|
||||||
@ -1058,7 +1054,7 @@ virNetLibsshSessionConnect(virNetLibsshSession *sess,
|
|||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
errmsg = ssh_get_error(sess->session);
|
errmsg = ssh_get_error(sess->session);
|
||||||
virReportError(VIR_ERR_NO_CONNECT,
|
virReportError(VIR_ERR_NO_CONNECT,
|
||||||
_("SSH session handshake failed: %s"),
|
_("SSH session handshake failed: %1$s"),
|
||||||
errmsg);
|
errmsg);
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
@ -1103,8 +1099,7 @@ virNetLibsshChannelRead(virNetLibsshSession *sess,
|
|||||||
if (sess->state != VIR_NET_LIBSSH_STATE_HANDSHAKE_COMPLETE) {
|
if (sess->state != VIR_NET_LIBSSH_STATE_HANDSHAKE_COMPLETE) {
|
||||||
if (sess->state == VIR_NET_LIBSSH_STATE_ERROR_REMOTE)
|
if (sess->state == VIR_NET_LIBSSH_STATE_ERROR_REMOTE)
|
||||||
virReportError(VIR_ERR_LIBSSH,
|
virReportError(VIR_ERR_LIBSSH,
|
||||||
_("Remote program terminated "
|
_("Remote program terminated with non-zero code: %1$d"),
|
||||||
"with non-zero code: %d"),
|
|
||||||
sess->channelCommandReturnValue);
|
sess->channelCommandReturnValue);
|
||||||
else
|
else
|
||||||
virReportError(VIR_ERR_LIBSSH, "%s",
|
virReportError(VIR_ERR_LIBSSH, "%s",
|
||||||
@ -1189,7 +1184,7 @@ virNetLibsshChannelRead(virNetLibsshSession *sess,
|
|||||||
eof:
|
eof:
|
||||||
if (ssh_channel_get_exit_status(sess->channel)) {
|
if (ssh_channel_get_exit_status(sess->channel)) {
|
||||||
virReportError(VIR_ERR_LIBSSH,
|
virReportError(VIR_ERR_LIBSSH,
|
||||||
_("Remote command terminated with non-zero code: %d"),
|
_("Remote command terminated with non-zero code: %1$d"),
|
||||||
ssh_channel_get_exit_status(sess->channel));
|
ssh_channel_get_exit_status(sess->channel));
|
||||||
sess->channelCommandReturnValue = ssh_channel_get_exit_status(sess->channel);
|
sess->channelCommandReturnValue = ssh_channel_get_exit_status(sess->channel);
|
||||||
sess->state = VIR_NET_LIBSSH_STATE_ERROR_REMOTE;
|
sess->state = VIR_NET_LIBSSH_STATE_ERROR_REMOTE;
|
||||||
@ -1224,7 +1219,7 @@ virNetLibsshChannelWrite(virNetLibsshSession *sess,
|
|||||||
if (sess->state != VIR_NET_LIBSSH_STATE_HANDSHAKE_COMPLETE) {
|
if (sess->state != VIR_NET_LIBSSH_STATE_HANDSHAKE_COMPLETE) {
|
||||||
if (sess->state == VIR_NET_LIBSSH_STATE_ERROR_REMOTE)
|
if (sess->state == VIR_NET_LIBSSH_STATE_ERROR_REMOTE)
|
||||||
virReportError(VIR_ERR_LIBSSH,
|
virReportError(VIR_ERR_LIBSSH,
|
||||||
_("Remote program terminated with non-zero code: %d"),
|
_("Remote program terminated with non-zero code: %1$d"),
|
||||||
sess->channelCommandReturnValue);
|
sess->channelCommandReturnValue);
|
||||||
else
|
else
|
||||||
virReportError(VIR_ERR_LIBSSH, "%s",
|
virReportError(VIR_ERR_LIBSSH, "%s",
|
||||||
@ -1236,7 +1231,7 @@ virNetLibsshChannelWrite(virNetLibsshSession *sess,
|
|||||||
if (ssh_channel_is_eof(sess->channel)) {
|
if (ssh_channel_is_eof(sess->channel)) {
|
||||||
if (ssh_channel_get_exit_status(sess->channel)) {
|
if (ssh_channel_get_exit_status(sess->channel)) {
|
||||||
virReportError(VIR_ERR_LIBSSH,
|
virReportError(VIR_ERR_LIBSSH,
|
||||||
_("Remote program terminated with non-zero code: %d"),
|
_("Remote program terminated with non-zero code: %1$d"),
|
||||||
ssh_channel_get_exit_status(sess->channel));
|
ssh_channel_get_exit_status(sess->channel));
|
||||||
sess->state = VIR_NET_LIBSSH_STATE_ERROR_REMOTE;
|
sess->state = VIR_NET_LIBSSH_STATE_ERROR_REMOTE;
|
||||||
sess->channelCommandReturnValue = ssh_channel_get_exit_status(sess->channel);
|
sess->channelCommandReturnValue = ssh_channel_get_exit_status(sess->channel);
|
||||||
@ -1261,7 +1256,7 @@ virNetLibsshChannelWrite(virNetLibsshSession *sess,
|
|||||||
sess->state = VIR_NET_LIBSSH_STATE_ERROR;
|
sess->state = VIR_NET_LIBSSH_STATE_ERROR;
|
||||||
msg = ssh_get_error(sess->session);
|
msg = ssh_get_error(sess->session);
|
||||||
virReportError(VIR_ERR_LIBSSH,
|
virReportError(VIR_ERR_LIBSSH,
|
||||||
_("write failed: %s"), msg);
|
_("write failed: %1$s"), msg);
|
||||||
}
|
}
|
||||||
|
|
||||||
cleanup:
|
cleanup:
|
||||||
|
@ -141,7 +141,7 @@ int virNetMessageDecodeLength(virNetMessage *msg)
|
|||||||
|
|
||||||
if (len < VIR_NET_MESSAGE_LEN_MAX) {
|
if (len < VIR_NET_MESSAGE_LEN_MAX) {
|
||||||
virReportError(VIR_ERR_RPC,
|
virReportError(VIR_ERR_RPC,
|
||||||
_("packet %d bytes received from server too small, want %d"),
|
_("packet %1$d bytes received from server too small, want %2$d"),
|
||||||
len, VIR_NET_MESSAGE_LEN_MAX);
|
len, VIR_NET_MESSAGE_LEN_MAX);
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
@ -151,7 +151,7 @@ int virNetMessageDecodeLength(virNetMessage *msg)
|
|||||||
|
|
||||||
if (len > VIR_NET_MESSAGE_MAX) {
|
if (len > VIR_NET_MESSAGE_MAX) {
|
||||||
virReportError(VIR_ERR_RPC,
|
virReportError(VIR_ERR_RPC,
|
||||||
_("packet %d bytes received from server too large, want %d"),
|
_("packet %1$d bytes received from server too large, want %2$d"),
|
||||||
len, VIR_NET_MESSAGE_MAX);
|
len, VIR_NET_MESSAGE_MAX);
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
@ -287,7 +287,7 @@ int virNetMessageEncodeNumFDs(virNetMessage *msg)
|
|||||||
|
|
||||||
if (numFDs > VIR_NET_MESSAGE_NUM_FDS_MAX) {
|
if (numFDs > VIR_NET_MESSAGE_NUM_FDS_MAX) {
|
||||||
virReportError(VIR_ERR_RPC,
|
virReportError(VIR_ERR_RPC,
|
||||||
_("Too many FDs to send %d, expected %d maximum"),
|
_("Too many FDs to send %1$d, expected %2$d maximum"),
|
||||||
numFDs, VIR_NET_MESSAGE_NUM_FDS_MAX);
|
numFDs, VIR_NET_MESSAGE_NUM_FDS_MAX);
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
@ -325,7 +325,7 @@ int virNetMessageDecodeNumFDs(virNetMessage *msg)
|
|||||||
|
|
||||||
if (numFDs > VIR_NET_MESSAGE_NUM_FDS_MAX) {
|
if (numFDs > VIR_NET_MESSAGE_NUM_FDS_MAX) {
|
||||||
virReportError(VIR_ERR_RPC,
|
virReportError(VIR_ERR_RPC,
|
||||||
_("Received too many FDs %d, expected %d maximum"),
|
_("Received too many FDs %1$d, expected %2$d maximum"),
|
||||||
numFDs, VIR_NET_MESSAGE_NUM_FDS_MAX);
|
numFDs, VIR_NET_MESSAGE_NUM_FDS_MAX);
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
@ -457,8 +457,7 @@ int virNetMessageEncodePayloadRaw(virNetMessage *msg,
|
|||||||
if ((msg->bufferOffset + len) >
|
if ((msg->bufferOffset + len) >
|
||||||
(VIR_NET_MESSAGE_MAX + VIR_NET_MESSAGE_LEN_MAX)) {
|
(VIR_NET_MESSAGE_MAX + VIR_NET_MESSAGE_LEN_MAX)) {
|
||||||
virReportError(VIR_ERR_RPC,
|
virReportError(VIR_ERR_RPC,
|
||||||
_("Stream data too long to send "
|
_("Stream data too long to send (%1$zu bytes needed, %2$zu bytes available)"),
|
||||||
"(%zu bytes needed, %zu bytes available)"),
|
|
||||||
len,
|
len,
|
||||||
VIR_NET_MESSAGE_MAX +
|
VIR_NET_MESSAGE_MAX +
|
||||||
VIR_NET_MESSAGE_LEN_MAX -
|
VIR_NET_MESSAGE_LEN_MAX -
|
||||||
@ -549,20 +548,20 @@ int virNetMessageDupFD(virNetMessage *msg,
|
|||||||
|
|
||||||
if (slot >= msg->nfds) {
|
if (slot >= msg->nfds) {
|
||||||
virReportError(VIR_ERR_INTERNAL_ERROR,
|
virReportError(VIR_ERR_INTERNAL_ERROR,
|
||||||
_("No FD available at slot %zu"), slot);
|
_("No FD available at slot %1$zu"), slot);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((fd = dup(msg->fds[slot])) < 0) {
|
if ((fd = dup(msg->fds[slot])) < 0) {
|
||||||
virReportSystemError(errno,
|
virReportSystemError(errno,
|
||||||
_("Unable to duplicate FD %d"),
|
_("Unable to duplicate FD %1$d"),
|
||||||
msg->fds[slot]);
|
msg->fds[slot]);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
if (virSetInherit(fd, false) < 0) {
|
if (virSetInherit(fd, false) < 0) {
|
||||||
VIR_FORCE_CLOSE(fd);
|
VIR_FORCE_CLOSE(fd);
|
||||||
virReportSystemError(errno,
|
virReportSystemError(errno,
|
||||||
_("Cannot set close-on-exec %d"),
|
_("Cannot set close-on-exec %1$d"),
|
||||||
fd);
|
fd);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
@ -576,14 +575,14 @@ int virNetMessageAddFD(virNetMessage *msg,
|
|||||||
|
|
||||||
if ((newfd = dup(fd)) < 0) {
|
if ((newfd = dup(fd)) < 0) {
|
||||||
virReportSystemError(errno,
|
virReportSystemError(errno,
|
||||||
_("Unable to duplicate FD %d"),
|
_("Unable to duplicate FD %1$d"),
|
||||||
fd);
|
fd);
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (virSetInherit(newfd, false) < 0) {
|
if (virSetInherit(newfd, false) < 0) {
|
||||||
virReportSystemError(errno,
|
virReportSystemError(errno,
|
||||||
_("Cannot set close-on-exec %d"),
|
_("Cannot set close-on-exec %1$d"),
|
||||||
newfd);
|
newfd);
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
|
@ -78,7 +78,7 @@ static int virNetSASLContextClientOnceInit(void)
|
|||||||
int err = sasl_client_init(NULL);
|
int err = sasl_client_init(NULL);
|
||||||
if (err != SASL_OK) {
|
if (err != SASL_OK) {
|
||||||
virReportError(VIR_ERR_AUTH_FAILED,
|
virReportError(VIR_ERR_AUTH_FAILED,
|
||||||
_("failed to initialize SASL library: %d (%s)"),
|
_("failed to initialize SASL library: %1$d (%2$s)"),
|
||||||
err, sasl_errstring(err, NULL, NULL));
|
err, sasl_errstring(err, NULL, NULL));
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
@ -94,7 +94,7 @@ static int virNetSASLContextServerOnceInit(void)
|
|||||||
int err = sasl_server_init(NULL, "libvirt");
|
int err = sasl_server_init(NULL, "libvirt");
|
||||||
if (err != SASL_OK) {
|
if (err != SASL_OK) {
|
||||||
virReportError(VIR_ERR_AUTH_FAILED,
|
virReportError(VIR_ERR_AUTH_FAILED,
|
||||||
_("failed to initialize SASL library: %d (%s)"),
|
_("failed to initialize SASL library: %1$d (%2$s)"),
|
||||||
err, sasl_errstring(err, NULL, NULL));
|
err, sasl_errstring(err, NULL, NULL));
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
@ -162,7 +162,7 @@ int virNetSASLContextCheckIdentity(virNetSASLContext *ctxt,
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Denied */
|
/* Denied */
|
||||||
VIR_ERROR(_("SASL client identity '%s' not allowed by ACL"), identity);
|
VIR_ERROR(_("SASL client identity '%1$s' not allowed by ACL"), identity);
|
||||||
|
|
||||||
/* This is the most common error: make it informative. */
|
/* This is the most common error: make it informative. */
|
||||||
virReportError(VIR_ERR_SYSTEM_ERROR, "%s",
|
virReportError(VIR_ERR_SYSTEM_ERROR, "%s",
|
||||||
@ -206,7 +206,7 @@ virNetSASLSession *virNetSASLSessionNewClient(virNetSASLContext *ctxt G_GNUC_UNU
|
|||||||
&sasl->conn);
|
&sasl->conn);
|
||||||
if (err != SASL_OK) {
|
if (err != SASL_OK) {
|
||||||
virReportError(VIR_ERR_AUTH_FAILED,
|
virReportError(VIR_ERR_AUTH_FAILED,
|
||||||
_("Failed to create SASL client context: %d (%s)"),
|
_("Failed to create SASL client context: %1$d (%2$s)"),
|
||||||
err, sasl_errstring(err, NULL, NULL));
|
err, sasl_errstring(err, NULL, NULL));
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
@ -243,7 +243,7 @@ virNetSASLSession *virNetSASLSessionNewServer(virNetSASLContext *ctxt G_GNUC_UNU
|
|||||||
&sasl->conn);
|
&sasl->conn);
|
||||||
if (err != SASL_OK) {
|
if (err != SASL_OK) {
|
||||||
virReportError(VIR_ERR_AUTH_FAILED,
|
virReportError(VIR_ERR_AUTH_FAILED,
|
||||||
_("Failed to create SASL client context: %d (%s)"),
|
_("Failed to create SASL client context: %1$d (%2$s)"),
|
||||||
err, sasl_errstring(err, NULL, NULL));
|
err, sasl_errstring(err, NULL, NULL));
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
@ -265,7 +265,7 @@ int virNetSASLSessionExtKeySize(virNetSASLSession *sasl,
|
|||||||
err = sasl_setprop(sasl->conn, SASL_SSF_EXTERNAL, &ssf);
|
err = sasl_setprop(sasl->conn, SASL_SSF_EXTERNAL, &ssf);
|
||||||
if (err != SASL_OK) {
|
if (err != SASL_OK) {
|
||||||
virReportError(VIR_ERR_INTERNAL_ERROR,
|
virReportError(VIR_ERR_INTERNAL_ERROR,
|
||||||
_("cannot set external SSF %d (%s)"),
|
_("cannot set external SSF %1$d (%2$s)"),
|
||||||
err, sasl_errstring(err, NULL, NULL));
|
err, sasl_errstring(err, NULL, NULL));
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
@ -286,7 +286,7 @@ const char *virNetSASLSessionGetIdentity(virNetSASLSession *sasl)
|
|||||||
err = sasl_getprop(sasl->conn, SASL_USERNAME, &val);
|
err = sasl_getprop(sasl->conn, SASL_USERNAME, &val);
|
||||||
if (err != SASL_OK) {
|
if (err != SASL_OK) {
|
||||||
virReportError(VIR_ERR_AUTH_FAILED,
|
virReportError(VIR_ERR_AUTH_FAILED,
|
||||||
_("cannot query SASL username on connection %d (%s)"),
|
_("cannot query SASL username on connection %1$d (%2$s)"),
|
||||||
err, sasl_errstring(err, NULL, NULL));
|
err, sasl_errstring(err, NULL, NULL));
|
||||||
val = NULL;
|
val = NULL;
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
@ -314,7 +314,7 @@ int virNetSASLSessionGetKeySize(virNetSASLSession *sasl)
|
|||||||
err = sasl_getprop(sasl->conn, SASL_SSF, &val);
|
err = sasl_getprop(sasl->conn, SASL_SSF, &val);
|
||||||
if (err != SASL_OK) {
|
if (err != SASL_OK) {
|
||||||
virReportError(VIR_ERR_AUTH_FAILED,
|
virReportError(VIR_ERR_AUTH_FAILED,
|
||||||
_("cannot query SASL ssf on connection %d (%s)"),
|
_("cannot query SASL ssf on connection %1$d (%2$s)"),
|
||||||
err, sasl_errstring(err, NULL, NULL));
|
err, sasl_errstring(err, NULL, NULL));
|
||||||
ssf = -1;
|
ssf = -1;
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
@ -350,7 +350,7 @@ int virNetSASLSessionSecProps(virNetSASLSession *sasl,
|
|||||||
err = sasl_setprop(sasl->conn, SASL_SEC_PROPS, &secprops);
|
err = sasl_setprop(sasl->conn, SASL_SEC_PROPS, &secprops);
|
||||||
if (err != SASL_OK) {
|
if (err != SASL_OK) {
|
||||||
virReportError(VIR_ERR_INTERNAL_ERROR,
|
virReportError(VIR_ERR_INTERNAL_ERROR,
|
||||||
_("cannot set security props %d (%s)"),
|
_("cannot set security props %1$d (%2$s)"),
|
||||||
err, sasl_errstring(err, NULL, NULL));
|
err, sasl_errstring(err, NULL, NULL));
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
@ -374,7 +374,7 @@ static int virNetSASLSessionUpdateBufSize(virNetSASLSession *sasl)
|
|||||||
err = sasl_getprop(sasl->conn, SASL_MAXOUTBUF, &u.ptr);
|
err = sasl_getprop(sasl->conn, SASL_MAXOUTBUF, &u.ptr);
|
||||||
if (err != SASL_OK) {
|
if (err != SASL_OK) {
|
||||||
virReportError(VIR_ERR_INTERNAL_ERROR,
|
virReportError(VIR_ERR_INTERNAL_ERROR,
|
||||||
_("cannot get security props %d (%s)"),
|
_("cannot get security props %1$d (%2$s)"),
|
||||||
err, sasl_errstring(err, NULL, NULL));
|
err, sasl_errstring(err, NULL, NULL));
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
@ -402,7 +402,7 @@ char *virNetSASLSessionListMechanisms(virNetSASLSession *sasl)
|
|||||||
NULL);
|
NULL);
|
||||||
if (err != SASL_OK) {
|
if (err != SASL_OK) {
|
||||||
virReportError(VIR_ERR_INTERNAL_ERROR,
|
virReportError(VIR_ERR_INTERNAL_ERROR,
|
||||||
_("cannot list SASL mechanisms %d (%s)"),
|
_("cannot list SASL mechanisms %1$d (%2$s)"),
|
||||||
err, sasl_errdetail(sasl->conn));
|
err, sasl_errdetail(sasl->conn));
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
@ -458,7 +458,7 @@ int virNetSASLSessionClientStart(virNetSASLSession *sasl,
|
|||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
virReportError(VIR_ERR_AUTH_FAILED,
|
virReportError(VIR_ERR_AUTH_FAILED,
|
||||||
_("Failed to start SASL negotiation: %d (%s)"),
|
_("Failed to start SASL negotiation: %1$d (%2$s)"),
|
||||||
err, sasl_errdetail(sasl->conn));
|
err, sasl_errdetail(sasl->conn));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -507,7 +507,7 @@ int virNetSASLSessionClientStep(virNetSASLSession *sasl,
|
|||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
virReportError(VIR_ERR_AUTH_FAILED,
|
virReportError(VIR_ERR_AUTH_FAILED,
|
||||||
_("Failed to step SASL negotiation: %d (%s)"),
|
_("Failed to step SASL negotiation: %1$d (%2$s)"),
|
||||||
err, sasl_errdetail(sasl->conn));
|
err, sasl_errdetail(sasl->conn));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -553,7 +553,7 @@ int virNetSASLSessionServerStart(virNetSASLSession *sasl,
|
|||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
virReportError(VIR_ERR_AUTH_FAILED,
|
virReportError(VIR_ERR_AUTH_FAILED,
|
||||||
_("Failed to start SASL negotiation: %d (%s)"),
|
_("Failed to start SASL negotiation: %1$d (%2$s)"),
|
||||||
err, sasl_errdetail(sasl->conn));
|
err, sasl_errdetail(sasl->conn));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -598,7 +598,7 @@ int virNetSASLSessionServerStep(virNetSASLSession *sasl,
|
|||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
virReportError(VIR_ERR_AUTH_FAILED,
|
virReportError(VIR_ERR_AUTH_FAILED,
|
||||||
_("Failed to start SASL negotiation: %d (%s)"),
|
_("Failed to start SASL negotiation: %1$d (%2$s)"),
|
||||||
err, sasl_errdetail(sasl->conn));
|
err, sasl_errdetail(sasl->conn));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -631,7 +631,7 @@ ssize_t virNetSASLSessionEncode(virNetSASLSession *sasl,
|
|||||||
virObjectLock(sasl);
|
virObjectLock(sasl);
|
||||||
if (inputLen > sasl->maxbufsize) {
|
if (inputLen > sasl->maxbufsize) {
|
||||||
virReportSystemError(EINVAL,
|
virReportSystemError(EINVAL,
|
||||||
_("SASL data length %zu too long, max %zu"),
|
_("SASL data length %1$zu too long, max %2$zu"),
|
||||||
inputLen, sasl->maxbufsize);
|
inputLen, sasl->maxbufsize);
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
@ -645,7 +645,7 @@ ssize_t virNetSASLSessionEncode(virNetSASLSession *sasl,
|
|||||||
|
|
||||||
if (err != SASL_OK) {
|
if (err != SASL_OK) {
|
||||||
virReportError(VIR_ERR_INTERNAL_ERROR,
|
virReportError(VIR_ERR_INTERNAL_ERROR,
|
||||||
_("failed to encode SASL data: %d (%s)"),
|
_("failed to encode SASL data: %1$d (%2$s)"),
|
||||||
err, sasl_errstring(err, NULL, NULL));
|
err, sasl_errstring(err, NULL, NULL));
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
@ -670,7 +670,7 @@ ssize_t virNetSASLSessionDecode(virNetSASLSession *sasl,
|
|||||||
virObjectLock(sasl);
|
virObjectLock(sasl);
|
||||||
if (inputLen > sasl->maxbufsize) {
|
if (inputLen > sasl->maxbufsize) {
|
||||||
virReportSystemError(EINVAL,
|
virReportSystemError(EINVAL,
|
||||||
_("SASL data length %zu too long, max %zu"),
|
_("SASL data length %1$zu too long, max %2$zu"),
|
||||||
inputLen, sasl->maxbufsize);
|
inputLen, sasl->maxbufsize);
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
@ -683,7 +683,7 @@ ssize_t virNetSASLSessionDecode(virNetSASLSession *sasl,
|
|||||||
*outputlen = outlen;
|
*outputlen = outlen;
|
||||||
if (err != SASL_OK) {
|
if (err != SASL_OK) {
|
||||||
virReportError(VIR_ERR_INTERNAL_ERROR,
|
virReportError(VIR_ERR_INTERNAL_ERROR,
|
||||||
_("failed to decode SASL data: %d (%s)"),
|
_("failed to decode SASL data: %1$d (%2$s)"),
|
||||||
err, sasl_errstring(err, NULL, NULL));
|
err, sasl_errstring(err, NULL, NULL));
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
@ -1110,7 +1110,7 @@ virNetServerGetClient(virNetServer *srv,
|
|||||||
return virObjectRef(client);
|
return virObjectRef(client);
|
||||||
}
|
}
|
||||||
|
|
||||||
virReportError(VIR_ERR_NO_CLIENT, _("No client with matching ID '%llu'"), id);
|
virReportError(VIR_ERR_NO_CLIENT, _("No client with matching ID '%1$llu'"), id);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1116,7 +1116,7 @@ static ssize_t virNetServerClientRead(virNetServerClient *client)
|
|||||||
|
|
||||||
if (client->rx->bufferLength <= client->rx->bufferOffset) {
|
if (client->rx->bufferLength <= client->rx->bufferOffset) {
|
||||||
virReportError(VIR_ERR_RPC,
|
virReportError(VIR_ERR_RPC,
|
||||||
_("unexpected zero/negative length request %lld"),
|
_("unexpected zero/negative length request %1$lld"),
|
||||||
(long long int)(client->rx->bufferLength - client->rx->bufferOffset));
|
(long long int)(client->rx->bufferLength - client->rx->bufferOffset));
|
||||||
client->wantClose = true;
|
client->wantClose = true;
|
||||||
return -1;
|
return -1;
|
||||||
@ -1289,7 +1289,7 @@ static ssize_t virNetServerClientWrite(virNetServerClient *client)
|
|||||||
|
|
||||||
if (client->tx->bufferLength < client->tx->bufferOffset) {
|
if (client->tx->bufferLength < client->tx->bufferOffset) {
|
||||||
virReportError(VIR_ERR_RPC,
|
virReportError(VIR_ERR_RPC,
|
||||||
_("unexpected zero/negative length request %lld"),
|
_("unexpected zero/negative length request %1$lld"),
|
||||||
(long long int)(client->tx->bufferLength - client->tx->bufferOffset));
|
(long long int)(client->tx->bufferLength - client->tx->bufferOffset));
|
||||||
client->wantClose = true;
|
client->wantClose = true;
|
||||||
return -1;
|
return -1;
|
||||||
|
@ -232,7 +232,7 @@ int virNetServerProgramUnknownError(virNetServerClient *client,
|
|||||||
virNetMessageError rerr;
|
virNetMessageError rerr;
|
||||||
|
|
||||||
virReportError(VIR_ERR_RPC,
|
virReportError(VIR_ERR_RPC,
|
||||||
_("Cannot find program %d version %d"), req->prog, req->vers);
|
_("Cannot find program %1$d version %2$d"), req->prog, req->vers);
|
||||||
|
|
||||||
memset(&rerr, 0, sizeof(rerr));
|
memset(&rerr, 0, sizeof(rerr));
|
||||||
return virNetServerProgramSendError(req->prog,
|
return virNetServerProgramSendError(req->prog,
|
||||||
@ -284,14 +284,14 @@ int virNetServerProgramDispatch(virNetServerProgram *prog,
|
|||||||
/* Check version, etc. */
|
/* Check version, etc. */
|
||||||
if (msg->header.prog != prog->program) {
|
if (msg->header.prog != prog->program) {
|
||||||
virReportError(VIR_ERR_RPC,
|
virReportError(VIR_ERR_RPC,
|
||||||
_("program mismatch (actual %x, expected %x)"),
|
_("program mismatch (actual %1$x, expected %2$x)"),
|
||||||
msg->header.prog, prog->program);
|
msg->header.prog, prog->program);
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (msg->header.vers != prog->version) {
|
if (msg->header.vers != prog->version) {
|
||||||
virReportError(VIR_ERR_RPC,
|
virReportError(VIR_ERR_RPC,
|
||||||
_("version mismatch (actual %x, expected %x)"),
|
_("version mismatch (actual %1$x, expected %2$x)"),
|
||||||
msg->header.vers, prog->version);
|
msg->header.vers, prog->version);
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
@ -323,7 +323,7 @@ int virNetServerProgramDispatch(virNetServerProgram *prog,
|
|||||||
case VIR_NET_STREAM_HOLE:
|
case VIR_NET_STREAM_HOLE:
|
||||||
default:
|
default:
|
||||||
virReportError(VIR_ERR_RPC,
|
virReportError(VIR_ERR_RPC,
|
||||||
_("Unexpected message type %u"),
|
_("Unexpected message type %1$u"),
|
||||||
msg->header.type);
|
msg->header.type);
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
@ -377,7 +377,7 @@ virNetServerProgramDispatchCall(virNetServerProgram *prog,
|
|||||||
|
|
||||||
if (msg->header.status != VIR_NET_OK) {
|
if (msg->header.status != VIR_NET_OK) {
|
||||||
virReportError(VIR_ERR_RPC,
|
virReportError(VIR_ERR_RPC,
|
||||||
_("Unexpected message status %u"),
|
_("Unexpected message status %1$u"),
|
||||||
msg->header.status);
|
msg->header.status);
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
@ -386,7 +386,7 @@ virNetServerProgramDispatchCall(virNetServerProgram *prog,
|
|||||||
|
|
||||||
if (!dispatcher) {
|
if (!dispatcher) {
|
||||||
virReportError(VIR_ERR_RPC,
|
virReportError(VIR_ERR_RPC,
|
||||||
_("unknown procedure: %d"),
|
_("unknown procedure: %1$d"),
|
||||||
msg->header.proc);
|
msg->header.proc);
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
|
@ -162,7 +162,7 @@ virNetSocketCheckProtocolByLookup(const char *address,
|
|||||||
gaierr == EAI_NONAME) {
|
gaierr == EAI_NONAME) {
|
||||||
} else {
|
} else {
|
||||||
virReportError(VIR_ERR_INTERNAL_ERROR,
|
virReportError(VIR_ERR_INTERNAL_ERROR,
|
||||||
_("Cannot resolve %s address: %s"),
|
_("Cannot resolve %1$s address: %2$s"),
|
||||||
address,
|
address,
|
||||||
gai_strerror(gaierr));
|
gai_strerror(gaierr));
|
||||||
return -1;
|
return -1;
|
||||||
@ -346,7 +346,7 @@ int virNetSocketNewListenTCP(const char *nodename,
|
|||||||
e = getaddrinfo(nodename, service, &hints, &ai);
|
e = getaddrinfo(nodename, service, &hints, &ai);
|
||||||
if (e != 0) {
|
if (e != 0) {
|
||||||
virReportError(VIR_ERR_SYSTEM_ERROR,
|
virReportError(VIR_ERR_SYSTEM_ERROR,
|
||||||
_("Unable to resolve address '%s' service '%s': %s"),
|
_("Unable to resolve address '%1$s' service '%2$s': %3$s"),
|
||||||
nodename, service, gai_strerror(e));
|
nodename, service, gai_strerror(e));
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
@ -495,7 +495,7 @@ int virNetSocketNewListenUNIX(const char *path,
|
|||||||
addr.data.un.sun_family = AF_UNIX;
|
addr.data.un.sun_family = AF_UNIX;
|
||||||
if (virStrcpyStatic(addr.data.un.sun_path, path) < 0) {
|
if (virStrcpyStatic(addr.data.un.sun_path, path) < 0) {
|
||||||
virReportSystemError(ENAMETOOLONG,
|
virReportSystemError(ENAMETOOLONG,
|
||||||
_("Path %s too long for unix socket"), path);
|
_("Path %1$s too long for unix socket"), path);
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
if (addr.data.un.sun_path[0] == '@')
|
if (addr.data.un.sun_path[0] == '@')
|
||||||
@ -508,7 +508,7 @@ int virNetSocketNewListenUNIX(const char *path,
|
|||||||
if (bind(fd, &addr.data.sa, addr.len) < 0) {
|
if (bind(fd, &addr.data.sa, addr.len) < 0) {
|
||||||
umask(oldmask);
|
umask(oldmask);
|
||||||
virReportSystemError(errno,
|
virReportSystemError(errno,
|
||||||
_("Failed to bind socket to '%s'"),
|
_("Failed to bind socket to '%1$s'"),
|
||||||
path);
|
path);
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
@ -519,7 +519,7 @@ int virNetSocketNewListenUNIX(const char *path,
|
|||||||
*/
|
*/
|
||||||
if (grp != 0 && chown(path, user, grp)) {
|
if (grp != 0 && chown(path, user, grp)) {
|
||||||
virReportSystemError(errno,
|
virReportSystemError(errno,
|
||||||
_("Failed to change ownership of '%s' to %d:%d"),
|
_("Failed to change ownership of '%1$s' to %2$d:%3$d"),
|
||||||
path, (int)user, (int)grp);
|
path, (int)user, (int)grp);
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
@ -598,7 +598,7 @@ int virNetSocketNewConnectTCP(const char *nodename,
|
|||||||
e = getaddrinfo(nodename, service, &hints, &ai);
|
e = getaddrinfo(nodename, service, &hints, &ai);
|
||||||
if (e != 0) {
|
if (e != 0) {
|
||||||
virReportError(VIR_ERR_SYSTEM_ERROR,
|
virReportError(VIR_ERR_SYSTEM_ERROR,
|
||||||
_("Unable to resolve address '%s' service '%s': %s"),
|
_("Unable to resolve address '%1$s' service '%2$s': %3$s"),
|
||||||
nodename, service, gai_strerror(e));
|
nodename, service, gai_strerror(e));
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
@ -625,7 +625,7 @@ int virNetSocketNewConnectTCP(const char *nodename,
|
|||||||
|
|
||||||
if (fd == -1) {
|
if (fd == -1) {
|
||||||
virReportSystemError(savedErrno,
|
virReportSystemError(savedErrno,
|
||||||
_("unable to connect to server at '%s:%s'"),
|
_("unable to connect to server at '%1$s:%2$s'"),
|
||||||
nodename, service);
|
nodename, service);
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
@ -685,7 +685,7 @@ int virNetSocketNewConnectUNIX(const char *path,
|
|||||||
|
|
||||||
if (g_mkdir_with_parents(rundir, 0700) < 0) {
|
if (g_mkdir_with_parents(rundir, 0700) < 0) {
|
||||||
virReportSystemError(errno,
|
virReportSystemError(errno,
|
||||||
_("Cannot create user runtime directory '%s'"),
|
_("Cannot create user runtime directory '%1$s'"),
|
||||||
rundir);
|
rundir);
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
@ -694,12 +694,12 @@ int virNetSocketNewConnectUNIX(const char *path,
|
|||||||
|
|
||||||
if ((lockfd = open(lockpath, O_RDWR | O_CREAT, 0600)) < 0 ||
|
if ((lockfd = open(lockpath, O_RDWR | O_CREAT, 0600)) < 0 ||
|
||||||
virSetCloseExec(lockfd) < 0) {
|
virSetCloseExec(lockfd) < 0) {
|
||||||
virReportSystemError(errno, _("Unable to create lock '%s'"), lockpath);
|
virReportSystemError(errno, _("Unable to create lock '%1$s'"), lockpath);
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (virFileLock(lockfd, false, 0, 1, true) < 0) {
|
if (virFileLock(lockfd, false, 0, 1, true) < 0) {
|
||||||
virReportSystemError(errno, _("Unable to lock '%s'"), lockpath);
|
virReportSystemError(errno, _("Unable to lock '%1$s'"), lockpath);
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -711,7 +711,7 @@ int virNetSocketNewConnectUNIX(const char *path,
|
|||||||
|
|
||||||
remoteAddr.data.un.sun_family = AF_UNIX;
|
remoteAddr.data.un.sun_family = AF_UNIX;
|
||||||
if (virStrcpyStatic(remoteAddr.data.un.sun_path, path) < 0) {
|
if (virStrcpyStatic(remoteAddr.data.un.sun_path, path) < 0) {
|
||||||
virReportSystemError(ENOMEM, _("Path %s too long for unix socket"), path);
|
virReportSystemError(ENOMEM, _("Path %1$s too long for unix socket"), path);
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
if (remoteAddr.data.un.sun_path[0] == '@')
|
if (remoteAddr.data.un.sun_path[0] == '@')
|
||||||
@ -728,7 +728,7 @@ int virNetSocketNewConnectUNIX(const char *path,
|
|||||||
if (!spawnDaemonPath ||
|
if (!spawnDaemonPath ||
|
||||||
retries == 0 ||
|
retries == 0 ||
|
||||||
(errno != ENOENT && errno != ECONNREFUSED)) {
|
(errno != ENOENT && errno != ECONNREFUSED)) {
|
||||||
virReportSystemError(errno, _("Failed to connect socket to '%s'"),
|
virReportSystemError(errno, _("Failed to connect socket to '%1$s'"),
|
||||||
path);
|
path);
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
@ -924,7 +924,7 @@ virNetSocketNewConnectLibSSH2(const char *host,
|
|||||||
verify = VIR_NET_SSH_HOSTKEY_VERIFY_NORMAL;
|
verify = VIR_NET_SSH_HOSTKEY_VERIFY_NORMAL;
|
||||||
} else {
|
} else {
|
||||||
virReportError(VIR_ERR_INVALID_ARG,
|
virReportError(VIR_ERR_INVALID_ARG,
|
||||||
_("Invalid host key verification method: '%s'"),
|
_("Invalid host key verification method: '%1$s'"),
|
||||||
knownHostsVerify);
|
knownHostsVerify);
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
@ -955,7 +955,7 @@ virNetSocketNewConnectLibSSH2(const char *host,
|
|||||||
ret = virNetSSHSessionAuthAddAgentAuth(sess);
|
ret = virNetSSHSessionAuthAddAgentAuth(sess);
|
||||||
} else {
|
} else {
|
||||||
virReportError(VIR_ERR_INVALID_ARG,
|
virReportError(VIR_ERR_INVALID_ARG,
|
||||||
_("Invalid authentication method: '%s'"),
|
_("Invalid authentication method: '%1$s'"),
|
||||||
authMethod);
|
authMethod);
|
||||||
ret = -1;
|
ret = -1;
|
||||||
goto error;
|
goto error;
|
||||||
@ -1050,7 +1050,7 @@ virNetSocketNewConnectLibssh(const char *host,
|
|||||||
verify = VIR_NET_LIBSSH_HOSTKEY_VERIFY_NORMAL;
|
verify = VIR_NET_LIBSSH_HOSTKEY_VERIFY_NORMAL;
|
||||||
} else {
|
} else {
|
||||||
virReportError(VIR_ERR_INVALID_ARG,
|
virReportError(VIR_ERR_INVALID_ARG,
|
||||||
_("Invalid host key verification method: '%s'"),
|
_("Invalid host key verification method: '%1$s'"),
|
||||||
knownHostsVerify);
|
knownHostsVerify);
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
@ -1080,7 +1080,7 @@ virNetSocketNewConnectLibssh(const char *host,
|
|||||||
ret = virNetLibsshSessionAuthAddAgentAuth(sess);
|
ret = virNetLibsshSessionAuthAddAgentAuth(sess);
|
||||||
} else {
|
} else {
|
||||||
virReportError(VIR_ERR_INVALID_ARG,
|
virReportError(VIR_ERR_INVALID_ARG,
|
||||||
_("Invalid authentication method: '%s'"),
|
_("Invalid authentication method: '%1$s'"),
|
||||||
authMethod);
|
authMethod);
|
||||||
ret = -1;
|
ret = -1;
|
||||||
goto error;
|
goto error;
|
||||||
@ -1259,14 +1259,14 @@ virJSONValue *virNetSocketPreExecRestart(virNetSocket *sock)
|
|||||||
|
|
||||||
if (virSetInherit(sock->fd, true) < 0) {
|
if (virSetInherit(sock->fd, true) < 0) {
|
||||||
virReportSystemError(errno,
|
virReportSystemError(errno,
|
||||||
_("Cannot disable close-on-exec flag on socket %d"),
|
_("Cannot disable close-on-exec flag on socket %1$d"),
|
||||||
sock->fd);
|
sock->fd);
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
if (sock->errfd != -1 &&
|
if (sock->errfd != -1 &&
|
||||||
virSetInherit(sock->errfd, true) < 0) {
|
virSetInherit(sock->errfd, true) < 0) {
|
||||||
virReportSystemError(errno,
|
virReportSystemError(errno,
|
||||||
_("Cannot disable close-on-exec flag on pipe %d"),
|
_("Cannot disable close-on-exec flag on pipe %1$d"),
|
||||||
sock->errfd);
|
sock->errfd);
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
@ -1764,7 +1764,7 @@ static ssize_t virNetSocketReadWire(virNetSocket *sock, char *buf, size_t len)
|
|||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
if (errout)
|
if (errout)
|
||||||
virReportSystemError(errno,
|
virReportSystemError(errno,
|
||||||
_("Cannot recv data: %s"), errout);
|
_("Cannot recv data: %1$s"), errout);
|
||||||
else
|
else
|
||||||
virReportSystemError(errno, "%s",
|
virReportSystemError(errno, "%s",
|
||||||
_("Cannot recv data"));
|
_("Cannot recv data"));
|
||||||
@ -1778,7 +1778,7 @@ static ssize_t virNetSocketReadWire(virNetSocket *sock, char *buf, size_t len)
|
|||||||
} else {
|
} else {
|
||||||
if (errout)
|
if (errout)
|
||||||
virReportSystemError(EIO,
|
virReportSystemError(EIO,
|
||||||
_("End of file while reading data: %s"),
|
_("End of file while reading data: %1$s"),
|
||||||
errout);
|
errout);
|
||||||
else
|
else
|
||||||
virReportSystemError(EIO, "%s",
|
virReportSystemError(EIO, "%s",
|
||||||
@ -1985,7 +1985,7 @@ int virNetSocketSendFD(virNetSocket *sock, int fd)
|
|||||||
ret = 0;
|
ret = 0;
|
||||||
else
|
else
|
||||||
virReportSystemError(errno,
|
virReportSystemError(errno,
|
||||||
_("Failed to send file descriptor %d"),
|
_("Failed to send file descriptor %1$d"),
|
||||||
fd);
|
fd);
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
@ -286,7 +286,7 @@ virNetSSHCheckHostKey(virNetSSHSession *sess)
|
|||||||
if (!key) {
|
if (!key) {
|
||||||
libssh2_session_last_error(sess->session, &errmsg, NULL, 0);
|
libssh2_session_last_error(sess->session, &errmsg, NULL, 0);
|
||||||
virReportError(VIR_ERR_SSH,
|
virReportError(VIR_ERR_SSH,
|
||||||
_("Failed to retrieve ssh host key: %s"),
|
_("Failed to retrieve ssh host key: %1$s"),
|
||||||
errmsg);
|
errmsg);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
@ -346,7 +346,7 @@ virNetSSHCheckHostKey(virNetSSHSession *sess)
|
|||||||
keyhashstr = virBufferContentAndReset(&buff);
|
keyhashstr = virBufferContentAndReset(&buff);
|
||||||
|
|
||||||
askKey.type = VIR_CRED_ECHOPROMPT;
|
askKey.type = VIR_CRED_ECHOPROMPT;
|
||||||
askKey.prompt = g_strdup_printf(_("Accept SSH host key with hash '%s' for " "host '%s:%d' (%s/%s)?"),
|
askKey.prompt = g_strdup_printf(_("Accept SSH host key with hash '%1$s' for host '%2$s:%3$d' (%4$s/%5$s)?"),
|
||||||
keyhashstr, sess->hostname, sess->port, "y", "n");
|
keyhashstr, sess->hostname, sess->port, "y", "n");
|
||||||
|
|
||||||
if (sess->cred->cb(&askKey, 1, sess->cred->cbdata)) {
|
if (sess->cred->cb(&askKey, 1, sess->cred->cbdata)) {
|
||||||
@ -365,7 +365,7 @@ virNetSSHCheckHostKey(virNetSSHSession *sess)
|
|||||||
if (!askKey.result ||
|
if (!askKey.result ||
|
||||||
STRCASENEQ(askKey.result, "y")) {
|
STRCASENEQ(askKey.result, "y")) {
|
||||||
virReportError(VIR_ERR_SSH,
|
virReportError(VIR_ERR_SSH,
|
||||||
_("SSH host key for '%s' (%s) was not accepted"),
|
_("SSH host key for '%1$s' (%2$s) was not accepted"),
|
||||||
sess->hostname, keyhashstr);
|
sess->hostname, keyhashstr);
|
||||||
VIR_FREE(keyhashstr);
|
VIR_FREE(keyhashstr);
|
||||||
VIR_FREE(askKey.result);
|
VIR_FREE(askKey.result);
|
||||||
@ -427,7 +427,7 @@ virNetSSHCheckHostKey(virNetSSHSession *sess)
|
|||||||
NULL) < 0) {
|
NULL) < 0) {
|
||||||
libssh2_session_last_error(sess->session, &errmsg, NULL, 0);
|
libssh2_session_last_error(sess->session, &errmsg, NULL, 0);
|
||||||
virReportError(VIR_ERR_SSH,
|
virReportError(VIR_ERR_SSH,
|
||||||
_("unable to add SSH host key for host '%s': %s"),
|
_("unable to add SSH host key for host '%1$s': %2$s"),
|
||||||
hostnameStr, errmsg);
|
hostnameStr, errmsg);
|
||||||
VIR_FREE(hostnameStr);
|
VIR_FREE(hostnameStr);
|
||||||
return -1;
|
return -1;
|
||||||
@ -442,7 +442,7 @@ virNetSSHCheckHostKey(virNetSSHSession *sess)
|
|||||||
LIBSSH2_KNOWNHOST_FILE_OPENSSH) < 0) {
|
LIBSSH2_KNOWNHOST_FILE_OPENSSH) < 0) {
|
||||||
libssh2_session_last_error(sess->session, &errmsg, NULL, 0);
|
libssh2_session_last_error(sess->session, &errmsg, NULL, 0);
|
||||||
virReportError(VIR_ERR_SSH,
|
virReportError(VIR_ERR_SSH,
|
||||||
_("failed to write known_host file '%s': %s"),
|
_("failed to write known_host file '%1$s': %2$s"),
|
||||||
sess->knownHostsFile,
|
sess->knownHostsFile,
|
||||||
errmsg);
|
errmsg);
|
||||||
return -1;
|
return -1;
|
||||||
@ -458,10 +458,8 @@ virNetSSHCheckHostKey(virNetSSHSession *sess)
|
|||||||
case LIBSSH2_KNOWNHOST_CHECK_MISMATCH:
|
case LIBSSH2_KNOWNHOST_CHECK_MISMATCH:
|
||||||
/* host key verification failed */
|
/* host key verification failed */
|
||||||
virReportError(VIR_ERR_AUTH_FAILED,
|
virReportError(VIR_ERR_AUTH_FAILED,
|
||||||
_("!!! SSH HOST KEY VERIFICATION FAILED !!!: "
|
_("!!! SSH HOST KEY VERIFICATION FAILED !!!: Identity of host '%1$s:%2$d' differs from stored identity. "
|
||||||
"Identity of host '%s:%d' differs from stored identity. "
|
"Please verify the new host key '%3$s' to avoid possible man in the middle attack. The key is stored in '%4$s'."),
|
||||||
"Please verify the new host key '%s' to avoid possible "
|
|
||||||
"man in the middle attack. The key is stored in '%s'."),
|
|
||||||
sess->hostname, sess->port,
|
sess->hostname, sess->port,
|
||||||
knownHostEntry->key, sess->knownHostsFile);
|
knownHostEntry->key, sess->knownHostsFile);
|
||||||
return -1;
|
return -1;
|
||||||
@ -469,7 +467,7 @@ virNetSSHCheckHostKey(virNetSSHSession *sess)
|
|||||||
case LIBSSH2_KNOWNHOST_CHECK_FAILURE:
|
case LIBSSH2_KNOWNHOST_CHECK_FAILURE:
|
||||||
libssh2_session_last_error(sess->session, &errmsg, NULL, 0);
|
libssh2_session_last_error(sess->session, &errmsg, NULL, 0);
|
||||||
virReportError(VIR_ERR_SSH,
|
virReportError(VIR_ERR_SSH,
|
||||||
_("failed to validate SSH host key: %s"),
|
_("failed to validate SSH host key: %1$s"),
|
||||||
errmsg);
|
errmsg);
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
@ -525,7 +523,7 @@ virNetSSHAuthenticateAgent(virNetSSHSession *sess)
|
|||||||
VIR_WARNINGS_RESET
|
VIR_WARNINGS_RESET
|
||||||
libssh2_session_last_error(sess->session, &errmsg, NULL, 0);
|
libssh2_session_last_error(sess->session, &errmsg, NULL, 0);
|
||||||
virReportError(VIR_ERR_AUTH_FAILED,
|
virReportError(VIR_ERR_AUTH_FAILED,
|
||||||
_("failed to authenticate using SSH agent: %s"),
|
_("failed to authenticate using SSH agent: %1$s"),
|
||||||
errmsg);
|
errmsg);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
@ -549,7 +547,7 @@ virNetSSHAuthenticateAgent(virNetSSHSession *sess)
|
|||||||
|
|
||||||
libssh2_session_last_error(sess->session, &errmsg, NULL, 0);
|
libssh2_session_last_error(sess->session, &errmsg, NULL, 0);
|
||||||
virReportError(VIR_ERR_AUTH_FAILED,
|
virReportError(VIR_ERR_AUTH_FAILED,
|
||||||
_("failed to authenticate using SSH agent: %s"),
|
_("failed to authenticate using SSH agent: %1$s"),
|
||||||
errmsg);
|
errmsg);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
@ -586,8 +584,7 @@ virNetSSHAuthenticatePrivkey(virNetSSHSession *sess,
|
|||||||
VIR_WARNINGS_RESET
|
VIR_WARNINGS_RESET
|
||||||
libssh2_session_last_error(sess->session, &errmsg, NULL, 0);
|
libssh2_session_last_error(sess->session, &errmsg, NULL, 0);
|
||||||
virReportError(VIR_ERR_AUTH_FAILED,
|
virReportError(VIR_ERR_AUTH_FAILED,
|
||||||
_("authentication with private key '%s' "
|
_("authentication with private key '%1$s' has failed: %2$s"),
|
||||||
"has failed: %s"),
|
|
||||||
priv->filename, errmsg);
|
priv->filename, errmsg);
|
||||||
return 1; /* auth failed */
|
return 1; /* auth failed */
|
||||||
}
|
}
|
||||||
@ -617,7 +614,7 @@ virNetSSHAuthenticatePrivkey(virNetSSHSession *sess,
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
retr_passphrase.prompt = g_strdup_printf(_("Passphrase for key '%s'"),
|
retr_passphrase.prompt = g_strdup_printf(_("Passphrase for key '%1$s'"),
|
||||||
priv->filename);
|
priv->filename);
|
||||||
|
|
||||||
if (sess->cred->cb(&retr_passphrase, 1, sess->cred->cbdata)) {
|
if (sess->cred->cb(&retr_passphrase, 1, sess->cred->cbdata)) {
|
||||||
@ -643,8 +640,7 @@ virNetSSHAuthenticatePrivkey(virNetSSHSession *sess,
|
|||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
libssh2_session_last_error(sess->session, &errmsg, NULL, 0);
|
libssh2_session_last_error(sess->session, &errmsg, NULL, 0);
|
||||||
virReportError(VIR_ERR_AUTH_FAILED,
|
virReportError(VIR_ERR_AUTH_FAILED,
|
||||||
_("authentication with private key '%s' "
|
_("authentication with private key '%1$s' has failed: %2$s"),
|
||||||
"has failed: %s"),
|
|
||||||
priv->filename, errmsg);
|
priv->filename, errmsg);
|
||||||
|
|
||||||
VIR_WARNINGS_NO_WLOGICALOP_EQUAL_EXPR
|
VIR_WARNINGS_NO_WLOGICALOP_EQUAL_EXPR
|
||||||
@ -709,7 +705,7 @@ virNetSSHAuthenticatePassword(virNetSSHSession *sess)
|
|||||||
/* error path */
|
/* error path */
|
||||||
libssh2_session_last_error(sess->session, &errmsg, NULL, 0);
|
libssh2_session_last_error(sess->session, &errmsg, NULL, 0);
|
||||||
virReportError(VIR_ERR_AUTH_FAILED,
|
virReportError(VIR_ERR_AUTH_FAILED,
|
||||||
_("authentication failed: %s"), errmsg);
|
_("authentication failed: %1$s"), errmsg);
|
||||||
|
|
||||||
/* determine exist status */
|
/* determine exist status */
|
||||||
if (rc == LIBSSH2_ERROR_AUTHENTICATION_FAILED)
|
if (rc == LIBSSH2_ERROR_AUTHENTICATION_FAILED)
|
||||||
@ -781,14 +777,14 @@ virNetSSHAuthenticateKeyboardInteractive(virNetSSHSession *sess,
|
|||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
libssh2_session_last_error(sess->session, &errmsg, NULL, 0);
|
libssh2_session_last_error(sess->session, &errmsg, NULL, 0);
|
||||||
virReportError(VIR_ERR_AUTH_FAILED,
|
virReportError(VIR_ERR_AUTH_FAILED,
|
||||||
_("keyboard interactive authentication failed: %s"),
|
_("keyboard interactive authentication failed: %1$s"),
|
||||||
errmsg);
|
errmsg);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
libssh2_session_last_error(sess->session, &errmsg, NULL, 0);
|
libssh2_session_last_error(sess->session, &errmsg, NULL, 0);
|
||||||
virReportError(VIR_ERR_AUTH_FAILED,
|
virReportError(VIR_ERR_AUTH_FAILED,
|
||||||
_("keyboard interactive authentication failed: %s"),
|
_("keyboard interactive authentication failed: %1$s"),
|
||||||
errmsg);
|
errmsg);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
@ -824,7 +820,7 @@ virNetSSHAuthenticate(virNetSSHSession *sess)
|
|||||||
|
|
||||||
libssh2_session_last_error(sess->session, &errmsg, NULL, 0);
|
libssh2_session_last_error(sess->session, &errmsg, NULL, 0);
|
||||||
virReportError(VIR_ERR_SSH,
|
virReportError(VIR_ERR_SSH,
|
||||||
_("couldn't retrieve authentication methods list: %s"),
|
_("couldn't retrieve authentication methods list: %1$s"),
|
||||||
errmsg);
|
errmsg);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
@ -895,7 +891,7 @@ virNetSSHOpenChannel(virNetSSHSession *sess)
|
|||||||
if (!sess->channel) {
|
if (!sess->channel) {
|
||||||
libssh2_session_last_error(sess->session, &errmsg, NULL, 0);
|
libssh2_session_last_error(sess->session, &errmsg, NULL, 0);
|
||||||
virReportError(VIR_ERR_SSH,
|
virReportError(VIR_ERR_SSH,
|
||||||
_("failed to open ssh channel: %s"),
|
_("failed to open ssh channel: %1$s"),
|
||||||
errmsg);
|
errmsg);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
@ -903,7 +899,7 @@ virNetSSHOpenChannel(virNetSSHSession *sess)
|
|||||||
if (libssh2_channel_exec(sess->channel, sess->channelCommand) != 0) {
|
if (libssh2_channel_exec(sess->channel, sess->channelCommand) != 0) {
|
||||||
libssh2_session_last_error(sess->session, &errmsg, NULL, 0);
|
libssh2_session_last_error(sess->session, &errmsg, NULL, 0);
|
||||||
virReportError(VIR_ERR_SSH,
|
virReportError(VIR_ERR_SSH,
|
||||||
_("failed to execute command '%s': %s"),
|
_("failed to execute command '%1$s': %2$s"),
|
||||||
sess->channelCommand,
|
sess->channelCommand,
|
||||||
errmsg);
|
errmsg);
|
||||||
return -1;
|
return -1;
|
||||||
@ -1080,13 +1076,13 @@ virNetSSHSessionSetHostKeyVerification(virNetSSHSession *sess,
|
|||||||
LIBSSH2_KNOWNHOST_FILE_OPENSSH) < 0) {
|
LIBSSH2_KNOWNHOST_FILE_OPENSSH) < 0) {
|
||||||
libssh2_session_last_error(sess->session, &errmsg, NULL, 0);
|
libssh2_session_last_error(sess->session, &errmsg, NULL, 0);
|
||||||
virReportError(VIR_ERR_SSH,
|
virReportError(VIR_ERR_SSH,
|
||||||
_("unable to load knownhosts file '%s': %s"),
|
_("unable to load knownhosts file '%1$s': %2$s"),
|
||||||
hostsfile, errmsg);
|
hostsfile, errmsg);
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
} else if (!(flags & VIR_NET_SSH_HOSTKEY_FILE_CREATE)) {
|
} else if (!(flags & VIR_NET_SSH_HOSTKEY_FILE_CREATE)) {
|
||||||
virReportError(VIR_ERR_SSH,
|
virReportError(VIR_ERR_SSH,
|
||||||
_("known hosts file '%s' does not exist"),
|
_("known hosts file '%1$s' does not exist"),
|
||||||
hostsfile);
|
hostsfile);
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
@ -1186,7 +1182,7 @@ virNetSSHSessionConnect(virNetSSHSession *sess,
|
|||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
libssh2_session_last_error(sess->session, &errmsg, NULL, 0);
|
libssh2_session_last_error(sess->session, &errmsg, NULL, 0);
|
||||||
virReportError(VIR_ERR_NO_CONNECT,
|
virReportError(VIR_ERR_NO_CONNECT,
|
||||||
_("SSH session handshake failed: %s"),
|
_("SSH session handshake failed: %1$s"),
|
||||||
errmsg);
|
errmsg);
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
@ -1231,8 +1227,7 @@ virNetSSHChannelRead(virNetSSHSession *sess,
|
|||||||
if (sess->state != VIR_NET_SSH_STATE_HANDSHAKE_COMPLETE) {
|
if (sess->state != VIR_NET_SSH_STATE_HANDSHAKE_COMPLETE) {
|
||||||
if (sess->state == VIR_NET_SSH_STATE_ERROR_REMOTE)
|
if (sess->state == VIR_NET_SSH_STATE_ERROR_REMOTE)
|
||||||
virReportError(VIR_ERR_SSH,
|
virReportError(VIR_ERR_SSH,
|
||||||
_("Remote program terminated "
|
_("Remote program terminated with non-zero code: %1$d"),
|
||||||
"with non-zero code: %d"),
|
|
||||||
sess->channelCommandReturnValue);
|
sess->channelCommandReturnValue);
|
||||||
else
|
else
|
||||||
virReportError(VIR_ERR_SSH, "%s",
|
virReportError(VIR_ERR_SSH, "%s",
|
||||||
@ -1307,7 +1302,7 @@ virNetSSHChannelRead(virNetSSHSession *sess,
|
|||||||
if (libssh2_channel_eof(sess->channel)) {
|
if (libssh2_channel_eof(sess->channel)) {
|
||||||
if (libssh2_channel_get_exit_status(sess->channel)) {
|
if (libssh2_channel_get_exit_status(sess->channel)) {
|
||||||
virReportError(VIR_ERR_SSH,
|
virReportError(VIR_ERR_SSH,
|
||||||
_("Remote command terminated with non-zero code: %d"),
|
_("Remote command terminated with non-zero code: %1$d"),
|
||||||
libssh2_channel_get_exit_status(sess->channel));
|
libssh2_channel_get_exit_status(sess->channel));
|
||||||
sess->channelCommandReturnValue = libssh2_channel_get_exit_status(sess->channel);
|
sess->channelCommandReturnValue = libssh2_channel_get_exit_status(sess->channel);
|
||||||
sess->state = VIR_NET_SSH_STATE_ERROR_REMOTE;
|
sess->state = VIR_NET_SSH_STATE_ERROR_REMOTE;
|
||||||
@ -1342,7 +1337,7 @@ virNetSSHChannelWrite(virNetSSHSession *sess,
|
|||||||
if (sess->state != VIR_NET_SSH_STATE_HANDSHAKE_COMPLETE) {
|
if (sess->state != VIR_NET_SSH_STATE_HANDSHAKE_COMPLETE) {
|
||||||
if (sess->state == VIR_NET_SSH_STATE_ERROR_REMOTE)
|
if (sess->state == VIR_NET_SSH_STATE_ERROR_REMOTE)
|
||||||
virReportError(VIR_ERR_SSH,
|
virReportError(VIR_ERR_SSH,
|
||||||
_("Remote program terminated with non-zero code: %d"),
|
_("Remote program terminated with non-zero code: %1$d"),
|
||||||
sess->channelCommandReturnValue);
|
sess->channelCommandReturnValue);
|
||||||
else
|
else
|
||||||
virReportError(VIR_ERR_SSH, "%s",
|
virReportError(VIR_ERR_SSH, "%s",
|
||||||
@ -1354,7 +1349,7 @@ virNetSSHChannelWrite(virNetSSHSession *sess,
|
|||||||
if (libssh2_channel_eof(sess->channel)) {
|
if (libssh2_channel_eof(sess->channel)) {
|
||||||
if (libssh2_channel_get_exit_status(sess->channel)) {
|
if (libssh2_channel_get_exit_status(sess->channel)) {
|
||||||
virReportError(VIR_ERR_SSH,
|
virReportError(VIR_ERR_SSH,
|
||||||
_("Remote program terminated with non-zero code: %d"),
|
_("Remote program terminated with non-zero code: %1$d"),
|
||||||
libssh2_channel_get_exit_status(sess->channel));
|
libssh2_channel_get_exit_status(sess->channel));
|
||||||
sess->state = VIR_NET_SSH_STATE_ERROR_REMOTE;
|
sess->state = VIR_NET_SSH_STATE_ERROR_REMOTE;
|
||||||
sess->channelCommandReturnValue = libssh2_channel_get_exit_status(sess->channel);
|
sess->channelCommandReturnValue = libssh2_channel_get_exit_status(sess->channel);
|
||||||
@ -1379,7 +1374,7 @@ virNetSSHChannelWrite(virNetSSHSession *sess,
|
|||||||
sess->state = VIR_NET_SSH_STATE_ERROR;
|
sess->state = VIR_NET_SSH_STATE_ERROR;
|
||||||
libssh2_session_last_error(sess->session, &msg, NULL, 0);
|
libssh2_session_last_error(sess->session, &msg, NULL, 0);
|
||||||
virReportError(VIR_ERR_SSH,
|
virReportError(VIR_ERR_SSH,
|
||||||
_("write failed: %s"), msg);
|
_("write failed: %1$s"), msg);
|
||||||
}
|
}
|
||||||
|
|
||||||
cleanup:
|
cleanup:
|
||||||
|
@ -103,7 +103,7 @@ virNetTLSContextCheckCertFile(const char *type, const char *file, bool allowMiss
|
|||||||
return 1;
|
return 1;
|
||||||
|
|
||||||
virReportSystemError(errno,
|
virReportSystemError(errno,
|
||||||
_("Cannot read %s '%s'"),
|
_("Cannot read %1$s '%2$s'"),
|
||||||
type, file);
|
type, file);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
@ -134,10 +134,10 @@ static int virNetTLSContextCheckCertTimes(gnutls_x509_crt_t cert,
|
|||||||
if (gnutls_x509_crt_get_expiration_time(cert) < now) {
|
if (gnutls_x509_crt_get_expiration_time(cert) < now) {
|
||||||
virReportError(VIR_ERR_SYSTEM_ERROR,
|
virReportError(VIR_ERR_SYSTEM_ERROR,
|
||||||
(isCA ?
|
(isCA ?
|
||||||
_("The CA certificate %s has expired") :
|
_("The CA certificate %1$s has expired") :
|
||||||
(isServer ?
|
(isServer ?
|
||||||
_("The server certificate %s has expired") :
|
_("The server certificate %1$s has expired") :
|
||||||
_("The client certificate %s has expired"))),
|
_("The client certificate %1$s has expired"))),
|
||||||
certFile);
|
certFile);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
@ -145,10 +145,10 @@ static int virNetTLSContextCheckCertTimes(gnutls_x509_crt_t cert,
|
|||||||
if (gnutls_x509_crt_get_activation_time(cert) > now) {
|
if (gnutls_x509_crt_get_activation_time(cert) > now) {
|
||||||
virReportError(VIR_ERR_SYSTEM_ERROR,
|
virReportError(VIR_ERR_SYSTEM_ERROR,
|
||||||
(isCA ?
|
(isCA ?
|
||||||
_("The CA certificate %s is not yet active") :
|
_("The CA certificate %1$s is not yet active") :
|
||||||
(isServer ?
|
(isServer ?
|
||||||
_("The server certificate %s is not yet active") :
|
_("The server certificate %1$s is not yet active") :
|
||||||
_("The client certificate %s is not yet active"))),
|
_("The client certificate %1$s is not yet active"))),
|
||||||
certFile);
|
certFile);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
@ -170,28 +170,28 @@ static int virNetTLSContextCheckCertBasicConstraints(gnutls_x509_crt_t cert,
|
|||||||
if (status > 0) { /* It is a CA cert */
|
if (status > 0) { /* It is a CA cert */
|
||||||
if (!isCA) {
|
if (!isCA) {
|
||||||
virReportError(VIR_ERR_SYSTEM_ERROR, isServer ?
|
virReportError(VIR_ERR_SYSTEM_ERROR, isServer ?
|
||||||
_("The certificate %s basic constraints show a CA, but we need one for a server") :
|
_("The certificate %1$s basic constraints show a CA, but we need one for a server") :
|
||||||
_("The certificate %s basic constraints show a CA, but we need one for a client"),
|
_("The certificate %1$s basic constraints show a CA, but we need one for a client"),
|
||||||
certFile);
|
certFile);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
} else if (status == 0) { /* It is not a CA cert */
|
} else if (status == 0) { /* It is not a CA cert */
|
||||||
if (isCA) {
|
if (isCA) {
|
||||||
virReportError(VIR_ERR_SYSTEM_ERROR,
|
virReportError(VIR_ERR_SYSTEM_ERROR,
|
||||||
_("The certificate %s basic constraints do not show a CA"),
|
_("The certificate %1$s basic constraints do not show a CA"),
|
||||||
certFile);
|
certFile);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
} else if (status == GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE) { /* Missing basicConstraints */
|
} else if (status == GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE) { /* Missing basicConstraints */
|
||||||
if (isCA) {
|
if (isCA) {
|
||||||
virReportError(VIR_ERR_SYSTEM_ERROR,
|
virReportError(VIR_ERR_SYSTEM_ERROR,
|
||||||
_("The certificate %s is missing basic constraints for a CA"),
|
_("The certificate %1$s is missing basic constraints for a CA"),
|
||||||
certFile);
|
certFile);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
} else { /* General error */
|
} else { /* General error */
|
||||||
virReportError(VIR_ERR_SYSTEM_ERROR,
|
virReportError(VIR_ERR_SYSTEM_ERROR,
|
||||||
_("Unable to query certificate %s basic constraints %s"),
|
_("Unable to query certificate %1$s basic constraints %2$s"),
|
||||||
certFile, gnutls_strerror(status));
|
certFile, gnutls_strerror(status));
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
@ -217,7 +217,7 @@ static int virNetTLSContextCheckCertKeyUsage(gnutls_x509_crt_t cert,
|
|||||||
GNUTLS_KEY_DIGITAL_SIGNATURE|GNUTLS_KEY_KEY_ENCIPHERMENT;
|
GNUTLS_KEY_DIGITAL_SIGNATURE|GNUTLS_KEY_KEY_ENCIPHERMENT;
|
||||||
} else {
|
} else {
|
||||||
virReportError(VIR_ERR_SYSTEM_ERROR,
|
virReportError(VIR_ERR_SYSTEM_ERROR,
|
||||||
_("Unable to query certificate %s key usage %s"),
|
_("Unable to query certificate %1$s key usage %2$s"),
|
||||||
certFile, gnutls_strerror(status));
|
certFile, gnutls_strerror(status));
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
@ -227,7 +227,7 @@ static int virNetTLSContextCheckCertKeyUsage(gnutls_x509_crt_t cert,
|
|||||||
if (!(usage & GNUTLS_KEY_KEY_CERT_SIGN)) {
|
if (!(usage & GNUTLS_KEY_KEY_CERT_SIGN)) {
|
||||||
if (critical) {
|
if (critical) {
|
||||||
virReportError(VIR_ERR_SYSTEM_ERROR,
|
virReportError(VIR_ERR_SYSTEM_ERROR,
|
||||||
_("Certificate %s usage does not permit certificate signing"),
|
_("Certificate %1$s usage does not permit certificate signing"),
|
||||||
certFile);
|
certFile);
|
||||||
return -1;
|
return -1;
|
||||||
} else {
|
} else {
|
||||||
@ -239,7 +239,7 @@ static int virNetTLSContextCheckCertKeyUsage(gnutls_x509_crt_t cert,
|
|||||||
if (!(usage & GNUTLS_KEY_DIGITAL_SIGNATURE)) {
|
if (!(usage & GNUTLS_KEY_DIGITAL_SIGNATURE)) {
|
||||||
if (critical) {
|
if (critical) {
|
||||||
virReportError(VIR_ERR_SYSTEM_ERROR,
|
virReportError(VIR_ERR_SYSTEM_ERROR,
|
||||||
_("Certificate %s usage does not permit digital signature"),
|
_("Certificate %1$s usage does not permit digital signature"),
|
||||||
certFile);
|
certFile);
|
||||||
return -1;
|
return -1;
|
||||||
} else {
|
} else {
|
||||||
@ -250,7 +250,7 @@ static int virNetTLSContextCheckCertKeyUsage(gnutls_x509_crt_t cert,
|
|||||||
if (!(usage & GNUTLS_KEY_KEY_ENCIPHERMENT)) {
|
if (!(usage & GNUTLS_KEY_KEY_ENCIPHERMENT)) {
|
||||||
if (critical) {
|
if (critical) {
|
||||||
virReportError(VIR_ERR_SYSTEM_ERROR,
|
virReportError(VIR_ERR_SYSTEM_ERROR,
|
||||||
_("Certificate %s usage does not permit key encipherment"),
|
_("Certificate %1$s usage does not permit key encipherment"),
|
||||||
certFile);
|
certFile);
|
||||||
return -1;
|
return -1;
|
||||||
} else {
|
} else {
|
||||||
@ -291,7 +291,7 @@ static int virNetTLSContextCheckCertKeyPurpose(gnutls_x509_crt_t cert,
|
|||||||
}
|
}
|
||||||
if (status != GNUTLS_E_SHORT_MEMORY_BUFFER) {
|
if (status != GNUTLS_E_SHORT_MEMORY_BUFFER) {
|
||||||
virReportError(VIR_ERR_SYSTEM_ERROR,
|
virReportError(VIR_ERR_SYSTEM_ERROR,
|
||||||
_("Unable to query certificate %s key purpose %s"),
|
_("Unable to query certificate %1$s key purpose %2$s"),
|
||||||
certFile, gnutls_strerror(status));
|
certFile, gnutls_strerror(status));
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
@ -301,7 +301,7 @@ static int virNetTLSContextCheckCertKeyPurpose(gnutls_x509_crt_t cert,
|
|||||||
if (status < 0) {
|
if (status < 0) {
|
||||||
VIR_FREE(buffer);
|
VIR_FREE(buffer);
|
||||||
virReportError(VIR_ERR_SYSTEM_ERROR,
|
virReportError(VIR_ERR_SYSTEM_ERROR,
|
||||||
_("Unable to query certificate %s key purpose %s"),
|
_("Unable to query certificate %1$s key purpose %2$s"),
|
||||||
certFile, gnutls_strerror(status));
|
certFile, gnutls_strerror(status));
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
@ -324,7 +324,7 @@ static int virNetTLSContextCheckCertKeyPurpose(gnutls_x509_crt_t cert,
|
|||||||
if (!allowServer) {
|
if (!allowServer) {
|
||||||
if (critical) {
|
if (critical) {
|
||||||
virReportError(VIR_ERR_SYSTEM_ERROR,
|
virReportError(VIR_ERR_SYSTEM_ERROR,
|
||||||
_("Certificate %s purpose does not allow use for with a TLS server"),
|
_("Certificate %1$s purpose does not allow use for with a TLS server"),
|
||||||
certFile);
|
certFile);
|
||||||
return -1;
|
return -1;
|
||||||
} else {
|
} else {
|
||||||
@ -336,7 +336,7 @@ static int virNetTLSContextCheckCertKeyPurpose(gnutls_x509_crt_t cert,
|
|||||||
if (!allowClient) {
|
if (!allowClient) {
|
||||||
if (critical) {
|
if (critical) {
|
||||||
virReportError(VIR_ERR_SYSTEM_ERROR,
|
virReportError(VIR_ERR_SYSTEM_ERROR,
|
||||||
_("Certificate %s purpose does not allow use for with a TLS client"),
|
_("Certificate %1$s purpose does not allow use for with a TLS client"),
|
||||||
certFile);
|
certFile);
|
||||||
return -1;
|
return -1;
|
||||||
} else {
|
} else {
|
||||||
@ -389,7 +389,7 @@ virNetTLSContextCheckCertDN(gnutls_x509_crt_t cert,
|
|||||||
if (hostname &&
|
if (hostname &&
|
||||||
!gnutls_x509_crt_check_hostname(cert, hostname)) {
|
!gnutls_x509_crt_check_hostname(cert, hostname)) {
|
||||||
virReportError(VIR_ERR_RPC,
|
virReportError(VIR_ERR_RPC,
|
||||||
_("Certificate %s owner does not match the hostname %s"),
|
_("Certificate %1$s owner does not match the hostname %2$s"),
|
||||||
certFile, hostname);
|
certFile, hostname);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
@ -438,8 +438,8 @@ static int virNetTLSContextCheckCertPair(gnutls_x509_crt_t cert,
|
|||||||
NULL, 0,
|
NULL, 0,
|
||||||
0, &status) < 0) {
|
0, &status) < 0) {
|
||||||
virReportError(VIR_ERR_SYSTEM_ERROR, isServer ?
|
virReportError(VIR_ERR_SYSTEM_ERROR, isServer ?
|
||||||
_("Unable to verify server certificate %s against CA certificate %s") :
|
_("Unable to verify server certificate %1$s against CA certificate %2$s") :
|
||||||
_("Unable to verify client certificate %s against CA certificate %s"),
|
_("Unable to verify client certificate %1$s against CA certificate %2$s"),
|
||||||
certFile, cacertFile);
|
certFile, cacertFile);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
@ -460,7 +460,7 @@ static int virNetTLSContextCheckCertPair(gnutls_x509_crt_t cert,
|
|||||||
reason = _("The certificate uses an insecure algorithm");
|
reason = _("The certificate uses an insecure algorithm");
|
||||||
|
|
||||||
virReportError(VIR_ERR_SYSTEM_ERROR,
|
virReportError(VIR_ERR_SYSTEM_ERROR,
|
||||||
_("Our own certificate %s failed validation against %s: %s"),
|
_("Our own certificate %1$s failed validation against %2$s: %3$s"),
|
||||||
certFile, cacertFile, reason);
|
certFile, cacertFile, reason);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
@ -494,8 +494,8 @@ static gnutls_x509_crt_t virNetTLSContextLoadCertFromFile(const char *certFile,
|
|||||||
|
|
||||||
if (gnutls_x509_crt_import(cert, &data, GNUTLS_X509_FMT_PEM) < 0) {
|
if (gnutls_x509_crt_import(cert, &data, GNUTLS_X509_FMT_PEM) < 0) {
|
||||||
virReportError(VIR_ERR_SYSTEM_ERROR, isServer ?
|
virReportError(VIR_ERR_SYSTEM_ERROR, isServer ?
|
||||||
_("Unable to import server certificate %s") :
|
_("Unable to import server certificate %1$s") :
|
||||||
_("Unable to import client certificate %s"),
|
_("Unable to import client certificate %1$s"),
|
||||||
certFile);
|
certFile);
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
@ -529,7 +529,7 @@ static int virNetTLSContextLoadCACertListFromFile(const char *certFile,
|
|||||||
|
|
||||||
if (gnutls_x509_crt_list_import(certs, &certMax, &data, GNUTLS_X509_FMT_PEM, 0) < 0) {
|
if (gnutls_x509_crt_list_import(certs, &certMax, &data, GNUTLS_X509_FMT_PEM, 0) < 0) {
|
||||||
virReportError(VIR_ERR_SYSTEM_ERROR,
|
virReportError(VIR_ERR_SYSTEM_ERROR,
|
||||||
_("Unable to import CA certificate list %s"),
|
_("Unable to import CA certificate list %1$s"),
|
||||||
certFile);
|
certFile);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
@ -602,7 +602,7 @@ static int virNetTLSContextLoadCredentials(virNetTLSContext *ctxt,
|
|||||||
GNUTLS_X509_FMT_PEM);
|
GNUTLS_X509_FMT_PEM);
|
||||||
if (err < 0) {
|
if (err < 0) {
|
||||||
virReportError(VIR_ERR_SYSTEM_ERROR,
|
virReportError(VIR_ERR_SYSTEM_ERROR,
|
||||||
_("Unable to set x509 CA certificate: %s: %s"),
|
_("Unable to set x509 CA certificate: %1$s: %2$s"),
|
||||||
cacert, gnutls_strerror(err));
|
cacert, gnutls_strerror(err));
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
@ -620,7 +620,7 @@ static int virNetTLSContextLoadCredentials(virNetTLSContext *ctxt,
|
|||||||
GNUTLS_X509_FMT_PEM);
|
GNUTLS_X509_FMT_PEM);
|
||||||
if (err < 0) {
|
if (err < 0) {
|
||||||
virReportError(VIR_ERR_SYSTEM_ERROR,
|
virReportError(VIR_ERR_SYSTEM_ERROR,
|
||||||
_("Unable to set x509 certificate revocation list: %s: %s"),
|
_("Unable to set x509 certificate revocation list: %1$s: %2$s"),
|
||||||
cacrl, gnutls_strerror(err));
|
cacrl, gnutls_strerror(err));
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
@ -645,7 +645,7 @@ static int virNetTLSContextLoadCredentials(virNetTLSContext *ctxt,
|
|||||||
GNUTLS_X509_FMT_PEM);
|
GNUTLS_X509_FMT_PEM);
|
||||||
if (err < 0) {
|
if (err < 0) {
|
||||||
virReportError(VIR_ERR_SYSTEM_ERROR,
|
virReportError(VIR_ERR_SYSTEM_ERROR,
|
||||||
_("Unable to set x509 key and certificate: %s, %s: %s"),
|
_("Unable to set x509 key and certificate: %1$s, %2$s: %3$s"),
|
||||||
key, cert, gnutls_strerror(err));
|
key, cert, gnutls_strerror(err));
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
@ -690,7 +690,7 @@ static virNetTLSContext *virNetTLSContextNew(const char *cacert,
|
|||||||
ctxt->x509cred = NULL;
|
ctxt->x509cred = NULL;
|
||||||
|
|
||||||
virReportError(VIR_ERR_SYSTEM_ERROR,
|
virReportError(VIR_ERR_SYSTEM_ERROR,
|
||||||
_("Unable to allocate x509 credentials: %s"),
|
_("Unable to allocate x509 credentials: %1$s"),
|
||||||
gnutls_strerror(err));
|
gnutls_strerror(err));
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
@ -896,7 +896,7 @@ int virNetTLSContextReloadForServer(virNetTLSContext *ctxt,
|
|||||||
err = gnutls_certificate_allocate_credentials(&ctxt->x509cred);
|
err = gnutls_certificate_allocate_credentials(&ctxt->x509cred);
|
||||||
if (err) {
|
if (err) {
|
||||||
virReportError(VIR_ERR_SYSTEM_ERROR,
|
virReportError(VIR_ERR_SYSTEM_ERROR,
|
||||||
_("Unable to allocate x509 credentials: %s"),
|
_("Unable to allocate x509 credentials: %1$s"),
|
||||||
gnutls_strerror(err));
|
gnutls_strerror(err));
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
@ -946,7 +946,7 @@ static int virNetTLSContextValidCertificate(virNetTLSContext *ctxt,
|
|||||||
|
|
||||||
if ((ret = gnutls_certificate_verify_peers2(sess->session, &status)) < 0) {
|
if ((ret = gnutls_certificate_verify_peers2(sess->session, &status)) < 0) {
|
||||||
virReportError(VIR_ERR_SYSTEM_ERROR,
|
virReportError(VIR_ERR_SYSTEM_ERROR,
|
||||||
_("Unable to verify TLS peer: %s"),
|
_("Unable to verify TLS peer: %1$s"),
|
||||||
gnutls_strerror(ret));
|
gnutls_strerror(ret));
|
||||||
goto authdeny;
|
goto authdeny;
|
||||||
}
|
}
|
||||||
@ -967,7 +967,7 @@ static int virNetTLSContextValidCertificate(virNetTLSContext *ctxt,
|
|||||||
reason = _("The certificate uses an insecure algorithm");
|
reason = _("The certificate uses an insecure algorithm");
|
||||||
|
|
||||||
virReportError(VIR_ERR_SYSTEM_ERROR,
|
virReportError(VIR_ERR_SYSTEM_ERROR,
|
||||||
_("Certificate failed validation: %s"),
|
_("Certificate failed validation: %1$s"),
|
||||||
reason);
|
reason);
|
||||||
goto authdeny;
|
goto authdeny;
|
||||||
}
|
}
|
||||||
@ -1016,7 +1016,7 @@ static int virNetTLSContextValidCertificate(virNetTLSContext *ctxt,
|
|||||||
}
|
}
|
||||||
if (ret != 0) {
|
if (ret != 0) {
|
||||||
virReportError(VIR_ERR_SYSTEM_ERROR,
|
virReportError(VIR_ERR_SYSTEM_ERROR,
|
||||||
_("Failed to get certificate %s distinguished name: %s"),
|
_("Failed to get certificate %1$s distinguished name: %2$s"),
|
||||||
"[session]", gnutls_strerror(ret));
|
"[session]", gnutls_strerror(ret));
|
||||||
goto authfail;
|
goto authfail;
|
||||||
}
|
}
|
||||||
@ -1160,7 +1160,7 @@ virNetTLSSession *virNetTLSSessionNew(virNetTLSContext *ctxt,
|
|||||||
if ((err = gnutls_init(&sess->session,
|
if ((err = gnutls_init(&sess->session,
|
||||||
ctxt->isServer ? GNUTLS_SERVER : GNUTLS_CLIENT)) != 0) {
|
ctxt->isServer ? GNUTLS_SERVER : GNUTLS_CLIENT)) != 0) {
|
||||||
virReportError(VIR_ERR_SYSTEM_ERROR,
|
virReportError(VIR_ERR_SYSTEM_ERROR,
|
||||||
_("Failed to initialize TLS session: %s"),
|
_("Failed to initialize TLS session: %1$s"),
|
||||||
gnutls_strerror(err));
|
gnutls_strerror(err));
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
@ -1174,7 +1174,7 @@ virNetTLSSession *virNetTLSSessionNew(virNetTLSContext *ctxt,
|
|||||||
priority,
|
priority,
|
||||||
NULL)) != 0) {
|
NULL)) != 0) {
|
||||||
virReportError(VIR_ERR_SYSTEM_ERROR,
|
virReportError(VIR_ERR_SYSTEM_ERROR,
|
||||||
_("Failed to set TLS session priority to %s: %s"),
|
_("Failed to set TLS session priority to %1$s: %2$s"),
|
||||||
priority, gnutls_strerror(err));
|
priority, gnutls_strerror(err));
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
@ -1183,7 +1183,7 @@ virNetTLSSession *virNetTLSSessionNew(virNetTLSContext *ctxt,
|
|||||||
GNUTLS_CRD_CERTIFICATE,
|
GNUTLS_CRD_CERTIFICATE,
|
||||||
ctxt->x509cred)) != 0) {
|
ctxt->x509cred)) != 0) {
|
||||||
virReportError(VIR_ERR_SYSTEM_ERROR,
|
virReportError(VIR_ERR_SYSTEM_ERROR,
|
||||||
_("Failed set TLS x509 credentials: %s"),
|
_("Failed set TLS x509 credentials: %1$s"),
|
||||||
gnutls_strerror(err));
|
gnutls_strerror(err));
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
@ -1313,7 +1313,7 @@ int virNetTLSSessionHandshake(virNetTLSSession *sess)
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
virReportError(VIR_ERR_AUTH_FAILED,
|
virReportError(VIR_ERR_AUTH_FAILED,
|
||||||
_("TLS handshake failed %s"),
|
_("TLS handshake failed %1$s"),
|
||||||
gnutls_strerror(ret));
|
gnutls_strerror(ret));
|
||||||
ret = -1;
|
ret = -1;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user