Commit Graph

2188 Commits

Author SHA1 Message Date
darthgandalf 2472ea7a13 Add warning header to znc.conf
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@2218 726aef4b-f618-498e-8847-2d620e286838
2010-12-30 18:29:15 +00:00
darthgandalf e4b48d50b3 Fix for previous commit.
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@2217 726aef4b-f618-498e-8847-2d620e286838
2010-12-30 12:16:33 +00:00
darthgandalf 1d103351a9 Make modpython and modperl to work with new OnPart too.
Thanks, SilverLeo.

git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@2216 726aef4b-f618-498e-8847-2d620e286838
2010-12-30 12:00:52 +00:00
darthgandalf a0c0b73590 Add new parameter to OnPart module hook: part message.
Sorry for API change :)

git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@2215 726aef4b-f618-498e-8847-2d620e286838
2010-12-30 11:28:41 +00:00
darthgandalf 644632f915 Fix modpython to work with python 3.2
Thanks to nb for reporting and testing

git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@2214 726aef4b-f618-498e-8847-2d620e286838
2010-12-25 05:04:21 +00:00
psychon 50b57be5af listsockets: Ignore dereferenced sockets
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
2010-12-24 22:06:13 +00:00
psychon 144cdf256b Add a web interface to listsockets
Thanks to kylef for the patch and again sorry for svn. ;)


git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@2212 726aef4b-f618-498e-8847-2d620e286838
2010-12-24 21:56:35 +00:00
psychon f6935557ce Refactor listsockets, move the logic to get a string for each column into its own function
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
2010-12-24 21:29:06 +00:00
darthgandalf d2e5a2416c Fix disabling of modperl, modpython.
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@2210 726aef4b-f618-498e-8847-2d620e286838
2010-12-24 19:29:44 +00:00
psychon 40632f46d0 Split up modules/Makefile.in
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
2010-12-24 18:30:11 +00:00
darthgandalf 9745dcb4ea Python modules use 'description' attribute of the class now.
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@2208 726aef4b-f618-498e-8847-2d620e286838
2010-12-24 16:45:22 +00:00
darthgandalf 517307b96a Remove verbosity from pyc files of Makefile.
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@2207 726aef4b-f618-498e-8847-2d620e286838
2010-12-24 16:23:15 +00:00
psychon 11ffe9dbd8 Verify the listener during --makeconf
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
2010-12-24 16:09:30 +00:00
darthgandalf d21a1be74a Fix some dependencies of Makefile
Thanks for zynox for finding this

git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@2205 726aef4b-f618-498e-8847-2d620e286838
2010-12-24 15:30:19 +00:00
darthgandalf 1854e14749 Make NV API to be easier fot python modules.
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@2204 726aef4b-f618-498e-8847-2d620e286838
2010-12-24 15:04:23 +00:00
darthgandalf 88c84efc2f Fix error in loading of python modules.
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@2203 726aef4b-f618-498e-8847-2d620e286838
2010-12-24 07:31:44 +00:00
darthgandalf 7237b9cb2a OOPish API for timers in modperl.
Existing API still works.

git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@2202 726aef4b-f618-498e-8847-2d620e286838
2010-12-23 18:18:06 +00:00
psychon 0cc8bebd2b Various fixes for our Makefiles
- 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
2010-12-23 14:15:49 +00:00
darthgandalf 18234a9445 Fix ignoring of fails in Makefile.
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@2200 726aef4b-f618-498e-8847-2d620e286838
2010-12-23 10:33:42 +00:00
psychon 936b434dbb Add some -Wno flags to modpython
This is now enough that it builds for me! :)


git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@2199 726aef4b-f618-498e-8847-2d620e286838
2010-12-23 10:24:35 +00:00
psychon e17348ca3f Fix detection of tcl and python with -Wl,--as-needed
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
2010-12-23 10:03:21 +00:00
darthgandalf aee8763c5d modpython/codegen.pl had wrong permissions
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@2197 726aef4b-f618-498e-8847-2d620e286838
2010-12-23 01:35:56 +00:00
darthgandalf a564e25c13 Add modpython module which allows to write ZNC modules on python3.
Notice for distro maintainers: perl interpreter is required to compile modpython.

git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@2196 726aef4b-f618-498e-8847-2d620e286838
2010-12-22 14:52:53 +00:00
darthgandalf c7c0d1714c Change internal way of making Makefile to know if need to compile modperl or not.
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@2195 726aef4b-f618-498e-8847-2d620e286838
2010-12-22 14:51:49 +00:00
darthgandalf 600cbac913 Fix license header for modperl/CString.i
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@2194 726aef4b-f618-498e-8847-2d620e286838
2010-12-22 14:51:24 +00:00
darthgandalf df34098eee Fix out-of-tree builds for modperl.
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@2193 726aef4b-f618-498e-8847-2d620e286838
2010-12-22 14:50:59 +00:00
darthgandalf 0ad5cf8e71 Proper way of ignoring fails in Makefile.
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@2192 726aef4b-f618-498e-8847-2d620e286838
2010-12-22 14:50:34 +00:00
darthgandalf 23d4cf9c6b This is bindings for Perl language, not for it's interpreter, so fix UI in Makefile.
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@2191 726aef4b-f618-498e-8847-2d620e286838
2010-12-22 14:50:06 +00:00
darthgandalf 33e1cccc10 Add phoniness to phony makefile targets.
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@2190 726aef4b-f618-498e-8847-2d620e286838
2010-12-22 14:49:31 +00:00
darthgandalf 7b9d7094a8 Fix previous commit. It accidentally changed wrong file.
Also add advice to use --with-tcl if tcl isn't found.

git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@2189 726aef4b-f618-498e-8847-2d620e286838
2010-12-20 13:09:46 +00:00
darthgandalf 89bd5275f0 ./configure checks now if modtcl can be built or not.
Many people had errors about couldn't find tcl.h if tcl isn't installed.

git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@2188 726aef4b-f618-498e-8847-2d620e286838
2010-12-20 04:30:24 +00:00
darthgandalf 451b7e3200 Fix regression of certauth introduced in r2118
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@2187 726aef4b-f618-498e-8847-2d620e286838
2010-12-18 20:49:11 +00:00
darthgandalf 796a9d1dbf Remove advice to edit znc.conf manually from web interface.
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@2186 726aef4b-f618-498e-8847-2d620e286838
2010-12-18 04:18:54 +00:00
darthgandalf 12b1cf63b5 Add functions to Perl API for checking ZNC version.
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@2185 726aef4b-f618-498e-8847-2d620e286838
2010-12-07 14:04:44 +00:00
darthgandalf ce45917cc0 Unload perl modules when they are unloaded.
This should make /znc reloadmod and /znc updatemod to work as expected.
So developers don't need to restart znc each time when debugging perl modules anymore.

git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@2184 726aef4b-f618-498e-8847-2d620e286838
2010-12-05 09:38:25 +00:00
darthgandalf 0bc606a928 Modperl uses some features of Perl 5.10, so let it depend on it.
Now we check version of perl in ./configure and on runtime when modperl is loaded.

git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@2183 726aef4b-f618-498e-8847-2d620e286838
2010-12-05 06:27:09 +00:00
psychon 6a1d27d149 Overhaul channel join handling
Instead of sending a single JOIN line for each channel, znc now tries to stuff
all of the channel that it has decided to join into a single JOIN command.

Apparently this helps with some IRCds which decide when to flood someone off
based on the number of lines received, not based on the number of bytes.

Let's hope for the best...


git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@2182 726aef4b-f618-498e-8847-2d620e286838
2010-11-15 21:06:18 +00:00
psychon 3327a974fe Change the way CUser::JoinChans() works
Hopefully you'll soon see why I did this.


git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@2181 726aef4b-f618-498e-8847-2d620e286838
2010-11-15 20:34:36 +00:00
darthgandalf 1baa019705 Modperl now does implicit conversion of arguments to CString when needed.
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@2180 726aef4b-f618-498e-8847-2d620e286838
2010-11-13 15:21:29 +00:00
psychon 377bbf80f3 Fix the only warning from -Wswitch-enum we had
WebModules.cpp:511: error: enumeration value ‘PAGE_NOTFOUND’ not handled in
switch [-Wswitch-enum]


git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@2179 726aef4b-f618-498e-8847-2d620e286838
2010-11-07 16:57:08 +00:00
psychon f15aef4807 Remove some semicolon that -pedantic didn't like
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@2178 726aef4b-f618-498e-8847-2d620e286838
2010-11-07 16:14:13 +00:00
psychon 1023d868e4 Fix some warnings with -pedantic
"invoking macro GLOBALMODULECALL argument 4: empty macro arguments are undefined
in ISO C90 and ISO C++98"


git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@2177 726aef4b-f618-498e-8847-2d620e286838
2010-11-07 16:12:17 +00:00
psychon 16be1817d5 Improve the tip at the end of --makeconf
This now also tries to mention the needed ssl flag in the irc client and the big
change is that this prints the "address" of the web interface!


git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@2176 726aef4b-f618-498e-8847-2d620e286838
2010-11-07 13:42:48 +00:00
psychon 5e070e7881 Turn CChan::m_msNicks into a map<CString, CNick>
Saving a pointer in a map seems like a bad idea and means we have to delete all
the contained stuff by hand when the channel is destroyed. This requires us to
loop through the channel which is slow. A map is meant as a container, so use it
as one and directly save the stuff we want it to save in there.


git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@2175 726aef4b-f618-498e-8847-2d620e286838
2010-11-06 19:41:40 +00:00
psychon 612b61dada Remove CUser::ConnectPaused()
Once Upon A Time, this was the only mechanism that throttled users that wanted
to connect to IRC servers. ConnectDelay and ServerThrottle now do a much better
job on this problem.


git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@2174 726aef4b-f618-498e-8847-2d620e286838
2010-11-06 16:52:19 +00:00
psychon cce5824439 Add a list of znc features to /znc version
/znc version now also tells you something like this:

 <*status> IPv6: yes, SSL: yes, c-ares: yes


git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@2173 726aef4b-f618-498e-8847-2d620e286838
2010-11-06 16:04:51 +00:00
psychon ed924cb9e5 admin: Properly report errors in "addserver"
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@2172 726aef4b-f618-498e-8847-2d620e286838
2010-11-06 15:51:58 +00:00
psychon b359f96886 Avoid a possibly expensive FindSockByName() for finding IRC socks
While a user is connecting to an IRC server, the CUser instance didn't know
about the CIRCSock instance (due to historic reasons). This meant that we needed
to use FindSockByName() when we had to check if there is any CIRCSock associated
with this user. However, this is a bad idea since FindSockByName() is O(n) on
the number of sockets that the socket manager is managing.

Instead, we now already set CUser::m_pIRCSock when the CIRCSock is created so
that checking for an irc socket becomes O(1).

This was inspired by the results of profiling a znc instance with 900 users.


git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@2171 726aef4b-f618-498e-8847-2d620e286838
2010-11-06 15:21:59 +00:00
psychon d8f4e31939 Update to latest Csocket
Csocket switched from CVS to git, yay!


git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@2170 726aef4b-f618-498e-8847-2d620e286838
2010-11-06 15:15:09 +00:00
psychon fcd8df5c87 Increase the version number to 0.097
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@2169 726aef4b-f618-498e-8847-2d620e286838
2010-11-06 14:57:13 +00:00