Jason Volk
0f3ef3204b
Add libircd linkage to the external daemons.
...
Something has been introduced to the headers requiring this linkage,
possibly an abstract virtual class that might not be committed yet.
Either way, this linkage for these daemons is inevitable, so...
2016-09-21 16:28:51 -07:00
Jason Volk
fc4af83fdf
Remove __unused macro.
2016-08-20 19:30:33 -07:00
Jason Volk
a71a4551ae
ircd: Insert into ircd:: namespace.
2016-08-13 02:43:42 -07:00
Jason Volk
7ecb061e69
authd: Fix use after reference count decrement.
2016-08-12 14:11:54 -07:00
Jason Volk
78ad65f386
ircd/rb: Move some remaining macros to rb.
2016-07-24 21:15:47 -07:00
Jason Volk
404239eb60
Build system cleanup.
2016-07-22 19:46:28 -07:00
Jason Volk
8f03786300
ircd: Use rb_socklen_t type.
2016-07-22 19:46:28 -07:00
Jason Volk
ac577c1322
Regress brace init relaxation for clang.
2016-07-22 19:46:28 -07:00
Jason Volk
834964c659
Convert IRCd to C++
...
Happy 28th birthday. You're all grown up.
2016-07-22 19:46:27 -07:00
Jason Volk
ac4dda1e67
Towards a leak-free repository.
...
Adds a Makefile target 'mrproper' though this only works on new versions of AC.
2016-07-21 20:51:02 -07:00
Jason Volk
ea53aab823
Refactor repository layout.
...
* librb is no longer a separately configured subproject.
* charybdis is now a standalone directory with a binary.
* Include path layout now requires a directory ircd/ rb/ etc.
2016-07-21 20:51:02 -07:00
Elizabeth Myers
180b684529
Fix stupid compiler errors by my stupidity and tiredness
2016-06-27 19:14:32 -05:00
Elizabeth Myers
96b1c6b8bf
blacklist: add blacklist_cancel_none
2016-06-27 19:06:49 -05:00
Elizabeth Myers
2374f221fe
blacklist: add return statement. d'oh.
2016-06-27 19:00:00 -05:00
Elizabeth Myers
57779d5439
blacklist: fix precedence lossage
2016-06-27 18:59:53 -05:00
Elizabeth Myers
cd38b86d3e
blacklist: if no blacklists were checked, properly terminate query.
2016-06-27 18:56:14 -05:00
Elizabeth Myers
01f6c84bbc
build_rdns: minor cleanup
2016-06-27 18:37:46 -05:00
Elizabeth Myers
8dfd99e7fe
blacklist: tweak message for timeout
2016-06-27 18:28:02 -05:00
Elizabeth Myers
3c9d3bb23f
blacklist: give different messages for cancellation and timeout
2016-06-27 18:24:39 -05:00
Aaron Jones
48a0cefe5e
authd/res: make function used only within this unit static, remove unused macros
2016-06-01 20:54:13 +00:00
Aaron Jones
866af85c97
authd/provider: remove shadowed double variable decl
2016-06-01 20:54:13 +00:00
Aaron Jones
75ee370d5f
authd/authd: a function that calls exit(3) should be marked noreturn
2016-06-01 20:54:13 +00:00
Aaron Jones
b143df9ac4
minor spring cleaning: remove/relocate duplicate/unused includes & macros
...
[ci skip]
2016-05-14 23:29:33 +00:00
Simon Arlott
84d0b55e76
authd: fix reference far off the end of the array on shutdown
...
When authd has no more input it tries to reject all current clients with
an id of UINT32_MAX.
2016-05-01 11:51:07 +01:00
Simon Arlott
2f598dacdd
authd: remove unused variable id from accept_client
2016-05-01 11:51:06 +01:00
Simon Arlott
075d4d569e
authd: allocate the correct size of auth_client_data
...
If there are holes in the auth_providers ID numbers, the array allocated
based on list length won't be large enough to handle all the IDs.
(auth->data could be converted to a dlink_list)
2016-05-01 11:51:05 +01:00
Simon Arlott
a5f52774bb
authd: Only use refcount for reference counting
...
Use providers_active for provider activity tracking.
2016-05-01 11:31:05 +01:00
Simon Arlott
2392770f4d
authd: fix auth->cid type sizes
...
* long is too small on 32-bit systems, use unsigned long long if we want
to check for out of range values
* UINT32_MAX is a valid cid, and 0 isn't
* make auth->cid a uint32_t not uint16_t
2016-05-01 11:12:34 +01:00
Simon Arlott
a4da4fe574
authd: fix memory leak in start_auth
2016-05-01 10:59:22 +01:00
Simon Arlott
9f928dc532
authd: don't call cancel_providers recursively
...
Also check that they haven't been cancelled while starting up.
2016-05-01 10:53:34 +01:00
Simon Arlott
d955cd9f97
authd: use a list for auth_providers
...
We only need to iterate over this small fixed size list, so
dictionary iteration will be less efficient.
2016-05-01 10:49:12 +01:00
William Pitcock
b585278b32
authd: provider: make refcounting system less fragile
2016-04-30 19:26:02 -05:00
William Pitcock
a71b65b15c
Revert "authd: change to lists instead of dictionaries for various things"
...
This reverts commit 49fd293f20
.
2016-04-30 19:20:12 -05:00
Simon Arlott
3b0b4037d0
authd: don't decrement refcount twice when accepting the client
2016-04-30 17:06:21 +01:00
Elizabeth Myers
c767c58b2a
opm: use rb_dlinkDelete instead of rb_dlinkFindDelete.
2016-04-30 01:59:05 -05:00
Elizabeth Myers
49fd293f20
authd: change to lists instead of dictionaries for various things
...
Iteration is the primary thing done on these, so using a dictionary
doesn't help a lot. Furthermore (and most importantly), they are not
safe to delete from.
2016-04-30 01:59:05 -05:00
Elizabeth Myers
9f7f75295c
authd: don't try to do anything on exit, it's too precarious
2016-04-30 00:46:18 -05:00
Simon Arlott
5ad62c80ee
librb: remove socklen parameter from rb_connect_tcp
2016-04-24 17:11:20 +01:00
staticfox
1729f46eab
authd: Avoid negative array indices
2016-04-22 23:06:42 -04:00
Elizabeth Myers
5e9a3f8674
Change the way authd configures opm
...
It's a bit of a hack, but better than before. Rather than rehashing
(which could get us into an endless loop), we now segregate the
configuration phase (creating entries ircd-side in case we restart authd
later) and sending phases (when configure_authd() is called). Since we
have to call configure_authd() no matter what (to send timeouts etc.)
and we have to send this data to configure authd anyway, and sending
duplicate data is bad, this is the only way I can think of for now.
2016-04-12 09:36:09 -05:00
Elizabeth Myers
0807c97e69
elide messages about not checking blacklists or scanning for proxies
2016-04-07 09:45:12 -05:00
Elizabeth Myers
9057170ce8
Cleanup defaults.h config file.
...
Clean up spaces/tabs mixing mess (bleh), add some defaults for authd
stuff, and get rid of CHARYBDIS_SOMAXCONN (just define SOMAXCONN if it's
available...).
2016-04-07 04:47:48 -05:00
Elizabeth Myers
4434f37513
authd: clean up refcounting stuff
2016-04-06 11:43:05 -05:00
Elizabeth Myers
45e6c74631
authd: refcounting fixes
2016-04-06 09:52:25 -05:00
Elizabeth Myers
34f65493cd
opm: big cleanup
...
This simplifies the creation of scan types by removing lots of awful
boilerplate code and checks that need to be duplicated everywhere.
2016-04-06 09:22:24 -05:00
Elizabeth Myers
8b886283e0
opm: minor fixes
2016-04-06 08:34:39 -05:00
Elizabeth Myers
269646ed4c
opm: silly bugfix
2016-04-06 07:43:36 -05:00
Elizabeth Myers
6b3e61f1f8
Use uint32_t for get_provider_id, not int
2016-04-06 05:43:28 -05:00
Elizabeth Myers
f956cb0f1f
Use rb_* versions of nonportable string functions
2016-04-05 05:39:59 -05:00
Elizabeth Myers
731d128990
authd: rework module ID system
...
Provider ID's are now assigned dynamically at load-time. To accomodate
this, there is now a lookup system for finding providers by name (all
providers have names as well).
2016-04-05 04:31:22 -05:00