Преглед изворни кода

bugfix:
- constant processing of unmanaged addresses has been removed

Dmitriev Roman пре 4 година
родитељ
комит
25ac8cd376
2 измењених фајлова са 11 додато и 0 уклоњено
  1. 1 0
      scripts/stat-sync.pl
  2. 10 0
      scripts/sync_mikrotik.pl

+ 1 - 0
scripts/stat-sync.pl

@@ -88,6 +88,7 @@ if (!$pid) {
         if ( !defined $hdb ) { die "Cannot connect to mySQL server: $DBI::errstr\n"; }
         $urgent_sync=get_option($hdb,50);
         if ($urgent_sync) {
+    	    run_sql($hdb,"UPDATE User_auth SET changed=0 WHERE ou_id=".$default_user_ou_id." OR ou_id=".$default_hotspot_ou_id);
             my $changed = get_record_sql($hdb,"SELECT COUNT(*) as c_count from User_auth WHERE changed=1");
 	    if ($changed->{"c_count"}>0) {
                 log_info("Found changed records: ".$changed->{'c_count'});

+ 10 - 0
scripts/sync_mikrotik.pl

@@ -289,6 +289,16 @@ if ($leases{$ip}{acl}!~/$active_leases{$ip}{acl}/) {
 }#end interface dhcp loop
 }#end dhcp config
 
+#clean changed for unmanaged users
+if (!$gate->{user_acl}) {
+    #get userid list
+    my @changed_unmanagment = get_records_sql($dbh,"SELECT * FROM User_auth WHERE changed=1");
+    foreach my $row (@changed_unmanagment) {
+        next if ($connected_users->match_string($row->{ip}));
+        do_sql($dbh,"UPDATE User_auth SET changed=0 WHERE id=".$row->{id});
+	}
+    }
+
 #access lists config
 if ($gate->{user_acl}) {