It will fix the following warning:
In member function 'int SecureSocket::secureConnect(int)':
/build/deskflow.work/src/lib/net/SecureSocket.cpp:479:16: warning: 'int SSL_set1_host(SSL*, const char*)' is deprecated: Since OpenSSL 4.0 [
-Wdeprecated-declarations]
479 | SSL_set1_host(m_ssl->m_ssl, name.c_str());
| ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /build/deskflow.work/src/lib/net/SslLogger.h:8,
from /build/deskflow.work/src/lib/net/SecureSocket.cpp:20:
/usr/include/openssl/ssl.h:1922:34: note: declared here
1922 | OSSL_DEPRECATEDIN_4_0 __owur int SSL_set1_host(SSL *s, const char *host);
| ^~~~~~~~~~~~~
NOTE: It seems that SSL_set1_host setup params for hostname verification, but
it will not be used correctly afterward (See
SSL_CTX_set_cert_verify_callback
in SecureSocket::initContext). This implicit behavior cause misleading
and harmful.
Signed-off-by: Kentaro Hayashi <kenhys@xdump.org>
Since OpenSSL 4.0.0, X509_get_subject_name returns const X509_NAME
pointer, thus X509_NAME_add_entry_by_txt does not accept it anymore.
See /usr/include/openssl/x509.h.
Instead, explicitly operates it via mutable X509_NAME object.
It is safe operation without using X509_get_subject_name() because
subject name was not modified after cert = X509_new() assignment.
It will fix the following error.
error: invalid conversion from 'const X509_name_st*' to 'X509_NAME*' {aka 'X509_name
_st*'} [-fpermissive]
87 | X509_NAME_add_entry_by_txt(name, "CN", MBSTRING_ASC, reinterpret_cast<const unsigned char *>("Deskflow"), -1, -1, 0);
| ^~~~
| |
| const X509_name_st*
Signed-off-by: Kentaro Hayashi <kenhys@xdump.org>
Track InputCapture pointer barrier metadata so activation callbacks can identify the fired edge. Portal activations may report cursor positions on zone boundaries, while Deskflow switches using aggregate screen coordinates. Clamp the activation position to the portal zone, then project the fired edge onto Deskflow's aggregate screen before dispatching primary motion.
Keep barrier metadata in sync when zones are rebuilt or when the compositor rejects a requested barrier.
Move repeated InputCapture pointer barrier construction into a helper and add a small side-to-name utility for logging. This keeps the existing barrier geometry and activation handling unchanged while making later barrier metadata changes easier to review.
When macOS is the primary screen, hotkey switching to a secondary screen can leave the local cursor baseline away from the hidden-cursor center. The first physical mouse movement is then interpreted as a large secondary-screen delta.
Align macOS primary leave behavior with the Windows and X11 implementations by logging and warping the cursor to the primary-screen center before marking the screen off screen. OSXScreen::warpCursor also updates m_xCursor and m_yCursor, so the next motion delta starts from the expected center baseline.
Impact is limited to macOS primary/server leave handling; macOS secondary/client leave behavior and non-macOS builds are unchanged.
Use the new libportal API to start a CreateSession2, then set the
session persistence and read/write the tokens as required. This allows
us to start a server without a permission dialog - provided the portal
supports it and the user is ok with that.