Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package cacti for openSUSE:Factory checked 
in at 2026-07-09 22:21:25
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/cacti (Old)
 and      /work/SRC/openSUSE:Factory/.cacti.new.1991 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "cacti"

Thu Jul  9 22:21:25 2026 rev:59 rq:1364733 version:1.2.31+git5.48d9fdd3

Changes:
--------
--- /work/SRC/openSUSE:Factory/cacti/cacti.changes      2026-06-17 
16:20:40.436973835 +0200
+++ /work/SRC/openSUSE:Factory/.cacti.new.1991/cacti.changes    2026-07-09 
22:22:35.712712969 +0200
@@ -1,0 +2,10 @@
+Thu Jul  9 13:14:00 UTC 2026 - Joel Baltazor <[email protected]>
+
+- Update to version 1.2.31+git5.48d9fdd3:
+  * Allow Users to Switch Devices for Data Query Graphs (#7247)
+  * ci: add ondrej PHP PPA so libapache2-mod-php installs on ubuntu-24.04 
(#7219)
+  * fix: Update the syntax.yml workflow to not check the matrix version when 
installing libapache-mod-php (#7217)
+  * fix: Address a few minor realtime memory leaks after audit (#7213)
+  * fix: keep realtime graphing alive when a poll fails or returns non-JSON 
(#7212) (#7215)
+
+-------------------------------------------------------------------

Old:
----
  cacti-1.2.31+git0.1e8eaca2.obscpio
  cacti-1.2.31+git0.1e8eaca2.tar.gz

New:
----
  cacti-1.2.31+git5.48d9fdd3.obscpio
  cacti-1.2.31+git5.48d9fdd3.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ cacti.spec ++++++
--- /var/tmp/diff_new_pack.MiYojS/_old  2026-07-09 22:22:36.868752268 +0200
+++ /var/tmp/diff_new_pack.MiYojS/_new  2026-07-09 22:22:36.872752404 +0200
@@ -32,7 +32,7 @@
 %bcond_with systemd
 %endif
 Name:           cacti
-Version:        1.2.31+git0.1e8eaca2
+Version:        1.2.31+git5.48d9fdd3
 %global base_version %(echo %{version} | sed 's/+[^+]*//')
 %global next_base_version %(echo %{base_version} | awk -F. -v OFS=. '{$NF++; 
print}')
 Release:        0

++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.MiYojS/_old  2026-07-09 22:22:36.924754172 +0200
+++ /var/tmp/diff_new_pack.MiYojS/_new  2026-07-09 22:22:36.928754308 +0200
@@ -1,6 +1,6 @@
 <servicedata>
 <service name="tar_scm">
                 <param name="url">https://github.com/Cacti/cacti.git</param>
-              <param 
name="changesrevision">1e8eaca26b84b128c39ce8cc8ece42d7ff76aac1</param></service></servicedata>
+              <param 
name="changesrevision">48d9fdd3ea7a6b310b0814d23baaf6a09c0798d1</param></service></servicedata>
 (No newline at EOF)
 

++++++ cacti-1.2.31+git0.1e8eaca2.obscpio -> cacti-1.2.31+git5.48d9fdd3.obscpio 
++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/cacti-1.2.31+git0.1e8eaca2/.github/workflows/syntax.yml 
new/cacti-1.2.31+git5.48d9fdd3/.github/workflows/syntax.yml
--- old/cacti-1.2.31+git0.1e8eaca2/.github/workflows/syntax.yml 2026-06-15 
00:29:38.000000000 +0200
+++ new/cacti-1.2.31+git5.48d9fdd3/.github/workflows/syntax.yml 2026-07-06 
14:47:00.000000000 +0200
@@ -40,7 +40,7 @@
     strategy:
       fail-fast: false
       matrix:
-        os: [ubuntu-latest]
+        os: [ubuntu-22.04]
         php: ${{ fromJSON((github.base_ref == '1.2.x' || github.ref_name == 
'1.2.x') && '["8.2","8.3","8.4"]' || '["8.2","8.3","8.4"]') }}
         experimental: [false]
         
@@ -137,15 +137,17 @@
     - name: Check PHP syntax
       run: if find ${{ github.workspace }} -name '*.php' -exec php -l {} 2>&1 
\; | grep -iv 'no syntax errors detected'; then exit 1; fi
 
-    - name: Run and apt-get update
-      run: true
+    - name: Add ondrej PHP PPA and apt-get update
+      run: |
+        sudo add-apt-repository -y ppa:ondrej/php
+        sudo apt-get -y update
 
     - name: Install Apache and Tools
       run: |
         sudo apt-get install \
         -o Acquire::http::Timeout="10" \
         -o Acquire::https::Timeout="10" \
-        -o Acquire::Retries="30" apache2 snmp snmpd rrdtool 
libapache2-mod-php${{ matrix.php }}
+        -o Acquire::Retries="30" apache2 snmp snmpd rrdtool libapache2-mod-php
 
     - name: Start SNMPD Agent and Test Agent
       run: |
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cacti-1.2.31+git0.1e8eaca2/CHANGELOG 
new/cacti-1.2.31+git5.48d9fdd3/CHANGELOG
--- old/cacti-1.2.31+git0.1e8eaca2/CHANGELOG    2026-06-15 00:29:38.000000000 
+0200
+++ new/cacti-1.2.31+git5.48d9fdd3/CHANGELOG    2026-07-06 14:47:00.000000000 
+0200
@@ -1,5 +1,9 @@
 Cacti CHANGELOG
 
+1.2.x
+-issue: #7212: Address a few small memory leaks in realtime graphing
+-feature#7246: It should be possible to change the Device of a Graph if both 
Devices include the Data Query
+
 1.2.31
 -security#GHSA-23g4-vf2j-94w4: CVE-2026-39894 RRDtool metric shift via 
LC_NUMERIC locale comma decimal formatting
 -security#GHSA-273r-qr93-wgcp: CVE-2026-40082 Session Fixation via missing 
session_regenerate_id() after login
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cacti-1.2.31+git0.1e8eaca2/graphs.php 
new/cacti-1.2.31+git5.48d9fdd3/graphs.php
--- old/cacti-1.2.31+git0.1e8eaca2/graphs.php   2026-06-15 00:29:38.000000000 
+0200
+++ new/cacti-1.2.31+git5.48d9fdd3/graphs.php   2026-07-06 14:47:00.000000000 
+0200
@@ -589,15 +589,24 @@
                                        api_tree_item_save(0, 
get_nfilter_request_var('tree_id'), TREE_ITEM_TYPE_GRAPH, 
get_nfilter_request_var('tree_item_id'), '', $selected_items[$i], 0, 0, 0, 0, 
false);
                                }
                        } elseif (get_request_var('drp_action') == '5') { // 
change host
-                               get_filter_request_var('host_id');
-                               $failures = false;
+                               $failures = 0;
+                               $success  = 0;
+                               $host_id  = get_filter_request_var('host_id');
+
                                for 
($i=0;($i<cacti_count($selected_items));$i++) {
-                                       if 
(!api_graph_change_device($selected_items[$i], get_request_var('host_id'))) {
-                                               $failures = true;
-                                       }
+                                       $local_graph_id = $selected_items[$i];
+
+                                       $title = db_fetch_cell_prepared('SELECT 
title_cache
+                                               FROM graph_templates_graph
+                                               WHERE local_graph_id = ?',
+                                               array($local_graph_id));
 
-                                       if ($failures) {
-                                               raise_message(33);
+                                       if 
(api_graph_change_device($local_graph_id, $host_id)) {
+                                               raise_message('moved_' . 
$local_graph_id, __('Graph %s Moved to new Device', $title), 
MESSAGE_LEVEL_INFO);
+                                               $success++;
+                                       } else {
+                                               raise_message('notmoved_' . 
$local_graph_id, __('Graph %s not Moved.  Device missing Data Query', $title), 
MESSAGE_LEVEL_WARN);
+                                               $failures++;
                                        }
                                }
                        } elseif (get_request_var('drp_action') == '6') { // 
reapply suggested naming
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cacti-1.2.31+git0.1e8eaca2/include/realtime.js 
new/cacti-1.2.31+git5.48d9fdd3/include/realtime.js
--- old/cacti-1.2.31+git0.1e8eaca2/include/realtime.js  2026-06-15 
00:29:38.000000000 +0200
+++ new/cacti-1.2.31+git5.48d9fdd3/include/realtime.js  2026-07-06 
14:47:00.000000000 +0200
@@ -153,6 +153,7 @@
 
 function countRealtimeGraphs() {
        var graphs = 0;
+       var key;
 
        for (key in realtimeArray) {
                if (realtimeArray[key] == true) {
@@ -165,6 +166,7 @@
 
 function stopRealtime() {
        var graph;
+       var key;
 
        for (key in realtimeArray) {
                var graph_id = key;
@@ -272,9 +274,15 @@
 
                                        
$.get(urlPath+'graph_realtime.php?action=countdown&top='+parseInt(position.top)+'&left='+parseInt(position.left)+(isThumb
 ? 
'&graph_nolegend=true':'&graph_nolegend=false')+'&graph_end=0&graph_start=-'+(parseInt(graph_start)
 > 0 ? 
graph_start:'60')+'&local_graph_id='+local_graph_id+'&ds_step='+ds_step+'&count='+count+'&size='+size)
                                                .done(function(data) {
-                                                       var results = 
$.parseJSON(data);
+                                                       var results;
 
-                                                       if 
(realtimeArray[results.local_graph_id] == true) {
+                                                       try {
+                                                               results = 
$.parseJSON(data);
+                                                       } catch (e) {
+                                                               results = null;
+                                                       }
+
+                                                       if (results != null && 
realtimeArray[results.local_graph_id] == true) {
                                                                var 
image_format = (results.image_format == 'svg+xml') ? 'svg+xml' : 'png';
                                                                
$('#graph_'+results.local_graph_id).attr('src', 
'data:image/'+image_format+';base64,'+results.data).change();
 
@@ -288,11 +296,12 @@
                                                        destroy(data);
                                                        destroy(results);
                                                        destroy(position);
-
-                                                       graphsRendered++;
                                                })
                                                .fail(function(data) {
                                                        
getPresentHTTPError(data);
+                                               })
+                                               .always(function() {
+                                                       graphsRendered++;
                                                });
                                });
                        }
@@ -318,6 +327,10 @@
 }
 
 function destroy(obj) {
+       if (obj == null) {
+               return;
+       }
+
        for (var prop in obj){
                var property = obj[prop];
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cacti-1.2.31+git0.1e8eaca2/lib/api_graph.php 
new/cacti-1.2.31+git5.48d9fdd3/lib/api_graph.php
--- old/cacti-1.2.31+git0.1e8eaca2/lib/api_graph.php    2026-06-15 
00:29:38.000000000 +0200
+++ new/cacti-1.2.31+git5.48d9fdd3/lib/api_graph.php    2026-07-06 
14:47:00.000000000 +0200
@@ -599,12 +599,30 @@
 }
 
 function api_graph_change_device($local_graph_id, $host_id) {
-       $dqgraph = db_fetch_cell_prepared('SELECT snmp_query_id
+       $proceed = false;
+
+       $graph = db_fetch_row_prepared('SELECT *
                FROM graph_local
                WHERE id = ?',
                array($local_graph_id));
 
-       if (empty($dqgraph)) {
+       if (cacti_sizeof($graph)) {
+               if ($graph['snmp_query_id'] > 0) {
+                       $exists = db_fetch_cell_prepared('SELECT snmp_query_id
+                               FROM host_snmp_query
+                               WHERE snmp_query_id = ?
+                               AND host_id = ?',
+                               array($graph['snmp_query_id'], $host_id));
+
+                       if ($exists > 0) {
+                               $proceed = true;
+                       }
+               } else {
+                       $proceed = true;
+               }
+       }
+
+       if ($proceed) {
                db_execute_prepared('UPDATE graph_local
                        SET host_id = ?
                        WHERE id = ?',
@@ -616,7 +634,7 @@
                $data_ids = db_fetch_assoc_prepared('SELECT DISTINCT 
dtr.local_data_id
                        FROM graph_templates_item AS gti
                        INNER JOIN data_template_rrd AS dtr
-                       ON gti.task_item_id=dtr.id
+                       ON gti.task_item_id = dtr.id
                        WHERE gti.local_graph_id = ?',
                        array($local_graph_id));
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/cacti-1.2.31+git0.1e8eaca2/tests/security/baselines/architectural_hotspots.baseline.tsv
 
new/cacti-1.2.31+git5.48d9fdd3/tests/security/baselines/architectural_hotspots.baseline.tsv
--- 
old/cacti-1.2.31+git0.1e8eaca2/tests/security/baselines/architectural_hotspots.baseline.tsv
 2026-06-15 00:29:38.000000000 +0200
+++ 
new/cacti-1.2.31+git5.48d9fdd3/tests/security/baselines/architectural_hotspots.baseline.tsv
 2026-07-06 14:47:00.000000000 +0200
@@ -542,7 +542,7 @@
 sort_order_input       ./data_queries.php:872                                  
        ORDER BY field_name, sequence', array(get_request_var('id'), 
$data_template['id']));
 sort_order_input       ./graph_templates.php:504                       ORDER 
BY name', array(get_request_var('id')));
 sort_order_input       ./graph_templates_inputs.php:197                        
ORDER BY gti.sequence", array(get_request_var('id'), 
get_request_var('graph_template_id')));
-sort_order_input       ./graphs.php:1363                               ORDER 
BY gti.sequence", array(get_request_var('id')));
+sort_order_input       ./graphs.php:1372                               ORDER 
BY gti.sequence", array(get_request_var('id')));
 sort_order_input       ./host_templates.php:467                                
ORDER BY graph_templates.name', array(get_request_var('id')));
 sort_order_input       ./host_templates.php:505                                
                                        ORDER BY gt.name', 
array(get_request_var('id'))),'name','id','','','');?>
 sort_order_input       ./host_templates.php:524                                
ORDER BY snmp_query.name', array(get_request_var('id')));
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/cacti-1.2.31+git0.1e8eaca2/tests/security/baselines/sink_inventory.baseline.tsv
 
new/cacti-1.2.31+git5.48d9fdd3/tests/security/baselines/sink_inventory.baseline.tsv
--- 
old/cacti-1.2.31+git0.1e8eaca2/tests/security/baselines/sink_inventory.baseline.tsv
 2026-06-15 00:29:38.000000000 +0200
+++ 
new/cacti-1.2.31+git5.48d9fdd3/tests/security/baselines/sink_inventory.baseline.tsv
 2026-07-06 14:47:00.000000000 +0200
@@ -777,17 +777,17 @@
 header_redirect        ./graph_templates_items.php:91                  
header('Location: graph_templates.php?header=false&action=template_edit&id=' . 
get_request_var('graph_template_id'));
 header_redirect        ./graph_view.php:187            header('Location: 
graph_view.php?action=list&header=false');
 header_redirect        ./graph_view.php:388                            
header('Location: permission_denied.php');
-header_redirect        ./graphs.php:1303                       
header('Location: graphs.php?header=false');
-header_redirect        ./graphs.php:1478                               
header('Location: graphs.php');
+header_redirect        ./graphs.php:1312                       
header('Location: graphs.php?header=false');
+header_redirect        ./graphs.php:1487                               
header('Location: graphs.php');
 header_redirect        ./graphs.php:267                                
header('Location: graphs.php?action=graph_edit&header=false&id=' . 
$local_graph_id);
 header_redirect        ./graphs.php:269                                
header('Location: graphs.php?header=false');
 header_redirect        ./graphs.php:421                        
header('Location: graphs.php?action=graph_edit&header=false&host_id=' . 
get_nfilter_request_var('host_id') . '&new=1');
 header_redirect        ./graphs.php:423                        
header('Location: graphs.php?action=graph_edit&header=false&id=' . 
(empty($local_graph_id) ? get_nfilter_request_var('local_graph_id') : 
$local_graph_id) . (isset_request_var('host_id') ? '&host_id=' . 
get_nfilter_request_var('host_id') : ''));
 header_redirect        ./graphs.php:425                        
header('Location: graphs.php?action=graph_edit&header=false&id=' . 
$local_graph_id);
 header_redirect        ./graphs.php:427                        
header('Location: graphs.php?header=false');
-header_redirect        ./graphs.php:754                                        
header("Location: 
aggregate_graphs.php?header=false&action=edit&tab=details&id=$local_graph_id");
-header_redirect        ./graphs.php:787                                
header('Location: graphs.php?header=false&template_id=-1');
-header_redirect        ./graphs.php:789                                
header('Location: graphs.php?header=false');
+header_redirect        ./graphs.php:763                                        
header("Location: 
aggregate_graphs.php?header=false&action=edit&tab=details&id=$local_graph_id");
+header_redirect        ./graphs.php:796                                
header('Location: graphs.php?header=false&template_id=-1');
+header_redirect        ./graphs.php:798                                
header('Location: graphs.php?header=false');
 header_redirect        ./graphs_items.php:235                          
header('Location: 
graphs.php?header=false&action=item_edit&graph_template_item_id=' . 
(empty($graph_template_item_id) ? 
get_nfilter_request_var('graph_template_item_id') : $graph_template_item_id) . 
'&id=' . get_nfilter_request_var('local_graph_id'));
 header_redirect        ./graphs_items.php:238                          
header('Location: graphs.php?header=false&action=graph_edit&id=' . 
get_nfilter_request_var('local_graph_id'));
 header_redirect        ./graphs_items.php:42                   
header('Location: graphs.php?header=false&action=graph_edit&id=' . 
get_request_var('local_graph_id'));

++++++ cacti-1.2.31+git0.1e8eaca2.tar.gz -> cacti-1.2.31+git5.48d9fdd3.tar.gz 
++++++
/work/SRC/openSUSE:Factory/cacti/cacti-1.2.31+git0.1e8eaca2.tar.gz 
/work/SRC/openSUSE:Factory/.cacti.new.1991/cacti-1.2.31+git5.48d9fdd3.tar.gz 
differ: char 12, line 1

++++++ cacti.obsinfo ++++++
--- /var/tmp/diff_new_pack.MiYojS/_old  2026-07-09 22:22:46.549082389 +0200
+++ /var/tmp/diff_new_pack.MiYojS/_new  2026-07-09 22:22:46.597084055 +0200
@@ -1,5 +1,5 @@
 name: cacti
-version: 1.2.31+git0.1e8eaca2
-mtime: 1781476178
-commit: 1e8eaca26b84b128c39ce8cc8ece42d7ff76aac1
+version: 1.2.31+git5.48d9fdd3
+mtime: 1783342020
+commit: 48d9fdd3ea7a6b310b0814d23baaf6a09c0798d1
 

Reply via email to