ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

sspi.c
Go to the documentation of this file.
00001 #include <precomp.h>
00002 
00003 #define NDEBUG
00004 #include <debug.h>
00005 
00006 SECURITY_STATUS WINAPI ApplyControlTokenW(PCtxtHandle Handle, PSecBufferDesc Buffer);
00007 SECURITY_STATUS WINAPI ApplyControlTokenA(PCtxtHandle Handle, PSecBufferDesc Buffer);
00008 
00009 static SecurityFunctionTableA securityFunctionTableA =
00010 {
00011     SECURITY_SUPPORT_PROVIDER_INTERFACE_VERSION,
00012     EnumerateSecurityPackagesA,
00013     QueryCredentialsAttributesA,
00014     AcquireCredentialsHandleA,
00015     FreeCredentialsHandle,
00016     NULL, /* Reserved2 */
00017     InitializeSecurityContextA,
00018     AcceptSecurityContext,
00019     CompleteAuthToken,
00020     DeleteSecurityContext,
00021     ApplyControlTokenA,
00022     QueryContextAttributesA,
00023     ImpersonateSecurityContext,
00024     RevertSecurityContext,
00025     MakeSignature,
00026     VerifySignature,
00027     FreeContextBuffer,
00028     QuerySecurityPackageInfoA,
00029     EncryptMessage, /* Reserved3 */
00030     DecryptMessage, /* Reserved4 */
00031     ExportSecurityContext,
00032     ImportSecurityContextA,
00033     AddCredentialsA,
00034     NULL, /* Reserved8 */
00035     QuerySecurityContextToken,
00036     EncryptMessage,
00037     DecryptMessage,
00038     NULL
00039 };
00040 
00041 static SecurityFunctionTableW securityFunctionTableW =
00042 {
00043     SECURITY_SUPPORT_PROVIDER_INTERFACE_VERSION,
00044     EnumerateSecurityPackagesW,
00045     QueryCredentialsAttributesW,
00046     AcquireCredentialsHandleW,
00047     FreeCredentialsHandle,
00048     NULL, /* Reserved2 */
00049     InitializeSecurityContextW,
00050     AcceptSecurityContext,
00051     CompleteAuthToken,
00052     DeleteSecurityContext,
00053     ApplyControlTokenW,
00054     QueryContextAttributesW,
00055     ImpersonateSecurityContext,
00056     RevertSecurityContext,
00057     MakeSignature,
00058     VerifySignature,
00059     FreeContextBuffer,
00060     QuerySecurityPackageInfoW,
00061     EncryptMessage, /* Reserved3 */
00062     DecryptMessage, /* Reserved4 */
00063     ExportSecurityContext,
00064     ImportSecurityContextW,
00065     AddCredentialsW,
00066     NULL, /* Reserved8 */
00067     QuerySecurityContextToken,
00068     EncryptMessage,
00069     DecryptMessage,
00070     NULL
00071 };
00072 
00073 SECURITY_STATUS
00074 WINAPI
00075 EnumerateSecurityPackagesW (
00076     PULONG pcPackages,
00077     PSecPkgInfoW* ppPackageInfo
00078     )
00079 {
00080     SECURITY_STATUS ret = SEC_E_OK;
00081 
00082     *pcPackages = 0;
00083     *ppPackageInfo = NULL;
00084     /*
00085     if (packageTable)
00086     {
00087 
00088     }
00089     */
00090 
00091     UNIMPLEMENTED;
00092     return ret;
00093 }
00094 
00095 SECURITY_STATUS
00096 WINAPI
00097 EnumerateSecurityPackagesA(
00098     PULONG pcPackages,
00099     PSecPkgInfoA* ppPackageInfo
00100     )
00101 {
00102     SECURITY_STATUS ret;
00103     PSecPkgInfoW info = NULL;
00104 
00105     ret = EnumerateSecurityPackagesW(pcPackages, &info);
00106     if (ret == SEC_E_OK && *pcPackages && info)
00107     {
00108         /* *ppPackageInfo = thunk_PSecPkgInfoWToA(*pcPackages, info);
00109         if (*pcPackages && !*ppPackageInfo)
00110         {
00111             *pcPackages = 0;
00112             ret = SEC_E_INSUFFICIENT_MEMORY;
00113         } */
00114         FreeContextBuffer(info);
00115     }
00116     *ppPackageInfo = NULL;
00117     UNIMPLEMENTED;
00118 
00119     return ret;
00120 }
00121 
00122 SECURITY_STATUS
00123 WINAPI
00124 FreeContextBuffer (
00125     PVOID pvoid
00126     )
00127 {
00128     HeapFree(GetProcessHeap(), 0, pvoid);
00129     return SEC_E_OK;
00130 }
00131 
00132 SECURITY_STATUS
00133 WINAPI
00134 FreeCredentialsHandle(PCredHandle Handle)
00135 {
00136     UNIMPLEMENTED;
00137     return ERROR_CALL_NOT_IMPLEMENTED;
00138 }
00139 
00140 SECURITY_STATUS
00141 WINAPI
00142 DeleteSecurityContext(PCtxtHandle Handle)
00143 {
00144     UNIMPLEMENTED;
00145     return ERROR_CALL_NOT_IMPLEMENTED;
00146 }
00147 
00148 PSecurityFunctionTableW
00149 WINAPI
00150 InitSecurityInterfaceW(VOID)
00151 {
00152     DPRINT("InitSecurityInterfaceW() called\n");
00153     return &securityFunctionTableW;
00154 }
00155 
00156 SECURITY_STATUS
00157 WINAPI
00158 EncryptMessage(PCtxtHandle Handle,
00159                ULONG Foo,
00160                PSecBufferDesc Buffer,
00161                ULONG Bar)
00162 {
00163     UNIMPLEMENTED;
00164     return ERROR_CALL_NOT_IMPLEMENTED;
00165 }
00166 
00167 SECURITY_STATUS
00168 WINAPI
00169 DecryptMessage(PCtxtHandle Handle,
00170                PSecBufferDesc Buffer,
00171                ULONG Foo,
00172                PULONG Bar)
00173 {
00174     UNIMPLEMENTED;
00175     return ERROR_CALL_NOT_IMPLEMENTED;
00176 }
00177 
00178 SECURITY_STATUS
00179 WINAPI
00180 ApplyControlTokenW(PCtxtHandle Handle,
00181                   PSecBufferDesc Buffer)
00182 {
00183     UNIMPLEMENTED;
00184     return ERROR_CALL_NOT_IMPLEMENTED;
00185 }
00186 
00187 SECURITY_STATUS
00188 WINAPI
00189 ApplyControlTokenA(PCtxtHandle Handle,
00190                   PSecBufferDesc Buffer)
00191 {
00192     UNIMPLEMENTED;
00193     return ERROR_CALL_NOT_IMPLEMENTED;
00194 }
00195 
00196 SECURITY_STATUS
00197 WINAPI
00198 CompleteAuthToken(PCtxtHandle Handle,
00199                   PSecBufferDesc Buffer)
00200 {
00201     UNIMPLEMENTED;
00202     return ERROR_CALL_NOT_IMPLEMENTED;
00203 }
00204 
00205 SECURITY_STATUS
00206 WINAPI
00207 QueryContextAttributesA(PCtxtHandle Handle,
00208                         ULONG Foo,
00209                         PVOID Bar)
00210 {
00211     UNIMPLEMENTED;
00212 
00213     if (Handle)
00214     {
00215         Bar = NULL;
00216         return ERROR_CALL_NOT_IMPLEMENTED;
00217     }
00218 
00219     return SEC_E_INVALID_HANDLE;
00220 }
00221 
00222 SECURITY_STATUS
00223 WINAPI
00224 QueryContextAttributesW(PCtxtHandle Handle,
00225                         ULONG Foo,
00226                         PVOID Bar)
00227 {
00228     UNIMPLEMENTED;
00229 
00230     if (Handle)
00231     {
00232         Bar = NULL;
00233         return ERROR_CALL_NOT_IMPLEMENTED;
00234     }
00235 
00236     return SEC_E_INVALID_HANDLE;
00237 }
00238 
00239 SECURITY_STATUS
00240 WINAPI
00241 AcquireCredentialsHandleA (
00242     SEC_CHAR* pszPrincipal,
00243     SEC_CHAR* pszPackage,
00244     ULONG fUsage,
00245     PLUID pID,
00246     PVOID pAuth,
00247     SEC_GET_KEY_FN pGetKeyFn,
00248     PVOID pvGetKeyArgument,
00249     PCredHandle phCred,
00250     PTimeStamp pExpires
00251     )
00252 {
00253     UNIMPLEMENTED;
00254 
00255     if (pszPackage)
00256     {
00257         phCred = NULL;
00258         pExpires = NULL;
00259         return ERROR_CALL_NOT_IMPLEMENTED;
00260     }
00261 
00262     return SEC_E_SECPKG_NOT_FOUND;
00263 }
00264 
00265 SECURITY_STATUS
00266 WINAPI
00267 AcquireCredentialsHandleW (
00268     SEC_WCHAR* pszPrincipal,
00269     SEC_WCHAR* pszPackage,
00270     ULONG fUsage,
00271     PLUID pID,
00272     PVOID pAuth,
00273     SEC_GET_KEY_FN pGetKeyFn,
00274     PVOID pvGetKeyArgument,
00275     PCredHandle phCred,
00276     PTimeStamp pExpires
00277     )
00278 {
00279     UNIMPLEMENTED;
00280 
00281     if (pszPackage)
00282     {
00283         phCred = NULL;
00284         pExpires = NULL;
00285         return ERROR_CALL_NOT_IMPLEMENTED;
00286     }
00287 
00288     return SEC_E_SECPKG_NOT_FOUND;
00289 }
00290 
00291 SECURITY_STATUS
00292 WINAPI
00293 InitializeSecurityContextW (
00294     PCredHandle phCred,
00295     PCtxtHandle phContext,
00296     SEC_WCHAR* pszTarget,
00297     ULONG fContextReq,
00298     ULONG Reserved,
00299     ULONG TargetData,
00300     PSecBufferDesc pInput,
00301     ULONG Reserved2,
00302     PCtxtHandle phNewContext,
00303     PSecBufferDesc pOut,
00304     PULONG pfContextAttributes,
00305     PTimeStamp pExpires
00306     )
00307 {
00308     UNIMPLEMENTED;
00309     return ERROR_CALL_NOT_IMPLEMENTED;
00310 }
00311 
00312 SECURITY_STATUS
00313 WINAPI
00314 InitializeSecurityContextA (
00315     PCredHandle phCred,
00316     PCtxtHandle phContext,
00317     SEC_CHAR* pszTarget,
00318     ULONG fContextReq,
00319     ULONG Reserved,
00320     ULONG TargetData,
00321     PSecBufferDesc pInput,
00322     ULONG Reserved2,
00323     PCtxtHandle phNewContext,
00324     PSecBufferDesc pOut,
00325     PULONG pfContextAttributes,
00326     PTimeStamp pExpires
00327     )
00328 {
00329     UNIMPLEMENTED;
00330     return ERROR_CALL_NOT_IMPLEMENTED;
00331 }
00332 
00333 
00334 SECURITY_STATUS
00335 SEC_ENTRY
00336 MakeSignature(
00337     PCtxtHandle phContext,
00338     ULONG fQOP,
00339     PSecBufferDesc pMessage,
00340     ULONG MessageSeqNo
00341     )
00342 {
00343     UNIMPLEMENTED;
00344     return ERROR_CALL_NOT_IMPLEMENTED;
00345 }
00346 
00347 
00348 SECURITY_STATUS
00349 SEC_ENTRY
00350 VerifySignature(
00351     PCtxtHandle phContext,
00352     PSecBufferDesc pMessage,
00353     ULONG MessageSeqNo,
00354     PULONG pfQOP
00355     )
00356 {
00357     UNIMPLEMENTED;
00358     return ERROR_CALL_NOT_IMPLEMENTED;
00359 }
00360 
00361 SECURITY_STATUS
00362 SEC_ENTRY
00363 QuerySecurityPackageInfoA(
00364     SEC_CHAR* pszPackageName,
00365     PSecPkgInfoA* ppPackageInfo
00366 )
00367 {
00368     UNIMPLEMENTED;
00369 
00370     if (pszPackageName)
00371     {
00372         *ppPackageInfo = NULL;
00373         return ERROR_CALL_NOT_IMPLEMENTED;
00374     }
00375     return SEC_E_SECPKG_NOT_FOUND;
00376 }
00377 
00378 SECURITY_STATUS
00379 SEC_ENTRY
00380 QuerySecurityPackageInfoW(
00381     SEC_WCHAR* pszPackageName,
00382     PSecPkgInfoW* ppPackageInfo
00383 )
00384 {
00385     UNIMPLEMENTED;
00386 
00387     if (pszPackageName)
00388     {
00389         *ppPackageInfo = NULL;
00390         return ERROR_CALL_NOT_IMPLEMENTED;
00391     }
00392     return SEC_E_SECPKG_NOT_FOUND;
00393 }
00394 
00395 SECURITY_STATUS
00396 WINAPI
00397 AcceptSecurityContext(
00398     PCredHandle phCredential,
00399     PCtxtHandle phContext,
00400     PSecBufferDesc pInput,
00401     ULONG fContextReq,
00402     ULONG TargetDataRep,
00403     PCtxtHandle phNewContext,
00404     PSecBufferDesc pOutput,
00405     ULONG *pfContextAttr,
00406     PTimeStamp ptsExpiry
00407 )
00408 {
00409     UNIMPLEMENTED;
00410     return ERROR_CALL_NOT_IMPLEMENTED;
00411 }
00412 
00413 SECURITY_STATUS
00414 WINAPI
00415 AddCredentialsA(
00416     PCredHandle hCredentials,
00417     SEC_CHAR *pszPrincipal,
00418     SEC_CHAR *pszPackage,
00419     ULONG fCredentialUse,
00420     LPVOID pAuthData,
00421     SEC_GET_KEY_FN pGetKeyFn,
00422     LPVOID pvGetKeyArgument,
00423     PTimeStamp ptsExpiry
00424 )
00425 {
00426     UNIMPLEMENTED;
00427     return ERROR_CALL_NOT_IMPLEMENTED;
00428 }
00429 
00430 SECURITY_STATUS
00431 WINAPI
00432 AddCredentialsW(
00433     PCredHandle hCredentials,
00434     SEC_WCHAR *pszPrincipal,
00435     SEC_WCHAR *pszPackage,
00436     ULONG fCredentialUse,
00437     LPVOID pAuthData,
00438     SEC_GET_KEY_FN pGetKeyFn,
00439     LPVOID pvGetKeyArgument,
00440     PTimeStamp ptsExpiry
00441 )
00442 {
00443     UNIMPLEMENTED;
00444     return ERROR_CALL_NOT_IMPLEMENTED;
00445 }
00446 
00447 SECURITY_STATUS
00448 WINAPI
00449 ExportSecurityContext(
00450     PCtxtHandle phContext,
00451     ULONG fFlags,
00452     PSecBuffer pPackedContext,
00453     LPVOID *pToken
00454 )
00455 {
00456     UNIMPLEMENTED;
00457     return ERROR_CALL_NOT_IMPLEMENTED;
00458 }
00459 
00460 SECURITY_STATUS
00461 WINAPI
00462 ImpersonateSecurityContext(
00463     PCtxtHandle phContext
00464 )
00465 {
00466     UNIMPLEMENTED;
00467     return ERROR_CALL_NOT_IMPLEMENTED;
00468 }
00469 
00470 SECURITY_STATUS
00471 WINAPI
00472 ImportSecurityContextA(
00473     SEC_CHAR *pszPackage,
00474     PSecBuffer pPackedContext,
00475     LPVOID Token,
00476     PCtxtHandle phContext
00477 )
00478 {
00479     UNIMPLEMENTED;
00480     return ERROR_CALL_NOT_IMPLEMENTED;
00481 }
00482 
00483 SECURITY_STATUS
00484 WINAPI
00485 ImportSecurityContextW(
00486     SEC_WCHAR *pszPackage,
00487     PSecBuffer pPackedContext,
00488     LPVOID Token,
00489     PCtxtHandle phContext
00490 )
00491 {
00492     UNIMPLEMENTED;
00493     return ERROR_CALL_NOT_IMPLEMENTED;
00494 }
00495 
00496 SECURITY_STATUS
00497 WINAPI
00498 QueryCredentialsAttributesA(
00499     PCredHandle phCredential,
00500     ULONG ulAttribute,
00501     LPVOID pBuffer
00502 )
00503 {
00504     UNIMPLEMENTED;
00505 
00506     if (phCredential)
00507     {
00508         pBuffer = NULL;
00509         return ERROR_CALL_NOT_IMPLEMENTED;
00510     }
00511 
00512     return SEC_E_INVALID_HANDLE;
00513 }
00514 
00515 SECURITY_STATUS
00516 WINAPI
00517 QueryCredentialsAttributesW(
00518     PCredHandle phCredential,
00519     ULONG ulAttribute,
00520     LPVOID pBuffer
00521 )
00522 {
00523     UNIMPLEMENTED;
00524 
00525     if (phCredential)
00526     {
00527         pBuffer = NULL;
00528         return ERROR_CALL_NOT_IMPLEMENTED;
00529     }
00530 
00531     return SEC_E_INVALID_HANDLE;
00532 }
00533 
00534 SECURITY_STATUS
00535 WINAPI
00536 QuerySecurityContextToken(
00537     PCtxtHandle phContext,
00538     PHANDLE phToken
00539 )
00540 {
00541     UNIMPLEMENTED;
00542     return ERROR_CALL_NOT_IMPLEMENTED;
00543 }
00544 
00545 SECURITY_STATUS
00546 WINAPI
00547 RevertSecurityContext(
00548     PCtxtHandle phContext
00549 )
00550 {
00551     UNIMPLEMENTED;
00552     return ERROR_CALL_NOT_IMPLEMENTED;
00553 }
00554 
00555 PSecurityFunctionTableA
00556 WINAPI
00557 InitSecurityInterfaceA(VOID)
00558 {
00559     DPRINT("InitSecurityInterfaceA() called\n");
00560     return &securityFunctionTableA;
00561 }
00562 
00563 BOOLEAN
00564 WINAPI
00565 TranslateNameA(
00566     LPCSTR lpAccountName,
00567     EXTENDED_NAME_FORMAT AccountNameFormat,
00568     EXTENDED_NAME_FORMAT DesiredNameFormat,
00569     LPSTR lpTranslatedName,
00570     PULONG nSize
00571 )
00572 {
00573     UNIMPLEMENTED;
00574     return FALSE;
00575 }
00576 
00577 BOOLEAN
00578 WINAPI
00579 TranslateNameW(
00580     LPCWSTR lpAccountName,
00581     EXTENDED_NAME_FORMAT AccountNameFormat,
00582     EXTENDED_NAME_FORMAT DesiredNameFormat,
00583     LPWSTR lpTranslatedName,
00584     PULONG nSize
00585 )
00586 {
00587     UNIMPLEMENTED;
00588     return FALSE;
00589 }

Generated on Sat May 26 2012 04:24:47 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.