Commit Graph

496 Commits

Author SHA1 Message Date
Pierre-Louis Bonicoli e0b63528f2 Channel modes: 'Type B' flags always have a value
even when removed.
Refs #345
2014-09-04 10:32:04 +02:00
Pierre-Louis Bonicoli d2fa844960 Channel mode: handle flags 'f' and 'j'
Closes #345
2014-09-04 10:32:00 +02:00
Pierre-Louis Bonicoli 8d3539a7d0 Fix --without-openssl build
Reported & fixed by Whoopie, thanks to him !
Closes #313
2013-11-04 08:49:06 +01:00
Marc Dequènes (Duck) 8b98c3746e Compatibility fix with bison 2.6
Bison 2.6 now declares yyparse in the generated header. This fix
ensure it still works for older versions.

Reported in Debian#710614
2013-10-18 17:31:47 +02:00
Nathan Phillip Brink 71801fb3d2 Throttle almost everything (except PING, PONG, and certain QUIT messages) sent to the IRCd.
Fixes being killed for Excess Flooding on freenode by using the
existing fakelag mechanism. The existing fakelag works great but
was just not hooked into earlier.

Closes #191
2013-10-18 17:22:08 +02:00
Pierre-Louis Bonicoli 2c390390ed Password cannot contain spaces. Closes #265.
Thanks to Tim Hansen for reporting this bug.
2012-01-25 05:18:59 +01:00
Pierre-Louis Bonicoli df45c4c2d6 Closes #261. Fix by Thijs Alkemade.
- use conf_global_log_file instead of stderr
- when a SSL handshake error occurs, close socket
2012-01-25 05:08:52 +01:00
Pierre-Louis Bonicoli f1bec50a9c Revert f19e1f6. Fix #252.
f19e1f6 introduces a regression (#252) and bug described in commit
message can not be reproduced.
2012-01-25 04:03:18 +01:00
Pierre-Louis Bonicoli 222a33cb84 Buffer Overflow: check against the implicit size of select() arrays
Reported by Julien Tinnes (Fix #269)
exit is called when the listening socket can not be created
2012-01-23 22:38:59 +01:00
Pierre-Louis Bonicoli 975ccac0b1 delete generated file 2011-10-24 23:45:01 +02:00
Arnaud Fontaine a46b8bd2c2 Fix GCC warnings. 2011-10-24 23:44:43 +02:00
Arnaud Fontaine 0da434d126 Fix GCC warnings. 2011-10-04 00:30:07 +02:00
Nathan Phillip Brink 7e1c80a65a Use 'make dist' instead of 'git archive' to create a release or snapshot tarball. 2011-09-14 06:28:14 +02:00
Pierre-Louis Bonicoli 84fa6c7eb0 Fix typo in assertion message 2011-05-23 04:36:58 +02:00
Pierre-Louis Bonicoli b2dde370d6 Improve 'trust ok' command
if a client send "TRUST OK" to bip and all connexions are already trusted,
reply "No untrusted certificates." instead of "Unknown command"
2011-05-23 04:01:27 +02:00
Pierre-Louis Bonicoli 46c599d92e Add -git to version string. 2011-04-12 02:21:25 +02:00
Pierre-Louis Bonicoli e730a96cd8 Update src/version.h and Changelog for release. 2011-04-12 02:21:24 +02:00
Pierre-Louis Bonicoli f19e1f6209 Fix backlog of queries when option 'log' is False
Issue #212
2011-04-12 01:08:41 +02:00
Yoann Guillot 87da44e583 connection: allow to disable / enable log (#211)
add option 'log' (true/false) in connection section,
this option overrides the global 'log' option.
Thanks to jj !
2011-04-07 02:32:44 +02:00
Pierre-Louis Bonicoli 2e49437ed7 revert 4fdabdd166
better quick fix
2011-02-06 21:59:14 +01:00
Pierre-Louis Bonicoli 81b8ed48cf Fix build errors on armel
sys/user.h on armel has a conflicting definition of 'struct user'.
This patch renames bip's structure to avoid the conflict.
Thanks to Philipp Kern and Dann Frazier !
2011-01-15 18:13:26 +01:00
Pierre-Louis Bonicoli 4d4710acb9 Fix "FATAL: list_remove: item not found"
Thanks to Jean-Edouard Babin for reporting it.

How to reproduce:
1) connect to bip with an irc client using username (eg 'Pilou')
2) disconnect irc client
3) in client configuration, change the case of username (eg 'pilou')
4) reconnect to bip -> bip log FATAL message and exit

If old nick and new nick are equal ignoring the case of the characters,
don't delete store associated with old nick: only rename it.
2010-12-28 03:22:19 +01:00
Pierre-Louis Bonicoli ca1b383a74 check return value of hash_get 2010-12-28 03:20:01 +01:00
Pierre-Louis Bonicoli 4fdabdd166 filename is NULL if !store && !conf_log 2010-12-28 03:18:13 +01:00
Arnaud Cornet 0b7a3e6a07 Add -git to version string. 2010-09-12 17:48:00 +01:00
Arnaud Cornet ec078131ea Update src/version.h and Changelog for release. 2010-09-12 17:47:57 +01:00
Arnaud Cornet 7fb0823167 cp 2010-09-12 17:32:55 +01:00
Arnaud Cornet 4822364c0f Fix for null pointer deference
CVE-2010-3071
2010-09-12 16:52:00 +01:00
Arnaud Cornet d0ee9df3ec Add -git to version string. 2010-08-07 12:18:59 +01:00
Arnaud Cornet 3c6d776597 Update src/version.h and Changelog for release. 2010-08-07 12:18:53 +01:00
Trou 7712ae3a92 Fix typo 2010-06-15 23:02:01 +01:00
Zach Wily 4d3ee53e7b RFC 1459 specifies that the PONG message may have 1 or 2 parameters. 2010-04-07 22:12:26 +01:00
Arnaud Cornet f995c1f537 try to mitigate freenode antiflood throttling 2010-02-17 12:34:57 +00:00
Arnaud Cornet 92365874d4 Revert "Fix antiflood. Fixes freenode kicking us out."
This reverts commit 639e929021.
2010-02-17 12:32:22 +00:00
Arnaud Cornet 5c3f22d8a8 Revert "Unbraindead"
This reverts commit b21c658b8c.
2010-02-17 12:32:15 +00:00
Arnaud Cornet b21c658b8c Unbraindead 2010-02-17 12:00:55 +00:00
Arnaud Cornet 5b26dac489 More lose MODE command handling 2010-02-17 10:55:09 +00:00
Mathieu Pillard 5d6b7fedaf backread_hours is in hours, not days 2010-02-16 10:08:27 +00:00
Arnaud Cornet 7c0b6036f2 Ugly header fixups to fix build 2010-02-15 14:22:00 +00:00
Mathieu Pillard 2e5f4287ff With necessary header fix 2010-02-15 14:17:44 +00:00
Mathieu Pillard c0772f54bf Fix time parsing. Fixes backlog replaying one month to many, 2010-02-15 14:16:08 +00:00
Arnaud Cornet 639e929021 Fix antiflood. Fixes freenode kicking us out. 2010-02-15 14:06:50 +00:00
Arnaud Cornet bfe14ebb20 Add -git to version string. 2009-11-15 20:41:59 +00:00
Arnaud Cornet ce506aaec7 Update src/version.h and Changelog for release. 2009-11-15 20:41:56 +00:00
Arnaud Cornet a932cc53a9 [BUILD] Attempt to fix autostuff 2009-11-15 20:40:17 +00:00
Arnaud Cornet 944f18962a Add -git to version string. 2009-11-15 20:21:27 +00:00
Arnaud Cornet 06a67e08af Update src/version.h and Changelog for release. 2009-11-15 20:21:24 +00:00
Arnaud Cornet 03ee43ca89 [BUG] fatal() on nick change on gamesurge network
Some time gamesurge sends a "foo NICK :foo" which we didn't handle
correctly.
2009-11-15 20:14:28 +00:00
Arnaud Cornet 31ae5ac0bf [autostuff] Rewrite. Use non recursive make. Drop src/config.h.in that must be populated by autoheader 2009-08-24 21:26:46 +02:00
Arnaud Cornet 889f3cc1b7 Add -git to version string. 2009-08-24 19:05:48 +02:00
Arnaud Cornet c496bd7027 Update src/version.h and Changelog for release. 2009-08-24 19:05:45 +02:00
Arnaud Cornet 70fbf99c7f Refactor _write_socket
Call real_write_all in write_lines and write_line.
This should fix debian bug #542291.
BIG thanks to Zygo Blaxell.
2009-08-19 22:02:56 +02:00
Arnaud Cornet 7546daa276 [BUG] Handle badly lagging client conns decently. 2009-08-19 02:09:16 +02:00
Arnaud Cornet fa0c70539b Allow parallel build (thks Whoopie and psychon). 2009-07-26 11:38:20 +02:00
Arnaud Cornet 442e4973cd Add -git to version string. 2009-07-17 11:43:34 +02:00
Arnaud Cornet a7c38c17c0 Update src/version.h and Changelog for release. 2009-07-17 11:43:29 +02:00
Arnaud Cornet 213643d5bf size hour array correctly 2009-07-05 19:35:00 +02:00
Arnaud Cornet 1a2b1dd165 Cleanup log outputs 2009-07-05 19:04:51 +02:00
Arnaud Cornet 3698955365 Don't reset store->file_offset when adding a new file
This just makes no sense
2009-07-05 18:08:35 +02:00
Arnaud Cornet a8fb0c40d3 Support hour in log format. Mostly for debugging 2009-07-05 14:00:06 +02:00
Arnaud Cornet 32e08c94aa SSL basic mode, support X509_V_ERR_SELF_SIGNED_CERT_IN_CHAIN 2009-07-02 18:05:51 +02:00
Arnaud Cornet 405f8b4afc [log] Use canonical name to detect need for log rotation
Also reset store on part from server to close more file descriptor.
2009-06-28 16:33:29 +02:00
Arnaud Cornet 4532234426 [ssl:basic] Restore trust command behavior that was broken (repported by psychon) 2009-06-25 01:24:38 +02:00
Arnaud Cornet 5ae1c1dec5 [log] close logs files more intensively. 2009-06-25 00:43:44 +02:00
Arnaud Cornet 7af35a3018 Bad and useless strncat use (reported by psychon, thanks to him) 2009-06-18 13:50:43 +02:00
Arnaud Cornet 015969e86b [log] Fix to /bip backlog x
This is fix for:
When using /bip backlog X windows with no tracked backlog (ie after a
blreset) do not show backlog
2009-06-13 17:29:44 +02:00
Arnaud Cornet 8cea2bdb71 Don't fail if ressetting non existing store. 2009-06-07 13:22:20 +02:00
Arnaud Cornet 499a7d75b5 backlog tweak 2009-06-05 00:43:05 +02:00
Arnaud Cornet 9187d556b5 Fix info user parsing. 2009-03-25 11:40:19 +01:00
Arnaud Cornet 3166a57022 Add -git to version string. 2009-03-02 12:54:27 +01:00
Arnaud Cornet 104d251a0b Update src/version.h and Changelog for release. 2009-03-02 12:54:25 +01:00
Arnaud Cornet b6f30f6a03 Fix one leak. Fix git-release script for new git. 2009-02-28 11:19:57 +01:00
Arnaud Cornet 29ff342d93 Add option ignore_server_capab 2009-02-08 12:36:49 +01:00
Arnaud Cornet b8c740357d Add -git to version string. 2009-02-02 19:51:10 +01:00
Arnaud Cornet 1f462ef035 Update src/version.h and Changelog for release. 2009-02-02 19:51:05 +01:00
Arnaud Cornet eef2fd180d [CLIENTHACK] Remove xchat's + and - on each msg
This patch drops CAPAB setting in 005 message from server to client.
Doing this xchat does not start the mode that prepends a + or a - at the
beginning of PRIVMSGS.
2009-02-02 19:47:53 +01:00
Arnaud Cornet 69640eaf8c [FIX] Complete previous commit
Previous commit was incomplete and did not log some weird messages. They
still might be legit, so we come with them
2009-01-27 11:24:50 +01:00
Arnaud Cornet 5416fc19b2 [FIX] check for weird shape notice messages
Prevents a fatal on some rare conditions
2009-01-27 08:25:44 +01:00
Arnaud Cornet c2b3090e47 Cosmetic (special kasdedi a trou) 2009-01-26 16:57:52 +01:00
Arnaud Cornet bfc86202a1 Add -git to version string. 2009-01-25 14:44:26 +01:00
Arnaud Cornet 488a17dab5 Update src/version.h and Changelog for release. 2009-01-25 14:44:22 +01:00
Arnaud Cornet 5628da3ee0 Add warning when using 512 bits long moduli for diffie hellman 2009-01-25 14:41:19 +01:00
Arnaud Cornet b62c3e4697 [SSL] Support ephemeral diffie hellman kex
Pushing some non private data into openssl enables to use edh that
provides perfect forward secrecy.
2009-01-25 14:24:22 +01:00
Arnaud Cornet 03210a796e [CLEANUP] Add lots of asserts in utils
list hash and array types are now even stricter on their usage.
2009-01-22 12:06:26 +01:00
Ben Byer dae6cad3f7 Add limit.h for INT_MAX 2009-01-22 11:26:03 +01:00
Arnaud Cornet 23b6ec4492 Better check for backread returning NULL 2009-01-22 11:24:44 +01:00
Ben Byer 43fe81e114 add null pointer check to backlog_lines
In some configuration backlog_lines can return NULL
2009-01-22 10:14:33 +01:00
Arnaud Cornet 170d4d1e00 [FEATURE] autojoin_on_kick in connection blocks
true by default
2009-01-21 17:24:54 +01:00
Arnaud Cornet afefc9a3d4 [FIX] Try to guess current daylight saving time
When backloging we have no clue of a log lines dst, we try to guess it
with current dst, which makes no sense, but at least it provides decent
result when not near dst change.
2009-01-20 19:30:20 +01:00
Arnaud Cornet 500d546706 [FIX] improper log rotation
disconnection/reconnection log message bypassed the log rotation checks
So if the message after a new day is a disconnected message, logs files
did not rotate.
2009-01-18 12:26:41 +01:00
Arnaud Cornet 7a7c2432cf [FIX] make log_has_backlog actually work
log_has_backlog used to check for the presnece of tracked logfiles to
determine the presence of logs. This does not work anymore. This patch
uses the last file tracker to determine that.
2009-01-18 11:26:08 +01:00
Arnaud Cornet 9882a0cbdc [CLEANUP] various cleanups 2009-01-17 15:03:06 +01:00
Arnaud Cornet fe251f72b5 [FEATURE] /quote bip backlog [n]
/quote bip backlog triggers a log replay.
With the optional argument n in hours, you can request a backlog of a
few hours.
2009-01-17 14:16:31 +01:00
Arnaud Cornet 26eb9c28d7 [OPTION] implement backlog_reset_connection
backlog_reset_on_talk no works per query/channel.
Setting backlog_reset_connection to true falls back to the former kind
of backlog reset.
2009-01-17 12:50:39 +01:00
Arnaud Cornet 0e2f305d4e [cleanup] Try to cleanup this pid mess
close files, but no too soon...
2009-01-16 15:17:34 +01:00
Arnaud Cornet 2d9d388fba Close some fds, original path from Trou. 2009-01-16 15:09:53 +01:00
Trou 111f1382d1 Fix fd leak 2009-01-16 15:02:24 +01:00
Arnaud Cornet 3b704f53c4 drop unused variables 2009-01-15 22:56:42 +01:00
Arnaud Cornet be0d83d681 Remove code inside #if 0... it's what svcs are for 2009-01-10 14:16:36 +01:00
Arnaud Cornet 8ed0565266 [LOG] Fixup log_beautify to work beautifully :) 2009-01-10 14:08:41 +01:00
Arnaud Cornet a5814b17a0 Don't log queries with -bip, fix blreset help 2009-01-10 13:34:40 +01:00
Arnaud Cornet b3d7dbfb02 [COSMETIC] Avoid opening a query with your own nic
This exception is cosmetic, but you want it.  Most of the time, you get
backlog from your own nick for your mode changes only.  Hence opening a
query just to say "end of backlog"...
2009-01-10 13:26:59 +01:00
Arnaud Cornet 744ea7d03b Merge branch 'master' into bip08 2009-01-10 12:55:13 +01:00
Arnaud Cornet 67ddf15264 [BUG] channel with key handling
A bug existed when a client issued join commands with multiple keys:
JOIN #a,#b keya,keyb
which this patch fixes
2009-01-10 12:53:25 +01:00
Arnaud Cornet f536a0546d Cleanup and fixes of the backlog code 2009-01-10 12:35:59 +01:00
Arnaud Cornet 32cf2d462f Backlogging code cleanup: fixes
This makes the new backlogging code, actually backlog something.
2009-01-09 13:24:11 +01:00
Arnaud Cornet f1221703b0 [FEATURE] reset backlog on talk now "window" local
The reset_backlog_on_talk now resets current query or channel.
The /bip blreset command not takes an optional argument taking query
name or channel name.
2009-01-09 11:26:12 +01:00
Arnaud Cornet a6bb697f5d Merge branch 'master' into bip08
Conflicts:

	src/log.c
2009-01-09 09:57:17 +01:00
Arnaud Cornet d2f7840ced [BUG] Fix fatal on some nick change
When a nick changes to one for which we already have a logstore
allocated. We try to overwrite a hash entry that is already existing
leading to a fatal.

This pach cleans things up before rename the logstore.
2009-01-08 11:01:47 +01:00
Arnaud Cornet a57e76f883 add fclose on pid file 2009-01-06 16:34:17 +01:00
Arnaud Cornet eb57d9683d Drop some unused variable. 2009-01-06 16:28:06 +01:00
Arnaud Cornet 41c0a5a9c6 Fix bip_notify usage
These may lead to crash if you call in your conf networks or other names
with %s or other fancy format strings.
2009-01-06 15:58:18 +01:00
Arnaud Cornet 0600196102 merge master 2009-01-05 23:24:49 +01:00
Arnaud Cornet 217816c220 And anothear nick_from_ircmask leak. 2009-01-05 22:57:27 +01:00
Arnaud Cornet 00a10a9f61 Fix another leak. 2009-01-05 22:56:01 +01:00
Arnaud Cornet 96a91cd92e Fix leak during backlog. 2009-01-05 22:54:10 +01:00
Arnaud Cornet aab5e61c05 Fix leak. 2009-01-05 22:52:25 +01:00
Arnaud Cornet 2ef3506a22 Remove useless null check. Cycle server on early connection problem. 2008-12-30 11:12:52 +01:00
Arnaud Cornet 0ecb77617c Sanitize bip_(m|re)alloc size. 2008-12-29 15:31:32 +01:00
Arnaud Cornet a4b101cea8 ensure null terminated str 2008-12-29 14:04:51 +01:00
Arnaud Cornet 3f895fa6ea Merge branch 'master' into bip08 2008-12-29 09:15:44 +01:00
Arnaud Cornet 8d7eecf78b Fix fatal Element with key %s already in hash
on client disconnect.
bad hash usage
2008-12-29 09:14:24 +01:00
Arnaud Cornet b222196b18 Use backtrace when --enable-debug=yes and avail.
I KNOW AUTOCONF.
2008-12-28 15:47:43 +01:00
Arnaud Cornet c0db3c408d Merge fixups 2008-12-28 14:47:44 +01:00
Arnaud Cornet 24110a58dc Fix leak + cleanup list_append.
Thanks to TheMIROn for spotting the leak.
2008-12-28 14:45:44 +01:00
Arnaud Cornet 3c810eef53 Refactor log system. prepare for /backlog 1 hour 2008-12-26 18:43:35 +01:00
Arnaud Cornet 8693044511 fix notice logging file storage 2008-12-26 08:56:03 +01:00
Arnaud Cornet b102aed08a array_extract: fix braindeadness. 2008-12-25 17:49:48 +01:00
Arnaud Cornet 7c6cc20e90 Use hash_it_key cause now hash items can be null. 2008-12-20 21:15:04 +01:00
Arnaud Cornet fa78df6482 Fixup file name allocation 2008-12-20 20:26:38 +01:00
Arnaud Cornet e8bb841e5f refactor nick management code
- drop struct nick.
- follow nick changes in a basic way.
  right now it does not work if one changes nick and somebody else takes
  the old unused nick.
2008-12-20 17:59:16 +01:00
Arnaud Cornet 4d231e8ddc Inline most array methods 2008-12-20 14:28:18 +01:00
Arnaud Cornet d3ef106c4f New array type, cleanupts and rename logfilegroup log_store 2008-12-20 14:20:50 +01:00
Arnaud Cornet 4b723ca479 more cleanups, start of a log refactoring
That changes log format and might breack everything.
2008-12-18 14:27:16 +01:00
Arnaud Cornet fd644b312b bip_strdup fatals on out of memory 2008-12-15 20:02:56 +01:00
Arnaud Cornet c150151066 BIG cleanup. check for memory allocation failure, add extra checks all arround. 2008-12-15 19:19:27 +01:00
Arnaud Cornet e18d335578 calloc/realloc checks. 2008-12-11 11:00:05 +01:00
Arnaud Cornet 2b96805ecb Revert "drop fork priviledges when running."
This reverts commit 1cbb1b9b7a.
It juste does not work, since this limit is uid-wide (thanks julien`)
2008-12-10 23:27:53 +01:00
Arnaud Cornet 3ab2755767 Catch malloc returning NULL. 2008-12-10 23:26:37 +01:00
Vladislav Grishenko c3bb6639b6 Send after join /names before backlog
there're some irc client which create windows, session etc only on 366
packet received (End of /NAMES list) like Miranda IM, QIP
that's why backlog sent from bip after 332/333 packets and just before
353/336 goes to nowhere
i'v took a look at other irc bouncers, all of them send backlog right
after 353 /336 packets
so, all what we need is just chamge the order in
static void irc_send_join(struct link_client *ic, struct channel *chan)
2008-11-23 15:12:32 +01:00
Arnaud Cornet 0f0d0427b8 Enlarge connection buffer size and logline_maxlen. 2008-11-23 15:09:24 +01:00
theMIROn c21db5a556 Fix for empty topic creator and timestamp on RusNet IRC Servers 2008-11-11 16:07:42 +01:00
Arnaud Cornet 383a3a4477 Fix help message: bip reload is quite stable for some time now. 2008-11-09 19:05:49 +01:00
Arnaud Cornet 1cbb1b9b7a drop fork priviledges when running. 2008-10-31 19:38:12 +01:00
Arnaud Cornet e8c6adedc9 Add -git to version string. 2008-10-24 10:24:52 +02:00
Arnaud Cornet fcfea9921a Update src/version.h and Changelog for release. 2008-10-24 10:24:49 +02:00
Arnaud Cornet cd82512f7a Ignore nick channel status in whorepl. Fix crash on client empty privmsg. 2008-10-24 09:11:23 +02:00
Arnaud Cornet 83b19b7c5a Hack around to make halfop support actually work. 2008-10-08 01:04:14 +02:00
Arnaud Cornet ed92b9a8bd Build fix 2008-10-08 00:05:26 +02:00
Arnaud Cornet 8ba984165b Implement quick halfop tracking support. 2008-09-20 14:48:16 +02:00