patch-auth_rules.pl 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. #!/usr/bin/perl
  2. #
  3. # Copyright (C) Roman Dmitiriev, rnd@rajven.ru
  4. #
  5. use FindBin '$Bin';
  6. use lib "$Bin/";
  7. use Data::Dumper;
  8. use Rstat::config;
  9. use Rstat::main;
  10. use Rstat::mysql;
  11. use Rstat::net_utils;
  12. use strict;
  13. use warnings;
  14. my @users = get_records_sql($dbh,"SELECT * FROM User_list");
  15. foreach my $row (@users) {
  16. #hostname rule = 3
  17. #mac rule = 2
  18. #ip_rule = 1
  19. if ($row->{default_subnet}) {
  20. my $new_rule;
  21. $new_rule->{user_id} = $row->{id};
  22. $new_rule->{type}=1;
  23. $new_rule->{rule}=$row->{default_subnet};
  24. my $ret = insert_record($dbh,"auth_rules",$new_rule);
  25. if (!$ret) { die ("Error insert record!"); }
  26. }
  27. if ($row->{mac_rule}) {
  28. my $new_rule;
  29. $new_rule->{user_id} = $row->{id};
  30. $new_rule->{type}=2;
  31. $new_rule->{rule}=$row->{mac_rule};
  32. my $ret = insert_record($dbh,"auth_rules",$new_rule);
  33. if (!$ret) { die ("Error insert record!"); }
  34. }
  35. if ($row->{hostname_rule}) {
  36. my $new_rule;
  37. $new_rule->{user_id} = $row->{id};
  38. $new_rule->{type}=3;
  39. $new_rule->{rule}=$row->{hostname_rule};
  40. my $ret = insert_record($dbh,"auth_rules",$new_rule);
  41. if (!$ret) { die ("Error insert record!"); }
  42. }
  43. }
  44. do_sql($dbh,"ALTER TABLE `User_list` DROP `default_subnet`, DROP `hostname_rule`, DROP `mac_rule`");
  45. print "Done!\n";
  46. exit;