- Release the handful of SVN changes from the last couple years:
- Fixed Issue 17, where the "not authorized" message was displaying the incorrect IP address.
- Permit (and ignore) additional fields in the YR/NS handlers. These might be useful for future extensibility.
- Ignore the "when" timestamp in dconfig, because we never used it.
- Purdue-specific: Add FST to the Locations table.
- After a broadcast message has been forwarded, its ghost sits around in RAM for a while, so that duplicates can be ignored. I increased this timeout from 1 minute to 3 minutes, which should eradicate the vast majority of zombie "chat spoofing" packets that I've observed.
- Also did some cleanup/refactoring, so the message forwarding code is simpler, and each individual message wastes less RAM.
- Try to fix the "chat spoofing" problem by decreasing a packet's hop count when it sits in the buffer for multiple seconds.
- Change the bot command echo response to "<*Dtella> You commanded: foo"
- Various cleanups in PingManager.
- Fix an inconsistency when the alternate UDP port fails to bind.
- Fix "'int' is not callable" bug in receivedPrivateMessageAck.
- Make !INVITE produce useful output even when the IP address is unknown.
- Add a note about TCP to the UDP port forward message.
- Include the IP address when showing a "not authorized" message.
- Add support for the Strong/Apex secure connect extension. This fixes the "Malformed Address" errors which end with an 'S'.
- Fixed a bug which causes background config updates to turn off if a node connects twice in a 5-minute window.
- Ignore I/O errors when the output terminal goes away. This was affecting some people on Linux.
- Change the time base on Windows back to time.time(), because we seem to have observed cases where time.clock() runs faster or slower than UTC.
- Add platform (/W /L /M etc.) to the "Something bad happened" output.
- Build version configuration is centralized into dtella_local.py, instead of being scattered throughout the Windows/Mac build scripts.
- Fix a nasty bug introduced in 1.2.1; I imported the twisted UDP module before applying the time source patch, so different parts of Twisted were using different time bases, resulting in errors that resembled the movie "Groundhog Day."
- Made Twisted ignore some spurious Windows socket errors.
- Fixed a mostly harmless race condition where a node tries to generate an already-seen NF broadcast.
- Enabled the logging of messages and errors to a file.
- Added a --port command-line option for specifying a custom TCP port.
- Fixed a bug in the progress bar, where it was possible for the sync to complete before reaching 100%.
- Fixed a bug which could cause a node to request extra bridge blocks.
- Added an !invite command to show your current IP:Port (contributed by CXLS)
- Restructured the code to use packages, with one common executable for bridge and client functions.
- Should now be more robust against the UDP socket getting reset.
- Probably more I forgot to list.
- Added the ability to whitelist an IP for running an offcampus bridge or ch and file transfer requests are still filtered.)
- bugfix: 'No Online Nodes' case wasn't working right
- bugfix: Sometimes 'Sync Complete' would fire twice in a row.
- Made the state handling code more modular.
- Made the topic formatting more URL-friendly. (i.e. no quotes)
- Added a workaround for the DNSQueryTimeoutError bug in Twisted.
- Faster network sync algorithm.
- Improved detection of broken port forwards.
- Fixed a few random bugs.
- Theoretically better error handling during DNS requests.
- Fixed the "node_ipps" bug.
- Fixed the fixable part of the "malformed address" bug.
- New bitmap and icon for installer.
- Catch exceptions raised by setTcpNoDelay
- Fix support for some older clients (like StrongDC 1.0) that send $MyINFO before $GetNickList.
- More agressive sending of NF (Node Failure) messages during the last hop to a failed node. This should help somewhat to prevent random dropouts.
- Added support for +m (moderated) mode
- Fixed typo which caused an error if !users run while offline.
- bugfix: a failed DNS reply was sometimes tagged as a success; this resulted in all the bridge traffic becoming invisible
- In uninstaller, removal of dtella.state is now optional.
- "Kill Dtella" link has its own icon now.
- If a DNS query fails, it will now try again periodically while online.
- bugfix: Wasn't trying to reconnect after a connection failure.
- bugfix: Connection didn't proceed in the event of a DNS failure.
- Will now try to impersonate a remote host in order to automatically cancel an invalid file transfer request.
- Improvements to DNS query and version notification code.
- Simplified the ChatMessageSequencer code
- added new commands: !terminate, !localsearch, !version
- fixed: persistent mode was skipping over the DNS query
- "!debug nbs" now includes average ping times
- fixed a crash in "!debug nodes" when not online
- add support for silent kicks
- fixed: typo in BridgeClient block handler was causing exceptions.
- parsing of version tags, and offline info
- various cleanups
- First public beta release, with an actual version number
- (There had been a bunch of experimental builds over the last few months)