diff -uNr engine.orig/configs/extremeware.inc.php engine/configs/extremeware.inc.php
--- engine.orig/configs/extremeware.inc.php	1970-01-01 01:00:00.000000000 +0100
+++ engine/configs/extremeware.inc.php	2007-04-11 16:56:26.606293896 +0200
@@ -0,0 +1,93 @@
+<?
+/* This file is part of JFFNMS
+ * Copyright (C) 2007 Sebastien Nameche <sebastien.nameche@netensia.fr>
+ * This program is licensed under the GNU GPL, full terms in the LICENSE file
+ */
+
+  // Configuration Downloader Implementation for ExtremeWare
+  // Tested on Summit 48si running ExtremeWare 7.7.1.1
+  // See http://www.extremenetworks.com/products/mibs.aspx
+
+
+  function config_extremeware_get( $ip, $rwcommunity, $server, $filename ){
+
+    if( $ip && $rwcommunity && $server && $filename
+     && config_extremeware_wait( $ip, $rwcommunity, $server, $filename ) ){
+
+      $extremeFileTransferEntry            = ".1.3.6.1.4.1.1916.1.10.1.2.1";
+      $extremeFileTransferServerAddress    = "$extremeFileTransferEntry.2.1";
+      $extremeFileTransferFileName         = "$extremeFileTransferEntry.3.1";
+      $extremeFileTransferOperation        = "$extremeFileTransferEntry.4.1";
+      $extremeFileTransferStartAdminStatus = "$extremeFileTransferEntry.6.1";
+      $extremeFileTransferOwner            = "$extremeFileTransferEntry.9.1";
+      $extremeFileTransferRowStatus        = "$extremeFileTransferEntry.10.1";
+
+      // destroy(6)
+      $result = snmp_set( $ip, $rwcommunity
+                        , $extremeFileTransferRowStatus, "i", 6 );
+      if( ! $result ) return false;
+
+      // createAndWait(5)
+      $result = snmp_set( $ip, $rwcommunity
+                        , $extremeFileTransferRowStatus, "i", 5 );
+      if( ! $result ) return false;
+
+      $result = snmp_set( $ip, $rwcommunity
+                        , $extremeFileTransferServerAddress, "a", $server );
+      if( ! $result ) return false;
+
+      $result = snmp_set( $ip, $rwcommunity
+                        , $extremeFileTransferFileName, "s", $filename );
+      if( ! $result ) return false;
+
+      // uploadConfigImmediate(4)
+      $result = snmp_set( $ip, $rwcommunity
+                        , $extremeFileTransferOperation, "i", 4 );
+      if( ! $result ) return false;
+
+      // active(1)
+      $result = snmp_set( $ip, $rwcommunity
+                        , $extremeFileTransferRowStatus, "i", 1 );
+      if( ! $result ) return false;
+
+      // start(1)
+      $result = snmp_set( $ip, $rwcommunity
+                        , $extremeFileTransferStartAdminStatus, "i", 1 );
+      if( ! $result ) return false;
+
+      return true; 
+    }
+    return false;
+  }
+
+
+  function config_extremeware_wait( $ip, $rwcommunity, $server, $filename ){
+
+    $extremeFileTransferEntry               = ".1.3.6.1.4.1.1916.1.10.1.2.1";
+    $extremeFileTransferStartOperStatus     = "$extremeFileTransferEntry.7.1";
+    $extremeFileTransferLastExecutionStatus = "$extremeFileTransferEntry.8.1";
+
+    $i = 1;
+    $result = snmp_get( $ip, $rwcommunity
+                      , $extremeFileTransferStartOperStatus );
+
+    while( ($result == 3) and ($i++ < 30) ){ 
+      sleep( 2 ); 
+      $result = snmp_get( $ip, $rwcommunity
+                        , $extremeFileTransferStartOperStatus );
+    }
+
+    $result = snmp_get( $ip, $rwcommunity
+                      , $extremeFileTransferLastExecutionStatus );
+
+    return $result == 1;
+  }
+
+
+  function config_extremeware_preg( $config_data ){
+    // Replace with a blank line strings similar to :
+    // # Summit48si Configuration generated Wed Apr 11 16:35:56 2007
+    return preg_replace( '/# \w+ configuration generated .*/i', ''
+                       , $config_data );
+  }
+?>
diff -uNr engine.orig/tftp_get_host_config.php engine/tftp_get_host_config.php
--- engine.orig/tftp_get_host_config.php	2006-06-05 01:30:29.000000000 +0200
+++ engine/tftp_get_host_config.php	2007-04-11 16:34:16.695471072 +0200
@@ -71,9 +71,15 @@
 			$config_id_old = $aux["id"];
 			unset ($aux);
 
+			// If function "config_XXX_preg" exists, call it.
+			$preg_function = "config_".$config["command"]."_preg";
+			if (function_exists($preg_function))
+				$config_data = call_user_func($preg_function,$config_data);
+
+			//FIXME: Should ideally use a "config_XXX_preg" function.  -- S. Nameche
 			//Cisco Router NTP fix
 			$config_data = preg_replace('/ntp clock-period \S+/', '', $config_data);
-				
+
 			if (md5 ($config_data) != md5 ($config_data_old)) { //if the old and the new config are not equal
 		
 			    $config_data = str_replace ("'","\'",$config_data); //escape '
