Oracle Access Manager 10g Access Server Loops After Setting Obauthentschemelevel (Doc ID 1340699.1)

Last updated on MARCH 08, 2017

Applies to:

COREid Access - Version: 10.1.4.3.0 and later   [Release: and later ]
Information in this document applies to any platform.

Symptoms

Oracle Access Manager 10g Access Server Loops After Setting Obauthentschemelevel

The Access Server appears to go into an infinite loop, but only if the setAuthnLevel.cpp routine executes this line:
pFnBlock->SetCredFn(pInfo->Creds, "ObAuthentSchemeLevel", newAuthnLevel);

There is no crash or other indication of an error, but the same authorization is processed by the plugin over and over and over... Once the loop has processed seven to eight times the Access Server crashes. Since the error returned to the browser has unexpected characters the crash is probably caused by some kind of memory corruption caused by the loop.

If the SetCredFn call above is commented out there is no looping, everything processes as expected. setAuthnLevel.cpp is uploaded:

int X509Authenticate ::setAuthnLevel(ObAnPluginFns _t pFnBlock, ObAnPluginInfo _t pInfo, char *newAuthnLevel) .... schemeLevel = pFnBlock->GetCredFn(pInfo->Creds, "ObAuthentSchemeLevel");
if (schemeLevel == NULL) { logDebug("X509Authenticate::setAuthnLevel(): Current AuthN Level scheme is not set"); } else { schemeLevelAsInt = atoi(schemeLevel); logDebug("X509Authenticate::setAuthnLevel(): Current AuthN Level = %d", schemeLevelAsInt); }
// set level pFnBlock->SetCredFn(pInfo->Creds, "ObAuthentSchemeLevel", newAuthnLevel);

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms