Bugs with partial fixes



  • Hello community and devs,

    I think I have found some bugs and hope anybody can can confirm these.

    Before I start some informations (my system)
    Alix Board: http://www.amazon.de/ALIX-2D13-ALIX-Bundle-Board-Engines/dp/B004ZPXOYK
    Antenna: http://www.amazon.de/CSL-Stabantenne-Signalverst%C3%A4rker-Omni-direktionale-Wlan-Stick/dp/B00DZSKCUW/ref=sr_1_4?ie=UTF8&qid=1387900247&sr=8-4&keywords=wlan+antenne
    Network Card: http://www.amazon.de/TP-LINK-TL-WN861N-WLAN-Mini–PCI-Adapter/dp/B009ODRRDM/
    Pfsense Version: 2.1.2

    Number 1:
    When I have configured Captive Portal to work on WLAN (not tested on other interfaces) and you go to "Interfaces - Wlan" to disable this interface, you get an error (Sry, have forgotten the error name, or the exactly output and dont want to flash my system again). This error is not fixable, because when you would like to enter any other menu point you cant because the error is coming again and again. Restart also not helping.

    Fix: Take your CF card and flash pfsense again!
    Maybe it is possible to fix this error, or the interface should not be able to be switched off where captive portal is running!

    Number 2:
    The Captive portal is some times not working with Android.
    I have a html with a design and so on, but I will only show the important chapter:

    
    <form method="post" action="$PORTAL_ACTION$">
    
    Passwort:
    
    	</form>
    
    

    Two possible solutions to login with android in the system:
    First option(only this one is working):
    When you start your android-browser and would like to go to the website www.news.at. Sometimes you will be redirected from captive portal, to the loginsite. When we have a look at the url we have (this is not the exactly url, only from my memory):
    http:\192.168.2.1:8000\redirurl=http%2F%2Fwww.news.at%2F
    When you now enter the username and password, all is working fine, because you will be redirected to http\www.news.at
    Fine, you are logged in

    Second option:
    When you start your android-browser and would like to go to the website again www.news.at. Sometimes you will not be redirected, browser is waiting, but in the background you get the message "Networklogin required for network X". This message is coming from android-operating system.
    Now the fact is, the browser waits so long, until you click on the android message.
    I click on the android-message.
    It starts the android-browser again and I will redirected to my captive portal loginsite.
    Now we have also a look at the url:
    http:\192.168.2.1:8000\redirurl=http%2F%2F173.194.39.174%2Fgenerate_204
    Okay strange but we go on. I enter username and password but will be redirected to the captive portal loginsite again. I login again, until we recognize tha we are in a loop! We are always redirected to the cp-loginsite!

    I have googled the IP adress and generate_204. I found out that the IP adress is a google IP adress. You can enter this ip adress and you will redirected to www.google.at. Okay first fact found Google IP.

    I have googled for generate_204 and found out that is is an error code for "Network is stopped, or locked or something else. In my case it means the network is locked, and you have to login before you can start surfing.
    So this Ip adress is a static IP adress, programmed in android, with the error code generate_204.

    Fact two found: Generated error code from google/Android.

    This ip and error codes will not change so we can go on to our fix.

    So what is now the solution? We have to fix the loginsite:

    		if($rediwas == "/" || (strpos($rediwas, "generate") === true))
    		{ 
    			$rediwas = "http://www.google.at"; 
    		} 
    	?>
    
    [](#)
    
    ### Anmeldung im Netz:
    
    		Benutzername:
    
    <form method="post" action="$PORTAL_ACTION$">
    
    Passwort:
    
    	</form>
    
    With this loginsite android is working fine, because it checks if there is the generate_204 with the google ip adress in the GET-Value. When there is the ip adress and generate you overwrite the value rediwas with a new website. In my case www.google.at
    
    So my hope to the devs, pls can you fix this in pfsense, so maybe it is possible to have a point in captive portal for example:
    

    Redirurl on special errors, generated by android:
    (Field to enter a url to redirect)

    Or another solution. I would be very greatful.
    
    The other bugs belongs to other chapters, so I will report the other bugs in the other chapters.
    
    Hopefully I get an answer back
    Greetings Paul
    
    Bugs found with the help of Lukas S. ;-)