Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    Minor issue in Status -> OpenVPN page

    Scheduled Pinned Locked Moved 2.1 Snapshot Feedback and Problems - RETIRED
    11 Posts 3 Posters 3.8k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • D
      dhatz
      last edited by

      Using latest 2.1-BETA, when navigating to page Status -> OpenVPN, the buttons in the upper-right section reflect the running status / restart / stop of the wrong service, namely dnsmasq instead of openvpn.

      1 Reply Last reply Reply Quote 0
      • jimpJ
        jimp Rebel Alliance Developer Netgate
        last edited by

        Might check again on the next snapshot after the one you're on. I'm synced to the latest code and it's not doing that for me. I was doing quite a lot of work on that shortcut bar this weekend and it's possible that certain snapshots didn't have a complete set of the code.

        Remember: Upvote with the 👍 button for any user/post you find to be helpful, informative, or deserving of recognition!

        Need help fast? Netgate Global Support!

        Do not Chat/PM for help!

        1 Reply Last reply Reply Quote 0
        • D
          dhatz
          last edited by

          Just upgraded to 2.1-BETA0 built on Sun Aug 12 15:48:03 EDT 2012 and the issue remains (I also checked the html source just in case)

          1 Reply Last reply Reply Quote 0
          • jimpJ
            jimp Rebel Alliance Developer Netgate
            last edited by

            Could swear I replied to this but perhaps it was just as something was moved in the DC…

            What is the exact URL you're on when this happens? And do you have a screenshot or something similar showing how it's linking to the wrong place?

            I still can't reproduce it, and the code definitely isn't pointing the openvpn status page to dnsmasq...

            Remember: Upvote with the 👍 button for any user/post you find to be helpful, informative, or deserving of recognition!

            Need help fast? Netgate Global Support!

            Do not Chat/PM for help!

            1 Reply Last reply Reply Quote 0
            • P
              phil.davis
              last edited by

              Me too:
              2.1-BETA0 (i386)
              built on Sun Aug 12 15:48:49 EDT 2012
              FreeBSD 8.3-RELEASE-p4

              I started on a test system without any OpenVPN defined. At https://192.168.12.1/vpn_openvpn_server.php or status_openvpn.php I hover over the:
              Green arrow button - "dnsmasq Service is Running"
              Restart button - "Restart dnsmasq Service"
              Stop button - "Stop dnsmasq Service"

              Then added an OpenVPN shared-key Server, the results are the same.

              I noticed that at one stage in the commits for this, the OpenVPN services bit was commented out in shortcuts.inc:

              //$shortcuts['openvpn']['service'] = "openvpn";
              

              But it is back in now (and in my snapshot).

              I am not really sure what the running/restart/stop buttons are supposed to do in this context - there could be lots of OpenVPN Servers and Clients defined/listed on the page, or none at all. Is the button supposed to restart/stop all of them? Should the button not be there if there are no OpenVPN instances defined?

              With the current code, in fbegin.inc:
              a) $shortcut_section="openvpn" - good
              b) $vpnid = "" - not so good
              It calls find_service_by_openvpn_vpnid($vpnid) - the blank parameter makes this fall through to returning the first array (service) that get_services finds. That happens to be "dnsmasq" on many systems
              if(isset($config['dnsmasq']['enable'])) {…

              It needs $vpnid defined in fbegin.inc - but I can't see a sensible way to define it.

              Of course, if I edit a particular OpenVPN Server instance, then the buttons do the sensible things for that instance.

              As the Greek philosopher Isosceles used to say, "There are 3 sides to every triangle."
              If I helped you, then help someone else - buy someone a gift from the INF catalog http://secure.inf.org/gifts/usd/

              1 Reply Last reply Reply Quote 0
              • P
                phil.davis
                last edited by

                Here is a screenshot of where the problem is - I didn't get it to capture the text when hovering. There are some bits of debugging echo stuff that I added to show the value of $shortcut_section, $vpnid and the array returned as $ssvc.

                openvpn-buttons.jpg
                openvpn-buttons.jpg_thumb

                As the Greek philosopher Isosceles used to say, "There are 3 sides to every triangle."
                If I helped you, then help someone else - buy someone a gift from the INF catalog http://secure.inf.org/gifts/usd/

                1 Reply Last reply Reply Quote 0
                • P
                  phil.davis
                  last edited by

                  Note that this issue happens on the following pages:
                  diag_logs_openvpn.php
                  status_openvpn.php
                  vpn_openvpn_server.php
                  vpn_openvpn_client.php
                  vpn_openvpn_csc.php
                  diag_logs_auth.php
                  status_captiveportal.php
                  services_captiveportal_zones.php

                  The opening page of each of these has a list of OpenVPN or CaptivePortal objects, or a status or log of zero to many of these objects. So the state/restart/stop buttons don't have a good unique meaning at these places.

                  As the Greek philosopher Isosceles used to say, "There are 3 sides to every triangle."
                  If I helped you, then help someone else - buy someone a gift from the INF catalog http://secure.inf.org/gifts/usd/

                  1 Reply Last reply Reply Quote 0
                  • jimpJ
                    jimp Rebel Alliance Developer Netgate
                    last edited by

                    And on my setup, I don't get start/stop controls on any of those pages. They're only supposed to show up when it can determine a proper/unique service for that page.

                    At first I left the service bit disabled for OpenVPN and captive portal because they needed extra code to determine the right process. Once I finished up that code, I enabled them again.

                    There must be something about the config that's causing it, or perhaps something needs (re)initialized at the start of the code.

                    Remember: Upvote with the 👍 button for any user/post you find to be helpful, informative, or deserving of recognition!

                    Need help fast? Netgate Global Support!

                    Do not Chat/PM for help!

                    1 Reply Last reply Reply Quote 0
                    • jimpJ
                      jimp Rebel Alliance Developer Netgate
                      last edited by

                      Try syncing in the two commits I just made and see if it helps. I still can't replicate it here so I'm just guessing…

                      https://github.com/bsdperimeter/pfsense/commit/9cb6bef1e3f71d4eba30118bb0409a39e589a22b
                      https://github.com/bsdperimeter/pfsense/commit/d583aa710a765748b46555a388b8cdd70f327b0b

                      Remember: Upvote with the 👍 button for any user/post you find to be helpful, informative, or deserving of recognition!

                      Need help fast? Netgate Global Support!

                      Do not Chat/PM for help!

                      1 Reply Last reply Reply Quote 0
                      • P
                        phil.davis
                        last edited by

                        The first commit $ssvc = array(): does not do anything to help - but it will do no harm.
                        The second commit does the trick - I was about to try something like this, and you have used the real belts and braces approach to make sure to only match the desired entry.
                        I tested on another system that had cron, pfblocker and OpenVPN client export utility. On that system it would say "cron Service is Running" and so on - cron was the first service entry that it came across. The problem was the not set 'vpnid' array entry returns a NULL which was matching the NULL passed in as the $vpnid parameter.
                        I have gone to the various OpenVPN and CaptivePortal settings, status and log pages and all seems well.
                        I am surprised that you don't see this - I get it on 2 systems I have upgraded - 1 with a minimal config and one with a couple of packages installed and a bunch of OpenVPN links etc. Anyway - thems the breaks.

                        As the Greek philosopher Isosceles used to say, "There are 3 sides to every triangle."
                        If I helped you, then help someone else - buy someone a gift from the INF catalog http://secure.inf.org/gifts/usd/

                        1 Reply Last reply Reply Quote 0
                        • jimpJ
                          jimp Rebel Alliance Developer Netgate
                          last edited by

                          I'm surprised I didn't see it either, but no matter how much I clicked around on two separate VMs, it was always as it should have been.

                          I didn't try a fresh VM though. Anyhow, when it does work, it's the best thing since sliced bread. :-)

                          Remember: Upvote with the 👍 button for any user/post you find to be helpful, informative, or deserving of recognition!

                          Need help fast? Netgate Global Support!

                          Do not Chat/PM for help!

                          1 Reply Last reply Reply Quote 0
                          • First post
                            Last post
                          Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.