Microsoft Information Protection (MIP) SDK for C++: Reference 1.15
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 ,
  PrioritizeHtmlInMsgs = 34 ,
  EnableExtendedErrors = 35
}
 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.

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.

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 PrioritizeHtmlInMsgs = 34, /**< Prioritize HTML body over RTF body in msg files. */
79 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. */
80};
@ EnableExtendedErrors
Whether or not parsing extendedErrorInfo is enabled.
@ OptimizePdfMemory
Enable Optimize PDF Memory Creator in protect and unprotect PDF files.
@ SingleDomainName
Enable single company name for dns lookup.
@ MockDynamicWatermarkingResponseEnabled
Enable support to return a fixed dynamic watermarking format string.
@ AuthInfoCache
Cache OAuth2 challenges per domain/tenant to reduce unnecessary 401 responses.
@ CrossTenantUserCert
Whether or not to pass up query parameters to /clientlicensorcertificates to support cross tenant sce...
@ PreLicenseValidityCheck
Check prelicense for validity time.
@ PolicyAuth
Enable automatic HTTP authentication for requests sent to Policy service.
@ VariablePolicyTtl
Enable variable policy time to live, disabling reverts to infinite policy.
@ PrioritizeHtmlInMsgs
Prioritize HTML body over RTF body in msg files.
@ RemoveDeletedLabelMd
Enable removing delete label's meta data.
@ EventDateTimeTokenUseUtc
Whether to replace ${Event.DateTime} with a UTC timestamp.
@ EnableActionIdForV0Metadata
Write ActionID metadata for content using version 0.
@ RemoveParentMetadataWhenChildLabelRemoved
When removing a child label, clear any parent metadata of the removed label that may be present.
@ PreLicensing
Enable pre license api check.
@ DoubleKey
Enable double key protection feature to use a customer key to encrypt with.
@ LinuxEncryptedCache
Enable encrypted caching for Linux platforms (Please read the prerequisites for this feature)
@ EnforceMinimumTls13
Enforce TLS 1.3 or above for non-ADRMS HTTPS connections.
@ UseMsipcCompatability
Modify certain outputs to match MSIPC formatting.
@ VariableTextMarking
Enable variable text marking.
@ IgnoreEmptyMsipLabelNameParseError
Ignore empty label name parse error, enabled by default.
@ ServiceDiscovery
Rely on separate HTTP call to determine RMS service endpoints.
@ EncryptedAppDataTemplateOnline
Enable online publishing for encrypted app data for templates.
@ UseCbcForOfficeFileEncryption
Office file format uses CBC protection.
@ EnableFipsValidatedCryptography
Enable the use of the FIPS-validated Windows CNG APIs instead of OpenSSL on Windows platforms.
@ MatchCloudType
Reserved.
@ EnforceMinimumTls12
Enforce TLS 1.2 or above for non-ADRMS HTTPS connections.
@ UrlRedirectCache
Cache URL redirects to reduce number of HTTP operations.
@ DynamicWatermarkingEnabled
Enable support for dynamic watermarking.
@ KeyStoreBasedOnStoragePath
Whether or not to use storage path in keystore.
@ EnableAuditAndTelemetryForSovereignClouds
Enable telemetry and audit events for sovereign clouds.
@ EncryptedDatabaseIntegrityChecking
Enable database integrity checking.
@ UseRapidJson
Use RapidJson for json parsing.
@ PowerBiCustomSettings
Whether or not to add power bi settings to custom settings.

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 87 of file flighting_feature.h.

87 {
88 static std::map<FlightingFeature, bool> kDefaultFeatureSettings = {
89 // Feature name Default value
124 };
125 return kDefaultFeatureSettings;
126}

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