]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
Send acct pings to acct port. Fixes #1364
authorAlan T. DeKok <aland@freeradius.org>
Fri, 30 Oct 2015 12:21:43 +0000 (08:21 -0400)
committerAlan T. DeKok <aland@freeradius.org>
Fri, 30 Oct 2015 12:21:43 +0000 (08:21 -0400)
src/main/process.c

index 0f0312650ea3a3b4db555d95b7a8cd2fc774a032..9105463ab14b7b28b4b5bfe02b2f495a425be4fa 100644 (file)
@@ -3481,7 +3481,8 @@ static void ping_home_server(void *ctx)
                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,
@@ -3493,8 +3494,8 @@ static void ping_home_server(void *ctx)
                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,
@@ -3506,9 +3507,14 @@ static void ping_home_server(void *ctx)
                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,