Microsoft Information Protection (MIP) SDK for C++: Reference 1.16
Doxygen-generated documentation for MIP SDK written in C++
Loading...
Searching...
No Matches
flighting_feature.h File Reference

A file containing the FlightingFeature definition. More...

#include <map>
#include "mip/mip_namespace.h"
Include dependency graph for flighting_feature.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Enumerations

enum  FlightingFeature : unsigned int {
  ServiceDiscovery = 0 , AuthInfoCache = 1 , LinuxEncryptedCache = 2 , SingleDomainName = 3 ,
  PolicyAuth = 4 , UrlRedirectCache = 5 , PreLicensing = 6 , DoubleKey = 7 ,
  VariablePolicyTtl = 8 , VariableTextMarking = 9 , OptimizePdfMemory = 10 , RemoveDeletedLabelMd = 11 ,
  EnforceMinimumTls12 = 12 , MatchCloudType = 13 , EnableAuditAndTelemetryForSovereignClouds = 14 , EnableActionIdForV0Metadata = 15 ,
  PowerBiCustomSettings = 16 , KeyStoreBasedOnStoragePath = 17 , EventDateTimeTokenUseUtc = 18 , CrossTenantUserCert = 19 ,
  EncryptedDatabaseIntegrityChecking = 20 , EnableFipsValidatedCryptography = 21 , RemoveParentMetadataWhenChildLabelRemoved = 22 , UseCbcForOfficeFileEncryption = 23 ,
  EncryptedAppDataTemplateOnline = 24 , UseMsipcCompatability = 25 , PreLicenseValidityCheck = 26 , DynamicWatermarkingEnabled = 27 ,
  MockDynamicWatermarkingResponseEnabled = 28 , UseRapidJson = 29 , EnforceMinimumTls13 = 30 , IgnoreEmptyMsipLabelNameParseError = 31 ,
  EnableEngineSettingsTelemetry = 32 , EnableMP4Files = 33 , PrioritizeHtmlInMsgs = 34 , EnableExtendedErrors = 35 ,
  LoadCrossTenantUserCertOffline = 36
}
 Defines new features by name. More...
 

Functions

const std::map< FlightingFeature, bool > & GetDefaultFeatureSettings ()
 Gets whether or not a feature is enabled by default.
 

Detailed Description

A file containing the FlightingFeature definition.

Definition in file flighting_feature.h.

Enumeration Type Documentation

◆ FlightingFeature

enum FlightingFeature : unsigned int

Defines new features by name.

Enumerator
ServiceDiscovery 

Rely on separate HTTP call to determine RMS service endpoints

AuthInfoCache 

Cache OAuth2 challenges per domain/tenant to reduce unnecessary 401 responses. Disable for apps/services that manage their own HTTP auth (like SPO, Edge)

LinuxEncryptedCache 

Enable encrypted caching for Linux platforms (Please read the prerequisites for this feature)

SingleDomainName 

Enable single company name for dns lookup. e.g. https://corprights

PolicyAuth 

Enable automatic HTTP authentication for requests sent to Policy service. Disable for apps/services that manage their own HTTP auth (like SPO, Edge)

UrlRedirectCache 

Cache URL redirects to reduce number of HTTP operations

PreLicensing 

Enable pre license api check

DoubleKey 

Enable double key protection feature to use a customer key to encrypt with

VariablePolicyTtl 

Enable variable policy time to live, disabling reverts to infinite policy

VariableTextMarking 

Enable variable text marking

OptimizePdfMemory 

Enable Optimize PDF Memory Creator in protect and unprotect PDF files

RemoveDeletedLabelMd 

Enable removing delete label's meta data

EnforceMinimumTls12 

Enforce TLS 1.2 or above for non-ADRMS HTTPS connections

MatchCloudType 

Reserved

EnableAuditAndTelemetryForSovereignClouds 

Enable telemetry and audit events for sovereign clouds

EnableActionIdForV0Metadata 

Write ActionID metadata for content using version 0

PowerBiCustomSettings 

Whether or not to add power bi settings to custom settings

KeyStoreBasedOnStoragePath 

Whether or not to use storage path in keystore

EventDateTimeTokenUseUtc 

Whether to replace ${Event.DateTime} with a UTC timestamp

CrossTenantUserCert 

Whether or not to pass up query parameters to /clientlicensorcertificates to support cross tenant scenarios

EncryptedDatabaseIntegrityChecking 

Enable database integrity checking

EnableFipsValidatedCryptography 

Enable the use of the FIPS-validated Windows CNG APIs instead of OpenSSL on Windows platforms

RemoveParentMetadataWhenChildLabelRemoved 

When removing a child label, clear any parent metadata of the removed label that may be present.

UseCbcForOfficeFileEncryption 

Office file format uses CBC protection.

EncryptedAppDataTemplateOnline 

Enable online publishing for encrypted app data for templates.

UseMsipcCompatability 

Modify certain outputs to match MSIPC formatting

PreLicenseValidityCheck 

Check prelicense for validity time.

DynamicWatermarkingEnabled 

Enable support for dynamic watermarking.

MockDynamicWatermarkingResponseEnabled 

Enable support to return a fixed dynamic watermarking format string.

UseRapidJson 

Use RapidJson for json parsing.

EnforceMinimumTls13 

Enforce TLS 1.3 or above for non-ADRMS HTTPS connections. Do not enable this feature until all internal services support the TLS 1.3 security protocol, as enabling it prematurely may cause application malfunctions.

IgnoreEmptyMsipLabelNameParseError 

Ignore empty label name parse error, enabled by default.

EnableEngineSettingsTelemetry 

Enable support to Add telemetry status for engine settings.

EnableMP4Files 

Enable support for MP4 files.

PrioritizeHtmlInMsgs 

Prioritize HTML body over RTF body in msg files.

EnableExtendedErrors 

Whether or not parsing extendedErrorInfo is enabled. C++ Default to on, C default to false due to potential memory leaking in error handle of mip_cc_error struct.

LoadCrossTenantUserCertOffline 

Whether or not to load cross tenant user cert when doing offline republishing.

Definition at line 45 of file flighting_feature.h.

45 : unsigned int {
46 ServiceDiscovery = 0, /**< Rely on separate HTTP call to determine RMS service endpoints */
47 AuthInfoCache = 1, /**< Cache OAuth2 challenges per domain/tenant to reduce unnecessary 401 responses. Disable for apps/services that manage their own HTTP auth (like SPO, Edge) */
48 LinuxEncryptedCache = 2, /**< Enable encrypted caching for Linux platforms (Please read the prerequisites for this feature) */
49 SingleDomainName = 3, /**< Enable single company name for dns lookup. e.g. https://corprights */
50 PolicyAuth = 4, /**< Enable automatic HTTP authentication for requests sent to Policy service. Disable for apps/services that manage their own HTTP auth (like SPO, Edge) */
51 UrlRedirectCache = 5, /**< Cache URL redirects to reduce number of HTTP operations */
52 PreLicensing = 6, /**< Enable pre license api check */
53 DoubleKey = 7, /**< Enable double key protection feature to use a customer key to encrypt with */
54 VariablePolicyTtl = 8, /**< Enable variable policy time to live, disabling reverts to infinite policy*/
55 VariableTextMarking = 9, /**< Enable variable text marking*/
56 OptimizePdfMemory = 10, /**< Enable Optimize PDF Memory Creator in protect and unprotect PDF files */
57 RemoveDeletedLabelMd = 11, /**< Enable removing delete label's meta data */
58 EnforceMinimumTls12 = 12, /**< Enforce TLS 1.2 or above for non-ADRMS HTTPS connections */
59 MatchCloudType = 13, /**< Reserved */
60 EnableAuditAndTelemetryForSovereignClouds = 14, /**< Enable telemetry and audit events for sovereign clouds */
61 EnableActionIdForV0Metadata = 15, /**< Write ActionID metadata for content using version 0 */
62 PowerBiCustomSettings = 16, /**< Whether or not to add power bi settings to custom settings */
63 KeyStoreBasedOnStoragePath = 17, /**< Whether or not to use storage path in keystore */
64 EventDateTimeTokenUseUtc = 18, /**< Whether to replace ${Event.DateTime} with a UTC timestamp */
65 CrossTenantUserCert = 19, /**< Whether or not to pass up query parameters to /clientlicensorcertificates to support cross tenant scenarios */
66 EncryptedDatabaseIntegrityChecking = 20, /**< Enable database integrity checking */
67 EnableFipsValidatedCryptography = 21, /**< Enable the use of the FIPS-validated Windows CNG APIs instead of OpenSSL on Windows platforms */
68 RemoveParentMetadataWhenChildLabelRemoved = 22, /**< When removing a child label, clear any parent metadata of the removed label that may be present. */
69 UseCbcForOfficeFileEncryption = 23, /**< Office file format uses CBC protection. */
70 EncryptedAppDataTemplateOnline = 24, /**< Enable online publishing for encrypted app data for templates. */
71 UseMsipcCompatability = 25, /**< Modify certain outputs to match MSIPC formatting */
72 PreLicenseValidityCheck = 26, /**< Check prelicense for validity time. */
73 DynamicWatermarkingEnabled = 27, /**< Enable support for dynamic watermarking. */
74 MockDynamicWatermarkingResponseEnabled = 28, /**< Enable support to return a fixed dynamic watermarking format string. */
75 UseRapidJson = 29, /**< Use RapidJson for json parsing. */
76 EnforceMinimumTls13 = 30, /**< Enforce TLS 1.3 or above for non-ADRMS HTTPS connections. Do not enable this feature until all internal services support the TLS 1.3 security protocol, as enabling it prematurely may cause application malfunctions. */
77 IgnoreEmptyMsipLabelNameParseError = 31, /**< Ignore empty label name parse error, enabled by default. */
78 EnableEngineSettingsTelemetry = 32, /**< Enable support to Add telemetry status for engine settings. */
79 EnableMP4Files = 33, /**< Enable support for MP4 files. */
80 PrioritizeHtmlInMsgs = 34, /**< Prioritize HTML body over RTF body in msg files. */
81 EnableExtendedErrors = 35, /**< Whether or not parsing extendedErrorInfo is enabled. C++ Default to on, C default to false due to potential memory leaking in error handle of mip_cc_error struct. */
82 LoadCrossTenantUserCertOffline = 36, /**< Whether or not to load cross tenant user cert when doing offline republishing. */
83};
@ EnableExtendedErrors
@ OptimizePdfMemory
@ SingleDomainName
@ MockDynamicWatermarkingResponseEnabled
@ AuthInfoCache
@ CrossTenantUserCert
@ PreLicenseValidityCheck
@ PolicyAuth
@ EnableMP4Files
@ VariablePolicyTtl
@ PrioritizeHtmlInMsgs
@ RemoveDeletedLabelMd
@ EventDateTimeTokenUseUtc
@ LoadCrossTenantUserCertOffline
@ EnableActionIdForV0Metadata
@ RemoveParentMetadataWhenChildLabelRemoved
@ PreLicensing
@ DoubleKey
@ LinuxEncryptedCache
@ EnforceMinimumTls13
@ UseMsipcCompatability
@ EnableEngineSettingsTelemetry
@ VariableTextMarking
@ IgnoreEmptyMsipLabelNameParseError
@ ServiceDiscovery
@ EncryptedAppDataTemplateOnline
@ UseCbcForOfficeFileEncryption
@ EnableFipsValidatedCryptography
@ MatchCloudType
@ EnforceMinimumTls12
@ UrlRedirectCache
@ DynamicWatermarkingEnabled
@ KeyStoreBasedOnStoragePath
@ EnableAuditAndTelemetryForSovereignClouds
@ EncryptedDatabaseIntegrityChecking
@ UseRapidJson
@ PowerBiCustomSettings

Function Documentation

◆ GetDefaultFeatureSettings()

const std::map< FlightingFeature, bool > & GetDefaultFeatureSettings ( )
inline

Gets whether or not a feature is enabled by default.

Returns
Default state of flighting features

Definition at line 90 of file flighting_feature.h.

90 {
91 static std::map<FlightingFeature, bool> kDefaultFeatureSettings = {
92 // Feature name Default value
130 };
131 return kDefaultFeatureSettings;
132}

References AuthInfoCache, CrossTenantUserCert, DoubleKey, DynamicWatermarkingEnabled, EnableActionIdForV0Metadata, EnableAuditAndTelemetryForSovereignClouds, EnableEngineSettingsTelemetry, EnableExtendedErrors, EnableFipsValidatedCryptography, EnableMP4Files, EncryptedAppDataTemplateOnline, EncryptedDatabaseIntegrityChecking, EnforceMinimumTls12, EnforceMinimumTls13, EventDateTimeTokenUseUtc, IgnoreEmptyMsipLabelNameParseError, KeyStoreBasedOnStoragePath, LinuxEncryptedCache, LoadCrossTenantUserCertOffline, MatchCloudType, MockDynamicWatermarkingResponseEnabled, OptimizePdfMemory, PolicyAuth, PowerBiCustomSettings, PreLicenseValidityCheck, PreLicensing, PrioritizeHtmlInMsgs, RemoveDeletedLabelMd, RemoveParentMetadataWhenChildLabelRemoved, ServiceDiscovery, SingleDomainName, UrlRedirectCache, UseCbcForOfficeFileEncryption, UseMsipcCompatability, UseRapidJson, VariablePolicyTtl, and VariableTextMarking.