There are actually two patches, both of which you can download right here. You should apply both patches.
dsirc.diff applies against dsirc itself. Most of the changes are here.
ssfe.diff applies against ssfe, the CLI/curses front-end to sirc. Technically, if you only use sirc via ksirc1, you probably don't need this, but if I were you I'd apply it anyway. If you use the text-mode ssfe front end, you should definitely apply it - especially since the new improved version of ssfe.diff, as of 20090825, also makes ssfe properly handle and respond to the <HOME> and <END> keys as sent by newer Linux kernel keymaps.
dancer-utils.pl isn't a patch, but you'll want it as well as these patches if you want to use freenode.net's CAPAB IDENTIFY-MSG. Note that the dancer-utils add-on is not, itself, sufficient for CAPAB IDENTIFY-MSG support. You need the patches as well. More features may be added to dancer-utils at a later date.
You can download all of them together in dancer-utils.tar.bz2. (They were previously separate downloads, but the server hosting this page was throwing internal server errors attempting to download dancer-utils.pl. Since I do not have control over the server, I'm working around the problem this way instead.)
If you don't use Freenode and don't care about CAPAB IDENTIFY-MSG support, you may want to download just the SIRC diffs separately in sirc-diffs.tar.bz2.
Quite a bit, actually, including both bug fixes and functional extensions. This is the approximate tally of features added or changed:
Support for freenode.net CAPAB IDENTIFY-MSG2 is added (you must also have dancer-utils.pl in order to make use of this).
The ssfe input buffer is extended to 1440 characters, properly split on word boundaries into chunks of not more than 480 characters, instead of the default behavior of allowing 512 characters to be typed and then silently truncating the input at 485 characters without heed to word boundaries.
The size of the ssfe input history buffer is doubled from 50 lines to 100.
As noted above, ssfe now handles <HOME> and <END> keys properly.
New client variables $msgchannel (the channel on which a public message was received) and $talkserver (the IRC server you're currently connected to) are now available for user-side scripting. Use them to customize automated actions by server and channel.
Output of NAMES messages on-channel is now sorted alphabetically by nick, ops first. In large channels where the NAMES output is spread across multiple messages, sirc collects 353 messages until a channel is complete, then displays the entire name list for the channel at one go.
Nicks are highlighted in private messages to help distinguish them on a text console.
Trailing whitespace is now stripped from text typed or pasted into sirc.
A bug is fixed in ssfe in which the cursor did not return to its proper position on the input line after a new message is displayed in the output window.
SIRC's stock code for bold and underscored text is documented as being buggy when effects are combined. The buggy code is replaced with newer, more stable code which can combine text effects with good (though still not perfect) reliability.
Miscellaneous minor cosmetic fixes to quantity-agreement bugs, etc.
[1] None of these changes have been tested by me with ksirc, though I understand a maintainer of ksirc has applied these patches or tested them with ksirc (I'm not entirely sure of the status). I do not guarantee that they will all work as intended with ksirc, nor that using these patches and tools will be sufficient to give CAPAB IDENTIFY-MSG support under ksirc. Additional changes to ksirc may be required, and changes made to ssfe will probably not have any effect under ksirc, because I don't think ksirc uses ssfe -- it's a graphical front-end for dsirc, as ssfe is a console-mode front-end to dsirc. If you wish to use these with ksirc, make a backup copy of your sirc/ssfe source first, and test carefully. If you come up with additional patches to complete CAPAB IDENTIFY-MSG support under ksirc, please let me know.
[2] CAPAB IDENTIFY-MSG is a new feature in the latest dancer-ircd versions and the new Hyperion ircd, which enables you to visually distinguish users who have identified to Freenode services from those who have not, in order to prevent identity spoofing. This patch implements CAPAB IDENTIFY-MSG support as follows.
NOTE: Many browsers render boldfacing of certain characters (specifically including dashes, asterisks and angle brackets), very poorly, at least in certain fonts. Mine (Mozilla 1.6) is among them. I have therefore used white text in this table to indicate normal text and cyan to indicate bold.
Message type |
Identified user |
Non-identified user |
Open message |
〈usernick〉 feep! |
〈〈usernick〉〉 feep! |
Private message |
[usernick] feep! |
[[usernick]] feep! |
Notice |
-usernick- feep! |
--usernick-- feep! |
Open action |
* usernick feeps |
** usernick feeps |
Private action (/describe) |
*> usernick feeps |
**> usernick feeps |
(This actually stands out rather better in an sirc session than it does in this table.)