*/
bool Curl_auth_is_digest_supported(void)
{
- /* TODO: Return true for now which maintains compatability with the existing
- code */
- return TRUE;
+ PSecPkgInfo SecurityPackage;
+ SECURITY_STATUS status;
+
+ /* Query the security package for Digest */
+ status = s_pSecFn->QuerySecurityPackageInfo((TCHAR *) TEXT(SP_NAME_DIGEST),
+ &SecurityPackage);
+
+ return (status == SEC_E_OK ? TRUE : FALSE);
}
/*
*/
bool Curl_auth_is_gssapi_supported(void)
{
- /* TODO: Return true for now which maintains compatability with the existing
- code */
- return TRUE;
+ PSecPkgInfo SecurityPackage;
+ SECURITY_STATUS status;
+
+ /* Query the security package for Kerberos */
+ status = s_pSecFn->QuerySecurityPackageInfo((TCHAR *)
+ TEXT(SP_NAME_KERBEROS),
+ &SecurityPackage);
+
+ return (status == SEC_E_OK ? TRUE : FALSE);
}
/*
*/
bool Curl_auth_is_ntlm_supported(void)
{
- /* TODO: Return true for now which maintains compatability with the existing
- code */
- return TRUE;
+ PSecPkgInfo SecurityPackage;
+ SECURITY_STATUS status;
+
+ /* Query the security package for NTLM */
+ status = s_pSecFn->QuerySecurityPackageInfo((TCHAR *) TEXT(SP_NAME_NTLM),
+ &SecurityPackage);
+
+ return (status == SEC_E_OK ? TRUE : FALSE);
}
/*
*/
bool Curl_auth_is_spnego_supported(void)
{
- /* TODO: Return true for now which maintains compatability with the existing
- code */
- return TRUE;
+ PSecPkgInfo SecurityPackage;
+ SECURITY_STATUS status;
+
+ /* Query the security package for Negotiate */
+ status = s_pSecFn->QuerySecurityPackageInfo((TCHAR *)
+ TEXT(SP_NAME_NEGOTIATE),
+ &SecurityPackage);
+
+ return (status == SEC_E_OK ? TRUE : FALSE);
}
/*