0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-11-16 23:10:54 +01:00
Commit graph

230 commits

Author SHA1 Message Date
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
Elizabeth Myers
376ae2e2a7 Clean up the provider status logic.
Provider status (done, running, not run) is now attached to the
provider-specific data of the client. A reference count of auth
instances is kept in the auth_client struct to determine if a client is
done or not.

This also moves a lot of the logic for manipulating provider data into
into the provider.h header for inlining (no point in a function call for
these simple accessors).
2016-04-05 03:30:02 -05:00
Elizabeth Myers
a68d9a2b61 authd: dynamically allocate data and timeout elements 2016-04-05 03:08:52 -05:00
William Pitcock
d475622639 authd: mention rDNS in found your hostname message 2016-04-05 00:56:43 -05:00
Elizabeth Myers
bdddd9ba83 authd: update all providers to new timeout API 2016-04-04 04:32:55 -05:00
Elizabeth Myers
2e1e0b9981 authd: add provider timeout setting API 2016-04-04 04:24:49 -05:00
Elizabeth Myers
1b4dba98a6 opm: fix typo 2016-04-04 03:59:18 -05:00
Elizabeth Myers
a8322b5268 opm: update to new provider data API 2016-04-04 03:58:46 -05:00
Elizabeth Myers
e78a87f3c4 blacklist: update for new provider data API 2016-04-04 03:49:34 -05:00