On most systems, this should only result in some useless defines being added to
the compiler's command line:
-DPACKAGE_NAME=\"znc\" -DPACKAGE_TARNAME=\"znc\" -DPACKAGE_VERSION=\"0.097\"
-DPACKAGE_STRING=\"znc\ 0.097\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\"
However, on some weird arches like e.g. x86, this will make AC_SYS_LARGEFILE
actually work, because that macro adds "-D_FILE_OFFSET_BITS=64" to @DEPS@.
This was found by SilverLeo because modpython didn't compile for him, thanks. :)
(python has "#define _FILE_OFFSET_BITS 64" in pyconfig.h)
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@2242 726aef4b-f618-498e-8847-2d620e286838
When you load /mods/notes/ in your browser, OnWebRequest will be called with
sPageName == "index". So that variable can never actually be empty.
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@2240 726aef4b-f618-498e-8847-2d620e286838
We don't actually have a "modlist" template, so this code would cause a 404.
Going through the "find module with empty name" codepath here has the same
result, so this can be safely removed.
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@2239 726aef4b-f618-498e-8847-2d620e286838
One of my recent commits made webmods only find user modules instead of global
modules. This worked before because m_sForcedUser was an empty string which made
the code look for global modules. This commit adds an explicit check for global
modules which hopefully fixes all problems.
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@2238 726aef4b-f618-498e-8847-2d620e286838
This removes two unused methods (ResolveModule() and FillErrorPage()) and marks
some other methods const/static/protected.
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@2236 726aef4b-f618-498e-8847-2d620e286838
Using some module as another user didn't actually work. For user modules, the
following code stops you:
else if (!pModule->IsGlobal() && pModule->GetUser() != GetSession()->GetUser()) {
PrintErrorPage(403, "Forbidden", "You must login as " + pModule->GetUser()->GetUserName() + " in order to view this page");
For global modules this didn't work either. Once a "forced" user name was
specified, OnPageRequestInternal() stopped looking at global modules:
CModule* pModule = CZNC::Get().FindModule(m_sModName, m_sForceUser);
if (!pModule && m_sForceUser.empty()) {
[snip]
if (!pModule) {
return PAGE_NOTFOUND;
So, whatever m_sForceUser was supposed to do, it never did that.
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@2235 726aef4b-f618-498e-8847-2d620e286838
* Be more const.
* Be more correct: only accept requests to /mods/perform/, not to all URLs starting with that.
* Be more considerate: Use "IRC server" instead of "IRCd".
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@2232 726aef4b-f618-498e-8847-2d620e286838
Before this commit, editing some user in webadmin cleared their DCCBindHost.
That's definitely not what we want.
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@2226 726aef4b-f618-498e-8847-2d620e286838
We now generate a DEBUG() message for all errors during ISpoof. Also, the
message from *status "ISpoof could not be written" now includes the expanded
ISpoofFile that we tried writing to.
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@2221 726aef4b-f618-498e-8847-2d620e286838
When someone connects to ZNC, this connection is first handled by an instance of
CIncomingConnection. Once we determined if this is a HTTP or an IRC connection,
the connection is handed of to the appropriate class.
The CIncomingConnection instance that was used first will still linger around
for the next event loop iteration and then be destroyed. Since this socket isn't
a "real" connection anymore (another instance of Csock took over for this one),
listsockets should ignore all sockets in state CLT_DEREFERENCE.
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@2213 726aef4b-f618-498e-8847-2d620e286838
Patch by kylef and submitted via git. Sorry that we are using subversion and
that subversion is bad at tracking this kind of authorship. :(
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@2211 726aef4b-f618-498e-8847-2d620e286838
This splits the modpython, modperl and modtcl specific parts of
modules/Makefile.in into separate files. There shouldn't be any other changes
than this in here (hopefully).
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@2209 726aef4b-f618-498e-8847-2d620e286838
We will now try to bind() the listener during --makeconf and only accept using
it if this works. This should make this kind of problem less annoying (=you
don't have to recreate the whole config with --makeconf).
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@2206 726aef4b-f618-498e-8847-2d620e286838
- Make sure webskins are installed with the correct permissions even though we
don't use install for installing them.
- Make "make uninstall" use the correct path for webskins.
- Properly clean up the stuff generated by modperl and modpython on "make clean"
- Don't first install modperl/ and modpython/ only to remove them again later
- Use $(wildcard) to expand *.foo to the empty string if nothing matches.
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@2201 726aef4b-f618-498e-8847-2d620e286838
The problem here was that libs where put into $LDFLAGS where they don't belong.
When you also use -Wl,--as-needed, sth like this is called:
gcc -Wl,--as-needed -ltcl8.4 your.o objects.o here.o
Due to --as-needed, the linker will drop libtcl8.4 because by the time it sees
that option, nothing depends on it. And if nothing depends on some lib, it can
be dropped.
The fix here is obviously to put -ltcl8.4 into $LIBS (which is appended, not
prepended, to the command line).
The same reasoning goes for python.
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@2198 726aef4b-f618-498e-8847-2d620e286838