int sign_performAction_Authenticate(Plugin *plugin) { PipeInfo pipeinfo; openPipes(&pipeinfo, plugin); sendHeader(&pipeinfo, plugin, PC_Authenticate); sendSignCommon(&pipeinfo, plugin); plugin->lastError = waitReply(&pipeinfo); plugin->info.auth.signature = pipe_readString(pipeinfo.in); closePipes(&pipeinfo); return plugin->lastError; }
int sign_performAction_Sign(Plugin *plugin) { PipeInfo pipeinfo; openPipes(&pipeinfo, plugin); sendHeader(&pipeinfo, plugin, PC_Sign); sendSignCommon(&pipeinfo, plugin); pipe_sendString(pipeinfo.out, plugin->info.sign.message); pipe_sendOptionalString(pipeinfo.out, plugin->info.sign.invisibleMessage); plugin->lastError = waitReply(&pipeinfo); plugin->info.auth.signature = pipe_readString(pipeinfo.in); closePipes(&pipeinfo); return plugin->lastError; }