Bug #302


Shaper wizard remembers values on error, but are disabled

Added by Daniel Lloyd almost 12 years ago. Updated almost 11 years ago.

Traffic Shaper (ALTQ)
Target version:
Start date:
Due date:
% Done:


Estimated time:
Plus Target Version:
Release Notes:
Affected Version:
Affected Architecture:


2.0-BETA1 built on Fri Jan 8 03:48:57 EST 2010 FreeBSD 8.0-RELEASE-p2
Running the full install, upgraded from 1.2.3
After stepping through the wizard, I click finish and get the error: "Custom Bandwidths are greater than 30%. Please lower them for the wizard to continue." and am dumped back to the VoIP options. I do not use VoIP, and did not select anything, so I assume that is just the first page. The only screens of the wizard I entered any value was on the penalize option, where I set it to 10%, and p2p where I limited it to 70% (This is the cause of my error, but I don't see any mention of the 30% limit anywhere). The bug itself appears after I am sent back through the wizard, it remembers all of my settings, but as sub-options are disabled by default I have to un-check then recheck each of the items that I want to use if there is any error checking on that form. If you need more information let me know.


Actions #1

Updated by Ermal Luçi over 11 years ago

  • Status changed from New to Feedback


Actions #2

Updated by Haagen Waade over 11 years ago

Still a problem in Sat May 29 17:47:52 EDT 2010 build.
All the traffic shaper wizards have the same issue (traffic_shaper_wizard.xml, traffic_shaper_wizard_multi_lan.xml, traffic_shaper_wizard_multi_all.xml) with sub options not selectable when the option is enabled (like in the screenshot).
traffic_shaper_wizard_multi_all.xml with 1:1 (WAN:LAN) gives the 30% error, while the other wizards do not.

After the wizard have been gone through, it only makes a VoIP floating rule and no other rules (so all traffic goes into default queue)

Actions #3

Updated by Peter Woodman over 11 years ago

Yup, seconded. Still a problem. Using June 2's build. The revision in question actually makes the problem worse- previous behavior was that it'd start disabled, but check, then uncheck, and the fields would be enabled. This actually prevents this workaround from working. It's hard to tell in the php code, but a look at the js output is more clear:


function enablechange() {
    if (document.iform.enable.checked) {
        document.iform.p2pcatchall.disabled = 1;
        document.iform.bandwidth.disabled = 1;
        document.iform.aimster.disabled = 1;
        document.iform.bittorrent.disabled = 1;
        document.iform.buddyshare.disabled = 1;
        document.iform.cutemx.disabled = 1;
        document.iform.dcplusplus.disabled = 1;
        document.iform.dcc.disabled = 1;
        document.iform.directconnect.disabled = 1;
        document.iform.directfileexpress.disabled = 1;
        document.iform.edonkey2000.disabled = 1;
        document.iform.fasttrack.disabled = 1;
        document.iform.gnutella.disabled = 1;
        document.iform.grouper.disabled = 1;
        document.iform.hotcomm.disabled = 1;
        document.iform.hotlineconnect.disabled = 1;
        document.iform.imesh.disabled = 1;
        document.iform.napster.disabled = 1;
        document.iform.opennap.disabled = 1;
        document.iform.scour.disabled = 1;
        document.iform.shareaza.disabled = 1;
        document.iform.songspy.disabled = 1;
        document.iform.winmx.disabled = 1;
    } else {
        document.iform.p2pcatchall.disabled = 0;
        document.iform.bandwidth.disabled = 0;
        document.iform.aimster.disabled = 0;
        document.iform.bittorrent.disabled = 0;
        document.iform.buddyshare.disabled = 0;
        document.iform.cutemx.disabled = 0;
        document.iform.dcplusplus.disabled = 0;
        document.iform.dcc.disabled = 0;
        document.iform.directconnect.disabled = 0;
        document.iform.directfileexpress.disabled = 0;
        document.iform.edonkey2000.disabled = 0;
        document.iform.fasttrack.disabled = 0;
        document.iform.gnutella.disabled = 0;
        document.iform.grouper.disabled = 0;
        document.iform.hotcomm.disabled = 0;
        document.iform.hotlineconnect.disabled = 0;
        document.iform.imesh.disabled = 0;
        document.iform.napster.disabled = 0;
        document.iform.opennap.disabled = 0;
        document.iform.scour.disabled = 0;
        document.iform.shareaza.disabled = 0;
        document.iform.songspy.disabled = 0;
        document.iform.winmx.disabled = 0;

That conditional should be reversed.

Looks like the form comes through default checked, but the disableall() function at the end of the document still disables everything. Looks like you could avoid this confusion by removing that function and just triggering enablechange(); when the document loads? It'll do the same thing if the main enable box isn't checked..

Actions #4

Updated by Chris Buechler over 11 years ago

  • Status changed from Feedback to New
Actions #5

Updated by Ermal Luçi over 11 years ago

  • Status changed from New to Feedback

Try latest snapshot should be ok.

Actions #6

Updated by Chris Buechler about 11 years ago

  • Status changed from Feedback to Resolved
Actions #7

Updated by Josh Stompro almost 11 years ago

I see this same error again when using the Dec 2nd nanobsd snapshot.
2.0-Beta4 (i386) built on Thu Dec 2 03:39:46 EST 2010

Steps to reproduce
  1. Remove wiz
  2. Run wizard again One wan multi lan - accepting the old settings for each page.
  3. When the p2p page comes up. The P2P Enable box is checked, and the other check boxes for Catch All and protocals are checked, but disabled. If I don't uncheck Enable, and check it again, the settings for the catch all and protocals don't get saved when I click next.

Also available in: Atom PDF