--- a/src/main/process.c +++ b/src/main/process.c @@ -3479,7 +3479,8 @@ fr_pair_make(request->proxy, &request->proxy->vps, "Message-Authenticator", "0x00", T_OP_SET); - } else if (home->type == HOME_TYPE_AUTH) { + } else if ((home->type == HOME_TYPE_AUTH) || + (home->type == HOME_TYPE_AUTH_ACCT)) { request->proxy->code = PW_CODE_ACCESS_REQUEST; fr_pair_make(request->proxy, &request->proxy->vps, @@ -3491,8 +3492,8 @@ fr_pair_make(request->proxy, &request->proxy->vps, "Message-Authenticator", "0x00", T_OP_SET); - } else { #ifdef WITH_ACCOUNTING + } else if (home->type == HOME_TYPE_ACCT) { request->proxy->code = PW_CODE_ACCOUNTING_REQUEST; fr_pair_make(request->proxy, &request->proxy->vps, @@ -3504,9 +3505,14 @@ vp = fr_pair_make(request->proxy, &request->proxy->vps, "Event-Timestamp", "0", T_OP_SET); vp->vp_date = now.tv_sec; -#else - rad_assert("Internal sanity check failed"); #endif + + } else { + /* + * Unkown home server type. + */ + talloc_free(request); + return; } vp = fr_pair_make(request->proxy, &request->proxy->vps, Only in b: src/main/process.c.orig Only in b: src/main/process.c.rej