blob: 06a9ec38d866bec249565b9ccf02c91bdca81e84 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
|
blabouncer 0.3 - 2024-04-01
New features:
- Fix replaymode = "lastspoke":
- This is listed as a new feature rather than a bug fix as it's the first
time it's really worked and it's fantastic.
- Implement runtime client-side TLS changing when doing a rehash (BLABOUNCER
REHASH command or SIGHUP):
- Re-read "certfile" and "keyfile" paths from configuration file.
- Always reconfigure OpenSSL context to replace certificate without
restarting.
- Implement BLABOUNCER commands LISTCLIENTS and DISCONNECT:
- LISTCLIENTS: List all connected clients and their authentication status.
- DISCONNECT [FD]: Disconnect a client with file descriptor number [FD] (see
LISTCLIENTS output).
- Add a BLABOUNCER VERSION command.
- Support KICK command and log/replay it appropriately.
- Version information now uses Git if `git` is installed and the blabouncer
repo is present.
- Makefile improvements:
- Add "make install".
- Add "make uninstall".
- Add "make clean".
- Pay attention to modified header files.
Changes:
- Pass version number at compile time based on "git describe". Add fallback
VERSION file for if Git isn't installed.
- Improve performance when another user QUITs.
- Reduce debug log size during replays when using debug = "2".
- Improve memory usage.
- Fake replayed QUITs using NOTICEs for clients who don't show anything when
a QUIT is received for an unknown nick.
- Send fully formed PONG responses to client PINGs.
- Relay server PINGs to all clients in case they rely on PINGs to stay alive.
- Increase maximum auto join channels from 10 to 40.
- Continue rather than exit in certain unexpected situations.
- Include ERR_UNAVAILRESOURCE when doing "nick in use" resolution.
- Correctly handle too many clients by doing accept() and close() immediately
rather than trying to add to clients[] struct.
- Improve stdin debugging commands when using foreground mode (-f):
- "listchannels" now includes channel nicks.
- Correctly handle EOF.
- Improve debug output and stability.
- Don't write CTCP VERSION messages to replay log. CTCP VERSION replay/relay
behaviour is now as follows:
- Replaying:
-- PRIVMSG VERSION - requests - from other people - don't replay.
-- PRIVMSG VERSION - requests - from us - don't replay.
-- NOTICE VERSION - responses - from other people - don't replay.
-- NOTICE VERSION - responses - from us - don't replay.
- Relaying (to non-requesting Blabouncer clients):
-- PRIVMSG VERSION - requests - from other people - do relay.
-- PRIVMSG VERSION - requests - from us - don't relay.
-- NOTICE VERSION - responses - from other people - do relay.
-- NOTICE VERSION - responses - from us - don't relay.
Bug fixes:
- Fix MODE logging.
- Fix some situations where the remote IP of a connecting/disconnecting client
is wrong in the debug log and NOTICEs.
- Fix existing clients getting channel nicks after real IRC server
reconnections.
- Correct detection of changed nick for updating existing clients when
reconnecting to server after a timeout.
- Fix PARTing a channel whose name is a substring of another channel.
- Fix PRIVMSG logging going to the wrong log file.
- Deal with servers only sending a nick rather than nick!user@host in
RPL_WELCOME.
- Support channel bans using "+b" as well as "b".
- Typo fixes.
- Comment clarifications.
- Many, many, more!
blabouncer 0.2 - 2019-09-16
New features:
- Implement arrays in the configuration file and use them to specify:
- multiple connect commands
- multiple nicks
- Add a configuration file option to include the date in the timestamp when
replaying the replay log.
- Please note: the above two configuration file changes require changes to the
configuration file, please see blabouncer.conf.example.
- Log server messages to a file named <ircdname>.log.
- Log additional things in channel log files:
- QUIT messages
- NICK changes
- Channel/user MODEs
Changes:
- BLABOUNCER REPLAY time is now specified with D:H:M instead of D:H:M:S.
- Send remote IP addresses instead of fd numbers in NOTICEs to clients.
- Make some older compilers happy by specifying -D_BSD_SOURCE and -std=gnu99.
- Make all log filenames lowercase - since IRC nicks and channel names are
case-insensitive, we can ensure a nick/channel with varying case always ends
up in the same log file. Please note this may mean any existing log files
with uppercase letters will no longer be written to.
Bug fixes:
- Avoid various cases of server responses being relayed to all clients instead
just the requesting client.
- Avoid non-existent users appearing in channels after they change nicks by
replay logging nick changes.
- Avoid NICK synchronisation issues by ignoring replay log nick changes from
us if not our current nick, and by completely ignoring replaying any type of
replay log line from before blabouncer was launched.
- Avoid possible crash if replay file does not exist.
- Avoid possible crash if a socket write fails.
- Many, many, more!
blabouncer 0.1.1 - 2019-07-25
Bug fixes:
- Fix logging to the wrong file in the case that the bouncer's nick changed
whilst running.
blabouncer 0.1 - 2019-07-18
- Initial release.
|