View Issue Details

IDProjectCategoryView StatusLast Update
0003966unrealircdpublic2011-12-28 18:47
ReporternenotopiaAssigned Tosyzop  
PrioritynormalSeverityfeatureReproducibilityN/A
Status resolvedResolutionfixed 
Product Version3.2.9-RC1 
Fixed in Version3.2.10-rc1 
Summary0003966: [patch] ESVID - a more useful form of SVID for dreamforge-based IRCds
Descriptionhello,

please apply the attached patch so that services can have proper account tracking. ESVID is fully backward compatible with non-ESVID servers, provided that the server your services are connected to is upgraded last.
TagsNo tags attached.
Attached Files
unreal3.2-esvid.diff (20,733 bytes)
3rd party modules

Activities

nenotopia

2010-11-17 18:53

reporter   ~0016425

Please use the newer version of the patch which fixes a stupid bug.

syzop

2010-11-17 19:04

administrator   ~0016426

Appreciate the patch. Unfortunately we are already in feature-freeze for next release, of which I hope to bring out an RC1 or pre1 this weekend, so... it will be for next one (.10). These are not the things I want to rush in right before a (pre)release :p.

Also:
(unsigned long)acptr->user->svid,
that.. doesn't look very correct? ;)

nenotopia

2010-11-17 19:10

reporter   ~0016427

Hmm, I will review the patch. It is possible that I missed a cast, but since I am on 64-bit it should have shown a compiler warning...

In the meantime, I am working on cleaning up a patch that is dependent on this one. :)

nenotopia

2010-11-17 19:28

reporter   ~0016429

unreal-svid-core.patch cleans up the casting that I missed.

unreal-svid-whois.patch adds support for RPL_WHOISLOGGEDIN (330).

syzop

2010-11-17 19:29

administrator   ~0016430

What I mean is you are trying to represent a pointer value as a number. I'm sure that's not what you intend.

Also, did you test this patch with services like anope and ircservices? Because now they will see users with service timestamps of * instead of 0, when they are not set (yet).

syzop

2010-11-17 19:30

administrator   ~0016431

Last edited: 2010-11-17 19:33

bleh, comments crossed ;p

HINT TO SELF: stop accidentally deleting stuff.

Ok, the 1st issue was fixed indeed ;)

nenotopia

2010-11-17 19:38

reporter   ~0016432

anope and ircservices will be fine with * instead of 0, because they call atoi() on the svid anyway :)

c-interactive> printf("%d\n", atoi("*"))
0

nenotopia

2010-11-17 20:01

reporter   ~0016434

unreal-svid-extban.patch adds support for banning by accountname.

example: +b ~a:moocow would match anyone logged in as moocow.

katsklaw

2010-12-18 05:33

reporter   ~0016469

I have these patches running on a production network of about 175 users on 3.2.8.1 and not a single problem so far. I've also tested them on a testnet running 3.2.8.1 and Atheme 6.1 devel with no problems.

syzop

2011-12-25 16:38

administrator   ~0016833

Last edited: 2011-12-25 16:44

- Services coders: Added support for ESVID. Instead of a number you can
  now store a string (of max NICKLEN size) as service stamp. See
  protoctl.txt and serverprotocol.html in doc/technical for more information.
  Patch from nenotopia (0003966).
- Show account name in /WHOIS, for ESVID-capable services packages, patch
  from nenotopia (0003966).
- Added extended ban ~a:<account name> which matches users who are logged
  in to services with that account name. This works only on services that
  support ESVID. Patch from nenotopia (0003966).
- Updated extended ban documentation in help.conf and unreal32docs:
  new bantype ~a, and some text about extended bans & invex (+I).

http://hg.unrealircd.com/hg/unreal/rev/1fa178948bcb
http://hg.unrealircd.com/hg/unreal/rev/87475a4dc87a
http://hg.unrealircd.com/hg/unreal/rev/28cb99e59cc5
http://hg.unrealircd.com/hg/unreal/rev/1fce7db4afc5
http://hg.unrealircd.com/hg/unreal/rev/103f3fa3235c

EDIT: and http://hg.unrealircd.com/hg/unreal/rev/e6a2c2129590 ;)

Thanks for the patches! :)

syzop

2011-12-28 18:47

administrator   ~0016841

I was informed by an anope dev that it did break some of their versions. I've therefore just committed a change that makes the servicestamp default to '0' again (instead of '*'), just like it always was.

Issue History

Date Modified Username Field Change
2010-11-17 18:29 nenotopia New Issue
2010-11-17 18:29 nenotopia File Added: unreal3.2-esvid.diff
2010-11-17 18:32 nenotopia Status new => has patch
2010-11-17 18:53 nenotopia File Added: unreal3.2-esvid-stupidbugfix.diff
2010-11-17 18:53 nenotopia Note Added: 0016425
2010-11-17 18:54 syzop Relationship added child of 0003915
2010-11-17 19:04 syzop Note Added: 0016426
2010-11-17 19:10 nenotopia Note Added: 0016427
2010-11-17 19:21 nenotopia File Added: unreal-esvid-core.patch
2010-11-17 19:28 nenotopia Note Added: 0016429
2010-11-17 19:28 nenotopia File Added: unreal-esvid-whois.patch
2010-11-17 19:29 syzop Note Added: 0016430
2010-11-17 19:30 syzop Note Added: 0016431
2010-11-17 19:31 syzop Relationship deleted child of 0003915
2010-11-17 19:33 syzop Relationship added child of 0003915
2010-11-17 19:33 syzop Note Edited: 0016431
2010-11-17 19:38 nenotopia Note Added: 0016432
2010-11-17 20:00 nenotopia File Added: unreal-esvid-extban.patch
2010-11-17 20:01 nenotopia Note Added: 0016434
2010-12-18 05:33 katsklaw Note Added: 0016469
2011-07-19 17:13 syzop Relationship deleted child of 0003915
2011-12-25 16:38 syzop Note Added: 0016833
2011-12-25 16:38 syzop Status has patch => resolved
2011-12-25 16:38 syzop Fixed in Version => 3.2.10-rc1
2011-12-25 16:38 syzop Resolution open => fixed
2011-12-25 16:38 syzop Assigned To => syzop
2011-12-25 16:44 syzop Note Edited: 0016833
2011-12-28 18:47 syzop Note Added: 0016841