mirror of
https://github.com/louislam/uptime-kuma.git
synced 2024-11-09 23:24:07 -08:00
Merge pull request #3490 from chakflying/fix/radius-retry
Fix: Incorrect radius error & retry handling
This commit is contained in:
commit
0a59fef7d8
|
@ -792,29 +792,19 @@ class Monitor extends BeanModel {
|
|||
port = this.port;
|
||||
}
|
||||
|
||||
try {
|
||||
const resp = await radius(
|
||||
this.hostname,
|
||||
this.radiusUsername,
|
||||
this.radiusPassword,
|
||||
this.radiusCalledStationId,
|
||||
this.radiusCallingStationId,
|
||||
this.radiusSecret,
|
||||
port,
|
||||
this.interval * 1000 * 0.8,
|
||||
);
|
||||
if (resp.code) {
|
||||
bean.msg = resp.code;
|
||||
}
|
||||
bean.status = UP;
|
||||
} catch (error) {
|
||||
bean.status = DOWN;
|
||||
if (error.response?.code) {
|
||||
bean.msg = error.response.code;
|
||||
} else {
|
||||
bean.msg = error.message;
|
||||
}
|
||||
}
|
||||
const resp = await radius(
|
||||
this.hostname,
|
||||
this.radiusUsername,
|
||||
this.radiusPassword,
|
||||
this.radiusCalledStationId,
|
||||
this.radiusCallingStationId,
|
||||
this.radiusSecret,
|
||||
port,
|
||||
this.interval * 1000 * 0.4,
|
||||
);
|
||||
|
||||
bean.msg = resp.code;
|
||||
bean.status = UP;
|
||||
bean.ping = dayjs().valueOf() - startTime;
|
||||
} else if (this.type === "redis") {
|
||||
let startTime = dayjs().valueOf();
|
||||
|
|
|
@ -486,6 +486,7 @@ exports.radius = function (
|
|||
host: hostname,
|
||||
hostPort: port,
|
||||
timeout: timeout,
|
||||
retries: 1,
|
||||
dictionaries: [ file ],
|
||||
});
|
||||
|
||||
|
@ -497,6 +498,12 @@ exports.radius = function (
|
|||
[ attributes.CALLING_STATION_ID, callingStationId ],
|
||||
[ attributes.CALLED_STATION_ID, calledStationId ],
|
||||
],
|
||||
}).catch((error) => {
|
||||
if (error.response?.code) {
|
||||
throw Error(error.response.code);
|
||||
} else {
|
||||
throw Error(error.message);
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
|
|
13
test/test-radius.dockerfile
Normal file
13
test/test-radius.dockerfile
Normal file
|
@ -0,0 +1,13 @@
|
|||
# Container running a test radius server
|
||||
# More instructions in https://github.com/louislam/uptime-kuma/pull/1635
|
||||
|
||||
FROM freeradius/freeradius-server:latest
|
||||
|
||||
RUN mkdir -p /etc/raddb/mods-config/files/
|
||||
|
||||
RUN echo "client net {" > /etc/raddb/clients.conf
|
||||
RUN echo " ipaddr = 172.17.0.0/16" >> /etc/raddb/clients.conf
|
||||
RUN echo " secret = testing123" >> /etc/raddb/clients.conf
|
||||
RUN echo "}" >> /etc/raddb/clients.conf
|
||||
|
||||
RUN echo "bob Cleartext-Password := \"testpw\"" > /etc/raddb/mods-config/files/authorize
|
Loading…
Reference in a new issue