Monday, February 26, 2024

New release of PTLib

I have just bundeled up the changes and bug fixes of the past 2 years and released PTLib 2.10.9.6.

Most notable in this release is working IPv6 on *BSD, macOSX and Solaris as well as support for newer compilers and many small platform fixes.

Since PTLib is the foundation for the GNU Gatekeeper and many H323Plus projects, all these improvements get propagated into those projects as well.

Changes:
- IPv6 support fixed for *BSD, macOSX and Solaris
- support for newer compiler, eg. gcc 13 and VS2022
- support for C++-17
- support for Win64 builds
- support AIX as platform
- small OpenBSD fixes
- other small fixes

Download from https://www.h323plus.org/source/

Monday, February 19, 2024

GNU Gatekeeper 5.12 released

 GNU Gatekeeper version 5.12 has been released.

Download: https://www.gnugk.org/h323downldad.html

This is a bug fix release with a few new features added.

Another important bug in the handling of the ExternalIP switch has been fixed as well as Y2K38 issues.

This release also adds features:

  • support for Oracle databases
  • easier cloud deployment with IP detection with STUN
  • better load scaling by mixing proxied with direct mode endpoints in a single gatekeeper
  • Windows 64bit executables with VS2022

Full list of changes:
  • enable more runtime hardening flags from OpenSSF recommendation 11/2023
  • fix bug with H.245 address when using ExternalIP= switch without H.460.18/.19
  • auto-detect public IP with ExternalIP=STUN and STUNServer=stun.example.com
  • compiler support for VS2022
  • new database driver for Oracle and new timestamp format 'Oracle'
  • new switch [EP::xxx] ForceDirectMode=1 to handle all calls from this endpoint in direct mode
  • BUGFIX(RasSrv.cxx, gkauth.cxx) make sure time_t is handled unsigned to avoid Y2K38 issue
  • BUGFIX(ProxyChannel.cxx) check for too small packets when acting as encryption proxy


 

Monday, February 20, 2023

GNU Gatekeeper 5.11 released

GNU Gatekeeper version 5.11 has been released.

Download: https://www.gnugk.org/h323downldad.html

This is a bug fix release with a few new features added.

An important bug in the handling of the ExternalIP switch has been fixed.

We also added a few features that make it easier to use GnuGk with Graphana and InfluxDB monitoring.

Changes and additions:

  • remove non-working command line switch -e / --externalip, use config file to set ExternalIP
  • new accounting variables %{registrations}, %{calls}, %{total-calls}, %{successful-calls}, %{allocated-bandwidth}
  • new switch [HttpAcct] Authorization= to send authorization headers to support InfluxDB
  • replace \r and \n in HttpAcct body with carriage return and line feed characters
  • new switch: [RasSrv::LRQFeatures] PreserveDestination=1 (helpful when calling Pexip servers)


Wednesday, August 24, 2022

GNU Gatekeeper 5.10 released

 

GNU Gatekeeper version 5.10 has been released.

Download: https://www.gnugk.org/h323downldad.html

This is a bug fix release.

Bugs fixed:

  • fix a crash when handling the MasterSlaveDetermination message
  • fix the documentation of [RasSrv::LRQFeatures] NeighborTimeout and consistently treat the value as 10th of a second in the program

Tuesday, October 26, 2021

GNU Gatekeeper 5.9 released

GNU Gatekeeper version 5.9 is out with a number of bug fixes and a few new features.

Download: https://www.gnugk.org/h323download.html

New features:

  • new switches [Proxy] CachePortDetection=1 and CachePortDetectionDuration= to cache port detection packets for faster media connects when IgnoreSignaledIPs= is active
  • new switch: [EP::] ForceTerminalType=
  • new place holder for port notifications: %t for port type
  • experimental: better error recovery if multiplexed RTP sending fails

Please note that Radius support is disabled by default now. You can enable it with the --enable-radius switch when running configure.

Bug fixes:

  • fix bug in port detection with AllowSignaledIPsFrom=
  • when DNS name resolves to IP without alias, remove alias from ACF completely (Cisco interop)
  • remove RTP session 0 from internal tables once H.245 master has assigned a session ID
  • fix compilation of Avaya support
  • initialized cmsg struct to zero before using
  • fix regression introduced with MatchH239SessionsByIDOnly= switch


Thursday, July 22, 2021

GNU Gatekeeper 5.8 released

GNU Gatekeeper version 5.8 has been released with a number of bug fixes and a few new features.

To stay updated on new releases, please also follow us on Twitter!

Improved interoperability with:

  • EdgeProtect
  • Avaya

 New features:

  • experimental support for Avaya's non-standard version of H.323 (./configure --enable-avaya) (thanks Konstantin Prokazov)
  • consider RFC 6598 shared network space (100.64.0.0/10) and Zeroconf (169.254.0.0/16) as private IPs
  • new switch [Proxy] AllowSignaledIPsFrom= to skip auto-detect for messages received directly from certain IPs when IgnoreSignaledIPs=1
  • new switch [Proxy] AllowAnyRTPSourcePortForH239From= to handle incorrect RTCP addresses in H.239 OLC (EdgeProtect interop)
  • new switch [RoutedMode] MatchH239SessionsByIDOnly= to never attempt to match a H.239 reverse channel by type for improved interoperability with EdgeProtect
  • new switches to set the HTTP Content-Type header in HttpAcct, HttpPasswordAuth and Routing::Http
  • new switch [Routing::Http] JSONResponse=1 to send more flexible routing data in the HTML reponses
  • many new status port shortcuts (see manual section for details)

Bug fixes:

  • fix H.460.18/.19 on multi-homed servers
  • fix race condition when handling H.460.19 multiplex IDs
  • fix media loop on half port-detected channel when media is very early
  • fix Net-SNMP query for total bandwidth
  • save RTCP address from OLC for port-detection
  • always check AllowSignaledIPs= before applying IgnoreSignaledAllH239IPs or IgnoreSignaledPrivateH239IPs
  • handle extensions and CSRC in RTP header with H.235 half-call media
  • better endpointIDs on Windows when compiling without OpenSSL


Thursday, March 4, 2021

GNU Gatekeeper 5.7 released

GNU Gatekeeper version 5.7 has some important bug fixes, improves interoperability
with other vendors and also has a few new features.
 

Several severe crashes and a few memory leaks have been fixed.

Improved interoperability with:

  • Lifesize endpoints
  • Poly's Microsoft Teams gateway
  • Polycom RealPresence Capture Server


New features:

  • You get a warning in the GUI / on the status port if one of your endpoints has an incorrect time setting and this password authentication fails. This makes trouble shooting a lot easier.
  • Invalid TPKT packets (eg. due to network errors) now don't necessarily take down an otherwise healthy call. Use the new  AbortOnInvalidTPKT=0 switch to enable.
  • GnuGk will now also return unused memory back to the OS periodically to make it available again to other applications on the same server.
  • You have a new %{Vendor} variable for SqlAuth RegQuerys and LuaAuth



Full change log:

- BUGFIX(ProxyChannel.cxx) fix crash on non-standard H.245 Indication from
  Polycom RealPresence Capture Server
- BUGFIX(ProxyChannel.cxx) fix possible crashes on non-standard generic information in OLCs
- print warning message on status port when passwords get rejected due to wrong time
- BUGFIX(httpacct.cxx) fix memory leak
- BUGFIX(ProxyChannel.cxx) fix possible crash
- BUGFIX(gk.cxx) avoid crash when terminating in the middle of program startup,
  set non-zero exit code so restarter notices error
- return unused memory back to OS periodically
- new switch: [RoutedMode] AbortOnInvalidTPKT=0 for more graceful handling of network errors
- BUGFIX(gk.cxx) fix for running on Alpine Linux (needs updated PTLib, too)
- don't start GnuGk if RTP multiplexing is configured, but we can't start the listener
- new switch: [RoutedMode] MatchH239SessionsByType=0 to fix presentations with
  LifeSize endpoints over Poly's Microsoft Teams gateway
- BUGFIX(ProxyChannel.cxx) make sure we don't set RTP address on multiplexed RTCP keepalive
- BUGFIX(RasSrv.cxx) look at all tokens for H.235.TSSM
- add %{Vendor} variable for SqlAuth RegQuery and LuaAuth