smallcms
NoDeny
Старожил
Карма: 64
Offline
Сообщений: 279
|
|
« Ответ #15 : 28 Ноября 2009, 03:44:55 » |
|
Сделал. Глюк прошёл. Кстати обнаружил ещё в июле, когда переводил свою сеточку. Но кто ж знал, что это баг...
|
|
|
Записан
|
|
|
|
elite
Начальник планеты
NoDeny
Спец
Карма: 52
Offline
Сообщений: 1226
In LAN we trust!
|
|
« Ответ #16 : 29 Ноября 2009, 14:03:26 » |
|
Ну вот к чему мои скромные знания SQL привели DROP PROCEDURE IF EXISTS `radcheck`; DELIMITER $$ CREATE PROCEDURE `radcheck` (IN login VARCHAR(64)) BEGIN SELECT id,name,'Password' AS Attribute,AES_DECRYPT(passwd,'hardpass3') AS Value,'==' FROM users WHERE name=login; SELECT NULL,login,'Calling-Station-Id' AS Attribute,field_value AS Value, '==' FROM dopdata WHERE revision=(SELECT MAX(revision) FROM dopdata WHERE parent_id=(SELECT id FROM users WHERE name=login)) AND field_alias='_mac'; END$$ DELIMITER ; Что здесь плохо? 2 вложенных запроса - имхо много Причем, если мак адреса нет у данного клиента, то должно пустить без проверки мак-адреса. P.S. пошел тестировать это на практике...
|
|
« Последнее редактирование: 29 Ноября 2009, 14:04:58 от elite »
|
Записан
|
|
|
|
serojperoj
NoDeny
Пользователь
Карма: 0
Offline
Сообщений: 72
|
|
« Ответ #17 : 03 Декабря 2009, 19:38:16 » |
|
2 eliteесли-что такой вариант работает у меня в сети. если в доп. данных присутствует МАК адрес клиента то кроме юзер-пароля проверяет еще и МАК адрес. DROP PROCEDURE IF EXISTS `radcheck`; DELIMITER $$ CREATE PROCEDURE `radcheck` (IN login VARCHAR(64)) BEGIN SELECT id,name,'Password' AS Attribute,AES_DECRYPT(passwd,'hardpass3') AS Value,'==' AS Op FROM users WHERE name=login;
IF ((SELECT field_value from dopvalues where revision IN (SELECT rev FROM rev_users WHERE id IN (SELECT id FROM users where name=login)) and dopfield_id=4) <> '') THEN
SELECT id,name,'Calling-Station-Id' AS Attribute,(SELECT field_value from dopvalues where revision IN (SELECT rev FROM rev_users WHERE id IN (SELECT id FROM users where name=login)) and dopfield_id=4) AS Value,'==' AS Op from users where name=login;
END IF;
END$$ DELIMITER ;
|
|
|
Записан
|
|
|
|
serojperoj
NoDeny
Пользователь
Карма: 0
Offline
Сообщений: 72
|
|
« Ответ #18 : 03 Декабря 2009, 19:53:32 » |
|
2 Efendy
тестил. спс, помогло.
|
|
|
Записан
|
|
|
|
elite
Начальник планеты
NoDeny
Спец
Карма: 52
Offline
Сообщений: 1226
In LAN we trust!
|
|
« Ответ #19 : 04 Декабря 2009, 12:02:05 » |
|
serojperojче-то больно мудренный у тебя SQL-запрос слишком много вложений в принципе, мой вариант тоже будет работать, потому как при отсутствии мак-адреса он возвращает пустую строку
|
|
|
Записан
|
|
|
|
smallcms
NoDeny
Старожил
Карма: 64
Offline
Сообщений: 279
|
|
« Ответ #20 : 04 Декабря 2009, 20:48:19 » |
|
Так, пока далеко не ушли словил такой глюк: Как-то резко закрылся авторизатор, не отсчитав свои 3...2....1... После чего авторизация сохранялась вплоть до закрытия Internet Explorer. Может быть такое или это фантазии виртуалбокса?
|
|
|
Записан
|
|
|
|
elite
Начальник планеты
NoDeny
Спец
Карма: 52
Offline
Сообщений: 1226
In LAN we trust!
|
|
« Ответ #21 : 05 Декабря 2009, 08:39:52 » |
|
Так, пока далеко не ушли словил такой глюк: Как-то резко закрылся авторизатор, не отсчитав свои 3...2....1... После чего авторизация сохранялась вплоть до закрытия Internet Explorer. Может быть такое или это фантазии виртуалбокса? а причем здесь радиус?
|
|
|
Записан
|
|
|
|
versus
|
|
« Ответ #22 : 05 Декабря 2009, 19:56:30 » |
|
Так, пока далеко не ушли словил такой глюк: Как-то резко закрылся авторизатор, не отсчитав свои 3...2....1... После чего авторизация сохранялась вплоть до закрытия Internet Explorer. Может быть такое или это фантазии виртуалбокса? в пределах 2 -х минут еще бы сохранялась авторизация ...
|
|
|
Записан
|
|
|
|
elite
Начальник планеты
NoDeny
Спец
Карма: 52
Offline
Сообщений: 1226
In LAN we trust!
|
|
« Ответ #23 : 14 Декабря 2009, 22:24:15 » |
|
serojperoj а что у тебя в качестве сервера PPPoE используется? и в каком формате хранятся мак адреса в дополнительных полях клиентов?
|
|
|
Записан
|
|
|
|
elite
Начальник планеты
NoDeny
Спец
Карма: 52
Offline
Сообщений: 1226
In LAN we trust!
|
|
« Ответ #24 : 15 Декабря 2009, 17:20:02 » |
|
Вот рабочий вариант при использовании в качестве сервера доступа mpd: DROP PROCEDURE IF EXISTS `radcheck`; DELIMITER $$ CREATE PROCEDURE `radcheck` (IN login VARCHAR(64)) BEGIN SELECT id,name,'Password' AS Attribute,AES_DECRYPT(passwd,'hardpass3') AS Value,'==' FROM users WHERE name=login; SELECT id,login,'Calling-Station-Id' AS Attribute, LOWER(REPLACE(field_value,':','')) AS Value, '==' FROM dopdata WHERE revision=(SELECT MAX(revision) FROM dopdata WHERE parent_id=(SELECT id FROM users WHERE name=login)) AND field_alias='_mac'; END$$ DELIMITER ;
|
|
|
Записан
|
|
|
|
leliksan
NoDeny
Пользователь
Карма: 0
Offline
Сообщений: 56
|
|
« Ответ #25 : 15 Декабря 2009, 20:24:31 » |
|
Вот рабочий вариант при использовании в качестве сервера доступа mpd: DROP PROCEDURE IF EXISTS `radcheck`; DELIMITER $$ CREATE PROCEDURE `radcheck` (IN login VARCHAR(64)) BEGIN SELECT id,name,'Password' AS Attribute,AES_DECRYPT(passwd,'hardpass3') AS Value,'==' FROM users WHERE name=login; SELECT id,login,'Calling-Station-Id' AS Attribute, LOWER(REPLACE(field_value,':','')) AS Value, '==' FROM dopdata WHERE revision=(SELECT MAX(revision) FROM dopdata WHERE parent_id=(SELECT id FROM users WHERE name=login)) AND field_alias='_mac'; END$$ DELIMITER ; А в каком формате хранятся маки?
|
|
|
Записан
|
|
|
|
serojperoj
NoDeny
Пользователь
Карма: 0
Offline
Сообщений: 72
|
|
« Ответ #26 : 19 Декабря 2009, 16:09:47 » |
|
2 elite
стандартно как в доках написано. Freebsd+Mikrotik(pppoe)
формат к примеру такой - "00:A1:B0:01:09:E0".
|
|
|
Записан
|
|
|
|
elite
Начальник планеты
NoDeny
Спец
Карма: 52
Offline
Сообщений: 1226
In LAN we trust!
|
|
« Ответ #27 : 19 Декабря 2009, 17:02:21 » |
|
2 elite
стандартно как в доках написано. Freebsd+Mikrotik(pppoe)
формат к примеру такой - "00:A1:B0:01:09:E0".
ну с мпд твой вариант не работал мой вариант - под мпд в бд мак адреса храняться в формате типа 00:A1:B0:01:09:E0, причем неважно, большие или маленькие буквы
|
|
|
Записан
|
|
|
|
stix
NoDeny
Спец
Карма: 72
Offline
Сообщений: 1872
Nodeny Support Team
|
|
« Ответ #28 : 19 Декабря 2009, 18:07:24 » |
|
подскажите, может кто сталкивался, как задействовать мультизапросы в mysql? а то процедуры не хотят выполняться, когда радиус передает их серверу.
|
|
|
Записан
|
|
|
|
Efendy
|
|
« Ответ #29 : 19 Декабря 2009, 21:20:13 » |
|
подскажите, может кто сталкивался, как задействовать мультизапросы в mysql? а то процедуры не хотят выполняться, когда радиус передает их серверу.
что ты понимаешь под мультизапросами? приведи пример
|
|
|
Записан
|
|
|
|
|