diff --git a/usr/local/www/wizards/traffic_shaper_wizard.xml b/usr/local/www/wizards/traffic_shaper_wizard.xml
index 3dc592ed8f..f7355f6026 100644
--- a/usr/local/www/wizards/traffic_shaper_wizard.xml
+++ b/usr/local/www/wizards/traffic_shaper_wizard.xml
@@ -537,154 +537,164 @@
Peer to Peer networking
true
-
-
- true
- Enable
- checkbox
- Lower priority of Peer-to-Peer traffic
- This will lower the priority of P2P traffic below all other traffic. Please check the items that you would like to prioritize lower than normal traffic.
- Aimster,BitTorrent,BuddyShare,CuteMX,DCplusplus,dcc,DirectConnect,DirectFileExpress,EDonkey2000,FastTrack,Gnutella,grouper,hotComm,HotlineConnect,iMesh,Napster,OpenNap,Scour,Shareaza,SongSpy,WinMX
- ezshaper->step4->enable
-
-
- Next
- submit
-
-
- Enable/Disable specific P2P protocols
- listtopic
-
-
- Aimster
- checkbox
- Aimster and other P2P using the Aimster protocol and ports
- ezshaper->step4->aimster
-
-
- BitTorrent
- checkbox
- Bittorrent and other P2P using the Torrent protocol and ports
- ezshaper->step4->bittorrent
-
-
- BuddyShare
- checkbox
- BuddyShare and other P2P using the BuddyShare protocol and ports
- ezshaper->step4->buddyshare
-
-
- CuteMX
- checkbox
- CuteMX and other P2P using the CuteMX protocol and ports
- ezshaper->step4->cutemx
-
-
- DCplusplus
- checkbox
- DC++ and other P2P using the DC++ protocol and ports
- ezshaper->step4->dcplusplus
-
-
- DCC
- checkbox
- irc DCC file transfers
- ezshaper->step4->dcc
-
-
- DirectConnect
- checkbox
- DirectConnect and other P2P using the DirectConnect protocol and ports
- ezshaper->step4->directconnect
-
-
- DirectFileExpress
- checkbox
- DirectFileExpress and other P2P using the DirectFileExpress protocol and ports
- ezshaper->step4->directfileexpress
-
-
- eDonkey2000
- checkbox
- eDonkey and other P2P using the eDonkey protocol and ports
- ezshaper->step4->edonkey2000
-
-
- FastTrack
- checkbox
- FastTrack and other P2P using the FastTrack protocol and ports
- ezshaper->step4->fasttrack
-
-
+
+ true
+ Enable
+ checkbox
+ Lower priority of Peer-to-Peer traffic
+ This will lower the priority of P2P traffic below all other traffic. Please check the items that you would like to prioritize lower than normal traffic.
+ Aimster,BitTorrent,BuddyShare,CuteMX,DCplusplus,dcc,DirectConnect,DirectFileExpress,EDonkey2000,FastTrack,Gnutella,grouper,hotComm,HotlineConnect,iMesh,Napster,OpenNap,Scour,Shareaza,SongSpy,WinMX
+ ezshaper->step4->enable
+
+
+ Next
+ submit
+
+
+ p2p Catch all
+ listtopic
+
+
+ true
+ p2pCatchAll
+ checkbox
+ When enabled, all uncategorized traffic is fed to the p2p queue.
+ ezshaper->step4->p2pcatchall
+
+
+ Enable/Disable specific P2P protocols
+ listtopic
+
+
+ Aimster
+ checkbox
+ Aimster and other P2P using the Aimster protocol and ports
+ ezshaper->step4->aimster
+
+
+ BitTorrent
+ checkbox
+ Bittorrent and other P2P using the Torrent protocol and ports
+ ezshaper->step4->bittorrent
+
+
+ BuddyShare
+ checkbox
+ BuddyShare and other P2P using the BuddyShare protocol and ports
+ ezshaper->step4->buddyshare
+
+
+ CuteMX
+ checkbox
+ CuteMX and other P2P using the CuteMX protocol and ports
+ ezshaper->step4->cutemx
+
+
+ DCplusplus
+ checkbox
+ DC++ and other P2P using the DC++ protocol and ports
+ ezshaper->step4->dcplusplus
+
+
+ DCC
+ checkbox
+ irc DCC file transfers
+ ezshaper->step4->dcc
+
+
+ DirectConnect
+ checkbox
+ DirectConnect and other P2P using the DirectConnect protocol and ports
+ ezshaper->step4->directconnect
+
+
+ DirectFileExpress
+ checkbox
+ DirectFileExpress and other P2P using the DirectFileExpress protocol and ports
+ ezshaper->step4->directfileexpress
+
+
+ eDonkey2000
+ checkbox
+ eDonkey and other P2P using the eDonkey protocol and ports
+ ezshaper->step4->edonkey2000
+
+
+ FastTrack
+ checkbox
+ FastTrack and other P2P using the FastTrack protocol and ports
+ ezshaper->step4->fasttrack
+
+
Gnutella
checkbox
- Gnutella and other P2P using the Gnutella protocol and ports
- ezshaper->step4->gnutella
-
-
- grouper
- checkbox
- grouper and other P2P using the grouper protocol and ports
- ezshaper->step4->grouper
-
-
- hotComm
- checkbox
- hotComm and other P2P using the hotComm protocol and ports
- ezshaper->step4->hotcomm
-
-
- HotlineConnect
- checkbox
- HotlineConnect and other P2P using the HotlineConnect protocol and ports
- ezshaper->step4->hotlineconnect
-
-
- iMesh
- checkbox
- iMesh and other P2P using the iMesh protocol and ports
- ezshaper->step4->imesh
-
-
- Napster
- checkbox
- Napster and other P2P using the Napster protocol and ports
- ezshaper->step4->napster
-
-
- OpenNap
- checkbox
- OpenNap and other P2P using the OpenNap protocol and ports
- ezshaper->step4->opennap
-
-
- Scour
- checkbox
- Scour and other P2P using the Scour protocol and ports
- ezshaper->step4->scour
-
-
- Shareaza
- checkbox
- Shareaza and other P2P using the Shareaza protocol and ports
- ezshaper->step4->shareaza
-
-
- SongSpy
- checkbox
- SongSpy and other P2P using the SongSpy protocol and ports
- ezshaper->step4->songspy
-
-
- WinMX
- checkbox
- WinMX and other P2P using the WinMX protocol and ports
- ezshaper->step4->winmx
-
-
- Next
- submit
-
+ Gnutella and other P2P using the Gnutella protocol and ports
+ ezshaper->step4->gnutella
+
+
+ grouper
+ checkbox
+ grouper and other P2P using the grouper protocol and ports
+ ezshaper->step4->grouper
+
+
+ hotComm
+ checkbox
+ hotComm and other P2P using the hotComm protocol and ports
+ ezshaper->step4->hotcomm
+
+
+ HotlineConnect
+ checkbox
+ HotlineConnect and other P2P using the HotlineConnect protocol and ports
+ ezshaper->step4->hotlineconnect
+
+
+ iMesh
+ checkbox
+ iMesh and other P2P using the iMesh protocol and ports
+ ezshaper->step4->imesh
+
+
+ Napster
+ checkbox
+ Napster and other P2P using the Napster protocol and ports
+ ezshaper->step4->napster
+
+
+ OpenNap
+ checkbox
+ OpenNap and other P2P using the OpenNap protocol and ports
+ ezshaper->step4->opennap
+
+
+ Scour
+ checkbox
+ Scour and other P2P using the Scour protocol and ports
+ ezshaper->step4->scour
+
+
+ Shareaza
+ checkbox
+ Shareaza and other P2P using the Shareaza protocol and ports
+ ezshaper->step4->shareaza
+
+
+ SongSpy
+ checkbox
+ SongSpy and other P2P using the SongSpy protocol and ports
+ ezshaper->step4->songspy
+
+
+ WinMX
+ checkbox
+ WinMX and other P2P using the WinMX protocol and ports
+ ezshaper->step4->winmx
+
+
+ Next
+ submit
+
@@ -1972,6 +1982,15 @@
/* XXX: add some more protocols here! */
+
+ /* install default p2p catch all rule if user has enabled option (MUST BE LAST!) */
+ if($config['ezshaper']['step4']['p2pcatchall'] == "on") {
+ $othersplist[] = array('p2pCatchAll', 'tcp', '', '', 'both', 'p2p');
+ $othersplist[] = array('p2pCatchAll2','tcp', '', '', 'both', 'p2p');
+ $othersplist[] = array('p2pCatchAll', 'udp', '', '', 'both', 'p2p');
+ $othersplist[] = array('p2pCatchAll2','udp', '', '', 'both', 'p2p');
+ }
+
/* Set up/down protocols as higher weight */
/* loop through othersplist[] */
@@ -1998,15 +2017,19 @@
$rule['destination']['network'] = $downint;
$rule['descr'] = "m_Other {$otherclient[0]} inbound";
}
-
- $rule['destination']['port'] = $otherclient[2]."-".$otherclient[3];
- if($otherclient[1] != '')
+
+ if($otherclient[2] or $otherclient[3]) {
+ $rule['destination']['port'] = $otherclient[2]."-".$otherclient[3];
+ if($otherclient[1] != '')
$rule['protocol'] = $otherclient[1];
+ }
$config['shaper']['rule'][] = $rule;
}
}
- }
+ }
+
+