Release Notes ============= 4.4.7 (2018-12-10) ------------------ * mudfish * Fixes the integer overflow issue for the item ID so it'll support more no of items. * 14.63.198.203 IP isn't no longer a part of mudfish web server. * Fixes the connection retry issue to the mudfish authentication server when it failed to connect. * mudrun * Fixes a problem while uploading the packet dump to the mudfish master server. * Shows the realtime traffic usages while Mudfish Launcher was running. * Fixes an issue to find the default browser in Windows 10. * Be more verbose if SSL connection error encountered. 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 interesting 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 back-end 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 Real-time 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 enhanced and with multiple bug-fixes. * 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 paths 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 real-time 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 Availability) 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 measurement for equipped items. Its interval is 10 seconds. * Fixes a crash by assertion if socket(2) failed. * Supports HA (High Availability) 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 Availability) 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 real-time 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 to out of band packet. * Changes the default error level for MUDEC_000279. * No more mudfish_stderr.txt log file. * Extended 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 heartbeats are failed or heartbeat 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 behavior 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 unnecessary 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-initialized 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 back-end. * 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 back-end 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 correctly. 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's 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 malformed 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. * Increases 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 back-end for relaying * No more assertion failure if TOL_socket(2) is failed by unknown reason Explicitly 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-specify 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 properly 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 signing 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 front-end and back-end. * 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 multiple threads.