Traffic Shaper: wizard problem and view "By queue" problem



  • Hi,

    I started using pfSense a few days ago. So far I am really exited but I ran into two small things which are not so nice and maybe you can fix them in a future build. I am currently on 2.0-RC3 (i386) built on Fri Jul 22 08:30:29 EDT 2011 but the problems existed since the RC3 download image:

    1. when using the wizard to configure the traffic shaper and you select Battle.NET or World of Warcraft there are no rules created for the firewall. I analyzed the problem and found that there is an error in the wizardapp.inc concerning the section of those two entries…

    2. when watching the traffic shaping "By queue" and you select a queue you see some stats of the queue in the different interfaces it exists. You can clone them but the link at the to of each interface section which I assume should bring you to the queue itself to configure leads to an error: "The following input errors were detected: Queue not found!"

    That's it. So far a really nice project...

    Regards,
    Alexander



  • @Bentrax:

    1. when using the wizard to configure the traffic shaper and you select Battle.NET or World of Warcraft there are no rules created for the firewall. I analyzed the problem and found that there is an error in the wizardapp.inc concerning the section of those two entries…

    Please provide more details on the error you found: where in the file, why you think its an error etc etc.



  • ok, I will ;D

    $gamesplist['battlenet'] = array();
    	/* Blizzard Publishing games */
    	$gamesplist['battlenet'][] = array('Battle.NET', 'tcp', '6112', '6119', 'both');
    	$gamesplist['battlenet'][] = array('Battle.NET-2', 'tcp', '1119', '1119', 'both');
    
    $gamesplist['worldofwarcraft'] = array();
    	$gamesplist[] = array('WoW', 'tcp', '3724', '3724', 'both');
    
    $gamesplist['battlenet'] = array();
    	/* Add battle.net only if WoW is selected and battle.net isn't */
    	$gamesplist[] = array('Battle.NET', 'tcp', '6112', '6119', 'both');
    

    thats the code snippet I mentioned.
    This seems not to work properly. I am not so good in PHP but I think it collides that you have```
    $gamesplist['battlenet'] = array();

    The comment show the intention for doing so but I think the code parsing this file does not support what you want to active with that.
    I tried with several other games constellations, all work and there you don't care wether you create rules for the same ports twice or not, just have a look on Everquest and Everquest2, they both use port 7000 and if you check them both you get two rules for port 7000.
    
    IMHO the wizard is a nice help to get an initial setup but you are not supped to take it as it comes, so I altered my file to
    

    $gamesplist['battlenet'] = array();
    /* Blizzard Publishing games */
    $gamesplist['battlenet'][] = array('Battle.NET', 'tcp', '6112', '6119', 'both');
    $gamesplist['battlenet'][] = array('Battle.NET-2', 'tcp', '1119', '1119', 'both');

    $gamesplist['wow'] = array();
    $gamesplist['wow'][] = array('WoW', 'tcp', '3724', '3724', 'both');
    $gamesplist['wow'][] = array('Battle.NET', 'tcp', '6112', '6119', 'both');
    $gamesplist['wow'][] = array('Battle.NET-2', 'tcp', '1119', '1119', 'both');

    
    If I select both I can remove the doubled Battle.Net rules. And I insert [wow] as in the correlating XML the game is tagged.
    
    This way the wizard setups at least some rules.
    
    Regards,
    Alexander


  • I can confirm that this is broken, at least as of the 0729 build of RC3. I used the shaper wizard and select "Battle.net" and "World of Warcraft" in the wizard, but the generated firewall rules are missing the ports that these games require.



  • Should be fixed on latest snapshots.



  • Thanks trying to fix that small thing but it is still not working…
    When checking World of Warcraft you won't get any rules...
    The code is still:

    $gamesplist['worldofwarcraft'] = array();
    	$gamesplist[] = array('WoW', 'tcp', '3724', '3724', 'both');
    

    With the second command I think the $gamesplist is reinitialized but with out a name therefore it is not found be the calling script…

    IMHO it has to be:

    $gamesplist['worldofwarcraft'] = array();
    	$gamesplist['worldofwarcraft'][] = array('WoW', 'tcp', '3724', '3724', 'both');
    


  • Fixed. Thanks for reporting.



  • Ok sorry for bothering ;D, now I made a mistake by reporting…
    In the XML file defining the wizard page you name that World of Warcraft entry "wow" not "worldofwarcraft".
    You change still does not produce a rule...
    Either you change the XML or, again, the array to:

    $gamesplist['wow'] = array();
    	$gamesplist['wow'][] = array('WoW', 'tcp', '3724', '3724', 'both');
    

    Sorry, I know this is not very very important, but I am currently experimenting with the shaper, creating and deleting rules and using the wizard while I am updating to the newest build almost every three days and it a little bit annoying to make that change every time myself in that file…

    Regards,
    Alexander



  • Done again.

    Thanks and no worries.


Locked