HANDLES(ICALL(EVID_1, "IsAuthenticodePresent", ves_icall_System_Security_Policy_Evidence_IsAuthenticodePresent))
ICALL_TYPE(WINID, "System.Security.Principal.WindowsIdentity", WINID_1)
-ICALL(WINID_1, "GetCurrentToken", ves_icall_System_Security_Principal_WindowsIdentity_GetCurrentToken)
+HANDLES(ICALL(WINID_1, "GetCurrentToken", ves_icall_System_Security_Principal_WindowsIdentity_GetCurrentToken))
ICALL(WINID_2, "GetTokenName", ves_icall_System_Security_Principal_WindowsIdentity_GetTokenName)
ICALL(WINID_3, "GetUserToken", ves_icall_System_Security_Principal_WindowsIdentity_GetUserToken)
ICALL(WINID_4, "_GetRoles", ves_icall_System_Security_Principal_WindowsIdentity_GetRoles)
#include "mono/metadata/mono-security-windows-internals.h"
gpointer
-ves_icall_System_Security_Principal_WindowsIdentity_GetCurrentToken (void)
+mono_security_principal_windows_identity_get_current_token ()
{
- MonoError mono_error;
- error_init (&mono_error);
-
g_unsupported_api ("OpenThreadToken, OpenProcessToken");
- mono_error_set_not_supported (&mono_error, G_UNSUPPORTED_API, "OpenThreadToken, OpenProcessToken");
- mono_error_set_pending_exception (&mono_error);
-
SetLastError (ERROR_NOT_SUPPORTED);
-
return NULL;
}
+gpointer
+ves_icall_System_Security_Principal_WindowsIdentity_GetCurrentToken (MonoError *error)
+{
+ error_init (error);
+
+ mono_error_set_not_supported (error, G_UNSUPPORTED_API, "OpenThreadToken, OpenProcessToken");
+ return mono_security_principal_windows_identity_get_current_token ();
+}
+
MonoArray*
ves_icall_System_Security_Principal_WindowsIdentity_GetRoles (gpointer token)
{
}
gpointer
-ves_icall_System_Security_Principal_WindowsIdentity_GetCurrentToken (void)
+mono_security_principal_windows_identity_get_current_token (void)
{
gpointer token = NULL;
return token;
}
+gpointer
+ves_icall_System_Security_Principal_WindowsIdentity_GetCurrentToken (MonoError *error)
+{
+ error_init (error);
+ return mono_security_principal_windows_identity_get_current_token ();
+}
+
gint32
mono_security_win_get_token_name (gpointer token, gunichar2 ** uniname)
{
{
PSID sid = NULL;
guint32 size = 0;
- gpointer token = ves_icall_System_Security_Principal_WindowsIdentity_GetCurrentToken ();
+ gpointer token = mono_security_principal_windows_identity_get_current_token ();
GetTokenInformation (token, TokenUser, NULL, size, (PDWORD)&size);
if (size > 0) {
#ifndef HOST_WIN32
gpointer
-ves_icall_System_Security_Principal_WindowsIdentity_GetCurrentToken (void)
+mono_security_principal_windows_identity_get_current_token ()
{
return GINT_TO_POINTER (geteuid ());
}
+gpointer
+ves_icall_System_Security_Principal_WindowsIdentity_GetCurrentToken (MonoError *error)
+{
+ error_init (error);
+ return mono_security_principal_windows_identity_get_current_token ();
+}
+
static gint32
internal_get_token_name (gpointer token, gunichar2 ** uniname)
{
/* System.Security.Principal.WindowsIdentity */
+gpointer mono_security_principal_windows_identity_get_current_token (void);
extern MonoArray* ves_icall_System_Security_Principal_WindowsIdentity_GetRoles (gpointer token);
-extern gpointer ves_icall_System_Security_Principal_WindowsIdentity_GetCurrentToken (void);
+extern gpointer ves_icall_System_Security_Principal_WindowsIdentity_GetCurrentToken (MonoError *error);
extern MonoString* ves_icall_System_Security_Principal_WindowsIdentity_GetTokenName (gpointer token);
extern gpointer ves_icall_System_Security_Principal_WindowsIdentity_GetUserToken (MonoString *username);