View Issue Details

IDProjectCategoryView StatusLast Update
0004064unrealircdpublic2011-12-21 10:47
Reporterohnobinki Assigned Toohnobinki  
PrioritynormalSeveritytrivialReproducibilityN/A
Status resolvedResolutionfixed 
Product Version3.2.9 
Fixed in Version3.2.10-rc1 
Summary0004064: Expose STARTTLS support in ISUPPORT
DescriptionUnrealIRCd doesn't explicitly tell clients that it supports STARTTLS. The client is expected to try the command and, see if the server responds with the proper numeric, and then upgrade. Some IRC clients avoid this sort of probing and would only upgrade if informed that the server supports STARTTLS.

I suggest that for now, at least, STARTTLS be added to the CMDS list outputed in ISUPPORT, for example:
:test.ohnopub.net 005 EXCEPTS INVEX CMDS=KNOCK,MAP,DCCALLOW,USERIP,STARTTLS :are supported by this server

This would let clients look for the string `STARTTLS' in 005 numerics and upgrade upon receiving the numerics after registration (and perhaps before identifying to NICKSERV, etc.).
Additional Information(The suggested change is as simple as adding M_ANNOUNCE to the flags of STARTTLS's CommandAdd() call).

The controversial bit of this is that STARTTLS is, in many ways, just like another IRC command but in other ways very different -- if the command is successful, the client _must_ start a TLS negotation; and this command only makes sense in an unencrypted context. So maybe STARTTLS should just be thrown into the ISUPPORT string instead of listed with the CMDS list.
TagsNo tags attached.
3rd party modules

Relationships

child of 0003915 resolvedsyzop Unreal3.2.10 TODO 
child of 0004301 resolvedsyzop Unreal3.2.10 TODO 

Activities

ohnobinki

2011-12-20 19:56

reporter   ~0016817

I noticed that inspircd's 005 numeric just lists STARTTLS out on its own, so if we take that as a precedent then we shouldn't list STARTTLS in the CMDS list:

:colossus.teranova.net 005 bonki OPERLOG OVERRIDE REMOVE SAFELIST SECURELIST SSL= ESILENCE SILENCE=32 UHNAMES USERIP WATCH=32 SSL=173.234.168.156:6697 STARTTLS :are supported by this server

syzop

2011-12-20 20:54

administrator   ~0016818

I see. Then again, does inspircd use CMDS= at all? I mean I see USERIP listed as well.

To me it would make perfect sense to list it in CMDS, as that is what it is.

ohnobinki

2011-12-20 21:56

reporter   ~0016819

Should I throw this into CVS then? ;-)

syzop

2011-12-20 22:28

administrator   ~0016820

In CMDS= by setting M_ANNOUNCE at the STARTTLS CommandAdd() ? Yes, sure, go ahead :)

ohnobinki

2011-12-20 23:29

reporter   ~0016821

Fixed in http://hg.unrealircd.org/hg/unreal/rev/28edb1b2ffa3

- Include CMDS=STARTTLS in ISUPPORT/numeric 005 to let clients discover STARTTLS support through VERSION, before or after registration (0004064).

Issue History

Date Modified Username Field Change
2011-12-20 05:52 ohnobinki New Issue
2011-12-20 19:56 ohnobinki Note Added: 0016817
2011-12-20 20:54 syzop Note Added: 0016818
2011-12-20 21:56 ohnobinki Note Added: 0016819
2011-12-20 22:28 syzop Note Added: 0016820
2011-12-20 23:29 ohnobinki Note Added: 0016821
2011-12-20 23:29 ohnobinki Status new => resolved
2011-12-20 23:29 ohnobinki Resolution open => fixed
2011-12-20 23:29 ohnobinki Assigned To => ohnobinki
2011-12-20 23:31 ohnobinki Relationship added child of 0003915
2011-12-21 10:47 syzop Fixed in Version => 3.2.10-rc1