- channel_mode.c: documentation
- Dynamically build buffers containing channel modes for RPL_ISUPPORT and RPL_MYINFO
- Bump copyright years
- channel_mode.c:send_mode_changes_client(), send_mode_changes_server(): don't send the appending space in the TMODE/MODE message in case paracount == 0
- Bump copyright years
- Stylistical changes
- Style corrections; reformatting
- Implemented channel mode 'K'. KNOCK cannot be used on channels with that mode set.
- channel_mode.c:channel_modes(): minor optimization to save potentially redundant member_find_link() calls
- Rename find_channel_link() to member_find_link()
- Replace remaining occurrences of IsMember with find_channel_link and remove IsMember entirely
- Style corrections
- channel_mode.c:add_id(): actually store the raw ban mask in ban->banstr for servers/remote clients (fixes github issue #18)
- 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.
- Replaced most occurences of 'SSL' with 'TLS'
- Bump copyright years everywhere
- channel_mode.c:get_channel_access(): fixed compile error with --enable-assert
- 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'
- Killed CurrentTime
- Update copyright years
- Make use of the bool data type in some more places
- channel_mode.c:chm_simple(): remove hardcoded CHACCESS_HALFOP oplevel test to allow channel mode modules to register their own oplevel in the future
- Cleanups to add_id and del_id; have these function take a dlink_list pointer to the channel's banmask list
- channel_mode.(c|h): get rid of the specialized chm_ban, chm_except, and chm_invex functions and just have chm_mask instead
- Use a boolean type for chan_mode::only_servers and chan_mode::only_opers
- channel_mode.(c|h): get rid of the specialized chm_op, chm_hop, and chm_voice functions and just have chm_flag instead
- Stylistic changes
- Fixed style inconsistencies in various places
- Rename Channel:locmembers to Channel::members_local
- Implemented channel mode 'N' which prevents users from changing their nick while in a channel with that mode set
- Stylistic changes
- Add channel_get_list() to channel.c which should be used when accessing channel_list outside of channel.c
- Stylistic changes
- Rip out mempool
- Update copyright years
- channel_mode.c:set_channel_mode(): use explicit NULL
- channel_mode.c:channel_modes(): fixed invalid test
- channel_mode.c: replace some two-case switches with just a small if/else if
- channel_mode.c:chm_simple(): drop redundant mode changes; deduplicate
- Fixed NULL pointer dereference in chm_nosuch()
- channel_mode.c:cmode_tab[]: use designated initializers
- Get rid of chm_registered() and chm_simple_oper()
- Cleanup channel mode table handling
- channel_mode.c: constification; remove useless comments
- Implemented channel mode 'L'. Channels with that mode set can make use of an extended ban list size specified with the new 'channel::max_bans_large' configuraton option. This mode can be set only by irc-operators or servers.
- Add chptr->mode.mode manipulation macros
- channel_mode.h, channel_mode.c: use 'unsigned' in some places
- Implement channel mode 'u' which hides bmasks (+b/+e/+I) to non-chanops everywhere
- channel_mode.c: fixed an issue in chm_key() where "MODE #chan +k-k bla bla" would result in a "MODE #chan +k-k *" sent back to clients.
- channel_mode.c:send_mode_changes_client(): remove senseless code
- channel_mode.c:chm_ban, chm_except, chm_invex: add some comments about the max length of 'mask'
- channel_mode.c: send_mode_changes_(client|server): remove length test on parabuf; minor other cleanups
- channel_mode.c: send_mode_changes_(client|server): rename variables; 'nc' -> 'modecount', 'mc' -> 'paracount'
- channel_mode.c: fixed possible issue in send_mode_changes_(client|server) where it wouldn't strip the trailing space on TMODE with more than MAXMODEPARAMS parameters
- Update copyright years
- Minor style corrections and constifications
- Get rid of clear_ban_cache_channel() and clear_ban_cache_client(). Use clear_ban_cache_list() instead.
- Fixed svn properties
- channel_mode.c: cosmetical changes
- Cleanup more conversion specifiers
- Update copyright years
- channel_mode.c:chm_limit(): move variable
- channel_mode.c: minor cleanup/optimization to the v/h/o mode handlers
- Added channel mode +T which forbids NOTICEs to be sent to a channel
- Use the %ju conversion specifier for time_t and get rid of these non-portable (unsigned long) casts; replace some uint64_t with uintmax_t
- Merge sendto_channel_local_butone() functionality into sendto_channel_local() and get rid of sendto_channel_local_butone()
- channel_mode.c:channel_modes(): removed useless FLAGS_SERVICE test on client_p. We don't need that here.
- Changed some members of the Ban structure to use fixed-size arrays
- channel_mode.c:add_id(): removed useless IsServer() test
- Mostly whitespace changes
- channel_mode.c: moved 'if (!mode_count)' test from send_mode_changes_client() to set_channel_mode()
- channel_mode.c: renamed send_mode_changes() to send_mode_changes_client(); have send_mode_changes_server() called from set_channel_mode()
- channel_mode.c:chm_ban(), chm_except(), chm_invex(): replaced memcpy() with strlcpy()
- Style corrections only
- channel_mode.c:chm_operonly(): half-ops that are irc operators may now add/remove channel mode 'O' (ircops only channel), too
- Fixed style in several places
- Added channel mode +C which prevents users from sending CTCPS to a channel
- Update copyright years
- channel_mode.c: don't allow ban masks to be added that start with a colon
- Get rid of NOCAPS
- Style corrections; fixed comments
- Renamed clear_ban_cache() to clear_ban_cache_channel() to separate it better from the clear_ban_cache_client() function
- Constification
- channel_mode.c:add_id(), del_id(): replaced sprintf() with snprintf()
- Renamed variables
- Renamed variables
- Renamed variables
- Removed ChModeChange::mems
- Removed pointless test for UMODE_DEAF in both sendto_channel_local() and sendto_channel_local_butone()
- channel_mode.c, send.c: style corrections
- Renamed Channel::chname to Channel::name
- Update GPL 2 license headers
- channel_mode.c:clear_ban_cache(): use locmembers list
- Add CHACCESS_REMOTE for servers remote Clients
- Let mp_pool_get() clear memory
- channel.c, channel_mode.c: update documentation in some places
- Removed ONLY_CHANOPS; let non-ops see +I/+e lists, too
- /INVITE without any parameters now shows a list of channels a client is invited to
- channel_mode.c, channel_mode.h: constification
- More ms_sjoin() cleanups
- Added some documentation about find_chasing()
- channel_mode.c: minor cleanups and code rearrangements
- channel_mode.c: get rid of fix_key_old()
- Halfops are now part of the ircd core and enabled by default
- channel_mode.c:chm_simple(): channel halfops may now set +p
- channel_mode.c:chm_hop(): channel halfops (%) may now no longer (de)halfop other channel members
- channel_mode.c: irc-operators may now no longer set a channel +O if they are only halfops (%)
- Removed unused ChModeChange.client
- channel_mode.c:send_mode_changes(): removed anonops leftovers
- channel_mode.c: style corrections
- channel_mode.c:chm_operonly(): removed dead code
- Removed CHFL_DEOPPED flags which is no longer needed with TS6
- channel_mode.c: revert changes to channel_modes() for now. apparently there are some other parts that rely on this odd behaviour.
- channel_mode.c:channel_modes(): replaced sprintf with strcat; use %u conversion specifier for unsigned ints
- channel_mode.c:channel_modes(): fix to previous changes
- channel_mode.c:channel_modes(): get rid of trailing spaces if the channel is +k/+l
- channel_mode.c:chm_op(), chm_hop(), chm_voice(): use target_p->name when reporting ERR_USERNOTINCHANNEL
- channel_mode.c: style corrections
- channel_mode.c:send_mode_changes_server(): removed resolved XXX
- channel_mode.c:chm_operonly(): removed dead code
- channel_mode.c: removed unused SM_ERR_NOTS; made errorcodes use an enum
- channel_mode.c:chm_operonly(): removed redundant assignment
- Renamed MyMalloc() to MyCalloc()
- Create 8.2.x branch
- channel_mode.c: style corrections
- Moved files: s_user.c -> user.c s_misc.c -> misc.c s_serv.c -> server.c
- Style corrections/constification
- Fixed inconsistent style in several places
- Style corrections all over the place
- Fixed some comments; cleaned up style here and there
- Fixed compile error in ms_sid() - Cleaned up find_chasing(). Removed useless third 'chasing' argument.
- Fixed now outdated comments
- channel_mode.c:chm_voice, chm_hop, chm_op: removed useless IsClient() test
- channel_mode.c:chm_limit(): instead of passing an empty buffer to atoi() we just bail out
- channel_mode.c: style corrections
- Removed unused client_p pointer from all chm_* channel mode handlers
- channel_mode.c: style corrections here and there
- removed unused variables
- channel_mode.c:chm_op, ch_hop, chm_voice: renamed 'targ_p' to 'target_p'
- channel_mode.c: removed unused defines
- channel_mode.c: fixed buglet in send_mode_changes_server()
- Get rid of halfop -> op rewriting for servers that don't support halfops
- Various fixes to previous ts5 removal changes
- Server now no longer accepts TS5 links
- Applied Adam's sendto_one_numeric() changes
- channel_mode.c: made mode_count, mode_limit, simple_modes_mask unsigned int types
- channel_mode.c:send_cap_mode_changes(): fixed bug where MODE is used when it should use TMODE
- channel_mode.c: removed CAP_IE and CAP_EX from channel_capabs[]
- ms_bmask(): made mode_type an unsigned int type
- channel_mode.c: replaced several sprintf() with snprintf()
- channel_mode.c: fixed compile error with halfops enabled
- channel_mode.c, channel.c: removed unused header include
- channel_mode.c:get_channel_access(): constification
- channel_mode.c: minor optimizations to set_channel_mode()
- Clean up stupid pointer magic passed to the channel mode handlers.
- Clean up all files in include/ (fixed indentation, removed whitespaces/tabs) - Fixed copyright years
- channel_mode.c: fixed indentation, removed whitespaces/tabs, removed unused header includes
- channel_mode.c:set_channel_mode(): removed legacy code which has been introduced in rev 7.66(CVS) / Sat Dec 14 04:08:38 2002
- src/channel_mode.c: fixed small buglet in send_mode_changes() with server hiding enabled. Reported by Adam <adam@anope.org>
- channel_mode.c: fixed warnings with clang
- find_person(): fixed naming convention - find_chasing(): reduced required arguments
- Rename Ban::username structure member to Ban::user
- channel_mode.c:add_id(): don't leak server names of servers that are hidden. Patch provided by Adam <adam@anope.org>
- Implemented channel mode +M. Clients that haven't identified their name with NickServ may not speak in a channel that has this mode set
- 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
- 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
- Replaced all occurrences of ircsprintf with sprintf/snprintf and killed sprintf_irc.(c|h)
- Forward-port -r1771 [channel_mode.c: check_string() didn't work right in case string started with a space. (i.e., "MODE #chan +b : c" results in a weird ban mask) Bug got introduced in ircd-hybrid-5/channel.c, Revision 1.26
- channel_mode.c: chm_invex, chm_exempt: ban and invite exemptions are now always sent regardless of CAP_IE/CAP_EX
- Implemented memory pool allocator which basically is taken from Tor's mempool allocator for Tor cells - Fixed compile warnings in conf_class.c - ./configure --enable-assert works again
- First pass of conf parser stabilization/cleanup
- Initial rewrite of the configuration subsystem
- Made m_globops() and ms_globops() use sendto_realops_flags() - Added message-type parameter to sendto_realops_flags() which can be one of SEND_NOTICE, SEND_GLOBAL, SEND_LOCOPS - Forward-port -r1617
- Second time's the charm? Moving svnroot/ircd-hybrid-8 to svnroot/ircd-hybrid/trunk
- Removed use_invex, use_except and use_knock configuration options. These features are now enabled by default
- removed &localchannels
- NICKLEN definition no longer respects the trailing NUL character (reverts to old behavior)
- renaming files: ircd_parser.y -> conf_parser.y ircd_lexer.l -> conf_lexer.l s_conf.c -> conf.c s_conf.h -> conf.h s_log.c -> log.c s_log.h -> log.h
- move content of msg.h, ircd_handler.h and handlers.h into parse.h and remove headers accordingly - killed common.h - remove m_killhost.c and m_flags.c from contrib/ - sort out unused header includes here and there
- Start cleaning up macros in client.h. Replace several ClientHasSomeCoolFlag() with simple HasFlag/HasUMode macros.
- several fixes to services compatibility mode
- Improve services support - Add channelmode +r
- create ircd-hybrid-8 "branch"
- recreate "trunk"
- add new channel modes O and S
- branch off trunk to create 7.3 branch
- move ircd-hybrid-7.2 to trunk
- fixed broken cryptlinks as reported by henri - removed deprecated inet_misc.c - removed __attribute__ format, which sometimes really is usefull, even if unportable unless gcc, but for now they only give false warnings
- move list manipulation routines from tools.c to list.c - mem_frob() goes to memory.c - sort out redundant/unneeded header includes
- bug fix by caf <kevin@sylandro.com>
- 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
- Fixed compile error
- Fixed ban cache as reported by ThaPrince
- Backported RKLINE fix so the user and host portion of a banmask don't get cut off after 10 and 63 chars, respectively. A split_nuh() rewrite was required for this. - Removed now unused xstrldup() function
- 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.
- Forward-port banfix from 7.2 (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()
+ MFC support for halfop->op rewriting.
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.