Commit Graph

567 Commits

Author SHA1 Message Date
Jilles Tjoelker cffd37ee37 [ratbox3 svn r26397] Make it more likely that error messages on ssld connections get through.
When ssld reports a connection closure because of
"Remote host closed the connection" and the connection
is any server or a registered client, try a
read_packet() on the client.
This should mainly help LIBRB_USE_IOTYPE=poll which
iterates over the ready file descriptors in numerical
order, processing the ssld control connection before the
closing data connection.
2009-01-15 20:08:46 +03:00
androsyn 6f3b64079f [svn r26332] get rid of the zip ready stuff 2009-01-01 14:50:21 +03:00
Aaron Sethman 62271ba929 re-enable ziplinks + ssl 2008-12-13 23:20:59 +03:00
Jilles Tjoelker d5e5bfc851 Update some copyright years. 2009-01-01 22:48:50 +01:00
Jilles Tjoelker 3471ceb507 Allow opers to see other users umodes with /mode <nick>.
If the other user is local, the snomask is also shown.
2009-01-01 19:24:38 +01:00
Jilles Tjoelker 53ece38bb1 Remove redundant check.
Surely, if source_p == target_p, then target_p->from == source_p->from.
2008-12-28 18:36:41 +01:00
Jilles Tjoelker 064c191ad2 Make sure default privset remains available, fixes various crashes
with default/invalid privsets and rehashing.
2008-12-27 23:13:48 +01:00
Jilles Tjoelker 7b52cd51d5 Put libratbox version on startup in a nicer place. 2008-12-22 21:50:21 +01:00
Valeriy Yatsko b0ef251cda [ratbox3 svn r26284 by androsyn] spew the libratbox version info on -version and at startup 2008-12-22 12:58:33 +03:00
Jilles Tjoelker 760ef9e1ea Show rejectcache/throttle in /testline output.
This adds more RPL_TESTLINE numerics with code '!'.
Different from the other results, the I/K line or
RESV will be shown as well.
2008-12-19 19:24:12 +01:00
Jilles Tjoelker 84bfb8ccb3 Only count throttle entries that cause rejection in /stats t. 2008-12-16 21:10:09 +01:00
Jilles Tjoelker 76d4968137 Show throttle info in /stats t.
from ircd-ratbox (androsyn)
2008-12-16 21:02:04 +01:00
Jilles Tjoelker 543b8c392c Make rehashing privset{} change online oper privileges.
This also fixes memory leak due to multiple privsets
with the same name (added after each rehash).
2008-12-14 18:25:15 +01:00
Jilles Tjoelker 0ba0bb4ce0 Unref privset of quitting oper. 2008-12-14 17:31:42 +01:00
androsyn 0dc49ff2f4 cast getpid() to int 2008-12-10 12:46:23 +03:00
Aaron Sethman 5274a6d761 report logfile access issues
committer: Valeriy Yatsko <dwr@it-penza.org>
2008-11-16 10:15:28 +03:00
Valeriy Yatsko 4e2fdb1f81 Branch merge. 2008-12-03 02:59:26 +03:00
Valeriy Yatsko 3b0f3294cf Remove irc_basename, replace it with rb_basename from libratbox. 2008-12-03 02:59:13 +03:00
Jilles Tjoelker 2cf629d9b5 Put back conditionally netwide ssld error snote. 2008-12-03 00:55:58 +01:00
Valeriy Yatsko c7c9aa764d Branch merge. 2008-12-03 02:50:01 +03:00
Valeriy Yatsko 94b4fbf93a Copied libratbox and related stuff from shadowircd upstream. 2008-12-03 02:49:39 +03:00
Jilles Tjoelker 1386c9a7c0 Specify RTLD_LOCAL explicitly.
As in atheme-services, I guess some versions of
MacOS X need this.
2008-12-03 00:39:07 +01:00
Jilles Tjoelker c8d8588915 Split cidr_bitlen into cidr_ipv4_bitlen and cidr_ipv6_bitlen.
Taken from ircd-ratbox 3 via shadowircd.
2008-11-30 13:31:59 +01:00
Jilles Tjoelker 36f0316a72 Remove unnecessary initialization that violates const. 2008-11-27 22:50:01 +01:00
Jilles Tjoelker e7c8892297 Put back accidentally removed word. 2008-11-26 21:38:49 +01:00
Jilles Tjoelker 51e1ce904e Make the notices reporting auth{} privs a bit more serious-looking,
as in ratbox3.
2008-11-19 22:45:13 +01:00
Aaron Sethman 17d00839b3 make is_cti/is_sti collect times connected in unsigned long long instead of time_t as well..on 32bit boxes that is going to wrap pretty quickly
committer: Valeriy Yatsko <dwr@it-penza.org>
2008-11-16 10:04:09 +03:00
Jilles Tjoelker 9a9f3cf8a5 Only require DNSBL replies to be in 127.0.0.0/8 instead of /24. 2008-11-15 16:17:16 +01:00
Jilles Tjoelker 570ca08a4f Allow the resolver to process longer hostnames,
for the benefit of some DNSBLs like the "TorDNSEL service".
2008-11-15 16:13:39 +01:00
Jilles Tjoelker 44913ac65f Add WHOX to 005 so we can see if much breaks. 2008-11-09 00:27:15 +01:00
Jilles Tjoelker 555801db60 Add ircu-like /who format options.
Use  /quote help who  for details.
The format code "o" (oplevel) is not documented,
but implemented showing dummy information (999 for
chanop, n/a otherwise).
2008-11-09 00:12:56 +01:00
Jilles Tjoelker 05d8a68c88 Show spambot notices for joins, not for parts.
Parts still decrement the counter for showing notices.
This shows more channels in the notices.
2008-11-08 17:22:41 +01:00
Jilles Tjoelker f8d9b22917 Add the IP address to userlog, as in ratbox3. 2008-10-31 10:57:51 +01:00
Jilles Tjoelker 4f2b6c0b38 Allow clearing general::kline_reason via a rehash. 2008-09-17 00:21:00 +02:00
Jilles Tjoelker 850b23f3a9 Remove old oper privilege flags. 2008-09-09 21:51:26 +02:00
Jilles Tjoelker 663bbb2836 Add need_ssl to auth{} and operator{}.
Specifying need_ssl on auth{} denies the connection if
it is not SSL/TLS, much like need_ident or need_sasl.
Specifying need_ssl on operator{} refuses opering with
ERR_NOOPERHOST if the connection is not SSL/TLS.
from ircd-ratbox
2008-09-07 01:18:58 +02:00
Jilles Tjoelker 5b0a527927 Use rb_snprintf() in various places. 2008-09-06 01:00:20 +02:00
Valeriy Yatsko d05e3e3a7b We don't want to leave the isupport name in the extension memory space on changing it - fixed a bug (tnx Artem@IrcNet(RU)) 2008-08-31 03:57:27 +04:00
William Pitcock 508c7c41fe Make change_isupport() return the old value!!! 2008-08-29 15:36:41 -05:00
William Pitcock 17ad49a96a Add change_isupport() to change the value of an ISUPPORT token. 2008-08-29 15:27:34 -05:00
William Pitcock 9ac19244c0 Automated merge with ssh://hg.atheme.org//hg/charybdis 2008-08-29 14:48:06 -05:00
Stephen Bennett 645103ac52 If auth_user and server password were given and not used, use auth_user as an account name in the nickserv identify command 2008-08-29 14:45:30 -05:00
Jilles Tjoelker 628eee0041 Remove some dead code.
found using llvm static analyzer
2008-08-29 02:53:52 +02:00
Jilles Tjoelker ef8e4220ec Fix a memory leak.
found using llvm static analyzer
2008-08-29 01:58:10 +02:00
Jilles Tjoelker 0cdd90ce79 Fix comment, getsockname() can fail legitimately.
from ircd-ratbox r25967 (jilles)
2008-08-28 01:06:19 +02:00
Jilles Tjoelker c80be1ec80 Don't try to add a closed connection.
ircd-ratbox r25965 (jilles)
2008-08-28 01:05:41 +02:00
Jilles Tjoelker 07c8448a5b Fix ident for ssl connections. 2008-08-28 00:49:04 +02:00
Jilles Tjoelker 6acb39cb1a Clear privset on deoper. 2008-08-25 18:24:24 +02:00
Jilles Tjoelker 220c63400a Fix crash if there is no privset= in an operator{}. 2008-08-18 00:55:12 +02:00
Jilles Tjoelker c08e7f2dbd Use C locale for the compilation date. 2008-08-17 22:55:57 +02:00
William Pitcock 34cb09ceea Make a reference to privset in Client.localClient. 2008-08-17 08:23:40 -05:00
William Pitcock 665e79e999 privilegeset_ref(): return the privilegeset 2008-08-17 08:22:56 -05:00
William Pitcock 5a6d4202d1 Make use of the new default privset!! 2008-08-17 08:08:23 -05:00
William Pitcock 001f5f6731 ircd initialization: add a "default" privset with no privs. 2008-08-17 08:06:28 -05:00
William Pitcock 83c037c058 Automated merge with ssh://hg.atheme.org//hg/charybdis 2008-08-17 07:53:32 -05:00
William Pitcock 3ddb54d905 update oper line 2008-08-17 07:53:29 -05:00
Jilles Tjoelker d2e6d8d715 Add 328 numeric (ChanServ channel URL) to the header files. 2008-08-17 14:49:01 +02:00
William Pitcock f6189c43ab same bug 2008-08-17 07:47:06 -05:00
William Pitcock 39352a39f2 fix another stupid bug, gah 2008-08-17 07:46:18 -05:00
William Pitcock 76eca655f9 Make sure extended privilege sets are added to the registry. 2008-08-17 07:44:46 -05:00
William Pitcock 7ce46e0447 Allow : to be in 'string' values. 2008-08-17 07:41:52 -05:00
William Pitcock b8be4a3f4c Initial work on getting privsets working. 2008-08-17 07:40:27 -05:00
William Pitcock de0e9f373b Add config magic for privset{} parsing. 2008-08-17 07:10:23 -05:00
William Pitcock 0e52880760 Add privilegeset_extend(). 2008-08-17 06:35:49 -05:00
William Pitcock 9291987bba Add basic PrivilegeSet API. 2008-08-17 06:27:59 -05:00
Valery V Yatsko 2d9a60fe7e fixed warnings on src/ircd.c compilation 2008-08-17 09:33:05 +04:00
Valery V Yatsko 9b37ad07c3 ircd-ratbox -> charybdis 2008-08-16 22:38:13 +04:00
Valery V Yatsko 2a64312fdc seed random not even every 300 seconds, but on startup also 2008-08-16 22:30:28 +04:00
Valery V Yatsko 2b454b76dc egd fixed 2008-08-16 22:29:33 +04:00
Valery V Yatsko 5d2fe5036e comment to fix egd (not work currently) 2008-08-16 22:24:28 +04:00
Valery V Yatsko 6145bb6027 no more servlink - removed 'servlink_path' from reference.conf and source files 2008-08-16 22:23:56 +04:00
Valery V Yatsko a0775df0ed fixed typo in sslproc.c 2008-08-08 20:01:52 +04:00
Valery V Yatsko b01b826d26 ilog -> inotice in ircd_restart_cb (ircd.c) 2008-08-06 23:57:45 +04:00
Valery V Yatsko 94c100153c from ircd-ratbox r25799 by androsyn: give a bit more info when libratbox calls logging callbacks 2008-08-06 23:12:02 +04:00
Valery V Yatsko fba62b0151 Moved extern chmode_flags declaration from channel.h to chmode.h, as
it's actually declared in the second one
2008-08-04 21:51:15 +04:00
Valery V Yatsko bee0998d33 Removed global_tree declaration as unused from reject.c 2008-08-04 21:45:30 +04:00
Jilles Tjoelker d1275a8fd6 Move to ratbox3 reject and throttle code.
Throttle replaces max_unknown_ip, reject is like before
(including the charybdis-specific unkline handling).
Both of these now apply before SSL negotiation.

This commit does not include the global_cidr and new dline code.

m_webirc is a bit nasty with throttling (unlike before
with max_unknown_ip), this may be fixed later (or
the webirc IP needs to be exempt{}ed).
2008-08-01 01:59:08 +02:00
Jilles Tjoelker 70747af524 Fix rejectcache and unknown_count.
Unfortunately they are checked after SSL setup.
2008-07-31 22:47:53 +02:00
Jilles Tjoelker bcd8cc02e1 Fix some part of IPv6 dline checking. 2008-07-31 21:56:05 +02:00
Jilles Tjoelker 8576d6944a Fix problems with resolver not responding and epoll.
Read from resolver socket until it is no longer ready.
2008-07-30 19:53:54 +02:00
Jilles Tjoelker 8789299343 Put back netwide snotes for ssld errors from remote connects. 2008-07-30 14:50:12 +02:00
Jilles Tjoelker f43b492b70 Make the ircd start again. 2008-07-30 14:48:39 +02:00
Valery Yatsko f5bdde4b42 sslproc.c synced with ircd-ratbox3 svn 2008-07-30 02:55:08 +04:00
Valery Yatsko 9a7b24a6be Removed unneeded includes from newconf.h 2008-07-28 23:14:51 +04:00
Valery Yatsko b1d6fa8cd2 Reordered functions to match ratbox3's order 2008-07-28 23:02:54 +04:00
Valery Yatsko b5a93db8b8 Removing '/* patricia */' declarations block as libratbox3 has this now, changed the order of variable declarations a bit 2008-07-27 16:25:00 +04:00
Valery Yatsko 4d938eac7d Cleanup: removed unused initialVMTop variable from ircd.c and get_maxrss() from restart.c 2008-07-27 16:18:50 +04:00
Valery Yatsko cd1dea9726 last changes of crypt -> rb_crypt 2008-07-27 14:52:46 +04:00
Valery Yatsko 7608ef4933 A very draft version of extensions, which are adding can_join hooks for custom channel modes 2008-07-27 12:10:48 +04:00
Jilles Tjoelker e23905e60d Regenerate depend files. 2008-07-12 01:52:27 +02:00
Jilles Tjoelker 121cd4dcb6 Some fixes to .depend generation. 2008-07-12 01:52:14 +02:00
Jilles Tjoelker 3fde0c14a2 Do not send kills for unknown prefixes which are nicks.
This can happen harmlessly in particular if a SAVE
and a nick-prefixed command crossed; then, due to
nick changes and nick chasing, it easily causes
ghosts that need a kill or split to disappear.
Most commands use UID as prefix which does not have
this problem and will destroy real ghosts soon enough.
2008-07-02 00:58:56 +02:00
Jilles Tjoelker e5cdec73ac Log ssld errors for servers and handshakes.
(serverlog)
2008-06-30 00:28:00 +02:00
Jilles Tjoelker 0d093bfee3 Call serv_connect_callback() directly from serv_connect_ssl_callback().
This speeds up outgoing SSL server connections by 1 second.
2008-06-29 23:47:10 +02:00
Jilles Tjoelker faed554234 Give proper error messages if connect fails for a server using SSL. 2008-06-29 23:47:02 +02:00
Jilles Tjoelker cd0ba90750 Send ssld error netwide if it was a remote connect and a handshake. 2008-06-29 22:02:32 +02:00
Jilles Tjoelker 0b53baf73b Keep track of nameservers that timeout and use others preferably.
The number of timeouts since the last received
packet is visible in /stats A.
2008-06-29 21:07:24 +02:00
Jilles Tjoelker 0ae330b43f Reset check_splitmode_ev to NULL after removing it,
to exclude the possibility of it being removed twice.
like ircd-ratbox r25641 (jilles)
reverts 788:476d29d84191
2008-06-29 01:37:11 +02:00
Valery V Yatsko 42706093f1 New (and better) values for startup event timings 2008-06-28 14:50:21 +04:00
Valery V Yatsko 6447b1637d Removed __CYGWIN__ define - server has no ability to work on cygwin right now 2008-06-28 14:46:03 +04:00
Valery V Yatsko f4fd05e251 Removed SystemTime declaration 2008-06-28 14:38:27 +04:00
Valery V Yatsko fd4535aa50 Remove srand() from main(), we are using ratbox3 random number generator (ev) 2008-06-28 14:36:25 +04:00
Valery V Yatsko 715b28fefd Applied svn diff from ratbox3 r21458:21470 2008-06-28 14:13:50 +04:00
Valery V Yatsko 4fd52c8c20 notify_banned_client cleaned up 2008-06-28 12:56:58 +04:00
Valery V Yatsko bb79db15d7 1. Removed stupid initUser() function outside of all heaps initializations
2. Cleaned up make_client
2008-06-28 12:49:27 +04:00
Valery V Yatsko 6992eef0b5 *_heap declaration related to client.c are now in client.c + current_uid too 2008-06-28 12:44:19 +04:00
Valery V Yatsko 9a67ad23d9 Remove Channel->users_last, used nowhere 2008-06-28 12:25:53 +04:00
Valery V Yatsko 9813daca73 'struct config_channel_entry ConfigChannel' in channel.c too 2008-06-28 12:02:51 +04:00
Valery V Yatsko 1a218aaf75 'rb_dlink_list global_channel_list' declaration moved to channel.c 2008-06-28 12:00:01 +04:00
Valery V Yatsko 5475a9321f channel_heap,ban_heap,topic_heap,member_heap declared statically in channel.c instead of ircd.{c,h} 2008-06-28 11:54:51 +04:00
Valery V Yatsko c735f93023 Pretty symlink logic for help files 2008-06-28 11:48:30 +04:00
Valery V Yatsko 7dd98666cc untabify function added to cache.c:
removes tabs from src, replaces with 8 spaces, and returns the length
of the new string.  if the new string would be greater than destlen,
it is truncated to destlen - 1
2008-06-28 11:22:43 +04:00
Valery V Yatsko 6a95f26eaf unlikely -> rb_unlikely 2008-06-26 10:19:27 +04:00
Valery V Yatsko 969a1ae66a PASS selector:password for auth{}, based on spb's patch for ircd-seven 2008-06-26 10:18:58 +04:00
Valery V Yatsko 2392eb24cd Generating cflags bufs dynamically: one for RPL_MYINFO and one for
supported.c
2008-06-25 07:51:32 +04:00
Valery V Yatsko 57d299acbd Merged find_orphaned_cflags and construct_noparam_modes in one function
as there's no reason to use them separetly
2008-06-25 07:13:58 +04:00
Valery V Yatsko 6b3b07a84e New way of noparam mode search 2008-06-24 22:21:26 +04:00
Valery V Yatsko 058aa02c4a New orphaned cflags implementation, now using chm_orphaned instead of
storing orphaned flags in a variable
2008-06-24 22:00:41 +04:00
Jilles Tjoelker 040c4408ed Fix some tracking for cmode +r. 2008-06-25 19:40:12 +02:00
Jilles Tjoelker c08f4515a9 Fix limits on simple modes.
Formerly some mode strings like +svvvv were not accepted.
2008-06-25 19:27:30 +02:00
Valery V Yatsko 73de5d22ed A draft version of find_cmode_slot and orphaned concept for channel
flags
2008-06-24 21:26:49 +04:00
Valery V Yatsko 75818939ab Applying dyn-cmodes.diff - first step in implementing channel module
addition in extensions
2008-06-24 20:45:19 +04:00
Jilles Tjoelker 30e0808268 ident: use rb_read/rb_write instead of direct syscalls 2008-06-21 02:29:21 +02:00
Jilles Tjoelker 0a93f25c7a ident: obtain port numbers earlier and store them
This eliminates two syscalls per ident lookup.
It also removes a piece of code that depends on
the port fields being in the same location for
sockaddr_in and sockaddr_in6.
2008-06-21 01:52:57 +02:00
Jilles Tjoelker e8c4b8b290 ident: Check getsockname() return value. 2008-06-21 01:27:17 +02:00
Jilles Tjoelker ed28210c45 Clean up s_auth a little. No functional changes. 2008-06-21 00:58:08 +02:00
Jilles Tjoelker 8813d184e3 Do not timeout unknowns if still waiting for blacklist lookup.
This fixes inability to connect if all DNS queries
time out and any blacklists are defined.
2008-06-20 01:49:53 +02:00
Jilles Tjoelker 3e6a6891a1 Get rid of ", " at the start of some oper privs strings. 2008-06-18 21:58:43 +02:00
Jilles Tjoelker 1728a2acd0 resolver: Remove effectively unused 'resend' flag. 2008-06-15 15:53:04 +02:00
Jilles Tjoelker 8fede7abee resolver: Remove request_state which is no longer used. 2008-06-15 01:17:42 +02:00
Jilles Tjoelker 0accfaf36f Allow CNAMEs everywhere, named will have recursed into them for us.
This makes PTRs containing names that are a CNAME
for an A (instead of an A) work. While this is
probably bad practice, some people do it and most
other ircds seem to accept it.
2008-06-15 00:57:15 +02:00
Jilles Tjoelker ad884f939e Remove construction of some TS5 linebufs. 2008-06-14 02:30:30 +02:00
Jilles Tjoelker bf9ca219d3 Remove more TS5 remants (sendto_server calls). 2008-06-14 02:06:55 +02:00
Jilles Tjoelker 7592f950b2 Unbreak sending out bans and simple modes with parameters. 2008-06-13 22:21:44 +02:00
Jilles Tjoelker b9f46fc5fa Get rid of some K&R style function declarations for conf parser. 2008-06-11 00:54:02 +02:00
Jilles Tjoelker 6d18bf1a12 Some const stuff for m_set. 2008-06-11 00:28:08 +02:00
William Pitcock 9f9b4d7b2b More TS6 special cases simplified. 2008-06-08 02:16:43 -05:00
William Pitcock b813aae326 Remove one last bit of TS5 stuff. 2008-06-08 02:14:21 -05:00
William Pitcock b9d7f41c8a Forgot to test the bitmask, oops. 2008-06-08 02:13:26 -05:00
William Pitcock cf91d0c9d8 Replace old 2.8-style privileges notice with a new one. 2008-06-08 02:09:15 -05:00
William Pitcock a4857d780f core: no more TS5 2008-06-08 01:29:26 -05:00
William Pitcock 77bf1a0402 Remove burst_modes_TS5() and burst_TS5(). 2008-06-08 01:11:57 -05:00
Jilles Tjoelker 213aeb8d6b Check for the -rpath linker flag.
This makes it build on MacOS X which neither
supports nor needs this flag.
2008-05-17 17:46:37 +02:00
Jilles Tjoelker 7f9801883f Show hg revision number (serno) in ircd -version. 2008-04-22 23:41:16 +02:00
Jilles Tjoelker 0fcbff0c49 Don't try to fflush a file we just closed.
ircd-ratbox r25251 (androsyn)
2008-04-22 00:45:43 +02:00
Jilles Tjoelker 7e7c69536b Remove obsolete comment.
DNS lookups should be done prior to usage of an item,
not when loading the configuration.
2008-04-20 15:33:23 +02:00
Jilles Tjoelker 3f2b905e35 Remove conf_connect_allowed(), neither used nor declared. 2008-04-20 15:32:08 +02:00
Jilles Tjoelker c465dbcda4 Move some declarations to header files, this enforces that they match. 2008-04-20 15:30:24 +02:00
Jilles Tjoelker aa65834c6f Fix various compiler warnings. 2008-04-20 15:20:10 +02:00
Jilles Tjoelker 78a47af020 Remove silly cast that caused a compiler warning. 2008-04-20 14:47:34 +02:00