Jason Volk
f06505a967
modules/console: Basic vm events iteration command.
2018-04-16 16:01:10 -07:00
Jason Volk
e009d6763e
ircd::db: Fix issues with txn interface.
2018-04-16 15:20:08 -07:00
Jason Volk
39a5272ee3
modules/console: Improve the events database dump process.
2018-04-15 22:33:44 -07:00
Jason Volk
0504962248
modules/m_presence: Basic exception handling for the edu hook.
2018-04-15 19:58:07 -07:00
Jason Volk
d6e5723014
modules/federation/sender: Fix various issues; propagate context interruption.
2018-04-15 18:02:41 -07:00
Jason Volk
19d7e05605
ircd::resource: Allow each resource method to specify its timing.
2018-04-15 18:02:41 -07:00
Jason Volk
7b54dba291
ircd::db: Expose an interface for some counters; add ticker command.
2018-04-15 16:43:09 -07:00
Jason Volk
0c78bf7a9b
ircd::db: Add compaction interface.
2018-04-15 02:42:57 -07:00
Jason Volk
f0dc31d284
modules/console: Add ability to query prop for all columns with "**" key.
2018-04-14 22:01:25 -07:00
Jason Volk
3b7816763e
modules/console: Tweak formatting for net host cache list.
2018-04-14 18:17:02 -07:00
Jason Volk
ee5c1f27f2
modules/console: Improve formatting for client list output.
2018-04-14 17:34:07 -07:00
Jason Volk
428e209995
modules/console: Filter error peers by default unless argument.
2018-04-14 00:51:58 -07:00
Jason Volk
f4015c597e
modules/console: Make mod list the mod base cmd.
2018-04-14 00:51:30 -07:00
Jason Volk
367776ee2d
modules/root: Checkpoint cleanup; don't use response::chunked here though:
...
resource::response::chunked is not used here because if the file is small a
fixed content-length is used rather than chunked-encoding.
2018-04-14 00:25:09 -07:00
Jason Volk
431d5cfc02
modules/console: Add feds version command.
2018-04-13 23:55:38 -07:00
Jason Volk
d9a73f3604
modules/client/initialsync: Reorient base frame for resource::response::chunked.
2018-04-13 23:20:46 -07:00
Jason Volk
e35338b5b2
modules/console: Improve room messages command; incorporate limit argument.
2018-04-13 22:46:31 -07:00
Jason Volk
b95c27826b
modules/console: Command to only iterate peers with errors.
2018-04-13 20:02:48 -07:00
Jason Volk
db8972c0ef
modules/console: Add client base command to explore the client::list.
2018-04-13 17:40:37 -07:00
Jason Volk
1143789f35
modules/console: Move net peer commands out of net; increase net host cache output widths.
2018-04-13 16:31:37 -07:00
Jason Volk
3f48d3b70a
modules/federation/send: Tweak pdu evaluation logging options.
2018-04-13 16:22:13 -07:00
Jason Volk
7b22f65e86
modules/client/initialsync: Terminate client on initialsync exception.
2018-04-13 16:16:07 -07:00
Jason Volk
14d90bf4a9
ircd: Ⓜ️ :vm: Move temporary m.room.member effect to modules/m_room_member.
2018-04-13 14:54:11 -07:00
Jason Volk
f557f26322
modules/console: Rename exec cmd to eval; add eval base cmd.
2018-04-13 14:47:17 -07:00
Jason Volk
16239f5e0b
modules/client/initialsync: Special case the invite_state
key.
2018-04-13 14:45:02 -07:00
Jason Volk
d07da44718
modules/console: Add user rooms command.
2018-04-13 14:04:36 -07:00
Jason Volk
90597bc59c
modules/console: Complete the db prop command.
2018-04-12 23:07:45 -07:00
Jason Volk
dc2bd4f66e
modules/media: Distill out some current media room functionality.
2018-04-12 23:07:45 -07:00
Jason Volk
9a6dbca127
modules/m_typing: Promote the typing log facility.
2018-04-12 23:07:45 -07:00
Jason Volk
a8b143d6c2
modules/media: Consolidate media modules for easier linkages.
2018-04-12 23:07:45 -07:00
Jason Volk
a08684c9e7
modules/client/initialsync: Involve m.receipt m.read for room ephemeral events.
2018-04-12 23:07:45 -07:00
Jason Volk
7bb187eb17
modules/client/initialsync: Remove unnecessary unquote() for object.
2018-04-12 14:15:05 -07:00
Jason Volk
345870feb9
modules/console: Add basic user read command.
2018-04-12 02:38:56 -07:00
Jason Volk
a41420d9e5
modules/console: Add user presence iteration command.
2018-04-12 02:27:31 -07:00
Jason Volk
5c2b31f93d
modules/m_presence: Promote the log message facility.
2018-04-12 01:12:02 -07:00
Jason Volk
e6888779c9
modules/client/presence: Make m.presence a state singleton in the user's room.
2018-04-12 00:38:18 -07:00
Jason Volk
ef2b4d041b
modules/client/initialsync: Catch and log error which broke sync for user reporting.
2018-04-11 23:40:30 -07:00
Jason Volk
1f49f3c193
modules/client/initialsync: Involve presence in initialsync.
2018-04-11 23:40:30 -07:00
Jason Volk
82ef048d3f
ircd: Ⓜ️ More complete presence interface getter interface stack.
2018-04-11 23:09:49 -07:00
Jason Volk
55e4a8fcaf
ircd: Ⓜ️ Split user's rooms iteration into separate interface.
2018-04-11 15:38:01 -07:00
Jason Volk
e9df8b699c
ircd: Ⓜ️ Add user room membership convenience interface; apply.
2018-04-11 14:18:38 -07:00
Jason Volk
777525f85a
modules/client/initialsync: Sync global account_data from user's room; minor cleanup.
2018-04-11 13:16:07 -07:00
Jason Volk
b305e72cef
modules/console: Add feds event command with existential consensus report.
2018-04-11 01:28:01 -07:00
Jason Volk
8dd0c56f7d
modules/console: Various fixes; buffer size; params.
2018-04-10 21:04:52 -07:00
Jason Volk
9ed97730e6
modules/console: Command to clear all peer errors.
2018-04-10 21:04:25 -07:00
Jason Volk
fff36e0d42
modules/client/initialsync: Chunked encoded streamed json initial sync.
2018-04-10 19:32:56 -07:00
Jason Volk
ab0839c018
modules/client/initialsync: Initial json::stack initial sync stack.
2018-04-10 15:31:10 -07:00
Jason Volk
acf8cf5ae6
modules/client/sync: Checkpoint scaffold non-initial sync w/ initial linkage.
2018-04-10 15:31:10 -07:00
Jason Volk
d4e35476a3
modules/client: Preliminary 6.2.3 /initialSync composite.
2018-04-10 13:15:19 -07:00
Jason Volk
d12b4bd259
modules/console: db flush and sync commands.
2018-04-09 21:23:54 -07:00
Jason Volk
4b201b026e
modules/console: Preliminary rooms list base command.
2018-04-09 20:12:03 -07:00
Jason Volk
3ef23fd86b
modules/m_presence: Demote the log facility for this warning.
2018-04-09 15:57:08 -07:00
Jason Volk
37a126915b
modules/client/user: Validate user path parameter for now.
2018-04-08 22:11:29 -07:00
Jason Volk
7fb3047f68
ircd: Ⓜ️ 11.18.2.1 account_data w/ central linkage.
2018-04-08 22:11:29 -07:00
Jason Volk
564338b2fe
modules/console: Add fed public_rooms command.
2018-04-08 22:11:28 -07:00
Jason Volk
8bf7c05ed8
modules/federation/send: Undefined the depth value when creating the edu pseudo-event.
2018-04-08 13:00:35 -07:00
Jason Volk
130c4970b6
modules/console: Sort fed event_auth output by depth.
2018-04-08 12:52:27 -07:00
Jason Volk
9df6d127af
ircd: Ⓜ️ :v1: event_auth convenience conversion; fed event_auth output.
2018-04-08 12:45:05 -07:00
Jason Volk
99ce3232d4
modules/console: Fix errors.
2018-04-08 12:41:26 -07:00
Jason Volk
d7b3a56882
modules/console: Improve room get (event) cmd; use params; add output opts.
2018-04-08 12:35:27 -07:00
Jason Volk
b497ce35da
modules/console: Add fed event_auth command.
2018-04-08 12:35:27 -07:00
Jason Volk
c372b45857
modules/m_presence: For some reason this never looped but feels like it will one day.
2018-04-07 09:57:08 -07:00
Jason Volk
389d5a9f18
modules/client/rooms/receipt: Check for duplicate receipts on commission.
2018-04-07 09:57:08 -07:00
Jason Volk
cb73ba1d10
modules/m_receipt: Send read receipts to the user's room.
2018-04-07 09:57:08 -07:00
Jason Volk
2770c19ac2
modules/console: Source all timeout values from the options structure.
2018-04-07 02:01:04 -07:00
Jason Volk
e7c7a295c4
modules/console: Add an eval option to fed event.
2018-04-07 02:00:30 -07:00
Jason Volk
ac0d7e9a78
modules/console: Minor fixes.
2018-04-07 02:00:08 -07:00
Jason Volk
58af1ae88c
construct;modules/s_control: Fix output stream related.
2018-04-06 23:35:09 -07:00
Jason Volk
ade6ad79d9
modules/console: Support alias to id translation for room cmd suite.
2018-04-06 22:23:18 -07:00
Jason Volk
76e5543efa
modules/console: Support alias to id translation for fed command suite.
2018-04-06 22:23:18 -07:00
Jason Volk
124102bf2f
modules/console: Add fed send command.
2018-04-06 22:23:18 -07:00
Jason Volk
904ec2455f
modules/console: Add a fed sync command.
2018-04-06 03:43:31 -07:00
Jason Volk
d3e6b20f14
ircd: Ⓜ️ :vm: Distill vm::opts::commit extension from vm::opts.
2018-04-05 23:14:30 -07:00
Jason Volk
c849a30aa1
ircd: Ⓜ️ Improve interface to current event convenience suite.
2018-04-05 22:16:32 -07:00
Jason Volk
8d0681e7b1
ircd::ctx: Eliminate the std future_status and simplify our real-use interfaces.
2018-04-05 22:16:32 -07:00
Jason Volk
022bf95f7f
modules/console: Fix fed__head remote opt; various cleanup; named params.
2018-04-05 21:16:51 -07:00
Jason Volk
e6e8a07e99
modules/console: Catch params exception for output to ostream rather than ircd::log.
2018-04-05 20:17:10 -07:00
Jason Volk
f38ed34533
modules/console: Minor cleanup; comments.
2018-04-05 20:01:13 -07:00
Jason Volk
ddeeaf174f
modules/client/rooms/invite: Remove unnecessary vararg.
2018-04-05 04:16:13 -07:00
Jason Volk
257276d082
modules/federation: Add backfill_ids endpoint handler.
2018-04-04 22:54:59 -07:00
Jason Volk
aaf4c1f76b
modules/console: Add user activation command suite.
2018-04-04 22:54:59 -07:00
Jason Volk
3d056c66d6
modules/console: Relax head/history eval opts for manual fed state/backfill.
2018-04-04 22:54:59 -07:00
Jason Volk
1217d48fc1
modules/console: Add command to change a user's password.
2018-04-04 22:54:59 -07:00
Jason Volk
9fa017e3aa
modules/console: Use named params to parse room__set cmd args.
2018-04-04 22:54:59 -07:00
Jason Volk
14608f4c6b
modules/client/directory/room: Rewrite json::not_found; move cacher to after.
2018-04-04 22:54:58 -07:00
Jason Volk
7fef6f5f10
modules/client/rooms/messages: json::stack retrofit.
2018-04-04 22:54:58 -07:00
Jason Volk
ca75899407
modules/federation: Backfill.
2018-04-04 22:54:58 -07:00
Jason Volk
ba8171ce63
modules/federation/send_join: Populate the auth_chain array in response.
2018-04-04 22:54:58 -07:00
Jason Volk
1a0c359a6d
modules/federation/make_join: Spit out some auth_event for synapse to chew on.
2018-04-04 22:54:58 -07:00
Jason Volk
d09e0dedde
modules/federation: Check if origin matches the verified X-Matrix origin for now.
2018-04-04 22:54:58 -07:00
Jason Volk
4ef168386b
modules/federation/make_leave: Add missing structure.
2018-04-04 22:54:58 -07:00
Jason Volk
184d00f985
modules/key/server: Only run the seed test ifdef RB_DEBUG.
2018-04-04 01:27:45 -07:00
Jason Volk
d2d6ba0f18
modules/federation: Add send_leave endpoint handler.
2018-04-03 23:34:10 -07:00
Jason Volk
4720431d72
modules/federation: Add make_leave endpoint handler.
2018-04-03 23:34:09 -07:00
Jason Volk
50911da57f
modules/federation: Add state endpoint handler.
2018-04-03 23:34:09 -07:00
Jason Volk
dffef130db
modules/federation: Add state_ids endpoint handler.
2018-04-03 23:34:09 -07:00
Jason Volk
b767aab018
modules/federation: Add send_join endpoint handler.
2018-04-03 23:34:09 -07:00
Jason Volk
c929a39795
modules/federation/invite: Check path parameters match event in body.
2018-04-03 23:34:09 -07:00
Jason Volk
60f983b953
modules/federation: Add make_join endpoint handler.
2018-04-03 23:34:09 -07:00
Jason Volk
ad9a5f731a
modules/m_room_member: Eval foreign invites; committer in modules/client/rooms/invite.
2018-04-03 17:27:34 -07:00
Jason Volk
e78f08e8ff
modules/m_room_member: Add mapi header to module.
2018-04-03 17:18:20 -07:00
Jason Volk
b90d4230ca
modules/client/rooms/invite: Add invite commit / handler w/ central linkage.
2018-04-03 12:56:46 -07:00
Jason Volk
86b0f8248f
modules/console: Add db command to list files.
2018-04-03 11:52:14 -07:00
Jason Volk
66871bd598
modules/federation: Add invite endpoint; functional response w/o eval.
2018-04-02 23:20:50 -07:00
Jason Volk
bf127104f1
modules/federation: Add query endpoint; add profile handler.
2018-04-02 23:20:50 -07:00
Jason Volk
ded4ed507e
modules/client/profile: Rewrite m::NOT_FOUND propagation for appropos response.
2018-04-02 22:12:25 -07:00
Jason Volk
7b38d216b4
ircd: Ⓜ️ :v1: Fix user devices query and associated console cmd.
2018-04-02 18:40:52 -07:00
Jason Volk
7392469cad
modules/console: Fix missing event_id argument option in fed state cmd.
2018-04-02 18:40:52 -07:00
Jason Volk
37ab0ad00d
modules/console: Add fed command to get state ids.
2018-04-02 18:40:52 -07:00
Jason Volk
ebdb0896bb
client: Checkin disable sending of read receipt for now.
2018-04-02 16:00:05 -07:00
Jason Volk
738eb0782e
modules/m_room_member: Add preliminary type stub from hooks out of client/rooms/join.
2018-03-28 22:17:09 -07:00
Jason Volk
15b995cee8
modules/m_presence: Move presence committer/getter into client/presence.
2018-03-28 22:17:09 -07:00
Jason Volk
d48f46a0ac
modules/m_typing: Move m.typing committer into client/rooms/typing.
2018-03-28 22:17:09 -07:00
Jason Volk
cbc4852e16
modules/m_receipt: Move m.receipt committer into client/
2018-03-28 22:17:09 -07:00
Jason Volk
53d7e79c41
modules/m_room_create: Add preliminary type stub from the hooks out of client/createroom.
2018-03-28 22:17:09 -07:00
Jason Volk
46ef2231ab
ircd: Ⓜ️ Add a vm::opts* to m:room as a vehicle for opts to eval.
2018-03-28 22:17:09 -07:00
Jason Volk
b938669ba3
modules/federation/send: Remove unnecessary exception handler here.
2018-03-28 18:12:34 -07:00
Jason Volk
16154a21df
modules/console: Command to unload a loaded module; + report on reload.
2018-03-28 01:29:58 -07:00
Jason Volk
09f345c7b9
modules/console: Add fed groups console command.
2018-03-28 01:29:58 -07:00
Jason Volk
28c7494acb
modules/federation: Add get_groups_publicised stub to shut it up.
2018-03-28 01:29:58 -07:00
Jason Volk
fc212e8399
modules/console: Command to load a module that isn't already loaded.
2018-03-28 00:13:32 -07:00
Jason Volk
98c9e199da
modules/console: Add command to list deltas in a single txn by seqnum.
2018-03-27 21:44:01 -07:00
Jason Volk
ce715f62c7
modules/console: Add manual room join w/ injection placement event_id.
2018-03-27 21:44:01 -07:00
Jason Volk
ff1fe4284d
ircd: Ⓜ️ Add central linkage for join by alias; move bootstrap to rooms/join.
2018-03-27 21:44:01 -07:00
Jason Volk
b49cdb84e8
modules/federation/sender: Synchronize with vm accept under shared lock.
2018-03-27 01:50:17 -07:00
Jason Volk
47edaed3a6
ircd::server: Add stats for total bytes up and down to peer and links.
2018-03-26 23:29:58 -07:00
Jason Volk
270120c922
ircd::server: Rename _total() to _size() for bytes accounting.
2018-03-26 23:29:58 -07:00
Jason Volk
275fe9d957
modules/client/rooms/read_markers: Handle room_id has read marker.
2018-03-26 23:29:58 -07:00
Jason Volk
80278462e3
modules/federation/sender: Remember how to use own synchronization primitives; fix origin call.
2018-03-26 23:29:57 -07:00
Jason Volk
32f99e75d9
modules/root: Disconnect the client for errors here for now.
2018-03-26 02:33:33 -07:00
Jason Volk
04b4a379bb
modules/m_receipt: Checkpoint another level of the madness.
2018-03-26 02:23:20 -07:00
Jason Volk
16483aaea2
modules/console: Support alternative HTML output; start with 'net peer'.
2018-03-26 00:33:26 -07:00
Jason Volk
1ceaa73e5b
modules/console: Extend arguments for options string.
2018-03-26 00:12:16 -07:00
Jason Volk
68382cb209
modules/console: Permute the output type again, now with custom wrapper.
2018-03-26 00:04:47 -07:00
Jason Volk
60a28ab5a8
modules/console: Eliminate output stream global; improve output related; various cleanup.
2018-03-25 23:40:35 -07:00
Jason Volk
e4194e3589
modules/console: Add room alias type to room id cmd.
2018-03-25 18:33:40 -07:00
Jason Volk
9830a4347b
modules/s_control: Plug the console into the control room.
2018-03-25 18:12:17 -07:00
Jason Volk
f7458f5315
modules/console: Self-reflecting console command tree.
2018-03-25 17:59:07 -07:00
Jason Volk
154f7a9f59
modules/console: Command to raw erase event and rel metadata from db.
2018-03-24 23:29:46 -07:00
Jason Volk
907f2d0435
modules/console: Add net__peer__version to list all gathered peer.server_name.
2018-03-24 18:06:03 -07:00
Jason Volk
065370c38a
configure.ac: parameter package.
2018-03-24 03:19:16 -07:00
Jason Volk
429095636f
modules/console: Fed event cmd hashes and verifies w/ report.
2018-03-23 00:22:05 -07:00
Jason Volk
5d41b4e00b
modules/console: Fix fed event remote argument.
2018-03-23 00:19:55 -07:00
Jason Volk
287b5d6374
modules/console: fed state command mimics fed backfill w/ eval.
2018-03-23 00:19:55 -07:00
Jason Volk
635e09c80e
modules/console: Add cmd to iterate event_id txns from seq num w/ limit.
2018-03-22 22:27:12 -07:00
Jason Volk
fcbc2bf650
ircd::db: Add database checkpointing feature.
2018-03-22 20:08:50 -07:00
Jason Volk
faefd5dd64
modules/client/join: Add relevant user profile values to join event iov.
2018-03-22 16:28:43 -07:00
Jason Volk
7bfd050131
modules/client/profile: Various cleanup; use profile suite; urldecode key params.
2018-03-22 16:27:42 -07:00
Jason Volk
2116cf6254
ircd: Ⓜ️ Add user::profile suite w/ linkage to modules/client/profile.
2018-03-22 16:27:15 -07:00
Jason Volk
438762ff8e
modules/s_control: Use HTML table for conf list.
2018-03-22 15:16:40 -07:00
Jason Volk
977ebd4e47
modules/console: Start a conf cmd; add direct list subcmd for now.
2018-03-22 14:44:54 -07:00
Jason Volk
9d69e5a405
modules: Export conf item get/set in s_conf; import for s_control interface.
2018-03-22 14:43:18 -07:00
Jason Volk
ce084a1df0
modules/client/root: Stream from aio -> chunked encoding -> you.
...
Next is the mmap() with ctx::wait for pf w/ mincore() ...
2018-03-22 00:49:54 -07:00
Jason Volk
1846dd379d
modules/federation/sender: Consistent origin from node::id; fix curtxn assignment.
2018-03-21 17:12:49 -07:00
Jason Volk
d81291e367
modules: Fix various mapi header names.
2018-03-16 23:48:05 -07:00
Jason Volk
8eb1f4df40
ircd/modules: Consistent hook site names "vm notify" -> "vm.notify".
2018-03-16 21:42:22 -07:00
Jason Volk
bd29dec087
modules/client/rooms/read_markers: Condition on non-empty marker.
2018-03-16 12:47:39 -07:00
Jason Volk
67aaa00b63
modules/federation/sender: Determine a purge flow for errored nodes.
2018-03-15 22:25:16 -07:00
Jason Volk
a48426e25d
ircd/modules: Migrate some log messages to new facilities.
2018-03-15 22:25:16 -07:00
Jason Volk
be6a5b7767
modules/m_receipt: Add committer w/ central linkage; read_markers.
2018-03-14 22:53:34 -07:00
Jason Volk
f11c98db34
modules: Add m.receipt; edu handler stack frames.
2018-03-14 21:30:10 -07:00
Jason Volk
ffafb70511
modules/federation/sender: Recv timeout worker only calls cancel, not erase.
2018-03-14 18:09:01 -07:00
Jason Volk
368c803575
modules/client/rooms/typing: Implement typing handler and timeout for our client.
2018-03-14 17:47:59 -07:00
Jason Volk
bda7836ebe
ircd: Ⓜ️ Move typing commitment to modules/m_typing; central interface/linkage.
2018-03-14 17:47:59 -07:00
Jason Volk
56b23af467
modules/federation/sender: Unified EDU/PDU path when room_id is available.
2018-03-14 16:26:16 -07:00
Jason Volk
02b6df94f4
modules/federation/sender: Query ircd::server for peer error before new node creation.
2018-03-14 16:26:16 -07:00
Jason Volk
67b2f13c64
modules/client/rooms/typing: Add the typing commitment here for now.
2018-03-14 16:26:16 -07:00
Jason Volk
5a933ee713
modules/federation: Checkpoint preliminary sender.
2018-03-14 16:26:16 -07:00
Jason Volk
dea86cd26e
modules/client/profile: Simplify content access; fix unquoting.
2018-03-12 16:12:39 -07:00
Jason Volk
09923ff758
ircd::server: Add external interface to clear a peer error; w/ console command.
2018-03-12 14:20:39 -07:00
Jason Volk
f0b5656fda
ircd: Ⓜ️ Push user creation out to module.
2018-03-11 13:40:24 -07:00
Jason Volk
e2569b4cb6
ircd: Disambiguate the litany of response argument variations.
2018-03-09 17:10:45 -08:00
Jason Volk
e123cfb395
modules/console: Add various throwing timeouts.
2018-03-09 17:10:45 -08:00
Jason Volk
b284f707e5
ircd: Ⓜ️ :v1: Support query for client_keys; add console command.
2018-03-09 17:10:45 -08:00
Jason Volk
9b6ef1189b
ircd: Ⓜ️ :v1: Support query for user_devices; add console command.
2018-03-09 17:10:45 -08:00
Jason Volk
08fc944021
ircd: Ⓜ️ Tweak specifics of user/account creation/activation related.
2018-03-09 17:10:45 -08:00
Jason Volk
9fa98055ff
modules/federation/get_missing_events: Implement get_missing_events handler.
2018-03-08 21:27:32 -08:00
Jason Volk
003544edad
modules/console: Add fed backfill command.
2018-03-08 19:11:47 -08:00
Jason Volk
14a41e9f58
modules/client/join: Checkpoint preliminary bootstrapper.
2018-03-08 16:34:38 -08:00
Jason Volk
84e37b9635
modules/client/account: Fix user account activation related.
2018-03-08 16:29:51 -08:00
Jason Volk
e53582d749
modules/media: Checkpoint preliminary file room concept.
2018-03-08 12:38:02 -08:00
Jason Volk
be2a7007fa
ircd: Ⓜ️ Add exists(room_alias) with option for remote query; translate not_found exception.
2018-03-08 11:39:37 -08:00
Jason Volk
51fe770d74
modules: Add m_typing eval stub.
2018-03-08 10:08:38 -08:00
Jason Volk
8d053c9aba
modules/m_presence: Add m.presence evaluator.
2018-03-07 13:28:15 -08:00
Jason Volk
901a77266e
ircd: Ⓜ️ :vm: Massage edus through the core eval path; rename inserted to accept.
2018-03-07 13:28:15 -08:00
Jason Volk
90528245de
modules/s_conf: Update conf items from !conf state values on startup.
2018-03-06 11:57:57 -08:00
Jason Volk
143c867ad8
modules: Rename s_console back to console so it's not mapped by ircd: Ⓜ️ :modules.
2018-03-06 07:50:14 -08:00
Jason Volk
1a65c1ed47
modules/console: Add fed head command.
2018-03-06 07:50:14 -08:00
Jason Volk
191c9db5c0
modules/console: Add command to get the hashed room id of entity.
2018-03-06 00:24:32 -08:00
Jason Volk
c864a6b446
ircd: Ⓜ️ Move keys related into modules/key; keys into node's room; remaining keys.cc into m.cc.
2018-03-06 00:10:36 -08:00
Jason Volk
71a46f5dc7
modules/key/server: Checkpoint what's here; also reactivate the seeded test.
2018-03-05 23:47:23 -08:00
Jason Volk
63614107f8
ircd: Ⓜ️ Introduce the node and the node::room.
2018-03-05 23:47:23 -08:00
Jason Volk
327e4da356
ircd::server: Rename node to peer.
2018-03-05 06:59:10 -08:00
Jason Volk
76e16927c7
ircd: Ⓜ️ Move user activation definition into client/accounts near is_active().
2018-03-05 05:24:45 -08:00
Jason Volk
ec0d151827
ircd: Ⓜ️ Move user::password related to modules/client/account/password.
2018-03-05 05:24:45 -08:00
Jason Volk
1723a48e89
ircd: Ⓜ️ Move user::is_active() to modules/client/account.
2018-03-05 05:24:45 -08:00
Jason Volk
f8dc84d46e
ircd: Ⓜ️ Modularize the user::activate/user::deactivate definitions.
2018-03-05 05:24:45 -08:00
Jason Volk
01ce9a3d6f
ircd: Ⓜ️ Move spec tuples into headers.
2018-03-05 05:24:45 -08:00
Jason Volk
2dc94d7adc
modules: Move js modules into js/
2018-03-05 05:24:45 -08:00
Jason Volk
5c1cb57e9c
modules: Reorg conf/console related; add s_control.
2018-03-05 05:24:45 -08:00
Jason Volk
69b0acde63
ircd: Ⓜ️ Preliminary reorg around experimental presence interface.
2018-03-04 08:57:02 -08:00
Jason Volk
5a1d0a9f45
modules/client/register: Fix bug.
2018-03-04 08:57:02 -08:00
Jason Volk
9db8b9d6a5
modules/console: Add 'net node'; default list the nodes.
2018-03-03 10:17:05 -08:00
Jason Volk
69df7add10
modules/console: Add command to iterate the room::origins sequence.
2018-03-03 04:06:49 -08:00
Jason Volk
90e3b90775
ircd: Ⓜ️ Hook ctor rewrites local m::id's with my_host(); update affected hooks.
2018-03-03 04:06:49 -08:00
Jason Volk
389af728c4
modules/client/register: Add preliminary first_user_registered hook.
2018-03-03 01:00:33 -08:00
Jason Volk
6333003aad
ircd: Ⓜ️ Move user::activate() out to modules/client/register.
2018-03-03 00:51:27 -08:00
Jason Volk
1736a47068
modules/conf: Improve dump to use formatted HTML; improve hook related.
2018-03-02 23:22:52 -08:00
Jason Volk
150543ae91
ircd: Ⓜ️ Add linkage for user::presence;
...
modules/client/presence: reorg for linkage; minor cleanup.
2018-03-02 08:02:21 -08:00
Jason Volk
e8fd7eebe0
modules/conf: Introduce the !conf room and the !control interface.
2018-03-02 08:02:21 -08:00
Jason Volk
6dbb1864dd
modules/client/rooms/initialsync: Default on the membership check for unauth'ed user.
2018-03-02 08:02:21 -08:00
Jason Volk
51a3e0f33b
modules/federation/event: Update event fetch method.
2018-03-02 08:02:20 -08:00
Jason Volk
baa7a80b68
ircd: Various fixes; bump default db LRU cache sizes.
2018-03-02 08:02:20 -08:00
Jason Volk
8dee5dd81e
modules/media: Move GIL headers; Update README.
2018-03-02 08:02:20 -08:00
Jason Volk
4c89d17e68
modules/client/publicrooms: Use better hook for creating the public rooms room.
2018-03-02 08:02:20 -08:00
Jason Volk
15ec746fc6
modules/console: Add console command suite to view DNS caches.
2018-03-02 08:02:20 -08:00
Jason Volk
b0730143d1
modules/client/directory/room: Use more exact range on cache response.
2018-03-01 04:47:14 -08:00
Jason Volk
f7a4f5c939
modules/client/rooms/initialsync: Checkpoint what's here for now.
2018-02-28 21:25:25 -08:00
Jason Volk
59cad48ce5
modules/client/directory/room: Add TTL/expiration to cached entries.
2018-02-28 20:53:05 -08:00
Jason Volk
c27e911d26
modules/client/directory/room: Create and use the !alias room to cache room alias queries.
2018-02-28 20:52:58 -08:00
Jason Volk
b90d3a9447
modules/client/profile: Throw out here instead.
2018-02-27 02:44:32 -08:00
Jason Volk
aecbf3ebd0
modules/console: Checkin the room state type count command.
2018-02-27 02:36:08 -08:00
Jason Volk
6f6234fd38
modules/media/thumbnail: Various fixes: use dynamic content; use diff endpoint; throw errors.
2018-02-27 01:42:25 -08:00
Jason Volk
b555e3f446
ircd: Ⓜ️ :v1/modules/console: Checkpoint changes to buffers and opts for requests.
...
Issues:
- The move requirement here for opts is ugly without a better ctor.
- The ad hoc buffer reassignments in m::v1 need to be improved.
2018-02-26 22:02:47 -08:00
Jason Volk
071488d96e
modules/client/join: Forward alias join to room_id join; comment.
2018-02-26 20:59:33 -08:00
Jason Volk
3cc3f6da3d
modules/media/upload: Checkpoint rename to hash fwiw.
2018-02-26 20:51:42 -08:00
Jason Volk
5c5a5d3c83
modules/media/download: Add the deprecated /v1/ url handler for Riot.
2018-02-26 05:42:46 -08:00
Jason Volk
e67ce2b43e
ircd: Ⓜ️ Add room_alias -> room_id outsourcing; plug in modules/client/join.
2018-02-26 04:55:27 -08:00
Jason Volk
e594063e0c
modules/client/join: Determine and route room_id_or_sigil appropriately.
2018-02-26 04:32:25 -08:00
Jason Volk
10eb0b3216
modules/media: 11.7.1.4 Thumbnail; remote fetch.
2018-02-26 04:16:51 -08:00
Jason Volk
8f9a4aad7d
modules/client/createroom: Add json::tuple of all spec params to parse request.
2018-02-26 01:40:41 -08:00
Jason Volk
e7b6f4bac6
ircd: Ⓜ️ Add vm_notify hook::site; add hook to create public rooms room.
2018-02-26 01:40:41 -08:00
Jason Volk
da8ef9e08e
modules/client/events: Update/fix this stub for room previews.
2018-02-25 04:19:37 -08:00
Jason Volk
3d016b9e04
modules/client/rooms: Stub initialSync handler for room previews in Riot.
2018-02-25 04:19:37 -08:00
Jason Volk
c41a3dc25c
ircd: Ⓜ️ :v1: Add overloads to derive query remote from mxids.
2018-02-25 02:05:43 -08:00
Jason Volk
8c24d590a4
modules/client/profile: Plug in remote user profile query; minor reorg.
2018-02-25 00:38:42 -08:00
Jason Volk
979f585688
modules/client/directory: Plug v1::query::directory into GET directory/room
2018-02-25 00:30:45 -08:00
Jason Volk
42fcdf392e
modules/console: Checkpoint additional fed commands.
2018-02-24 23:54:56 -08:00
Jason Volk
bc7efd8bff
modules/client: Stub publicised_groups endpoint.
2018-02-24 01:14:26 -08:00
Jason Volk
9d1d0c84a9
modules/client/rooms/messages: Implement pagination tokens.
2018-02-24 01:14:26 -08:00
Jason Volk
6385759769
modules/client/directory/user: Implement user directory result query.
2018-02-23 23:35:09 -08:00
Jason Volk
4a42e9d6b7
ircd: Ⓜ️ Move the rooms commit...thing to modules/client/rooms.
...
modules/client/rooms: Cleanup; renamespacing.
2018-02-22 20:46:27 -08:00
Jason Volk
7d4d88de73
ircd: Ⓜ️ Move and relink all the state/non-state sends()/message();
...
modules/client/rooms/state: reorg / renamespacing.
modules/client/rooms/send: renamespacing.
2018-02-22 20:32:10 -08:00
Jason Volk
44ff77a03f
ircd: Ⓜ️ Move redact() definition to modules/client/rooms/redact
...
modules/client/rooms/redact: renamespacing.
2018-02-22 20:32:10 -08:00
Jason Volk
99239c8b95
ircd: Ⓜ️ Move leave() definition to modules/client/rooms/leave.
2018-02-22 20:32:10 -08:00
Jason Volk
116b6e12a6
ircd: Ⓜ️ Move join() definition to modules/client/rooms/join.
2018-02-22 20:32:09 -08:00
Jason Volk
09519174e2
ircd: Ⓜ️ Move room create() definition to modules/client/createroom.
2018-02-22 20:21:47 -08:00
Jason Volk
e6de770499
modules/client/rooms: Spec out the params in the 7.4 endpoints.
2018-02-22 01:35:00 -08:00
Jason Volk
ed96588155
modules/media/download: Replace old stub with new stub involving magic::mime.
2018-02-21 17:46:24 -08:00
Jason Volk
34d1ea4afc
modules/client/user: Stub handler for 11.18.2.2 PUT rooms/account_data; fix parv check.
2018-02-21 16:57:41 -08:00
Jason Volk
599b53d20b
modules/client/directory/room: Stub missing 7.2.1 PUT; minor cleanup.
2018-02-21 16:57:41 -08:00
Jason Volk
57dc15dba4
modules/console: Add debugmode toggle cmd; test cmd frame; preliminary mxid-deduction stubs.
2018-02-21 16:18:44 -08:00
Jason Volk
87aece1dd7
modules/client/publicrooms: Checkpoint empty responses.
2018-02-21 15:41:09 -08:00
Jason Volk
d90f369c6d
modules/client: Stub unstable thirdparty/protocols to quash Riot error.
2018-02-21 15:41:09 -08:00
Jason Volk
186239a5e4
modules/client/publicrooms: Stub missing 7.5.2 POST method.
2018-02-21 15:40:58 -08:00
Jason Volk
083397c03d
modules/client/rooms: Stub the remaining room operation endpoints.
2018-02-21 15:22:04 -08:00
Jason Volk
754a9366fb
modules/client/user: Stub openid/ openid/request_token.
2018-02-20 15:40:40 -08:00
Jason Volk
fa8e2e7f0e
modules/console: Show error where eval stopped in exec.
2018-02-19 20:56:45 -08:00
Jason Volk
8fd89229ef
modules/console: Support exec for any specific room_id/event_id/sender.
2018-02-19 20:56:45 -08:00
Jason Volk
0f9fe4a712
modules/console: Fix object size; default bad_command{} in room command.
2018-02-19 19:45:44 -08:00
Jason Volk
091efbdabe
modules/client/directory: Stub user search endpoint.
2018-02-19 19:45:44 -08:00
Jason Volk
d869c479c6
modules/console: Sort the mod list.
2018-02-19 19:45:44 -08:00
Jason Volk
0126fd9701
modules/console: Add fed command handler; add fed version command.
2018-02-19 19:45:44 -08:00
Jason Volk
af47471830
modules/federation: Add version endpoint.
2018-02-19 16:51:28 -08:00
Jason Volk
74f1a835b9
modules: Minor Makefile cleanup.
2018-02-19 12:43:13 -08:00
Jason Volk
2e68f18328
modules/console: Add mod reload command.
2018-02-19 00:37:19 -08:00
Jason Volk
7142cbf735
ircd: Move magic out of fs::.
2018-02-18 22:54:54 -08:00
Jason Volk
092b4d3ace
modules/root: Supplement content-type/MIME-type with ircd::fs::magic interface.
2018-02-18 01:12:09 -08:00
Jason Volk
283a561c01
modules/media/upload: 11.7.1 Asynchronous upload dialectic demonstration.
2018-02-17 21:42:27 -08:00
Jason Volk
ea8dcdf619
modules/client/keys: Stub keys/query for device list.
2018-02-16 17:28:06 -08:00
Jason Volk
da9393016d
modules/client: Cleanup/consistency in register/login handle stack.
2018-02-16 17:17:18 -08:00
Jason Volk
06e33f40a1
modules/client/presence: Dup the user_id in the content for now: simpler on out-side.
2018-02-16 13:33:19 -08:00
Jason Volk
023990888b
modules/client: Fix error.
2018-02-16 13:33:19 -08:00
Jason Volk
38db46aad4
modules/client/rooms: 6.4.1/6.4.2 PUT state.
2018-02-16 13:33:18 -08:00
Jason Volk
b121c4377b
modules/client/rooms: 6.3.5 GET joined_members; minor cleanup.
2018-02-16 12:37:21 -08:00
Jason Volk
a9b42926fa
modules/client/events: Dumbstub this endpoint for 11.6 and requiring a room_id for now.
2018-02-16 12:07:12 -08:00
Jason Volk
fa4d31292f
modules: Shrink these to a reasonable block size for now.
2018-02-16 11:56:32 -08:00
Jason Volk
632b1e6f0f
ircd: Ⓜ️ Curse the cursor.
...
modules/console: Update dump; add errcount.
2018-02-16 11:53:42 -08:00
Jason Volk
33e0d15f28
modules/client: 11.6 Presence to and from the user's user room timeline.
2018-02-15 19:59:59 -08:00
Jason Volk
c6855c58c3
modules/client/devices: Use the id::device; use the user::room.
2018-02-15 17:27:42 -08:00
Jason Volk
f7db9bd92f
modules/client/rooms: Add POST variant for redact.
2018-02-15 16:50:08 -08:00
Jason Volk
149db42d4e
modules/client/rooms: 6.5.2.1 PUT redact.
2018-02-15 16:50:08 -08:00
Jason Volk
7c030e1af2
modules/console: Add some room commands.
2018-02-15 16:35:50 -08:00
Jason Volk
bc186e832d
modules/client/register: Checkpoint hardcoded guest-reg block here for now.
2018-02-15 13:55:09 -08:00
Jason Volk
eab4aef7e6
ircd: Ⓜ️ /modules/client: Add device ID generation; use token/password helpers; various comments/cleanup.
2018-02-15 13:55:09 -08:00
Jason Volk
27a539f941
modules/client: Cleanup some numbering and descriptions.
2018-02-15 13:40:07 -08:00
Jason Volk
bfcfacfc50
modules/client: 11.9 Device Management (incomplete).
2018-02-14 22:07:01 -08:00
Jason Volk
9da8e233d6
modules/client: Update various thrown errors.
2018-02-14 22:07:01 -08:00
Jason Volk
38454022cd
ircd::m/modules: Add M_NEED_MORE_PARAMS.
2018-02-14 22:07:01 -08:00
Jason Volk
24aac22e33
modules/client/account: Stub an account/3pid response.
2018-02-14 22:07:01 -08:00
Jason Volk
5c171d6789
modules/client/profile: 8.2 Profiles :with the user's user room.
2018-02-14 22:06:35 -08:00
Jason Volk
3dd792033b
modules/client/account: 3.6.1 GET whoami
2018-02-14 22:06:20 -08:00
Jason Volk
575820d993
modules: Split client/account.
2018-02-14 21:49:46 -08:00
Jason Volk
d4e6e23804
modules: Split client/user.
2018-02-14 21:49:46 -08:00
Jason Volk
c45461d5f6
modules: Split modules/client/rooms; reorg Makefile.
2018-02-14 21:49:46 -08:00
Jason Volk
173d19ee6a
modules/client/sync: Give client more async() after /sync 408.
2018-02-13 18:36:30 -08:00
Jason Volk
5a73e631a6
modules/console: Add command to iterate messages forward and backward with seek to depth.
2018-02-13 15:08:52 -08:00
Jason Volk
b06412da76
modules/client/sync: Fix interpretation of the sync timeout query param.
2018-02-12 19:30:44 -08:00
Jason Volk
9c832482ef
modules/root: Add additional mime types.
2018-02-12 19:30:44 -08:00
Jason Volk
5f24883c1c
modules: Add minimum viable stubs for errorless Riot load.
...
modules/client/pushrules: Stub arrays for errorless Riot load.
2018-02-12 19:30:44 -08:00
Jason Volk
75dabda9c7
modules/client/sync: Checkpoint sync stubs.
2018-02-12 19:30:44 -08:00
Jason Volk
2be10ef206
ircd: Fix/Address client current request flow for longpolls.
2018-02-12 19:30:44 -08:00
Jason Volk
67fba3cd7b
ircd: Ⓜ️ Move filters into the user's user room.
2018-02-11 19:46:31 -08:00
Jason Volk
9c145394f9
modules/client/user: Add base handlers to switch the path params.
2018-02-11 15:47:25 -08:00
Jason Volk
5c641d63ef
modules/client/createroom: Update the createRoom endpoint handler.
2018-02-11 15:47:25 -08:00
Jason Volk
bbbb88fe46
modules/client/user: Reactivate the get filter endpoint.
2018-02-11 15:47:25 -08:00
Jason Volk
b86560c5f5
modules/client/sync: Reactivate sync with a trial using user's room.
2018-02-11 15:47:25 -08:00
Jason Volk
830a4b92a1
ircd: Ⓜ️ Add preliminary !@user:host "user's room" to database all things user.
2018-02-11 15:47:24 -08:00
Jason Volk
e3c419d25d
modules/federation/send: Increase the PUT payload_max.
2018-02-10 21:28:49 -08:00
Jason Volk
ca0e488ea5
modules/client/rooms: Reactivate the /messages endpoint (with zero param respect).
2018-02-10 19:56:01 -08:00
Jason Volk
535232603c
modules/console: Add room_id argument to exec command.
2018-02-10 13:12:23 -08:00
Jason Volk
b238818522
ircd: Ⓜ️ Convert room::members/origins iters to test proto; console update; various.
2018-02-10 13:05:01 -08:00
Jason Volk
23387155df
ircd: Ⓜ️ Candidate split room::state interface (const part).
2018-02-10 00:41:10 -08:00
Jason Volk
bc4072c4d1
modules/client/rooms: Reinstate the state related endpoints.
2018-02-09 21:34:44 -08:00
Jason Volk
0bf053197c
ircd::json: Massage away json::value template ctor.
2018-02-09 21:33:06 -08:00
Jason Volk
7f25e368bc
modules/console: Add a room command suite.
2018-02-08 21:00:50 -08:00
Jason Volk
7bff223748
modules/console: Adjust the state commands to use a root node ID arg for now.
2018-02-08 13:27:49 -08:00
Jason Volk
0cc37daf9d
modules/console: Improve the exec command.
2018-02-08 13:27:48 -08:00
Jason Volk
f5adae46d1
modules/console: Move the preliminary exec command over to conmod.
2018-02-08 10:45:37 -08:00
Jason Volk
a517acea60
modules/console: Add db command with list default sub-command.
2018-02-07 23:15:17 -08:00
Jason Volk
f925c9e5df
modules/console: Add command to backup the events database as json::vector to file.
...
This same vector can be replayed into a new database with an "exec" command.
2018-02-07 00:24:54 -08:00
Jason Volk
da38c9164f
modules/console: Partially move/add over key/event command trees.
2018-02-07 00:24:54 -08:00
Jason Volk
02edc327a3
modules/console: Add net command; move net host subcommand into module.
2018-02-06 13:20:24 -08:00
Jason Volk
ee0d6423f3
ircd: Move params back into ircd::util... (w/ manual inclusion).
2018-02-06 13:20:24 -08:00
Jason Volk
44f8868598
modules: Add reloadable console module with library of command handlers.
2018-02-06 12:50:25 -08:00
Jason Volk
025e1d7c78
ircd: Ⓜ️ Move events database description and instance to libircd.
2018-02-05 21:24:36 -08:00
Jason Volk
7b48bc9f40
ircd: Ⓜ️ :dbs: Checkpoint the meta-index "state_head for event_id in room_id"
2018-02-05 21:24:35 -08:00
Jason Volk
be624ca7f6
Update Copyrastafaris.
2018-02-05 21:24:34 -08:00
Jason Volk
d53eef4ab6
ircd: Eliminate the raw_buffer concept.
2018-02-05 18:54:55 -08:00
Jason Volk
63d28a77cc
ircd: Ⓜ️ :state: Make it right.
2018-02-02 15:06:12 -08:00
Jason Volk
8296adb6c3
ircd: Ⓜ️ :state: Try using a separate child array to store values at any level (partial).
2018-02-02 14:58:55 -08:00
Jason Volk
622086a12a
modules/client/register: Don't require auth object for r0.3.0.
2018-01-29 12:00:00 -08:00
Jason Volk
f12786959e
modules/client/register: Fix defaulting empty ?kind= to user.
2018-01-29 12:00:00 -08:00
Jason Volk
9c91f8d772
client: Fix cosmic ray.
2018-01-26 19:27:12 -08:00
Jason Volk
a9cada32db
ircd: Ⓜ️ Add dbs namespace; remove old interfaces; checkpoint various.
2018-01-26 18:12:46 -08:00
Jason Volk
e8a7f0aeef
modules/federation: Fix the /event/ response.
2018-01-24 18:40:19 -08:00
Jason Volk
5ab7dc6421
modules/client: filter_id is the event_id of the filter saved to the filter room...
2018-01-23 18:41:34 -08:00
Jason Volk
fffea204b9
modules: Add preliminary federation/get_missing_events handler.
2018-01-23 16:35:28 -08:00
Jason Volk
dc4b17f84a
ircd/modules: Fix init prio removal related.
2018-01-11 03:24:22 -08:00
Jason Volk
b801993309
client: Retro style; Minor cleanup.
2018-01-10 01:19:35 -08:00
Jason Volk
8bfd2b9dfe
modules: Minor cleanup versions handler.
2018-01-08 03:08:59 -08:00
Jason Volk
a549070f05
modules: Remove this manual include of <iterator> here.
2017-12-28 13:48:37 -07:00
Jason Volk
ba3d1e7af4
modules: Add stub media/upload.
2017-12-24 21:54:59 -07:00
Jason Volk
eafaae7846
client: Rename js directory.
2017-12-24 19:26:05 -07:00
Jason Volk
80931e4e86
ircd: Ⓜ️ Split m.cc; distribute inits; modules: Checkpoint matrix.
2017-12-12 14:59:40 -07:00
Jason Volk
d8bddbbff0
client: Preliminary refactor removal of rooms into rooms room; various.
2017-12-12 14:59:40 -07:00
Jason Volk
0d753cf52f
client: Alias Object.debug and mc.debug.object.
2017-12-12 14:59:40 -07:00
Jason Volk
f931308850
ircd/modules: Update resource / opts construction arguments.
2017-12-12 14:59:40 -07:00
Jason Volk
5b2facd8e3
client: Add a toggle() functional util.
2017-12-12 14:59:40 -07:00
Jason Volk
0565301560
ircd: Ⓜ️ Remove the is_state mistake.
2017-12-12 14:59:40 -07:00
Jason Volk
03dea97bb2
ircd: Add preliminary RFC3986 grammar; move urlencoding there.
2017-12-12 14:59:40 -07:00
Jason Volk
1a1a50f5f3
Checkpoint reorganization.
2017-11-30 12:30:19 -08:00
Jason Volk
5d53cdab5e
ircd: Ⓜ️ Checkpoint matrix.
2017-11-30 11:23:47 -08:00
Jason Volk
528b7047e9
modules: Checkpoint matrix various.
2017-11-30 11:23:47 -08:00
Jason Volk
1cbd0ab8ba
client: Update room summary related; may break synapse compat; possibly issue with IRCd /state/ response.
2017-11-30 11:23:47 -08:00
Jason Volk
7c4659e089
client: Updates; support ircd.key state event; various.
2017-11-30 11:23:47 -08:00
Jason Volk
31b778ee0b
ircd: Ⓜ️ Improve server keys related functions.
2017-11-30 11:23:46 -08:00
Jason Volk
f7224dc801
client: Checkpoint client.
2017-11-30 11:23:45 -08:00
Jason Volk
4793e4906c
ircd: Ⓜ️ Checkpoint matrix top-half / modules.
2017-11-30 11:23:44 -08:00
Jason Volk
94aac875f1
client: Fixes/improvements to client.
2017-11-30 11:23:44 -08:00
Jason Volk
688ff545d6
client: Update; Add m.room.name timeline display handler; Various.
2017-11-30 11:23:43 -08:00
Jason Volk
62133d09b7
client: Various fixes.
2017-11-30 11:23:42 -08:00
Jason Volk
1517d784c7
client: Fix room join bitrot.
2017-11-30 11:23:41 -08:00
Jason Volk
ef2aa0d249
client: Fix error scope related bitrot.
2017-11-30 11:23:41 -08:00
Jason Volk
f10662fe7d
ircd: Ⓜ️ Checkpoint matrix.
2017-11-30 11:23:40 -08:00
Jason Volk
f89d6f651c
modules: Add preliminary federation and media directories.
2017-11-30 11:23:40 -08:00
Jason Volk
43e35786ce
ircd: Move subsystem 'index header' into subsystem directories.
2017-10-19 01:38:03 -07:00
Jason Volk
678ff574b5
ircd::client: Fix some scroll and event creation related; Various style;
2017-10-15 21:31:06 -07:00
Jason Volk
115940e803
ircd::http: Preserve leading slash from user's URL so we can use it for X-Matrix auth.
2017-10-15 21:26:05 -07:00
Jason Volk
a3f7a41650
ircd::json: Rename json::string to json::strung and maintain json::string as intuitive type.
2017-10-15 21:18:42 -07:00
Jason Volk
18bbf758f3
ircd/modules: Improve path param parsing related; various m:: related.
2017-10-11 20:54:03 -07:00
Jason Volk
51672cdf2d
client: Fixes to style; fix bugs.
2017-10-11 20:54:01 -07:00
Jason Volk
b9f13ed2c2
ircd: Remove cruft.
2017-10-11 20:54:01 -07:00
Jason Volk
edcd95cd8f
modules/ircd: Ⓜ️ Upgrade various json tuple templates with string literals.
2017-10-11 18:18:19 -07:00
Jason Volk
20869309a2
Checkpoint matrix with preliminary federation client and keyserver related.
2017-10-03 04:27:15 -07:00
Jason Volk
3a9696fb6c
ircd: Ⓜ️ Add all spec'ed event fields to event tuple.
2017-10-03 04:27:15 -07:00
Jason Volk
4f50cba4a7
client: minor fix style; minor fix exception handling.
2017-10-03 04:27:15 -07:00
Jason Volk
01d7ec1560
modules: Various fixes; cleanup.
2017-10-03 04:27:13 -07:00
Jason Volk
189de14f1e
modules: Replace hardcoded hosts with my_host().
2017-10-03 04:27:13 -07:00
Jason Volk
b18413e0ed
client: Fixes to client.
2017-10-03 04:17:11 -07:00
Jason Volk
babde26165
make: Minor cleanup.
2017-10-03 04:17:10 -07:00
Jason Volk
6dfe034f6f
client: Fixes.
2017-10-03 04:17:09 -07:00
Jason Volk
5d7eee1937
ircd: Ⓜ️ Simplify the event query interface by making more internal decisions from query data.
2017-10-03 04:17:08 -07:00
Jason Volk
92a8d8e2bf
ircd: Ⓜ️ Improve interfaces; Add prelim sync loop; Add send resource handler.
2017-10-03 04:17:07 -07:00
Jason Volk
d4508e157f
ircd: Ⓜ️ Deduplicate user related in m::user. Update various resource related.
2017-09-24 20:48:53 -07:00
Jason Volk
c032c686f6
Checkpoint matrix application basis.
2017-09-24 18:16:45 -07:00
Jason Volk
54d6793f59
Update various documentation and comments.
2017-09-24 18:16:33 -07:00
Jason Volk
db748cae81
ircd::resource: Accept json::member for response for now.
2017-09-24 18:16:32 -07:00
Jason Volk
ace878b887
ircd::json: Rename tuple member to property.
2017-09-08 03:47:53 -07:00
Jason Volk
85b699c286
Various makefile cleanup.
2017-09-08 03:47:53 -07:00
Jason Volk
1cea631f60
ircd::m modules: Matrix reinterface checkpoint.
2017-09-08 03:47:53 -07:00
Jason Volk
fa41c1db5f
ircd: Ⓜ️ Reorg location of database descriptions.
2017-08-23 15:52:14 -06:00
Jason Volk
0149610bb2
ircd: Various matrix library / modules / database development.
2017-08-23 15:51:34 -06:00
Jason Volk
caa6ed58e5
ircd: Makefile improvements.
2017-08-23 15:39:41 -06:00
Jason Volk
4fd787d9d5
ircd::json/modules: Rename various types.
2017-08-23 15:32:28 -06:00
Jason Volk
36eb3a778d
client: Various fixes to the client.
2017-08-23 15:28:25 -06:00
Jason Volk
c9e947e66f
ircd: Remove aborted cruft.
2017-08-23 15:27:41 -06:00
Jason Volk
4d4a56fe9c
ircd::js: Upgrade SpiderMonkey to esr52 from esr45.
2017-08-23 15:25:22 -06:00
Jason Volk
59e05b44be
modules: Add initial UI for IRCd served over HTTP running Matrix.
...
Client Alpha (Chlamydia Client)
2017-08-23 15:15:01 -06:00
Jason Volk
a3117391b5
ircd/modules: Preliminary matrix scaffold.
2017-08-23 15:10:28 -06:00
Jason Volk
a25143b035
charybdis/modules: Fix Makefile argument related.
2017-08-23 14:55:58 -06:00
Jason Volk
7ff04618c0
ircd;modules: Minor Makefile tweaks.
2017-04-04 16:10:29 -07:00
Jason Volk
b07169dd69
Update Makefile flags for libraries to show more linkage issues.
2017-03-30 16:04:20 -07:00
Jason Volk
8ef53f2640
ircd: Move and improve socket listener device.
2017-03-30 16:04:19 -07:00
Jason Volk
f1c5257201
modules: Add initial: versions, register, login.
2017-03-30 16:03:41 -07:00
Jason Volk
c9ddf4f6ab
ircd: Add lex_cast wrapper interface; various cleanup.
2017-03-14 15:03:15 -07:00
Jason Volk
472ee2c648
ircd: HTTP interface function-objects et al.
2017-03-13 18:44:00 -07:00
Jason Volk
49c2a5361c
ircd: Various fixes.
2017-03-13 14:43:27 -07:00
Jason Volk
b592b69b86
What is the Matrix? Control.
2017-03-10 17:51:18 -08:00
Jason Volk
8b0fe0318f
gold linker.
2016-11-25 19:23:50 -08:00
Jason Volk
0d3ddb9bd7
[prelim] modules: Add js kernel.
2016-11-25 19:23:50 -08:00
Jason Volk
edbc19790e
modules: Stub crypto module.
2016-11-25 19:23:50 -08:00
Jason Volk
eef5b78112
modules: Add stream interface object.
2016-11-25 19:23:50 -08:00
Jason Volk
63a6a82ea2
modules: Add assert object for Node.js style tests.
2016-11-25 19:23:50 -08:00
Jason Volk
848337a76b
modules: Add net with Node.js compatible net.Socket / net.Server.
2016-11-25 19:23:50 -08:00
Jason Volk
7b4c06575f
modules: Add DNS module with Node.js compatible lookup().
2016-11-25 19:23:50 -08:00
Jason Volk
4fa9985399
modules: Add Events prototype.
2016-11-25 19:23:50 -08:00
Jason Volk
53f355e41d
modules: Add preliminary console to support js-style console.log() et al.
2016-11-25 19:23:49 -08:00
Jason Volk
4127367a46
modules: Add preliminary "require" to load additional modules into js.
2016-11-25 19:23:49 -08:00
Jason Volk
67af461540
modules: Update future object to support async contracts.
2016-11-25 19:23:49 -08:00
Jason Volk
a4f55b4627
ircd::mods: Reorganize and distill interface.
2016-11-25 19:23:49 -08:00
Jason Volk
b8f5366f52
ircd::js: Improve trap callback arguments; add this
value.
2016-11-13 16:34:00 -08:00
Jason Volk
edd77d2265
ircd::js: Add asynchronous state and completion target mechanism.
2016-11-13 16:33:22 -08:00
Jason Volk
2f645941a8
ircd::ctx: Move ctx headers into directory.
2016-11-13 16:29:45 -08:00
Jason Volk
998724937c
[temp] Checkpoint test.
2016-10-13 21:55:53 -07:00
Jason Volk
757d7e10a8
[temp] checkpoint some crap which isn't going to stick.
2016-09-27 17:29:06 -07:00
Jason Volk
d8d2fe1564
ircd: Add scope 'life_guard' util for references in reentrant contexts.
2016-09-22 16:18:31 -07:00
Jason Volk
fcd410d656
ircd::client: Add timer logic to client socket/io.
...
Note: Not sure if I like two reference counters for each client,
ideally, but we'll see where it goes after abstractions.
2016-09-21 16:29:30 -07:00
Jason Volk
26a3cd8441
Preliminary new client. Reorg/renames for ircd::client struct symbol.
2016-09-21 16:29:29 -07:00
Jason Volk
4ac4244876
Add m_host "HOST" command for DNS resolution.
2016-09-21 16:29:28 -07:00
Jason Volk
556ceba8a0
ircd: new client; start over.
2016-09-21 16:29:28 -07:00
Jason Volk
5b55e60015
Add P-Line listener module.
2016-09-21 16:29:28 -07:00
Jason Volk
2742547826
Introduce modular configuration system.
2016-09-21 16:28:51 -07:00
Jason Volk
9275429ee1
Replace command system.
2016-09-09 16:17:36 -07:00
Jason Volk
12c836dc6e
Rip out libltdl.
2016-09-09 16:17:02 -07:00
Jason Volk
9d0a959bb5
MAPI IV. This iteration leverages the C++11 standardized RTTI.
...
* Simplifies the export declarations for module developers. While
MAPI III utilized a flexible key-value vector to eliminate positional
arguments in a header initializer, now the developer simply makes
a list of pointers to what they want to export for injection into
IRCd. Example:
mapi::header IRCD_MODULE
{
"mymod",
"My module adds a command, a hook, and a CLICAP",
&my_cmdtab,
&some_hook,
&clicaptab
};
* Distributes the handlers for items passed to the above vector.
Anyone can add a type-handler to the module system from anywhere in IRCd
(and other modules?) When your type is encountered a handler is called
providing the symbol name to read out of the module. Example in parser.cc:
mods::add_loader<Message>([]
(mod &loading, const std::string &symbol)
{
auto &msg(get<Message>(loading, symbol));
add_command(msg.name, msg);
});
2016-09-09 16:17:01 -07:00
Jason Volk
3ebde4ab50
Convert umodes to mode_lease mechanism.
2016-09-09 16:17:01 -07:00
Jason Volk
127378b57c
Refactor logger.
2016-09-09 16:17:00 -07:00
Jason Volk
052a6c8d22
Refactor snomask.
2016-08-28 01:48:25 -07:00
Jason Volk
21cfd2eefd
ircd: Rename newconf name conflict.
2016-08-26 08:50:11 -07:00
Jason Volk
d9e90e8937
ircd::cache: Convert send function arguments client* -> client&
2016-08-25 04:57:23 -07:00
Jason Volk
5f79420c29
Refactor isupport.
2016-08-25 03:01:45 -07:00
Jason Volk
9c16de2d41
Refactor whowas.
2016-08-25 02:34:28 -07:00
Jason Volk
5f218cdbb2
Refactor scache.
2016-08-25 02:07:11 -07:00
Jason Volk
3e26e7ab44
ircd: Move tgchange related into namespace.
2016-08-25 02:07:11 -07:00
Jason Volk
f33b369609
Refactor umodes.
2016-08-23 15:25:09 -07:00
Jason Volk
06b84579e3
modules/extensions: LDFLAGS += --no-allow-shlib-undefined
2016-08-23 05:22:38 -07:00
Jason Volk
b65c5430f2
Refactor client flags.
2016-08-23 05:22:38 -07:00
Jason Volk
ab9a8e5c04
Convert all client handler arguments to reference type.
2016-08-23 05:22:38 -07:00
Jason Volk
dd9124b687
Preliminary Client refactor.
...
Add client to ircd::client:: namespace.
Also move former struct User and struct Server into client.cc as
opaque structure demo.
2016-08-22 15:56:12 -07:00
Jason Volk
90093b82e6
Upgrade user struct.
2016-08-21 15:30:22 -07:00
Jason Volk
68b8a83419
ircd: Reduce is_chanop_voiced().
2016-08-21 15:30:22 -07:00
Jason Volk
9835d43977
Upgrade channels structure.
2016-08-20 20:39:29 -07:00
Jason Volk
5752be41b8
Upgrade channel membership lists.
2016-08-20 19:30:35 -07:00
Jason Volk
276cad4275
Upgrade the channel invite list.
2016-08-20 19:30:35 -07:00
Jason Volk
a84fe8a09b
Upgrade bqeI channel lists.
2016-08-20 19:30:35 -07:00
Jason Volk
125e3b21f2
ircd: Improve/rename channel name check related.
2016-08-20 19:30:34 -07:00
Jason Volk
7d44e271f7
Better names for some channel mode convenience former-macros.
2016-08-20 19:30:34 -07:00
Jason Volk
1e07182f3e
Remove CheckEmpty() from macro scope.
2016-08-20 19:30:34 -07:00
Jason Volk
f5143fbf73
Add channel structure into namespace + remove related rb_banheaps.
2016-08-20 19:30:34 -07:00
Jason Volk
03660fc4b0
Refactor chmode into namespace.
...
She's still a bit of a mess.
2016-08-20 19:30:34 -07:00
Jason Volk
f112111e51
Add rfc1459:: case compliance namespace.
2016-08-20 19:30:34 -07:00
Jason Volk
3f6d567285
ircd: Improve/refactor version.cc -> info.cc related.
2016-08-20 19:30:34 -07:00
Jason Volk
60c044d78a
Fix redundant/conflicting namespace labels.
2016-08-20 19:30:33 -07:00
Jason Volk
fc4af83fdf
Remove __unused macro.
2016-08-20 19:30:33 -07:00
Jason Volk
61b517ca3c
Precompile and remove most include directives. Notes:
...
* To benefit from the precompiled-header (PCH) it MUST provide "the first C token."
Advantages:
Never worry about the include stack again. Remember, this means one less thing
for random module developers, community people learning C++, and new developers
to deal with. It should reduce the learning curve and barrier for participation.
Disadvantages:
Makes overall compilation a bit slower, especially without any additional
work to improve it again. There are several opportunities, places where the
PCH is probably being ignored, etc that can be addressed.
2016-08-20 19:30:33 -07:00
Jason Volk
90c9fe686e
ircd: Namespace and partially modernize ircd::cache.
2016-08-19 22:39:34 -07:00
Jason Volk
a71a4551ae
ircd: Insert into ircd:: namespace.
2016-08-13 02:43:42 -07:00
Jason Volk
fb8792da3d
ircd: Towards a comprehensive capability C -> C++ refactor.
2016-08-13 02:43:41 -07:00
William Pitcock
09d19cbbd3
capability: clean up CAP_REQUIRED and CAP_ORPHANED flags, use bool variables instead
2016-07-31 18:39:19 -05:00
William Pitcock
e7a768ca22
capability: fix capability stats dumping
2016-07-31 18:10:31 -05:00
William Pitcock
92415a5371
alias: cleanups
2016-07-31 03:24:12 -05:00
William Pitcock
d0a59d58a0
capability: major rewrite for C++ support.
...
- no rb_dictionary use anymore
- CapabilityIndex converted into a proper class
- proper RAII lifecycle management
2016-07-31 03:18:22 -05:00
William Pitcock
10ff2d192c
alias: convert to RAII/std::string/etc, no more rb_dictionary use (ref #202 )
2016-07-31 01:57:04 -05:00
William Pitcock
1c77b054a8
parse: move cmd_dict to a std::set
2016-07-31 01:36:14 -05:00
William Pitcock
c7135bdf9a
cache: adopt proper RAII pattern
2016-07-31 01:03:05 -05:00
William Pitcock
1c813cee95
cache: rough conversion of help system to std::map (ref #202 )
2016-07-30 22:13:29 -05:00
Jason Volk
73297c988b
Preliminary defaults/paths namespacing.
...
The namespace is inline to mimic the C namespace for now.
2016-07-25 16:49:00 -07:00
Jason Volk
4796bec441
Activate PCH for position independent code.
...
Cuts compilation time by 30%+
2016-07-25 00:54:38 -07:00
Jason Volk
404239eb60
Build system cleanup.
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
7cea4c784d
ircd: Merge the defaults/ircd_defs stuff for now.
...
ircd/rb: Move some lowish level macros down to rb.
2016-07-21 20:51:02 -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
William Pitcock
79235fec68
modules: missed a spot
2016-06-26 01:43:17 -05:00
William Pitcock
f200d90869
modules: allow non-opers to see what extensions are loaded
2016-06-26 01:40:43 -05:00
Jason Volk
6357ad5fd9
Add a reason pointer to hook_data_privmsg_channel. When set, the reason is appended to the text of ERR_CANNOTSENDTOCHAN. The pointer will not be free()'ed.
2016-06-25 22:57:04 -05:00
William Pitcock
7e1bb8ad0d
Proper channel mode classification. Fixes existing ad hoc
...
channel mode classification which is required by RPL_MYINFO indicating arity,
and RPL_ISUPPORT indicating an enumerated class. The content of these replies
had previously been generated by hardcoded strings of some letters.
Channel modes require classification which corresponds to the
CHANMODES= data in RPL_ISUPPORT. Classes A,B,C can then be
listed in the unary column of RPL_MYINFO. cflag_add() is updated
for this. Additional cleanup of chmode.h and channel.h
circularity is also proffered within.
Submitted-by: Jason Volk <jason@zemos.net>
2016-06-25 22:54:37 -05:00
Jason Volk
b5cfad0319
Core modules cannot be unloaded, otherwise bad things happen.
...
Additionally some information is logged and passed to the operator
conducting a MODRESTART.
2016-06-21 17:42:36 -07:00
William Pitcock
2185c50aad
m_modules: use new module api
2016-06-18 00:59:15 -05:00
William Pitcock
397ec4d171
invite: do not send duplicate invite messages ( closes #194 )
2016-06-16 20:21:18 -05:00
Aaron Jones
0982871a99
strcpy: mass-migrate to strlcpy where appropriate
2016-05-15 03:58:44 +00: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
da20854e83
random_ping: stop producing negative values that become 16 chars
2016-05-02 21:14:16 +01:00
Elizabeth Myers
f4d828ef96
m_alias: restore old behaviour of joining all parameters.
...
There are two important caveats here, however:
1) Aliased commands have more than 8 parameters will be truncated;
there's nothing I can do about this.
2) Parameters with colons will not be handled as you expect. Again,
nothing I can do about this.
2016-05-01 03:48:00 -05:00
Simon Arlott
896370cc3e
m_stats: don't try to access bl_stats if it doesn't exist
2016-04-30 13:18:48 +01:00
Simon Arlott
4fbb736202
ssld: add a callback when the connection is opened
...
This allows us to wait until we have the fingerprint information before
continuing with a server connect process.
2016-04-24 11:48:35 +01:00
Simon Arlott
3085734104
m_stats: display certificate fingerprint in STATS C
2016-04-24 01:06:51 +01:00
Simon Arlott
00039dcddd
m_alias: store a copy of alias->name as it will be freed on a rehash
2016-04-24 00:09:12 +01:00
Simon Arlott
84e3e445aa
mr_server: Report certificate fingerprint mismatches
...
Log the received certificate fingerprint when it causes a server to be
rejected.
2016-04-23 17:37:05 +01:00
Simon Arlott
b49efe577c
mr_server: Handle unknown error codes
...
As mr_server is a module, it could potentially receive an unknown
error code from check_server().
2016-04-23 17:37:04 +01:00
Elizabeth Myers
7445ece1d1
Revert "Implement the netsplit batch type."
...
This needs more work, see
https://github.com/ircv3/ircv3-specifications/issues/253
This reverts commit 2373891299
.
2016-04-16 11:05:00 -05:00
Elizabeth Myers
2373891299
Implement the netsplit batch type.
...
This also lays the groundwork for the netjoin batch type, but that isn't
implemented yet. I don't like how some of this is implemented but it'll
have to do for now...
Compile tested, needs more testing.
2016-04-15 16:50:43 -05: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
Mantas Mikulėnas
9d07a42d7a
m_sasl: rate-limit SASL REAUTH usage
2016-04-11 21:45:10 +03:00
Mantas Mikulėnas
834579cecd
m_sasl: fix coding style
2016-04-11 20:12:31 +03:00
Mantas Mikulėnas
37289346cd
m_sasl: temporarily reject clients after many failed attempts
2016-04-11 20:02:09 +03:00
Elizabeth Myers
e34368b1bc
modules/m_set: booleanify.
2016-04-10 10:11:03 -05:00
Elizabeth Myers
4eafa9e62f
ipv4_from_ipv6: move to librb
2016-04-08 03:49:23 -05:00
Elizabeth Myers
66f7fe673b
Get rid of flags2.
...
It seems to come from an era where long long didn't exist and 64-bit
machines weren't common. 32-bit machines are still common but I can't
imagine this will have much performance impact there.
This "fixes" #179 in title only, but see comments within.
2016-04-07 07:40:55 -05:00
Elizabeth Myers
78946542bb
modules: move module loading/unloading commands to dedicated module.
...
There's no reason to really have these in the main ircd anymore, static
modules are dead and aren't coming back.
To ensure people don't do something hopelessly retarded, this is a core
module.
2016-04-07 04:00:25 -05:00
Elizabeth Myers
95b0324658
m_stats: use macros to clean up generating the stats table
2016-04-07 03:27:50 -05:00
Elizabeth Myers
999c42bad8
Remove useless alias_entry hits member
2016-04-06 11:47:13 -05:00
Elizabeth Myers
0d7e4d311a
m_stats: don't list alias entries twice.
2016-04-06 11:45:55 -05:00
Elizabeth Myers
9620c6d61c
m_alias: fix an assert
2016-04-06 11:43:19 -05:00
Elizabeth Myers
cef7dfc56c
m_alias: fix build with --enable-assert
2016-04-06 07:57:20 -05:00
Elizabeth Myers
dd598516c8
m_alias: minor cleanup
2016-04-06 07:33:36 -05:00
Elizabeth Myers
b663a8070f
Move alias handling into a dedicated module.
...
Not yet tested, caveat emptor!
Closes #166
2016-04-06 07:27:50 -05:00
Elizabeth Myers
900683650a
Static modules are dead, remove this.
2016-04-06 06:30:58 -05:00
Elizabeth Myers
f956cb0f1f
Use rb_* versions of nonportable string functions
2016-04-05 05:39:59 -05:00
Elizabeth Myers
fc9013d6b0
Don't send original error message if we're already on the channel we're forwarding to
...
Closes #55
2016-04-04 03:08:52 -05:00
Elizabeth Myers
c0483ac17b
boolify calls to rehash
2016-04-03 01:53:34 -05:00
Elizabeth Myers
0ed0a9fe0a
Move m_locops module to extensions.
...
Many networks do not use local ops and therefore should not be required
to have this around all the time.
2016-04-02 05:20:30 -05:00
Elizabeth Myers
7b4d1de38d
Merge branch 'master' into authd-framework
2016-03-28 14:44:47 -05:00
Elizabeth Myers
d3f6b80867
Replace s_auth/blacklist stuff with authd calls
...
This also does a lot of surgery on the conf system to reconfigure authd.
/!\ WARNING! ACHTUNG! ADVERTENCIA! ATTENTION! AVVERTIMENTO! /!\
This code has not been run-time tested yet (though it compiles)!
2016-03-28 02:11:16 -05:00
Matt Ullman
aa7eff28f2
hash.c: Save some more bytes
2016-03-27 06:29:10 -04:00
William Pitcock
de7cf7e009
ircd: client: substantially rework the connid registry system
...
now connid's are allocated on demand and clients may have as many connid's as necessary.
this allows us to build chains of helpers while ensuring the ircd properly tracks and GCs the resources.
2016-03-25 19:50:29 -05:00
William Pitcock
704279e429
starttls: use the client connid instead of the FD for opening the channel with ssld
2016-03-24 20:33:54 -05:00
William Pitcock
4d8cfacd95
ircd: start staging for relocatable paths
2016-03-24 18:45:28 -05:00
Elizabeth Myers
fea4e2d2a8
modules: libircd depends on librb, so no need to include it.
...
This triggers multiple inclusion warnings on Solaris also.
2016-03-23 13:59:45 -05:00
Elizabeth Myers
79435744c7
common.h: raison d'être is gone, so out it goes.
...
Fold whatever was left into ircd_defs.h
2016-03-23 09:33:56 -05:00
Elizabeth Myers
82236a2a65
IRCD_BUFSIZE is redundant with BUFSIZE, so kill it.
2016-03-23 09:22:55 -05:00
Elizabeth Myers
ab31d2b07e
Send YES/NO to Davy Jones's Locker.
2016-03-23 08:52:32 -05:00
Elizabeth Myers
2fc6772ee1
typedef-ify rb_radixtree for consistency.
2016-03-23 08:32:22 -05:00
Elizabeth Myers
4177311e6e
Change struct Dictionary(*) to rb_dictionary(_\1).
...
This cleans things up a slightly and puts the dictionary stuff in its
own namespace.
2016-03-23 08:09:58 -05:00
Elizabeth Myers
56f84dedf7
DICTIONARY_FOREACH → RB_DICTIONARY_FOREACH
...
This is in librb and therefore should be prefixed.
2016-03-23 07:45:44 -05:00
Matt Ullman
66769bc1f8
More cleanup
2016-03-23 00:11:26 -04:00
Matt Ullman
e23126c83b
Cleanup warnings
2016-03-21 22:28:41 -04:00
Matt Ullman
ceabbbbf3c
m_cap: Remove CLEAR subcommand as per v3 specs
2016-03-21 00:29:07 -04:00
William Pitcock
032ef5ef9e
modules: more GET_SS_FAMILY() checking
2016-03-20 04:46:50 -05:00
William Pitcock
2d77d121a3
m_stats: win32 fixes
2016-03-20 02:19:36 -05:00
William Pitcock
1859e9d7d7
ircd: remove basically entirely pointless ServerInfo.hub ( closes #167 )
2016-03-19 23:05:07 -05:00
Elizabeth Myers
9b8e9eb321
config.h delenda est
2016-03-19 19:14:26 -05:00
Elizabeth Myers
fe4224394e
Can IGNORE_BOGUS_TS at the behest of @kaniini and @jilest
2016-03-19 18:55:13 -05:00
William Pitcock
bfc44622c8
ircd: do not shadow internal openssl symbol "ssl_ok" (yeah, i know)
2016-03-19 00:57:32 -05:00
William Pitcock
f2d5cea00a
modules: remove explicit CPRIVMSG/CNOTICE, this has been obsolete for a long time
2016-03-10 02:13:43 -06:00
Elizabeth Myers
3ec1db3785
m_error: use strncasecmp, not strcmp
2016-03-09 18:53:08 -06:00
Elizabeth Myers
788e2d592c
m_stats: eliminate special casing of calling the stats L handler.
2016-03-09 17:19:16 -06:00
Mantas Mikulėnas
6f39a80ec6
authd, m_stats: fix command table sizes
...
There are 256 possible byte values.
2016-03-09 18:15:42 +02:00
Elizabeth Myers
6445c1cf0b
rehash: don't restart authd for DNS reloads
...
This could lead to pretty nasty things, like losing DNS (and in the
future, ident) queries. That's a Bad Thing™.
2016-03-09 03:46:04 -06:00
Elizabeth Myers
5c1dbc3cc3
Fix m_xline [ci skip]
2016-03-09 02:10:23 -06:00
Elizabeth Myers
f66f0baa67
More bool conversions
2016-03-09 02:00:40 -06:00
Elizabeth Myers
05b77c613f
m_close: remove dangling return [ci skip]
2016-03-09 01:45:01 -06:00
Elizabeth Myers
b8b72cbdf1
m_chghost: convert more stuff to bool [ci skip]
2016-03-09 01:44:20 -06:00
Elizabeth Myers
550e851c5e
Merge branch 'master' of github.com:charybdis-ircd/charybdis into elizafox-cleanups
2016-03-09 01:41:10 -06:00
Elizabeth Myers
3c7d6fcce7
Message handlers should return void.
...
Also fix up some return values and stuff to use bool (or void if
nothing). I just did it whilst I was here.
According to jilles, the return value used to signify whether or not the
client had exited. This was error-prone and was fixed a long, long time
ago, but the return value was left int for historical reasons.
Since the return type is not used (and has no clear use case anyway),
it's safe to just get rid of it.
2016-03-09 01:37:03 -06:00
Elizabeth Myers
eeabf33a7c
Move module description headers to the top
...
This is cleaner.
Note this was broken out of a much larger piece of work I did, so if
there's any problems, I apologise!
2016-03-09 01:29:41 -06:00
Andrew Wilcox
959f5f368b
core/m_error: Be consistent in strncmp usage
2016-03-09 01:08:23 -06:00
Elizabeth Myers
6287d57fa9
s_user: clean up return types and can YES/NO.
2016-03-08 05:06:29 -06:00
Elizabeth Myers
07554369bd
Detect stdbool.h and add conformant shims if it isn't available
...
Charybdis requires C99 already, so it's high time we start using
stdbool. I've converted a few pieces of code already.
A lot of the old code that uses YES/NO should probably be updated too
because that's fucking hideous.
2016-03-08 04:54:04 -06:00
Elizabeth Myers
b3b7401f13
Remove another silly outdated comment [ci skip]
2016-03-08 04:40:46 -06:00
Elizabeth Myers
1235d6848f
m_svinfo: remove outdated comment
2016-03-08 04:40:19 -06:00
Elizabeth Myers
963c3faa43
m_stats: kill O(n) lookup on stats.
2016-03-08 04:38:42 -06:00
Elizabeth Myers
55799c6b4d
dns: prune worthless function.
2016-03-08 03:25:21 -06:00
Elizabeth Myers
8a26cd1973
dns: clean up awful hacks.
...
We now have a resolver cache which we init on startup.
2016-03-08 03:22:25 -06:00
Elizabeth Myers
394b8dde17
authd: allow querying the list of DNS servers.
...
This was an asston of pain, and it still feels "dirty" as it introduces
an async call where there normally wouldn't be one. Better
implementation more than welcome.
2016-03-08 02:53:25 -06:00
Elizabeth Myers
b8e9ac5f5f
AV2 description: forgot this one too
2016-03-07 04:13:01 -06:00
Elizabeth Myers
f45f4143f6
m_starttls: fix fucked-up merge
2016-03-07 03:15:50 -06:00
Elizabeth Myers
684725edf5
m_starttls: port to AV2 caps stuff
2016-03-07 03:15:00 -06:00
Elizabeth Myers
fc939ca58f
Merge pull request #161 from awilfox/av2desc
...
Add AV2 descriptions to all modules P-X
2016-03-07 03:10:51 -06:00
Andrew Wilcox
893806a6ea
modules: Add AV2 description to m_xline
2016-03-07 02:54:54 -06:00
Andrew Wilcox
3bf449fe26
modules: Add AV2 descriptions for m_w* modules
2016-03-07 02:53:27 -06:00
Andrew Wilcox
ae5695cdcb
m_time and m_user: Fix small typo
2016-03-07 02:53:16 -06:00
Elizabeth Myers
1fe7d6083d
AV2 descriptions for m_[no]*
2016-03-07 02:45:37 -06:00
Andrew Wilcox
78624ddf8d
modules: Add AV2 description to m_version
2016-03-07 02:45:00 -06:00
Andrew Wilcox
4855e957c5
modules: Add AV2 descriptions to all m_u* modules
2016-03-07 02:43:11 -06:00
Elizabeth Myers
bc89faebd1
m_map: oops...
2016-03-07 02:37:33 -06:00
Elizabeth Myers
f5ebe640bc
Add AV2 descriptions to m_[l-m]*
2016-03-07 02:34:00 -06:00
Andrew Wilcox
be9c397952
modules: Add AV2 descriptions to all m_t* modules
2016-03-07 02:27:32 -06:00
Elizabeth Myers
f1156bf07a
Do AV2 descriptions for m_[i-k]*
2016-03-07 02:11:50 -06:00
Elizabeth Myers
df1f1212a8
m_invite: update for AV2
2016-03-07 02:09:21 -06:00
Andrew Wilcox
3abc337fe1
modules: Add AV2 descriptions to all m_s* modules
2016-03-07 02:05:28 -06:00
Elizabeth Myers
9fd8e7cbc9
Do AV2 strings for m_[d-h]*
2016-03-07 01:59:08 -06:00
Andrew Wilcox
114d98b3cc
modules: Add AV2 descriptions to all m_r* modules
2016-03-07 01:52:45 -06:00
Elizabeth Myers
5544da98b8
Add AV2 descriptions to all m_c* modules.
2016-03-07 01:52:16 -06:00
Andrew Wilcox
d5d3540913
modules: Add AV2 descriptions to all m_p* modules
2016-03-07 01:47:40 -06:00
Elizabeth Myers
3c88406edc
Do a few more AV2 descriptions in modules.
2016-03-07 01:38:14 -06:00
Elizabeth Myers
b212d71344
chm_noctcp: add AV2 string
2016-03-07 01:32:19 -06:00
Elizabeth Myers
4a0944732a
chm_nocolour: add AV2 docs
2016-03-07 01:31:27 -06:00
Elizabeth Myers
4491f53665
Merge branch 'av2desc' of https://github.com/awilfox/charybdis into awilfox-av2desc
2016-03-07 01:20:49 -06:00
Elizabeth Myers
0466682f92
m_quit: add desc string
2016-03-07 01:17:30 -06:00
Elizabeth Myers
ee6dcb0514
Add more core module descriptions
2016-03-07 01:16:24 -06:00
Andrew Wilcox
42c9851a5d
core/m_squit: Add AV2 description
2016-03-07 01:09:07 -06:00
Andrew Wilcox
51588bbc9f
core/m_server: Add AV2 description
2016-03-07 01:06:39 -06:00
Andrew Wilcox
4dc7383a2f
core/m_quit: Add AV2 description
2016-03-07 01:06:39 -06:00
Andrew Wilcox
25e38006db
core/m_part: Add AV2 description
2016-03-07 01:06:39 -06:00
Elizabeth Myers
d821282260
cap_server_time: update doodads for AV2
2016-03-07 01:05:24 -06:00
Elizabeth Myers
41fb059881
cap_account_tag: migrate CAP reg/desc to AV2
2016-03-07 01:02:08 -06:00
Andrew Wilcox
8661d5ae5c
core/m_message: Add AV2 description
2016-03-07 00:57:05 -06:00
Andrew Wilcox
ac1b809c5f
core/m_kill: Add AV2 description
2016-03-07 00:56:08 -06:00
Andrew Wilcox
33b2b6c1ab
core/m_kick: Add AV2 description
2016-03-07 00:55:36 -06:00
Andrew Wilcox
823ab5285f
core/m_join: Add AV2 description
2016-03-07 00:52:50 -06:00
Andrew Wilcox
8798744e50
core/m_die: Add AV2 description
2016-03-07 00:48:48 -06:00
Andrew Wilcox
65ca483f97
core/m_ban: Add AV2 description
2016-03-07 00:48:27 -06:00
William Pitcock
ccb75e917e
m_cap: use rb_snprintf_append() instead of pointer math
2016-03-07 00:13:54 -06:00
Elizabeth Myers
105a4985b4
Migrate remaining modules to AV2
...
No descriptions yet. :(
2016-03-07 00:03:39 -06:00
Elizabeth Myers
a4bf26dd34
Move irc_* data structures to librb.
...
This makes the base ircd less cluttered up with data structures that can
go elsewhere.
2016-03-06 14:17:19 -06:00
Elizabeth Myers
cbeab4bc34
Remove $Id tags from everything.
...
These are obsolete and none have changed since 10 years gao...
2016-03-06 02:47:27 -06:00
William Pitcock
c83f2f5e12
rename libratbox to librb, since its pretty modified anyway
2016-03-06 02:30:20 -06:00
Elizabeth Myers
1d91de8100
Remove old .indent.pro files
...
These have been unused since dinosaurs roamed the earth and are mostly
smelly old Hybrid relics.
2016-03-05 21:21:36 -06:00
William Pitcock
38ffccf8c3
cap: allow modules to return client-specific responses for capability inquiries
2016-03-05 18:56:36 -06:00
William Pitcock
9ea48ec30a
remove presupplied autotools files
2016-03-05 17:47:48 -06:00
William Pitcock
4c83e47679
invite: implement invite-notify support
2016-03-05 02:49:10 -06:00
William Pitcock
d058096aaa
invite: broadcast INVITE messages instead of using point to point routing, to facilitate invite-notify
2016-03-05 02:39:42 -06:00
Elizabeth Myers
e8f1c19e7b
parse: get rid of report_messages
...
It is a function with a single usage, that is used only for one specific
stats command on one line.
2016-03-05 00:55:33 -06:00
Simon Arlott
e9ffc3c153
ssld: provide version in stats S output
2016-03-03 22:14:50 +00:00
William Pitcock
08e43ffb21
connect: fix tmpport handling
2016-03-02 16:32:27 -06:00
Simon Arlott
035d9143bd
ircd: add missing sslproc function ssld_foreach_info()
...
Iterate through the ssl daemons and report their status.
2016-03-01 21:30:51 +00:00
William Pitcock
455d2750fc
cap: don't show orphaned capabilities
2016-02-28 19:15:13 -06:00
William Pitcock
6b23b98ab6
m_cap: ensure buffers are initialized properly
2016-02-28 18:49:29 -06:00
mniip
802710b59a
Always send the certificate fingerprint when doing SASL because the services might need it for SOME REASON
2016-02-29 03:29:08 +03:00
William Pitcock
ba316ed56c
cap: implicitly enable cap-notify on CAP LS 302, to MAKE IRC GREAT AGAIN!!!!oneoneone
2016-02-28 01:32:54 -06:00
William Pitcock
ddf62b10f9
m_cap: add support for CAP LS 302
2016-02-28 01:13:08 -06:00
William Pitcock
da3e5fcb42
sasl: implement support for distributing mechlists
2016-02-28 01:02:10 -06:00
William Pitcock
df06f4c920
cap server-time: add .000 for microsecs since our clock does not support microsecs
2016-02-28 00:40:46 -06:00
William Pitcock
193d4db30c
sasl: transfer ownership of 'sasl' capability to m_sasl module
2016-02-28 00:29:26 -06:00
William Pitcock
573896f639
send: allow passing NULL origin to build_msgbuf_from() (for future use)
2016-02-27 02:56:44 -06:00
William Pitcock
4bdf963cdc
modules: add cap_server_time, adding server-time cap support
2016-02-27 02:31:38 -06:00
William Pitcock
ed3853649d
starttls: add s_serv for caps
2016-02-27 01:51:58 -06:00
William Pitcock
0416a2cc86
starttls: take ownership of 'tls' capability
2016-02-27 01:45:40 -06:00
William Pitcock
32df5e96a6
cap: substantial rewrite leveraging the ircd capabilities framework for client caps
2016-02-27 01:41:36 -06:00
William Pitcock
63b9db9675
capability: allow attaching capability-owner data to a capability token, to enable extended data for client capabilities
2016-02-26 23:55:43 -06:00
William Pitcock
815fbc146f
modules/cap_account_tag: new module providing the account-tag cap as a proof of concept
2016-02-20 17:44:46 -06:00
William Pitcock
48a2b7c182
hook: allow hook_data to have non-const arguments, add hook_cdata for arguments that must be treated const
2016-02-20 17:44:13 -06:00
William Pitcock
ddedc60398
cap: register the account-tag capability
2016-02-20 17:26:35 -06:00
William Pitcock
c678fbc08b
ircd: remove broken USE_IODEBUG_HOOKS knob and related code
2016-02-20 12:02:49 -06:00
William Pitcock
7baa37a9ef
msg: remove last vestiges of the fakelag system. charybdis has never supported fakelag.
2016-02-19 16:43:39 -06:00
William Pitcock
428ca87b01
modules: chase MsgBuf API change
2016-02-10 20:54:17 -06:00
Simon Arlott
eb1b303d56
ircd: support restarting ssld processes
...
Add REHASH SSLD (admins only) that starts new sslds and marks the
existing ones as inactive until all their clients disconnect.
Very useful whenever the SSL library has a vulnerability because
new connections can use a new version of the library without
disconnecting existing clients/servers.
Add STATS S (admins only) to list ssld processes, status, and client
count.
2016-02-10 19:03:30 -06:00
William Pitcock
de50a480af
Remove unused .depend files.
2016-02-09 23:08:35 -06:00
Valerii Iatsko
5203cba5ce
Remove libratbox's snprintf.c, update related ircd code
2016-02-10 02:25:32 +01:00
William Pitcock
b47f8a4fda
ircd: import modified version of ratbox 3.1 whowas code
2016-01-23 11:16:34 -05:00
William Pitcock
b9a32bd24b
LIST: plug memory leak
2016-01-22 16:07:55 -05:00
William Pitcock
999fab778c
Revert "LIST: use new sendq system to reimplement SAFELIST differently."
...
This reverts commit e835592cfc
.
2016-01-20 22:26:55 -05:00
Jilles Tjoelker
6da38a0a5d
WHOIS: Make hide_opers_in_whois not affect opers doing whois.
2016-01-16 15:22:50 +01:00
William Pitcock
71c955336e
ircd: add general::hide_opers_in_whois to simulate ircd-seven operhide
2016-01-15 13:38:40 -06:00
William Pitcock
ea2d270096
STATS: allow modules to override normal stats requests
2016-01-14 06:57:04 -06:00
William Pitcock
3ee43bcf29
ircd: get_channel_access(): do not derive channel pointer from membership
2016-01-13 22:16:44 -06:00
William Pitcock
633531a4aa
TOPIC: strip channel topic colors here if configured, instead of in set_channel_topic()
2016-01-13 17:17:14 -06:00
William Pitcock
e4af89f4d7
Revert "LIST: since we now have channel::strip_topic_colors, don't unconditionally strip colors here anymore"
...
This reverts commit b28b21f6d5
.
2016-01-13 17:11:16 -06:00
William Pitcock
b28b21f6d5
LIST: since we now have channel::strip_topic_colors, don't unconditionally strip colors here anymore
2016-01-13 17:05:49 -06:00
William Pitcock
abad2c5da6
CONNECT: allow using 3-argument CONNECT with port == 0 locally ( closes #119 )
2016-01-12 05:54:04 -06:00
William Pitcock
cc7ae51cdc
Allow remote DIE and RESTART (from ircd-seven)
2016-01-12 00:04:54 -06:00
William Pitcock
3b1c2aa62c
modules: add missing m_grant.c
2016-01-11 23:52:04 -06:00
William Pitcock
a4721f5e9f
ircd: implement EXTENDCHANS, based on ircd-seven (with some improvements from chatircd)
2016-01-11 23:32:23 -06:00
William Pitcock
fe749d3709
ircd: implement GRANT subsystem based on ircd-seven
2016-01-11 23:02:03 -06:00
William Pitcock
b870a5f8e9
extensions/override: display mode-change string in override messages
2016-01-11 22:40:32 -06:00
William Pitcock
730b914c17
LIST: more cleanups
2016-01-09 23:34:52 -06:00
William Pitcock
e835592cfc
LIST: use new sendq system to reimplement SAFELIST differently.
...
This is more like ratbox, but with the same filtering etc. features, and also using the hard sendq limit.
2016-01-09 23:28:53 -06:00
William Pitcock
8dacf9e917
ircd: make STATS B easier to understand
2016-01-09 06:23:13 -06:00
William Pitcock
46be39faab
ircd: hash: use an irc_radixtree for storing resv's
2016-01-09 04:59:02 -06:00
William Pitcock
21d5a11cb8
ircd: irc_dictionary: also show dictionary stats
2016-01-09 01:34:37 -06:00
William Pitcock
99b461bb2f
ircd: ensure irc_dictionary users have names, for stats tracking.
2016-01-09 01:22:11 -06:00
William Pitcock
9e45a5ca19
buildsystem: further cleanup
2016-01-08 07:01:00 -06:00
William Pitcock
a886cb82fb
buildsystem: more LTDLINCL fixes
2016-01-08 06:57:45 -06:00
William Pitcock
f0718c93d5
configure: use correct path for libltdl
2016-01-08 06:50:01 -06:00
William Pitcock
1eeb046930
ircd: remove internal resolver, no longer used
2016-01-08 06:39:51 -06:00
William Pitcock
5164a68650
buildsystem: update Makefile.in's
2016-01-08 05:20:32 -06:00
Aaron Jones
d8c4154da2
Fix LTDL conditional, remove some unnecessary and/or ugly configure tests
2016-01-07 17:15:55 +00:00
William Pitcock
2a19fc3f57
general: remove last vestiges of static modules support (this hasn't ever actually worked...)
2016-01-06 01:28:20 -06:00
William Pitcock
46fded53d4
update buildsystem artifacts
2016-01-06 01:16:49 -06:00
William Pitcock
ff12cc9479
rename src to ircd, libcore to libircd
2016-01-06 01:16:08 -06:00
William Pitcock
bc38c72ced
buildsystem: build ircd itself as a library to allow removal of -undefined suppress on OS X
2016-01-05 21:31:21 -06:00
William Pitcock
c52df12552
buildsystem: convert to automake + libtool
2016-01-05 21:20:25 -06:00
William Pitcock
5810d36e0a
whois: privset disclosure: we do not need to check if source user is the same as target, because they will always be opered
2016-01-05 18:55:23 -06:00
William Pitcock
9e07c8f70b
whois: add a hook allowing for ShowChannel() behaviour to be overridden for channel visibility
2016-01-05 18:45:07 -06:00
Aaron Jones
5499771f0e
Fix erroneous comment
2016-01-01 09:31:55 +00:00
Aaron Jones
0e06053c33
Fix erroneous use of wrong string concatenation function
...
Avoids warning:
m_map.c:203:3: warning: implicit declaration of function ‘strlcat’
[-Wimplicit-function-declaration]
2015-12-30 08:34:27 +00:00
Mantas Mikulėnas
2b17787939
m_starttls: reject "STARTTLS" use over an existing TLS connection
2015-12-30 09:28:53 +02:00
Jilles Tjoelker
f8d9a4c289
list: Remove a now obsolete comment.
2015-12-29 13:55:16 +01:00
William Pitcock
4d38dd60ed
whois: bring permissions check in line with the same one in m_privs
2015-12-28 14:55:59 -06:00
Valentin Lorentz
d855e13e01
Remove trailing space in CAP ACK.
...
Fixes https://github.com/atheme/charybdis/issues/110
2015-12-28 10:57:17 +01:00
William Pitcock
e00552d5ce
whois: cosmetic improvement to opered-as numeric
2015-12-28 01:38:13 -06:00
William Pitcock
72ad5c04fe
whois: list active operator block and privset when appropriate
2015-12-28 01:33:09 -06:00
William Pitcock
c7b2fd3d66
MODE: allow 'q' banlist queries to bypass flood limits too
2015-12-28 00:48:46 -06:00
William Pitcock
0b904d91bf
supported: move ISUPPORT tokens provided by modules to their specific modules:
...
- m_cmessage: CPRIVMSG/CNOTICE
- m_etrace: ETRACE
- m_knock: KNOCK
- m_services: FNC
- m_who: WHOX
2015-12-26 22:41:09 -06:00
William Pitcock
d513218a9e
LIST: allow channel display threshold to be configured ( closes #109 )
2015-12-26 22:23:28 -06:00
Jilles Tjoelker
e124e4b64c
starttls: Update for client fd hash removal.
2015-12-24 23:01:37 +01:00
Jilles Tjoelker
2d28539c68
Reduce clean_nick() code duplication further.
...
Side effect: hurt and monitor now allow nicks starting with a digit.
2015-12-13 00:22:21 +01:00
William Pitcock
e1fda0d81e
map: make flatten_links dump a flattened map instead of blocking it ( closes #48 )
...
based on my patches in shadowircd legacy (4.0)
2015-12-12 09:24:37 -06:00
William Pitcock
413c61aaf5
monitor: ensure monitored nicknames are valid (ref. elemental-ircd/elemental-ircd#187 )
2015-12-12 08:42:03 -06:00
William Pitcock
72dee03d50
clean up some code duplication when checking nicks for validity
2015-12-12 08:41:09 -06:00
William Pitcock
63eb8567cb
implement configurable channel modes ( closes #31 )
...
While functionally compatible with the implementation in ElementalIRCd, our approach is different,
specifically pre-calculating the bitmask at config load time. This is more efficient, and allows us
to report errors as part of the configuration phase.
2015-12-11 15:36:53 -06:00
William Pitcock
427a8d5dbb
WHOIS: use cipher string if available
2015-12-11 08:20:11 -06:00
William Pitcock
202d496644
override: only engage override code if we're needing to authorize a WRITE to a channel's state ( closes #65 )
2015-12-10 01:00:32 -06:00
William Pitcock
a7433e330a
m_message: use same behaviour for +R users as +g users ( closes #96 )
2015-12-05 06:48:38 -06:00
William Pitcock
4a5330bb4d
cap: implement ircv3.2 chghost cap
2015-11-19 22:53:55 -06:00
William Pitcock
583f064fef
send: add negation argument to sendto_common_channels_local() and friends
2015-11-19 22:43:45 -06:00
William Pitcock
e77879b0f6
modules/m_resv: update comments since parv[0] is not used anymore
2015-11-19 17:12:07 -06:00
Jilles Tjoelker
439bf4db58
monitor: Show 005 entry only if m_monitor.so is actually loaded.
...
This only affects the MONITOR=<max> entry, not TARGMAX=...,MONITOR:
which is harder to modify from a module.
2015-11-15 22:57:23 +01:00
Andrew Wilcox
5f8fb56d02
Revert "remove MONITOR for now pending a complete rewrite"
...
This reverts commit 87fa262fec
.
2015-10-15 17:31:55 -05:00
William Pitcock
87fa262fec
remove MONITOR for now pending a complete rewrite
2015-10-15 09:39:48 -05:00
William Pitcock
7485e86073
monitor: additional cleanups, and add a missing free_monitor() in m_monitor
2015-10-11 19:11:01 -05:00
Jilles Tjoelker
2125182293
Remove the unneeded username parameter to register_local_user().
2015-09-13 22:59:03 +02:00
Elizabeth Myers
34c10ca8b7
Relocate report_Klines to proper home
...
This function is not used anywhere else but m_stats, so should be put
there.
2015-08-08 17:25:29 -05:00
Jail Bird
29c92cf95f
Spring cleaning redux:
...
- Implemented changes suggested by Jilles
- Remove some unused parameters in functions
- Remove some unused ssl procs
- 63-bit time_t support in TS deltas
- const char * vs char * cleanup
- struct alignment (void *) casts
- signed vs unsigned fixes
- bad memset() call
- Bad LT_MAIN in libratbox
- char -> unsigned char casts for isdigit/isspace/etc calls
Thanks Jilles!
2015-04-20 00:55:20 -05:00
Aaron Jones
cf3b152547
INFO: Be easier on human eyes
2015-03-26 14:47:36 -05:00
Aaron Jones
c9b5cd623b
Remove network_desc configuration option, never actually used anywhere
2015-03-26 14:46:54 -05:00
William Pitcock
7dade6a811
cap: missed a spot on =sticky caps removal
2015-03-22 21:08:05 -05:00
William Pitcock
aaaf9faf1d
cap: sasl is now enforced as sticky again
2015-03-10 08:21:46 -05:00
William Pitcock
eafae32681
cap: chase ircv3.2 interpretation of sticky/ack-required caps (basically dropping support other than serverside enforcement of stickyness)
...
change request @ ircv3/ircv3-specifications#122
2015-03-10 08:21:10 -05:00
Mantas Mikulėnas
6fb9f21449
sasl: reformat the other messages consistently
2015-03-06 17:19:16 +02:00
Mantas Mikulėnas
1cae2411d7
sasl: adjust 'H' message following commit 7d33cce8ef
2015-03-06 17:18:54 +02:00
Jilles Tjoelker
9279ad6461
Fix some compiler warnings about signed/unsigned comparison.
2015-03-01 23:46:20 +01:00
Jilles Tjoelker
dafbd7faba
cap-notify: Fix possible crash on 64-bit systems.
...
find_named_client() was called without a prototype and therefore the
pointer could be truncated.
2015-03-01 15:00:52 +01:00
Max Teufel
bbce62d2aa
m_cap: do not allow sasl CAP when the agent is offline
2015-03-01 03:30:19 -06:00
William Pitcock
125652041b
cap-notify: implement cap-notify for sasl service ( closes #84 )
2015-03-01 00:58:40 -06:00
William Pitcock
13de708352
cap-notify: add cap-notify cap
2015-03-01 00:26:23 -06:00
William Pitcock
8f05076d50
sasl: making the sasl capability actually sticky seems incompatible with broken implementations, so we make it just a formality instead.
2015-03-01 00:22:50 -06:00
William Pitcock
c23902ae00
sasl: fix null deref on remote client exit
2015-03-01 00:01:24 -06:00
William Pitcock
8bb9594bf3
sasl: ircv3 wg decided sasl capability should be sticky (ref ircv3/ircv3-specifications#103 )
2015-02-28 01:12:25 -06:00
Max Teufel
1b54aa5c3b
src/channel: add support for IRCv3.2 userhost-in-names
2015-02-28 01:06:38 -06:00
William Pitcock
6e3d57dc6b
cap: remove SASL_REAUTH capability
2015-02-28 01:01:08 -06:00
William Pitcock
51535fcbce
sasl: allow reauth without sasl-reauth capability (since it's being dropped)
2015-02-28 00:48:43 -06:00
William Pitcock
dd28e3f2a4
Merge pull request #82 from grawity/sasl-send-conn-info
...
m_sasl: send information about the client connection
2015-02-18 12:29:57 -06:00
William Pitcock
95cce5f358
Revert "m_invite: add support for CAP invite-notify"
...
This reverts commit 93eb76cc32
.
2015-02-16 17:50:51 -06:00
Max Teufel
93eb76cc32
m_invite: add support for CAP invite-notify
...
Specification:
<https://github.com/ircv3/ircv3-specifications/blob/master/extensions/invite-notify-3.2.md >
2015-02-16 15:40:34 -06:00
William Pitcock
c6bc97fdcd
m_sasl: move some struct members around for sasl-reauth
2015-02-16 15:39:36 -06:00
William Pitcock
3a48406b55
cap: fix compile
2015-02-15 17:40:20 -06:00
William Pitcock
ef3ab8e3a5
cap: allow clients to do sasl reauth if they requested sasl and sasl-reauth (ref ircv3/ircv3#103 ).
2015-02-15 17:11:28 -06:00
William Pitcock
0044d40050
cap: add notion of required dependency caps
2015-02-15 17:11:28 -06:00
Max Teufel
7d33cce8ef
m_sasl: add configuration option for the nick of the SASL agent
...
This allows multiple improvements to m_sasl. With this change, the SASL
authentication gets aborted immediately when services are offline.
Additionally, we send the SASL ENCAP messages directly to the specified
SASL agent.
2015-02-14 20:31:25 +01:00
Jilles Tjoelker
f51b72de97
Ignore duplicate USER and PASS.
...
If SASL starts using USER/PASS for unregistered clients, this change stops
users from using one USER/PASS for SASL while using another for connecting.
2015-02-13 23:07:02 +01:00
Mantas Mikulėnas
a3fa9d81a2
m_sasl: send information about the client connection
2015-02-13 22:38:24 +02:00
William Pitcock
bc75c3ae0e
fix target list generation edge case where WALLCHOPS was requested alongside normal users if the source user was not a channel op.
...
from ircd-hybrid r5457
2015-02-09 11:16:06 -06:00
Attila Molnar
407094721c
SJOIN: Remove some dead code
2015-01-30 14:42:08 +01:00
Jilles Tjoelker
2a17ae5483
ban: Fix build breakage.
...
A normal 'make' did not rebuild m_ban.c even though dependencies had
changed.
2014-09-21 18:28:24 +02:00
Jilles Tjoelker
dc336d1a63
server: Remove two dead stores.
2014-09-21 15:16:56 +02:00
Jilles Tjoelker
483987a464
Explicitly pass the current time to deactivate_conf().
...
Some places depend on the ban not being destroyed.
2014-09-21 15:02:43 +02:00
Keith Buck
8db50c03e6
BAN: Don't schedule check_klines for 0 seconds in the future.
...
When receiving bans from a bursting server, if kline_delay is set to 0
(the default), rb_event_addonce will be called to schedule an event for
0 seconds in the future. While this works fine for the fallback
rb_event_run function, the epoll implementation ends up scheduling a
timerfd for the event in the past, which is then never executed.
While fixing this, I also made rb_event_add and rb_event_addonce reject
attempts to add events scheduled for 0 seconds in the future; they're
instead rewritten to run 1 second in the future.
2014-08-17 09:06:01 +00:00
Jilles Tjoelker
b733b9faf4
SJOIN: Fix crash when both mode parameter and UID list are missing.
...
Closes #63
2014-08-15 17:10:24 +02:00
Mantas Mikulėnas
c72f15bcf5
m_version: remove spaces from version string
...
"to make it machine parseable again", as in ircd-seven commit 03b2176b88a1.
2014-05-06 16:28:23 +03:00
Mantas Mikulėnas
0f4ed4058d
m_version: display charybdis version in /version
...
Otherwise it just crashes when /version is used.
Closes : #60
2014-05-06 16:27:03 +03:00
Jilles Tjoelker
bf77c3a1ef
info: Change N-line to connect block.
2014-04-27 15:33:09 +02:00
Jilles Tjoelker
0455e7a927
Remove snotes on +r about GET/PUT/POST commands.
...
The server notice "HTTP Proxy disconnected: [<user>@<host>]" is
confusing and not particularly useful.
2014-03-04 23:02:40 +01:00
Keith Buck
55abcbb20a
Remove trailing whitespace from all .c and .h files.
...
3134 bytes were removed.
2014-03-03 04:25:47 +00:00
Keith Buck
00533129dc
s_conf: Don't leak log file paths when loading default conf
...
This change prevents the log file paths from being leaked when
rehashing. Additionally, fname_killlog was added to two places where it
was previously forgotten.
2014-03-03 04:12:07 +00:00
Jilles Tjoelker
fea6157df0
Avoid possible null dereference.
2014-03-03 00:02:10 +01:00
Jilles Tjoelker
299e25a630
SIGNON: Do not send uninitialized data if login name starts with '*'.
2014-02-28 15:48:07 +01:00
Jilles Tjoelker
f76ca17848
stats c: Simplify construction of flags string.
...
Perhaps this avoids false positives in static analysis.
2014-02-24 00:10:42 +01:00
Jilles Tjoelker
77910830e3
Fix various printf arg types.
2014-02-23 23:01:59 +01:00
Jilles Tjoelker
29c451d0ce
part: Fix constness issue with part hook.
2014-02-23 23:01:59 +01:00
Jilles Tjoelker
8a4b837775
m_services: Make sure to return a value from the modinit function.
2014-02-22 17:45:42 +01:00
Mantas Mikulėnas
dbd8ca2bf6
sasl: send RPL_SASLMECHS
2014-01-12 00:29:32 +02:00
Keith Buck
b647efa045
Fix parameter counts for me_dline and me_undline.
2013-09-23 09:34:30 +00:00
Jilles Tjoelker
364e59f82a
whowas: Use the normal rules for IP visibility.
...
Add the flags (auth{} spoof, dynamic spoof) to struct Whowas and add a
show_ip_whowas().
Normal users now see IPs of unspoofed users, and remote opers can see IPs
behind dynamic spoofs. Also, general::hide_spoof_ips is now applied when
the IP is shown, not when the client exits.
2013-09-14 12:26:32 +02:00
Jilles Tjoelker
7a9a9000b7
Enable remote WHOWAS queries.
...
On ircd-seven, this will allow remote opers to see certain hidden IPs.
2013-09-13 22:29:26 +02:00
Keith Buck
77d3d2dbaf
Remove s_assert definition from ircd_defs.h and add it to its own header.
...
s_assert requires some higher-level functionality that shouldn't be
present in ircd_defs.h. ircd_defs.h is used by ssld, which has no notion
of logging or sending IRC messages. Additionally, some of the headers
s_assert depends on result in conflicting definitions in ssld.c.
This change also fixes the compile when using --enable-assert=soft.
2013-09-10 06:10:14 +00:00
Jilles Tjoelker
35bfe0e644
join: Fix messages about join failures such as banned.
...
This was broken by 6f7b36d5d0
in February
2013, as join failures are the only situation where a non-trivial
numeric is passed through from other code to be sent to a client. Fix it
by porting more code from ircd-ratbox 3.1.
2013-07-07 23:50:20 +02:00
Jilles Tjoelker
b2c208be09
m_info: Correct description of general::client_exit like in example confs.
...
Reported by: jackal
2013-06-16 11:35:04 +02:00
Jilles Tjoelker
373a04393b
kill: Improve comment about kill hook.
2013-04-27 16:55:45 +02:00
Elizabeth Myers
9d745dbd21
Implement kill-cancelling hook.
...
With this comes an example module to block the killing of services.
NOTE: this will not cancel remote kills. Those are still accepted, per
the TS 6 specification.
2013-04-20 01:07:55 -05:00
Alex Iadicicco
fda96b89dc
m_nick: Reject nicks with '~' in them, rather than cutting at the '~'
...
The behavior of cutting at the first '~' is confusing at first, and
looks too much like a bug.
2013-04-17 17:27:27 -07:00
Jilles Tjoelker
90e3d1b7e1
Update .depend files.
2013-03-23 23:32:46 +01:00
Jilles Tjoelker
ce782b68fe
Don't send ERR_NICKCOLLISION to a user that will not be killed.
2013-03-23 22:57:28 +01:00
William Pitcock
6f7b36d5d0
Mostly enable support for checking format strings with -Wformat.
...
Basically derived from Ratbox 3.1.
2013-02-21 05:46:04 -06:00
Jilles Tjoelker
2ebef8d925
whois: Fix UID leak.
...
The second parameter of WHOIS is always a nick.
2013-02-14 23:45:22 +01:00
Jilles Tjoelker
e0c7937a9f
UID/EUID: Add server's SID to invalid UID error message.
2013-02-03 20:31:52 +01:00
Jilles Tjoelker
561d7efc44
UID/EUID: Check that the UID starts with the server's SID.
...
If not, the local link that sent the command is broken, as with
syntactically invalid UIDs.
2013-02-03 19:38:46 +01:00
Jilles Tjoelker
9cbf72447c
stats l: Don't care about away status.
2013-02-03 19:33:31 +01:00
Jilles Tjoelker
e69375f3ac
Cope with rb_crypt() returning NULL.
2013-02-02 00:54:32 +01:00
Jilles Tjoelker
df2516e6d8
whowas: Abort listing if 90% of sendq is in use.
2013-02-02 00:50:03 +01:00
Jilles Tjoelker
b6e02c25b5
starttls: Don't send ERR_STARTTLS after successful STARTTLS.
2013-01-05 15:09:17 +01:00
Jilles Tjoelker
fce4df5473
server: Show the missing CAPABs when rejecting a server.
2013-01-02 21:00:18 +01:00
Jilles Tjoelker
22b24f637d
server: Move required CAPAB check after authentication and add snote and log.
2013-01-02 20:07:28 +01:00
William Pitcock
ac0707aa61
m_capab: fix a possible remote crash triggered by the CAPAB parsing code.
2012-12-31 13:13:05 -06:00
Jilles Tjoelker
71eb2bb99b
server: Fix required capabilities check if there is more than one capability.
2012-12-18 16:37:21 +01:00
Jilles Tjoelker
8ff07125c3
starttls: Explicitly reject starttls if TLS is not configured or not compiled in.
2012-11-03 15:50:43 +01:00
Jilles Tjoelker
c1cddb36c0
starttls: Don't corrupt the FD hash.
...
Altering localClient->F without updating the FD hash leaves the struct
Client in the FD hash indefinitely which causes a crash later if the
struct is reused for a remote client. It also prevents error messages
from ssld showing up on IRC properly.
2012-11-03 00:49:10 +01:00
William Pitcock
c4e81ae9e9
m_starttls: handle error condition with ERR_STARTTLS (691) numeric per tls-3.2 specification
2012-09-22 19:31:55 -05:00
William Pitcock
21f715a9a3
m_starttls: new module implementing ircv3 tls-3.1 optional extension
2012-09-22 16:30:01 -05:00
William Pitcock
538d4d6188
m_cap: add 'tls' core capability
2012-09-22 14:15:45 -05:00
William Pitcock
4727c0f586
m_stats: apply same logic to anonymous /stats l as /stats p
2012-09-18 20:01:53 -05:00
William Pitcock
e82bda18a5
m_stats: add optional constraint checking function pointer to stats_l_list().
2012-09-18 19:55:49 -05:00
Jilles Tjoelker
e4ce3b5409
stats R: Make the CPU time display less ugly.
2012-06-04 00:49:59 +02:00
Keith Buck
c46a4ecd97
Move marking of services entirely to m_services.c; mark all services when m_services loads and unmark them when it unloads.
2012-05-21 21:03:56 +00:00
Keith Buck
ec57fe6779
Complain to opers if a server that isn't a service tries to SU/RSFNC/NICKDELAY/SVSLOGIN.
2012-05-21 17:27:02 +00:00
Jilles Tjoelker
69e7a2cdc3
list: Strip colours from channel topics.
...
This allows in-channel use of coloured topics (or via /topic out of
channel) but leaves channel listings clean.
2012-04-29 00:44:33 +02:00
Keith Buck
62cf5b4036
Call the privmsg_channel hook for part messages too.
2012-04-07 03:03:07 +00:00
Keith Buck
880db619be
m_message: Remove some unused variables.
2012-04-03 21:51:09 +00:00
William Pitcock
b8c16fdaba
if 0 some things out
2012-04-01 00:09:18 -05:00
William Pitcock
f30a5ee4c4
Remove MODE_NOCTCP from core, in favor of chm_noctcp.
2012-03-31 22:48:36 -05:00
William Pitcock
67aeaba593
Remove MODE_NOCOLOR from core, replacing it with modules/chm_nocolour.so.
2012-03-31 22:26:45 -05:00
William Pitcock
6eb033605c
Check for empty string after permutation hooks have run.
2012-03-31 22:18:15 -05:00
William Pitcock
ca4c2a86ee
Add support for hookifying PRIVMSG/NOTICE.
...
This will allow us to modularize message processing, e.g. having new modules to manipulate
channel and private messages in new ways.
Yes: it can be used to intercept messages, but such modules are already out in the wild for
charybdis anyway -- so this doesn't really change anything there.
If you are changing the text, then it is your responsibility to provide a pointer to a new
buffer. This buffer should be statically allocated and stored in your module's BSS segment.
We will not, and cannot, free your buffer in core, so dynamically allocated buffers will
cause a memory leak.
This will allow us to simplify m_message considerably, by moving channel mode logic out to
their own modules.
2012-03-31 21:23:01 -05:00
Keith Buck
bb73e588bc
tginfo/certfp ENCAP: Specify the minimum number of parameters instead of checking parc.
2012-03-25 17:04:21 +00:00
Keith Buck
9120d0efb0
m_away: Add missing return value.
2012-03-25 02:47:39 +00:00
Keith Buck
2d537cae88
Remove unused variable cruft.
2012-03-25 02:37:41 +00:00
Keith Buck
330692a1f2
Add option to immediately apply nick RESVs by FNC'ing.
2012-03-25 01:34:45 +00:00
Keith Buck
bc4dea6937
target change: Propagate restricted addresses.
2012-03-18 01:18:57 +00:00
Jilles Tjoelker
494d2b9dd4
Apply special CTCP handling to messages to @/+ channel as well:
...
* +C cmode blocks CTCPs
* CTCPs to large channels relax some flood protection to allow all
answers through.
2012-03-14 23:20:05 +01:00
Jilles Tjoelker
60dd1febe2
Apply colour stripping (cmode +c) to messages to @/+ channel as well.
2012-03-14 23:04:30 +01:00
Jilles Tjoelker
d1316b193b
Keep forward channels in sync after a netjoin.
...
Arbitrarily prefer a forward channel to no forward channel and an
alphabetically higher forward channel to a lower one.
This is a simplistic implementation that generates one MODE message to
local clients for each ban removed (to be replaced).
For simplicity and to avoid amplification of incoming MODE messages,
regular modes may still desync the forward channel of a ban.
2012-03-03 23:45:52 +01:00
Nathan Phillip Brink
80e49b4ca8
Run make depend.
2012-03-01 03:51:33 +00:00
Nathan Phillip Brink
c74836dc4a
Add explicit support for being installed into a system triggered with --enable-fhs-paths.
...
Add two mechanism for avoiding name-collisions in a system-wide
installation of charybdis. The ssld and bandb daemons, intended to be
directly used by ircd and not the user, install into libexec when
--enable-fhs-paths is set. For binaries which are meant to be in PATH
(bindir), such as ircd and viconf, there is now an option
--with-program-prefix=progprefix inspired by automake. If the user
specifies --with-program-prefix=charybdis, the ircd binary is named
charybdisircd when installed.
Add support for saving the pidfile to a rundir and storing the ban
database in localstatedir instead of in sysconfdir. This is, again,
conditional on --enable-fhs-paths.
Fix(?) genssl.sh to always write created SSL key/certificate/dh
parameters to the sysconfdir specified during ./configure. The
previous behavior was to assume that the user ran genssl.sh after
ensuring that his current working directory was either sysconfdir or a
sibling directory of sysconfdir.
2012-03-01 02:41:09 +00:00
Nathan Phillip Brink
d54e352b45
During installation, don't unconditionally create an empty `modules-old' directory.
2012-02-28 06:40:18 +00:00
Nathan Phillip Brink
f02e3a2628
Use LDFLAGS when compiling extensions or modules.
2012-02-28 04:36:00 +00:00
William Pitcock
dc0fd46236
Ensure AWAY pacing only affects local clients.
2012-02-21 21:09:33 -06:00
Jilles Tjoelker
725403fd7f
Don't end the flood grace period with the first AWAY.
...
This allows clients to restore an away message early in the connection
process without breaking flood grace.
2012-02-18 16:35:31 +01:00
Jilles Tjoelker
d42e6915cf
Pace aways.
...
This becomes important because of away-notify sending aways to common
channels much like nick changes (which are also paced).
Marking as unaway is not limited (but obviously only does something if the
user was away before). To allow users to fix typos in away messages, two
aways are allowed in sequence if away has not been used recently.
2012-02-18 16:32:57 +01:00
Keith Buck
7e132ff005
ratelimit: Add rate-limiting to MOTD, WHO, and remote WHOIS.
2012-02-18 03:56:47 +00:00
Keith Buck
e88a1f1b15
Add ratelimit for high-bandwidth commands.
2012-02-18 03:54:44 +00:00
Jilles Tjoelker
c25a890796
Remove some TS5 code from ms_bmask().
...
ms_bmask() used to send MODE messages to TS5 servers, but
TS5 support was removed long ago.
2012-02-17 00:36:12 +01:00
Jilles Tjoelker
23f6b63af6
Send forward channel when bans are added/removed because of TS/bursts.
...
If a netburst adds bans or a channel TS change removes bans, +b/-b modes
are generated. Make sure these contain the forward channel, if any.
This appears also broken in ircd-seven.
2012-02-17 00:09:39 +01:00
Jilles Tjoelker
65b8d06c71
Do not send unchanged away messages to other users via away-notify.
2012-02-14 23:14:42 +01:00
Keith Buck
c5bbc60375
Add away-notify client capability.
2012-02-14 14:15:44 +00:00
Jilles Tjoelker
e5520caf0a
Allow opers to do /stats C.
...
In particular, this allows remote /stats C.
2012-02-11 23:17:04 +01:00
Jilles Tjoelker
ed11b18f0f
Allow normal users to do PRIVS on themselves.
...
This basically shows a subset of the information shown by the notices
on connect like "*** You are exempt from K/X lines".
2012-02-06 23:15:03 +01:00
William Pitcock
ac37f16a3d
m_stats: iterate capability indexes on /stats C
2012-02-04 21:33:54 -06:00
William Pitcock
806402515b
m_server: make sure required_caps is non-zero.
2012-02-04 04:39:39 -06:00
William Pitcock
79d488b283
m_server: reenable required cap negotiation
2012-02-04 02:03:52 -06:00
William Pitcock
346fba9252
Migrate capability negotiation code to new dynamic capability management API.
...
This needs a lot of testing, obviously.
2012-02-04 01:47:46 -06:00
Jilles Tjoelker
97532cfafb
Fix assertion failure when failing to join a channel and there is no forward.
...
This was harmless apart from the message.
2012-01-08 16:41:26 +01:00
Jilles Tjoelker
d9af501aa8
Fix a warning about const with forward channels.
2012-01-08 16:23:18 +01:00
Jilles Tjoelker
ae52fe0ff7
Show underlying IPv4 in a remote whois.
2012-01-08 15:51:48 +01:00
Keith Buck
9319a2e206
Remove double-quote restriction on dline, kline, resv, and xline reasons; remove colon restriction on xline reasons.
2011-12-30 17:29:58 +00:00
William Pitcock
b583faf970
Add support for customizing the usable nick length.
...
This adds a new ISUPPORT token, NICKLEN_USABLE which is strictly an informative value.
NICKLEN is always the maximum runtime NICKLEN supported by the IRCd, as other servers may
have their own usable NICKLEN settings. As NICKLEN_USABLE is strictly informative, and
NICKLEN is always the maximum possible NICKLEN, any clients which depend on NICKLEN for
memory preallocation will be unaffected by runtime changes to NICKLEN_USABLE.
The default NICKLEN is 50; the default serverinfo::nicklen in the config file is set to
30, which is the NICKLEN presently used on StaticBox.
2011-11-29 16:10:21 -06:00
William Pitcock
e2606551a2
Fix potential buffer-overflow from malformed RSFNC request.
2011-11-29 15:50:54 -06:00
Jilles Tjoelker
0cce01d388
Fix -Wformat errors found in ircd-ratbox.
...
We cannot use -Wformat meaningfully but ircd-ratbox trunk can.
2011-11-13 00:22:09 +01:00
Jilles Tjoelker
a75bf40dad
Fix weirdness with client_flood_burst_rate and client_flood_burst_max.
...
They are now in messages, even if client_flood_message_time is not 1.
If client_flood_message_time is not 1 (by default it is), this needs a
configuration change to maintain the same behaviour.
2011-10-04 00:57:49 +02:00
Jilles Tjoelker
d182b85454
Minor cleanup to command throttling code:
...
* Deduce allow_read from the client's state (IsFloodDone) rather than
storing it in LocalUser.
* Fix the documentation (in oper /info), however strange
client_flood_burst_rate and client_flood_burst_max may seem, that is
how they currently work.
2011-10-04 00:46:00 +02:00
Jilles Tjoelker
6a85e665db
If use_forward=no, ignore any forwarding for joins by local users.
2011-09-25 17:26:01 +02:00
Jilles Tjoelker
2da6f6ebd7
Put back use_forward.
2011-09-25 16:22:29 +02:00
Keith Buck
2220472610
m_resv.c: replace erroneous UNXLINE cluster calls with UNRESV.
2011-08-18 03:48:40 +00:00
Elizabeth Jennifer Myers
765d839d3c
Port ircd-seven banfowards to charybdis.
...
nenolod gave the thumbs-up to port ircd-seven banfowards to charybdis to spb
for a while, and people have asked about it. Might as well do it since it's a
slow weekend.
Note that as a side effect use_forward is removed from the config and
unconditionally enabled!
2011-08-12 20:33:10 -04:00
Elizabeth Jennifer Myers
7eec45bc9d
Back out chanroles.
...
While what chanroles are trying to accomplish is a good idea, it is
apparently unclear this is the proper way to do it. Until we figure out
the exact way we wish to do this, it should be reverted for now.
2011-07-07 21:24:14 -04:00
Elizabeth Jennifer Myers
e1ee78ae30
Partially revert e794d39a80
.
...
As jilles pointed out, it is best that the chanserv access list always
remain synced with the grant list. Thus, the ability for clients to set
this is not a good idea unless services knows about the grant, but this
leads to all sorts of messy issues and likely isn't worth it.
2011-07-06 18:14:57 -04:00
Elizabeth Jennifer Myers
e794d39a80
Add client interface for GRANT.
...
TODO: implement notifications of grant privilege changes to the target.
2011-07-06 17:25:26 -04:00
William Pitcock
460b6d9fb2
chanroles: ENCAP GRANT should work under the assumption that we want to zero out
...
this makes setting new roles on a user much easier as we're just setting the roles they
should be having, instead of having to try to revoke roles we don't necessarily know
about.
2011-07-06 15:04:45 -05:00
Elizabeth Jennifer Myers
8aabb973c0
Implement chanroles, as discussed with nenolod.
...
The theory behind this is that services sends an ENCAP * GRANT #channel
UID :+flagspec message specifying the chanroles the user has. They are
mapped into flag bits and applied to the membership of the user. They
then are restricted or permitted to what they can do based on the
permissions mask regardless of rank.
For backwards compatibility, the default permission bit (without a GRANT
statement) allows a user to to anything an existing op can do ONLY if
they are an op.
Todo: make CHANROLE_STATUS work (the ability to apply +ov to people),
which is at the moment controlled by CHANROLE_MODE.
2011-07-06 13:46:22 -04:00
William Pitcock
0351022738
RSFNC: allow RSFNC against a target which just changes the capitalization of the nickname
...
this is useful for gently changing a nickname from ReTARDeDNICk to Retardednick, see
ns_cleannick in atheme git.
2011-07-02 19:53:21 -05:00
Jilles Tjoelker
45ed883584
rsfnc/svslogin: Add server notices for kills.
...
When we broadcast a KILL message, this generates server notices on all
other servers (assuming the target user exists). Therefore, we should
also send a notice to our local opers.
2011-06-25 15:56:22 +02:00
Jilles Tjoelker
2b843a5bdd
dline,kline: Avoid breaking the protocol with bad bans.
2011-06-25 11:34:34 +02:00
Jilles Tjoelker
b5d9427a78
invite: Remove useless IsChannelName check.
2011-06-25 11:34:16 +02:00
Jilles Tjoelker
0941f28e7d
knock,topic: Remove useless IsChannelName checks.
...
If !IsChannelName(name), then certainly find_channel(name) == NULL.
2011-06-25 11:17:37 +02:00
Jilles Tjoelker
a4eeda898e
operspy list: Show '!' prefix for otherwise hidden channels rather than +s ones.
...
This is consistent with operspy whois.
2011-05-24 00:30:45 +02:00
Keith Buck
bf0a45920d
modules/m_list.c: Change operspy LIST syntax to match everything else that accepts operspy.
2011-05-22 20:30:49 -07:00
William Pitcock
f5493691ed
branding: if CUSTOM_BRANDING is defined, display charybdis version in /info
...
(based on ircd-seven rebrand patch)
2011-05-08 09:06:19 -05:00
Jilles Tjoelker
a1574df4a2
Allow kick_on_split_riding to protect channels with mlocked keys.
...
Do kick_on_split_riding if services sends an SJOIN
with a lower TS and a different key. This relies on
services restoring TS (changets option in atheme) and
services not immediately parting after receiving the
KICK, which is the case in recent atheme.
For invite-only channels, still only do
kick_on_split_riding in netbursts. Services is
assumed to handle this itself (atheme does).
2011-04-06 19:05:08 +02:00
Jilles Tjoelker
572488e029
If the sasl mechanism is EXTERNAL, send the certfp in the initial S message.
2011-04-04 00:59:20 +02:00
Jilles Tjoelker
f62f94b094
Back out AUTHENTICATE EXTERNAL so I can do it differently.
...
The current approach is fundamentally broken as it allows
anyone in that knows the certfp and uses an old ircd as
their server.
2011-04-04 00:44:07 +02:00
Jilles Tjoelker
1b19fe8b5e
Revert "sasl: remove checks for impossible conditions".
...
This check is not impossible and can be triggered by
sending a PASS command like a server would send first.
This backs out changeset 8cba4464feec.
2011-03-31 23:26:26 +02:00
William Pitcock
27126f911d
sasl: first attempt at ircv3.1 AUTHENTICATE EXTERNAL support
2011-03-31 00:35:58 -05:00
William Pitcock
d8c45202e3
sasl: remove checks for impossible conditions
2011-03-31 00:18:32 -05:00
Stephen Bennett
e6e54763d9
Make flood control settings configurable by those who know exactly what they're doing.
...
From ircd-seven git changeset 29aa4203150337925a4f5c6e7da47be5394c2125 .
2011-03-27 16:35:26 -04:00
Elizabeth Jennifer Myers
6493f05d8c
m_challenge: fix use of undefined behaviour.
...
GCC does what we expect, but other compilers could do just about anything.
2011-02-22 12:00:45 -05:00
Jilles Tjoelker
2fb0796158
hunt_server: Disallow wildcarded nicknames.
...
Any hunted parameter with wildcards is now assumed
to be a server, never a user.
Reasons:
* fewer match() calls
* do not disclose existing nicknames
* more intuitive behaviour for CONNECT
m_trace has a copy of some hunt_server logic in it
(for the RPL_TRACELINK reply), so adjust that too.
2011-01-08 17:47:05 +01:00
Keith Buck
4c3f066ab8
Move list-related isupport items to the list module itself.
2011-01-06 00:40:08 -08:00
Keith Buck
096570b9f8
Add topic TS and channel TS constraints for /LIST.
2011-01-05 21:15:36 -08:00
Keith Buck
bb55ebebe9
Implement operspy for /LIST.
2011-01-05 18:57:27 -08:00
Keith Buck
9ad393f677
Fix multiple RPL_LISTEND replies when aborting a /LIST.
2011-01-02 00:43:11 -08:00
Jilles Tjoelker
1987b5da5b
Fix topic changes after 6af636dce2e6.
2010-12-27 17:31:11 +01:00
Stephen Bennett
341f971efa
Bring across disable_local_channels config option from ircd-seven
2010-12-21 20:38:04 +00:00
William Pitcock
261e2f9399
Accountname should not be prefixed with a colon to allow future expansion.
2010-12-16 00:32:48 -06:00
William Pitcock
92052a5c24
Add extended-join client capability.
...
The extended-join client capability extends the JOIN message with information clients typically
query using WHO including accountname, signon TS and realname.
2010-12-16 00:24:54 -06:00
William Pitcock
805cfa5ab2
Use send_channel_join().
2010-12-16 00:13:42 -06:00
William Pitcock
7a7f86d344
Rough implementation of the new account-notify client capability.
...
This replaces identify-msg in ircd-seven.
2010-12-15 23:04:57 -06:00
William Pitcock
7a948bdaa7
Add capability parameter to sendto_common_channels_local() and sendto_common_channels_local_butone().
2010-12-15 22:55:05 -06:00
William Pitcock
cddbab51bb
Send ERR_TOOMANYCHANNELS for each channel join that fails due to channel limits.
...
The reason why we do this is because some clients are dependent on receiving a numeric
for every channel join failure, even due to this limit where it can be assumed that
subsequent joins failed.
2010-12-14 02:24:23 -06:00
William Pitcock
ff0cc1e616
Add support for linking using SSL certificate fingerprints as the link credential rather than the traditional server-password pair.
2010-12-13 23:14:00 -06:00
B.Greenham
15484f02bd
Move flood_attack_channel to channel.c so it can be used outside m_message.c
2010-12-09 18:29:56 -05:00
William Pitcock
0343b3c563
Use get_channel_access() for KICK/TOPIC.
2010-12-07 00:14:42 -06:00
William Pitcock
6ca4dec95a
Extend hook_data_channel_activity moduledata with membership struct.
2010-12-06 22:57:04 -06:00
William Pitcock
1f679bfe7b
Filter bogus CTCP ACTION messages.
2010-11-05 01:16:03 -05:00
Jilles Tjoelker
01b7a527a3
Show the services login name in WHOWAS.
...
The numeric is the same (330) as used in WHOIS.
This takes at most half a megabyte of memory (large network, 30 char nicks).
2010-08-29 22:30:54 +02:00
Jilles Tjoelker
5b383ce060
Move RPL_WHOISLOGGEDIN to sendto_one_numeric().
2010-08-29 22:29:17 +02:00
Jilles Tjoelker
02e655aeac
Provide an error message when a user does /quote ban.
2010-08-29 15:16:47 +02:00
Jilles Tjoelker
717238d2a2
Add target change for channels.
...
This has a separate enabling option channel::channel_target_change.
It applies to PRIVMSG, NOTICE and TOPIC by unvoiced unopped non-opers.
The same slots are used for channels and users.
2010-08-29 01:26:00 +02:00
Jilles Tjoelker
dd9b78dc92
Remove redundant MyClient check, it is already checked above.
2010-08-24 22:46:57 +02:00
Stephen Bennett
51269a8737
Merge backout of 8939a7e03d15
2010-08-24 21:31:55 +01:00
Stephen Bennett
0f1ab797e4
Backed out changeset 8939a7e03d15
...
The code behind this capability was never implemented, and subsequent
discussions have agreed to approach the problem differently. There seems no
reason to continue advertising a capability that does nothing.
2010-08-24 21:30:56 +01:00
William Pitcock
6fb6bd15ae
Enforce TS rules on MLOCKs.
2010-08-23 20:22:59 -05:00
Jilles Tjoelker
f5455d2cd5
Tweak auto-accept:
...
* does not apply to NOTICE (as those may well be automated)
* mirrors +g behaviour so that no useless accept entries are added for services
* respects max_accept, if it would be exceeded the message is dropped with numeric 494
* check moved up so this is checked before floodcount/tgchange
2010-07-04 17:14:56 +02:00
William Pitcock
0770c9936e
Stop griefing through taunting while hiding behind CALLERID.
...
This shouldn't provide any way for a client to get on a CALLERID list
without authorization, as if a client is +g already, a CTCP request, for
example, won't be replied to.
2010-07-03 00:44:55 -05:00
Jilles Tjoelker
76a2bba920
Propagate changed away messages to other servers,
...
even if the away status did not change.
2010-06-10 22:16:07 +02:00
Elly
15aa08eecb
Fix memory leaks in PASS command, both in normal and repeated use.
2010-06-01 13:11:47 -04:00
Stephen Bennett
ca656bf815
Fix compiler warning
2010-05-02 21:25:58 +01:00
Stephen Bennett
6b8db2daf2
Allow the final parameter of MLOCK to be empty, to remove an existing mlock
2010-05-02 20:42:46 +01:00
Stephen Bennett
1916ed52f8
Branch merge
2010-04-30 22:03:42 +01:00
Stephen Bennett
78e6b731e4
Rework ircd-side MLOCK enforcement: instead of trying to track modes locked on or off, instead keep a simple list of mode letters that are locked, and reject any change to those modes.
2010-04-30 22:01:21 +01:00
Jilles Tjoelker
a0ce140ed6
Improve technical documentation of BAN protocol.
2010-04-29 00:26:49 +02:00
Jilles Tjoelker
406478d224
Do not allow a topic change if a user may not send to the channel
...
(resv, cmode +m, cmode +b, cmode +q, etc.).
This is only checked for local users.
For optimal compatibility, a failure for this reason still
returns ERR_CHANOPRIVSNEEDED.
Side effect: normal users cannot change topics of resv'ed
channels, even if they have ops, just like they already
cannot send messages. This only matters if resv_forcepart
is disabled, as the user would have been removed from the
channel otherwise.
2010-04-15 00:46:33 +02:00
William Pitcock
bd44fc7b09
Automated merge with ssh://hg.atheme.org//hg/charybdis
2010-04-06 17:14:51 -05:00
William Pitcock
c239b97f68
Hook up source-account-hostmask client protocol extension.
2010-04-06 17:14:44 -05:00
JD Horelick
944b0584ea
Change config option for ident_timeout to default_ident_timeout as jilles
...
recommended.
2010-04-05 16:29:11 -04:00
JD Horelick
0ffb810660
Add a configuration option for ident_timeout.
2010-04-05 15:28:44 -04:00
Jilles Tjoelker
803ce385bf
Fix various compiler warnings.
2010-03-27 20:09:46 +01:00
Jilles Tjoelker
5bd874eb41
Restore snotes, logs for UNRESV nick.
...
This bug was introduced when adding bandb.
2010-03-27 16:24:13 +01:00
Jilles Tjoelker
dca9e55257
Add propagated resvs, like klines and xlines.
2010-03-27 16:13:57 +01:00
Jilles Tjoelker
1b5d7c2e8a
XLINE: Do not cluster unxlines ON specific servers.
...
This bug was introduced with BAN support for XLINE.
2010-03-27 16:09:26 +01:00
Jilles Tjoelker
a812a239c8
Remove unused variable.
2010-03-27 02:06:29 +01:00
Jilles Tjoelker
f89191ace9
BAN: xlines do not have oper reasons, their "reason" is already oper only.
2010-03-18 00:22:35 +01:00
Jilles Tjoelker
3cbbfb2556
Add propagated xlines, like klines.
2010-03-16 23:05:50 +01:00
Jilles Tjoelker
34e02db66b
Fix a signedness comparison warning.
2010-03-16 19:13:09 +01:00
Jilles Tjoelker
1702b69419
Add option general::use_propagated_bans to allow disabling new KLINE.
...
If this option is yes (default), KLINE by itself sets global (propagated) bans.
If this option is no, KLINE by itself sets a local kline following cluster{},
compatible with 3.2 and older versions.
2010-03-14 17:21:20 +01:00
William Pitcock
8727cbe88a
Add propagation of MLOCK state for simple modes.
...
Special modes like +j can be tracked easily just by adding the necessary
code to parse them to set_channel_mlock(). This will cover propagation
as well.
2010-03-07 23:13:39 -06:00
Jilles Tjoelker
5c2b9eaf48
BAN: Reject bans with insufficient non-wildcard characters.
...
Such bans are not applied locally, but are propagated normally.
They can only be removed on a server that applies them.
Note that normally KLINE will not accept such bans.
This is mainly for services, differing min_wildcard and
ircd changes.
2010-03-06 01:45:41 +01:00
Jilles Tjoelker
416d868ed4
Add /stats g to show propagated (global) klines.
2010-03-06 00:31:51 +01:00
Jilles Tjoelker
6229f9f83b
Among bans with the same creation time, prefer the one with longest lifetime.
2010-03-05 23:16:28 +01:00
Jilles Tjoelker
9470d75a42
BAN: Avoid fake direction.
2010-03-05 22:53:35 +01:00
Jilles Tjoelker
cedb7d05b4
Remove +/- from the BAN message, instead indicating unban with duration=0.
...
A kline must now last at least one second since its creation time.
Also add better logic for bans that have already expired
when they come in.
2010-03-05 22:51:47 +01:00
Jilles Tjoelker
431a1a2784
Add propagated klines.
...
A KLINE command without the ON clause now sets a propagated
("global") ban. KLINE commands with the ON clause work as
before.
Propagated klines can only be removed with an UNKLINE command
without the ON clause, and this removes them everywhere.
In fact, they remain in a deactivated state until the latest
expiry ever used for the mask has passed.
Propagated klines are part of the netburst using a new BAN
message and capab. If such a burst has an effect, both the
server name and the original oper are shown in the server
notice.
No checks whatsoever are done on bursted klines at this time.
The system should be extended to XLINE and RESV later.
There is currently no way to list propagated klines,
but TESTLINE works normally.
2010-03-05 18:36:44 +01:00
Jilles Tjoelker
c935336b64
kline: Fix oper reasons.
2010-03-05 18:28:59 +01:00
Jilles Tjoelker
97f44d343a
Skip propagated bans in rehash txlines/tresvs.
2010-03-05 00:37:56 +01:00
Jilles Tjoelker
27f616ddf5
Track who set a dline/kline/xline/resv as in ratbox3.
...
Like in ratbox3, there is no way to query this information
(other than bandb's tables, but they worked before this
commit).
2010-03-01 01:23:22 +01:00
Jilles Tjoelker
a12ad04472
Generate the "Temporary K-line %d min" part from aconf->hold - aconf->created.
2010-02-28 16:27:06 +01:00
Jilles Tjoelker
b52c294986
Store the creation time of klines and dlines as a time_t instead of as text.
...
The value 0 indicates the creation time is unknown (currently the case
for bandb).
Also store a creation time for xlines and resvs, but do not use it yet.
2010-02-28 00:46:56 +01:00
Jilles Tjoelker
3102dbdc4f
Use FLAGS_SENTUSER when checking whether to register when ping cookie is received.
2010-02-24 23:28:27 +01:00
Stephen Bennett
1fb3b1e1c4
Use FLAGS_SENTUSER instead of 'user' being non-empty to decide whether to register a user on CAP END.
...
identd and SASL can cause source_p->user to be present without USER having been sent.
Without this change, that could cause a crash later on as localClient->fullcaps is not initialised.
2010-02-23 22:35:58 +00:00
Jilles Tjoelker
ff91faaf76
Do not penalize for spambot checks if creating a new channel.
2010-02-21 01:45:51 +01:00
Jilles Tjoelker
4eb9a3ca0b
JOIN 0: Make spambot check equivalent to PART's.
2010-02-21 01:12:04 +01:00
Jilles Tjoelker
9148f6aa7c
Remove dead code: last_join_time is already updated by check_spambot_warning().
2010-02-21 01:10:04 +01:00
Jilles Tjoelker
cf3564d61f
Do not check for spambot if the user is not allowed to join the channel.
2010-02-21 01:07:32 +01:00
Jilles Tjoelker
fad065bb95
challenge: Fix build.
2010-02-18 23:42:07 +01:00
William Pitcock
ed8b3d69ac
Add certfp check to challenge too.
2010-02-17 23:01:25 -06:00
William Pitcock
76169ea734
Clarify ERR_NOOPERHOST and convert it to use sendto_one_numeric().
2010-02-17 06:51:41 -06:00
William Pitcock
ff31db8473
Add support for client certificate fingerprints in o:lines.
2010-02-17 06:41:41 -06:00
Jilles Tjoelker
0cce7774d5
Subject /invite to umodes +g and +R.
...
The behaviour is the same as /msg except that where
/msg would send RPL_UMODEGMSG to the user, the /invite
is instead let through. This counts as a notification
for caller_id_wait like RPL_UMODEGMSG.
Checks are on the target user's server, which means an
error message will appear after RPL_INVITING.
This must be because the accept list is not globally
known.
2010-02-15 23:07:14 +01:00
Jilles Tjoelker
40b79a3908
Add missing return value.
2010-02-15 22:18:00 +01:00
Jilles Tjoelker
890af0e7c5
Subject /invite to target change.
...
Similar to /msg, inviting a user that is not in a channel
you have op or voice in requires a free target; opers always
have a free target.
Being invited adds the source as a reply target.
2010-02-15 22:08:55 +01:00
Jilles Tjoelker
4f2685f3e1
Move target change code to src/tgchange.c,
...
so we can use it for /invite as well.
2010-02-15 21:58:34 +01:00
Jilles Tjoelker
c9f01c4f2f
target change: Allow free replies.
...
When a user receives a private message, notice or RPL_UMODEGMSG,
add the source to a special set of 5 target slots.
These slots are checked in the normal way when sending messages,
allowing a reply without using up a free target.
This feature will not be very useful if a user is being messaged
by many different users; to help this, messages blocked entirely
by +g or +R do not affect the targets. CTCP replies also remain
free in terms of targets.
2010-02-15 01:07:07 +01:00
Jilles Tjoelker
179becdf5f
target change: Overwrite the least recently used target with a new one.
2010-02-15 00:31:17 +01:00
Jilles Tjoelker
ad1d39a76f
Make the number of targets tracked for target change a #define.
2010-02-13 15:18:17 +01:00
Jilles Tjoelker
96bfafc1f8
testline/testgecos: Send "not an oper" message if appropriate.
2010-02-07 17:57:36 +01:00
Jilles Tjoelker
8eda114a78
Pass certfp to other servers and show it in whois. Do not show it on connect.
...
The server protocol for this is
:<uid> ENCAP * CERTFP :<40 hex chars>
both in new user introductions and in burst.
As in oftc-hybrid, only the user themselves and opers can see the certfp.
Displaying the certfp on connect seems unnecessary to me,
the user can whois themselves if needed.
2010-02-06 00:18:27 +01:00
Jilles Tjoelker
114105b429
Fix /links buffer overflow.
2010-01-27 21:05:10 +01:00
Jilles Tjoelker
1fd171a547
Fix op-moderate (cmode +z) for channel names with '@'.
2010-01-24 19:37:00 +01:00
Jilles Tjoelker
641eb2c3c8
Put back fb7d6089158e, not setting large_ctcp_sent for CTCP ACTION.
2010-01-20 00:03:57 +01:00
William Pitcock
2e918bf515
Merge +C (no CTCP to channels) from ircd-seven.
2010-01-19 02:11:04 -06:00
Jilles Tjoelker
3d0bbdcbe1
Do not set large_ctcp_sent for CTCP ACTION as it does not request a reply.
2010-01-14 01:12:16 +01:00
Jilles Tjoelker
a990586f4d
If a removed resv was temporary, mention this in the server notice.
...
This agrees with xline.
2010-01-09 22:14:53 +01:00
Jilles Tjoelker
1a9ea263fa
Add back unresv (permanent resv) notices.
2010-01-09 22:12:06 +01:00
Jilles Tjoelker
43d4d72ca9
Put back resv_forcepart.
...
This undoes erroneous revert in a3c064b3b8a2.
2010-01-09 19:08:48 +01:00
Jilles Tjoelker
70ea02ebd6
Complete the move of xlines and resvs from aconf->name to aconf->host.
2010-01-08 18:46:29 +01:00
Jilles Tjoelker
4418166c7e
Do not change \s in xlines to spaces, match_esc() treats \s correctly.
...
This undoes erroneous revert in a3c064b3b8a2.
2010-01-08 18:13:47 +01:00
William Pitcock
00c036b172
Add back missing notices.
2010-01-07 18:17:08 -06:00
William Pitcock
23959371d0
Fix up more things with bandb.
2010-01-07 18:14:15 -06:00
William Pitcock
d4c273075e
Make this work again.
2010-01-07 17:50:49 -06:00
William Pitcock
f36d4fdd54
Make this work again.
2010-01-07 17:49:08 -06:00
William Pitcock
9964e93509
Readd some oper notices.
2010-01-07 17:37:52 -06:00
William Pitcock
8bbeb278ec
Update modules to use bandb_add()/bandb_del().
2010-01-07 17:19:03 -06:00
Jilles Tjoelker
0b5cf476f5
SCAN UMODES: default list-max to 500, like a global WHO.
2010-01-01 22:55:25 +01:00
Stephen Bennett
6657de63ac
Merge
2009-12-08 19:23:32 +00:00
Stephen Bennett
c127b45b83
Revert all presence-related changes
2009-12-08 19:22:55 +00:00
Jilles Tjoelker
f4d319c7ae
Use full (:n!u@h) prefix for sending ETB from a user to clients.
2009-09-20 00:44:47 +02:00
Jilles Tjoelker
c2c25552ca
Force part local users (not resv_exempt) on channel resv.
...
A notice will be sent to any force parted users that the channel
is temporarily/permanently unavailable on the server.
A new config option channel::resv_forcepart can be used to disable this.
from ircd-ratbox (dubkat)
2009-09-19 21:24:35 +02:00
Jilles Tjoelker
72d36704fc
Disallow changing away status via /presence.
...
Allowing this desynchronizes clients and servers that
do not know about this extension without good reason.
If you want to allow this, change it to spit out the
usual AWAY protocol.
2009-06-04 00:01:57 +02:00
Jilles Tjoelker
50325a6667
Reject presence updates with too long keys, instead of truncating them
...
and causing soft assertion failures. Values are still
silently truncated though.
2009-06-03 23:49:50 +02:00
Jilles Tjoelker
331c548d9d
Correct minimum parameter counts for PRESENCE.
2009-06-03 20:03:15 +02:00
Jilles Tjoelker
5beadfb00f
ENCAPs cannot come from local clients, no need to check.
2009-06-03 19:57:27 +02:00
Jilles Tjoelker
beafd0ee32
Remove special CAP presence handling of /whois away message.
...
This cannot work because /whois is executed remotely too
and CAPs aren't known remotely.
2009-06-03 19:54:49 +02:00
William Pitcock
0fc5aeca53
presence: m_presence module: Use safer get_metadata() where appropriate, to avoid crash possibilities.
2009-06-02 02:55:45 -05:00
William Pitcock
f72de72bf4
presence: Use RPL_WHOISMETADATA.
2009-06-02 02:44:31 -05:00
William Pitcock
8f2d1ccf7f
presence: If CLICAP_PRESENCE is enabled, then RPL_AWAY is replaced by the "away" keyword in the presence dataset.
...
As such, only fall back to legacy RPL_AWAY if CLICAP_PRESENCE is not set on source_p.
2009-06-02 02:17:42 -05:00
William Pitcock
54ff698839
presence: Add CLICAP_PRESENCE.
...
This will enable broadcasting presence updates on channels.
2009-06-02 02:14:44 -05:00
William Pitcock
4af8bcef59
presence: Replace stagnant free_away() call with delete_metadata(..., "away").
2009-06-02 02:06:18 -05:00
William Pitcock
884b5d41c1
presence: Remove user.away, replaced by a metadata entry.
...
Cache the metadata retrieval value where feasible for minimal performance impact.
2009-06-02 02:03:51 -05:00
William Pitcock
45d1f80189
presence: Add m_presence module. This provides an ENCAP s2s interface and lowlevel client interface.
2009-06-02 01:45:43 -05:00
Jilles Tjoelker
aa9c9ed268
Allow ctcp replies through floodcount after ctcp'ing a large group.
...
A large group is any $$ or $# or a channel with more than
floodcount/2 local members, checked on each server separately.
Note that floodcount checks are done on the sender's server.
The special treatment is active for 15 seconds.
2009-05-17 20:52:16 +02:00
Jilles Tjoelker
d69601a5e2
Rewrite perm xlines containing '",' from local opers (to '"\,').
...
The change also applies to xlines sent to other servers.
Note that the backslash must be supplied in an unxline.
Incoming xlines containing '",' are rejected to avoid
inconsistency between servers.
2009-05-08 14:42:55 +02:00
Jilles Tjoelker
cc169c9476
Disallow the sequence '",' in perm xlines,
...
it would cause problems with xline.conf.
2009-05-08 14:27:30 +02:00
Jilles Tjoelker
395935d103
Change \s to space when writing xline.conf, to be compatible with older versions.
2009-05-08 13:40:09 +02:00
Jilles Tjoelker
23a8f750f7
Disallow double quotes in klines.
...
These could cause parse problems with kline.conf.
2009-05-08 01:50:35 +02:00
Jilles Tjoelker
b0f30fa1ca
Disallow commas in channel resvs.
...
These can never match and could cause parse problems in resv.conf.
2009-05-08 01:23:40 +02:00
Jilles Tjoelker
97c9dd8a26
Change xlines to store spaces as \s.
...
Spaces in xline.conf files are changed to \s in memory
and recognized on unxline, but are not changed in the
file. New xlines are added to xline.conf files with \s.
xline.conf written by this commit or newer will not work
properly with charybdis older than 1124:131254925f32 (which
introduced \s support in match_esc()).
2009-05-08 00:21:14 +02:00
Jilles Tjoelker
39b23540e3
Stop changing \s to spaces in masktrace and testmask,
...
match_esc() handles \s directly now.
2009-05-07 23:58:32 +02:00
Jilles Tjoelker
a416ed2e79
Move check for required CAPABs to mr_server -- CAPAB may not be sent.
...
Also fix exit message.
2009-04-21 18:43:07 +02:00
William Pitcock
c6240d7940
Allow for capabilities to be marked as "required".
...
If capability negotiation fails on these capabilities, then the server link is dropped.
2009-04-20 09:36:55 -05:00
William Pitcock
5f8d323c59
can_kick hook, based on the ircd-seven one.
2009-04-20 09:20:11 -05:00
Stephen Bennett
9a180ae365
Allow / in spoofed hosts
2009-04-20 08:37:13 -05:00
Jilles Tjoelker
b7b1d686a9
Simplify floodcount checking, it is no longer affected by +g/+R anymore.
2009-04-19 00:04:21 +02:00
Jilles Tjoelker
631b4a542a
Use uid/sid for some ERR_CHANOPRIVSNEEDED if they go to a remote client.
2009-04-09 23:45:35 +02:00
Jilles Tjoelker
2ae93813bd
Add new topic command ETB, allowing services to set topic+setter+ts always
...
(provided channelTS != 0).
ETB is controlled by the EOPMOD capab. Fairly complicated
stuff is needed for older servers.
ETB can come from clients or servers, but at this time it
should only be sent from clients, as otherwise it is not
always possible to update older servers.
2009-03-29 17:08:42 +02:00
Jilles Tjoelker
c4d2d01419
Apply +z to messages blocked by +b and +q as well.
...
This adds a new server capab EOPMOD which will be used
for an extended topic command also.
2009-03-29 15:48:07 +02:00
Jilles Tjoelker
61b7e0d959
Do not send "<blah> is rehashing <blah>" notices to the remote oper.
2009-03-07 16:57:58 +01:00
Jilles Tjoelker
995f300eb1
Allow /rehash throttles to clear throttling.
2009-03-07 01:49:09 +01:00
Jilles Tjoelker
94734aacc6
Correct WHOX overflow check so it also works for fields other than the last.
...
Found with llvm static analyzer.
2009-03-01 01:58:53 +01:00
Jilles Tjoelker
f93bc39774
Remove some unused variables.
...
Found with llvm static analyzer.
2009-03-01 01:53:40 +01:00
Jilles Tjoelker
6865c0b099
Add channel::only_ascii_channels config option
...
to restrict channel names to printable ascii only.
Like disable_fake_channels this only applies to joins
by local users; unlike disable_fake_channels it applies
to opers as well.
2009-02-22 00:12:21 +01:00
Jilles Tjoelker
18fc47e681
Disallow invites to juped channels.
...
In particular, this is checked when the source is
local and not resv_exempt, or the target is local and
not resv_exempt.
2009-02-06 14:07:03 +01:00
Jilles Tjoelker
53307da8ca
Disable autoconnect for a server with excessive TS delta.
...
Note that in some cases (different TS delta settings,
heavy lag) it is possible only one of the servers
detects the problem and autoconnect may be left enabled.
The mechanism used for disabling is the same as
/quote set autoconn <server> 0; the A flag in /stats c
disappears and a rehash or /quote set autoconn can put
it back.
2009-02-05 23:43:07 +01:00
Jilles Tjoelker
e0f8d70cb2
Remove comments related to (removed) ability to disable TS6.
2009-01-30 16:50:00 +01:00
Jilles Tjoelker
ad08ad1876
For remote rehashes, send error messages to the requesting oper as well.
2009-01-30 00:11:12 +01:00
Jilles Tjoelker
e5b12a6143
Show D:line oper reason in /testline.
2009-01-27 20:20:37 +01:00
Jilles Tjoelker
1e57e391c5
Get rid of local variable shadowing.
2009-01-25 16:26:17 +01:00
Jilles Tjoelker
cb2540a673
commit 1df4ff0b0558e4698819f8e4ac6ecb7654b81a2c
...
Author: Stephen Bennett <spb@exherbo.org>
Date: Sun Jan 18 16:30:27 2009 +0000
Make testline show oper reason and setter information for K:lines, where applicable
2009-01-25 16:23:36 +01:00
Jilles Tjoelker
ff8e6e19e0
Remove some more references to parv[0] in comments.
2009-01-18 21:20:14 +01:00
Jilles Tjoelker
161f040940
Update comments for parv[0] removal.
2009-01-18 18:22:43 +01:00
Jilles Tjoelker
3a17735469
Change /stats O to show privset blocks (oper only).
...
To show operator blocks, only /stats o (lowercase) now works.
2009-01-18 01:35:24 +01:00
Jilles Tjoelker
3dfaa67120
Replace parv[0] with source_p->name.
2009-01-17 01:18:19 +01:00
Jilles Tjoelker
0a849a8fa9
Do not log ERROR messages from unknowns.
...
from ircd-ratbox (androsyn)
2009-01-17 00:23:02 +01:00
Jilles Tjoelker
463947ad90
Remove more TS5 remnants.
2009-01-16 23:18:10 +01:00
Jilles Tjoelker
4dd5d304eb
Log to serverlog when throwing out a server because of a bad nickname.
2009-01-16 23:10:49 +01:00
Jilles Tjoelker
6c77f1f74f
Close the local link that sends a TS5 NICK introduction.
...
This is no longer supported and was already broken,
sending out a UID message without UID parameter to
other servers.
2009-01-16 23:08:05 +01:00
Jilles Tjoelker
94a84cdd98
Reject SCAN UMODES if invalid parameters are given.
2009-01-16 18:33:38 +01:00
Jilles Tjoelker
5cb843c6a5
Remove obsolete comment.
2009-01-07 23:35:24 +01:00
Jilles Tjoelker
5f29102170
Make SCAN UMODES GLOBAL NO-LIST MASK <mask> no longer an operspy command.
...
This agrees with allowing MODE <nick> as non-operspy.
2009-01-01 20:32:30 +01:00
Jilles Tjoelker
9a7ab95b89
Allow opers and shide_exempt users to see hopcounts even if flatten_links is on.
2008-12-27 22:41:52 +01:00
Jilles Tjoelker
8ee12f0c43
Show libratbox version info to opers in /info.
2008-12-23 00:28:05 +01:00
Jilles Tjoelker
bac250f689
Add code to detect overflow in WHOX.
...
This should currently be impossible, but may be
possible with extremely long server/nick names and
additional fields.
In case of overflow, the string sent to to the user is
truncated and if it was the first overflow since the
module was loaded a notice is sent to snomask +d.
2008-12-20 17:17:27 +01:00
Jilles Tjoelker
83235e9ed5
Show rejectcache/throttle in /testline output.
...
This adds more RPL_TESTLINE numerics with code '!'.
Different from the other results, the I/K line or
RESV will be shown as well.
2008-12-19 19:24:12 +01:00
Jilles Tjoelker
ae09cb7dbe
Show throttle info in /stats t.
...
from ircd-ratbox (androsyn)
2008-12-16 21:02:04 +01:00
Jilles Tjoelker
ea6dade261
As in shadowircd, increase buffer for /who status.
...
Not necessary here but nice for consistency.
2008-12-03 22:54:30 +01:00
Jilles Tjoelker
41615da91c
Add operspy /topic.
...
This allows querying any channel's topic under the
operspy rules, but not changing it.
2008-12-03 00:16:05 +01:00
Jilles Tjoelker
6ccac783ae
Allow coloured part reasons in -c channels.
2008-11-29 22:22:18 +01:00
Aaron Sethman
679ccbe5ef
make is_cti/is_sti collect times connected in unsigned long long instead of time_t as well..on 32bit boxes that is going to wrap pretty quickly
...
committer: Valeriy Yatsko <dwr@it-penza.org>
2008-11-16 10:04:09 +03:00
Jilles Tjoelker
8feca1768e
Allow +z messages from outside if -n.
...
This gives a useful meaning to the cmode combo +mz-n:
messages from ops and voices go to all channel members,
messages from anyone else (on or off channel) go to ops.
With +mnz, messages from outside are not allowed at all.
2008-11-15 22:56:09 +01:00
Jilles Tjoelker
9cd063980a
Truncate idle time in /who to 32 bits.
...
Pointed out by dwr (but solved differently).
2008-11-15 21:15:38 +01:00
Jilles Tjoelker
62656efdd6
Should use rb_strlcpy instead of strlcpy...
2008-11-09 01:05:39 +01:00
Jilles Tjoelker
04d7768492
Remove LOCAL_COPY (and thus alloca) usage from /who.
2008-11-09 00:13:48 +01:00
Jilles Tjoelker
02eca3f19a
who: Use @+ combining for 354 numeric.
...
The 352 numeric uses it if CAP multi-prefix is enabled, as before.
2008-11-09 00:13:29 +01:00
Jilles Tjoelker
48957a4951
Add ircu-like /who format options.
...
Use /quote help who for details.
The format code "o" (oplevel) is not documented,
but implemented showing dummy information (999 for
chanop, n/a otherwise).
2008-11-09 00:12:56 +01:00
Jilles Tjoelker
3583564678
Make comment for ms_join() up to date.
2008-11-09 00:05:15 +01:00
Jilles Tjoelker
5807e0beaa
Allow normal users to use /chantrace.
...
The same information is already available via a
combination of /who and /trace.
2008-11-08 01:28:16 +01:00
Jilles Tjoelker
7b054ca30a
Do not send snotes/logs about juped servers trying to connect.
...
A juped server is defined as a server that already
exists with a service{} server as uplink.
If a juped server is introduced by another server,
this generates snotes/logs as before.
2008-09-25 00:00:36 +02:00
Jilles Tjoelker
7bf78de058
Make TS deops appear to come from the same server the other modes come from.
...
In particular, this makes atheme changets deops come
from the services server instead of the user's server.
2008-09-24 23:13:10 +02:00
Jilles Tjoelker
56023eb2e8
Add more detail in squit reason for certain invalid NICK/UID/EUID commands.
2008-09-16 22:53:44 +02:00
Jilles Tjoelker
591342826a
Avoid hardcoding the number of shared{} flags another time.
2008-09-09 18:42:59 +02:00
Jilles Tjoelker
7d91f0da00
Fix indentation.
2008-09-09 18:40:57 +02:00
Jilles Tjoelker
b159441429
Add need_ssl to auth{} and operator{}.
...
Specifying need_ssl on auth{} denies the connection if
it is not SSL/TLS, much like need_ident or need_sasl.
Specifying need_ssl on operator{} refuses opering with
ERR_NOOPERHOST if the connection is not SSL/TLS.
from ircd-ratbox
2008-09-07 01:18:58 +02:00
Jilles Tjoelker
4a5655b20d
Close the link that sends an invalid UID.
...
It does not make sense to send a kill using an invlid
identifier to an obviously broken server, as was
previously done.
2008-09-06 15:13:28 +02:00
Jilles Tjoelker
8c29ec4eeb
Remove check that cannot happen due to minparc in Message struct.
2008-09-06 01:33:18 +02:00
Jilles Tjoelker
8f7ca682ec
Improve server notices for hub_mask/leaf_mask.
...
Local-only server notices kept here because
hub_mask/leaf_mask tends to be specific to a (hub)
server. The same information is now available in
Netsplit notices.
2008-09-06 01:21:16 +02:00
Jilles Tjoelker
c2f73e5dbc
Use rb_snprintf() in various places.
2008-09-06 01:00:20 +02:00
Jilles Tjoelker
847ce0e98d
Remove comment referencing LazyLeaf.
2008-09-06 00:44:09 +02:00
Jilles Tjoelker
b1ace057a7
Avoid empty strings in various notices about rejected server connections.
...
These come from the name field which is empty for unknown
connections attempting to become a server.
Instead, put [@255.255.255.255] just like ratbox3 does.
2008-09-05 22:56:59 +02:00
Jilles Tjoelker
7d4287591f
Improve server notices for servers introducing existing servers.
2008-09-05 22:52:39 +02:00
Jilles Tjoelker
8e34ffc66e
Improve server notices about duplicate SIDs.
...
Note that this is checked after duplicate server names,
so it can only happen if multiple servers have the
same SID configured.
2008-09-04 01:41:49 +02:00
William Pitcock
86b6be08eb
Automated merge with ssh://hg.atheme.org//hg/charybdis
2008-08-29 14:48:06 -05:00
Stephen Bennett
9f1bde2683
don't set an empty password or auth_user
2008-08-29 14:47:51 -05:00
Jilles Tjoelker
d7dc7ae6c1
Remove some dead code.
...
found using llvm static analyzer
2008-08-29 02:53:52 +02:00
Jilles Tjoelker
e4bb4f3645
Remove another remnant of server hostmasking.
2008-08-26 00:00:11 +02:00
William Pitcock
50f2579264
m_privs: Add stuff for privsets here too.
2008-08-17 08:56:40 -05:00
William Pitcock
880c94adb4
/stats o: display name of privset instead of privs
2008-08-17 08:40:10 -05:00
Jilles Tjoelker
2bad578999
Allow /list on a named +p channel.
...
A full /list already included +p channels.
2008-08-12 22:34:37 +02:00
Jilles Tjoelker
43946961df
Move to ratbox3 reject and throttle code.
...
Throttle replaces max_unknown_ip, reject is like before
(including the charybdis-specific unkline handling).
Both of these now apply before SSL negotiation.
This commit does not include the global_cidr and new dline code.
m_webirc is a bit nasty with throttling (unlike before
with max_unknown_ip), this may be fixed later (or
the webirc IP needs to be exempt{}ed).
2008-08-01 01:59:08 +02:00
Jilles Tjoelker
59c3d09ab5
Fix testline crashes, introduced by the auth_user patch.
2008-07-31 22:25:17 +02:00