View Issue Details

IDProjectCategoryView StatusLast Update
0002552unrealircdpublic2018-05-01 16:56
Reporternforbes Assigned Tosyzop  
PrioritynormalSeverityfeatureReproducibilityN/A
Status closedResolutionno change required 
Platformi686OSFreeBSDOS Version5.3
Product Version3.3-alpha0 
Summary0002552: Flag or hook request - temporarily stop authenticating/connecting a user
DescriptionI'm interested in a method that could be used to stop a user from connecting until the code authorizes them to continue. For example, if I wanted a user to issue an AGREE command before connecting, for the purpose of ensuring that they have read the TOS of my network, the code would need to be something like this:

/* BEGIN */

// HOOKTYPE_PRE_LOCAL_CONNECT
DLLFUNC int connecting_user(aClient *cptr)
{
  // Send a message to the user telling them to type /AGREE
  cptr->flags |= FLAGS_CONNECT_DISABLED;
  // The server does nothing with them until they issue the AGREE command
}

// A command bound to "AGREE"
DLLFUNC int handle_agree(aClient *cptr, aClient *sptr, int parc, char *parv[])
{
  client->flags &= ~FLAGS_CONNECT_DISABLED;
  // Then they should continue connecting...
}

/* END */

I'm not sure how ping timeouts, etc. would be handled with this. Any comments?
TagsNo tags attached.
3rd party modules

Activities

syzop

2005-06-06 17:43

administrator   ~0010048

I doubt this will be done for 3.2*, but perhaps a good idea for the future 3.3* :)

nforbes

2005-06-06 17:43

reporter   ~0010049

"client" in the handle_agree function should be "cptr".

codemastr

2005-06-07 23:08

reporter   ~0010066

When we switch to an asynchronous model rather than a pseudo-coroutine model, this will be pretty easy to do. But that won't occur until 3.3.

totalsolid

2007-06-19 12:15

reporter   ~0014389

still considering? (we are on 3.3 eve, after all)

tabrisnet

2007-06-19 19:21

reporter   ~0014392

I can see uses, esp if we can require that they register/identify with services (register via website, or identify) first.

srcmaster

2007-06-20 08:46

reporter   ~0014393

Honestly that would be useful to me too.But i think, a hook type more suitable than a flag for that case.Also this is not the only way.You can use cmdoverride function as well.(hell to code though ;))

totalsolid

2008-02-18 13:13

reporter   ~0015152

So, what do you planning to do about this request?

Stealth

2008-02-18 16:42

reporter   ~0015158

Be patient totalsolid :P

It has already been determined this will not be done in 3.2, and if you check the 3.3 todo list there's much to do there. Combined with the lack of coders, that list will be getting done VERY slow.

If you can help by submitting patches, then do so. Otherwise, we really don't need bugs getting bumped

syzop

2018-05-01 16:56

administrator   ~0020118

No plans to implement this anytime soon. If you want it, override USER and hold processing of the command as I did in my own modules.

Issue History

Date Modified Username Field Change
2005-06-06 17:42 nforbes New Issue
2005-06-06 17:43 syzop Note Added: 0010048
2005-06-06 17:43 nforbes Note Added: 0010049
2005-06-07 23:08 codemastr Note Added: 0010066
2007-04-27 05:09 stskeeps Status new => acknowledged
2007-06-19 12:15 totalsolid Note Added: 0014389
2007-06-19 19:21 tabrisnet Note Added: 0014392
2007-06-20 08:46 srcmaster Note Added: 0014393
2008-02-18 13:13 totalsolid Note Added: 0015152
2008-02-18 16:42 Stealth Note Added: 0015158
2008-02-21 09:20 syzop QA => Not touched yet by developer
2008-02-21 09:20 syzop U4: Need for upstream patch => No need for upstream InspIRCd patch
2008-02-21 09:20 syzop U4: Upstream notification of bug => Not decided
2008-02-21 09:20 syzop U4: Contributor working on this => None
2008-02-21 09:20 syzop Product Version 3.2.3 => 3.3-alpha0
2018-05-01 16:56 syzop Assigned To => syzop
2018-05-01 16:56 syzop Status acknowledged => closed
2018-05-01 16:56 syzop Resolution open => no change required
2018-05-01 16:56 syzop Note Added: 0020118