Revision
186 -
Directory Listing
-
[select for diffs]
Modified
Sun Oct 23 16:05:01 2005 UTC
(18 years, 5 months ago)
by
db
Diff to
previous 185
- Q. When is an address not an address?
A. When it is a handle!
Keep track of handle address and base address of loaded module separately.
The address is also used for modlist and could be derived in modlist
from handle, but later.
Revision
177 -
Directory Listing
-
[select for diffs]
Modified
Sat Oct 22 09:05:05 2005 UTC
(18 years, 5 months ago)
by
michael
Diff to
previous 175
- Bind uses a semicolon as commentcharacter for resolv.conf. Let's
deal with it properly
- Do some logging if we skipped any namserver because we reached the max
of allowed servers
Revision
165 -
Directory Listing
-
[select for diffs]
Modified
Fri Oct 21 03:50:50 2005 UTC
(18 years, 5 months ago)
by
db
Diff to
previous 164
- committed configure changes by nenolod (William Pitcock)
to check for HAVE_DLINFO
- fixed logic for picking up address for the mod_list
Revision
164 -
Directory Listing
-
[select for diffs]
Modified
Thu Oct 20 21:34:25 2005 UTC
(18 years, 5 months ago)
by
db
Diff to
previous 162
- Use dlinfo() to get the actual load address of the module i.e. its
library base. The previous code was using the "handle" which is wrong.
Hopefully should compile on linux as well, perhaps we should also have
an HAVE_DLINFO checked for in configure.
Revision
153 -
Directory Listing
-
[select for diffs]
Modified
Mon Oct 17 21:20:34 2005 UTC
(18 years, 6 months ago)
by
adx
Diff to
previous 152
- compile libio as a dll on win32
- next step is compiling the whole ircd as a dll to export its symbols
- after that, we'll be able to support loadable *.dll modules.
NOTE: m_operspy.c doesn't compile now (error at localClient->iline)
Revision
152 -
Directory Listing
-
[select for diffs]
Modified
Mon Oct 17 01:48:08 2005 UTC
(18 years, 6 months ago)
by
db
Diff to
previous 149
- res.c would send out hundreds? of retry requests on clients that
did not resolve, i.e. SERVFAIL. The code was essentailly ignoring
SERVFAIL hence generating request after request after request.
This appears to fix this major bug. It would be a good idea to add
some logging here however.
Revision
149 -
Directory Listing
-
[select for diffs]
Modified
Sun Oct 16 18:11:50 2005 UTC
(18 years, 6 months ago)
by
db
Diff to
previous 147
- Fix m_testline.c in HEAD
This bug is old. The code was missing a test for a kline conf and the
sendto to print that kline out, in the case where it was a kline against
and IP. i.e. foo@ip.ip.ip.ip it would work in the case where it was
a kline against a dns.
Revision
147 -
Directory Listing
-
[select for diffs]
Modified
Sun Oct 16 16:17:21 2005 UTC
(18 years, 6 months ago)
by
db
Diff to
previous 146
- interim fix for memory leak in m_testline.c, Michael's split_nuh()
would be a better solution.
- restore original argv1 if needed, remember to also free this
Revision
146 -
Directory Listing
-
[select for diffs]
Modified
Sun Oct 16 15:45:25 2005 UTC
(18 years, 6 months ago)
by
db
Diff to
previous 144
- More conf cleanups, aconf->client count is no longer needed
as an AccessItem can now be deleted immediately.
- Note bug in s_conf.c with flush_deleted_I_P, it was trying to
free MatchItems using an AccessConf this bug is in 7.1.4 as well
as 7.2 flush_deleted_I_P() is no longer needed at all in 7.3
since AccessItems are removed immediately.
- Fixed a few cores in server establishment, notably ->serv
has to be allocated sooner since there are no confs to attach.
make_server() is probably called once too often now.
Revision
142 -
Directory Listing
-
[select for diffs]
Modified
Sun Oct 16 09:46:29 2005 UTC
(18 years, 6 months ago)
by
michael
Diff to
previous 141
- Fixed a bug where remoteservers would send us an ERROR
on "WHOWAS nick count remoteserver.net". Propably one
of the oldest bugs that got introduced in 7.0.
Revision
139 -
Directory Listing
-
[select for diffs]
Modified
Sun Oct 16 06:01:13 2005 UTC
(18 years, 6 months ago)
by
db
Diff to
previous 137
- get rid of map_conf_item and unmap_conf_item
- Use an union in struct ConfItem, but only allocate memory needed
Revision
130 -
Directory Listing
-
[select for diffs]
Modified
Sat Oct 15 01:47:46 2005 UTC
(18 years, 6 months ago)
by
db
Diff to
previous 129
- removed an unused function find_conf_name() from here
- fixed prototype for verify_access()
- added free_aconf_items() free_match_items()
- removed map_to_list() since this is merely a table lookup now
- cleaned up delete_conf_item() a bit more
Not done yet...
Revision
128 -
Directory Listing
-
[select for diffs]
Modified
Fri Oct 14 19:29:26 2005 UTC
(18 years, 6 months ago)
by
db
Diff to
previous 127
- still need a temporary copy of the client auth block
for much the same reasons as a copy of the passwd is needed.
- need a copy of the oper conf for get_oper_name() so reuse no longer
needed temporary spot for client auth block
Revision
126 -
Directory Listing
-
[select for diffs]
Modified
Fri Oct 14 02:41:46 2005 UTC
(18 years, 6 months ago)
by
db
Diff to
previous 125
- 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
121 -
Directory Listing
-
[select for diffs]
Modified
Thu Oct 13 10:34:56 2005 UTC
(18 years, 6 months ago)
by
michael
Diff to
previous 120
- Moved ms_tburst() to m_tb.c as suggested by adx
- Fixed problem where we would send both TB and TBURST to the same server
Revision
119 -
Directory Listing
-
[select for diffs]
Modified
Thu Oct 13 07:51:38 2005 UTC
(18 years, 6 months ago)
by
michael
Diff to
previous 118
- First logic fix to m_tburst(). Don't fully reject a TBURST in case
remote topic is the same than ours, that would just cause more desyncs.
Just accept/propagate it, but don't send a TOPIC to the channel.
Revision
108 -
Directory Listing
-
[select for diffs]
Modified
Wed Oct 12 05:04:40 2005 UTC
(18 years, 6 months ago)
by
metalrock
Diff to
previous 107
- Change the topic whenever the topics don't match even if the TS
is different because if we check topic TS and we have a topicTS
mismatch, we will have 2 different topics on two different servers.
Revision
101 -
Directory Listing
-
[select for diffs]
Modified
Mon Oct 10 03:52:14 2005 UTC
(18 years, 6 months ago)
by
db
Diff to
previous 99
- First pass at s_conf.c cleanup for attach clients
- attach_conf() is gone replaced with attach_iline()
Clients/servers have one single I line "attached", i.e. the confs
list is gone.
- Add attach_leaf_hub()
Add a leaf or hub mask to the given server, ->serv must exist
since there can be a list of hub masks and leaf masks, this continues
to be a dlink list
- Removed redundant find_conf_exact()
This function can be replaced in all cases with find_exact_name_conf()
notably because all find_conf_exact did differently was count whether
an oper conf would cause an already connected client to exceed class limits.
- oper_up() now takes an extra conf pointer pointing to the found
oper conf, the oper flags are set in the client->iline as necessary
in oper_up()
- Cleaned up more prototypes that should have been moved from s_conf.h
to parse_aline.h notably. find_kill() and find_gkill()
- m_stats.c needs more cleanup since memory in attached "confs" is now
not counted. This should be replaced with iline memory count and
hub/leaf confs memory count.
Revision
99 -
Directory Listing
-
[select for diffs]
Modified
Sun Oct 9 14:33:36 2005 UTC
(18 years, 6 months ago)
by
michael
Diff to
previous 98
- CHANNELLEN vs. LOCAL_CHANNELLEN fix. Local JOINs are limited to 50chars whereas
remote SJOINs/JOINs can be upto 200chars for backwards compatibility.
Revision
92 -
Directory Listing
-
[select for diffs]
Modified
Sat Oct 8 11:14:46 2005 UTC
(18 years, 6 months ago)
by
michael
Diff to
previous 91
- Fixed bug in m_whois() that would allow users to send a WHOIS to remote
servers with an empty argument via "WHOIS someserver.org :"
Revision
91 -
Directory Listing
-
[select for diffs]
Modified
Sat Oct 8 03:46:09 2005 UTC
(18 years, 6 months ago)
by
db
Diff to
previous 90
- Split out most of the *line *resv stuff into separate file
parse_aline.c should go eventually into the subdir conf
- removed double -o in Makefile.in in src, this caused compile to fail for me
Revision
89 -
Directory Listing
-
[select for diffs]
Modified
Thu Oct 6 21:22:58 2005 UTC
(18 years, 6 months ago)
by
adx
Diff to
previous 88
- added dynamically extensible conf parser (compiles ok); enough to start
modularising general{} -> general.c, auth{} -> auth.c and so on.
Revision
86 -
Directory Listing
-
[select for diffs]
Modified
Wed Oct 5 20:36:04 2005 UTC
(18 years, 6 months ago)
by
adx
Diff to
previous 85
* attached misc/tools.c to misc/list.c,
this should really have been done earlier.
* moved mem_frob() to memory.c
* single libio_init() instead of all startup functions;
btw, I don't know if ircd's still able to boot ..
Revision
85 -
Directory Listing
-
[select for diffs]
Modified
Wed Oct 5 14:29:35 2005 UTC
(18 years, 6 months ago)
by
adx
Diff to
previous 84
- register_callback: always restore the original handler at the end
of the chain, not only when the chain is empty
Revision
78 -
Directory Listing
-
[select for diffs]
Modified
Tue Oct 4 21:16:00 2005 UTC
(18 years, 6 months ago)
by
adx
Diff to
previous 77
- further win32 fixes, use ircd_signal.c interface (signals are wrapped
around WM_USER's wParam)
- note that the callback for WM_SIGNAL (ie WM_USER) defined in libio is
independent from the ircd, ie variable dispatch_wm_signal is set in
ircd_signal.c.
- now it compiles, to do: turn libio into a DLL to allow symbol references
in m_*.dll protocol modules.
Revision
69 -
Directory Listing
-
[select for diffs]
Modified
Tue Oct 4 16:09:51 2005 UTC
(18 years, 6 months ago)
by
adx
Diff to
previous 68
- splitted ircd/libio, all headers connected with libio sources have been
moved for internal use only. To use libio interface, include "libio.h"
(which is already done in "stdinc.h")
Revision
65 -
Directory Listing
-
[select for diffs]
Modified
Mon Oct 3 23:33:16 2005 UTC
(18 years, 6 months ago)
by
adx
Diff to
previous 64
- removed external references from libio/misc
- imported s_misc.c to libio, moved CurrentTime there
Revision
61 -
Directory Listing
-
[select for diffs]
Modified
Mon Oct 3 21:20:41 2005 UTC
(18 years, 6 months ago)
by
adx
Diff to
previous 60
- split libio Makefiles for easier maintenance
- moved pcre.h to main include/ as it is currently a part
of libio interface (in the future all such headers should
be moved to libio/ and integrated...)
Now, libio components like comm, misc etc. should be as independent
as possible (from the rest of ircd and from each other), to allow
easy reuse in other software and to keep the interface clean.
Revision
60 -
Directory Listing
-
[select for diffs]
Modified
Mon Oct 3 15:51:34 2005 UTC
(18 years, 6 months ago)
by
adx
Diff to
previous 59
- separate interface (irc_res.h) and implementation (irc_reslib.h)
- moved resolver from comm/ to net/
Revision
57 -
Directory Listing
-
[select for diffs]
Modified
Mon Oct 3 12:12:41 2005 UTC
(18 years, 6 months ago)
by
michael
Diff to
previous 55
- Reverted oper_privs_as_string() back to its previous version which is easier
to maintain when adding new operflags. Even the one who wrote the new version
introduced a bug by not taking care to keep the oper_flags_table in sync
with the OPER_FLAGS_* bits. (which also no one really wants to do ...)
- Updated it to deal with new 'remoteban', 'operwall' and 'operspy' flags
Revision
55 -
Directory Listing
-
[select for diffs]
Modified
Mon Oct 3 11:15:26 2005 UTC
(18 years, 6 months ago)
by
michael
Diff to
previous 49
- Re-added an equivalent of H6's sixth O-line field (Modes to get on operup).
- Updated efnet's example.conf to reflect the new
opers_bypass_callerid directive
- Misc style corrections to s_user.c while on it
Revision
37 -
Directory Listing
-
[select for diffs]
Modified
Sun Oct 2 22:23:24 2005 UTC
(18 years, 6 months ago)
by
adx
Diff to
previous 36
- disallow ':' as the 1st character of server passwords, forbid spaces too
(breaks PASS %s TS 6 %s)
Revision
30 -
Directory Listing
-
[select for diffs]
Modified
Sun Oct 2 20:03:27 2005 UTC
(18 years, 6 months ago)
by
adx
Diff to
previous 29
- imported sources
- can be moved later according to the directory/branching scheme,
but we need the svn up