Blame winpr/libwinpr/dsparse/test/TestDsMakeSpn.c

Packit Service fa4841
Packit Service fa4841
#include <stdio.h>
Packit Service fa4841
#include <winpr/crt.h>
Packit Service fa4841
#include <winpr/winpr.h>
Packit Service fa4841
#include <winpr/tchar.h>
Packit Service fa4841
#include <winpr/dsparse.h>
Packit Service fa4841
Packit Service fa4841
static LPCTSTR testServiceClass = _T("HTTP");
Packit Service fa4841
static LPCTSTR testServiceName = _T("LAB1-W2K8R2-GW.lab1.awake.local");
Packit Service fa4841
static LPCTSTR testSpn = _T("HTTP/LAB1-W2K8R2-GW.lab1.awake.local");
Packit Service fa4841
Packit Service fa4841
int TestDsMakeSpn(int argc, char* argv[])
Packit Service fa4841
{
Packit Service fa4841
	int rc = -1;
Packit Service fa4841
	LPTSTR Spn = NULL;
Packit Service fa4841
	DWORD status;
Packit Service fa4841
	DWORD SpnLength;
Packit Service fa4841
	SpnLength = -1;
Packit Service fa4841
	status = DsMakeSpn(testServiceClass, testServiceName, NULL, 0, NULL, &SpnLength, NULL);
Packit Service fa4841
Packit Service fa4841
	if (status != ERROR_INVALID_PARAMETER)
Packit Service fa4841
	{
Packit Service fa4841
		_tprintf(_T("DsMakeSpn: expected ERROR_INVALID_PARAMETER\n"));
Packit Service fa4841
		goto fail;
Packit Service fa4841
	}
Packit Service fa4841
Packit Service fa4841
	SpnLength = 0;
Packit Service fa4841
	status = DsMakeSpn(testServiceClass, testServiceName, NULL, 0, NULL, &SpnLength, NULL);
Packit Service fa4841
Packit Service fa4841
	if (status != ERROR_BUFFER_OVERFLOW)
Packit Service fa4841
	{
Packit Service fa4841
		_tprintf(_T("DsMakeSpn: expected ERROR_BUFFER_OVERFLOW\n"));
Packit Service fa4841
		goto fail;
Packit Service fa4841
	}
Packit Service fa4841
Packit Service fa4841
	if (SpnLength != 37)
Packit Service fa4841
	{
Packit Service bb5c11
		_tprintf(_T("DsMakeSpn: SpnLength mismatch: Actual: %")_T(PRIu32)_T(", Expected: 37\n"), SpnLength);
Packit Service fa4841
		goto fail;
Packit Service fa4841
	}
Packit Service fa4841
Packit Service fa4841
	/* SpnLength includes null terminator */
Packit Service bb5c11
	Spn = (LPTSTR) calloc(SpnLength, sizeof(TCHAR));
Packit Service fa4841
Packit Service fa4841
	if (!Spn)
Packit Service fa4841
	{
Packit Service fa4841
		_tprintf(_T("DsMakeSpn: Unable to allocate memroy\n"));
Packit Service fa4841
		goto fail;
Packit Service fa4841
	}
Packit Service fa4841
Packit Service fa4841
	status = DsMakeSpn(testServiceClass, testServiceName, NULL, 0, NULL, &SpnLength, Spn);
Packit Service fa4841
Packit Service fa4841
	if (status != ERROR_SUCCESS)
Packit Service fa4841
	{
Packit Service fa4841
		_tprintf(_T("DsMakeSpn: expected ERROR_SUCCESS\n"));
Packit Service fa4841
		goto fail;
Packit Service fa4841
	}
Packit Service fa4841
Packit Service fa4841
	if (_tcscmp(Spn, testSpn) != 0)
Packit Service fa4841
	{
Packit Service fa4841
		_tprintf(_T("DsMakeSpn: SPN mismatch: Actual: %s, Expected: %s\n"), Spn, testSpn);
Packit Service fa4841
		goto fail;
Packit Service fa4841
	}
Packit Service fa4841
Packit Service fa4841
	_tprintf(_T("DsMakeSpn: %s\n"), Spn);
Packit Service fa4841
	rc = 0;
Packit Service fa4841
fail:
Packit Service fa4841
	free(Spn);
Packit Service fa4841
	return rc;
Packit Service fa4841
}
Packit Service bb5c11