Leaked source code of windows server 2003
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
/* ----------------------------------------------------------------------
Module: ULS.DLL (Service Provider) File: spserver.cpp Content: This file contains the server and its authentication. History: 10/15/96 Chu, Lon-Chan [lonchanc] Created.
Copyright (c) Microsoft Corporation 1996-1997
---------------------------------------------------------------------- */
#include "ulsp.h"
#include "spinc.h"
BOOL IlsSameServerInfo ( const SERVER_INFO *p1, const SERVER_INFO *p2 ) { return (p1->uTimeoutInSecond == p2->uTimeoutInSecond && p1->AuthMethod == p2->AuthMethod && My_lstrcmpi (p1->pszServerName, p2->pszServerName) == 0 && My_lstrcmpi (p1->pszLogonName, p2->pszLogonName) == 0 && My_lstrcmpi (p1->pszLogonPassword, p2->pszLogonPassword) == 0 && My_lstrcmpi (p1->pszDomain, p2->pszDomain) == 0 && My_lstrcmpi (p1->pszBaseDN, p2->pszBaseDN) == 0 && My_lstrcmpi (p1->pszCredential, p2->pszCredential) == 0); }
HRESULT IlsCopyServerInfo ( SERVER_INFO *pDst, const SERVER_INFO *pSrc ) { MyAssert (pDst != NULL && pSrc != NULL);
SERVER_INFO si; ZeroMemory (&si, sizeof (si)); si.uTimeoutInSecond = pSrc->uTimeoutInSecond; si.AuthMethod = pSrc->AuthMethod; si.pszServerName = My_strdup (pSrc->pszServerName); si.pszLogonName = My_strdup (pSrc->pszLogonName); si.pszLogonPassword = My_strdup (pSrc->pszLogonPassword); si.pszDomain = My_strdup (pSrc->pszDomain); si.pszCredential = My_strdup (pSrc->pszCredential); si.pszBaseDN = My_strdup (pSrc->pszBaseDN);
if ((pSrc->pszServerName != NULL && si.pszServerName == NULL) || (pSrc->pszLogonName != NULL && si.pszLogonName == NULL) || (pSrc->pszLogonPassword != NULL && si.pszLogonPassword == NULL) || (pSrc->pszDomain != NULL && si.pszDomain == NULL) || (pSrc->pszCredential != NULL && si.pszCredential == NULL) || (pSrc->pszBaseDN != NULL && si.pszBaseDN == NULL) ) { IlsFreeServerInfo (&si); return ILS_E_MEMORY; }
*pDst = si; return S_OK; }
VOID IlsFreeServerInfo ( SERVER_INFO *psi ) { if (psi != NULL) { MemFree (psi->pszServerName); MemFree (psi->pszLogonName); MemFree (psi->pszLogonPassword); MemFree (psi->pszDomain); MemFree (psi->pszCredential); MemFree (psi->pszBaseDN);
ZeroMemory (psi, sizeof (*psi)); } }
ULONG IlsGetLinearServerInfoSize ( const SERVER_INFO *psi ) { ULONG cbSize = sizeof (SERVER_INFO);
cbSize += (My_lstrlen (psi->pszServerName) + 1) * sizeof (TCHAR); cbSize += (My_lstrlen (psi->pszLogonName) + 1) * sizeof (TCHAR); cbSize += (My_lstrlen (psi->pszLogonPassword) + 1) * sizeof (TCHAR); cbSize += (My_lstrlen (psi->pszDomain) + 1) * sizeof (TCHAR); cbSize += (My_lstrlen (psi->pszCredential) + 1) * sizeof (TCHAR); cbSize += (My_lstrlen (psi->pszBaseDN) + 1) * sizeof (TCHAR);
return cbSize; }
VOID IlsLinearizeServerInfo ( BYTE *pData, const SERVER_INFO *pSrc ) { SERVER_INFO *p = (SERVER_INFO *) pData; pData = (BYTE *) (p + 1);
CopyMemory (p, pSrc, sizeof (SERVER_INFO));
if (pSrc->pszServerName != NULL) { p->pszServerName = (TCHAR *) pData; My_lstrcpy ((TCHAR *) pData, pSrc->pszServerName); pData += (lstrlen (pSrc->pszServerName) + 1) * sizeof (TCHAR); }
if (pSrc->pszLogonName != NULL) { p->pszLogonName = (TCHAR *) pData; My_lstrcpy ((TCHAR *) pData, pSrc->pszLogonName); pData += (lstrlen (pSrc->pszLogonName) + 1) * sizeof (TCHAR); }
if (pSrc->pszLogonPassword != NULL) { p->pszLogonPassword = (TCHAR *) pData; My_lstrcpy ((TCHAR *) pData, pSrc->pszLogonPassword); pData += (lstrlen (pSrc->pszLogonPassword) + 1) * sizeof (TCHAR); }
if (pSrc->pszDomain != NULL) { p->pszDomain = (TCHAR *) pData; My_lstrcpy ((TCHAR *) pData, pSrc->pszDomain); pData += (lstrlen (pSrc->pszDomain) + 1) * sizeof (TCHAR); }
if (pSrc->pszCredential != NULL) { p->pszCredential = (TCHAR *) pData; My_lstrcpy ((TCHAR *) pData, pSrc->pszCredential); pData += (lstrlen (pSrc->pszCredential) + 1) * sizeof (TCHAR); }
if (pSrc->pszBaseDN != NULL) { p->pszBaseDN = (TCHAR *) pData; My_lstrcpy ((TCHAR *) pData, pSrc->pszBaseDN); pData += (lstrlen (pSrc->pszBaseDN) + 1) * sizeof (TCHAR); } }
HRESULT IlsFillDefServerInfo ( SERVER_INFO *p, TCHAR *pszServerName ) { ZeroMemory (p, sizeof (*p)); p->pszServerName = My_strdup (pszServerName); return ((p->pszServerName != NULL) ? S_OK : ILS_E_MEMORY); }
|