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

    Deleting an entry in an alias removes the top-most entry instead.

    Scheduled Pinned Locked Moved General pfSense Questions
    15 Posts 8 Posters 3.4k 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.
    • DerelictD Offline
      Derelict LAYER 8 Netgate
      last edited by

      I can't duplicate.

      Chattanooga, Tennessee, USA
      A comprehensive network diagram is worth 10,000 words and 15 conference calls.
      DO NOT set a source address/port in a port forward or firewall rule unless you KNOW you need it!
      Do Not Chat For Help! NO_WAN_EGRESS(TM)

      1 Reply Last reply Reply Quote 0
      • M Offline
        Marc05
        last edited by

        This is just a guess, but I think it's happening due to the button IDs.

        In pfSenseHelpers.js, there's the following function:

        function delete_row(rowDelBtn) {
        	var rowLabel;
        
        	// If we are deleting row zero, we need to save/restore the label
        	if (rowDelBtn == "deleterow0") {
        		rowLabel = $('#' + rowDelBtn).parent('div').parent('div').find('label').text();
        	}
        
        	$('#' + rowDelBtn).parent('div').parent('div').remove();
        	renumber();
        	checkLastRow();
        
        	if (rowDelBtn == "deleterow0") {
        		$('#' + rowDelBtn).parent('div').parent('div').find('label').text(rowLabel);
        	}
        }
        

        Specifically, when calling "$('#' + rowDelBtn).parent('div').parent('div').remove();", and because the button IDs are all "deleterow0", jQuery returns the first row that it finds (top-most one), and it gets deleted.

        1 Reply Last reply Reply Quote 0
        • N Offline
          NOYB
          last edited by

          Where you seeing IDs all "deleterow0".  Mine are all a unique integer.  ex: id=12

          1 Reply Last reply Reply Quote 0
          • M Offline
            Marc05
            last edited by

            I was trying to find the code that increments the button IDs, but I couldn't find it. They are all "deleterow0":

            
            	<label class="col-sm-2 control-label"></label>
            
            			/
            			<select disabled="" class="form-control" name="address_subnet1" id="address_subnet1"><option value="128">128</option><option value="127">127</option><option value="126">126</option><option value="125">125</option><option value="124">124</option><option value="123">123</option><option value="122">122</option><option value="121">121</option><option value="120">120</option><option value="119">119</option><option value="118">118</option><option value="117">117</option><option value="116">116</option><option value="115">115</option><option value="114">114</option><option value="113">113</option><option value="112">112</option><option value="111">111</option><option value="110">110</option><option value="109">109</option><option value="108">108</option><option value="107">107</option><option value="106">106</option><option value="105">105</option><option value="104">104</option><option value="103">103</option><option value="102">102</option><option value="101">101</option><option value="100">100</option><option value="99">99</option><option value="98">98</option><option value="97">97</option><option value="96">96</option><option value="95">95</option><option value="94">94</option><option value="93">93</option><option value="92">92</option><option value="91">91</option><option value="90">90</option><option value="89">89</option><option value="88">88</option><option value="87">87</option><option value="86">86</option><option value="85">85</option><option value="84">84</option><option value="83">83</option><option value="82">82</option><option value="81">81</option><option value="80">80</option><option value="79">79</option><option value="78">78</option><option value="77">77</option><option value="76">76</option><option value="75">75</option><option value="74">74</option><option value="73">73</option><option value="72">72</option><option value="71">71</option><option value="70">70</option><option value="69">69</option><option value="68">68</option><option value="67">67</option><option value="66">66</option><option value="65">65</option><option value="64">64</option><option value="63">63</option><option value="62">62</option><option value="61">61</option><option value="60">60</option><option value="59">59</option><option value="58">58</option><option value="57">57</option><option value="56">56</option><option value="55">55</option><option value="54">54</option><option value="53">53</option><option value="52">52</option><option value="51">51</option><option value="50">50</option><option value="49">49</option><option value="48">48</option><option value="47">47</option><option value="46">46</option><option value="45">45</option><option value="44">44</option><option value="43">43</option><option value="42">42</option><option value="41">41</option><option value="40">40</option><option value="39">39</option><option value="38">38</option><option value="37">37</option><option value="36">36</option><option value="35">35</option><option value="34">34</option><option value="33">33</option><option value="32">32</option><option value="31">31</option><option value="30">30</option><option value="29">29</option><option value="28">28</option><option value="27">27</option><option value="26">26</option><option value="25">25</option><option value="24">24</option><option value="23">23</option><option value="22">22</option><option value="21">21</option><option value="20">20</option><option value="19">19</option><option value="18">18</option><option value="17">17</option><option value="16">16</option><option value="15">15</option><option value="14">14</option><option value="13">13</option><option value="12">12</option><option value="11">11</option><option value="10">10</option><option value="9">9</option><option value="8">8</option><option value="7">7</option><option value="6">6</option><option value="5">5</option><option value="4">4</option><option value="3">3</option><option value="2">2</option><option value="1">1</option></select>
            
            
            1 Reply Last reply Reply Quote 0
            • P Offline
              phil.davis
              last edited by

              If you edit an existing alias, then the PHP that sets everything up builds rows of entries in the alias with Delete button ids deleterow0, deleterow1, deleterow2… - that part is all good.

              Then if you add rows, they become a copy of the last row that was in the initial list - so if starting a new alias (or an existing alias with a single entry) you get deleterow0 over and over. When you press any of the delete buttons then the top row goes.

              If you start editing an alias that has, for example, 3 entries, then the Delete button of the last entry is deleterow2. Then add a few more rows, they are all deleterow2. Then decide you don't want one of the new entries (rows), press its Delete button - actually the third row (deleterow2) is deleted. That is really unexpected, you have now lost one of the original entries. If you don't notice then you will really be in a mess.

              Redmine issue raised: https://redmine.pfsense.org/issues/6101

              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
              • C Offline
                cmb
                last edited by

                Thanks Phil, good catch.

                For now, just save the alias, then edit it, and you can delete correctly.

                1 Reply Last reply Reply Quote 0
                • N Offline
                  NOYB
                  last edited by

                  Ah your in aliases  edit.  Missed that.  :-[
                  (gives me an excuse to use the embarrassed emoticon)

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

                    Proposed fix in PR https://github.com/pfsense/pfsense/pull/2854 - needs good review and test to make sure there are no unwanted side-effects elsewhere in the system.

                    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
                    • S Offline
                      Steve_B Netgate
                      last edited by

                      Reviewed, tested and pushed. Thank you Phil.

                      Als ik kan

                      1 Reply Last reply Reply Quote 0
                      • S Offline
                        sinhkh87
                        last edited by

                        It show me "Alias created" on DNS lookup function but i don't see any alias in FIrewall->ALias . What should i do?

                        66.155.40.249
                        66.155.40.250
                        ns1.mobiusltd.com.
                        ns2.mobiusltd.com.

                        Alias created with name wordpress_org

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

                          @sinhkh87:

                          It show me "Alias created" on DNS lookup function but i don't see any alias in FIrewall->ALias . What should i do?

                          66.155.40.249
                          66.155.40.250
                          ns1.mobiusltd.com.
                          ns2.mobiusltd.com.

                          Alias created with name wordpress_org

                          It worked for me looking up the exact same name wordpress.org and pressing "Add alias".
                          There was some work done on that a week ago - the code should be in the latest 2.3 builds, so make sure you are up-to-date.
                          https://github.com/pfsense/pfsense/commits/master/src/usr/local/www/diag_dns.php

                          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
                          • D Offline
                            divsys
                            last edited by

                            Not that it's likely to be an issue, but it looks like phil.davis and sinhkh87 were using two different alias names -

                            sinhkh87:

                            Alias created with name wordpress_org

                            phil.davis:

                            It worked for me looking up the exact same name wordpress.org and pressing "Add alias".

                            Still much more likely to be "updated-before-current-changes" problem, but just in case….....

                            -jfp

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