return msg;
-error:
+ error:
VIR_WARN("Failed to generate keepalive %s", procstr);
return NULL;
}
virObjectLock(ka);
virObjectUnref(ka);
-cleanup:
+ cleanup:
virObjectUnlock(ka);
}
virObjectRef(ka);
ret = 0;
-cleanup:
+ cleanup:
virObjectUnlock(ka);
return ret;
}
client, client->sock);
return client;
-error:
+ error:
VIR_FORCE_CLOSE(wakeupFD[0]);
VIR_FORCE_CLOSE(wakeupFD[1]);
virObjectUnref(client);
goto cleanup;
sock = NULL;
-cleanup:
+ cleanup:
VIR_FREE(command);
VIR_FREE(privkey);
VIR_FREE(knownhosts);
virObjectUnref(sock);
return ret;
-no_memory:
+ no_memory:
virReportOOMError();
goto cleanup;
}
virObjectUnlock(client);
return 0;
-error:
+ error:
virObjectUnref(client->tls);
client->tls = NULL;
virObjectUnlock(client);
virObjectUnlock(client);
return 0;
-error:
+ error:
virObjectUnlock(client);
return -1;
}
virObjectUnlock(client);
return 0;
-error:
+ error:
virObjectUnlock(client);
return -1;
}
VIR_DELETE_ELEMENT(client->streams, i, client->nstreams);
virObjectUnref(st);
-cleanup:
+ cleanup:
virObjectUnlock(client);
}
}
}
-error:
+ error:
virNetClientCallRemove(&client->waitDispatch, thiscall);
virNetClientIOEventLoopPassTheBuck(client, thiscall);
return -1;
virGetLastError())
rv = -1;
-cleanup:
+ cleanup:
VIR_DEBUG("All done with our call head=%p call=%p rv=%d",
client->waitDispatch, thiscall, rv);
return rv;
NULL);
virNetClientIOUpdateCallback(client, true);
-done:
+ done:
if (client->wantClose && !client->haveTheBuck) {
virNetClientCloseLocked(client);
virNetClientCallRemovePredicate(&client->waitDispatch,
return call;
-error:
+ error:
VIR_FREE(call);
return NULL;
}
ret = 0;
-cleanup:
+ cleanup:
xdr_free((xdrproc_t)xdr_virNetMessageError, (void*)&err);
return ret;
}
xdr_free(event->msg_filter, evdata);
-cleanup:
+ cleanup:
VIR_FREE(evdata);
return 0;
}
return 0;
-error:
+ error:
virNetMessageFree(msg);
if (infds && ninfds) {
for (i = 0; i < *ninfds; i++)
ret = 0;
-cleanup:
+ cleanup:
xdr_free((xdrproc_t)xdr_virNetMessageError, (void*)&err);
virObjectUnlock(st);
return ret;
ret = 0;
-cleanup:
+ cleanup:
virObjectUnlock(st);
return ret;
}
return nbytes;
-error:
+ error:
virNetMessageFree(msg);
return -1;
}
virNetClientStreamEventTimerUpdate(st);
-cleanup:
+ cleanup:
virObjectUnlock(st);
return rv;
}
ret = 0;
-cleanup:
+ cleanup:
virObjectUnlock(st);
return ret;
}
ret = 0;
-cleanup:
+ cleanup:
virObjectUnlock(st);
return ret;
}
ret = 0;
-cleanup:
+ cleanup:
virObjectUnlock(st);
return ret;
}
ret = 0;
-cleanup:
+ cleanup:
xdr_destroy(&xdr);
return ret;
}
ret = 0;
-cleanup:
+ cleanup:
xdr_destroy(&xdr);
return ret;
}
ret = 0;
-cleanup:
+ cleanup:
xdr_destroy(&xdr);
return ret;
}
ret = 0;
-cleanup:
+ cleanup:
xdr_destroy(&xdr);
return ret;
}
ret = 0;
-cleanup:
+ cleanup:
xdr_destroy(&xdr);
return ret;
}
msg->bufferOffset = 0;
return 0;
-error:
+ error:
xdr_destroy(&xdr);
return -1;
}
xdr_destroy(&xdr);
return 0;
-error:
+ error:
xdr_destroy(&xdr);
return -1;
}
msg->bufferOffset = 0;
return 0;
-error:
+ error:
xdr_destroy(&xdr);
return -1;
}
msg->bufferOffset = 0;
return 0;
-error:
+ error:
xdr_destroy(&xdr);
return -1;
}
_("Client's username is not on the list of allowed clients"));
ret = 0;
-cleanup:
+ cleanup:
virObjectUnlock(ctxt);
return ret;
}
return sasl;
-cleanup:
+ cleanup:
virObjectUnref(sasl);
return NULL;
}
return sasl;
-cleanup:
+ cleanup:
virObjectUnref(sasl);
return NULL;
}
ret = 0;
-cleanup:
+ cleanup:
virObjectUnlock(sasl);
return ret;
}
}
VIR_DEBUG("SASL client username %s", (const char *)val);
-cleanup:
+ cleanup:
virObjectUnlock(sasl);
return (const char*)val;
}
}
ssf = *(const int *)val;
-cleanup:
+ cleanup:
virObjectUnlock(sasl);
return ssf;
}
ret = 0;
-cleanup:
+ cleanup:
virObjectUnlock(sasl);
return ret;
}
}
ignore_value(VIR_STRDUP(ret, mechlist));
-cleanup:
+ cleanup:
virObjectUnlock(sasl);
return ret;
}
break;
}
-cleanup:
+ cleanup:
virObjectUnlock(sasl);
return ret;
}
break;
}
-cleanup:
+ cleanup:
virObjectUnlock(sasl);
return ret;
}
break;
}
-cleanup:
+ cleanup:
virObjectUnlock(sasl);
return ret;
}
break;
}
-cleanup:
+ cleanup:
virObjectUnlock(sasl);
return ret;
}
}
ret = 0;
-cleanup:
+ cleanup:
virObjectUnlock(sasl);
return ret;
}
}
ret = 0;
-cleanup:
+ cleanup:
virObjectUnlock(sasl);
return ret;
}
msg) < 0)
goto cleanup;
-done:
+ done:
ret = 0;
-cleanup:
+ cleanup:
return ret;
}
VIR_FREE(job);
return;
-error:
+ error:
virObjectUnref(job->prog);
virNetMessageFree(job->msg);
virNetServerClientClose(job->client);
ret = virNetServerProcessMsg(srv, client, prog, msg);
}
-cleanup:
+ cleanup:
virObjectUnlock(srv);
return ret;
virObjectUnlock(srv);
return 0;
-error:
+ error:
virObjectUnlock(srv);
return -1;
}
return srv;
-error:
+ error:
virObjectUnref(srv);
return NULL;
}
return srv;
-error:
+ error:
virObjectUnref(srv);
return NULL;
}
return object;
-error:
+ error:
virJSONValueFree(object);
virObjectUnlock(srv);
return NULL;
}
dbus_message_unref(reply);
-cleanup:
+ cleanup:
virObjectUnlock(srv);
}
virReportError(VIR_ERR_INTERNAL_ERROR,
_("Unexpected signal received: %d"), siginfo.si_signo);
-cleanup:
+ cleanup:
virObjectUnlock(srv);
}
return 0;
-error:
+ error:
VIR_FORCE_CLOSE(fds[0]);
VIR_FORCE_CLOSE(fds[1]);
return -1;
virObjectUnlock(srv);
return 0;
-error:
+ error:
VIR_FREE(sigdata);
virObjectUnlock(srv);
return -1;
virObjectUnlock(srv);
return 0;
-error:
+ error:
virObjectUnlock(srv);
return -1;
}
virObjectUnlock(srv);
return 0;
-error:
+ error:
virObjectUnlock(srv);
return -1;
}
}
}
-cleanup:
+ cleanup:
virObjectUnlock(srv);
}
return client;
-error:
+ error:
virObjectUnref(client);
return NULL;
}
return client;
-error:
+ error:
virObjectUnref(client);
return NULL;
}
virObjectUnlock(client);
return object;
-error:
+ error:
virObjectUnlock(client);
virJSONValueFree(object);
return NULL;
seccontext) < 0)
goto error;
-cleanup:
+ cleanup:
VIR_FREE(username);
VIR_FREE(userid);
VIR_FREE(groupname);
#endif
return ret;
-error:
+ error:
virObjectUnref(ret);
ret = NULL;
goto cleanup;
virObjectUnlock(client);
return 0;
-error:
+ error:
client->wantClose = true;
virObjectUnlock(client);
return -1;
*/
static void virNetServerClientDispatchRead(virNetServerClientPtr client)
{
-readmore:
+ readmore:
if (client->rx->nfds == 0) {
if (virNetServerClientRead(client) < 0) {
client->wantClose = true;
client->keepalive = ka;
-cleanup:
+ cleanup:
virObjectUnlock(client);
return ret;
ret = virKeepAliveStart(client->keepalive, 0, 0);
-cleanup:
+ cleanup:
virObjectUnlock(client);
return ret;
}
return 0;
-error:
+ error:
VIR_WARN("Failed to serialize remote error '%p'", rerr);
xdr_free((xdrproc_t)xdr_virNetMessageError, (void*)rerr);
return -1;
return ret;
-error:
+ error:
if (msg->header.type == VIR_NET_CALL ||
msg->header.type == VIR_NET_CALL_WITH_FDS) {
ret = virNetServerProgramSendReplyError(prog, client, msg, &rerr, &msg->header);
ret = 0;
}
-cleanup:
+ cleanup:
return ret;
}
/* Put reply on end of tx queue to send out */
return virNetServerClientSendMessage(client, msg);
-error:
+ error:
/* Bad stuff (de-)serializing message, but we have an
* RPC error message we can send back to the client */
rv = virNetServerProgramSendReplyError(prog, client, msg, &rerr, &msg->header);
svc->dispatchFunc(svc, clientsock, svc->dispatchOpaque);
-cleanup:
+ cleanup:
virObjectUnref(clientsock);
}
return svc;
-error:
+ error:
virObjectUnref(svc);
return NULL;
}
return svc;
-error:
+ error:
virObjectUnref(svc);
return NULL;
}
return svc;
-error:
+ error:
virObjectUnref(svc);
return NULL;
}
return svc;
-error:
+ error:
virObjectUnref(svc);
return NULL;
}
return object;
-error:
+ error:
virJSONValueFree(object);
return NULL;
}
return sock;
-error:
+ error:
sock->fd = sock->errfd = -1; /* Caller owns fd/errfd on failure */
virObjectUnref(sock);
return NULL;
*nretsocks = nsocks;
return 0;
-error:
+ error:
for (i = 0; i < nsocks; i++)
virObjectUnref(socks[i]);
VIR_FREE(socks);
return 0;
-error:
+ error:
if (path[0] != '@')
unlink(path);
VIR_FORCE_CLOSE(fd);
return 0;
-error:
+ error:
freeaddrinfo(ai);
VIR_FORCE_CLOSE(fd);
return -1;
if (remoteAddr.data.un.sun_path[0] == '@')
remoteAddr.data.un.sun_path[0] = '\0';
-retry:
+ retry:
if (connect(fd, &remoteAddr.data.sa, remoteAddr.len) < 0) {
if ((errno == ECONNREFUSED ||
errno == ENOENT) &&
return 0;
-error:
+ error:
VIR_FORCE_CLOSE(fd);
return -1;
}
return 0;
-error:
+ error:
VIR_FORCE_CLOSE(sv[0]);
VIR_FORCE_CLOSE(sv[1]);
VIR_FORCE_CLOSE(errfd[0]);
VIR_FREE(authMethodsCopy);
return 0;
-error:
+ error:
virObjectUnref(sock);
virObjectUnref(sess);
VIR_FREE(authMethodsCopy);
virObjectUnlock(sock);
return object;
-error:
+ error:
virObjectUnlock(sock);
virJSONValueFree(object);
return NULL;
ret = 0;
-cleanup:
+ cleanup:
virObjectUnlock(sock);
return ret;
}
ret = 0;
-cleanup:
+ cleanup:
virObjectUnlock(sock);
return ret;
}
goto cleanup;
ret = 0;
-cleanup:
+ cleanup:
freecon(seccon);
virObjectUnlock(sock);
return ret;
return virNetSocketLibSSH2Read(sock, buf, len);
#endif
-reread:
+ reread:
#if WITH_GNUTLS
if (sock->tlsSession &&
virNetTLSSessionGetHandshakeStatus(sock->tlsSession) ==
return virNetSocketLibSSH2Write(sock, buf, len);
#endif
-rewrite:
+ rewrite:
#if WITH_GNUTLS
if (sock->tlsSession &&
virNetTLSSessionGetHandshakeStatus(sock->tlsSession) ==
}
ret = 1;
-cleanup:
+ cleanup:
virObjectUnlock(sock);
return ret;
}
"sock=%p fd=%d", sock, *fd);
ret = 1;
-cleanup:
+ cleanup:
virObjectUnlock(sock);
return ret;
}
fd = -1;
ret = 0;
-cleanup:
+ cleanup:
VIR_FORCE_CLOSE(fd);
virObjectUnlock(sock);
return ret;
ret = 0;
-cleanup:
+ cleanup:
virObjectUnlock(sock);
if (ret != 0)
virObjectUnref(sock);
return auth;
-error:
+ error:
VIR_FREE(auth);
return NULL;
}
responses[i].length = askcred[i].resultlen;
}
-cleanup:
+ cleanup:
if (askcred) {
for (i = 0; i < num_prompts; i++) {
char *prompt = (char *)askcred[i].prompt;
else
return -1;
-cleanup:
+ cleanup:
VIR_FREE(password);
return ret;
}
virObjectUnlock(sess);
return 0;
-error:
+ error:
VIR_FREE(user);
virObjectUnlock(sess);
return -1;
virObjectUnlock(sess);
return 0;
-error:
+ error:
VIR_FREE(user);
virObjectUnlock(sess);
return -1;
virObjectUnlock(sess);
return 0;
-error:
+ error:
VIR_FREE(user);
VIR_FREE(pass);
VIR_FREE(file);
virObjectUnlock(sess);
return 0;
-error:
+ error:
VIR_FREE(user);
virObjectUnlock(sess);
return -1;
virObjectUnlock(sess);
return 0;
-error:
+ error:
virObjectUnlock(sess);
return -1;
}
return sess;
-error:
+ error:
virObjectUnref(sess);
return NULL;
}
virObjectUnlock(sess);
return ret;
-error:
+ error:
sess->state = VIR_NET_SSH_STATE_ERROR;
virObjectUnlock(sess);
return ret;
return -1;
}
-success:
+ success:
virObjectUnlock(sess);
return read_n;
-error:
+ error:
sess->state = VIR_NET_SSH_STATE_ERROR;
virObjectUnlock(sess);
return ret;
_("write failed: %s"), msg);
}
-cleanup:
+ cleanup:
virObjectUnlock(sess);
return ret;
}
ret = 0;
-cleanup:
+ cleanup:
if (ret != 0) {
gnutls_x509_crt_deinit(cert);
cert = NULL;
ret = 0;
-cleanup:
+ cleanup:
VIR_FREE(buf);
return ret;
}
ret = 0;
-cleanup:
+ cleanup:
if (cert)
gnutls_x509_crt_deinit(cert);
for (i = 0; i < ncacerts; i++)
ret = 0;
-cleanup:
+ cleanup:
return ret;
}
return ctxt;
-error:
+ error:
if (isServer)
gnutls_dh_params_deinit(ctxt->dhParams);
gnutls_certificate_free_credentials(ctxt->x509cred);
return 0;
-error:
+ error:
VIR_FREE(*cacert);
VIR_FREE(*cacrl);
VIR_FREE(*key);
return 0;
-authdeny:
+ authdeny:
PROBE(RPC_TLS_CONTEXT_SESSION_DENY,
"ctxt=%p sess=%p dname=%s",
ctxt, sess, dnameptr);
return -1;
-authfail:
+ authfail:
PROBE(RPC_TLS_CONTEXT_SESSION_FAIL,
"ctxt=%p sess=%p",
ctxt, sess);
ret = 0;
-cleanup:
+ cleanup:
virObjectUnlock(ctxt);
virObjectUnlock(sess);
return sess;
-error:
+ error:
virObjectUnref(sess);
return NULL;
}
ret = -1;
-cleanup:
+ cleanup:
virObjectUnlock(sess);
return ret;
}
ret = -1;
-cleanup:
+ cleanup:
virObjectUnlock(sess);
return ret;
}
gnutls_strerror(ret));
ret = -1;
-cleanup:
+ cleanup:
virObjectUnlock(sess);
return ret;
}
goto cleanup;
}
-cleanup:
+ cleanup:
virObjectUnlock(sess);
return ssf;
}