Merge branch 'sysdeps-publish' into 'master'

sysdeps: Clarify bus address publication

See merge request dbus/dbus!240
This commit is contained in:
Ralf Habacker 2021-12-15 13:54:12 +00:00
commit 28d585cdb7
4 changed files with 21 additions and 14 deletions

View file

@ -4632,19 +4632,10 @@ _dbus_append_keyring_directory_for_credentials (DBusString *directory,
return FALSE;
}
//PENDING(kdab) docs
dbus_bool_t
_dbus_daemon_publish_session_bus_address (const char* addr,
const char *scope)
{
return TRUE;
}
//PENDING(kdab) docs
/* Documented in dbus-sysdeps-win.c, does nothing on Unix */
void
_dbus_daemon_unpublish_session_bus_address (void)
{
}
/**

View file

@ -3127,6 +3127,22 @@ _dbus_daemon_publish_session_bus_address (const char* address, const char *scope
return TRUE;
}
/**
* Clear the platform-specific centralized location where the session
* bus address is published.
*
* This must only be called if \ref DBusServer.published_address is #TRUE,
* which is be the case if and only if platform-specific code has published
* the address centrally.
*
* On Windows, this is implemented by closing a global shared memory segment.
*
* On Unix, the session bus address is not published in a centralized
* location by libdbus, so this function does nothing. The closest
* equivalent on Unix is that the session bus address is published by the
* dbus-launch tool, and unpublished automatically when the dbus-launch
* tool exits.
*/
void
_dbus_daemon_unpublish_session_bus_address (void)
{

View file

@ -110,6 +110,10 @@ dbus_bool_t _dbus_win_event_wait (HANDLE handle, int timeout, DBusError *error);
DBUS_PRIVATE_EXPORT
dbus_bool_t _dbus_win_event_free (HANDLE handle, DBusError *error);
dbus_bool_t _dbus_daemon_is_session_bus_address_published (const char *scope);
dbus_bool_t _dbus_daemon_publish_session_bus_address (const char *address,
const char *shm_name);
#endif
/** @} end of sysdeps-win.h */

View file

@ -307,10 +307,6 @@ dbus_bool_t _dbus_windows_user_is_process_owner (const char *windows_sid)
dbus_bool_t _dbus_append_keyring_directory_for_credentials (DBusString *directory,
DBusCredentials *credentials);
dbus_bool_t _dbus_daemon_is_session_bus_address_published (const char *scope);
dbus_bool_t _dbus_daemon_publish_session_bus_address (const char* address, const char* shm_name);
void _dbus_daemon_unpublish_session_bus_address (void);
dbus_bool_t _dbus_socket_can_pass_unix_fd(DBusSocket fd);