mirror of
https://github.com/ProtonMail/proton-bridge.git
synced 2025-12-22 18:16:43 +00:00
Other: update gui tester to support latest changes in gRPC implementation.
This commit is contained in:
@ -420,8 +420,6 @@ SPStreamEvent newDiskCachePathChangeFinishedEvent()
|
||||
return wrapCacheEvent(cacheEvent);
|
||||
}
|
||||
|
||||
SPStreamEvent newChangeMailServerSettingsFinished(); ///< Create a new ChangeMailServerSettingsFinished event.
|
||||
|
||||
//****************************************************************************************************************************************************
|
||||
/// \param[in] errorType The error type.
|
||||
/// \return The event.
|
||||
@ -440,10 +438,10 @@ SPStreamEvent newMailServerSettingsErrorEvent(grpc::MailServerSettingsErrorType
|
||||
/// \param[in] settings The settings.
|
||||
/// \return The event.
|
||||
//****************************************************************************************************************************************************
|
||||
SPStreamEvent newMailServerSettingsChanged(grpc::ImapSmtpSettings *settings)
|
||||
SPStreamEvent newMailServerSettingsChanged(grpc::ImapSmtpSettings const &settings)
|
||||
{
|
||||
auto event = new grpc::MailServerSettingsChangedEvent;
|
||||
event->set_allocated_settings(settings);
|
||||
event->set_allocated_settings(new grpc::ImapSmtpSettings(settings));
|
||||
auto mailServerSettingsEvent = new grpc::MailServerSettingsEvent;
|
||||
mailServerSettingsEvent->set_allocated_mailserversettingschanged(event);
|
||||
return wrapMailServerSettingsEvent(mailServerSettingsEvent);
|
||||
|
||||
@ -60,7 +60,7 @@ SPStreamEvent newDiskCachePathChangeFinishedEvent(); ///< Create a new DiskCache
|
||||
|
||||
// Mail settings related events
|
||||
SPStreamEvent newMailServerSettingsErrorEvent(grpc::MailServerSettingsErrorType errorType); ///< Create a new MailSettingsErrorEvent event.
|
||||
SPStreamEvent newMailServerSettingsChanged(grpc::ImapSmtpSettings settings); ///< Create a new ConnectionModeChanged event.
|
||||
SPStreamEvent newMailServerSettingsChanged(grpc::ImapSmtpSettings const &settings); ///< Create a new ConnectionModeChanged event.
|
||||
SPStreamEvent newChangeMailServerSettingsFinished(); ///< Create a new ChangeMailServerSettingsFinished event.
|
||||
|
||||
// keychain related events
|
||||
|
||||
@ -40,14 +40,6 @@ qint64 const grpcConnectionWaitTimeoutMs = 60000; ///< Timeout for the connectio
|
||||
qint64 const grpcConnectionRetryDelayMs = 10000; ///< Retry delay for the gRPC connection in milliseconds.
|
||||
|
||||
|
||||
//****************************************************************************************************************************************************
|
||||
/// return true if gRPC connection should use file socket instead of TCP socket.
|
||||
//****************************************************************************************************************************************************
|
||||
bool useFileSocket() {
|
||||
return !onWindows();
|
||||
}
|
||||
|
||||
|
||||
} // anonymous namespace
|
||||
|
||||
|
||||
@ -124,7 +116,7 @@ bool GRPCClient::connectToServer(GRPCConfig const &config, ProcessMonitor *serve
|
||||
serverToken_ = config.token.toStdString();
|
||||
QString address;
|
||||
grpc::ChannelArguments chanArgs;
|
||||
if (useFileSocket())
|
||||
if (useFileSocketForGRPC())
|
||||
{
|
||||
address = QString("unix://" + config.fileSocketPath);
|
||||
chanArgs.SetSslTargetNameOverride("127.0.0.1"); // for file socket, we skip name verification to avoid a confusion localhost/127.0.0.1
|
||||
|
||||
@ -69,6 +69,14 @@ QString serverKeyFilename()
|
||||
}
|
||||
|
||||
|
||||
} // anonymous namespace
|
||||
|
||||
|
||||
//****************************************************************************************************************************************************
|
||||
/// return true if gRPC connection should use file socket instead of TCP socket.
|
||||
//****************************************************************************************************************************************************
|
||||
bool useFileSocketForGRPC() {
|
||||
return !onWindows();
|
||||
}
|
||||
|
||||
|
||||
@ -278,4 +286,22 @@ void userToGRPC(User const &user, grpc::User &outGRPCUser)
|
||||
}
|
||||
|
||||
|
||||
//****************************************************************************************************************************************************
|
||||
/// \return The path to a file that can be used for a gRPC file socket.
|
||||
/// \return A null string if no path could be found.
|
||||
//****************************************************************************************************************************************************
|
||||
QString getAvailableFileSocketPath()
|
||||
{
|
||||
QDir const tempDir(QStandardPaths::writableLocation(QStandardPaths::TempLocation));
|
||||
for (qint32 i = 0; i < 10000; i++) {
|
||||
QString const path = tempDir.absoluteFilePath(QString("bridge_%1.sock").arg(qint32(i), 4, 10, QChar('0')));
|
||||
QFile f(path);
|
||||
if ((!f.exists()) || f.remove())
|
||||
return path;
|
||||
}
|
||||
|
||||
return QString();
|
||||
}
|
||||
|
||||
|
||||
} // namespace bridgepp
|
||||
@ -46,6 +46,8 @@ grpc::UserState userStateToGRPC(UserState state); ///< Convert a bridgepp::UserS
|
||||
UserState userStateFromGRPC(grpc::UserState state); ///< Convert a grpc::UserState to a bridgepp::UserState.
|
||||
void userToGRPC(User const &user, grpc::User &outGRPCUser); ///< Convert a bridgepp::User to a grpc::User.
|
||||
SPUser userFromGRPC(grpc::User const &grpcUser); ///< Create a bridgepp::User from a grpc::User.
|
||||
bool useFileSocketForGRPC(); ///< Check whether the Bridge gRPC service should use file sockets instead of TCP sockets.
|
||||
QString getAvailableFileSocketPath(); ///< Return the path of a new available socket, or a null string if none could be found.
|
||||
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user