static SECURITY_STATUS setupPackageA(SEC_CHAR *p_package_name, PSecPkgInfo *p_pkg_info) { SECURITY_STATUS ret; ret = pQuerySecurityPackageInfoA( p_package_name, p_pkg_info); return ret; }
static void testQuerySecurityPackageInfo(void) { SECURITY_STATUS sec_status; PSecPkgInfo pkg_info; static SEC_CHAR ntlm[] = "NTLM", winetest[] = "Winetest"; trace("Running testQuerySecurityPackageInfo\n"); /* Test with an existing package. Test should pass */ pkg_info = (void *)0xdeadbeef; sec_status = setupPackageA(ntlm, &pkg_info); ok((sec_status == SEC_E_OK) || (sec_status == SEC_E_SECPKG_NOT_FOUND), "Return value of QuerySecurityPackageInfo() shouldn't be %s\n", getSecError(sec_status) ); if (sec_status == SEC_E_OK) { ok(pkg_info != (void *)0xdeadbeef, "wrong pkg_info address %p\n", pkg_info); ok(pkg_info->wVersion == 1, "wVersion always should be 1, but is %d\n", pkg_info->wVersion); /* there is no point in testing pkg_info->cbMaxToken since it varies * between implementations. */ } sec_status = pFreeContextBuffer(pkg_info); ok( sec_status == SEC_E_OK, "Return value of FreeContextBuffer() shouldn't be %s\n", getSecError(sec_status) ); /* Test with a nonexistent package, test should fail */ pkg_info = (void *)0xdeadbeef; sec_status = pQuerySecurityPackageInfoA(winetest, &pkg_info); ok( sec_status != SEC_E_OK, "Return value of QuerySecurityPackageInfo() should not be %s for a nonexistent package\n", getSecError(SEC_E_OK)); ok(pkg_info == (void *)0xdeadbeef, "wrong pkg_info address %p\n", pkg_info); sec_status = pFreeContextBuffer(pkg_info); ok( sec_status == SEC_E_OK, "Return value of FreeContextBuffer() shouldn't be %s\n", getSecError(sec_status) ); }
static SECURITY_STATUS setup_server( struct sspi_data *data, SEC_CHAR *provider ) { SECURITY_STATUS ret; SecPkgInfoA *info; TimeStamp ttl; trace( "setting up server\n" ); ret = pQuerySecurityPackageInfoA( provider, &info ); ok( ret == SEC_E_OK, "QuerySecurityPackageInfo returned %08x\n", ret ); setup_buffers( data, info ); pFreeContextBuffer( info ); ret = pAcquireCredentialsHandleA( NULL, provider, SECPKG_CRED_INBOUND, NULL, NULL, NULL, NULL, &data->cred, &ttl ); ok( ret == SEC_E_OK, "AcquireCredentialsHandleA returned %08x\n", ret ); return ret; }