Dear Sir:
I am try to realize the EAP authentication using Win2000 Professional as the client, 
Windows2000 Server as the router, and Linux as the Radius Authenticater.
Although I tried several ways following the EAP guides in the microsoft SDK, I failed 
so far.
I registered the EAP.DLL as following the EAP guides in the microsoft SDK,
Especially, rasman does call RasEapGetInfo exported by the EAP.dll but it does not 
call the EapBegin function in the EAP.dll. Maybe the function RasEapInitialize should 
always be called before any other call, but I could not get what I should do in the 
function RasEapInitialize. All in all, my EAP.DLL did not work as it was supposed to. 
So I could not begin my job. The typical function prototypes are listed below:

If it is possible, Could you please tell me how to put my EAP protocal DLL into 
effect? Thanks a lot!

Sincerely Yours,
Wu MingChang
09/11/2002

//====================================================
DWORD APIENTRY
RasEapGetInfo(
    IN  DWORD         dwEapTypeId,
    OUT PPP_EAP_INFO* pInfo 
)
{
    EapTrace("RasEapGetInfo");

    if (dwEapTypeId != PPP_EAP_PROTOCOL_ID)
    {
        EapTrace("Type ID %d is not supported", dwEapTypeId);
        return(ERROR_NOT_SUPPORTED);
    }

    ZeroMemory(pInfo, sizeof(PPP_EAP_INFO));

    pInfo->dwEapTypeId       = PPP_EAP_PROTOCOL_ID;
    pInfo->RasEapBegin       = EapBegin;
    pInfo->RasEapEnd         = EapEnd;
    pInfo->RasEapMakeMessage = EapMakeMessage;

    return(NO_ERROR);
}

DWORD APIENTRY
EapBegin(
    OUT VOID** ppWorkBuf,
    IN  VOID*  pInfo 
)
{
    PPP_EAP_INPUT* pInput = (PPP_EAP_INPUT*)pInfo;
    EAPCB*         pwb;

    EapTrace("EapBegin(%ws)", pInput->pwszIdentity);
    ...
    ...
    ...
    ...

    return(NO_ERROR);
}
//====================================================
.+-�w��˛���m��˛���m�zm�����y��v+���?�+-����m�


Reply via email to