Csocket closed the sockets before openssl could send the close alert.
This fixes that.
Why am I always finding bugs in this code? :(
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@968 726aef4b-f618-498e-8847-2d620e286838
This fixes a bug where Csocket would do busy reads and writes on sockets it
got from listening sockets through accept().
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@967 726aef4b-f618-498e-8847-2d620e286838
CLockFile::Close() only closed the fd if we didn't call
fork() or are the father. Fix this.
This also fixes rehashing for --disable-debug.
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@955 726aef4b-f618-498e-8847-2d620e286838
Since adding and editing users is handled pretty much the same way in webadmin,
you could change your user name when you sent a POST requests with some
arbitrary user field:
echo "user=newuser&submitted=1" | \
lynx -post_data -auth=user:pass http://localhost:55455/edituser
This was spotted by SilverLeo who seems to spend quite some time trying to make
ZNC break, which is a good thing. Thanks!
Oh and btw, the last commit (delete the pid file) is from SilverLeo.
I forgot to mention him in the commit msg. Sorry.
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@949 726aef4b-f618-498e-8847-2d620e286838
This is some stuff I wrote:
- sockets are marked as close-on-exec so that child processes (e.g. from the
shell module) don't get a copy of all of our sockets.
- This adds separate functions for marking sockets as blocking / non-blocking.
- When a socket is marked for closing, we stop reading lines from it.
I don't think any of these two bugs were actually ever triggered by anyone,
but meh, so what?
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@941 726aef4b-f618-498e-8847-2d620e286838
This was just recently introduced in rev 935 "Display user's vhost if it's
not in the global vhost list".
Thanks to icu and Kuja for reporting.
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@937 726aef4b-f618-498e-8847-2d620e286838
We are back to the behaviour of some old version of the Makefile
If you want to compile ZNC only once, just use make.
If you want the Makefile do to dependency tracking and that fancy stuff,
run make depend which creates the .depend and modules/.depend dirs.
From then on some dependency files get written when you compile something.
(The way we did it before now was bad, because all the .cpp files depended on
the .depend dir which got its mtime updated regulary)
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@922 726aef4b-f618-498e-8847-2d620e286838
On his ksh / *bsd those escape sequences where not treated as escape sequences
but printed raw. This fixes that.
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@921 726aef4b-f618-498e-8847-2d620e286838
This modules sets you away some time after the last client detaches and it sets
you back when you reattach.
You can include %s in your away reason which is replaced with the current
time when setting you away.
If you set an away reason yourself while you are attached, the module won't
change this reason.
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@920 726aef4b-f618-498e-8847-2d620e286838