diff --git a/lib/android_build/maesdk/src/main/java/com/microsoft/applications/events/Sanitizer.java b/lib/android_build/maesdk/src/main/java/com/microsoft/applications/events/Sanitizer.java index da58331de..5b105da3e 100644 --- a/lib/android_build/maesdk/src/main/java/com/microsoft/applications/events/Sanitizer.java +++ b/lib/android_build/maesdk/src/main/java/com/microsoft/applications/events/Sanitizer.java @@ -20,6 +20,7 @@ public class Sanitizer { * Multiple flags can be combined with bitwise OR (e.g., 1 | 2 = 3) * @param sendConcernLimit Maximum number of concerns to send. * @param insertWarningAtProblemLocation Insert warnings at problem location (true) or prepend (false). + * @param bypassSitePathChecks When true, IsSitePath and IsSitePathLoose checks are bypassed. * @return true if initialization was successful, false otherwise. */ private static native boolean nativeInitialize(long loggerNativePtr, @@ -29,7 +30,8 @@ private static native boolean nativeInitialize(long loggerNativePtr, String[] emailDomains, int analyzerOptions, int sendConcernLimit, - boolean insertWarningAtProblemLocation); + boolean insertWarningAtProblemLocation, + boolean bypassSitePathChecks); /** * Initializes the sanitizer with the provided configuration. * @@ -70,7 +72,8 @@ public static boolean initialize(SanitizerConfiguration config, String[] urlDoma emailDomains, analyzerOptions, sendConcernLimit, - config.isInsertWarningAtProblemLocation()); + config.isInsertWarningAtProblemLocation(), + config.isBypassSitePathChecks()); } /** diff --git a/lib/android_build/maesdk/src/main/java/com/microsoft/applications/events/SanitizerConfiguration.java b/lib/android_build/maesdk/src/main/java/com/microsoft/applications/events/SanitizerConfiguration.java index ee01ed9dd..3cd781f7e 100644 --- a/lib/android_build/maesdk/src/main/java/com/microsoft/applications/events/SanitizerConfiguration.java +++ b/lib/android_build/maesdk/src/main/java/com/microsoft/applications/events/SanitizerConfiguration.java @@ -36,6 +36,13 @@ public class SanitizerConfiguration { */ private boolean insertWarningAtProblemLocation = false; + /** + * Flag to control whether site path checks are bypassed. + * When true, IsSitePath and IsSitePathLoose checks are skipped. + * Optional. Defaults to false (site path checks are active). + */ + private boolean bypassSitePathChecks = false; + /** * Constructs a new SanitizerConfiguration with the specified logger. * @@ -97,4 +104,22 @@ public boolean isInsertWarningAtProblemLocation() { public void setInsertWarningAtProblemLocation(boolean insertAtLocation) { this.insertWarningAtProblemLocation = insertAtLocation; } + + /** + * Returns whether site path checks are bypassed. + * + * @return true if site path checks are bypassed, false if active + */ + public boolean isBypassSitePathChecks() { + return bypassSitePathChecks; + } + + /** + * Sets whether site path checks should be bypassed. + * + * @param bypass true to bypass site path checks, false to keep them active + */ + public void setBypassSitePathChecks(boolean bypass) { + this.bypassSitePathChecks = bypass; + } } \ No newline at end of file diff --git a/lib/include/public/Version.hpp b/lib/include/public/Version.hpp index e9eca7137..ce9e8fd79 100644 --- a/lib/include/public/Version.hpp +++ b/lib/include/public/Version.hpp @@ -6,8 +6,8 @@ #define MAT_VERSION_HPP // WARNING: DO NOT MODIFY THIS FILE! // This file has been automatically generated, manual changes will be lost. -#define BUILD_VERSION_STR "3.10.23.1" -#define BUILD_VERSION 3,10,23,1 +#define BUILD_VERSION_STR "3.10.40.1" +#define BUILD_VERSION 3,10,40,1 #ifndef RESOURCE_COMPILER_INVOKED #include "ctmacros.hpp" @@ -18,7 +18,7 @@ namespace MAT_NS_BEGIN { uint64_t const Version = ((uint64_t)3 << 48) | ((uint64_t)10 << 32) | - ((uint64_t)23 << 16) | + ((uint64_t)40 << 16) | ((uint64_t)1); } MAT_NS_END diff --git a/lib/jni/Sanitizer_jni.cpp b/lib/jni/Sanitizer_jni.cpp index 38da2e39a..b9174521b 100644 --- a/lib/jni/Sanitizer_jni.cpp +++ b/lib/jni/Sanitizer_jni.cpp @@ -38,6 +38,7 @@ Java_com_microsoft_applications_events_Sanitizer_isInitialized(const JNIEnv *env * Multiple flags can be combined with bitwise OR (e.g., 1 | 2 = 3) * @param sendConcernLimit Maximum number of concerns to send. 0 = no concerns sent, 65536+ = all concerns sent. * @param insertWarningAtProblemLocation Insert warnings at problem location (true) or prepend (false). + * @param bypassSitePathChecks When true, IsSitePath and IsSitePathLoose checks are bypassed. * **/ extern "C" JNIEXPORT jboolean JNICALL @@ -50,7 +51,8 @@ Java_com_microsoft_applications_events_Sanitizer_isInitialized(const JNIEnv *env jobjectArray emailDomains, jint analyzerOptions, jint sendConcernLimit, // number of concerns to upload. Set to 0 to upload none, greater than 65536 uploads everything. - jboolean insertWarningAtProblemLocation + jboolean insertWarningAtProblemLocation, + jboolean bypassSitePathChecks ) { if (spSanitizer != nullptr) { @@ -92,6 +94,7 @@ Java_com_microsoft_applications_events_Sanitizer_isInitialized(const JNIEnv *env sanitizerConfig.SetAllWarningsToSanitizations = static_cast(warningsToSanitization); sanitizerConfig.InsertWarningAtProblemLocation = static_cast(insertWarningAtProblemLocation); + sanitizerConfig.BypassSitePathChecks = static_cast(bypassSitePathChecks); spSanitizer = std::make_shared(sanitizerConfig); return true; diff --git a/lib/modules b/lib/modules index b34f1c412..8ba144c34 160000 --- a/lib/modules +++ b/lib/modules @@ -1 +1 @@ -Subproject commit b34f1c412ba723940d47038257fa8b99dc759141 +Subproject commit 8ba144c34143f76274dc48fc561d866eac5623f2 diff --git a/wrappers/obj-c/ODWSanitizer.mm b/wrappers/obj-c/ODWSanitizer.mm index 8f5517cea..daf1eab88 100644 --- a/wrappers/obj-c/ODWSanitizer.mm +++ b/wrappers/obj-c/ODWSanitizer.mm @@ -36,6 +36,7 @@ +(void)initializeSanitizer:(ILogger *)logger withODWSanitizerInitConfig:(ODWSani config.SetAllWarningsToSanitizations = initConfigObject.setWarningsToSanitization; config.SendConcernLimit = static_cast(initConfigObject.sendConcernLimit); config.InsertWarningAtProblemLocation = initConfigObject.insertWarningAtProblemLocation; + config.BypassSitePathChecks = initConfigObject.bypassSitePathChecks; _sanitizerPtr = std::make_shared(config); LogManager::GetInstance()->SetDataInspector(_sanitizerPtr); @@ -75,6 +76,7 @@ +(void)initializeSanitizer:(ILogger *)logger withODWSanitizerInitConfig:(ODWSani config.SetAllWarningsToSanitizations = initConfigObject.setWarningsToSanitization; config.SendConcernLimit = static_cast(initConfigObject.sendConcernLimit); config.InsertWarningAtProblemLocation = initConfigObject.insertWarningAtProblemLocation; + config.BypassSitePathChecks = initConfigObject.bypassSitePathChecks; _sanitizerPtr = std::make_shared(config); LogManager::GetInstance()->SetDataInspector(_sanitizerPtr); diff --git a/wrappers/obj-c/ODWSanitizerInitConfig.h b/wrappers/obj-c/ODWSanitizerInitConfig.h index ec915b673..1fcb6ede7 100644 --- a/wrappers/obj-c/ODWSanitizerInitConfig.h +++ b/wrappers/obj-c/ODWSanitizerInitConfig.h @@ -33,6 +33,13 @@ NS_ASSUME_NONNULL_BEGIN */ @property(readwrite, nonatomic) BOOL insertWarningAtProblemLocation; +/*! + @brief (OPTIONAL) When YES, IsSitePath and IsSitePathLoose checks are bypassed. + Site paths will not be flagged or sanitized. + Default value is `NO` (site path checks are active). + */ +@property(readwrite, nonatomic) BOOL bypassSitePathChecks; + // Initializer - (instancetype)init; diff --git a/wrappers/obj-c/ODWSanitizerInitConfig.mm b/wrappers/obj-c/ODWSanitizerInitConfig.mm index 79797d0d9..2075e8303 100644 --- a/wrappers/obj-c/ODWSanitizerInitConfig.mm +++ b/wrappers/obj-c/ODWSanitizerInitConfig.mm @@ -17,6 +17,7 @@ - (instancetype)init { _setWarningsToSanitization = YES; // Default to true _sendConcernLimit = 65536; // Default to 65536 (upload all concerns) _insertWarningAtProblemLocation = NO; // Default to NO (prepend warnings) + _bypassSitePathChecks = NO; // Default to NO (site path checks active) } return self; } diff --git a/wrappers/swift/Sources/OneDSSwift/SanitizerInitConfig.swift b/wrappers/swift/Sources/OneDSSwift/SanitizerInitConfig.swift index 5b5ca7b8d..8eb70fd37 100644 --- a/wrappers/swift/Sources/OneDSSwift/SanitizerInitConfig.swift +++ b/wrappers/swift/Sources/OneDSSwift/SanitizerInitConfig.swift @@ -45,6 +45,18 @@ public final class SanitizerInitConfig { } } + /// (OPTIONAL) When true, IsSitePath and IsSitePathLoose checks are bypassed. + /// Site paths will not be flagged or sanitized. + /// Default value is `false` (site path checks are active). + public var bypassSitePathChecks: Bool { + get { + odwSanitizerInitConfig.bypassSitePathChecks + } + set { + odwSanitizerInitConfig.bypassSitePathChecks = newValue + } + } + /** Returns the Obj-C object of the wrapper.