mpd5, freeradius, проблемы с повторно отправляемыми пакетами
пересобрать libradius
cd /usr/src/lib/libradius/
make clean
make
makeinstall
Предварительно проблема в libradius (usr/src/lib/libradius/radlib.c,v 1.13.10.3.2.1) из-за повторной попытки вставки реквест аутентификатора,фикс следующий:
--- radlib.c 2010-06-14 02:09:06.000000000 +0000
+++ radlib.c.new 2011-02-16 10:28:11.000000000 +0000
@@ -641,10 +641,6 @@
insert_scrambled_password(h, h->srv);
}
insert_message_authenticator(h, 0);
- if (h->out[POS_CODE] != RAD_ACCESS_REQUEST) {
- /* Insert the request authenticator into the request */
- insert_request_authenticator(h, h->srv);
- }
/* Send the request */
n = sendto(h->fd, h->out, h->out_len, 0,
@@ -910,6 +906,10 @@
}
h->try = h->srv = 0;
+ if (h->out[POS_CODE] != RAD_ACCESS_REQUEST) {
+ /* Insert the request authenticator into the request */
+ insert_request_authenticator(h, h->srv);
+ }
return rad_continue_send_request(h, 0, fd, tv);
}
cd /usr/src/lib/libradius/
make clean
make
makeinstall
Предварительно проблема в libradius (usr/src/lib/libradius/radlib.c,v 1.13.10.3.2.1) из-за повторной попытки вставки реквест аутентификатора,фикс следующий:
--- radlib.c 2010-06-14 02:09:06.000000000 +0000
+++ radlib.c.new 2011-02-16 10:28:11.000000000 +0000
@@ -641,10 +641,6 @@
insert_scrambled_password(h, h->srv);
}
insert_message_authenticator(h, 0);
- if (h->out[POS_CODE] != RAD_ACCESS_REQUEST) {
- /* Insert the request authenticator into the request */
- insert_request_authenticator(h, h->srv);
- }
/* Send the request */
n = sendto(h->fd, h->out, h->out_len, 0,
@@ -910,6 +906,10 @@
}
h->try = h->srv = 0;
+ if (h->out[POS_CODE] != RAD_ACCESS_REQUEST) {
+ /* Insert the request authenticator into the request */
+ insert_request_authenticator(h, h->srv);
+ }
return rad_continue_send_request(h, 0, fd, tv);
}
Комментарии
Отправить комментарий