View Issue Details

IDProjectCategoryView StatusLast Update
0002182unrealircdpublic2007-04-27 03:49
Reportertabrisnet Assigned To 
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionsuspended 
Product Version3.2.2 
Summary0002182: continuation of 2073, tokens.txt vs msg.h
Descriptionmsg.h and tokens.txt still disagree, and i'm unsure what definitions to be using.
and I am writing a services package that uses the unreal token system.

which file is authoritative? Seems to me, neither are. esp with comments from bug 2073, it seems that the only authoritative source is each individual C file.

I can't do it right now, but maybe I or someone else can regenerate the files.
Additional Informationin msg.h, SVSJOIN has been deleted.

in tokens.txt, the following have been deleted
ADDMODE
ADDOMODE
ADMIN
AWAY
CONNECT
ERROR
GNOTICE
GOPER
HASH
HELP
HELPOP
INFO
INVITE
KILL
KLINE
LINKS
LIST
NAMES
NICK
OPER
PASS
PING
PONG
PRIVMSG
QUIT
SERVER
SQUIT
STATS
SUMMON
SVSMODE
TIME
TOPIC
USER
USERS
VERSION
WALLOPS
WHO
WHOIS
WHOWAS
ZLINE

in tokens.txt, the following have been added
ADDMOTD
ADDOMOTD
CHGNAME
CYCLE
DCCDENY
EOS
MODULE
NEWJOIN
SENDSNO
SVS2SNO
SVSLUSERS
SVSMOTD
SVSNLINE
SVSSILENCE
SVSSNO
SVSWATCH
TEMPSHUN
UNDCCDENY

The following tokens have been redefined in tokens.txt
SVSJOIN
3rd party modules

Activities

syzop

2005-08-19 15:54

administrator   ~0010372

Does this bug still apply? (since tokens.txt was updated on February 28 2005)

tabrisnet

2005-08-20 16:57

reporter   ~0010378

Last edited: 2005-08-20 16:57

Unfortunately, yes.

I just wrote a perl-script to parse msg.h (btw, that file really needs to be regenerated. it's a nightmare to parse)

I'll email you the files I generated to do this. the bugs system isn't letting me upload atm.
Won't allow me to upload a perl script, and it's taking forever to accept my TXT file (and I have three of them)

syzop

2005-08-23 18:06

administrator   ~0010382

Last edited: 2005-08-23 18:07

Looking at the email I got, walking trough the changes, I don't see many bad items left.
Note that all commands that should not be used remotely, such as WHOWAS, USERHOST, WHO, etc. should not be included in tokens.txt [now don't ask me why tokens for such cmds exist ;).]

List of removed tokens & comments attached:
-ADCHAT      x     <== to be added
-ADDLINE     z
-BOTSERV     BS
-CHANSERV    j
-DIE         R
-GLINE       }
-GNOTICE     Z
-GOPER       [
-HASH        S
-HELPSERV    s
-IDENTIFY    g
-INFOSERV    BO
-ISON        K
-KLINE       W
-LIST        (
-MEMOSERV    l
-MKPASSWD    y
-NAMES       ?
-NICKSERV    i
-OPER        ;
-OPERSERV    k
-POST        BN
-PRIVMSG     !     <== is called 'PRIVATE' in tokens.txt, renamed to PRIVMSG
-REMGLINE    BG
-SERVICE     I
-SERVICES    m
-STATSERV    AH
-SUMMON      1
-USER        %
-USERHOST    J
-USERS       3
-WALLOPS     =     <== to be added
-WHOWAS      $
-ZLINE       q


Actually I see some other cmds that are still in tokens.txt, but should be removed, such as WATCH.

tabrisnet

2005-08-23 19:36

reporter   ~0010383

Last edited: 2005-08-23 23:20

Hmm. not sure that DIE or RESTART shouldn't have tokens.
I remember that there used to be an effort to allow remote-restart. It was discontinued due to limited syntax making it very difficult to do safely.

Further, this is, if nothing else, proof that msg.h and tokens.txt need to be regenerated. This may also include going through all the other files as well and removing the unneeded/obsolete/inane TOK_ decls.

Meanwhile, I don't know what POST is, nor what the point of having a TOK for SUMMON is (it always was optional, and no modern ircd seems to have it).
Seems there are a lot of weird tokens. like why one for CS anyway? It's an alias. Is this an anachronism from 3.1 or 3.0? I never followed the old codebase.

tabrisnet

2005-08-23 23:18

reporter   ~0010385

by the way, please don't make USERHOST local-only. I admit that we probably don't have to have a token for it, but services may need it to know the users current cloakhost.
I can't think of any other way for it to be grabbed if the user has /umode -x, /umode +x.
If you want to provide a better way (xref bugs 2565 & 2613), please do, but that is the only aparrent method available at present.

tabrisnet

2006-03-15 15:01

reporter   ~0011374

Last edited: 2006-03-15 15:19

There are still issues with 3.2.4, like tokens.txt has SVSSNO but msg.h does not.

If another update is desired, I could probably do a run, or just upload the script I use to parse everything. I am as yet unclear on ordering in tokens.txt, if it's manual or can be automated (sort by token?).

I have a rough perl script that can extract the MSG_ and TOK_ from the various C files and sort by token if desired. (to be more accurate, you grep first, then pipe through the script)

syzop

2006-03-15 15:09

administrator   ~0011375

[quote]There are still issues with 3.2.4, like tokens.txt has SENDSNO but msg.h does not.[/quote]

Huh?

$ grep SENDSNO include/ -r
include/msg.h:#define MSG_SENDSNO "SENDSNO"
include/msg.h:#define TOK_SENDSNO "Ss"

$ grep SENDSNO doc/technical/token.txt
SENDSNO Ss

syzop

2006-03-15 15:10

administrator   ~0011376

On a sidenote, I actually did grep tokens from all files and well. what you said.. {except thanks to the power of bash scripting ;)}.

But I excluded all the tokens that have no need to be added (which are many).

If you see certain tokens that you think should be in tokens.txt though, let me know... I can always have made a mistake of course.

tabrisnet

2006-03-15 15:20

reporter   ~0011378

Last edited: 2006-03-15 15:28

Sorry, thinko. I edited the post above, s/SENDSNO/SVSSNO/.
Also missing is SVSWATCH from msg.h (is in tokens.txt).

Been working with it today while switching off studying for an american-government exam/test.

Also potentially of value, just go through and yank all the TOK_ definitions that shouldn't exist out of the code. There's a couple iirc that have MSG_ but no TOK_ anyhow (I only remember this b/c my parse-script had to skip cases where one or the other wasn't defined/existent).

I should make note that many of us services-coders might want to see that diff before it gets committed tho, just in case we see something we use, and thus will need an alternative command, method of derivation, or for it to remain.

syzop

2006-03-15 15:54

administrator   ~0011381

Last edited: 2006-03-15 15:55

Well, things like USERHOST should for sure not be used by services, I'm pretty sure you know that actually by yourself...

EDIT: Also removing tokens from token.txt or msg.h does not mean the command does not accept remote-server stuff, it's not magic.. or something.. Of course the intention is clear however, unless it got out of token.txt (or not in token.txt) by mistake.

tabrisnet

2006-03-15 16:08

reporter   ~0011382

I admit that USERHOST probably should not be used, but the question is, what is the alternative? That's what the services coders want to know. I believe that's the point of 2565 and 2613.

Issue History

Date Modified Username Field Change
2004-11-15 00:42 tabrisnet New Issue
2005-08-19 15:54 syzop Note Added: 0010372
2005-08-20 16:57 tabrisnet Note Added: 0010378
2005-08-20 16:57 tabrisnet Note Edited: 0010378
2005-08-23 18:06 syzop Note Added: 0010382
2005-08-23 18:07 syzop Note Edited: 0010382
2005-08-23 19:36 tabrisnet Note Added: 0010383
2005-08-23 23:18 tabrisnet Note Added: 0010385
2005-08-23 23:20 tabrisnet Note Edited: 0010383
2006-03-15 15:01 tabrisnet Note Added: 0011374
2006-03-15 15:09 syzop Note Added: 0011375
2006-03-15 15:10 syzop Note Added: 0011376
2006-03-15 15:19 tabrisnet Note Edited: 0011374
2006-03-15 15:20 tabrisnet Note Added: 0011378
2006-03-15 15:23 tabrisnet Note Edited: 0011378
2006-03-15 15:28 tabrisnet Note Edited: 0011378
2006-03-15 15:54 syzop Note Added: 0011381
2006-03-15 15:55 syzop Note Edited: 0011381
2006-03-15 16:08 tabrisnet Note Added: 0011382
2007-04-27 03:49 stskeeps Status new => closed
2007-04-27 03:49 stskeeps Resolution open => suspended