The CChan constructor makes sure that the channel name begins with a valid
channel prefix. Thus, this could change the name of the resulting channel.
When you edited an irc network which already had a channel "#foo", were
connected to IRC (so ZNC knows which prefixes are valid) and added a channel
"foo", this would lead to a problem:
Webadmin checks and sees that there is no channel "foo" yet. Webadmin creates a
new CChan instance for "foo". The CChan constructor notices that "f" is not a
valid channel prefix and instead calls itself "#foo". Then,
CIRCNetwork::AddChan() would see that this channel already exists, delete the
given channel and return false.
However, webadmin didn't check this result and would continue changing settings
on an already destroyed CChan instance.
Fix this by checking if the channel exists after CChan had its chance to mess
with the channel name. Also handle failures from CIRCNetwork::AddChan().
Fixes#528.
Signed-off-by: Uli Schlachter <psychon@znc.in>
(cherry picked from commit 5e6e3be32a)
As noted in issue 464, comparing the hex representation of the public
key fingerprint should be case insensitive.
(cherry picked from commit f4a7386ad4)
Autocomplete should be desabled because in default web browsers fill this resoulting "Invalid user settings" message when for example user changes skin.
(cherry picked from commit 1587103d36)
Apparently StarChat.net uses a very old (?) or obscure NickServ
service that doesn't send any of the more common prompts for ID.
(It also doesn't support nick grouping, more's the pity.)
(cherry picked from commit e379a7a81a)
It was accidentally dropped in 0.207 because of the confusing name,
it looked too much like antiidle module.
Instead, this module tells broken clients like Colloquy that *status and
*module are "online". Otherwise those clients require user to always
prepend messages to *module with "/msg *module", even if the window of
*module's query is active.
Also fix the module to support network modules
Wenet.ru uses control characters in the nickserv request. It sends something
like "\x02/NickServ IDENTIFY \x1Fpassword\x1F\x02", so no wonder the
CString:find() was failing.
The following people agreed with the change, in alphabetical order:
(people who approved in several ways are listed only once)
By email:
- Adam (from Anope)
- Austin Morton
- Brian Campbell
- Christian Walde
- Daniel Holbert
- Daniel Wallace
- Falk Seidel
- Heiko Hund
- Ingmar Runge
- Jim Hull
- Kyle Fuller
- Lee Aylward
- Martin Martimeo
- Matt Harper
- Michael J Edgar
- Michael Ziegler
- Nick Bebout
- Paul Driver
- Perry Nguyen
- Philippe (cycomate)
- Reuben Morais
- Roland Hieber
- Sebastian Ramacher
- Stefan Rado
- Stéphan Kochen
- Thomas Ward
- Toon Schoenmakers
- Veit Wahlich
- Wulf C. Krueger
By IRC:
- CNU
- Jonas Gorski
- Joshua M. Clulow
- Prozac/SHiZNO
- SilverLeo
- Uli Schlachter
At https://github.com/znc/znc/issues/311 :
- Alexey Sokolov
- Elizabeth Myers
- flakes
- Jens-Andre Koch
- Jyzee
- KindOne/ineedalifetoday
- Lee Williams
- Mantas Mikulėnas
- md-5
- Reed Loden
At the last few pull requests' comments:
- Allan Odgaard
- Jacob Baines
- Lluís Batlle i Rossell
- ravomavain
- protomouse
The following commits' authors didn't respond:
Trivial changes:
- f70f1086fd
- 4ca8b50e45
The changes which are not presented in master anymore:
- 5512ed2ea0
- 960a4498f7
- 0f739de2c0
- 7f53cc810bFix#311Fix#218
This reverts commit db7c47f97d.
Too many joined channels at once started to cause disconnect because of
"Max SendQ Exceeded", which is not much better than previous Flood.
Now MaxJoins is 0 by default, which preserves the current behavior of
joining all channels at once. If someone experiences those disconnects
due to SendQ, they can tune MaxJoins.
Fix#329
Conflicts:
include/znc/User.h
modules/controlpanel.cpp
modules/webadmin.cpp
src/User.cpp
Modifications from /usr/share/aclocal/ version:
1. Don't use AC_LIB_RPATH
2. AC_SUBST([HAVE_ICONV])
So now charset module is buildable on openbsd with:
./configure CPPFLAGS=-I/usr/local/include LDFLAGS=-L/usr/local/lib
Fix#255
This reverts commit fb62b5e7a6.
I need to test changes better...
To be proper user modules they need to store per-network state, just a
flag isn't enough.