Arnaud Cornet
40233ff938
Fewer configure options.
...
Use pkg-config to detect openssl.
Eagerly use backtrace if provided by libc.
2018-11-18 14:30:17 -05:00
Arnaud Cornet
27f1cf988b
Simplify autotools configuration.
2018-11-18 09:10:16 -05:00
Arnaud Cornet
aa35b372b4
Add unit tests.
...
Add an optional build dependency on check and add an initial test case.
2018-11-14 02:26:39 +01:00
Arnaud Cornet
34711f7653
Move automake file in src subdir, isolate main.
...
In preparation for adding a unit test directory, move Makefile.am in
src, and build a static libbip before linking a binary.
2018-11-14 02:26:27 +01:00
Arnaud Cornet
53dafd9590
Add unit tests.
...
Add an optional build dependency on check and add an initial test case.
2018-11-13 08:25:46 -05:00
Arnaud Cornet
057107a233
Move automake file in src subdir, isolate main.
...
In preparation for adding a unit test directory, move Makefile.am in
src, and build a static libbip before linking a binary.
2018-11-11 18:18:21 -05:00
eaed46da14
Merge branch 'path_test_use_stat'
2018-03-22 02:37:38 +01:00
025689d807
Merge branch 'dh_param_not_mandatory'
2018-03-22 02:37:23 +01:00
7834471f78
default value isn't used when path doesn't exist
2018-03-22 02:33:25 +01:00
13b2e37635
DH parameters are not always required
...
for example ECDHE ciphers doesn't require DH parameters.
Closes #499
2018-03-22 02:33:19 +01:00
3afb16d795
checking path: use stat
...
fopen was used because it's stdlib but stat is already used in other
parts
2018-03-21 11:54:20 +01:00
348737fab5
Fix path construction
...
Thanks to Renzokuken for pointing that !
Closes #610
2018-03-21 11:09:48 +01:00
96f0403a2a
remove useless calls to FREE
...
MOVE_STRING macro is used in order to initialize parameters, this
macro calls free when necessary.
2018-02-19 20:08:26 +01:00
83d7f2acbe
Add missing call to MAYFREE
2018-02-19 20:07:38 +01:00
Pierre-Louis Bonicoli
dbe19d9387
Handle no defined users
2018-02-19 20:05:32 +01:00
Adam Williamson
2ecd82f011
Fix some 'const const char' declarations
...
That's one two many consts...recent GCC blips on this.
Signed-off-by: Pierre-Louis Bonicoli <pierre-louis.bonicoli@libregerbil.fr>
2017-07-26 02:46:26 +02:00
Pierre-Louis Bonicoli
2e81cca480
Check value returned by X509_OBJECT_new()
...
Reported by Alexander Couzens, thanks to him !
2016-11-12 01:09:40 +01:00
Pierre-Louis Bonicoli
e452c023ad
X509_OBJECT_new: call X509err
...
mimic behavior of X509_OBJECT_new provided by OpenSSL >= 1.1
2016-11-12 01:09:40 +01:00
Pierre-Louis Bonicoli
6b38449875
Allow to set DH parameters
2016-11-07 17:50:20 +01:00
Pierre-Louis Bonicoli
5db61f3982
Allow to set oidentd path
2016-11-07 11:26:22 +01:00
Pierre-Louis Bonicoli
e8b5d02f13
Add missing call to SSL_CTX_free
2016-11-07 11:25:47 +01:00
Pierre-Louis Bonicoli
406ebacfe5
check value returned by SSL_CTX_new
2016-11-07 11:25:44 +01:00
Pierre-Louis Bonicoli
ab8e5eece1
Add cipher specifications setting
...
Allow to configure cipher specifications for the listening bip
connection and for each outgoing IRC connection.
Closes #301
2016-11-07 11:25:37 +01:00
Pierre-Louis Bonicoli
20f39abc56
bipdir improvements
...
- more documentation
- don't die if environment variable $HOME isn't defined but '-s'
parameter is used
- oidentd: change path, file is located in bipdir
2016-11-07 11:25:34 +01:00
Pierre-Louis Bonicoli
39414f8ff9
Handle OpenSSL version 1.1
...
adding forward-compatible code to older versions
2016-06-29 19:40:32 +02:00
Pierre-Louis Bonicoli
148b38a953
Prefixes and usermodes were inverted
2015-09-11 11:31:37 +02:00
Pierre-Louis Bonicoli
209b9a7cd7
Add missing terminating null byte
...
Reported by Trou, thanks to him !
Closes #477
2015-09-11 11:31:32 +02:00
Pierre-Louis Bonicoli
5594e69bf6
Use a new logfile when day changed
2015-09-11 11:22:32 +02:00
Pierre-Louis Bonicoli
bdec94020e
Use monotonic time
2015-09-11 11:22:21 +02:00
Pierre-Louis Bonicoli
34baf6e841
Always call bip_tick when select timeout
2015-09-11 11:21:52 +02:00
Pierre-Louis Bonicoli
4eec084452
Allow to configure the delay before a reconnection
...
Initial patch submitted by Romain Gayon, thanks to him !
2014-12-11 18:19:11 +01:00
Pierre-Louis Bonicoli
73483ff088
Handle PREFIX defined in ISUPPORT
...
ISUPPORT is a de facto standard extension to IRC.
Available prefixes and usermodes are handled at the connection
level (link_level struct).
2014-12-11 16:50:18 +01:00
Pierre-Louis Bonicoli
e88d7da760
Handle CHANMODES defined in ISUPPORT
...
ISUPPORT is a de facto standard extension to IRC.
chanmodes are handled at the connection level (link_level struct).
2014-12-11 16:50:17 +01:00
Pierre-Louis Bonicoli
fda9fccb85
Handle unlikely case: "CAPAB" present twice
...
If "CAPAB" element were present twice, a wrong element would be removed.
2014-12-11 16:50:17 +01:00
Pierre-Louis Bonicoli
db27168c76
Avoid unnecessary test
...
The first element is "005", it cannot be "CAPAB".
2014-12-11 16:50:05 +01:00
Pierre-Louis Bonicoli
f7ace64abe
Remove dead links from the list of all links
...
Fix segfault that occurs when bip admin users use:
/BIP DEL_CONN <connection name>
/BIP ADD_CONN <connection name> <network>
Closes #325
2014-12-11 16:40:28 +01:00
Adam Williamson
88242715f4
allow for certificate store to be unspecified in CA mode
...
In many cases, using OpenSSL's default certificate store is fine
and even preferred. If your OpenSSL provider (e.g. your
distribution) is competent, they will manage this database
better than you likely will. With this change, bip will
attempt to use the default certificate store if you set
CA mode but do not specify a certificate store location.
This could be refined to test after enabling the default paths
whether the certificate store is empty, and error/warn if
so.
2014-12-11 14:50:02 +01:00
Adam Williamson
89295ca4b2
check whether trust store is a file or directory in CHECK_CA
...
The existing code only allows you to provide a set of trusted
CA certificates as an openssl 'CApath'-type directory. Fedora,
RHEL (and derived distros) and probably other distros provide
a system-wide database of trusted CA certs in various bundle
formats, but not as a CApath-type directory. This checks whether
check_store is a file or directory and loads it appropriately,
when initializing an SSL connection.
Note that there is code elsewhere which assumes the trust store
will be a file, but that code is hit only in CHECK_BASIC mode.
This change applies only to CHECK_CA mode.
2014-12-11 14:49:53 +01:00
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