Advertisement
todobom

Untitled

Mar 17th, 2015
200
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MySQL 2.05 KB | None | 0 0
  1. DELIMITER //
  2.   DROP PROCEDURE IF EXISTS `authchecktest` //
  3.   CREATE PROCEDURE `authchecktest` (IN client VARCHAR(64) , IN callingid VARCHAR(17), IN hidden VARCHAR(64))
  4.  
  5. BEGIN
  6.  
  7. DECLARE bypass_tmp VARCHAR(17);
  8. DECLARE macuse_tmp VARCHAR(17);
  9. DECLARE free_tmp INT(1);
  10.  
  11.   IF (SELECT EXISTS (SELECT active FROM isp.users WHERE address = client)) THEN
  12.     SELECT locknext INTO free_tmp FROM isp.pppoeoptions WHERE address = client ;
  13.     SELECT phone INTO bypass_tmp FROM isp.phonewhitelist WHERE phone = callingid ;
  14.       IF (free_tmp > 0) THEN
  15.         UPDATE isp.pppoeoptions SET origin = callingid WHERE address = client ;
  16.         UPDATE isp.pppoeoptions SET locknext = 0 WHERE address = client ;
  17.         SELECT callingid INTO macuse_tmp ;
  18.       ELSE
  19.         IF ( bypass_tmp ) THEN
  20.           UPDATE isp.pppoeoptions SET origin = bypass_tmp WHERE address = client ;
  21.           SELECT bypass_tmp INTO macuse_tmp ;
  22.         ELSE
  23.           SELECT origin INTO macuse_tmp FROM pppoeoptions WHERE address = client AND origin IS NOT NULL AND TRIM(origin) <> "" ;
  24.         END IF;
  25.       END IF;
  26.       ( SELECT 1 as 'id', client as username, 'Crypt-Password' as attribute, crypt as value, '==' as op FROM users WHERE address = client ) UNION ALL
  27.       -- ( SELECT 2 as 'id', client as username, 'Pool-Name' as attribute, pool as value, ':=' as op FROM pppoeoptions WHERE address = client AND pool IS NOT NULL ) UNION ALL
  28.       ( SELECT 3 as 'id', client as username, 'Auth-Type' as attribute, 'Accept' as value, '==' as op ) UNION ALL
  29.       ( SELECT 4 as 'id', client as username, 'Calling-Station-Id' as attribute, COALESCE ( macuse_tmp , callingid ) as value, '==' as op );
  30.       -- UPDATE isp.radippool SET nasipaddress = '', callingstationid = '', expiry_time = NULL, username = '', pool_key = '' WHERE username = client ;
  31.   ELSE
  32.     ( SELECT 1 as 'id', client as username, 'Auth-Type' as attribute, 'Reject' as value, ':=' as op ) UNION ALL
  33.     ( SELECT 2 as 'id', client as username, 'Simultaneous-Use' as attribute, 0 as value, ':=' as op );
  34.   END IF;
  35.  
  36. END //
  37. DELIMITER ;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement