diff --git a/modules/rostests/winetests/secur32/negotiate.c b/modules/rostests/winetests/secur32/negotiate.c index 2f1228ced21..095aee6cb57 100644 --- a/modules/rostests/winetests/secur32/negotiate.c +++ b/modules/rostests/winetests/secur32/negotiate.c @@ -306,12 +306,9 @@ static void test_authentication(void) expected = sizeof(*pi) + lstrlenA(pi->Name) + 1 + lstrlenA(pi->Comment) + 1; got = HeapSize(GetProcessHeap(), 0, pi); -todo_wine ok( got == expected, "got %u, expected %u\n", got, expected ); eob = (char *)pi + expected; -todo_wine ok( pi->Name + lstrlenA(pi->Name) < eob, "Name doesn't fit into allocated block\n" ); -todo_wine ok( pi->Comment + lstrlenA(pi->Comment) < eob, "Comment doesn't fit into allocated block\n" ); status = FreeContextBuffer( pi ); diff --git a/modules/rostests/winetests/secur32/ntlm.c b/modules/rostests/winetests/secur32/ntlm.c index c060420a3fb..b9fdf6f237a 100644 --- a/modules/rostests/winetests/secur32/ntlm.c +++ b/modules/rostests/winetests/secur32/ntlm.c @@ -916,12 +916,10 @@ static void testAuth(ULONG data_rep, BOOL fake) memset(&info, 0, sizeof(info)); sec_status = QueryContextAttributesA(&client.ctxt, SECPKG_ATTR_NEGOTIATION_INFO, &info); -todo_wine ok(sec_status == SEC_E_OK, "QueryContextAttributesA returned %08x\n", sec_status); pi = info.PackageInfo; ok(info.NegotiationState == SECPKG_NEGOTIATION_COMPLETE, "got %u\n", info.NegotiationState); -todo_wine ok(pi != NULL, "expected non-NULL PackageInfo\n"); if (pi) { diff --git a/modules/rostests/winetests/secur32/schannel.c b/modules/rostests/winetests/secur32/schannel.c index 800edd3a7f1..1a37c5226a7 100644 --- a/modules/rostests/winetests/secur32/schannel.c +++ b/modules/rostests/winetests/secur32/schannel.c @@ -17,15 +17,15 @@ * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include + #include #include -#include +#include +#include +#include #define SECURITY_WIN32 #include #include -#include -#include #include "wine/test.h" @@ -772,7 +772,6 @@ todo_wine ISC_REQ_CONFIDENTIALITY|ISC_REQ_STREAM, 0, 0, &buffers[1], 0, NULL, &buffers[0], &attrs, NULL); ok(status == SEC_E_INVALID_TOKEN, "Expected SEC_E_INVALID_TOKEN, got %08x\n", status); -todo_wine ok(buffers[0].pBuffers[0].cbBuffer == 0, "Output buffer size was not set to 0.\n"); buffers[0].pBuffers[0].cbBuffer = 0; @@ -782,9 +781,15 @@ todo_wine todo_wine ok(status == SEC_E_INSUFFICIENT_MEMORY || status == SEC_E_INVALID_TOKEN, "Expected SEC_E_INSUFFICIENT_MEMORY or SEC_E_INVALID_TOKEN, got %08x\n", status); + ok(buffers[0].pBuffers[0].cbBuffer == 0, "Output buffer size was not set to 0.\n"); + + status = InitializeSecurityContextA(&cred_handle, NULL, (SEC_CHAR *)"localhost", + ISC_REQ_CONFIDENTIALITY|ISC_REQ_STREAM, + 0, 0, NULL, 0, &context, NULL, &attrs, NULL); +todo_wine + ok(status == SEC_E_INVALID_TOKEN, "Expected SEC_E_INVALID_TOKEN, got %08x\n", status); buffers[0].pBuffers[0].cbBuffer = buf_size; - status = InitializeSecurityContextA(&cred_handle, NULL, (SEC_CHAR *)"localhost", ISC_REQ_CONFIDENTIALITY|ISC_REQ_STREAM, 0, 0, NULL, 0, &context, &buffers[0], &attrs, NULL); @@ -859,6 +864,7 @@ todo_wine buffers[1].pBuffers[0].cbBuffer = buf_size; } + ok(buffers[0].pBuffers[0].cbBuffer == 0, "Output buffer size was not set to 0.\n"); ok(status == SEC_E_OK || broken(status == SEC_E_INVALID_TOKEN) /* WinNT */, "InitializeSecurityContext failed: %08x\n", status); if(status != SEC_E_OK) { diff --git a/modules/rostests/winetests/secur32/secur32.c b/modules/rostests/winetests/secur32/secur32.c index 96b8c5f4e03..40c272ada3a 100644 --- a/modules/rostests/winetests/secur32/secur32.c +++ b/modules/rostests/winetests/secur32/secur32.c @@ -22,10 +22,13 @@ #include #include #include -#include +#include +#include #define SECURITY_WIN32 #include #include +#include +#include #include "wine/test.h" @@ -65,20 +68,40 @@ static void testGetComputerObjectNameA(void) UINT i; for (i = 0; i < (sizeof(formats) / sizeof(formats[0])); i++) { + size = 0; + SetLastError(0xdeadbeef); + rc = pGetComputerObjectNameA(formats[i], NULL, &size); + ok(!rc, "GetComputerObjectName(%u) should fail\n", formats[i]); + switch (formats[i]) + { + case NameUnknown: + ok(GetLastError() == ERROR_INVALID_PARAMETER, "%u: got %u\n", formats[i], GetLastError()); + break; + default: + ok(GetLastError() == ERROR_NONE_MAPPED || + GetLastError() == ERROR_NO_SUCH_USER || + GetLastError() == ERROR_CANT_ACCESS_DOMAIN_INFO || + GetLastError() == ERROR_INSUFFICIENT_BUFFER, + "%u: got %u\n", formats[i], GetLastError()); + break; + } + + if (GetLastError() != ERROR_INSUFFICIENT_BUFFER) continue; + size = sizeof(name); - ZeroMemory(name, sizeof(name)); + SetLastError(0xdeadbeef); rc = pGetComputerObjectNameA(formats[i], name, &size); - ok(rc || ((formats[i] == NameUnknown) && - (GetLastError() == ERROR_INVALID_PARAMETER)) || - (GetLastError() == ERROR_CANT_ACCESS_DOMAIN_INFO) || - (GetLastError() == ERROR_NO_SUCH_DOMAIN) || - (GetLastError() == ERROR_NO_SUCH_USER) || - (GetLastError() == ERROR_NONE_MAPPED) || - (GetLastError() == ERROR_ACCESS_DENIED), - "GetComputerObjectNameA(%d) failed: %d\n", - formats[i], GetLastError()); - if (rc) - trace("GetComputerObjectNameA() returned %s\n", name); + switch (formats[i]) + { + case NameUnknown: + ok(!rc, "GetComputerObjectName(%u) should fail\n", formats[i]); + ok(GetLastError() == ERROR_INVALID_PARAMETER, "%u: got %u\n", formats[i], GetLastError()); + break; + default: + ok(rc, "GetComputerObjectName(%u) error %u\n", formats[i], GetLastError()); + trace("GetComputerObjectName(%u) returned %s\n", formats[i], name); + break; + } } } @@ -90,22 +113,40 @@ static void testGetComputerObjectNameW(void) UINT i; for (i = 0; i < (sizeof(formats) / sizeof(formats[0])); i++) { + size = 0; + SetLastError(0xdeadbeef); + rc = pGetComputerObjectNameW(formats[i], NULL, &size); + ok(!rc || broken(rc) /* win10 */, "GetComputerObjectName(%u) should fail\n", formats[i]); + switch (formats[i]) + { + case NameUnknown: + ok(GetLastError() == ERROR_INVALID_PARAMETER, "%u: got %u\n", formats[i], GetLastError()); + break; + default: + ok(GetLastError() == ERROR_NONE_MAPPED || + GetLastError() == ERROR_NO_SUCH_USER || + GetLastError() == ERROR_CANT_ACCESS_DOMAIN_INFO || + GetLastError() == WSAHOST_NOT_FOUND || + GetLastError() == ERROR_INSUFFICIENT_BUFFER, + "%u: got %u\n", formats[i], GetLastError()); + break; + } + + if (GetLastError() != ERROR_INSUFFICIENT_BUFFER) continue; + size = sizeof(nameW)/sizeof(nameW[0]); - ZeroMemory(nameW, sizeof(nameW)); + SetLastError(0xdeadbeef); rc = pGetComputerObjectNameW(formats[i], nameW, &size); - ok(rc || ((formats[i] == NameUnknown) && - (GetLastError() == ERROR_INVALID_PARAMETER)) || - (GetLastError() == ERROR_CANT_ACCESS_DOMAIN_INFO) || - (GetLastError() == ERROR_NO_SUCH_DOMAIN) || - (GetLastError() == ERROR_NO_SUCH_USER) || - (GetLastError() == ERROR_NONE_MAPPED) || - (GetLastError() == ERROR_ACCESS_DENIED), - "GetComputerObjectNameW(%d) failed: %d\n", - formats[i], GetLastError()); - if (rc) { - char name[256]; - WideCharToMultiByte( CP_ACP, 0, nameW, -1, name, sizeof(name), NULL, NULL ); - trace("GetComputerObjectNameW() returned %s\n", name); + switch (formats[i]) + { + case NameUnknown: + ok(!rc, "GetComputerObjectName(%u) should fail\n", formats[i]); + ok(GetLastError() == ERROR_INVALID_PARAMETER, "%u: got %u\n", formats[i], GetLastError()); + break; + default: + ok(rc, "GetComputerObjectName(%u) error %u\n", formats[i], GetLastError()); + trace("GetComputerObjectName(%u) returned %s\n", formats[i], wine_dbgstr_w(nameW)); + break; } } }