server: change how operation credentials are presented

This commit is contained in:
Michael Davidsaver
2020-12-26 13:14:07 -08:00
parent dbed32309e
commit 9ec69c784a
9 changed files with 94 additions and 111 deletions
+2 -32
View File
@@ -172,8 +172,7 @@ struct ServerGPRConnect : public server::ConnectOp
default: _op = None; break; // should never be reached
}
_name = name;
_peerName = conn->peerName;
_ifaceName = conn->iface->name;
_cred = conn->cred;
_pvRequest = request;
}
virtual ~ServerGPRConnect() {
@@ -251,20 +250,6 @@ struct ServerGPRConnect : public server::ConnectOp
});
}
virtual std::pair<std::string, Value> rawCredentials() const override final
{
std::pair<std::string, Value> ret;
auto serv = server.lock();
if(serv)
serv->acceptor_loop.call([this, &ret](){
if(auto oper = op.lock())
if(auto chan = oper->chan.lock())
if(auto conn = chan->conn.lock())
ret = std::make_pair(conn->autoMethod, conn->credentials.clone());
});
return ret;
}
const std::weak_ptr<server::Server::Pvt> server;
const std::weak_ptr<ServerGPR> op;
@@ -289,8 +274,7 @@ struct ServerGPRExec : public server::ExecOp
default: _op = None; break; // should never be reached
}
_name = name;
_peerName = conn->peerName;
_ifaceName = conn->iface->name;
_cred = conn->cred;
}
virtual ~ServerGPRExec() {}
@@ -336,20 +320,6 @@ struct ServerGPRExec : public server::ExecOp
});
}
virtual std::pair<std::string, Value> rawCredentials() const override final
{
std::pair<std::string, Value> ret;
auto serv = server.lock();
if(serv)
serv->acceptor_loop.call([this, &ret](){
if(auto oper = op.lock())
if(auto chan = oper->chan.lock())
if(auto conn = chan->conn.lock())
ret = std::make_pair(conn->autoMethod, conn->credentials.clone());
});
return ret;
}
const std::weak_ptr<server::Server::Pvt> server;
const std::weak_ptr<ServerGPR> op;