mirror of
https://gitlab.freedesktop.org/dbus/dbus.git
synced 2026-01-04 01:30:22 +01:00
Add test for windows sid.
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=54445 Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
This commit is contained in:
parent
b417088ff7
commit
87d40ec950
3 changed files with 24 additions and 3 deletions
|
|
@ -984,7 +984,7 @@ static BOOL is_winxp_sp3_or_lower()
|
|||
* @param process_id the process id for which the sid should be returned
|
||||
* @returns process sid
|
||||
*/
|
||||
static dbus_bool_t
|
||||
dbus_bool_t
|
||||
_dbus_getsid(char **sid, dbus_pid_t process_id)
|
||||
{
|
||||
HANDLE process_token = INVALID_HANDLE_VALUE;
|
||||
|
|
|
|||
|
|
@ -88,6 +88,7 @@ dbus_bool_t _dbus_get_install_root(char *prefix, int len);
|
|||
void _dbus_threads_windows_init_global (void);
|
||||
void _dbus_threads_windows_ensure_ctor_linked (void);
|
||||
|
||||
dbus_bool_t _dbus_getsid(char **sid, dbus_pid_t process_id);
|
||||
#endif
|
||||
|
||||
/** @} end of sysdeps-win.h */
|
||||
|
|
|
|||
|
|
@ -369,6 +369,28 @@ test_creds (Fixture *f,
|
|||
seen |= SEEN_UNIX_USER;
|
||||
#else
|
||||
g_assert_not_reached ();
|
||||
#endif
|
||||
}
|
||||
else if (g_strcmp0 (name, "WindowsSID") == 0)
|
||||
{
|
||||
#ifdef G_OS_WIN32
|
||||
gchar *sid;
|
||||
guint32 result;
|
||||
char *self_sid;
|
||||
|
||||
g_assert (!(seen & SEEN_WINDOWS_SID));
|
||||
g_assert_cmpuint (dbus_message_iter_get_arg_type (&var_iter), ==,
|
||||
DBUS_TYPE_STRING);
|
||||
dbus_message_iter_get_basic (&var_iter, &sid);
|
||||
g_message ("%s of this process is %s", name, sid);
|
||||
if (_dbus_getsid (&self_sid, 0))
|
||||
{
|
||||
g_assert_cmpstr (self_sid, ==, sid);
|
||||
LocalFree(self_sid);
|
||||
}
|
||||
seen |= SEEN_WINDOWS_SID;
|
||||
#else
|
||||
g_assert_not_reached ();
|
||||
#endif
|
||||
}
|
||||
else if (g_strcmp0 (name, "ProcessID") == 0)
|
||||
|
|
@ -402,9 +424,7 @@ test_creds (Fixture *f,
|
|||
#endif
|
||||
|
||||
#ifdef G_OS_WIN32
|
||||
/* FIXME: when implemented:
|
||||
g_assert (seen & SEEN_WINDOWS_SID);
|
||||
*/
|
||||
#endif
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue