GNUnet is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
- by the Free Software Foundation; either version 2, or (at your
+ by the Free Software Foundation; either version 3, or (at your
option) any later version.
GNUnet is distributed in the hope that it will be useful, but
#include "winproc.h"
#include "platform.h"
+#include "gnunet_crypto_lib.h"
#include "gnunet_common.h"
#include "gnunet_connection_lib.h"
#include <ntdef.h>
-
#ifndef INHERITED_ACE
#define INHERITED_ACE 0x10
#endif
ULONG Length; \
DWORD Flags; \
}; \
- }; \
+ };
#define _IP_ADAPTER_UNICAST_ADDRESS_BASE \
SOCKET_ADDRESS Address; \
_IP_ADAPTER_UNICAST_ADDRESS_DEFINE(_VISTA,_IP_ADAPTER_UNICAST_ADDRESS_ADD_VISTA)
+#ifndef __MINGW64_VERSION_MAJOR
typedef struct _IP_ADAPTER_WINS_SERVER_ADDRESS {
union {
ULONGLONG Alignment;
struct _IP_ADAPTER_GATEWAY_ADDRESS *Next;
SOCKET_ADDRESS Address;
} IP_ADAPTER_GATEWAY_ADDRESS, *PIP_ADAPTER_GATEWAY_ADDRESS, *PIP_ADAPTER_GATEWAY_ADDRESS_LH;
+#endif
typedef UINT32 NET_IF_COMPARTMENT_ID;
typedef GUID NET_IF_NETWORK_GUID;
+#ifndef __MINGW64_VERSION_MAJOR
typedef enum _NET_IF_CONNECTION_TYPE {
NET_IF_CONNECTION_DEDICATED = 1,
NET_IF_CONNECTION_PASSIVE,
NET_IF_CONNECTION_DEMAND,
- NET_IF_CONNECTION_MAXIMUM
+ NET_IF_CONNECTION_MAXIMUM
} NET_IF_CONNECTION_TYPE, *PNET_IF_CONNECTION_TYPE;
typedef enum {
TUNNEL_TYPE_6TO4,
TUNNEL_TYPE_ISATAP,
TUNNEL_TYPE_TEREDO,
- TUNNEL_TYPE_IPHTTPS
+ TUNNEL_TYPE_IPHTTPS
} TUNNEL_TYPE, *PTUNNEL_TYPE;
+#endif
/*
A DUID consists of a two-octet type code represented in network byte
*/
#define MAX_DHCPV6_DUID_LENGTH 130
+#ifndef __MINGW64_VERSION_MAJOR
typedef union _NET_LUID {
ULONG64 Value;
struct {
struct _IP_ADAPTER_DNS_SUFFIX *Next;
WCHAR String[MAX_DNS_SUFFIX_STRING_LENGTH];
} IP_ADAPTER_DNS_SUFFIX, *PIP_ADAPTER_DNS_SUFFIX;
+#endif
_IP_ADAPTER_ADDRESSES_BASE \
addition \
} IP_ADAPTER_ADDRESSES##suffix, *PIP_ADAPTER_ADDRESSES##suffix;
-
+
/* _IP_ADAPTER_ADDRESSES_DEFINE(,) defined in w32api headers */
_IP_ADAPTER_ADDRESSES_DEFINE(_XPSP1,_IP_ADAPTER_ADDRESSES_ADD_XPSP1)
return 2;
if (! (hService = GNOpenService(hManager, (LPCTSTR) servicename, DELETE)))
+ {
if (GetLastError() != ERROR_SERVICE_DOES_NOT_EXIST)
return 3;
- else
- goto closeSCM;
+ else
+ goto closeSCM;
+ }
if (! GNDeleteService(hService))
if (GetLastError() != ERROR_SERVICE_MARKED_FOR_DELETE)
&PrivilegeString, /* privileges */
1 /* privilege count */
);
+ return i;
}
else
{
ui2.usri1008_flags = UF_PASSWD_CANT_CHANGE | UF_DONT_EXPIRE_PASSWD;
GNNetUserSetInfo(NULL, wszName, 1008, (LPBYTE)&ui2, NULL);
- if (_OpenPolicy(NULL, POLICY_ALL_ACCESS, &hPolicy) !=
- STATUS_SUCCESS)
+ if (!NT_SUCCESS(_OpenPolicy(NULL, POLICY_ALL_ACCESS, &hPolicy)))
return 3;
_GetAccountSid(NULL, (LPCTSTR) pszName, &pSID);
- if (_SetPrivilegeOnAccount(hPolicy, pSID, (LPWSTR) L"SeServiceLogonRight", TRUE) != STATUS_SUCCESS)
+ if (!NT_SUCCESS(_SetPrivilegeOnAccount(hPolicy, pSID, (LPWSTR) L"SeServiceLogonRight", TRUE)))
return 4;
_SetPrivilegeOnAccount(hPolicy, pSID, (LPWSTR) L"SeDenyInteractiveLogonRight", TRUE);