Release Notes

4.4.6 (2017-09-28)

  • mudfish
    • Saves the memory resources to handle re(4) interfaces when it try to connect to multiple mudfish nodes.
    • Adds new mudfish master server IPs to bypass the traffics even if Full VPN mode is enabled.
  • mudflow
    • Fixes a crash while RTT checking is performing.
  • mudrun
    • Uses DNS lookup for mudfish.net to apply the rounding robin balancing.

4.4.5 (2017-07-13)

  • mudflow
    • Don’t enable the debugging library of Windows not to cause the assertion failure if the file descriptor is invalid for write(2).
  • mudfish
    • Now as default it doesn’t fetch all IP information when it’s signed in. It’ll be fetched whenever it requires to access a mudfish node if necessary.
    • No assertion failure if it failed to set SIO_UDP_CONNRESET flag for the socket.
    • Handles ERROR_OPERATION_ABORTED properly.
    • Handles a failure case of sysctlbyname() properly.
    • Changes some error log levels.
  • mudrun
    • Implement the packet dump upload for linux.
    • Be more verbose which options are enabled when it’s launched.
    • Show a warning messages if the traffic usage hits the speed cap if the user’s data plan is Subscription.

4.4.4 (2017-02-19)

  • mudflow
    • Set the interesting flag for backends set by the user. If it’s not one of intersting nodes, it’d not pick a node for Auto Selection.
    • Not too aggressive to measure RTT values from user’s desktop to mudfish nodes.
    • Fixes a race condition to limit maximum no. of RTT calculation
    • Fixes a crash if creating the non-blocking socket was failed.
  • mudfish
    • Try to use other utun(4) interface if it’s busy for Mac OS X.
    • Sends RST packet too if the backend connection is aborted by RST packet for FastConnect mode.
    • Fixes a crash of CLI commands when it tries to resolve the domain name.
    • Sets TCPNoDelay and TcpAckFrequency for TAP-Win32 adapter properly.
    • Fixes a bug to fetch the mudfish nodes if no. of nodes are over 256.
  • mudrun
    • Adds -P option to set the listening port.

4.4.3 (2016-11-25)

  • mudfish
    • Be more verbose for MUDEC_00043.
  • mudflow
    • Implemented Matt’s traceroute to analyze the packet loss rate and hop status.
    • Fixed a crash case if no. of DNS address is reached the limit.
    • Improved the RTT checking speed.
  • mudrun
    • Reports the packet loss rate between mudfish nodes and user desktop to the master server.

4.4.2 (2016-10-17)

  • mudfish
    • Shows MUDEC_00314 error messages properly.
    • Fixes a bug to set the proxy ARP information.
    • Fixes an issue if TOL_socket(2) failed to allocate the socket due to out of memory.
  • mudflow
    • Fixes an issue trying to add wrong SID information when the hostname is involved.
    • Handles the deletion of routing table properly.
  • mudrun
    • Add ‘-t’ option for Mac OS X client.
    • Shows MUDEC_00255 error message properly for Windows.

4.4.1 (2016-09-05)

  • mudrun
    • Fixes OpenSSL dependency issue for El Capitan.
    • Fixes a bug to show the Realtime Traffic Graph for Mac OS X.
    • Reset the program when the core processes are started by re-signing in.
  • mudfish
    • Fixes a crash caused by setsockopt(2) failure.
    • Handles a error level properly for MUDEC_00314.

4.4.0 (2016-08-03)

  • muddiag
    • Updates a internal IP for testing.
  • mudfish
    • Be verbose if the connection to mudfish nodes is re-established.
    • When the connection is retried, limits a maximum waiting time for 10 seconds.
    • Fixes an assertion issue for mutex lock hold.
    • Terminates the process if the parent process is exited for Linux.
    • Handles EMSGSIZE error code for linux.
    • Handles EADDRNOTAVAIL and ENETDOWN error codes for Mac OS X.
    • Fixes a bug to upload the packet dump file.
  • mudflow
    • Terminates the process if the parent process is exited for Linux.
    • Be more verbose for select(3) timeout.
  • mudrun
    • Fixes a bug to show the selected node information if “Auto Selection” option is enabled for the item.
    • Be verbose for auto-configuration information.
    • Terminates the process if the parent process is exited for Linux.

4.3.19 (2016-04-27)

  • mudflow
    • Fixes an issue to add or delete routing table entries per hostname.
    • Fixes a locking order reversal.
    • Don’t call getaddrinfo(3) with holding routing table lock.
  • mudfish
    • Adds two more connection protocols; UDP port 500 and TCP port 1723 to communicate with mudfish nodes.
    • Fixes a crash from rtexpunge().
    • Reverts ICMP bypassing feature for FastConnect mode.
    • Fixes strlcat() function issue for Mac OS X.
  • mudrun
    • Fixes a problem to calculate no. of routing table entries. With this problem, the auto configuration progress could be wrong.

4.3.18 (2016-04-05)

  • muddiag

    • On Linux and Mac OS X, sending the problem report is now supported.
  • mudfish

    • ‘ifconfig’ command of CLI enhancled and with multiple bugfixes.
    • Fixes a crash if ICMP redirect packet is returned by hops.
    • Fixes a bug of re(4) device that it doesn’t reconnect to the node if no RX packets are delivered.
    • Bypass all other protocols except TCP and UDP if FastConnect mode is enabled.
    • Fixes an assertion error if it failed to set the default gateway.
    • Liunx
      • Uses iproute2 tool rather than net-utils.
    • Mac OS X
    • Fixes a bug of setting or deleting the routing table entries.
  • mudrun

    • Fixes a bug to handle hostname based item that with this bug, auto-configuration isn’t completely properly.
    • Fixes a bug that sometimes Windows 7 or 8 try to open Windows Edge browser.

4.3.17 (2016-03-30)

  • mudflow
    • Fixes a bug of ADN mode setting if multiple routing pathes exist. With this patch, a time to set advanced node mode for each item would be reduced.
  • mudfish
    • Don’t retry if fetching static nodes was failed because it could make IP conflict.
    • Changes log level of some error messages.
    • Uses utun(4) device as default. So no longer we need to install tuntap driver.
  • mudrun
    • Properly find a default browser setting for Windows 10.

4.3.16 (2016-03-19)

  • muddiag
    • Fixes a wrong test cases for internal network because no longer all mudfish nodes become active.
  • mudflow
    • Reduces no. of RTT checking to complete the auto selection of mudfish nodes.
    • Don’t check realtime RTT for items if FastConnect mode turns on.
  • mudrun
    • Fixes a truncated string issue for macros.
  • mudfish
    • Fixes command launcher if multiple lines are ready on pipe.
    • Warns if command emitting was short.
    • As default, it sets detour routes to all mudfish nodes if Full VPN mode is enabled.
    • Be quite if TOL_accept(2) returns ECONNABORTED.

4.3.15 (2016-03-01)

  • mudfish
    • Supports HA (High Availibility) mode. But the default is off at this moment.
    • Tags warning and error messages.
    • As default, now Mudfish core doesn’t connect to all mudfish nodes. It’s enabled when explicitly user uses the mudfish node.
    • Fixes FastConnect mode + ADN (server-chain) mode issue.
  • mudflow
    • Supports RTT meansurement for equipped items. Its interval is 10 seconds.
    • Fixes a crash by assertion if socket(2) failed.
    • Supports HA (High Availibility) mode. But the default is off at this moment.
    • Fixes a invalid warning for routing setup if hostname is used for Mudfish item and duplicate IP address is resolved.
  • mudrun
    • Supports HA (High Availibility) mode. But the default is off at this moment. It’s enabled by -H option.
    • Fixes an assertion failure for CloseHandle().
    • Adds a hook to enable the bind to mudfish nodes because as default it’s off.
    • Adds realtime RTT hook to show current RTT graph for equipped items.

4.3.14 (2016-01-07)

  • mudfish
    • re(4): If too many ENOENT error happens, explicitly limits the logging count.
    • re(4): Don’t reconnect the connection if it’s a fragmented packet issue.
    • re(4): Sleep 1 second whenever the connection retry happens.
    • Fixes a crash due ot out of band packet.
    • Changes the default error level for MUDEC_000279.
    • No more mudfish_stderr.txt log file.
    • Extened the mudfish IP coverage from 10.248.0.0/13 to 10.240.0.0/12 due to too many mudfish nodes.
    • Throttles MUDEC_00086 errors.
    • Explicitly exits mudfish core process if too many hearbeats are failed or heatbeat gaps between previous and current is quite big.
    • Be more verbose for various error codes.
  • mudflow
    • No more mudflow_stderr.txt log file.
    • Re-fetch the static node information when it’s explicitly set to be called.
  • mudrun
    • Show connect(2) error and proper message why the connection was failed.
    • No more mudrun_stderr.txt log file.
    • Fixes some error message formatting issues.
    • Show the error code number from CloseHandle().

4.3.13 (2015-12-08)

  • mudfish
    • (Windows only) Adds a feature to use IP helper for assigning IP address and dns.
    • Supports a graceful shutdown.
    • Handles EMSGSIZE error smoothly that now it allows IP fragmentation to mudfish node but explicitly show a error message.
  • mudflow
    • Only submit or delete the routing table entry if it’d submitted or new.

4.3.12 (2015-12-01)

  • Common
    • No more TASKKILL error message on console log.
    • Fixes a bug to calculate the time difference on Windows box.
  • Mac OS X
    • Added a background image for dmg file.
  • mudfish
    • Be less verbose for msk(4) error case.
    • Shows timestamp for each logs.
    • Prints a message explicitly if Full VPN mode is enabled.
    • If sending the heartbeat to the master server, it try to other IP address and port.
    • Adjusts the log error level for MUDEC_00179.
    • Sets IP_DONTFRAGMENT for re(4) device to get explicit error message from cached MTU of operating system.
  • mudflow
    • Fixes an issue that a command to delete the route is sent to Core even if it’s not submitted.
    • Fixes a bug that it doesn’t handle a shared memory event properly.
  • mudrun
    • Be more verbose for error messages and assigned a unique ID.
    • Show the packet loss rate message with proper error level and ID.
    • Try to use Internet Explorer if the windows registry has unexpected entry.

4.3.11 (2015-11-23)

  • mudfish
    • Uses SSL port even if -f flag is on to bypass some network firewalls.
    • Don’t set default gateway unless -f flag is on. It means that default behaviour of mudfish is drop if the packet routing isn’t found.
    • Supports domain-based custom item.
  • mudflow
    • Default timeout for RTT checking is changed from 3 seconds to 1 second.
    • Removes unnessary code and overheads.
      • Don’t check any dynamic IP addresses monitored by programs.
      • Fetch only one time for mudfish node list.
    • Be less verbose and prints timestamp per each logs.
    • Reports the packet loss rate for mudfish nodes used by user.
  • mudrun
    • Fixes an issue that the routing table list isn’t sweeped if it’s signed out.
    • Supports JSON responses for mudfish node RTT information and virtual devices.
    • Supports CLI interface by UI.

4.3.10 (2015-11-13)

  • mudadm
    • Improve the connection timeout stuff. Now it doesn’t require 1 second delay to be finished.
  • muddiag
    • Checks more port checks to authentication servers.
  • mudfish
    • Fixes old bug of CLI getopt that it didn’t properly be re-inialized for next command.
    • Improves the ready time for TCP protocol.
    • Changed the order to set ARP proxy.
  • mudflow
    • Fixes a assertion failure if there are any problem to close the file descriptor.
  • mudrun
    • Now the default IPv4 address and port for authentication is changed not to be blocked by network firewall.
    • Checks the mudfish process more clearly when the diagnosis is processing.

4.3.9 (2015-11-02)

  • muddiag
    • Enhances more firewall tests to port 80 and 443.
  • mudfish
    • msk(4): MUDEC_00138 error should be shown if the packet length is larger than zero.
    • ICMP redirect packet is dropped as default.
    • DHCP lease time is changed from 1 day to 1 month.
    • OpenBSD PF (Packet Filter) is enabled as default. So you can configure your own firewall rules using CLI interface.
  • mudrun
    • Implements a self diagnosis feature for configuration setup.

4.3.7 (2015-10-05)

  • mudfish for Android
    • Fixes a login issue that main view isn’t shown properly if it exits by user or system.
  • muddiag
    • Outpus ‘tasklist’ result also.
  • mudfish
    • Enables IFF_BPF flag if the shared memory tag is set.
  • mudrun
    • Supports packet dump feature
    • Shows process lists.

4.3.6 (2015-09-28)

  • mudfish for Android
    • Fixes an issue that installation path could be relative depending on the device.
    • Fixes an issue that on some devices PIE isn’t enabled but Android 5.x API.
    • Enables log redirection.
    • Explicitly omits Private IP range.
    • Implements sending the problem report.
  • mudfish
    • less verbose for TCP relay if it’s not reachable to the backend.
  • muddiag
    • Fixes a bug that -o option is enabled.
  • mudrun
    • Reports a error level 0 from mudrun itself.
  • Support Chrome and Firefox browser now as extension!

4.3.2 (2015-08-18)

  • mudfish
    • Be more verbose for re(4).
    • No more check Giant lock assertion for ithread loop.
    • Reports an error if multiple nodes aren’t reachable.
    • Removes MUDEC_00087 error code to remove false alert.
    • Fixes an assertion failure if it failed to get panel information from windows registry.

4.3.1 (2015-08-15)

  • muddiag
    • Supports Windows 8.1, Windows Server 2012 R2 and Windows 10.
  • mudfish
    • Only show error or warning messages for re(4) if it’s really in use.
  • mudrun
    • Enhances App icons for retina display.
    • Fixes an assertion failure that receiving buffer isn’t enough.
    • Fixes an issue if string length of username and password is too long.

4.3.0 (2015-08-03)

  • Supports Windows 10.

4.2.9 (2015-07-15)

  • UI
    • Support WPAD feature at v4.
  • muddiag
    • Be verbose about when this diagnostic is executed.
  • mudflow
    • Fixes an issue that the backend pointer could be released while RTT checking is running.
    • Checks the return value from fclose(3) to make sure the argument is valid.
    • Checks that the traffic log is working corrently. If not, exit the process.
  • mudrun
    • Fixes an issue whish happens the auto login feature turns on.
  • mudfish
    • Be verbose for error messages.

4.2.8 (2015-05-26)

  • Android
    • Support android 5.x lollipop.
    • Fixes some minor bugs.
  • mudrun
    • Fixes an assertion failure.
  • mudfish
    • Handles EPIPE if write(2) returns it.
    • Be more verbose when errors happen.
    • Fixes an issue when ARP information is moved.
    • Implements tcp_mtudisc().
    • Uses mudfish’d DNS server as default for Full VPN mode.

4.2.7 (2015-01-28)

  • From this release, Mudfish is supporting Android.
  • mudrun
    • FIxes a crash if too many new IPs are found in a loop.
  • mudfish
    • Marks a error number for re(4) virtual device.
    • Changes some error log levels and messages to show more human-readable.
    • Adds -B option for mudfish to be daemon mode.
    • Fixes an assertion failure for Mac OS X if /dev/tap7 isn’t available.
    • Fixes an assertion failure from UDP relay if recvmsg(2) returns 0.

4.2.5 (2014-12-16)

  • mudfish
    • Fixes a bug of UDP relay not to release inactive UDP sockets.
    • For re(4) / msk(4) / zyd(4) virtual device, no keeping internal mbuf queues to avoid the race condition.
    • Handles some exception cases for TCP connections to the backend. Now it will retry to connect when the mal-formed packets are delivered.
  • mudflow
    • Fixes a issue to set a ADN path which synchronizes without stop.
  • mudrun
    • Be more strict to check the read size.
    • Protects the statistic information with holding the lock.
    • Code cleanups for unnecessary parts.

4.2.4 (2014-11-05)

  • mudfish
    • Fixes an issue that mudfish core is crashed if no more credits are available.
    • Supports tun(4) device for linux.
    • Prints a error message correctly when the mac address is changed in a view of ARP.
    • Fixes an bug that Point-To-Point interface couldn’t set a ARP proxy entry.
    • Don’t print the debugging messages as default.
    • Checks the error code from recvmsg(2) for UDP relay and show the error message.
    • arp CLI commands are enhanced.

4.2.3 (2014-10-27)

  • mudflow
    • Fixes a crash when the routing table is changed quickly to set the ADN mode. The routing table entries would use the reference counter.
    • Adds a exceptional rule that information from uTorrent.exe aren’t collected.
  • mudfish
    • Tags error messages.
    • Fixes an issue that checking the lock holder wasn’t do correctly.
    • Implements ip_insertoptions() to add IP options.
    • Adds ‘n’ to print some error messages.
    • Don’t show MUDEC_00179 error message if the TCP protocol is used to connect to the backend.
    • Checks the IP address going to the local IP address zone.

4.2.2 (2014-10-20)

  • No longer need to restart the program for some cases as follows:
    • if new item is bought. Automatically the game setting is configured.
    • if changing the mudfish node is happened for a item.
    • if node for Full VPN is changed simply.

4.2.1 (2014-10-17)

  • Fixes an assertion failure when it try to do the auto-login.
  • Increses the buffer size for HTTP response body for a edge case.
  • Fixes an assertion failure for tcp_drop_syn_sent() if TCP connection is aborted while it sends SYN packet.
  • Some UDP relay problems.
    • No more assertion failure if it could not find a backend for relaying
    • No more assertion failure if TOL_socket(2) is failed by unknown reason Expclitly it prints the error.

4.2.0 (2014-10-13)

  • Overhauls FastConnect mode. All FastConnect related codes are rewritten based on new approach.
  • Calculates Path MTU when the program is ran.
  • Enhanced a feature to bypass the firewall
  • mudfish
    • No longer keep the msk(4) driver-specfici queue for TX not to be raced by multiple threads.
    • SO_BLACKHOLE flag is introduced to bypass all forwarding packets.
    • Added IP_SENDSRCSOCKADDR_IN option to override the source port.
    • Removed -I option.
    • Adds a default IP of master server if the full vpn mode turns on not to handle a connection through other nodes.

4.1.1 (2014-10-07)

  • muddiag
    • Adds more testing cases.
  • mudrun
    • Fixes a bug for Full VPN mode that the connection to the master server isn’t properly reseted.
    • Records RTT information more when it’s accessing the Setting menu.
  • mudfish
    • On linux, it shows the exact time per each message logs.
    • Removes -n option; no longer used
    • Fixes a bug for Full VPN mode that it doesn’t properlt connect to the master server.
    • Extend IP range used by Mudfish Network from 10.252.0.0/14 to 10.248.0.0/13.
  • misc
    • Code sigining again.

4.1.0 (2014-09-30)

  • mudflow
    • Multiple code cleanups that no longer sqlite3 is used and obsoleted ADN mode is removed.
    • Reporting the port number for FastConnect mode is enhanced.
    • Supports FastConnect mode correctly for v4
  • mudrun
    • Fixes an issue that logout takes at least 5 seconds.
    • Supports more UI menus; e.g. showing the log messages and status.
    • Supports notification from web or desktop.
    • Adds a version tag when thr crash is reported.
  • mudfish
    • Removes -t option for cleanup.
    • Supports new ADN mode.
    • Fixes a bug that sending the heartbeat isn’t handled correctly.
    • Fixes a crash if there are too many entries for FastConnect mode.
    • For ‘netstat’ of CLI command, it now shows that UDP bind ports.

4.0.14 (2014-09-17)

  • muddiag
    • Cleans up code not to be used anymore and hosts
  • mudrun
    • As default, SSL connections are used for the frontend and backend.
    • Fixes a issue that the shared memory isn’t ready when other process is reading.
    • Don’t use CDN for mudrun accesses to avoid 502 (Bad Gateway) error.
  • misc
    • The session is kept as permanent unless explicitly it’s requested.
    • Being more verbose for mudrun and mudflow logs.

4.0.13 (2014-08-13)

  • Fixes a crash when msk(4) calls m_freem() function at same time by multipl threads.