lahwran just showed up on irc and told us that he installed znc, but znc failed
to find any modules. The reason for this was his umask 077 which means that
"make install" installed stuff so that only root can access it.
The solution is do use "install -d" since that makes sure to ignore the
currently set umask.
However, google finds results which say that "install -d" might mess with stuff
of pre-existing directories when it shouldn't, so we must first test if the
directory already exists before calling install. Obviously, this makes our
Makefile a lot more readable. :-(
I didn't have time to test this properly, so stuff might break.
Signed-off-by: Uli Schlachter <psychon@znc.in>
Conflicts:
modules/Makefile.in
Downside of antiidle is that because it messages yourself internally
the irc server will send messages to you when you're marked as away.
This can end up being really annoying, so those messages are blocked
with these changes.
Signed-off-by: Toon Schoenmakers <nighteyes1993@gmail.com>
This kind of reverts/fixes f1cb09bd9c.
Robby found a bug with evil ChanServ which goes like this:
- You join an empty, but registered channel and the IRCd applies its default
modes (+nt), but ZNC didn't ask for MODE, so doesn't know this.
- ChanServ applies whatever channel modes it wants to apply. This causes ZNC to
see a mode change (e.g. +s).
The result of this is that ZNC thinks that the channel has mode +s and it will
tell every client that connects to it about this.
The fix is to send a MODE request when JOINing. To make sure that we don't
confuse clients, we block the reply.
Signed-off-by: Uli Schlachter <psychon@znc.in>
This is required to make sure that zncconfig.h is the very first header that is
being included.
This problem was noticed by someone reporting some "macro redefined" warnings.
Signed-off-by: Uli Schlachter <psychon@znc.in>
Modern/decent networks have services anyway, and for registered channels
this module is useless. Also it tends to fight ChanServ in case if
ChanServ joins/parts the channel to remove ops.
Users of deprecated ne^W^Wnetworks without services can use it from extra.
This will only ever be set to -DHAVE_CONFIG_H. However, we shouldn't give this
flag to other people's code (e.g. through znc-config). Since we don't need it,
it's best to just drop it completely.
Signed-off-by: Uli Schlachter <psychon@znc.in>
Instead of giving a useful result, they returned their result by sometimes
omitting the first character of the option name. Whoops.
Signed-off-by: Uli Schlachter <psychon@znc.in>
Fixes the following error:
In file included from ZNCString.cpp:10:0:
FileUtils.h: In static member function 'static CString CDir::GetCWD()':
FileUtils.h:246:36: error: 'getcwd' was not declared in this scope
Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
Signed-off-by: Uli Schlachter <psychon@znc.in>
This should stop all fights against ChanServ. Please note that nothing will
happen if we are the only one in the channel after 15 secs since this module
only checks if it needs to do something when someone leaves a channel.
Signed-off-by: Uli Schlachter <psychon@znc.in>
No module in extra/ comes with any data currently, so this was tested by moving
perform to extra/. The install is untested.
Signed-off-by: Uli Schlachter <psychon@znc.in>
The rule is that zncconfig.h must be the very same thing that is included. We
cheat and only include it in headers (so that modules dont have to have be
changed). However, it looks like some modules where missed.
This commit fixes test/ConfigTest which crashed if _GLIBCXX_DEBUG was enabled
(--enable-debug) because it didn't see this define before including a c++
header.
Signed-off-by: Uli Schlachter <psychon@znc.in>
Come on, it's a self-signed certificate, how much value does it have anyway?
Also, it gets rid of a question during --makeconf which confuses some people.
This should now use $HOSTNAME and fall back to "host.unknown" if that isn't set.
Signed-off-by: Uli Schlachter <psychon@znc.in>
Since commit 1a1cc4c756, we'd always send a "MODE #chan" to IRC when we
received a "JOIN #chan". It used to work before that commit, because the mode
reply which is automatically sent on join is sent before the "end of /names"
numeric.
This just removes that MODE request. Proper IRC server should always send a MODE
reply on channel join.
Thanks to nyuszika7h`` for the report.
Signed-off-by: Uli Schlachter <psychon@znc.in>
When we hit the "maximum open files" limit, we close the listener that hit this
error. Previously we did so silently which means no one could figure out what
happened.
This commits adds a broadcast message giving a hint, but this should never
happen in a real-world situation anyway (unless you have 1000 users).
Signed-off-by: Uli Schlachter <psychon@znc.in>
This means that now it's possible to have the same class names in
different modules, which reduces chances of weird errors.
Thanks to mclc for noticing this.
This fixes the "busy loop waiting for an SSL handshake to finish" which the last
"Update to latest Csocket" was already supposed to fix. However, that fix had a
bug if poll() is used instead of select().
poll()'s timeout argument is in milliseconds while select also allows
microseconds. Since Csocket originally used select(), it expects the
microseconds-approach. This means it has to divide by 1000 to get the timeout
argument for poll().
However, the iQuickReset which was used to "fix" (rather: hide) the busy loop
was less than 1ms so this still resulted in a timeout of 0 (= busy loop) because
integer division truncates the result.
Signed-off-by: Uli Schlachter <psychon@znc.in>
This means that they will get a new cookie on the next request. This will make
sure that you will be able to use webadmin again if your IP changed (which seems
to happen to quite a number of people).
Signed-off-by: Uli Schlachter <psychon@znc.in>
This helps people figuring out that they are still building their modules for
the wrong znc version since they have more than one installation on their box.
Signed-off-by: Uli Schlachter <psychon@znc.in>