diff --git a/Buffer.cpp b/Buffer.cpp
index 3ca280f..44aabcd 100644
--- a/Buffer.cpp
+++ b/Buffer.cpp
@@ -46,8 +46,9 @@ BufferInitialize (
{
Log(
__FILE__, __FUNCTION__, __LINE__, LOG_LEVEL_ERROR,
- "[!] %sUnable to open outfile '%S'%s (error %u).",
- COLOR_RED, pBuffer->szFileName, COLOR_RESET, GetLastError()
+ "[!] %sUnable to open outfile%s '%S' (error %u).",
+ COLOR_RED, COLOR_RESET,
+ pBuffer->szFileName, GetLastError()
);
return FALSE;
}
@@ -95,7 +96,8 @@ BufferClose (
{
Log(
__FILE__, __FUNCTION__, __LINE__, LOG_LEVEL_ERROR,
- "[!] %sUnable to save buffer%s.", COLOR_RED, COLOR_RESET
+ "[!] %sUnable to save buffer%s.",
+ COLOR_RED, COLOR_RESET
);
return FALSE;
}
@@ -156,7 +158,8 @@ BufferWrite (
{
Log(
__FILE__, __FUNCTION__, __LINE__, LOG_LEVEL_ERROR,
- "[!] %sUnable to save buffer%s.", COLOR_RED, COLOR_RESET
+ "[!] %sUnable to save buffer%s.",
+ COLOR_RED, COLOR_RESET
);
return 0;
}
@@ -267,7 +270,8 @@ BufferWriteFromFile (
{
Log(
__FILE__, __FUNCTION__, __LINE__, LOG_LEVEL_ERROR,
- "[!] %sCannot get file size%s (error %u).", COLOR_RED, COLOR_RESET, GetLastError()
+ "[!] %sCannot get file size%s (error %u).",
+ COLOR_RED, COLOR_RESET, GetLastError()
);
return 0;
}
@@ -286,7 +290,8 @@ BufferWriteFromFile (
{
Log(
__FILE__, __FUNCTION__, __LINE__, LOG_LEVEL_ERROR,
- "[!] %sCannot read file %s (error %u).", COLOR_RED, COLOR_RESET, GetLastError()
+ "[!] %sCannot read file%s (error %u).",
+ COLOR_RED, COLOR_RESET, GetLastError()
);
break;
}
diff --git a/Engine.cpp b/Engine.cpp
index b00ffaf..162ae5c 100644
--- a/Engine.cpp
+++ b/Engine.cpp
@@ -71,7 +71,8 @@ Process (
{
Log(
__FILE__, __FUNCTION__, __LINE__, LOG_LEVEL_ERROR,
- "[!] %sDC Locator is disabled, but no domain specified%s.", COLOR_RED, COLOR_RESET
+ "[!] %sDC Locator is disabled, but no domain specified%s.",
+ COLOR_RED, COLOR_RESET
);
return FALSE;
}
@@ -282,8 +283,8 @@ Process (
{
Log(
__FILE__, __FUNCTION__, __LINE__, LOG_LEVEL_CRITICAL,
- "[!] %sUnable to open table file '%S'%s (error %u).",
- COLOR_RED, szDirectory, COLOR_RESET, GetLastError()
+ "[!] %sUnable to open table file%s '%S' (error %u).",
+ COLOR_RED, COLOR_RESET, szDirectory, GetLastError()
);
pGlobalConfig->TableFile.hFile = NULL;
return FALSE;
@@ -400,7 +401,8 @@ Process (
{
Log(
__FILE__, __FUNCTION__, __LINE__, LOG_LEVEL_ERROR,
- "[!] %sUnable to enumerate trust (error %u).%s", COLOR_RED, dwResult, COLOR_RESET
+ "[!] %sUnable to enumerate trust (error %u).%s",
+ COLOR_RED, dwResult, COLOR_RESET
);
}
else
@@ -528,7 +530,8 @@ pLocateDc (
{
Log(
__FILE__, __FUNCTION__, __LINE__, LOG_LEVEL_ERROR,
- "[!] %sUnable to locate DC for domain '%S'%s (error %u).", COLOR_RED, szDomainName, COLOR_RESET, dwResult
+ "[!] %sUnable to locate DC for domain '%S'%s (error %u).",
+ COLOR_RED, szDomainName, COLOR_RESET, dwResult
);
return FALSE;
}
diff --git a/Filters.cpp b/Filters.cpp
index 4169247..30ec7d1 100644
--- a/Filters.cpp
+++ b/Filters.cpp
@@ -122,7 +122,8 @@ GetFilter (
{
Log(
__FILE__, __FUNCTION__, __LINE__, LOG_LEVEL_ERROR,
- "[!] %sUnknown filter '%S'.%s", COLOR_RED, szFilter, COLOR_RESET
+ "[!] %sUnknown filter%s '%S'.",
+ COLOR_RED, COLOR_RESET, szFilter
);
return FALSE;
}
diff --git a/LDAP.cpp b/LDAP.cpp
index ea2f068..4220388 100644
--- a/LDAP.cpp
+++ b/LDAP.cpp
@@ -261,7 +261,8 @@ LdapProcessRequest (
{
Log(
__FILE__, __FUNCTION__, __LINE__, LOG_LEVEL_ERROR,
- "[!] %sCannot allocate memory%s (error %u).", COLOR_RED, COLOR_RESET, GetLastError()
+ "[!] %sCannot allocate memory%s (error %u).",
+ COLOR_RED, COLOR_RESET, GetLastError()
);
return FALSE;
}
@@ -286,7 +287,8 @@ LdapProcessRequest (
{
Log(
__FILE__, __FUNCTION__, __LINE__, LOG_LEVEL_ERROR,
- "[!] %sCannot allocate memory%s (error %u).", COLOR_RED, COLOR_RESET, GetLastError()
+ "[!] %sCannot allocate memory%s (error %u).",
+ COLOR_RED, COLOR_RESET, GetLastError()
);
return FALSE;
}
@@ -412,7 +414,8 @@ LdapProcessRequest (
{
Log(
__FILE__, __FUNCTION__, __LINE__, LOG_LEVEL_ERROR,
- "[!] %sCannot allocate memory%s (error %u).", COLOR_RED, COLOR_RESET, GetLastError()
+ "[!] %sCannot allocate memory%s (error %u).",
+ COLOR_RED, COLOR_RESET, GetLastError()
);
return FALSE;
}
@@ -522,7 +525,8 @@ LdapProcessRequest (
{
Log(
__FILE__, __FUNCTION__, __LINE__, LOG_LEVEL_ERROR,
- "[!] %sCannot allocate memory%s (error %u).", COLOR_RED, COLOR_RESET, GetLastError()
+ "[!] %sCannot allocate memory%s (error %u).",
+ COLOR_RED, COLOR_RESET, GetLastError()
);
if (bBufferOpen == TRUE)
@@ -1080,8 +1084,8 @@ LdapProcessRequest (
else
Log(
__FILE__, __FUNCTION__, __LINE__, LOG_LEVEL_ERROR,
- "[!] %sUnknwon boolean value ('%S').%s",
- COLOR_RED, ppValue[0], COLOR_RESET
+ "[!] %sUnknwon boolean value%s ('%S').",
+ COLOR_RED, COLOR_RESET, ppValue[0]
);
}
}
@@ -1277,8 +1281,8 @@ pLdapOpenConnection (
ulResult = LdapGetLastError();
Log(
__FILE__, __FUNCTION__, __LINE__, LOG_LEVEL_ERROR,
- "[!] %sUnable to open LDAP connection to '%S'%s (error %u: %s).",
- COLOR_RED, szServerName, COLOR_RESET, ulResult, ldap_err2stringA(ulResult)
+ "[!] %sUnable to open LDAP connection%s to '%S' (error %u: %s).",
+ COLOR_RED, COLOR_RESET, szServerName, ulResult, ldap_err2stringA(ulResult)
);
return NULL;
}
@@ -1288,7 +1292,8 @@ pLdapOpenConnection (
{
Log(
__FILE__, __FUNCTION__, __LINE__, LOG_LEVEL_ERROR,
- "[!] %sUnable to connect to LDAP server%s (error %u: %s).", COLOR_RED, COLOR_RESET, ulResult, ldap_err2stringA(ulResult)
+ "[!] %sUnable to connect to LDAP server%s (error %u: %s).",
+ COLOR_RED, COLOR_RESET, ulResult, ldap_err2stringA(ulResult)
);
ldap_unbind(pLdapHandle);
return NULL;
@@ -1367,7 +1372,8 @@ pLdapOpenConnection (
{
Log(
__FILE__, __FUNCTION__, __LINE__, LOG_LEVEL_ERROR,
- "[!] %sUnable to bind to LDAP server%s (error %u: %s).", COLOR_RED, COLOR_RESET, ulResult, ldap_err2stringA(ulResult)
+ "[!] %sUnable to bind to LDAP server%s (error %u: %s).",
+ COLOR_RED, COLOR_RESET, ulResult, ldap_err2stringA(ulResult)
);
ldap_unbind(pLdapHandle);
return NULL;
@@ -1535,7 +1541,8 @@ pWriteTableInfo (
{
Log(
__FILE__, __FUNCTION__, __LINE__, LOG_LEVEL_ERROR,
- "[!] %sData type unknown.%s", COLOR_RED, COLOR_RESET
+ "[!] %sData type unknown%s.",
+ COLOR_RED, COLOR_RESET
);
return FALSE;
}
diff --git a/MLA.cpp b/MLA.cpp
index 6e968ee..14c63a5 100644
--- a/MLA.cpp
+++ b/MLA.cpp
@@ -289,7 +289,8 @@ MlaAddFileFromFile (
{
Log(
__FILE__, __FUNCTION__, __LINE__, LOG_LEVEL_ERROR,
- "[!] %sCannot get file size%s (error %u).", COLOR_RED, COLOR_RESET, GetLastError()
+ "[!] %sCannot get file size%s (error %u).",
+ COLOR_RED, COLOR_RESET, GetLastError()
);
goto End;
}
diff --git a/ORADAD.rc b/ORADAD.rc
index 63ba48a..a7a0a87 100644
Binary files a/ORADAD.rc and b/ORADAD.rc differ
diff --git a/Sysvol.cpp b/Sysvol.cpp
index a5d6dda..bcc4f16 100644
--- a/Sysvol.cpp
+++ b/Sysvol.cpp
@@ -5,6 +5,9 @@
#include "ORADAD.h"
#include "lz4/xxhash.h"
+// In this file, errors are treated as warning (which may be legitimate for permissions on GPO
+// not authorizing access) and to not worry users
+
#define SYSVOL_ROW_COUNT 14
#define GUID_STR_SIZE 38 // {23456789-1234-6789-1234-678901234567}
@@ -129,8 +132,8 @@ ProcessSysvol (
{
Log(
__FILE__, __FUNCTION__, __LINE__, LOG_LEVEL_ERROR,
- "[!] %sUnable to logon with explicit credentials (error %u).%s",
- COLOR_RED, GetLastError(), COLOR_RESET
+ "[!] %sUnable to logon with explicit credentials%s (error %u).",
+ COLOR_RED, COLOR_RESET, GetLastError()
);
goto End;
}
@@ -172,8 +175,8 @@ ProcessSysvol (
{
Log(
__FILE__, __FUNCTION__, __LINE__, LOG_LEVEL_ERROR,
- "[!] %sUnable to logon with explicit credentials (error %u).%s",
- COLOR_RED, GetLastError(), COLOR_RESET
+ "[!] %sUnable to logon with explicit credentials%s (error %u).",
+ COLOR_RED, COLOR_RESET, GetLastError()
);
goto End;
}
@@ -432,9 +435,9 @@ pProcessSysvolFile (
dwInitialError = GetLastError();
Log(
__FILE__, __FUNCTION__, __LINE__,
- (dwInitialError == ERROR_ACCESS_DENIED) ? LOG_LEVEL_VERBOSE : LOG_LEVEL_ERROR,
- "[!] %sCannot open sysvol file '%S'%s (error %u).",
- COLOR_RED, szFileName, COLOR_RESET, dwInitialError
+ (dwInitialError == ERROR_ACCESS_DENIED) ? LOG_LEVEL_VERBOSE : LOG_LEVEL_WARNING,
+ "[!] %sCannot open sysvol file%s '%S' (error %u).",
+ COLOR_YELLOW, COLOR_RESET, szFileName, dwInitialError
);
bHaveFileSecurityInfo = FALSE;
}
@@ -443,9 +446,9 @@ pProcessSysvolFile (
if (bResult == FALSE)
{
Log(
- __FILE__, __FUNCTION__, __LINE__, LOG_LEVEL_ERROR,
- "[!] %sCannot get file attributes for '%S'%s (error %u).",
- COLOR_RED, szFileName, COLOR_RESET, GetLastError()
+ __FILE__, __FUNCTION__, __LINE__, LOG_LEVEL_WARNING,
+ "[!] %sCannot get file attributes%s for '%S' (error %u).",
+ COLOR_YELLOW, COLOR_RESET, szFileName, GetLastError()
);
bHaveFileInfo = FALSE;
}
@@ -476,8 +479,9 @@ pProcessSysvolFile (
if (dwRet != ERROR_SUCCESS)
{
Log(
- __FILE__, __FUNCTION__, __LINE__, LOG_LEVEL_ERROR,
- "[!] %sCannot get security descriptor for '%S' (error %u).%s", COLOR_RED, szFileName, dwRet, COLOR_RESET
+ __FILE__, __FUNCTION__, __LINE__, LOG_LEVEL_WARNING,
+ "[!] %sCannot get security descriptor%s for '%S' (error %u).",
+ COLOR_YELLOW, COLOR_RESET, szFileName, dwRet
);
bHaveFileSecurityInfo = FALSE;
}
@@ -487,8 +491,9 @@ pProcessSysvolFile (
if (bResult == FALSE)
{
Log(
- __FILE__, __FUNCTION__, __LINE__, LOG_LEVEL_ERROR,
- "[!] %sCannot get security descriptor control for '%S' (error %u).%s", COLOR_RED, szFileName, GetLastError(), COLOR_RESET
+ __FILE__, __FUNCTION__, __LINE__, LOG_LEVEL_WARNING,
+ "[!] %sCannot get security descriptor control%s for '%S' (error %u).",
+ COLOR_YELLOW, COLOR_RESET, szFileName, GetLastError()
);
bHaveFileSecurityInfo = FALSE;
}
@@ -505,7 +510,8 @@ pProcessSysvolFile (
// SD should never be absolute, if necessary, should convert it here. For now, fail.
Log(
__FILE__, __FUNCTION__, __LINE__, LOG_LEVEL_WARNING,
- "[!] %sSecurity descriptor for '%S' is not relative.%s", COLOR_YELLOW, szFileName, COLOR_RESET
+ "[!] %sSecurity descriptor for '%S' is not relative%s.",
+ COLOR_YELLOW, szFileName, COLOR_RESET
);
bHaveFileSecurityInfo = FALSE;
}
@@ -657,8 +663,9 @@ pProcessSysvolFile (
{
dwErrorCode = GetLastError();
Log(
- __FILE__, __FUNCTION__, __LINE__, LOG_LEVEL_ERROR,
- "[!] %sCannot open sysvol file '%S' for read (error %u).%s", COLOR_RED, szFileName, dwErrorCode, COLOR_RESET
+ __FILE__, __FUNCTION__, __LINE__, LOG_LEVEL_WARNING,
+ "[!] %sCannot open sysvol file%s '%S' for read (error %u).",
+ COLOR_YELLOW, COLOR_RESET, szFileName, dwErrorCode
);
}
else
diff --git a/Util.cpp b/Util.cpp
index 7188801..38676f8 100644
--- a/Util.cpp
+++ b/Util.cpp
@@ -231,7 +231,8 @@ LPWSTRtoLPSTR (
Fail:
Log(
__FILE__, __FUNCTION__, __LINE__, LOG_LEVEL_ERROR,
- "[!] %sLPWSTRtoLPSTR(%S) failed.%s", COLOR_RED, szToConvert, COLOR_RESET
+ "[!] %sLPWSTRtoLPSTR(%S) failed%s.",
+ COLOR_RED, szToConvert, COLOR_RESET
);
return NULL;
diff --git a/XML.cpp b/XML.cpp
index a6f4458..c23ed93 100644
--- a/XML.cpp
+++ b/XML.cpp
@@ -1034,7 +1034,8 @@ pXmlParseRequest (
{
Log(
__FILE__, __FUNCTION__, __LINE__, LOG_LEVEL_ERROR,
- "[!] %sCannot allocate memory%s (error %u).", COLOR_RED, COLOR_RESET, GetLastError()
+ "[!] %sCannot allocate memory%s (error %u).",
+ COLOR_RED, COLOR_RESET, GetLastError()
);
break;
}
diff --git a/oradad-schema.xml b/oradad-schema.xml
index cb8402f..d485f9c 100644
--- a/oradad-schema.xml
+++ b/oradad-schema.xml
@@ -446,12 +446,20 @@
msDS-ShadowPrincipal
- All msDS-ShadowPrincipal from domain
+ All msDS-ShadowPrincipal from configuration partitions
configuration
subtree
(objectClass=msDS-ShadowPrincipal)
msDS-ShadowPrincipal
+
+ displaySpecifier
+ All displaySpecifier from configuration partitions
+ configuration
+ subtree
+ (objectClass=displaySpecifier)
+ displaySpecifier
+
dnsZone
@@ -520,6 +528,14 @@
(objectClass=msExchAdminGroup)
msExchAdminGroup
+
+ exchange_mrs_request
+ msExchMRSRequest informations
+ configuration
+ subtree
+ (objectClass=msExchMRSRequest)
+ msExchMRSRequest
+
exchange_role
@@ -782,7 +798,7 @@
-
+
@@ -2530,9 +2546,9 @@
-
-
-
+
+
+
@@ -2542,7 +2558,7 @@
-
+
@@ -2805,7 +2821,7 @@
-
+