Commit graph

3176 commits

Author SHA1 Message Date
Aaron Jones 707bc7cd5a
tools/mkfingerprint: strlen(3) on a raw byte array is wrong -- use its length as indicated by the function that filled it 2016-06-01 20:41:03 +00:00
Aaron Jones 2cad541582
tools/mkpasswd: functions that call exit(3) should be marked noreturn 2016-06-01 20:38:54 +00:00
Aaron Jones e44fe481e3
bandb/bandb: functions that call exit(3) should be marked noreturn, avoid sign overflow in integer function argument 2016-06-01 20:37:51 +00:00
Aaron Jones 2e032bf638
bandb/bantool: a function that calls exit(3) should be marked noreturn 2016-06-01 20:34:51 +00:00
Aaron Jones 856440bcb3
authd/res: make function used only within this unit static, remove unused macros 2016-06-01 20:32:12 +00:00
Aaron Jones 656c85d090
authd/provider: remove shadowed double variable decl 2016-06-01 20:29:35 +00:00
Aaron Jones 2a7e1da947
authd/authd: a function that calls exit(3) should be marked noreturn 2016-06-01 20:27:19 +00:00
Aaron Jones 2f361bfc49
wsockd: various fixes
* Use correct sign for comparing data lengths
* Don't return a void statement in a void function
* Remove unused functions and macros
2016-06-01 20:23:13 +00:00
Aaron Jones 1187d61128
ssld: remove unused macros, avoid sign overflow in integer function argument 2016-06-01 20:17:09 +00:00
Aaron Jones 9a9bc518c1
wsproc: compile out dead code
Investigation is required to determine if this function should
actually be used
2016-06-01 20:15:07 +00:00
Aaron Jones 87a0418643
restart: functions that call exit(3) should be marked noreturn 2016-06-01 20:14:09 +00:00
Aaron Jones e83991950f
ircd_signal: a function that tailcalls a noreturn function should be marked noreturn 2016-06-01 20:11:46 +00:00
Aaron Jones 6be270b107
ircd: functions that call exit(3) should be marked noreturn 2016-06-01 20:05:56 +00:00
Aaron Jones 47493ba39c
getopt: a function that calls exit(3) should be marked noreturn 2016-06-01 20:03:52 +00:00
Aaron Jones 83adc41d5c
dns: make function used only within this unit static 2016-06-01 20:02:57 +00:00
Aaron Jones 002cc1d04d
class: remove unused macros 2016-06-01 20:01:51 +00:00
Aaron Jones b2c9df4786
chmode: remove unreachable break statement 2016-06-01 20:00:48 +00:00
Aaron Jones 73d759aeb4
chmode: silence harmless uninitialised variable warning 2016-06-01 20:00:11 +00:00
Aaron Jones d352ca15aa
channel: silence harmless uninitialised variable warning 2016-06-01 19:58:53 +00:00
Aaron Jones 2ce25d94d9
bandbi: a function that calls exit(3) should be marked noreturn 2016-06-01 19:56:47 +00:00
Aaron Jones e806f52379
authproc: don't shadow variable decls, avoid reserved name 2016-06-01 19:55:35 +00:00
Aaron Jones 92706fd551
librb: silence some fairly harmless compiler warnings
These include warnings about "break" statements that will never be
executed (because they are after "return" statements), unused macros
(lost to code refactoring or never even used in the first place),
functions that call abort() or loop indefinitely but aren't marked with
the "noreturn" attribute, and use of variables possibly uninitialised
(a false positive).
2016-06-01 19:50:09 +00:00
Aaron Jones 1a938496eb
openssl: use snprintf(3) instead of rb_snprintf() 2016-06-01 18:04:23 +00:00
Aaron Jones 5325f9d2d2
openssl: More LibreSSL compatibility
LibreSSL does not have the new version macros & functions that OpenSSL
1.1.0 implements. This causes a compile-time failure against LibreSSL.

Further, the runtime function for returning the library version returns
the wrong number (the hardcoded constant number SSLEAY_VERSION_NUMBER
aka OPENSSL_VERSION_NUMBER, instead of LIBRESSL_VERSION_NUMBER).

Add more ifdef soup to remedy the situation.
2016-06-01 17:54:43 +00:00
Aaron Jones 0763237d5f
openssl: change how we load DH parameters
The code already assumes the presence of fopen(3) and errno, and, by
extension, fclose(3) and strerror(3), so just use those instead of the
BIO wrappers.

Additionally, don't fail to initialise if the DH file does exist but
parsing it fails, as per the pre-existing comment about them being
optional.
2016-05-25 21:48:50 +00:00
Aaron Jones 4d5a902f08
strcpy: mass-migrate to strlcpy where appropriate 2016-05-15 03:57:16 +00:00
Aaron Jones 02ca4405a0
appveyor: correct version
[ci skip]
2016-05-15 01:13:50 +00:00
Aaron Jones 72640a9ddf
ircd_lexer: fix another crash with the same cause 2016-05-15 00:58:19 +00:00
Aaron Jones 401cb2bb17
ircd_lexer: fix crash with very large config option strings 2016-05-15 00:00:23 +00:00
Aaron Jones b143df9ac4
minor spring cleaning: remove/relocate duplicate/unused includes & macros
[ci skip]
2016-05-14 23:29:33 +00:00
William Pitcock be7c282296 makerelease: fix DATECODE output 2016-05-14 17:28:49 -05:00
William Pitcock b28cccb704 NEWS: document websocket availability 2016-05-14 17:24:56 -05:00
William Pitcock be2447b850 config: document websocket options 2016-05-14 17:24:20 -05:00
William Pitcock dcf450702b newconf: ensure wsock and defer_accept are default-to-disable for now, for consistency sake on rehashes 2016-05-14 17:23:51 -05:00
Aaron Jones 7de13f7e5e
starttls: Allow command usage with backends other than OpenSSL 2016-05-14 00:26:03 +00:00
Simon Arlott 4ad9738d7a
m_alias: correctly construct string to be sent 2016-05-12 19:45:27 +01:00
Simon Arlott 8dd5d185e8
bandb: sqlite3: use getpagesize() on FreeBSD 2016-05-12 12:43:18 +01:00
Simon Arlott 0e0d823a5d
wsockd: include stdinc.h so that sys/types.h is included on FreeBSD 4.8 2016-05-12 12:43:17 +01:00
Simon Arlott 7c7cf006ca
librb: define UINT32_MAX for FreeBSD 4.8 2016-05-12 12:43:16 +01:00
Simon Arlott 87f7632760
librb: support rb_path_to_self on FreeBSD 4.8 2016-05-12 12:43:15 +01:00
Simon Arlott d2a4981ab2
client: call authd_abort_client with the client that is exiting, not the originator 2016-05-12 10:06:31 +01:00
William Pitcock 96bcbb5d56 Merge pull request #191 from GLolol/patch-1
doc: add extensions/chm_nonotice to example confs
2016-05-11 23:46:10 -05:00
James Lu cdc31cc55f doc: add extensions/chm_nonotice to example confs 2016-05-11 21:39:42 -07:00
Aaron Jones 9d6b870d7b
[Documentation] Increase bitlength recommendation for DH parameters
Also clarify the behaviour of TLS backends and the consequences for
not providing any parameters at all.

[ci skip]
2016-05-05 04:20:16 +00:00
Aaron Jones 70a70462e5
[Documentation] Reflect that ssl_private_key is now optional
[ci skip]
2016-05-05 04:20:07 +00:00
Aaron Jones f5960b830b
[sslproc] Use certificate file if key file is not present 2016-05-05 04:10:57 +00:00
Aaron Jones 883f3833ed
Travis CI: Build against sqlite3 library 2016-05-05 03:54:38 +00:00
Aaron Jones 1e7342d0f4
[mbedtls] Various fixes and improvements
* Move certificate, key, DH parameters and configuration to heap
  (Documentation states that setting new configuration, e.g.
   during a rehash, is unsupported while connections using that
   configuration are active)

  This is the same approach as the fix for #186

  Refcount these structures so as to not introduce a memory leak

  On rehash, it will use new structures only if there are no
  errors in constructing them

* Make fingerprint generation work for TLS connections

  See the comments in the newly created file for an explanation

* Fix memory leak when generating a fingerprint from a file

* Add better error-reporting (strings in addition to numbers)
  where possible

* Coalesce several connection memory allocations into one function

* Reduce boilerplate where possible (Charybdis targets C99)

* Support private key being in certificate file, and having no
  DH parameters file

* Correct erroneous closing comment
2016-05-05 03:47:57 +00:00
Aaron Jones c40eede13b
[TLS Backends] Make version strings more useful and consistent 2016-05-05 03:47:46 +00:00
Aaron Jones 0fe9dd4119
[TLS Backends] Allow absense of private key file
Use the certificate file instead
2016-05-05 03:47:33 +00:00