- channel.c:channel_send_namereply(): remove show_eon argument. In hybrid we no longer have a case where a names reply needs to be sent with no RPL_ENDOFNAMES
- Rename channel_member_names() to channel_send_namereply()
- Rename find_channel_link() to member_find_link()
- Add member_get_prefix_len() and make use of it in some places; rename get_member_status() to member_get_prefix()
- Move remove_a_mode() from m_join.c to channel.c and rename it to channel_demote_members(); have m_sjoin.c make use of it as well
- Replace remaining occurrences of IsMember with find_channel_link and remove IsMember entirely
- Move channel invitation related functions to channel_invite.c
- Rename most occurrences of 'client_p' to 'client'
- Extbans have been implemented. Main implementation done by Adam for p4. Currently supported extbans: Matching: $a:<account> Matches users logged into a matching account. $c:<channel> Matches users that are on the given channel. An additional prefix of either @, %, or + can be specified to test for certain channel privileges. $o:<class> Matches IRC operators that have joined a class matching the mask. $r:<realname> Matches users with a matching realname. $s:<server> Matches users that are connected to a server matching the mask. $u:<modes> Matches users having the specified user modes set or not set. $z:<certfp> Matches users having the given TLS certificate fingerprint. Acting: $j:<banmask> Prevents matching users from joining the channel. $m:<banmask> Blocks messages from matching users. Users with voice or above are not affected.
- channel.h: remove unused ShowChannel macro
- Bump copyright years everywhere
- Rename struct Membership to ChannelMember - Rename Channel::last_knock to last_knock_time - Rename Channel::last_invite to last_invite_time - Rename chptr to channel
- Renamed 'creationtime' Channel structure member to 'creation_time'
- Update documentation in some files
- Move CAN_SEND_ enum from channel_mode.h to channel.h
- Update copyright years
- Make use of bool even more
- Make use of the bool data type in some more places
- Make use of the bool data type in some places
- Rename Channel:locmembers to Channel::members_local
- Add channel_get_list() to channel.c which should be used when accessing channel_list outside of channel.c
- Stylistic changes
- Rip out mempool
- "JOIN 0" is now no longer supported
- Update copyright years
- Update copyright years
- Use unsigned where appropriate
- Get rid of clear_invites_channel() and clear_invites_client(). Use clear_invite_list() instead.
- Fixed svn properties
- Rewrite invite handling to be more flexible for future additions such as client based invite throttling, invite expiration, etc
- Now that we got time_t to work nicely on openbsd with snprintf's conversion specifiers, we ran into a similiar issue on Raspbian/ARMv7's time_t which is of signed 32 bit and doesn't cope at all with %j. Instead of doing tricks, get rid of time_t everywhere and forever and use uintmax_t instead which has at least a 'standardized' conversion specifier associated with it.
- Update copyright years
- Cache channel name lengths
- USERHOST_REPLYLEN I never liked. Gone.
- Added channel mode +T which forbids NOTICEs to be sent to a channel
- channel.h, channel.c: declared can_join() as static
- Add channel::invite_delay_channel configuration option
- Remove splitmode checking
- Rename several functions in channel.c to comply with naming convention
- channel.h: rename FLOOD_NOTICED to MSG_FLOOD_NOTICED
- Make use of enum in more places
- Renamed clear_invites() to clear_invites_channel() - Added separate clear_invites_client()
- Changed some members of the Ban structure to use fixed-size arrays
- Update copyright years
- Renamed variables
- channel.c, channel.h: added clear_invites() and make use of it - ms_sjoin.c:ms_sjoin(): clear invites if the introduced channel has lower TS
- Constification
- Renamed Channel::chname to Channel::name
- Update GPL 2 license headers
- Minor documentation updates
- Bring back channel->locmember list
- Merged Adam's event system rewrite
- channel.h: removed Channel.last_invite; it's not used anymore
- Renamed global_channel_list to channel_list
- Renamed set_channel_topic() to channel_set_topic()
- Fixed SVSJOIN/SVSPART issues
- Moved duplicated code used by m_svspart.c and m_part.c, aswell as m_svsjoin.c and m_join.c to channel.c
- Added INVITE flood protection/throttling as requested by Adam. This basically works similar as the KNOCK throttling algorithm.
- Create 8.2.x branch
- Clean up all files in include/ (fixed indentation, removed whitespaces/tabs) - Fixed copyright years
- Rename Ban::username structure member to Ban::user
- get_member_status(), valid_wildcard(): constification
- Implemented channel mode +c. Known from other ircds, this mode basically prevents users from sending messages including control codes to a channel that has this mode set
- Constification, replaced few sprintf with snprintf
- Revert to -r1831
- Made all numeric defines use the actual string instead of the numeric value which allows to use gcc's printf format attribute - Remove current message locale implementation
- Cleanup/reorganize header file layout - Fixed naming convention in some places
- Forward-port -r1750 [IMPORTANT: nick and topic lengths are now configurable via ircd.conf. A max_nick_length, as well as a max_topic_length configuration option can now be found in the serverinfo{} block] - OpenSSL 0.9.8s and higher is now required in order to enable ssl support
- More config subsystem cleanups
- Second time's the charm? Moving svnroot/ircd-hybrid-8 to svnroot/ircd-hybrid/trunk
- change KEYLEN semantics. KEYLEN no longer includes space for the trailing \0
- make channel::topic and channel::topic_info fixed-size arrays
- create ircd-hybrid-8 "branch"
- recreate "trunk"
- branch off trunk to create 7.3 branch
- move ircd-hybrid-7.2 to trunk
- Add -Wextra -Wcast-align -Wbad-function-cast to CFLAGS if --enable-warnings is specified - Fixed several compile warnings - 64-bit cleanliness fixes, e.g., reorganize data structures to reduce storage/unnecessary padding
- move list manipulation routines from tools.c to list.c - mem_frob() goes to memory.c - sort out redundant/unneeded header includes
- Removed LazyLinks in 7.2 to stop people from asking why we keep broken code for half a decade. LL will be implemented in a smarter fashion in due time
- Added channel::disable_fake_channels which disallows creation of channels that have ascii 2, 3, 31 and 160 in their names. - Minor improvements and cleanups to channel name validation routines backported from 7.3
- Backported changes made in HEAD to get rid of Channel::locmembers. This is mainly to save about 5megs of ram on networks like efnet where we have about 600k allocated Membership structures.
- 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.
- Imported recent channelban changes from HEAD which have been tested extensively. The match_cidr() fix didn't work in the first try, so I'm not going to bother with further debugging. - Removed match_cidr() and comp_with_mask()
create 7.2 branch, we can move/rename it as needed.
- svn:keywords
- svn:keywords
- Fix svn:keywords
- imported sources - can be moved later according to the directory/branching scheme, but we need the svn up
This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, enter a numeric revision.