X-Git-Url: http://www.project-moonshot.org/gitweb/?a=blobdiff_plain;f=src%2Fmodules%2Frlm_mschap%2Frlm_mschap.c;h=584f0a09d4163d2075c372f9b9d88dcb36f87e36;hb=f828d8972effb854cee6617eb4e54c47e0261b29;hp=7cd9874e629774db4c0e5ba2bdb5a1702c6c0d2f;hpb=b9e7c966595eded69c0b214e14a40d96680fbfec;p=freeradius.git diff --git a/src/modules/rlm_mschap/rlm_mschap.c b/src/modules/rlm_mschap/rlm_mschap.c index 7cd9874..584f0a0 100644 --- a/src/modules/rlm_mschap/rlm_mschap.c +++ b/src/modules/rlm_mschap/rlm_mschap.c @@ -704,7 +704,24 @@ static int do_mschap(rlm_mschap_t *inst, buffer, sizeof(buffer), NULL, NULL, 1); if (result != 0) { + char *p; + VALUE_PAIR *vp = NULL; + RDEBUG2("External script failed."); + + vp = pairmake("Module-Failure-Message", "", T_OP_EQ); + if (!vp) { + radlog_request(L_ERR, 0, request, "No memory to allocate Module-Failure-Message"); + return RLM_MODULE_FAIL; + } + + p = strchr(buffer, '\n'); + if (p) *p = '\0'; + snprintf(vp->vp_strvalue, sizeof(vp->vp_strvalue), + "%s: External script says %s", + inst->xlat_name, buffer); + vp->length = strlen(vp->vp_strvalue); + pairadd(&request->reply->vps, vp); return -1; }