windows-nt/Source/XPSP1/NT/ds/security/passport/include/nsconst.h
2020-09-26 16:20:57 +08:00

403 lines
18 KiB
C

//-----------------------------------------------------------------------------
//
// @doc
//
// @module nsconst.h | global constants used in Passport network
//
// Author: Darren Anderson
// Steve Fu
//
// Date: 7/24/2000
//
// Copyright <cp> 1999-2000 Microsoft Corporation. All Rights Reserved.
//
//-----------------------------------------------------------------------------
#pragma once
#include <atlbase.h>
/* use external linkage to avoid mulitple instances */
#define PPCONST __declspec(selectany) extern const
#include "paneconst.h"
//
// Magic numbers.
//
PPCONST ULONG k_nMaxMemberNameLength = 129;
PPCONST ULONG k_nMaxDomainLength = 64;
PPCONST ULONG k_nMaxAliasLength = 64;
PPCONST USHORT k_nDefaultKeyVersion = 0xFFFF;
PPCONST ULONG k_nMaxCredsAge = 2400;
PPCONST ULONG k_nMD5AuthTimeWindow = 600;
//
// Names used to lookup profile items in the profile object.
//
PPCONST CComVariant k_cvItemNameMemberName(L"membername");
PPCONST CComVariant k_cvItemNameInternalMemberName(L"internalmembername");
PPCONST CComVariant k_cvItemNameMemberIdLow(L"memberidlow");
PPCONST CComVariant k_cvItemNameMemberIdHigh(L"memberidhigh");
PPCONST CComVariant k_cvItemNameProfileVersion(L"profileversion");
PPCONST CComVariant k_cvItemNameCountry(L"country");
PPCONST CComVariant k_cvItemNamePostalCode(L"postalcode");
PPCONST CComVariant k_cvItemNameRegion(L"region");
PPCONST CComVariant k_cvItemNameLangPref(L"lang_preference");
PPCONST CComVariant k_cvItemNameBirthdate(L"birthdate");
PPCONST CComVariant k_cvItemNameBDayPrecision(L"bday_precision");
PPCONST CComVariant k_cvItemNameGender(L"gender");
PPCONST CComVariant k_cvItemNameEmail(L"preferredemail");
PPCONST CComVariant k_cvItemNameNickname(L"nickname");
PPCONST CComVariant k_cvItemNameAccessibility(L"accessibility");
PPCONST CComVariant k_cvItemNameWallet(L"wallet");
PPCONST CComVariant k_cvItemNameDirectory(L"directory");
PPCONST CComVariant k_cvItemNameFlags(L"flags");
//
// Names used to lookup profile items in the database object.
//
PPCONST CComVariant k_cvDBItemNameMemberIdLow(L"member_id_low");
PPCONST CComVariant k_cvDBItemNameMemberIdHigh(L"member_id_high");
PPCONST CComVariant k_cvDBItemNameProfileVersion(L"profile_version");
PPCONST CComVariant k_cvDBItemNameCountry(L"iso_3166_country_code");
PPCONST CComVariant k_cvDBItemNamePostalCode(L"postal_code");
PPCONST CComVariant k_cvDBItemNameRegion(L"region_geoid");
PPCONST CComVariant k_cvDBItemNameLangPref(L"language_preference_lcid");
PPCONST CComVariant k_cvDBItemNameBirthdate(L"birthdate");
PPCONST CComVariant k_cvDBItemNameBDayPrecision(L"birthdate_precision");
PPCONST CComVariant k_cvDBItemNameGender(L"gender");
PPCONST CComVariant k_cvDBItemNameEmail(L"contact_email_complete");
PPCONST CComVariant k_cvDBItemNameNickname(L"nickname");
PPCONST CComVariant k_cvDBItemNameAccessibility(L"accessibility");
PPCONST CComVariant k_cvDBItemNameWallet(L"wallet_version");
PPCONST CComVariant k_cvDBItemNameDirectory(L"directory_version");
PPCONST CComVariant k_cvDBItemNameFlags(L"flags");
PPCONST CComVariant k_cvDBItemNameMiscFlags(L"misc_flags");
//
// Domain attribute names.
//
PPCONST CComVariant k_cvDefault(L"default");
PPCONST CComVariant k_cvDomainAttrPassportHome(L"PassportHome");
PPCONST CComVariant k_cvDomainAttrKidsPassport(L"KidsPassport");
PPCONST CComVariant k_cvDomainAttrLogout(L"Logout");
PPCONST CComVariant k_cvDomainAttrAuth(L"Auth");
PPCONST CComVariant k_cvDomainAttrAuthSecure(L"AuthSecure");
PPCONST CComVariant k_cvDomainAttrReAuth(L"Reauth");
PPCONST CComVariant k_cvDomainAttrPost(L"Post");
PPCONST CComVariant k_cvDomainAttrPostUpdate(L"PostUpdate");
PPCONST CComVariant k_cvDomainAttrPIC(L"PassportInformationCenter");
PPCONST CComVariant k_cvDomainAttrRegistration(L"Registration");
PPCONST CComVariant k_cvDomainAttrDefaultReturn(L"DefaultReturn");
PPCONST CComVariant k_cvDomainAttrTermsOfUse(L"TermsOfUse");
PPCONST CComVariant k_cvDomainAttrPrivacyPolicy(L"PrivacyPolicy");
PPCONST CComVariant k_cvDomainAttrCustomerService(L"CustomerService");
PPCONST CComVariant k_cvDomainAttrPassportImages(L"PassportImages");
PPCONST CComVariant k_cvDomainAttrSiteDirectory(L"SiteDirectory");
PPCONST CComVariant k_cvDomainAttrHelp(L"Help");
PPCONST CComVariant k_cvDomainAttrMPP(L"MPP");
PPCONST CComVariant k_cvDomainAttrPasswordOptions(L"PasswordOptions");
PPCONST CComVariant k_cvDomainAttrPasswordReset(L"PasswordReset");
PPCONST CComVariant k_cvDomainAttrChangePassword(L"ChangePassword");
PPCONST CComVariant k_cvDomainAttrChangeSecretQ(L"ChangeSecretQ");
PPCONST CComVariant k_cvDomainAttrChangeMemName(L"ChangeMemName");
PPCONST CComVariant k_cvDomainAttrManageConsent(L"ManageConsent");
PPCONST CComVariant k_cvDomainAttrEmailPwdReset(L"EmailPwdReset");
PPCONST CComVariant k_cvDomainAttrEmailValidating(L"EmailValidating");
PPCONST CComVariant k_cvDomainAttrChangeLanguage(L"ChangeLanguage");
PPCONST CComVariant k_cvDomainAttrMobilePin(L"MobilePin");
PPCONST CComVariant k_cvDomainAttrNoSecretQ(L"NoSecretQ");
PPCONST CComVariant k_cvDomainAttrEditProfile(L"EditProfile");
PPCONST CComVariant k_cvDomainAttrContactUs(L"CustomerService");
PPCONST CComVariant k_cvDomainAttrRevalidateEmailURL(L"RevalidateEmailURL");
PPCONST CComVariant k_cvDomainAttrXMLLogin(L"XMLLogin");
PPCONST CComVariant k_cvDomainAttrXMLRegistration(L"XMLRegistration");
PPCONST CComVariant k_cvDomainAttrXMLProfileRequest(L"XMLProfileRequest");
PPCONST CComVariant k_cvDomainAttrWallet(L"Wallet");
PPCONST CComVariant k_cvDomainAttrWalletRoot(L"WalletRoot");
PPCONST CComVariant k_cvDomainAttrWirelessReg(L"WirelessRegistration");
PPCONST CComVariant k_cvDomainAttrPinPost(L"PinPost");
PPCONST CComVariant k_cvDomainAttrPinReg(L"PinReg");
PPCONST CComVariant k_cvDomainAttrCSSEform(L"CSSEform");
PPCONST CComVariant k_cvDomainAttrSupplementalAuthUrl(L"SupplementalAuthUrl");
PPCONST CComVariant k_cvDomainAttrMail(L"Mail");
PPCONST CComVariant k_cvDomainHotmailError(L"ErrorLogin");
//
// Partner attribute names.
//
PPCONST CComVariant k_cvDefaultReturnUrl(L"DefaultReturnUrl");
PPCONST CComVariant k_cvPartnerAttrName(L"Name");
PPCONST CComVariant k_cvPartnerAttrCompanyID(L"CompanyID");
PPCONST CComVariant k_cvPartnerAttrExpireCookieUrl(L"ExpireCookieURL");
PPCONST CComVariant k_cvPartnerAttrCobrandCSSUrl(L"CoBrandCSSURL");
PPCONST CComVariant k_cvPartnerAttrLogoutUrl(L"LogoutURL");
PPCONST CComVariant k_cvPartnerAttrCoBrandUrl(L"CoBrandURL");
PPCONST CComVariant k_cvPartnerAttrCoBrandImageUrl(L"CoBrandImageURL");
PPCONST CComVariant k_cvPartnerAttrCoBrandLogoHREF(L"CoBrandLogoHREF");
PPCONST CComVariant k_cvPartnerAttrAllowProtectedUpdates(L"AllowProtectedUpdates");
PPCONST CComVariant k_cvPartnerAttrConsentID(L"ConsentID");
PPCONST CComVariant k_cvPartnerAttrPrivacyPolicyUrl(L"PrivacyPolicyURL");
PPCONST CComVariant k_cvPartnerAttrAccountDataUrl(L"AccountDataURL");
PPCONST CComVariant k_cvPartnerAttrAccountRemovalUrl(L"AccountRemovalURL");
PPCONST CComVariant k_cvPartnerAttrAllowInlineSignin(L"AllowInlineSignin");
PPCONST CComVariant k_cvPartnerAttrSupplementalAuthPostType(L"SupplementalAuthPostType");
PPCONST CComVariant k_cvPartnerAttrSupplementalAuthPostUrl(L"SupplementalAuthPostUrl");
PPCONST CComVariant k_cvPartnerAttrNeedsMembername(L"NeedsMembername");
PPCONST CComVariant k_cvPartnerAttrDisableMemberServices(L"DisableMemberServices");
PPCONST CComVariant k_cvPartnerAttrDisableTermsOfUse(L"DisableTermsOfUse");
PPCONST CComVariant k_cvPartnerAttrDisablePrivacyPolicy(L"DisablePrivacyPolicy");
PPCONST CComVariant k_cvPartnerAttrDisableCopyright(L"DisableCopyright");
PPCONST CComVariant k_cvPartnerAttrDisableHelpText(L"DisableHelpText");
PPCONST CComVariant k_cvPartnerAttrNameSpaceOwner(L"NameSpaceOwner");
//
// Stock profile values
//
PPCONST CComVariant k_cvEmpty(L"");
PPCONST CComVariant k_cvCustomer(L"Customer!");
PPCONST CComVariant k_cvNoCountry(L" ");
PPCONST CComVariant k_cvCountryUS(L"US");
PPCONST CComVariant k_cvPostalCodeRedmond(L"98052");
PPCONST CComVariant k_cvRegionWashington(35841);
PPCONST CComVariant k_cvLangPrefEnglishUS(1033);
PPCONST CComVariant k_cvZeroBirthdate(static_cast<double>(0.0));
PPCONST CComVariant k_cvProfileValueGenderU(L"U");
PPCONST CComVariant k_cvProfileValueGenderM(L"M");
PPCONST CComVariant k_cvTestModeEmail(L"PassportTestMode@hotmail.com");
PPCONST CComVariant k_cvTestModeNickname(L"ILoveMyPassport");
//
// Other PPCONSTants
//
PPCONST CComVariant k_cvFalse(false);
//
// Misc flags
//
PPCONST ULONG k_ulMiscFlagWantPassportMail = 0x00000001;
PPCONST ULONG k_ulMiscFlagShareEmail = 0x00000002;
//
// Flags
//
PPCONST ULONG k_ulFlagsEmailValidated = 0x00000001;
PPCONST ULONG k_ulFlagsHotmailAcctActivated = 0x00000002;
PPCONST ULONG k_ulFlagsHotmailPwdRecovered = 0x00000004;
PPCONST ULONG k_ulFlagsWalletUploadAllowed = 0x00000008;
PPCONST ULONG k_ulFlagsHotmailAcctBlocked = 0x00000010;
PPCONST ULONG k_ulFlagsConsentStatusNone = 0x00000000;
PPCONST ULONG k_ulFlagsConsentStatusLimited = 0x00000020;
PPCONST ULONG k_ulFlagsConsentStatusFull = 0x00000040;
PPCONST ULONG k_ulFlagsConsentStatus = 0x00000060; // two bits
PPCONST ULONG k_ulFlagsAccountTypeKid = 0x00000080;
PPCONST ULONG k_ulFlagsAccountTypeParent = 0x00000100;
PPCONST ULONG k_ulFlagsAccountType = 0x00000180; // two bits
PPCONST ULONG k_ulFlagsEmailPassport = 0x00000200;
PPCONST ULONG k_ulFlagsEmailPassportValid = 0x00000400;
PPCONST ULONG k_ulFlagsHasMsniaAccount = 0x00000800;
PPCONST ULONG k_ulFlagsHasMobileAccount = 0x00001000;
PPCONST ULONG k_ulFlagsSecuredTransportedTicket = 0x00002000;
PPCONST ULONG k_ulFlagsConsentCookieNeeded = 0x80000000;
PPCONST ULONG k_ulFlagsConsentCookieMask = (k_ulFlagsConsentStatus | k_ulFlagsAccountType);
//
// Cookie values.
//
PPCONST char* k_szPPAuthCookieName = "MSPAuth";
PPCONST char* k_szPPProfileCookieName = "MSPProf";
PPCONST char* k_szPPSecureCookieName = "MSPSec";
PPCONST char* k_szPPVisitedCookieName = "MSPVis";
PPCONST char* k_szPPRequestCookieName = "MSPRequ";
PPCONST char* k_szPPLastDBWriteCookieName = "MSPLDBW";
PPCONST char* k_szBrowserTestCookieName = "BrowserTest";
PPCONST char* k_szBrowserTestCookieValue = "Success?";
PPCONST char* k_szPassportCookiePastDate = "Thu, 30 Oct 1980 16:00:00 GMT";
PPCONST char* k_szPassportCookieExpiration = "Wed, 30 Dec 2037 16:00:00 GMT";
PPCONST char* k_szSecurePath = "/ppsecure";
PPCONST char* k_szPPPasswordPassingCookie = "MSPRdr";
PPCONST char* k_szPPClientCookieName = "MSPClient";
PPCONST char* k_szPPDomainCookieName = "MSPDom";
PPCONST char* k_szPPPMailCookieName = "pmail";
PPCONST char* k_szJSStateSecureCookieName = "MSPSSta";
PPCONST char* k_szPPSecAuthCookieName = "MSPSecAuth";
PPCONST char* k_szPPPrefillCookieName = "MSPPre";
PPCONST char* k_szPPSharedComputerCookieName = "MSPShared";
//
// Configuration value names.
//
PPCONST wchar_t* k_szPPDomain = L"PassportDomain";
PPCONST wchar_t* k_szPPAuthDomain = L"AuthDomain";
PPCONST wchar_t* k_szPPVirtualRoot = L"PassportVirtualRoot";
PPCONST wchar_t* k_szPPSiteId = L"PassportSiteId";
PPCONST wchar_t* k_szPPFromEmailAddress = L"FromEmailAddress";
PPCONST wchar_t* k_szPPDomainId = L"DomainId";
PPCONST wchar_t* k_szKidsSiteId = L"KidsSiteId";
PPCONST wchar_t* k_szPPDomains = L"Domains";
PPCONST wchar_t* k_szPPDocRoot = L"DocRoot";
PPCONST wchar_t* k_szPPAppRoot = L"AppRoot";
PPCONST wchar_t* k_szBadLoginLockTime = L"BadLoginLockTime";
PPCONST wchar_t* k_szDigestNonceTimeout= L"DigestNonceTimeout";
PPCONST wchar_t* k_szSupplementalAuthNonceTimeout = L"SupplementalAuthNonceTimeout";
PPCONST wchar_t* k_szXmlProfReqTimeout = L"XMLProfileRequestTimout";
PPCONST wchar_t* k_szNexusVersion = L"NexusVersion";
PPCONST wchar_t* k_szNumHeadersToAdd = L"NumHeadersToAdd";
PPCONST wchar_t* k_szHeaderNum = L"HeaderNum";
// mobile to enable test with emulators
PPCONST wchar_t* k_szMobileNoHTTPs = L"MobileNoHTTPs";
PPCONST wchar_t* k_szMobileNoCookiePersist = L"MobileNoCookiePersist";
PPCONST wchar_t* k_szMobileCookieDomainFromServer = L"MobileCookieDomainFromServer";
//
//
// Network error flags (f= values)
//
PPCONST wchar_t* k_szBadRequest = L"1";
PPCONST wchar_t* k_szOffline = L"2";
PPCONST wchar_t* k_szTimeout = L"3";
PPCONST wchar_t* k_szLocked = L"4";
PPCONST wchar_t* k_szNoProfile = L"5";
PPCONST wchar_t* k_szDisaster = L"6";
PPCONST wchar_t* k_szInvalidKey = L"7";
PPCONST wchar_t* k_szBadPartnerInfo = L"8";
PPCONST wchar_t* k_szUnhandledError = L"9";
PPCONST wchar_t* k_szIllegalKppUse = L"10";
//
// support for passing CPassportExceptioninfo
// within cookie
//
PPCONST char* k_szErrPage = "err.srf";
PPCONST char* k_szErrCode = "code";
PPCONST char* k_szErrCookieName = "pperr";
PPCONST char* k_szErrCAttrFilename = "efn";
PPCONST char* k_szErrCAttrLine = "eln";
PPCONST char* k_szErrCAttrHr = "ehr";
PPCONST char* k_szErrCAttrStatus1 = "es1";
PPCONST char* k_szErrCAttrStatus2 = "es2";
PPCONST char* k_szErrCAttrStatus3 = "es3";
PPCONST char* k_szErrCAttrTheURL = "eul";
//
// MD5 Login mode
//
PPCONST char* k_szMD5ModeAuth = "auth";
PPCONST char* k_szMD5ModeExst = "exst";
PPCONST char* k_szMD5ModeExst2 = "exst2";
//
// XML node name and attribute name
//
PPCONST CComVariant k_cvXMLNodeClientInfo(L"//ClientInfo");
PPCONST CComVariant k_cvXMLNodeSignInName(L"//SignInName");
PPCONST CComVariant k_cvXMLNodeDomain(L"//Domain");
PPCONST CComVariant k_cvXMLNodePassword(L"//Password");
PPCONST CComVariant k_cvXMLNodeSavePassword(L"//SavePassword");
PPCONST CComVariant k_cvXMLNodeCountry(L"//Country");
PPCONST CComVariant k_cvXMLNodeRegion(L"//Region");
PPCONST CComVariant k_cvXMLNodePostalCode(L"//PostalCode");
PPCONST CComVariant k_cvXMLNodeEmail(L"//Email");
PPCONST CComVariant k_cvXMLNodeFirstName(L"//FirstName");
PPCONST CComVariant k_cvXMLNodeLastName(L"//LastName");
PPCONST CComVariant k_cvXMLNodeOccupation(L"//Occupation");
PPCONST CComVariant k_cvXMLNodeTimeZone(L"//TimeZone");
PPCONST CComVariant k_cvXMLNodeOldPassword(L"//OldPassword");
PPCONST CComVariant k_cvXMLNodeNewPassword(L"//NewPassword");
PPCONST CComVariant k_cvXMLNodeSecretQAnswer(L"//SecretQAnswer");
PPCONST CComVariant k_cvXMLNodeCreditCardInfo(L"//CreditCardInfo");
PPCONST CComVariant k_cvXMLNodeBirthDate(L"//Birthdate");
PPCONST CComVariant k_cvXMLNodeAccountIsValidated(L"//AccountIsValidated");
PPCONST CComVariant k_cvXMLNodeSVC(L"//SVC");
PPCONST CComVariant k_cvXMLNodePCR(L"//ParentCreatingKidsAccount");
PPCONST CComVariant k_cvXMLNodeAllowEmailInProfile(L"//AllowEmailInProfile");
PPCONST CComVariant k_cvXMLNodeAttrID(L"ID");
PPCONST CComVariant k_cvXMLNodeAttrClientInfoVersion(L"version");
//
// XML root tags of requests and responses
//
PPCONST wchar_t* k_szLoginRequestRootTag = L"LoginRequest";
PPCONST wchar_t* k_szProfileRequestRootTag = L"ProfileRequest";
PPCONST wchar_t* k_szSignupRequestRootTag = L"SignupRequest";
PPCONST wchar_t* k_szLoginResponseRootTag = L"LoginResponse";
PPCONST wchar_t* k_szProfileResponseRootTag = L"ProfileResponse";
PPCONST wchar_t* k_szSignupResponseRootTag = L"SignupResponse";
PPCONST wchar_t* k_szChangePWResponseRootTag = L"ChangePasswordResponse";
PPCONST wchar_t* k_szChangePWRequestRootTag = L"ChangePasswordRequest";
PPCONST wchar_t* k_szResetPWResponseRootTag = L"ResetPasswordResponse";
PPCONST wchar_t* k_szResetPWRequest1RootTag = L"ResetPasswordRequest1";
PPCONST wchar_t* k_szResetPWRequest2RootTag = L"ResetPasswordRequest2";
//
// XML redirect and referral
//
PPCONST wchar_t* k_szXMLRedirect = L"Redirect";
PPCONST wchar_t* k_szXMLReferral = L"Referral";
PPCONST wchar_t* k_szXMLAltName = L"Alternative";
//
// Misc constants
//
PPCONST wchar_t* k_szTrue = L"true";
PPCONST wchar_t* k_szFalse = L"false";
//
// PP_SERVICE constants. Passed to Partners CB file as PP_SERVICE="value"
// Tells the partner what service their cobranding is being rendered in.
//
PPCONST char* k_szPPSRegistration = "registration";
PPCONST char* k_szPPSLogin = "login";
PPCONST char* k_szPPSLogout = "logout";
PPCONST char* k_szPPSMemberServices = "memberservices";
//
// PP_PAGE constants. Passed to Partners CB file as PP_PAGE="value"
// Tells the partner what page their cobranding is being rendered on.
//
PPCONST char* k_szPPPRegisterError = "regerr";
PPCONST char* k_szPPPRegisterEditProfile = "editprof";
PPCONST char* k_szPPPExpNotLoggedInEditProfile = "expnotloggedineditprof";
PPCONST char* k_szPPPCongrats = "congrats";
PPCONST char* k_szPPPExpAlreadyLoggedIn = "exploggedin";
PPCONST char* k_szPPPExpUnknownServerError = "expunknownsererr";
//
// Passport1.4 (tweener) string constants
//
PPCONST wchar_t* k_szPassport_Prot14 = L"Passport1.4";
PPCONST char* k_szPassport_Prot14_A = "Passport1.4";
//
// secure signin levels
//
PPCONST USHORT k_iSeclevelAny = 0;
PPCONST USHORT k_iSeclevelSecureChannel = 10;
PPCONST USHORT k_iSeclevelStrongCreds = 100;
PPCONST USHORT k_iSeclevelStrongestAvaileble = 0xFF;
PPCONST USHORT k_iPPSignInOptionPrefill = 1; // - Prefill
PPCONST USHORT k_iPPSignInOptionSavePassword = 2; // - Save passpord/Auto signin
PPCONST USHORT k_iPPSignInOptionShared = 3; // - Public/shared computer