Commit Graph

3103 Commits

Author SHA1 Message Date
Elizabeth Myers
f161ac6182 Fix memory leak. Oops :(.
Found by KindOne on IRC. Thanks!
2013-04-16 17:19:52 -05:00
Elizabeth Myers
f578bf9424 Implement DH-AES encrypted password scheme.
This is superior to DH-BLOWFISH as Blowfish may suffer from certain
classes of weak keys, which is difficult to mitigate against without
regenerating DH parameters repeatedly. AES also has faced far more
scrutiny and is believed to be more secure.

Reference implementation (services-side):
https://github.com/atheme/atheme/blob/master/modules/saslserv/dh-aes.c
2013-04-16 05:39:10 -05:00
Alexey Sokolov
f2e8738ffc Fix #313 2013-04-05 08:38:21 +07:00
Alexey Sokolov
636ca24088 A bit more beatiful way to build modules 2013-04-05 08:38:00 +07:00
Alexey Sokolov
bbde9ab464 Fix git version in nightlies 2013-04-01 21:05:01 +07:00
Alexey Sokolov
10b4890827 Fix #275, close #297 2013-04-01 20:30:35 +07:00
Uli Schlachter
3a7dc7aa73 Don't ever try to overwrite /usr/bin/git
Previously, version.sh got the path to git as its first and only argument. Since
the previous commit, this is not the path to src/version.cpp and the second
argument is the path to git.

However, let's assume someone does "git pull && make". They still have the old
Makefile laying around, which will pass the path to git as the first argument to
version.sh. Thus, this will overwrite /usr/bin/git with some generated source
code. Whoops.

Thanks to KindOne for reporting this problem!

Signed-off-by: Uli Schlachter <psychon@znc.in>
2013-03-31 20:38:51 +02:00
Uli Schlachter
58a34fa5ad Improve the way that VERSION_EXTRA is calculated
Instead of doing magic with the result from version.sh so that we can add a
preprocessor macro, the script now just writes src/version.cpp with the expected
content. This should fix all the various issues that we have with quoting the
arguments and things that go wrong when not building znc from a git clone.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2013-03-31 19:32:44 +02:00
Alexey Sokolov
8fdb530ee3 Fix use-after-free which may happen during shutdown
If a module, e.g. keepnick, tries to remove a timer in
OnIRCDisconnected.

Thanks to KindOne for the report.
2013-03-31 23:40:19 +07:00
Jim Hull
20c5c7d8be updated email addr for Jim Hull 2013-03-28 20:23:33 -07:00
Alexey Sokolov
81599fb8a4 I wonder why Heiko was removed from AUTHORS years ago... 2013-03-28 21:06:39 +07:00
Alexey Sokolov
ae7bcaf87d Use " " instead of ":" in awaystore's buffer internal format. Fix #267 2013-03-17 01:11:59 +07:00
Alexey Sokolov
9f4f2817d1 Fix #293
In GetAvailableMods() modules paths were returned like "moddir//module.pm",
but when they are loaded, they use path "moddir/module.pm".

Because of that our hack of cleaning %INC when the module is unloaded,
which enables UpdateMod, removed wrong record from %INC, left right
record in it, and erased the module's namespace.

When the module was loaded again, the namespace was not restored,
because "require" didn't load the module, because it was still in %INC.

So, when we call a function of that module, the function does not exist
anymore.
2013-03-16 23:35:19 +07:00
Uli Schlachter
53c579b296 CJob: Add a way to do stuff on the main thread
This just moves the pipe from the socket code to the thread pool. However, now
all CJobs can use this and there is a single place for them to get deleted.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2013-03-15 11:58:27 +01:00
Uli Schlachter
75f2e3fa41 Add a generic threads abstraction
This should make it easier to work with threads. It provides classes for mutexes
and condition variables. Additionally, there is a special CMutexGuard that
automatically unlocks the mutex on destruction and a CThreadPool class.

This thread pool is used to replace the thread pool in the sockets code.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2013-03-15 11:58:22 +01:00
KindOne
2db7307ac3 Remove unneeded headers. 2013-03-08 01:47:57 +07:00
KindOne
c9ac8f5e5e Explain that altering znc.conf by hand is a bad idea. Fixed a typo. 2013-03-08 01:46:44 +07:00
Alexey Sokolov
ea5406f334 Fix issue introduced in previous commit. 2013-02-28 09:58:50 +07:00
Alexey Sokolov
58a8781b02 Merge commit 'refs/pull/304/head' of github.com:znc/znc 2013-02-28 09:33:32 +07:00
baines
82a708d6a1 Cleaned up more warnings. 2013-02-27 20:53:14 -05:00
Alexey Sokolov
5021d09519 Merge commit 'refs/pull/303/head' of github.com:znc/znc 2013-02-27 22:19:15 +07:00
baines
c256116d81 Catch as references 2013-02-26 22:03:15 -05:00
Alexey Sokolov
d085b1dfd0 Merge commit 'refs/pull/295/head' of github.com:znc/znc 2013-02-26 09:46:44 +07:00
md_5
9f4d2ffa1f Fix PartyLine so that forced channels may not be left at all - users will be rejoined at once. 2013-02-23 18:31:10 +11:00
Thomas Ward
7496704f3e controlpanel.cpp: Fixed a Fail to Compile error introduced in prior commit. 2013-02-01 15:51:36 -05:00
Alexey Sokolov
f32db92e6d Merge branch 'master' of github.com:znc/znc 2013-02-01 00:32:58 +07:00
Alexey Sokolov
538a41cbae Show password in --makepass in new format 2013-02-01 00:17:18 +07:00
TheLordOfTime
e559bc6677 controlpanel.cpp: Standardize error wordings
When a network cannot be found for a user, and where a command will output an error under such circumstances, use similar wording in each message.
2013-01-30 22:58:32 -05:00
The Lord of Time
e6414e3c98 controlpanel.cpp: Increases general verbosity of command results. 2013-01-30 18:05:55 +00:00
Alexey Sokolov
fd52d27caf Merge pull request #294 from TheLordOfTime/master
controlpanel.cpp BugFix: Empty 'disconnect' command returns 'reconnect' syntax help
2013-01-30 07:45:12 -08:00
Alexey Sokolov
ad06b170d6 A bit more consistency bewteen Del* and Rem*
Thanks to Kult for reporting this
2013-01-29 20:52:20 +07:00
TheLordOfTime
fd813c01af controlpanel.cpp: Fix bug for "Disconnect" help
This fixes a bug in which providing empty data for the 'disconnect' command for controlpanel will return the 'reconnect' command's syntax help, which can confuse users.
2013-01-29 04:46:55 -05:00
Alexey Sokolov
0491e55926 Fix one more case of dlerror(), if it returns NULL after error. 2013-01-27 01:48:27 +07:00
Alexey Sokolov
7312a36629 Don't lose dlerror() message.
Some weird systems seem to use dl functions while doing std::string
concatenation...

Thanks to Hoss for reporting it
2013-01-27 01:26:52 +07:00
Alexey Sokolov
183a261e69 Really disable charset module if iconv is not found.
On some systems CHARSET variable is set...

Thanks to Hoss for reporting it
2013-01-27 01:19:45 +07:00
Alexey Sokolov
f661f2a002 Use CModule::ExpandString 2013-01-20 10:39:50 +07:00
Alexey Sokolov
42cb0d7de7 It's 2013 now (few modules were forgotten :P) 2013-01-19 09:19:41 +07:00
Alexey Sokolov
142142d7c7 Merge pull request #281 from TheLordOfTime/master
Modify modules/sasl.cpp to have a DH-BLOWFISH mechanism description
2013-01-11 19:57:10 -08:00
TheLordOfTime
29d2ff001a modules/sasl.cpp: Description line for DH-BLOWFISH
Added a description to the output for DH-BLOWFISH SASL mechanism.
2013-01-11 21:39:51 -05:00
Alexey Sokolov
ef59c23068 Merge pull request #268 from Un1matr1x/2013
2012 is over!
2013-01-01 11:23:28 -08:00
Un1matr1x
3a34593359 The same procedure as last year, Miss sophie?
Same procedure as every year, James.
2012-12-31 12:44:31 +01:00
Alexey Sokolov
27eb957964 Don't disconnect networkless users without PINGing them first.
Thanks to Austin for reporting this issue.
2012-12-27 01:40:13 +07:00
Uli Schlachter
d9d6a2228c Fix OOT builds with swig files in source dir
Normally, when the Makefile calls swig, the resulting files end up in the build
directory. However, when the files are pre-generated (e.g. as in the znc 1.0
tarball) and an out of tree build is used, they are in the source directory and
installation fails.

Thanks to Kinji for reporting this.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-12-26 14:12:58 +01:00
Alexey Sokolov
390957723c Fix changing client nick when client connects.
If nicks are equal, it's not changed. The problem was that equality was
checked case-insensitively.

This makes some clients which compare nicks case-sensitively think that
JOINs which we send to them, are not related to the user, it's someone
else joining. So Konversation users which have lower case version of
their IRC nick configured in Konversation settings, didn't get their
channel opened when connecting to ZNC.

Thanks to Axanon for helping to investigate the issue.
2012-12-26 00:36:49 +07:00
Alexey Sokolov
02504626bc Merge branch 'master' of github.com:znc/znc 2012-12-25 00:29:25 +07:00
Alexey Sokolov
412bdb7869 Fix my fix which was supposed to fix #220
Thanks to KindOne for reporting the issue with that fix.

363 numeric was sent twice to the client for attached channels.
2012-12-25 00:28:10 +07:00
Kyle Fuller
19de8d3565 Ignore the .version_extra file 2012-12-22 17:44:20 +00:00
Kyle Fuller
6a55c3a0ee Make /znc detach case insensitive
Closes #213
2012-12-22 17:41:24 +00:00
Kyle Fuller
9e7110175a DETACH should support the same syntax as PART (except no message)
Closes #225, this isn't the same as #225, but `/msg *status detach` is
something different, since it supports wildcard matching.
2012-12-22 17:16:57 +00:00
Alexey Sokolov
369f93cbbe Merge branch 'detached-fix' 2012-12-20 22:13:04 +07:00