When changing the value of irssiproxy_ports to use a different network
name in a port that was already bound (so like changing from asd=6667 to
sdf=6667) it would throw "address already in use".
This fixes it by delaying the add_listen() calls after all the
remove_listen() were called.
The function now skips all the leading characters that are in the STATUSMSG. If
the server didn't send the STATUSMSG option then it's assumed to be "@+" for
compatibility with bahamut 2.4 (sic).
Change "proxy client connected" to "proxy client connecting" to avoid being confused by clients that have connected but not necessarily authenticated. Emit "proxy client connected" once authenticated, keeping the name for backwards compatibility.
this adds the CONFIG_REC * to the config_node_section and
config_node_section_index APIs as they will require access to the config
cache later on to make the config parser more robust.
Try to split long lines on spaces to avoid words being splitted. This
can be turned off with the option `split_line_on_space'. The code
assumes that the terminal encoding has ASCII spaces.
The userhost Irssi uses for line splitting can in some cases be wrong,
for instance when a proxy is used or when a server cloaks the hostname
without telling the client. Now Irssi always assumes the userhost is of
maximum length. 10 for username (common value) and 63 for hostname (in
RFC 2812).
ferret, the author of `splitlong-safe.pl' pointed out that `userhostlen'
should not only contain the maximum length of the hostname, but also the
maximum length of the username. Now 10 is used as the maximum username
length as a fallback. (`splitlong-safe.pl' uses the same limit.)
The username limit isn't defined in the standard, but 10 is common on
many networks. The odds that something goes wrong here is low, as
1) the fallback limit is only used when the user has not yet joined a
channel
2) the maximum hostname length (63) gives some error margin as the
hostname usually is shorter
`split_line_end' could force lines to be unnecessarily split. This
commit fixes the problem by making sure that the last line isn't shorter
than `split_line_end'.
Add settings `split_line_start' and `split_line_end' analogous to
`splitlong_line_start' and `splitlong_line_end' in `splitlong.pl'. The
prefixes and suffixes are concatenated with a wrapper function to keep
`recode_split' and `strsplit_len' simple.
This commit adds handling of long IRC messages to the core. In contrast
to the `splitlong.pl' plugin, multi-byte encoded and recoded messages
are properly split.
To allow for this, a new function has been added to the server struct:
`split_message'. `split_message' returns a string array with the message
splitted to substrings of a length that the server can handle. If a
protocol module doesn't have any limit, it can simply return a singleton
array with a copy of the message.
The `MSG' chat command now calls `split_message' before `send_message',
and emits `message own_public' / `message own_private' with each
substring, so that the string splitting will be visible in the UI.
`split_message' in the IRC module uses `recode_split' which in turn uses
iconv to properly split multi-byte encoded (and recoded) messages.
if they are somehow enabled (UHNAMES/userhost-in-names).
bug #805
git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@5205 dbcabf3a-b0e7-0310-adc4-f8d773084564
prefix exists by conditionally allocating and marking to-be-freed the cumode
string inside of expando_cumode(). (Bug #669)
git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@5203 dbcabf3a-b0e7-0310-adc4-f8d773084564
"nicklist new" signal.
Fixes the nicklist sorting on xirssi.
Patch by nenolod.
git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@5184 dbcabf3a-b0e7-0310-adc4-f8d773084564
Ignore the parameters for matching because 354 does
not have a fixed format.
This helps irssi-proxy with clients that use WHOX,
such as xchat (away checking). WHOX works on ircu
and charybdis 3.1 servers.
Bug #671
git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@5064 dbcabf3a-b0e7-0310-adc4-f8d773084564
Make sure not to set connection_lost if the server was
already disconnected.
git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@5030 dbcabf3a-b0e7-0310-adc4-f8d773084564
The timeout is now every 5 seconds and serves to
remove entries that do not send messages anymore.
git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@5024 dbcabf3a-b0e7-0310-adc4-f8d773084564
Use g_string_printf() instead of g_string_sprintf() (which is considered deprecated.)
git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@5004 dbcabf3a-b0e7-0310-adc4-f8d773084564
Use g_string_append_printf() instead of g_string_sprintfa() (which is considered deprecated.)
git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@5003 dbcabf3a-b0e7-0310-adc4-f8d773084564
(r4922). This also restores them when /upgrading from
a revision between r4922 and this one.
Note that other prefixes are still lost when /upgrading
from pre-r4922 irssi.
git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@4968 dbcabf3a-b0e7-0310-adc4-f8d773084564
Requesting ban lists from an unsynced channel will ask
them from the server, banning a user whose u@h irssi
does not know will ban nick!*@* and only bans irssi
knows about can be removed.
git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@4925 dbcabf3a-b0e7-0310-adc4-f8d773084564
Original patch by JasonX, somewhat changed by exg and me.
git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@4922 dbcabf3a-b0e7-0310-adc4-f8d773084564
server, it prevents /away from working when the active item server is
not an irc one. The check is already performed in
irc_server_send_away, so /away -one is unchanged. Patch by Gabor Adam
Toth.
git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@4914 dbcabf3a-b0e7-0310-adc4-f8d773084564
The only major ircd supporting /wallchops also supports
/notice @#channel.
The /wall command has used /notice @#channel (if it is
supported which is pretty much everywhere) for a while
and so it can be used without problems on large channels.
git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@4902 dbcabf3a-b0e7-0310-adc4-f8d773084564
message own_{private,public} now receive the message in the client encoding.
git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@4890 dbcabf3a-b0e7-0310-adc4-f8d773084564
clients to allow for scripting parts of the irssi-proxy.
git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@4882 dbcabf3a-b0e7-0310-adc4-f8d773084564
function to read linewise from the associated io channel.
Rewrite irc/dcc/proxy read logic on top of it.
git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@4841 dbcabf3a-b0e7-0310-adc4-f8d773084564
The -usermode is now implicitly treated as a requested
usermode change; the MODE command setting it is not
redirected. This is good because user MODE may or may
not give a reply and this could be confused with the MODE
message indicating the initial usermode.
Possible issue here: '-' modes in -usermode persist only
until you change your umode via /mode.
Bug #548
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4668 dbcabf3a-b0e7-0310-adc4-f8d773084564
These mostly happen when doing remote whois and the
target server is slow.
The code uses the source server but will try to do what it
can if servers think they need to mask it.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4638 dbcabf3a-b0e7-0310-adc4-f8d773084564
(causes infrequent "server load too heavy" etc)
If people really want this, they should write a script.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4632 dbcabf3a-b0e7-0310-adc4-f8d773084564
FUSE/BSD sets this value when link is not available.
Based on a patch by Juuso Tähkäpää, bug 536.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4631 dbcabf3a-b0e7-0310-adc4-f8d773084564
We do not do this for WHOIS because the resulting replies
tend to be buggy and inconsistent.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4617 dbcabf3a-b0e7-0310-adc4-f8d773084564
that the CHANNEL_REC is still around when handlers for
specific numerics are executed. This allows removing the
ugly special case for 437; I will also use this for 470
(channel forwarding).
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4572 dbcabf3a-b0e7-0310-adc4-f8d773084564
"Bad user info" (case insensitive) in an ERROR message as
an indication of a server ban.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4571 dbcabf3a-b0e7-0310-adc4-f8d773084564
This fixes bug #510. Note that #510 only happened if multiple
bans were sent before the MODE came back and multiple unbans
were sent before the MODE came back.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4544 dbcabf3a-b0e7-0310-adc4-f8d773084564
this retries joins that failed because of netsplits
(channel temporarily unavailable (437), duplicate channel)
A few servers abuse 437 for juped channels which should
not be retried, you should disable channels_rejoin_unavailable
if this is a problem.
- Display 437 and 407 numerics if channels_rejoin_unavailable
is not enabled.
Bug #495
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4537 dbcabf3a-b0e7-0310-adc4-f8d773084564