+
+
+ /* 0 = disallowed, 1 = allowed */
+ /* Disallowed by default */
+ const bool defaultValue = false;
+ //To change:
+ //sudo defaults write /Library/Preferences/com.apple.security SSLAllowServerIdentityChange -bool YES
+ value = (CFTypeRef)CFPreferencesCopyValue(CFSTR("SSLAllowServerIdentityChange"),
+ CFSTR("com.apple.security"),
+ kCFPreferencesAnyUser,
+ kCFPreferencesCurrentHost);
+ if (value) {
+ if (CFGetTypeID(value) == CFBooleanGetTypeID())
+ kAllowServerIdentityChangeDefaultValue = CFBooleanGetValue((CFBooleanRef)value);
+ else if (CFGetTypeID(value) == CFNumberGetTypeID()) {
+ int localValue;
+ if (!CFNumberGetValue((CFNumberRef)value, kCFNumberIntType, &localValue)) {
+ kAllowServerIdentityChangeDefaultValue = defaultValue;
+ } else {
+ kAllowServerIdentityChangeDefaultValue = localValue;
+ }
+ }
+ CFRelease(value);
+ }
+ else {
+ kAllowServerIdentityChangeDefaultValue = defaultValue;
+ }