Revision
771 -
Directory Listing
-
[select for diffs]
Modified
Tue Aug 22 18:54:38 2006 UTC
(19 years ago)
by
adx
Diff to
previous 770
,
to
selected 644
+ after fixing a bunch of bugs, ircd is finally able to start up and /connect.
+ problems: kline/xline and such refuse to load (missing write_csv_line),
modload & co are also not present (need to implement module-like m_ files?)
Revision
766 -
Directory Listing
-
[select for diffs]
Modified
Sun Aug 20 11:18:36 2006 UTC
(19 years ago)
by
michael
Diff to
previous 765
,
to
selected 644
- Fixed src/Makefile.in
- Have KLINE and friends deal properly with write_csv_line(). It's currently
kinda ugly, but the whole csvlib crap will have to be rewritten to use some
proper database anyways.
/UN*LINE may core for now.
Revision
752 -
Directory Listing
-
[select for diffs]
Modified
Wed Jul 26 15:56:37 2006 UTC
(19 years, 1 month ago)
by
adx
Diff to
previous 751
,
to
selected 644
+ fixed an old bug that affected our numeric delivery:
Imagine we have a scenario like this:
[origin A on server 0] --> [OUR IRCD] --> [TS6 server] --> [TS5 server and target Z]
We'd try to address Z by its null ID only because the next server on the way
is TS6. That led to delivery failure in cases like
ts6(origin)->ts6->ts6->ts5(target).
Revision
702 -
Directory Listing
-
[select for diffs]
Modified
Sun Jun 25 10:27:09 2006 UTC
(19 years, 2 months ago)
by
michael
Diff to
previous 701
,
to
selected 644
- Removed pointless check_class() call in main()
- Removed unused function prototypes
- Moved s_serv.c to server.c
- Renamed initialize_server_capabs() to server_init() and move it to server.c
Revision
682 -
Directory Listing
-
[select for diffs]
Modified
Thu Jun 15 14:21:00 2006 UTC
(19 years, 2 months ago)
by
michael
Diff to
previous 681
,
to
selected 644
- exit_client(): Wanna-be servers that are in connecting or handshaking state
are not on on the serv_list, so let's clean this up a bit.
- close_connection(): Fixed some harmless bug that could result in incorrect
sent statistics in "STATS t"
Revision
678 -
Directory Listing
-
[select for diffs]
Modified
Thu Jun 15 08:06:28 2006 UTC
(19 years, 2 months ago)
by
adx
Diff to
previous 677
,
to
selected 644
+ rebuilt y.tab.c
+ ServerInfo -> ServerInfoX for now to avoid hidden name conflicts
+ serv_list nodes are localClient->lnode, so don't free them with balloc
Revision
674 -
Directory Listing
-
[select for diffs]
Modified
Tue Jun 13 08:45:01 2006 UTC
(19 years, 2 months ago)
by
michael
Diff to
previous 669
,
to
selected 644
- Removed server connection scheduling leftovers. We just periodically continue
to check server confs in try_connections() without updating aconf->hold in
close_connection()
Revision
644 -
Directory Listing
-
[selected]
Modified
Wed Jun 7 12:36:21 2006 UTC
(19 years, 2 months ago)
by
michael
Diff to
previous 643
- Moved split_users and split_servers ints to GlobalSetOptions struct
Revision
640 -
Directory Listing
-
[select for diffs]
Modified
Wed Jun 7 10:41:00 2006 UTC
(19 years, 2 months ago)
by
michael
Diff to
previous 638
,
to
selected 644
- Replaced several strchr(x, '*'), etc. with hash_wildcard()
- Removed useless collapse() call in hunt_server(). It's match()'s job
to deal with multiple ***. No need to re-copy the entire string again.
Revision
628 -
Directory Listing
-
[select for diffs]
Modified
Mon May 29 20:04:32 2006 UTC
(19 years, 3 months ago)
by
adx
Diff to
previous 626
,
to
selected 644
Added contrib module for character set recoding
Note it doesn't work at the moment because listen{} itself
is not yet modularised. Will probably also need some modifications
to include iconv headers and libraries in the build process.
Revision
613 -
Directory Listing
-
[select for diffs]
Modified
Fri May 19 09:23:10 2006 UTC
(19 years, 3 months ago)
by
michael
Diff to
previous 612
,
to
selected 644
- Got rid of several pointless irc_getnameinfo() calls in places where we
can simply use client->sockhost.
- Removed contrib/m_ltrace.c. Use TRACE instead.
- Fixed compile errors in m_gline.c and m_info.c
Revision
608 -
Directory Listing
-
[select for diffs]
Modified
Tue May 16 10:05:44 2006 UTC
(19 years, 3 months ago)
by
michael
Diff to
previous 607
,
to
selected 644
- Merged mo_whowas() and m_whowas() and doxyfied it while at it
- Made whowas_do() only take 3 params and don't longer cut off a
nick after the first comma. As per rfc1459, a comma separated
nick list isn't supported anyways.
Revision
543 -
Directory Listing
-
[select for diffs]
Modified
Mon Apr 3 15:18:11 2006 UTC
(19 years, 4 months ago)
by
michael
Diff to
previous 540
,
to
selected 644
- "deglobalized" heap_list and added block_heap_get_heap_list() instead.
Note that block_heap_get_heap_list is a const function and the data pointed
by it can't and should never be modified externally.
Revision
540 -
Directory Listing
-
[select for diffs]
Modified
Sat Mar 25 15:41:56 2006 UTC
(19 years, 5 months ago)
by
michael
Diff to
previous 539
,
to
selected 644
- Cleaned up add_connection(), e.g. got rid of pointless getpeername() call.
We also don't need to deal with encapsulated ipv4 addresses since this
is already done in comm_accept()
Revision
532 -
Directory Listing
-
[select for diffs]
Modified
Mon Mar 20 10:38:39 2006 UTC
(19 years, 5 months ago)
by
michael
Diff to
previous 531
,
to
selected 644
- Fixed core in m_jupe(). We're now using an embedded lclient_node dlink_node
which is allocated within a LocalUser struct, so don't try to free() it.
Revision
529 -
Directory Listing
-
[select for diffs]
Modified
Sat Mar 18 15:28:33 2006 UTC
(19 years, 5 months ago)
by
michael
Diff to
previous 527
,
to
selected 644
- Some small tweaks to client exit code. 99% of the time it is a client
exiting the network, so check this case first, then see if it is a server
Revision
515 -
Directory Listing
-
[select for diffs]
Modified
Sun Mar 5 09:26:04 2006 UTC
(19 years, 5 months ago)
by
michael
Diff to
previous 514
,
to
selected 644
- Moved tstats() to m_stats.c and killed s_stats.(c|h)
- Got rid of extra ServerStats pointer
- Killed ms_error which was basically a duplication of m_error
Revision
509 -
Directory Listing
-
[select for diffs]
Modified
Sat Mar 4 08:33:31 2006 UTC
(19 years, 5 months ago)
by
michael
Diff to
previous 508
,
to
selected 644
- register_remote_user(): Fixed bug where we would increase Count.total and
source_p->from->serv->dep_users for unregistered remote clients and don't
decrease them if we exit the client due to non existand server or fake
direction.
Revision
502 -
Directory Listing
-
[select for diffs]
Modified
Fri Mar 3 19:49:25 2006 UTC
(19 years, 5 months ago)
by
michael
Diff to
previous 501
,
to
selected 644
- Implemented CAP command handler based uppon ircu's m_cap()
- Added somewhat outdated draft-mitchell-irc-capabilities-01.txt until
I get the latest version from kev.
- Added "multi-prefix" cap so clients supporting "multi-prefix"
may recieve multi prefixed NAMES replies, e.g. @%+nick1 @+nick2 ..
- Fixed "make clean" for src/conf/
Revision
501 -
Directory Listing
-
[select for diffs]
Modified
Thu Mar 2 10:40:42 2006 UTC
(19 years, 5 months ago)
by
michael
Diff to
previous 500
,
to
selected 644
- Removed all inlined versions of dlink* functions
- Added an assert()s to dlinkDelete()
- NDEBUG is now undefined by default for testing and beta versions
Revision
491 -
Directory Listing
-
[select for diffs]
Modified
Wed Mar 1 14:51:05 2006 UTC
(19 years, 5 months ago)
by
michael
Diff to
previous 489
,
to
selected 644
- Got rid of extra strlenS and redundant hash_find_channel() calls
- Cleaned up channel name validation routines
- mo_force: don't allow servers to be added to a channel
Revision
477 -
Directory Listing
-
[select for diffs]
Modified
Sat Feb 18 12:34:09 2006 UTC
(19 years, 6 months ago)
by
adx
Diff to
previous 476
,
to
selected 644
+ additional parameter 'exact' for find_module():
if NO, match only the canonical name i.e. m_part.ABC will match
m_part.so or built-in m_part (used to check if any version of a
module is loaded)
if YES, match the whole file name (used with /modunload and friends)
Revision
471 -
Directory Listing
-
[select for diffs]
Modified
Fri Feb 17 10:01:53 2006 UTC
(19 years, 6 months ago)
by
michael
Diff to
previous 470
,
to
selected 644
- Don't allocate new dlink_node pointer on each client creation,
rather reuse localClient->lclient_node for linking it into
unknown_list and move it into local_client_list after client
registration.
Revision
459 -
Directory Listing
-
[select for diffs]
Modified
Sun Feb 12 22:21:37 2006 UTC
(19 years, 6 months ago)
by
db
Diff to
previous 458
,
to
selected 644
- If DNS server gives us a NXDOMAIN, we should give up trying to resolve
this host if doing IPV4, if doing IPV6, NXDOMAIN might mean that a hostname
might not be available under AAAA but A record might be worth a shot.
Revision
457 -
Directory Listing
-
[select for diffs]
Modified
Sun Feb 12 20:30:27 2006 UTC
(19 years, 6 months ago)
by
michael
Diff to
previous 455
,
to
selected 644
- Use set_initial_nick() if an unregistered client is changing between
equivalent nicks which only differ in cAsE. That way we properly keep
the fd note about the client updated.
Revision
453 -
Directory Listing
-
[select for diffs]
Modified
Sun Feb 12 18:56:55 2006 UTC
(19 years, 6 months ago)
by
michael
Diff to
previous 452
,
to
selected 644
- Get rid of can_send_part. This also fixes a bug where voiced clients
weren't able to send a PART message to the channel. Reported by ThaPrince.
Revision
446 -
Directory Listing
-
[select for diffs]
Modified
Sun Feb 12 02:46:54 2006 UTC
(19 years, 6 months ago)
by
db
Diff to
previous 445
,
to
selected 644
- reported by Jon, resolver was not checking for NXDOMAIN as well as SERVFAIL
this caused odd DNS reports and took longer to connect.
Tested by Jon (ThaPrince).
Revision
442 -
Directory Listing
-
[select for diffs]
Modified
Sat Feb 11 23:14:21 2006 UTC
(19 years, 6 months ago)
by
adx
Diff to
previous 437
,
to
selected 644
+ massive rewrite of module init/deinit/version headers,
we are introducing a new module manager which deals with static
and dynamic modules exactly the same way. (New possibilities
include loading/unloading statically compiled modules and
mixing static/dynamic ones in one build.)
Revision
420 -
Directory Listing
-
[select for diffs]
Modified
Fri Feb 10 14:23:33 2006 UTC
(19 years, 6 months ago)
by
adx
Diff to
previous 419
,
to
selected 644
+ added support for syntax SECTION "value" { ...fields... };
ConfSection has a field 'def_field', if non-NULL it will be
assigned with the provided value.
Revision
408 -
Directory Listing
-
[select for diffs]
Modified
Wed Feb 8 12:55:04 2006 UTC
(19 years, 6 months ago)
by
michael
Diff to
previous 407
,
to
selected 644
- Removed check_channel_name() call in m_mode(). hash_find_channel() will
deal with invalid channel names. No need to always scan the buffer
pointed by parv[1].
Revision
398 -
Directory Listing
-
[select for diffs]
Modified
Tue Feb 7 12:00:21 2006 UTC
(19 years, 6 months ago)
by
michael
Diff to
previous 396
,
to
selected 644
- Ripped out lazylinks as discussed on irc. the main concept wasn't very well
designed and will be done in a better way some day. Anyways, they propably
never worked and were considered bloat by most people. Good bye!
Revision
381 -
Directory Listing
-
[select for diffs]
Modified
Sun Jan 29 10:27:33 2006 UTC
(19 years, 6 months ago)
by
michael
Diff to
previous 380
,
to
selected 644
- Cleaned up some special magic in show_iline_prefix. Someone tell me why
we should copy aconf->user into a separate buffer after the prefix? Also
renamed it to make_iline_prefix.
Revision
379 -
Directory Listing
-
[select for diffs]
Modified
Sat Jan 28 08:31:31 2006 UTC
(19 years, 7 months ago)
by
michael
Diff to
previous 378
,
to
selected 644
- More preparations for the new u@h mask storage system, also
added some small example to report_confitem_types() how to deal
with it when reporting items
Revision
378 -
Directory Listing
-
[select for diffs]
Modified
Sat Jan 28 08:13:58 2006 UTC
(19 years, 7 months ago)
by
michael
Diff to
previous 377
,
to
selected 644
- Added mask_list dlink_list to MatchItem/AcccessItem structs. These lists
will later be used to hold a chain of hostmasks used for hub_mask, leaf_mask,
and auth{}/oper{} user masks so we later don't need to duplicate a whole
MatchItem or AcccessItem via ugly ColllecItems.
Revision
375 -
Directory Listing
-
[select for diffs]
Modified
Sun Jan 22 11:04:43 2006 UTC
(19 years, 7 months ago)
by
michael
Diff to
previous 374
,
to
selected 644
- Don't free() source_p->localClient->auth_oper after calling
oper_up() on source_p. Added small explanatation about why
you shouldn't do that.
Revision
373 -
Directory Listing
-
[select for diffs]
Modified
Sat Jan 14 17:23:35 2006 UTC
(19 years, 7 months ago)
by
michael
Diff to
previous 372
,
to
selected 644
- Get rid of some really outdated PORTNUM assignments/tests in m_connect().
connect items have a default port set upon creation.
- Untabified m_connect.c
Revision
364 -
Directory Listing
-
[select for diffs]
Modified
Sun Jan 8 15:39:24 2006 UTC
(19 years, 7 months ago)
by
michael
Diff to
previous 363
,
to
selected 644
- Entirely changed the way of ban match processing to be more cleaner.
It also should nicely speed up matching of pure ip (may include cidr mask)
bans.
- Removed match_cidr() which is now not longed needed
- Add back some prototypes to res.h to fix compile errors
Revision
357 -
Directory Listing
-
[select for diffs]
Modified
Thu Jan 5 16:06:45 2006 UTC
(19 years, 7 months ago)
by
michael
Diff to
previous 355
,
to
selected 644
- Mainly re-wrote split_nuh() to fix a regexp kline bug where we would cut off
the user portion after 9 chars, but also to be a bit more flexible when we
have to deal with different user/host name lengths.
- Re-wrote m_capture() to use split_nuh()
Revision
344 -
Directory Listing
-
[select for diffs]
Modified
Sat Dec 31 09:41:44 2005 UTC
(19 years, 7 months ago)
by
michael
Diff to
previous 334
,
to
selected 644
- Flag the client as being ip-spoofed if setting a new hostname via CHGHOST,
that way non-opers can't figure out the IP with a simple WHOIS.
Suggested by adx
Revision
323 -
Directory Listing
-
[select for diffs]
Modified
Sat Dec 24 22:07:31 2005 UTC
(19 years, 8 months ago)
by
michael
Diff to
previous 320
,
to
selected 644
- Only locally connected clients should be checked for a valid channelmembership
when processing the INVITE message. Remote clients that are outside a channel
e.g. services, are allowed to send INVITEs. This also fixes a bug with anope
services. Reported by r0d3nt
Revision
320 -
Directory Listing
-
[select for diffs]
Modified
Sat Dec 24 15:13:27 2005 UTC
(19 years, 8 months ago)
by
michael
Diff to
previous 316
,
to
selected 644
- Fixed core in case aconf->cipher_preference and
ConfigFileEntry.default_cipher_preference are both NULL pointers
Reported by opteron-hani via Joan
Revision
296 -
Directory Listing
-
[select for diffs]
Modified
Mon Dec 5 20:41:51 2005 UTC
(19 years, 8 months ago)
by
nenolod
Diff to
previous 295
,
to
selected 644
- Add a simple metadata API for extending channel/client/whatever structs
via adding a single dlink_list to the structure you wish to make extensible.
Reviewed by db.
Revision
267 -
Directory Listing
-
[select for diffs]
Modified
Sun Nov 13 22:54:08 2005 UTC
(19 years, 9 months ago)
by
adx
Diff to
previous 266
,
to
selected 644
+ s/extern/EXTERN/ in include/conf
+ implemented class{} from scratch; it's almost done,
I only need to add limit checking code
+ added nice syntax e.g. number_per_ip = 3, global:5;
+ added some aliases ie host_limit === number_per_ip,
userhost_limit === number_per_userhost
(replaces max_local & max_global mess)
+ check example.conf for more details.
Revision
263 -
Directory Listing
-
[select for diffs]
Modified
Sun Nov 13 11:10:37 2005 UTC
(19 years, 9 months ago)
by
adx
Diff to
previous 262
,
to
selected 644
recommitting:
+ added UMODE_BOTS to default oper umodes. From my experience most opers
don't know/remember about this flag, and it gives them much help in
hunting floods etc.
Revision
252 -
Directory Listing
-
[select for diffs]
Modified
Fri Nov 11 20:56:00 2005 UTC
(19 years, 9 months ago)
by
michael
Diff to
previous 250
,
to
selected 644
- Fixed some nice core that showed us the dark side of using unions.
rxlines (MatchItem) were contantly being trashed due to
"aconf->status = status;" assignment in make_conf_item()
- Fixed another core in conf_add_server()
Revision
235 -
Directory Listing
-
[select for diffs]
Modified
Sat Nov 5 11:31:51 2005 UTC
(19 years, 9 months ago)
by
michael
Diff to
previous 234
,
to
selected 644
- Fixed and cleaned up new acceptcode, e.g fix memory leaks,
don't allow wildcards in a mask when removing accepts, don't
allow redundant masks etc.
Revision
229 -
Directory Listing
-
[select for diffs]
Modified
Thu Nov 3 20:31:33 2005 UTC
(19 years, 9 months ago)
by
adx
Diff to
previous 228
,
to
selected 644
+ keep it compact, ie we have a sequence of things which
together constitute "os environment initialization"
(libio_init, outofmemory handler setup, fdlimit change handler
etc etc), don't break it with ircd "me" setups.
Revision
221 -
Directory Listing
-
[select for diffs]
Modified
Thu Nov 3 15:36:27 2005 UTC
(19 years, 9 months ago)
by
michael
Diff to
previous 220
,
to
selected 644
- Finished WATCH implementation
- Added missing 'return' after register_remote_user() call in
nick_from_server() which would cause an extra hash_del/strcpy/hash_add
combination.
Revision
211 -
Directory Listing
-
[select for diffs]
Modified
Tue Nov 1 21:42:01 2005 UTC
(19 years, 9 months ago)
by
adx
Diff to
previous 210
,
to
selected 644
- reorganisations which aim at:
1) moving read_conf_files() at the end of daemon bootup process,
2) making load_*_modules a part of conf parsing, after the 1st pass
Revision
209 -
Directory Listing
-
[select for diffs]
Modified
Tue Nov 1 19:28:42 2005 UTC
(19 years, 9 months ago)
by
adx
Diff to
previous 208
,
to
selected 644
+ coded new serverinfo
+ added parse_fatal, similar to parse_error but using L_CRIT and server_die
+ cold moved out from reset_conf, verify_conf callbacks to a global conf_cold
Revision
200 -
Directory Listing
-
[select for diffs]
Modified
Tue Nov 1 11:38:41 2005 UTC
(19 years, 9 months ago)
by
adx
Diff to
previous 199
,
to
selected 644
+ removed invite_ops_only, controlled by +p now
+ sorted ircd.conf:channel{} a bit
+ added newconf framework for channel{}
+ added missing 7.2 RELNOTES
Revision
187 -
Directory Listing
-
[select for diffs]
Modified
Sun Oct 23 20:30:07 2005 UTC
(19 years, 10 months ago)
by
michael
Diff to
previous 186
,
to
selected 644
- Fixed bug in sendto_channel_remote() that would cause
multiple copies of the same message to be sent to the
uplinked server.
That one needs propably to be backported to 7.1.4 and 7.2
Revision
186 -
Directory Listing
-
[select for diffs]
Modified
Sun Oct 23 16:05:01 2005 UTC
(19 years, 10 months ago)
by
db
Diff to
previous 185
,
to
selected 644
- 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
(19 years, 10 months ago)
by
michael
Diff to
previous 175
,
to
selected 644
- 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
164 -
Directory Listing
-
[select for diffs]
Modified
Thu Oct 20 21:34:25 2005 UTC
(19 years, 10 months ago)
by
db
Diff to
previous 162
,
to
selected 644
- 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
(19 years, 10 months ago)
by
adx
Diff to
previous 152
,
to
selected 644
- 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
(19 years, 10 months ago)
by
db
Diff to
previous 149
,
to
selected 644
- 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
(19 years, 10 months ago)
by
db
Diff to
previous 147
,
to
selected 644
- 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
(19 years, 10 months ago)
by
db
Diff to
previous 146
,
to
selected 644
- 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
(19 years, 10 months ago)
by
db
Diff to
previous 144
,
to
selected 644
- 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
(19 years, 10 months ago)
by
michael
Diff to
previous 141
,
to
selected 644
- 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
130 -
Directory Listing
-
[select for diffs]
Modified
Sat Oct 15 01:47:46 2005 UTC
(19 years, 10 months ago)
by
db
Diff to
previous 129
,
to
selected 644
- 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
(19 years, 10 months ago)
by
db
Diff to
previous 127
,
to
selected 644
- 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
(19 years, 10 months ago)
by
db
Diff to
previous 125
,
to
selected 644
- 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
119 -
Directory Listing
-
[select for diffs]
Modified
Thu Oct 13 07:51:38 2005 UTC
(19 years, 10 months ago)
by
michael
Diff to
previous 118
,
to
selected 644
- 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
(19 years, 10 months ago)
by
metalrock
Diff to
previous 107
,
to
selected 644
- 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
(19 years, 10 months ago)
by
db
Diff to
previous 99
,
to
selected 644
- 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
(19 years, 10 months ago)
by
michael
Diff to
previous 98
,
to
selected 644
- CHANNELLEN vs. LOCAL_CHANNELLEN fix. Local JOINs are limited to 50chars whereas
remote SJOINs/JOINs can be upto 200chars for backwards compatibility.
Revision
91 -
Directory Listing
-
[select for diffs]
Modified
Sat Oct 8 03:46:09 2005 UTC
(19 years, 10 months ago)
by
db
Diff to
previous 90
,
to
selected 644
- 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
86 -
Directory Listing
-
[select for diffs]
Modified
Wed Oct 5 20:36:04 2005 UTC
(19 years, 10 months ago)
by
adx
Diff to
previous 85
,
to
selected 644
* 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
78 -
Directory Listing
-
[select for diffs]
Modified
Tue Oct 4 21:16:00 2005 UTC
(19 years, 10 months ago)
by
adx
Diff to
previous 77
,
to
selected 644
- 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
(19 years, 10 months ago)
by
adx
Diff to
previous 68
,
to
selected 644
- 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
61 -
Directory Listing
-
[select for diffs]
Modified
Mon Oct 3 21:20:41 2005 UTC
(19 years, 10 months ago)
by
adx
Diff to
previous 60
,
to
selected 644
- 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
57 -
Directory Listing
-
[select for diffs]
Modified
Mon Oct 3 12:12:41 2005 UTC
(19 years, 10 months ago)
by
michael
Diff to
previous 55
,
to
selected 644
- 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
(19 years, 10 months ago)
by
michael
Diff to
previous 49
,
to
selected 644
- 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