svnroot commit: ircd-hybrid/include client.h s_conf.h s_serv.h ircd-hybrid/modules/core m_server.c ircd-hybrid/modules m_cryptlink.c m_pong.c m_user.c ircd-hybrid/src client.c ircd_parser.y s_conf.c s_serv.c s_user.c y.tab.c y.tab.h
hybrid-commits at lists.ircd-hybrid.org
hybrid-commits at lists.ircd-hybrid.org
Thu Oct 13 22:41:49 EDT 2005
db 2005-10-13 22:41:46 -0400 (Thu, 13 Oct 2005)
Modified files:
ircd-hybrid/src client.c ircd_parser.y s_conf.c s_serv.c s_user.c y.tab.c
y.tab.h
Log:
- attach/conf cleanup take 2
- Each client has now one AccessItem for its connect
stored in localClient->iline
- The corresponding class is now stored in localClient->class
The ramifications of this move are, there is no conf list to traverse
to find the AccessItem, the class is instantly available from the localClient
struct without having to traverse the confs list and indirectly through the
aconf. This speeds up get_sendq etc. functions. As a bonus, at least
4 fewer bytes are used in the Client struct, since a dlink list is 4 words.
It does mean there is no longer a separate conf oper, which leads to the
kludge of patching the clients iline into an oper conf when
a client opers up. I don't think the oper flags are used after the client
is opered, so the patching operation may not be necessary.
- Server confs are stored in ->serv->sconf as before but attaching
happens much earlier.
- server hub/leaf masks continues to be a dlink list but linked from
the ->serv which is only allocated for servers.
- cleaned up some comments, added a comment, notably to check_server()
which badly needed it.
- Pass ClassItem or AccessItem etc. in when it makes more sense than passing
in struct ConfItem. This simplified and clarified rebuild_cidr_class()
And lo, there was a great rejoicing.
Revision Changes Path
126 +2 -1 ircd-hybrid/include/client.h
http://svn.ircd-hybrid.org:8000/viewcvs.cgi/ircd-hybrid/include/client.h?rev=126&r1=125&r2=126&diff_format=h
126 +2 -2 ircd-hybrid/include/s_conf.h
http://svn.ircd-hybrid.org:8000/viewcvs.cgi/ircd-hybrid/include/s_conf.h?rev=126&r1=125&r2=126&diff_format=h
126 +2 -2 ircd-hybrid/include/s_serv.h
http://svn.ircd-hybrid.org:8000/viewcvs.cgi/ircd-hybrid/include/s_serv.h?rev=126&r1=125&r2=126&diff_format=h
126 +3 -3 ircd-hybrid/modules/core/m_server.c
http://svn.ircd-hybrid.org:8000/viewcvs.cgi/ircd-hybrid/modules/core/m_server.c?rev=126&r1=125&r2=126&diff_format=h
126 +9 -11 ircd-hybrid/modules/m_cryptlink.c
http://svn.ircd-hybrid.org:8000/viewcvs.cgi/ircd-hybrid/modules/m_cryptlink.c?rev=126&r1=125&r2=126&diff_format=h
126 +1 -0 ircd-hybrid/modules/m_pong.c
http://svn.ircd-hybrid.org:8000/viewcvs.cgi/ircd-hybrid/modules/m_pong.c?rev=126&r1=125&r2=126&diff_format=h
126 +1 -0 ircd-hybrid/modules/m_user.c
http://svn.ircd-hybrid.org:8000/viewcvs.cgi/ircd-hybrid/modules/m_user.c?rev=126&r1=125&r2=126&diff_format=h
126 +5 -1 ircd-hybrid/src/client.c
http://svn.ircd-hybrid.org:8000/viewcvs.cgi/ircd-hybrid/src/client.c?rev=126&r1=125&r2=126&diff_format=h
126 +1 -1 ircd-hybrid/src/ircd_parser.y
http://svn.ircd-hybrid.org:8000/viewcvs.cgi/ircd-hybrid/src/ircd_parser.y?rev=126&r1=125&r2=126&diff_format=h
126 +198 -182 ircd-hybrid/src/s_conf.c
http://svn.ircd-hybrid.org:8000/viewcvs.cgi/ircd-hybrid/src/s_conf.c?rev=126&r1=125&r2=126&diff_format=h
126 +54 -35 ircd-hybrid/src/s_serv.c
http://svn.ircd-hybrid.org:8000/viewcvs.cgi/ircd-hybrid/src/s_serv.c?rev=126&r1=125&r2=126&diff_format=h
126 +2 -2 ircd-hybrid/src/s_user.c
http://svn.ircd-hybrid.org:8000/viewcvs.cgi/ircd-hybrid/src/s_user.c?rev=126&r1=125&r2=126&diff_format=h
126 +3419 -4857 ircd-hybrid/src/y.tab.c
http://svn.ircd-hybrid.org:8000/viewcvs.cgi/ircd-hybrid/src/y.tab.c?rev=126&r1=125&r2=126&diff_format=h
126 +256 -555 ircd-hybrid/src/y.tab.h
http://svn.ircd-hybrid.org:8000/viewcvs.cgi/ircd-hybrid/src/y.tab.h?rev=126&r1=125&r2=126&diff_format=h
More information about the hybrid-commits
mailing list