工具/软件:TI-RTOS
我认为 NDK 2_25_00_09的 PPP 堆栈中可能存在错误
在 lcp.c 函数文件中“void lcpInput( ppp_ssession *p,PBM_Pkt* pPktt”
当前正在处理身份验证协议的 LCPCODE_CFGNAK
案例 LCPOPT_AUTH: /*在服务器模式下无法协商验证*/ if (p->Flags & PPPFLG 服务器) { //如果这是 NAK,并且我们设置为 CHAP,则我们*/ /*将接受 PAP,我们将尝试切换到 PAP */ if (PHDR->Code = LCPCODE_CFGNAK && P->auth.Protocol =PPPPROT_CHAP && (P->Flags & PPPFLG_OPT_AUTH_PAP)) { P->auth.Protocol = PPPPROT_PAP; 中断; } 转至 StopConnect; }
我本想客户还应该允许将 CHAP 请求更改为 PAP 吗?
该函数处理为响应客户端配置请求而以不同身份验证而不是 NAK 为客户端提供配置请求的客户端。
这是正确的行为吗?
查看 ESP32 PPP 堆栈、他们似乎也使用 NAK 来更改协议。