[RESOLU] IPCOP1.4.11 Suivi connexions IPTables Bug affichage

Forum traitant de la distribution sécurisée montante nommée IP cop et basée sur la distribution Smoothwall. C'est à l'heure actuelle le forum le plus actif du site.

Modérateur: modos Ixus

[RESOLU] IPCOP1.4.11 Suivi connexions IPTables Bug affichage

Messagepar Yull » 18 Oct 2006 23:57

Bonsoir

J'ai un bug d'affichage dans le tableau de suivi des connexions IPTables (le tableau ne se rempli pas totalement), le même genre de bug que celui ci :

http://forums.fr.ixus.net/viewtopic.php ... es+actuels

Donc si quelqu'un sait ou il faut aller bidouiller, merci d'en faire profiter les autres

Merci &@+
Dernière édition par Yull le 21 Oct 2006 19:16, édité 1 fois au total.
Yull
Second Maître
Second Maître
 
Messages: 42
Inscrit le: 31 Août 2006 00:27

Messagepar Franck78 » 19 Oct 2006 00:39

C'est aussi corrigé; voir sur sourceforge le fichier correspondant (connections.cgi) ou attendre la 1.4.12
Une semaine ou deux je pense.
Franck
L'art de poser une question sur ce site afin d'obtenir la réponse
A LIRE
Avatar de l’utilisateur
Franck78
Amiral
Amiral
 
Messages: 5625
Inscrit le: 20 Fév 2004 01:00
Localisation: Paris

Messagepar Yull » 21 Oct 2006 01:18

En fait je viens de voir que ZERINA-0.9.4d avait modifié connections.cgi (pour ajouter OpenVPN) et en avait fait une sauvegarde connections.cgi.old, en remettant connections.cgi.old à la place du nouveau tout rendre dans l'ordre, donc le bug vient peut être de ZERINA-0.9.4d ?
Yull
Second Maître
Second Maître
 
Messages: 42
Inscrit le: 31 Août 2006 00:27

Messagepar Franck78 » 21 Oct 2006 10:29

Le bon reflexe eut été de poster le "diff" entre les deux fichiers... ;-)
Si tu as gardé le 'nouveau', et bien vas-y

diff -Nur connections.cgi.old connections.cgi.new
Franck
L'art de poser une question sur ce site afin d'obtenir la réponse
A LIRE
Avatar de l’utilisateur
Franck78
Amiral
Amiral
 
Messages: 5625
Inscrit le: 20 Fév 2004 01:00
Localisation: Paris

Messagepar Yull » 21 Oct 2006 13:58

Voila voila

Si quelqu'un connait un petit .pdf qui explique ce langage, comme ca la prochaine fois je pourrais peut être trouver le bug tout seul

Merci &@+

--- connections.cgi.old 2006-08-29 13:07:08.000000000 +0200
+++ connections.cgi.new 2006-08-28 14:59:48.000000000 +0200
@@ -10,10 +10,17 @@
#

# Setup GREEN, ORANGE, IPCOP, VPN CIDR networks, masklengths and colours only once
+# ZERINA-VERSION:0.9.4b
+# (c) 2005-2006 Ufuk Altinkaynak & Olaf Westrik
+# Ipcop and OpenVPN as easy as one two three..
+#
+$Header::colourovpn = '#339999';

my @network=();
my @masklen=();
my @colour=();
+my @ports=();
+my @protocols=();

use Net::IPv4Addr qw( :all );

@@ -53,11 +60,15 @@
push(@network, $netsettings{'GREEN_ADDRESS'});
push(@masklen, "255.255.255.255" );
push(@colour, ${Header::colourfw} );
+push(@ports, '0' );
+push(@protocols, '' );

# Add Green Network to Array
push(@network, $netsettings{'GREEN_NETADDRESS'});
push(@masklen, $netsettings{'GREEN_NETMASK'} );
push(@colour, ${Header::colourgreen} );
+push(@ports, '0' );
+push(@protocols, '' );

# Add Green Routes to Array
my @routes = `/sbin/route -n | /bin/grep $netsettings{'GREEN_DEV'}`;
@@ -67,18 +78,68 @@
push(@network, $temp[0]);
push(@masklen, $temp[2]);
push(@colour, ${Header::colourgreen} );
+ push(@ports, '0' );
+ push(@protocols, '' );
}

# Add Firewall Localhost 127.0.0.1
push(@network, '127.0.0.1');
push(@masklen, '255.255.255.255' );
push(@colour, ${Header::colourfw} );
+push(@ports, '0' );
+push(@protocols, '' );
+
+### weizen_42
+# Add OpenVPN net and RED/BLUE/ORANGE entry (when appropriate)
+if (-e "${General::swroot}/ovpn/settings") {
+ my %ovpnsettings = ();
+ &General::readhash("${General::swroot}/ovpn/settings", \%ovpnsettings);
+ my @tempovpnsubnet = split("\/",$ovpnsettings{'DOVPN_SUBNET'});
+
+ # add OpenVPN net
+ push(@network, $tempovpnsubnet[0]);
+ push(@masklen, $tempovpnsubnet[1]);
+ push(@colour, ${Header::colourovpn} );
+ push(@ports, '0' );
+ push(@protocols, '' );
+
+ if ( ($ovpnsettings{'ENABLED'} eq 'on') && open(IP, "${General::swroot}/red/local-ipaddress") ) {
+ # add RED:port / proto
+ my $redip = <IP>;
+ close(IP);
+ chomp $redip;
+ push(@network, $redip );
+ push(@masklen, '255.255.255.255' );
+ push(@colour, ${Header::colourovpn} );
+ push(@ports, $ovpnsettings{'DDEST_PORT'} );
+ push(@protocols, $ovpnsettings{'DPROTOCOL'} );
+ }
+ if ( ($ovpnsettings{'ENABLED_BLUE'} eq 'on') && $netsettings{'BLUE_DEV'} ) {
+ # add BLUE:port / proto
+ push(@network, $netsettings{'BLUE_ADDRESS'} );
+ push(@masklen, '255.255.255.255' );
+ push(@colour, ${Header::colourovpn} );
+ push(@ports, $ovpnsettings{'DDEST_PORT'} );
+ push(@protocols, $ovpnsettings{'DPROTOCOL'} );
+ }
+ if ( ($ovpnsettings{'ENABLED_ORANGE'} eq 'on') && $netsettings{'ORANGE_DEV'} ) {
+ # add ORANGE:port / proto
+ push(@network, $netsettings{'ORANGE_ADDRESS'} );
+ push(@masklen, '255.255.255.255' );
+ push(@colour, ${Header::colourovpn} );
+ push(@ports, $ovpnsettings{'DDEST_PORT'} );
+ push(@protocols, $ovpnsettings{'DPROTOCOL'} );
+ }
+}
+### weizen_42 END

# Add Orange Network
if ($netsettings{'ORANGE_DEV'}) {
push(@network, $netsettings{'ORANGE_NETADDRESS'});
push(@masklen, $netsettings{'ORANGE_NETMASK'} );
push(@colour, ${Header::colourorange} );
+ push(@ports, '0' );
+ push(@protocols, '' );
# Add Orange Routes to Array
@routes = `/sbin/route -n | /bin/grep $netsettings{'ORANGE_DEV'}`;
foreach my $route (@routes) {
@@ -87,6 +148,8 @@
push(@network, $temp[0]);
push(@masklen, $temp[2]);
push(@colour, ${Header::colourorange} );
+ push(@ports, '0' );
+ push(@protocols, '' );
}
}

@@ -95,6 +158,9 @@
push(@network, $netsettings{'BLUE_NETADDRESS'});
push(@masklen, $netsettings{'BLUE_NETMASK'} );
push(@colour, ${Header::colourblue} );
+ push(@ports, '0' );
+ push(@protocols, '' );
+
# Add Blue Routes to Array
@routes = `/sbin/route -n | /bin/grep $netsettings{'BLUE_DEV'}`;
foreach my $route (@routes) {
@@ -103,6 +169,8 @@
push(@network, $temp[0]);
push(@masklen, $temp[2]);
push(@colour, ${Header::colourblue} );
+ push(@ports, '0' );
+ push(@protocols, '' );
}
}

@@ -119,6 +187,8 @@
push(@network, $temp[0]);
push(@masklen, $netsettings{'RED_NETMASK'} );
push(@colour, ${Header::colourfw} );
+ push(@ports, '0' );
+ push(@protocols, '' );
}
}
}
@@ -132,6 +202,8 @@
push(@network, $temp1[0]);
push(@masklen, ipv4_cidr2msk($temp1[1]));
push(@colour, ${Header::colourvpn} );
+ push(@ports, '0' );
+ push(@protocols, '' );
}
}
if (open(IP, "${General::swroot}/red/local-ipaddress")) {
@@ -141,6 +213,8 @@
push(@network, $redip);
push(@masklen, '255.255.255.255' );
push(@colour, ${Header::colourfw} );
+ push(@ports, '0' );
+ push(@protocols, '' );
}


@@ -374,6 +448,7 @@
<td align='center' bgcolor='${Header::colourblue}'><b><font color='#FFFFFF'>$Lang::tr{'wireless'}</font></b></td>
<td align='center' bgcolor='${Header::colourfw}'><b><font color='#FFFFFF'>IPCop</font></b></td>
<td align='center' bgcolor='${Header::colourvpn}'><b><font color='#FFFFFF'>$Lang::tr{'vpn'}</font></b></td>
+ <td align='center' bgcolor='${Header::colourovpn}'><b><font color='#FFFFFF'>$Lang::tr{'OpenVPN'}</font></b></td>
</tr>
</table>
<br />
@@ -445,9 +520,12 @@
my $line;
my $colour = ${Header::colourred};
my ($ip) = $_[0];
+ my ($port) = $_[1];
+ my ($protocol) = substr $_[2], 0, 3;
my $found = 0;
foreach $line (@network) {
- if (!$found && ipv4_in_network( $network[$id] , $masklen[$id], $ip) ) {
+# if (!$found && ipv4_in_network( $network[$id] , $masklen[$id], $ip) ) {
+ if (!$found && ipv4_in_network( $network[$id] , $masklen[$id], $ip) && ($ports[$id] eq $port || $ports[$id] eq '0' ) && ($protocols[$id] eq $protocol || $protocols[$id] eq '' )) {
$found = 1;
$colour = $colour[$id];
}
Yull
Second Maître
Second Maître
 
Messages: 42
Inscrit le: 31 Août 2006 00:27

Messagepar Franck78 » 21 Oct 2006 14:36

Yull a écrit:Voila voila

Si quelqu'un connait un petit .pdf qui explique ce langage, comme ca la prochaine fois je pourrais peut être trouver le bug tout seul

Merci &@+



C'est du PERL et Google te donneras toutes pistes nécessaires pour découvrir ce langage.

La modif de Ufuk (auteur) est trop 'grosse' pour que le pb saute au yeux. Par contre tu as aussi l'erreur (ligne, description) enregistrée dans le log Apache.


Ce qu'on voit d'évident est deux champs systématiquement vides (sauf un cas) ajoutés dans le tableau pour chaque 'type' de connections.

+ push(@ports, '0' );
+ push(@protocols, '' );


Possible qu'un autre addon est ajouté sont 'type' évident pas modifié alors.
Franck
L'art de poser une question sur ce site afin d'obtenir la réponse
A LIRE
Avatar de l’utilisateur
Franck78
Amiral
Amiral
 
Messages: 5625
Inscrit le: 20 Fév 2004 01:00
Localisation: Paris

Messagepar Yull » 21 Oct 2006 19:14

Alors

J'ai résolu mon problème, j'avais installé ZERINA-0.9.4d, mais ne l'avais pas configuré, ce qui fait que certaines variables du script n'étaient pas initialisées (erreur localisé avec le log Apache merci Franck78)

Donc après initialisation de zerina, plus de pb

J'en ai aussi profité pour mettre à jour le fichier en question (connections.cgi) avec la dernière version de sourceforge

Merci à tous &@+
Yull
Second Maître
Second Maître
 
Messages: 42
Inscrit le: 31 Août 2006 00:27


Retour vers IPCop

Qui est en ligne ?

Utilisateur(s) parcourant actuellement ce forum : Aucun utilisateur inscrit et 1 invité