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

    Minor Issues on 24.08

    Scheduled Pinned Locked Moved Plus 24.11 Development Snapshots (Retired)
    20 Posts 6 Posters 2.5k 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.
    • DefenderLLCD
      DefenderLLC @JonathanLee
      last edited by DefenderLLC

      @JonathanLee said in Minor Issues on 24.08:

      @DefenderLLC Yeahhh I absolutely love Squid it’s working perfectly it just needs some GUI changes to status php pages is all 6.6 runs 100x faster over 5.8

      Sorry, I thought you were talking about Snort. Yes, the Squid widget works fine for me in this version.

      5a2d85fb-0cd8-4f79-89c9-cd3cc3442e1b-image.png

      JonathanLeeJ 2 Replies Last reply Reply Quote 1
      • JonathanLeeJ
        JonathanLee @DefenderLLC
        last edited by

        @DefenderLLC YEAHHH They fixed the update dates on it also check it out it has the correct dates on it now

        Make sure to upvote

        1 Reply Last reply Reply Quote 0
        • JonathanLeeJ
          JonathanLee @DefenderLLC
          last edited by JonathanLee

          @DefenderLLC Does it have the correct status page again on the GUI ? The new Squid 6 uses a different status page now and mgr info doesn't work anymore, other than the gui status page it should work fine

          I am so happy 6.10 is part of pfSense 24.08

          some small changes are made in Squid 6

          cache_object://URL Scheme is not removed in Squid-6
          cache_object://hostname/request@password

          Is used to check status inside the pfSense GUI for this package

          It has been replaced with
          http://hostname/squid-internal-mgr URL-prefix.

          Therefore it will now say access denied when checking status

          The status page needs to be updated to reflect the new URL scheme

          I spoke with Squid user support and they have confirmed the new URL scheme

          Ref:
          https://wiki.squid-cache.org/Features/CacheManager/CacheObjectScheme

          Make sure to upvote

          1 Reply Last reply Reply Quote 0
          • stephenw10S
            stephenw10 Netgate Administrator
            last edited by

            It's because it sees it as a forwarding loop:

                current master transaction: master97
            2024/07/04 16:30:16 kid1| WARNING: Forwarding loop detected for:
            GET /squid-internal-mgr/info HTTP/1.1
            Host: localhost:3128
            User-Agent: squidclient/6.10
            Accept: */*
            Via: 1.0 localhost (squid/6.10)
            X-Forwarded-For: 127.0.0.1
            Cache-Control: max-age=259200
            Connection: keep-alive
            

            And the reason it does is that it doesn't recognise 127.0.0.1 as the proxy name:

            [24.08-DEVELOPMENT][admin@6100.stevew.lan]/root: squidclient -l 127.0.0.1 -h 127.0.0.1 mgr:info
            HTTP/1.1 403 Forbidden
            Server: squid/6.10
            

            But if you use 'localhost' it resolves it as IPv6 and Squid doesn't listen on v6:

            [24.08-DEVELOPMENT][admin@6100.stevew.lan]/root: squidclient -l 127.0.0.1 -h localhost mgr:info
            ERROR: Cannot connect to [::1]:3128
            

            But if you set pfSense to prefer IPv4 in Sys > Adv > Net it then works:

            [24.08-DEVELOPMENT][admin@6100.stevew.lan]/root: squidclient -l 127.0.0.1 -h localhost mgr:info
            HTTP/1.1 200 OK
            Server: squid/6.10
            Mime-Version: 1.0
            

            See: https://bugs.squid-cache.org/show_bug.cgi?id=5283

            JonathanLeeJ 3 Replies Last reply Reply Quote 1
            • JonathanLeeJ
              JonathanLee
              last edited by JonathanLee

              I am using Squid 6.6 in 24, I noticed http_port tproxy directive has different requests versus 5.8, in 5.8 the tproxy option worked. Also it is missing the latest squid file system on the package GUI. Named “Rock cache_dirs”

              Background on squid proprietary file systems:
              Original was …

              COSS “The Cyclic Object Storage Scheme (costs) is an attempt to develop a custom file system for Squid.”

              Ref: squid the definite guide Duane Wessels

              new version: per developer response

              “Squid does not support COSS cache_dirs since v3.5. If Squid in question does disk caching, then rock cache_dirs may be the best bet.

              Alex.”

              Rock is not listed

              ====  The rock store type  ====
              Usage:
                      cache_dir rock Directory-Name Mbytes [options]
              The Rock Store type is a database-style storage. All cached
                  entries are stored in a "database" file, using fixed-size slots.
                  A single entry occupies one or more slots.
              If possible, Squid using Rock Store creates a dedicated kid
                  process called "disker" to avoid blocking Squid worker(s) on disk
                  I/O. One disker kid is created for each rock cache_dir.  Diskers
                  are created only when Squid, running in daemon mode, has support
                  for the IpcIo disk I/O module.
              swap-timeout=msec: Squid will not start writing a miss to or
                  reading a hit from disk if it estimates that the swap operation
                  will take more than the specified number of milliseconds. By
                  default and when set to zero, disables the disk I/O time limit
                  enforcement. Ignored when using blocking I/O module because
                  blocking synchronous I/O does not allow Squid to estimate the
                  expected swap wait time.
              max-swap-rate=swaps/sec: Artificially limits disk access using
                  the specified I/O rate limit. Swap out requests that
                  would cause the average I/O rate to exceed the limit are
                  delayed. Individual swap in requests (i.e., hits or reads) are
                  not delayed, but they do contribute to measured swap rate and
                  since they are placed in the same FIFO queue as swap out
                  requests, they may wait longer if max-swap-rate is smaller.
                  This is necessary on file systems that buffer "too
                  many" writes and then start blocking Squid and other processes
                  while committing those writes to disk.  Usually used together
                  with swap-timeout to avoid excessive delays and queue overflows
                  when disk demand exceeds available disk "bandwidth". By default
                  and when set to zero, disables the disk I/O rate limit
                  enforcement. Currently supported by IpcIo module only.
              slot-size=bytes: The size of a database "record" used for
                  storing cached responses. A cached response occupies at least
                  one slot and all database I/O is done using individual slots so
                  increasing this parameter leads to more disk space waste while
                  decreasing it leads to more disk I/O overheads. Should be a
                  multiple of your operating system I/O page size. Defaults to
                  16KBytes. A housekeeping header is stored with each slot and
                  smaller slot-sizes will be rejected. The header is smaller than
                  100 bytes.
              ==== COMMON OPTIONS ====
              no-store    no new objects should be stored to this cache_dir.
              min-size=n    the minimum object size in bytes this cache_dir
                          will accept.  It's used to restrict a cache_dir
                          to only store large objects (e.g. AUFS) while
                          other stores are optimized for smaller objects
                          (e.g. Rock).
                          Defaults to 0.
              max-size=n    the maximum object size in bytes this cache_dir
                          supports.
                          The value in maximum_object_size directive sets
                          the default unless more specific details are
                          available (ie a small store capacity).
              Note: To make optimal use of the max-size limits you should order
                  Note: To make optimal use of the max-size limits you should order
                      the cache_dir lines with the smallest max-size value first.
              

              Again the tproxy directive worked when you adapted the squid.conf in 5.8 it would work with squid -k parse and in 6.6 if you change intercept to tproxy it will not parse with squid -k parse command it states it must be added with the squid built now, simple one line command.

              2024/07/17 21:22:41| Processing Configuration File: /usr/local/etc/squid/squid.conf (depth 0)
              2024/07/17 21:22:41| Processing: http_port 192.168.1.1:3128 ssl-bump generate-host-certificates=on dynamic_cert_mem_cache_size=20MB cert=/usr/local/etc/squid/serverkey.pem cafile=/usr/local/share/certs/ca-root-nss.crt capath=/usr/local/share/certs/ cipher=EECDH+ECDSA+AESGCM:EECDH+aRSA+AESGCM:EECDH+ECDSA+SHA384:EECDH+ECDSA+SHA256:EECDH+aRSA+SHA384:EECDH+aRSA+SHA256:EECDH+aRSA+RC4:EECDH:EDH+aRSA:HIGH:!RC4:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS tls-dh=prime256v1:/etc/dh-parameters.2048 options=NO_SSLv3,SINGLE_DH_USE,SINGLE_ECDH_USE
              2024/07/17 21:22:41| WARNING: UPGRADE: 'cafile=/usr/local/share/certs/ca-root-nss.crt' is deprecated in http_port. Use 'tls-cafile=' instead.
              2024/07/17 21:22:41| WARNING: Failed to decode EC parameters '/etc/dh-parameters.2048'
                  OpenSSL-saved error #1: 0x1e08010c
              2024/07/17 21:22:41| ERROR: Unsupported TLS option SINGLE_DH_USE
              2024/07/17 21:22:41| ERROR: Unsupported TLS option SINGLE_ECDH_USE
              2024/07/17 21:22:41| Processing: http_port 127.0.0.1:3128 tproxy ssl-bump generate-host-certificates=on dynamic_cert_mem_cache_size=20MB cert=/usr/local/etc/squid/serverkey.pem cafile=/usr/local/share/certs/ca-root-nss.crt capath=/usr/local/share/certs/ cipher=EECDH+ECDSA+AESGCM:EECDH+aRSA+AESGCM:EECDH+ECDSA+SHA384:EECDH+ECDSA+SHA256:EECDH+aRSA+SHA384:EECDH+aRSA+SHA256:EECDH+aRSA+RC4:EECDH:EDH+aRSA:HIGH:!RC4:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS tls-dh=prime256v1:/etc/dh-parameters.2048 options=NO_SSLv3,SINGLE_DH_USE,SINGLE_ECDH_USE
              
              This error never occurred for 5.8
              **---->2024/07/17 21:22:41| ERROR: configuration failure: requires TPROXY feature to be enabled by ./configure**
              
              
                  exception location: Intercept.cc(163) StartTransparency
              2024/07/17 21:22:41| Not currently OK to rewrite swap log.
              2024/07/17 21:22:41| storeDirWriteCleanLogs: Operation aborted.
              2024/07/17 21:22:41| FATAL: Bungled /usr/local/etc/squid/squid.conf line 6: http_port 127.0.0.1:3128 tproxy ssl-bump generate-host-certificates=on dynamic_cert_mem_cache_size=20MB cert=/usr/local/etc/squid/serverkey.pem cafile=/usr/local/share/certs/ca-root-nss.crt capath=/usr/local/share/certs/ cipher=EECDH+ECDSA+AESGCM:EECDH+aRSA+AESGCM:EECDH+ECDSA+SHA384:EECDH+ECDSA+SHA256:EECDH+aRSA+SHA384:EECDH+aRSA+SHA256:EECDH+aRSA+RC4:EECDH:EDH+aRSA:HIGH:!RC4:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS tls-dh=prime256v1:/etc/dh-parameters.2048 options=NO_SSLv3,SINGLE_DH_USE,SINGLE_ECDH_USE
              2024/07/17 21:22:41| Squid Cache (Version 6.6): Terminated abnormally.
              CPU Usage: 0.073 seconds = 0.049 user + 0.024 sys
              Maximum Resident Size: 62512 KB
              Page faults with physical i/o: 0
              

              Both minor issues to fix within the php menu squid rock is the latest best filesystem for caching I am told.

              Make sure to upvote

              1 Reply Last reply Reply Quote 0
              • JonathanLeeJ
                JonathanLee @stephenw10
                last edited by

                @stephenw10 also you can add a password to access squid manager that is a good security feature too.

                Make sure to upvote

                1 Reply Last reply Reply Quote 0
                • JonathanLeeJ
                  JonathanLee @stephenw10
                  last edited by

                  @stephenw10

                  I use the password directive to further protect access to Squid manager I was able to adapt the mgr:info@passwordhere on the other version however on this version I can't. I also have it set to prefer ipv4

                  Screenshot 2024-07-17 at 20.55.19.png

                  Make sure to upvote

                  1 Reply Last reply Reply Quote 0
                  • JonathanLeeJ
                    JonathanLee
                    last edited by

                    Screenshot 2024-07-17 at 20.57.27.png

                    I wonder where I put the password now

                    under my advanced config I have set...

                    cachemgr_passwd disable offline_toggle reconfigure shutdown
                    cachemgr_passwd REDACTED_PASSWORD_HERE all
                    

                    Make sure to upvote

                    1 Reply Last reply Reply Quote 0
                    • JonathanLeeJ
                      JonathanLee @stephenw10
                      last edited by JonathanLee

                      @stephenw10

                      I have got nothing on how to resolve the password directive that i utilize for added security

                      squidclient -l 127.0.0.1 -p 3128 -h localhost -U cachemgr -W REDACTED mgr:info
                      HTTP/1.1 403 Forbidden
                      Server: squid
                      Mime-Version: 1.0
                      Date: Thu, 18 Jul 2024 04:13:36 GMT
                      Content-Type: text/html;charset=utf-8
                      Content-Length: 3792
                      X-Squid-Error: ERR_ACCESS_DENIED 0
                      Vary: Accept-Language
                      Content-Language: en
                      Cache-Status: Lee_Family.home.arpa
                      Cache-Status: Lee_Family.home.arpa;detail=no-cache
                      Connection: close
                      

                      Also if you use no username

                      squidclient -l 127.0.0.1 -p 3128 -h localhost -w redacted mgr:info
                      ERROR: Proxy authentication password (-w) is given, but username (-u) is missing
                      

                      With password removed also I get the error

                      Shell Output - squidclient -l 127.0.0.1 -h localhost mgr:info
                      HTTP/1.1 403 Forbidden
                      Server: squid
                      Mime-Version: 1.0
                      Date: Thu, 18 Jul 2024 04:35:01 GMT
                      Content-Type: text/html;charset=utf-8
                      Content-Length: 3719
                      X-Squid-Error: ERR_ACCESS_DENIED 0
                      Vary: Accept-Language
                      Content-Language: en
                      Cache-Status: Lee_Family.home.arpa
                      Cache-Status: Lee_Family.home.arpa;detail=no-cache
                      Connection: close
                      
                      function squid_status() {
                      	if (is_service_running('squid')) {
                      		init_config_arr(array('installedpackages', 'squidcache','config'));
                      		$proxy_ifaces = explode(",", config_get_path('installedpackages/squid/config/0/active_interface', ''));
                      		foreach ($proxy_ifaces as $iface) {
                      			if (get_interface_ip($iface)) {
                      				$ip = get_interface_ip($iface);
                      				$lip = '127.0.0.1';
                      			} else {
                      				$ip = get_interface_ipv6($iface);
                      				$lip = '::1';
                      			}
                      			exec("/usr/local/sbin/squidclient -l " . escapeshellarg($lip) .
                      				" -h " . escapeshellarg($ip) . " mgr:info", $result);
                      		}
                      	} else {
                      		return(gettext('Squid Proxy is not running.'));
                      

                      Per Squid Email Support

                      "FWIW, I do not recommend using cachemgr.cgi and squidclient. For various reasons, both were recently removed from Squid master/v7. Squidclient can be replaced with curl or wget. The best cachemgr.cgi replacement depends on many factors; a static HTML file may be the best solution in some cases!

                      Without squidclient, you will need to use absolute URLs like this one:

                      http://correct-host-name-or-ip:port/squid-internal-mgr/info

                      See recent discussions on this mailing list or Bug 5283 for discussions about what correct-host-name-or-ip:port to use for these URLs. And if you got it working with squidclient, you can see what your squidclient was sending, of course.
                      https://bugs.squid-cache.org/show_bug.cgi?id=5283"

                      Per the bug

                      curl http://localhost:3128/squid-internal-mgr/info

                      is the future of squidclient ...

                      Make sure to upvote

                      1 Reply Last reply Reply Quote 0
                      • DefenderLLCD
                        DefenderLLC
                        last edited by

                        I guess we're getting to close to the GA release. I have not seen a single development snapshot since July 2nd.

                        24.08.a.20240702.0600

                        G 1 Reply Last reply Reply Quote 1
                        • G
                          grandrivers @DefenderLLC
                          last edited by

                          @DefenderLLC unless we are hung on our current version I have seen that happen before , but very little transparency in closed "plus" version

                          pfsense plus 25.03 super micro A1SRM-2558F
                          C2558 32gig ECC  60gig SSD

                          1 Reply Last reply Reply Quote 1
                          • M
                            marcosm Netgate
                            last edited by

                            There are a number of reasons why development snapshots may pause. For example, there could be some stuff coming to 24.08 that we may not want to preview just yet ;)

                            D 1 Reply Last reply Reply Quote 5
                            • D
                              danjeman @marcosm
                              last edited by

                              @marcosm from the July newsletter maybe?

                              DefenderLLCD 1 Reply Last reply Reply Quote 0
                              • DefenderLLCD
                                DefenderLLC @danjeman
                                last edited by

                                @danjeman That was my first thought too...

                                1 Reply Last reply Reply Quote 0
                                • DefenderLLCD DefenderLLC referenced this topic on
                                • First post
                                  Last post
                                Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.