From b0f5f4007114f080d4e33d3c0567da90e32dc4de Mon Sep 17 00:00:00 2001 From: Elizabeth Myers Date: Wed, 23 Mar 2016 09:06:47 -0500 Subject: [PATCH 01/14] Update NEWS --- NEWS.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/NEWS.md b/NEWS.md index 3faf8899c..9666a6f2d 100644 --- a/NEWS.md +++ b/NEWS.md @@ -46,8 +46,7 @@ See LICENSE for licensing details (GPL v2). Typedefs have been added for consistency reasons. For example, now you would write `rb_dictionary *foo` and `RB_DICTIONARY_FOREACH`. - C99 bools have been added. Don't use ints as simple true/false flags anymore. - Don't use `YES`/`NO` or `TRUE`/`FALSE` macros (`TRUE`/`FALSE` has been removed - and `YES`/`NO` is awaiting the same fate). Use just `true` and `false`. + Accordingly, the `YES`/`NO` and `TRUE`/`FALSE` macros have been removed. - libratbox has been renamed to librb, as we have diverged from upstream long ago. - Almost all 2.8-style hashtable structures have been moved to dictionaries or From affc871dcbc9918af9c996c87d2dbaf60a43dd0b Mon Sep 17 00:00:00 2001 From: Elizabeth Myers Date: Wed, 23 Mar 2016 09:11:20 -0500 Subject: [PATCH 02/14] common: don't even attempt to define NULL. stddef.h includes it, ISO C mandates NULL be in it, and if any platforms don't have it, *tough shit*. --- include/common.h | 6 ------ 1 file changed, 6 deletions(-) diff --git a/include/common.h b/include/common.h index 7754007ef..676b6b9cf 100644 --- a/include/common.h +++ b/include/common.h @@ -25,12 +25,6 @@ #ifndef INCLUDED_common_h #define INCLUDED_common_h - -#ifndef NULL -#define NULL 0 -#endif - - /* Just blindly define our own MIN/MAX macro */ #define IRCD_MAX(a, b) ((a) > (b) ? (a) : (b)) From 82236a2a653ea3ea242a611b94457c6beb1c85ac Mon Sep 17 00:00:00 2001 From: Elizabeth Myers Date: Wed, 23 Mar 2016 09:22:55 -0500 Subject: [PATCH 03/14] IRCD_BUFSIZE is redundant with BUFSIZE, so kill it. --- include/blacklist.h | 2 +- include/common.h | 3 --- include/s_conf.h | 2 +- ircd/blacklist.c | 2 +- ircd/newconf.c | 8 ++++---- ircd/s_user.c | 2 +- ircd/send.c | 4 ++-- modules/cap_server_time.c | 2 +- 8 files changed, 11 insertions(+), 14 deletions(-) diff --git a/include/blacklist.h b/include/blacklist.h index 652f12b40..7c8fc23ee 100644 --- a/include/blacklist.h +++ b/include/blacklist.h @@ -36,7 +36,7 @@ struct Blacklist { int ipv6; /* Does this blacklist support IPv6 lookups? */ char host[IRCD_RES_HOSTLEN + 1]; rb_dlink_list filters; /* Filters for queries */ - char reject_reason[IRCD_BUFSIZE]; + char reject_reason[BUFSIZE]; unsigned int hits; time_t lastwarning; }; diff --git a/include/common.h b/include/common.h index 676b6b9cf..58b52ac45 100644 --- a/include/common.h +++ b/include/common.h @@ -30,9 +30,6 @@ #define IRCD_MAX(a, b) ((a) > (b) ? (a) : (b)) #define IRCD_MIN(a, b) ((a) < (b) ? (a) : (b)) -/* Right out of the RFC */ -#define IRCD_BUFSIZE 512 - /* readbuf size */ #define READBUF_SIZE 16384 diff --git a/include/s_conf.h b/include/s_conf.h index 49a0d1e85..b4bd821c2 100644 --- a/include/s_conf.h +++ b/include/s_conf.h @@ -389,7 +389,7 @@ extern int yylex(void); extern unsigned long cidr_to_bitmask[]; -extern char conffilebuf[IRCD_BUFSIZE + 1]; +extern char conffilebuf[BUFSIZE + 1]; extern int lineno; #define NOT_AUTHORISED (-1) diff --git a/ircd/blacklist.c b/ircd/blacklist.c index ae3f10ee0..47438438f 100644 --- a/ircd/blacklist.c +++ b/ircd/blacklist.c @@ -227,7 +227,7 @@ struct Blacklist *new_blacklist(char *name, char *reject_reason, int ipv4, int i blptr->status &= ~CONF_ILLEGAL; rb_strlcpy(blptr->host, name, IRCD_RES_HOSTLEN + 1); - rb_strlcpy(blptr->reject_reason, reject_reason, IRCD_BUFSIZE); + rb_strlcpy(blptr->reject_reason, reject_reason, BUFSIZE); blptr->ipv4 = ipv4; blptr->ipv6 = ipv6; diff --git a/ircd/newconf.c b/ircd/newconf.c index 974f798b5..827f6ed90 100644 --- a/ircd/newconf.c +++ b/ircd/newconf.c @@ -2030,10 +2030,10 @@ void conf_report_error(const char *fmt, ...) { va_list ap; - char msg[IRCD_BUFSIZE + 1] = { 0 }; + char msg[BUFSIZE + 1] = { 0 }; va_start(ap, fmt); - vsnprintf(msg, IRCD_BUFSIZE, fmt, ap); + vsnprintf(msg, BUFSIZE, fmt, ap); va_end(ap); if (testing_conf) @@ -2050,10 +2050,10 @@ void conf_report_warning(const char *fmt, ...) { va_list ap; - char msg[IRCD_BUFSIZE + 1] = { 0 }; + char msg[BUFSIZE + 1] = { 0 }; va_start(ap, fmt); - vsnprintf(msg, IRCD_BUFSIZE, fmt, ap); + vsnprintf(msg, BUFSIZE, fmt, ap); va_end(ap); if (testing_conf) diff --git a/ircd/s_user.c b/ircd/s_user.c index 46a1ee61c..1f6a4cb40 100644 --- a/ircd/s_user.c +++ b/ircd/s_user.c @@ -219,7 +219,7 @@ register_local_user(struct Client *client_p, struct Client *source_p) { struct ConfItem *aconf, *xconf; struct User *user = source_p->user; - char tmpstr2[IRCD_BUFSIZE]; + char tmpstr2[BUFSIZE]; char ipaddr[HOSTIPLEN]; char myusername[USERLEN+1]; int status; diff --git a/ircd/send.c b/ircd/send.c index a733f0497..44cb04984 100644 --- a/ircd/send.c +++ b/ircd/send.c @@ -218,7 +218,7 @@ send_queued_write(rb_fde_t *F, void *data) static void linebuf_put_msgvbuf(struct MsgBuf *msgbuf, buf_head_t *linebuf, unsigned int capmask, const char *pattern, va_list *va) { - char buf[IRCD_BUFSIZE]; + char buf[BUFSIZE]; rb_linebuf_newbuf(linebuf); msgbuf_unparse_prefix(buf, sizeof buf, msgbuf, capmask); @@ -497,7 +497,7 @@ void sendto_channel_flags(struct Client *one, int type, struct Client *source_p, struct Channel *chptr, const char *pattern, ...) { - char buf[IRCD_BUFSIZE]; + char buf[BUFSIZE]; va_list args; buf_head_t rb_linebuf_local; buf_head_t rb_linebuf_id; diff --git a/modules/cap_server_time.c b/modules/cap_server_time.c index 3119319f9..73fce0170 100644 --- a/modules/cap_server_time.c +++ b/modules/cap_server_time.c @@ -52,7 +52,7 @@ mapi_cap_list_av2 cap_server_time_cap_list[] = { static void cap_server_time_process(hook_data *data) { - static char buf[IRCD_BUFSIZE]; + static char buf[BUFSIZE]; time_t ts = rb_current_time(); struct MsgBuf *msgbuf = data->arg1; From 7ac3261f9707ef5071410636906a55a434c6cff3 Mon Sep 17 00:00:00 2001 From: Elizabeth Myers Date: Wed, 23 Mar 2016 09:25:56 -0500 Subject: [PATCH 04/14] Ensure the parser/lexer don't use IRCD_BUFSIZE. --- ircd/ircd_lexer.l | 6 +++--- ircd/ircd_parser.y | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/ircd/ircd_lexer.l b/ircd/ircd_lexer.l index b79825870..e993c88a3 100644 --- a/ircd/ircd_lexer.l +++ b/ircd/ircd_lexer.l @@ -53,8 +53,8 @@ void cinclude(void); void hashcomment(void); int ieof(void); int lineno_stack[MAX_INCLUDE_DEPTH]; -char conffile_stack[MAX_INCLUDE_DEPTH][IRCD_BUFSIZE]; -char conffilebuf[IRCD_BUFSIZE+1]; +char conffile_stack[MAX_INCLUDE_DEPTH][BUFSIZE]; +char conffilebuf[BUFSIZE+1]; char *current_file = conffilebuf; FILE *inc_fbfile_in[MAX_INCLUDE_DEPTH]; @@ -195,7 +195,7 @@ void cinclude(void) if (tmp_fbfile_in == NULL) { /* if its not found in PREFIX, look in ETCPATH */ - char fnamebuf[IRCD_BUFSIZE]; + char fnamebuf[BUFSIZE]; snprintf(fnamebuf, sizeof(fnamebuf), "%s/%s", ETCPATH, c); tmp_fbfile_in = fopen(fnamebuf, "r"); diff --git a/ircd/ircd_parser.y b/ircd/ircd_parser.y index eb49d7f84..bc5e3fccf 100644 --- a/ircd/ircd_parser.y +++ b/ircd/ircd_parser.y @@ -161,7 +161,7 @@ static void add_cur_list(int type, char *str, int number) %union { int number; - char string[IRCD_BUFSIZE + 1]; + char string[BUFSIZE + 1]; conf_parm_t * conf_parm; } From 79435744c7b57fa830b8e4e7c7c8a9adf63f52b5 Mon Sep 17 00:00:00 2001 From: Elizabeth Myers Date: Wed, 23 Mar 2016 09:33:56 -0500 Subject: [PATCH 05/14] =?UTF-8?q?common.h:=20raison=20d'=C3=AAtre=20is=20g?= =?UTF-8?q?one,=20so=20out=20it=20goes.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fold whatever was left into ircd_defs.h --- extensions/m_identify.c | 1 - extensions/m_sendbans.c | 1 - include/common.h | 36 ------------------------------------ include/ircd_defs.h | 11 +++++++++++ include/s_conf.h | 1 - ircd/cache.c | 1 - ircd/channel.c | 1 - ircd/chmode.c | 3 +-- ircd/class.c | 1 - ircd/client.c | 1 - ircd/extban.c | 1 - ircd/hash.c | 1 - ircd/ircd.c | 1 - ircd/newconf.c | 1 - ircd/packet.c | 1 - ircd/parse.c | 1 - ircd/s_auth.c | 1 - ircd/s_conf.c | 1 - ircd/s_newconf.c | 1 - ircd/s_serv.c | 1 - ircd/s_user.c | 1 - ircd/scache.c | 1 - ircd/send.c | 1 - ircd/supported.c | 1 - modules/core/m_ban.c | 1 - modules/core/m_error.c | 1 - modules/core/m_join.c | 1 - modules/core/m_message.c | 1 - modules/core/m_nick.c | 1 - modules/core/m_part.c | 1 - modules/core/m_server.c | 1 - modules/core/m_squit.c | 1 - modules/m_certfp.c | 1 - modules/m_chghost.c | 1 - modules/m_dline.c | 1 - modules/m_encap.c | 1 - modules/m_etrace.c | 1 - modules/m_info.c | 1 - modules/m_invite.c | 1 - modules/m_kline.c | 1 - modules/m_names.c | 1 - modules/m_oper.c | 1 - modules/m_operspy.c | 1 - modules/m_privs.c | 1 - modules/m_rehash.c | 1 - modules/m_restart.c | 1 - modules/m_scan.c | 1 - modules/m_services.c | 1 - modules/m_set.c | 1 - modules/m_signon.c | 1 - modules/m_snote.c | 1 - modules/m_starttls.c | 1 - modules/m_stats.c | 1 - modules/m_svinfo.c | 1 - modules/m_tb.c | 1 - modules/m_testmask.c | 1 - modules/m_tginfo.c | 1 - modules/m_trace.c | 1 - modules/m_who.c | 1 - modules/m_whois.c | 1 - modules/m_whowas.c | 1 - modules/m_xline.c | 1 - 62 files changed, 12 insertions(+), 97 deletions(-) delete mode 100644 include/common.h diff --git a/extensions/m_identify.c b/extensions/m_identify.c index 156e6a9db..aebcd3616 100644 --- a/extensions/m_identify.c +++ b/extensions/m_identify.c @@ -31,7 +31,6 @@ #include "stdinc.h" #include "client.h" -#include "common.h" #include "ircd.h" #include "match.h" #include "numeric.h" diff --git a/extensions/m_sendbans.c b/extensions/m_sendbans.c index 106cb6b77..a6e155122 100644 --- a/extensions/m_sendbans.c +++ b/extensions/m_sendbans.c @@ -31,7 +31,6 @@ #include "stdinc.h" #include "client.h" -#include "common.h" #include "ircd.h" #include "match.h" #include "numeric.h" diff --git a/include/common.h b/include/common.h deleted file mode 100644 index 58b52ac45..000000000 --- a/include/common.h +++ /dev/null @@ -1,36 +0,0 @@ -/* - * ircd-ratbox: A slightly useful ircd. - * common.h: An ircd header common to most code. - * - * Copyright (C) 1990 Jarkko Oikarinen and University of Oulu, Co Center - * Copyright (C) 1996-2002 Hybrid Development Team - * Copyright (C) 2002-2004 ircd-ratbox development team - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 - * USA - */ - -#ifndef INCLUDED_common_h -#define INCLUDED_common_h - -/* Just blindly define our own MIN/MAX macro */ - -#define IRCD_MAX(a, b) ((a) > (b) ? (a) : (b)) -#define IRCD_MIN(a, b) ((a) < (b) ? (a) : (b)) - -/* readbuf size */ -#define READBUF_SIZE 16384 - -#endif /* INCLUDED_common_h */ diff --git a/include/ircd_defs.h b/include/ircd_defs.h index 64245cd7c..40db53839 100644 --- a/include/ircd_defs.h +++ b/include/ircd_defs.h @@ -56,6 +56,14 @@ #define IRC_DEPRECATED #endif +#ifndef MAX +#define MAX(a, b) ((a) > (b) ? (a) : (b)) +#endif + +#ifndef MIN +#define MIN(a, b) ((a) < (b) ? (a) : (b)) +#endif + #define HOSTLEN 63 /* Length of hostname. Updated to */ /* comply with RFC1123 */ @@ -115,4 +123,7 @@ #define PATRICIA_BITS 32 #endif +/* Read buffer size */ +#define READBUF_SIZE 16384 + #endif /* INCLUDED_ircd_defs_h */ diff --git a/include/s_conf.h b/include/s_conf.h index b4bd821c2..9a0f55328 100644 --- a/include/s_conf.h +++ b/include/s_conf.h @@ -33,7 +33,6 @@ #include "ircd_defs.h" #include "class.h" #include "client.h" -#include "common.h" struct Client; struct DNSReply; diff --git a/ircd/cache.c b/ircd/cache.c index f596dfa54..1a2cb14fa 100644 --- a/ircd/cache.c +++ b/ircd/cache.c @@ -32,7 +32,6 @@ #include "stdinc.h" #include "ircd_defs.h" -#include "common.h" #include "s_conf.h" #include "client.h" #include "hash.h" diff --git a/ircd/channel.c b/ircd/channel.c index 77bb26c43..717df263e 100644 --- a/ircd/channel.c +++ b/ircd/channel.c @@ -26,7 +26,6 @@ #include "channel.h" #include "chmode.h" #include "client.h" -#include "common.h" #include "hash.h" #include "hook.h" #include "match.h" diff --git a/ircd/chmode.c b/ircd/chmode.c index 5616fc7c7..6ec2f497a 100644 --- a/ircd/chmode.c +++ b/ircd/chmode.c @@ -26,7 +26,6 @@ #include "stdinc.h" #include "channel.h" #include "client.h" -#include "common.h" #include "hash.h" #include "hook.h" #include "match.h" @@ -889,7 +888,7 @@ chm_ban(struct Client *source_p, struct Channel *chptr, * also make sure it will always fit on a line with channel * name etc. */ - if(strlen(mask) > IRCD_MIN(BANLEN, MODEBUFLEN - 5)) + if(strlen(mask) > MIN(BANLEN, MODEBUFLEN - 5)) { sendto_one_numeric(source_p, ERR_INVALIDBAN, form_str(ERR_INVALIDBAN), diff --git a/ircd/class.c b/ircd/class.c index a882f405f..75db28d0a 100644 --- a/ircd/class.c +++ b/ircd/class.c @@ -27,7 +27,6 @@ #include "class.h" #include "client.h" -#include "common.h" #include "ircd.h" #include "numeric.h" #include "s_conf.h" diff --git a/ircd/client.c b/ircd/client.c index 3ae434f5c..f411848b3 100644 --- a/ircd/client.c +++ b/ircd/client.c @@ -27,7 +27,6 @@ #include "client.h" #include "class.h" -#include "common.h" #include "hash.h" #include "match.h" #include "ircd.h" diff --git a/ircd/extban.c b/ircd/extban.c index 037dfdb52..69603f140 100644 --- a/ircd/extban.c +++ b/ircd/extban.c @@ -23,7 +23,6 @@ #include "stdinc.h" #include "channel.h" #include "client.h" -#include "common.h" ExtbanFunc extban_table[256] = { NULL }; diff --git a/ircd/hash.c b/ircd/hash.c index f444a25c9..c1ef81cbc 100644 --- a/ircd/hash.c +++ b/ircd/hash.c @@ -27,7 +27,6 @@ #include "s_conf.h" #include "channel.h" #include "client.h" -#include "common.h" #include "hash.h" #include "match.h" #include "ircd.h" diff --git a/ircd/ircd.c b/ircd/ircd.c index 1bd94f2ea..b3f1b5d0b 100644 --- a/ircd/ircd.c +++ b/ircd/ircd.c @@ -31,7 +31,6 @@ #include "channel.h" #include "class.h" #include "client.h" -#include "common.h" #include "hash.h" #include "match.h" #include "ircd_signal.h" diff --git a/ircd/newconf.c b/ircd/newconf.c index 827f6ed90..7a726db3a 100644 --- a/ircd/newconf.c +++ b/ircd/newconf.c @@ -10,7 +10,6 @@ #include "newconf.h" #include "ircd_defs.h" -#include "common.h" #include "logger.h" #include "s_conf.h" #include "s_user.h" diff --git a/ircd/packet.c b/ircd/packet.c index 2e838453c..ef8de04d6 100644 --- a/ircd/packet.c +++ b/ircd/packet.c @@ -25,7 +25,6 @@ #include "s_conf.h" #include "s_serv.h" #include "client.h" -#include "common.h" #include "ircd.h" #include "parse.h" #include "packet.h" diff --git a/ircd/parse.c b/ircd/parse.c index 76a3585de..74c5fddb2 100644 --- a/ircd/parse.c +++ b/ircd/parse.c @@ -27,7 +27,6 @@ #include "parse.h" #include "client.h" #include "channel.h" -#include "common.h" #include "hash.h" #include "match.h" #include "ircd.h" diff --git a/ircd/s_auth.c b/ircd/s_auth.c index d9cdadfa5..c30b9e140 100644 --- a/ircd/s_auth.c +++ b/ircd/s_auth.c @@ -38,7 +38,6 @@ #include "s_auth.h" #include "s_conf.h" #include "client.h" -#include "common.h" #include "match.h" #include "ircd.h" #include "numeric.h" diff --git a/ircd/s_conf.c b/ircd/s_conf.c index ef5966c04..87520538a 100644 --- a/ircd/s_conf.c +++ b/ircd/s_conf.c @@ -32,7 +32,6 @@ #include "channel.h" #include "class.h" #include "client.h" -#include "common.h" #include "hash.h" #include "match.h" #include "ircd.h" diff --git a/ircd/s_newconf.c b/ircd/s_newconf.c index 4b79f291b..3815f839f 100644 --- a/ircd/s_newconf.c +++ b/ircd/s_newconf.c @@ -32,7 +32,6 @@ #include "stdinc.h" #include "ircd_defs.h" -#include "common.h" #include "s_conf.h" #include "s_newconf.h" #include "client.h" diff --git a/ircd/s_serv.c b/ircd/s_serv.c index 9f4d37356..619ab51f1 100644 --- a/ircd/s_serv.c +++ b/ircd/s_serv.c @@ -31,7 +31,6 @@ #include "s_serv.h" #include "class.h" #include "client.h" -#include "common.h" #include "hash.h" #include "match.h" #include "ircd.h" diff --git a/ircd/s_user.c b/ircd/s_user.c index 1f6a4cb40..86a8c7cd5 100644 --- a/ircd/s_user.c +++ b/ircd/s_user.c @@ -27,7 +27,6 @@ #include "channel.h" #include "class.h" #include "client.h" -#include "common.h" #include "hash.h" #include "match.h" #include "ircd.h" diff --git a/ircd/scache.c b/ircd/scache.c index f418e36f8..93f5acdc7 100644 --- a/ircd/scache.c +++ b/ircd/scache.c @@ -24,7 +24,6 @@ #include "stdinc.h" #include "client.h" -#include "common.h" #include "match.h" #include "ircd.h" #include "numeric.h" diff --git a/ircd/send.c b/ircd/send.c index 44cb04984..a8782112f 100644 --- a/ircd/send.c +++ b/ircd/send.c @@ -27,7 +27,6 @@ #include "channel.h" #include "class.h" #include "client.h" -#include "common.h" #include "match.h" #include "ircd.h" #include "numeric.h" diff --git a/ircd/supported.c b/ircd/supported.c index 94ebf3a29..c28ed9d03 100644 --- a/ircd/supported.c +++ b/ircd/supported.c @@ -72,7 +72,6 @@ #include "stdinc.h" #include "client.h" -#include "common.h" #include "numeric.h" #include "ircd.h" #include "s_conf.h" diff --git a/modules/core/m_ban.c b/modules/core/m_ban.c index a9ffbce29..94c18f2dc 100644 --- a/modules/core/m_ban.c +++ b/modules/core/m_ban.c @@ -31,7 +31,6 @@ #include "send.h" #include "channel.h" #include "client.h" -#include "common.h" #include "defaults.h" #include "ircd.h" #include "match.h" diff --git a/modules/core/m_error.c b/modules/core/m_error.c index 078dcbc48..d8a931482 100644 --- a/modules/core/m_error.c +++ b/modules/core/m_error.c @@ -24,7 +24,6 @@ #include "stdinc.h" #include "client.h" -#include "common.h" #include "ircd.h" #include "numeric.h" #include "send.h" diff --git a/modules/core/m_join.c b/modules/core/m_join.c index d17850152..4018ff82b 100644 --- a/modules/core/m_join.c +++ b/modules/core/m_join.c @@ -25,7 +25,6 @@ #include "stdinc.h" #include "channel.h" #include "client.h" -#include "common.h" #include "hash.h" #include "match.h" #include "ircd.h" diff --git a/modules/core/m_message.c b/modules/core/m_message.c index d1b2da6e7..afc8e04fe 100644 --- a/modules/core/m_message.c +++ b/modules/core/m_message.c @@ -26,7 +26,6 @@ #include "client.h" #include "ircd.h" #include "numeric.h" -#include "common.h" #include "s_conf.h" #include "s_serv.h" #include "msg.h" diff --git a/modules/core/m_nick.c b/modules/core/m_nick.c index cd9dc9c0f..7930ddea9 100644 --- a/modules/core/m_nick.c +++ b/modules/core/m_nick.c @@ -40,7 +40,6 @@ #include "msg.h" #include "parse.h" #include "modules.h" -#include "common.h" #include "packet.h" #include "scache.h" #include "s_newconf.h" diff --git a/modules/core/m_part.c b/modules/core/m_part.c index 15357c00c..094f39f10 100644 --- a/modules/core/m_part.c +++ b/modules/core/m_part.c @@ -25,7 +25,6 @@ #include "stdinc.h" #include "channel.h" #include "client.h" -#include "common.h" #include "hash.h" #include "match.h" #include "ircd.h" diff --git a/modules/core/m_server.c b/modules/core/m_server.c index 992ede46e..3f16888aa 100644 --- a/modules/core/m_server.c +++ b/modules/core/m_server.c @@ -24,7 +24,6 @@ #include "stdinc.h" #include "client.h" /* client struct */ -#include "common.h" #include "hash.h" /* add_to_client_hash */ #include "match.h" #include "ircd.h" /* me */ diff --git a/modules/core/m_squit.c b/modules/core/m_squit.c index fb2ce5cce..ad2dc9652 100644 --- a/modules/core/m_squit.c +++ b/modules/core/m_squit.c @@ -24,7 +24,6 @@ #include "stdinc.h" #include "client.h" -#include "common.h" #include "match.h" #include "ircd.h" #include "numeric.h" diff --git a/modules/m_certfp.c b/modules/m_certfp.c index d5c1c558c..f6dc003af 100644 --- a/modules/m_certfp.c +++ b/modules/m_certfp.c @@ -29,7 +29,6 @@ #include "stdinc.h" #include "client.h" -#include "common.h" #include "match.h" #include "hash.h" #include "ircd.h" diff --git a/modules/m_chghost.c b/modules/m_chghost.c index 4a964620f..b6711f763 100644 --- a/modules/m_chghost.c +++ b/modules/m_chghost.c @@ -13,7 +13,6 @@ #include "send.h" #include "channel.h" #include "client.h" -#include "common.h" #include "defaults.h" #include "ircd.h" #include "numeric.h" diff --git a/modules/m_dline.c b/modules/m_dline.c index 9c3a39882..9a056d05a 100644 --- a/modules/m_dline.c +++ b/modules/m_dline.c @@ -26,7 +26,6 @@ #include "channel.h" #include "class.h" #include "client.h" -#include "common.h" #include "match.h" #include "ircd.h" #include "hostmask.h" diff --git a/modules/m_encap.c b/modules/m_encap.c index afa4b239d..f87ed6558 100644 --- a/modules/m_encap.c +++ b/modules/m_encap.c @@ -31,7 +31,6 @@ #include "send.h" #include "channel.h" #include "client.h" -#include "common.h" #include "defaults.h" #include "ircd.h" #include "numeric.h" diff --git a/modules/m_etrace.c b/modules/m_etrace.c index 7e5e3c049..064206ae5 100644 --- a/modules/m_etrace.c +++ b/modules/m_etrace.c @@ -35,7 +35,6 @@ #include "hook.h" #include "client.h" #include "hash.h" -#include "common.h" #include "hash.h" #include "match.h" #include "ircd.h" diff --git a/modules/m_info.c b/modules/m_info.c index 60461e16c..81d69a969 100644 --- a/modules/m_info.c +++ b/modules/m_info.c @@ -26,7 +26,6 @@ #include "m_info.h" #include "channel.h" #include "client.h" -#include "common.h" #include "match.h" #include "ircd.h" #include "hook.h" diff --git a/modules/m_invite.c b/modules/m_invite.c index 3572c0e41..bd9aeefb6 100644 --- a/modules/m_invite.c +++ b/modules/m_invite.c @@ -23,7 +23,6 @@ */ #include "stdinc.h" -#include "common.h" #include "channel.h" #include "client.h" #include "hash.h" diff --git a/modules/m_kline.c b/modules/m_kline.c index c1861ec3a..7c55fc55d 100644 --- a/modules/m_kline.c +++ b/modules/m_kline.c @@ -26,7 +26,6 @@ #include "channel.h" #include "class.h" #include "client.h" -#include "common.h" #include "match.h" #include "ircd.h" #include "hostmask.h" diff --git a/modules/m_names.c b/modules/m_names.c index c7e142eb9..026dfd2d2 100644 --- a/modules/m_names.c +++ b/modules/m_names.c @@ -25,7 +25,6 @@ #include "stdinc.h" #include "channel.h" #include "client.h" -#include "common.h" #include "hash.h" #include "match.h" #include "ircd.h" diff --git a/modules/m_oper.c b/modules/m_oper.c index a6d5eca94..926af3fdc 100644 --- a/modules/m_oper.c +++ b/modules/m_oper.c @@ -24,7 +24,6 @@ #include "stdinc.h" #include "client.h" -#include "common.h" #include "match.h" #include "ircd.h" #include "numeric.h" diff --git a/modules/m_operspy.c b/modules/m_operspy.c index 241019509..32a1a96d9 100644 --- a/modules/m_operspy.c +++ b/modules/m_operspy.c @@ -31,7 +31,6 @@ #include "send.h" #include "channel.h" #include "client.h" -#include "common.h" #include "defaults.h" #include "ircd.h" #include "numeric.h" diff --git a/modules/m_privs.c b/modules/m_privs.c index 402a4e019..d8a32ebbe 100644 --- a/modules/m_privs.c +++ b/modules/m_privs.c @@ -31,7 +31,6 @@ #include "stdinc.h" #include "client.h" -#include "common.h" #include "numeric.h" #include "send.h" #include "msg.h" diff --git a/modules/m_rehash.c b/modules/m_rehash.c index 4fc411614..bd6670aaa 100644 --- a/modules/m_rehash.c +++ b/modules/m_rehash.c @@ -25,7 +25,6 @@ #include "stdinc.h" #include "client.h" #include "channel.h" -#include "common.h" #include "match.h" #include "ircd.h" #include "s_serv.h" diff --git a/modules/m_restart.c b/modules/m_restart.c index cad6bd72d..3910e299b 100644 --- a/modules/m_restart.c +++ b/modules/m_restart.c @@ -24,7 +24,6 @@ #include "stdinc.h" #include "client.h" -#include "common.h" #include "match.h" #include "ircd.h" #include "numeric.h" diff --git a/modules/m_scan.c b/modules/m_scan.c index b144a06de..550717163 100644 --- a/modules/m_scan.c +++ b/modules/m_scan.c @@ -34,7 +34,6 @@ #include "hook.h" #include "client.h" #include "hash.h" -#include "common.h" #include "hash.h" #include "match.h" #include "ircd.h" diff --git a/modules/m_services.c b/modules/m_services.c index 515ac735f..b8a1f363f 100644 --- a/modules/m_services.c +++ b/modules/m_services.c @@ -32,7 +32,6 @@ #include "send.h" #include "channel.h" #include "client.h" -#include "common.h" #include "defaults.h" #include "ircd.h" #include "numeric.h" diff --git a/modules/m_set.c b/modules/m_set.c index 3ee08aecb..e28b7002e 100644 --- a/modules/m_set.c +++ b/modules/m_set.c @@ -31,7 +31,6 @@ #include "numeric.h" #include "s_serv.h" #include "send.h" -#include "common.h" #include "channel.h" #include "s_conf.h" #include "s_newconf.h" diff --git a/modules/m_signon.c b/modules/m_signon.c index ad866d968..9175c3579 100644 --- a/modules/m_signon.c +++ b/modules/m_signon.c @@ -32,7 +32,6 @@ #include "send.h" #include "channel.h" #include "client.h" -#include "common.h" #include "defaults.h" #include "ircd.h" #include "numeric.h" diff --git a/modules/m_snote.c b/modules/m_snote.c index af23287db..b79afbd94 100644 --- a/modules/m_snote.c +++ b/modules/m_snote.c @@ -34,7 +34,6 @@ #include "hook.h" #include "client.h" #include "hash.h" -#include "common.h" #include "hash.h" #include "match.h" #include "ircd.h" diff --git a/modules/m_starttls.c b/modules/m_starttls.c index 67f31d154..dbbc71391 100644 --- a/modules/m_starttls.c +++ b/modules/m_starttls.c @@ -20,7 +20,6 @@ #include "stdinc.h" #include "client.h" -#include "common.h" #include "match.h" #include "hash.h" #include "ircd.h" diff --git a/modules/m_stats.c b/modules/m_stats.c index 4cf728909..40082039a 100644 --- a/modules/m_stats.c +++ b/modules/m_stats.c @@ -25,7 +25,6 @@ #include "stdinc.h" #include "class.h" /* report_classes */ #include "client.h" /* Client */ -#include "common.h" #include "match.h" #include "ircd.h" /* me */ #include "listener.h" /* show_ports */ diff --git a/modules/m_svinfo.c b/modules/m_svinfo.c index 9faadc42d..c6042fe11 100644 --- a/modules/m_svinfo.c +++ b/modules/m_svinfo.c @@ -23,7 +23,6 @@ */ #include "stdinc.h" #include "client.h" -#include "common.h" #include "match.h" #include "ircd.h" #include "numeric.h" diff --git a/modules/m_tb.c b/modules/m_tb.c index 2ca66a505..4dce456ce 100644 --- a/modules/m_tb.c +++ b/modules/m_tb.c @@ -32,7 +32,6 @@ #include "send.h" #include "channel.h" #include "client.h" -#include "common.h" #include "defaults.h" #include "ircd.h" #include "match.h" diff --git a/modules/m_testmask.c b/modules/m_testmask.c index 4537d648e..46b431f87 100644 --- a/modules/m_testmask.c +++ b/modules/m_testmask.c @@ -34,7 +34,6 @@ /* List of ircd includes from ../include/ */ #include "stdinc.h" #include "client.h" -#include "common.h" #include "ircd.h" #include "match.h" #include "numeric.h" diff --git a/modules/m_tginfo.c b/modules/m_tginfo.c index dd9050a17..c30d65013 100644 --- a/modules/m_tginfo.c +++ b/modules/m_tginfo.c @@ -29,7 +29,6 @@ #include "stdinc.h" #include "client.h" -#include "common.h" #include "match.h" #include "hash.h" #include "ircd.h" diff --git a/modules/m_trace.c b/modules/m_trace.c index fb0fdb920..38550667a 100644 --- a/modules/m_trace.c +++ b/modules/m_trace.c @@ -27,7 +27,6 @@ #include "hook.h" #include "client.h" #include "hash.h" -#include "common.h" #include "hash.h" #include "match.h" #include "ircd.h" diff --git a/modules/m_who.c b/modules/m_who.c index f0260830e..aa674582b 100644 --- a/modules/m_who.c +++ b/modules/m_who.c @@ -22,7 +22,6 @@ * USA */ #include "stdinc.h" -#include "common.h" #include "client.h" #include "channel.h" #include "hash.h" diff --git a/modules/m_whois.c b/modules/m_whois.c index 3caf1330d..5f7b42d13 100644 --- a/modules/m_whois.c +++ b/modules/m_whois.c @@ -23,7 +23,6 @@ */ #include "stdinc.h" -#include "common.h" #include "client.h" #include "hash.h" #include "channel.h" diff --git a/modules/m_whowas.c b/modules/m_whowas.c index 7f6e0926b..a5038cce8 100644 --- a/modules/m_whowas.c +++ b/modules/m_whowas.c @@ -25,7 +25,6 @@ #include "stdinc.h" #include "whowas.h" #include "client.h" -#include "common.h" #include "hash.h" #include "match.h" #include "ircd.h" diff --git a/modules/m_xline.c b/modules/m_xline.c index 52ef33218..8f557b496 100644 --- a/modules/m_xline.c +++ b/modules/m_xline.c @@ -32,7 +32,6 @@ #include "send.h" #include "channel.h" #include "client.h" -#include "common.h" #include "defaults.h" #include "class.h" #include "ircd.h" From cb5a8bf847ee265a0064d2cf0c1215abb8e1c14e Mon Sep 17 00:00:00 2001 From: Elizabeth Myers Date: Wed, 23 Mar 2016 10:06:52 -0500 Subject: [PATCH 06/14] Remove common.h from here too. --- authd/authd.h | 2 +- authd/reslib.c | 1 - bandb/bandb.c | 2 +- bandb/bantool.c | 1 - 4 files changed, 2 insertions(+), 4 deletions(-) diff --git a/authd/authd.h b/authd/authd.h index 771f797af..b44a85d96 100644 --- a/authd/authd.h +++ b/authd/authd.h @@ -25,7 +25,7 @@ #include #include "setup.h" -#include "common.h" +#include "ircd_defs.h" extern rb_helper *authd_helper; diff --git a/authd/reslib.c b/authd/reslib.c index ecfe0e84d..b3b437262 100644 --- a/authd/reslib.c +++ b/authd/reslib.c @@ -97,7 +97,6 @@ typedef struct rb_addrinfo rb_addrinfo; #include "stdinc.h" #include "ircd_defs.h" -#include "common.h" #include "ircd.h" #include "res.h" #include "reslib.h" diff --git a/bandb/bandb.c b/bandb/bandb.c index 7f7688d9e..71a425d77 100644 --- a/bandb/bandb.c +++ b/bandb/bandb.c @@ -31,7 +31,7 @@ #include #include #include "rsdb.h" -#include "common.h" +#include "ircd_defs.h" #define MAXPARA 10 diff --git a/bandb/bantool.c b/bandb/bantool.c index a3af93cc8..e89fa5b9e 100644 --- a/bandb/bantool.c +++ b/bandb/bantool.c @@ -40,7 +40,6 @@ #include #include "stdinc.h" -#include "common.h" #include "rsdb.h" #define EmptyString(x) ((x == NULL) || (*(x) == '\0')) From 28c94d65984042b6ae4b2e5c1d0bff3c83cf129a Mon Sep 17 00:00:00 2001 From: Elizabeth Myers Date: Wed, 23 Mar 2016 10:09:53 -0500 Subject: [PATCH 07/14] Remove common.h from lexer and parser --- ircd/ircd_lexer.l | 1 - ircd/ircd_parser.y | 1 - 2 files changed, 2 deletions(-) diff --git a/ircd/ircd_lexer.l b/ircd/ircd_lexer.l index e993c88a3..4ccee128d 100644 --- a/ircd/ircd_lexer.l +++ b/ircd/ircd_lexer.l @@ -33,7 +33,6 @@ #include "stdinc.h" #include "ircd_defs.h" -#include "common.h" #include "defaults.h" #include "logger.h" #include "s_conf.h" diff --git a/ircd/ircd_parser.y b/ircd/ircd_parser.y index bc5e3fccf..900f5ea5e 100644 --- a/ircd/ircd_parser.y +++ b/ircd/ircd_parser.y @@ -13,7 +13,6 @@ #define WE_ARE_MEMORY_C #include "stdinc.h" #include "setup.h" -#include "common.h" #include "ircd_defs.h" #include "defaults.h" #include "client.h" From 3a1f645bedc102ad082477cf16a1ea5aa751e194 Mon Sep 17 00:00:00 2001 From: Elizabeth Myers Date: Wed, 23 Mar 2016 12:04:02 -0500 Subject: [PATCH 08/14] misc solaris fixes --- librb/src/openssl.c | 7 ++++--- librb/src/ports.c | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/librb/src/openssl.c b/librb/src/openssl.c index 9898bf80d..eea76c6f9 100644 --- a/librb/src/openssl.c +++ b/librb/src/openssl.c @@ -359,9 +359,10 @@ rb_init_ssl(void) SSL_CTX_set_session_cache_mode(ssl_server_ctx, SSL_SESS_CACHE_OFF); SSL_CTX_set_cipher_list(ssl_server_ctx, librb_ciphers); - /* Set ECDHE on OpenSSL 1.00+, but make sure it's actually available because redhat are dicks - and bastardise their OpenSSL for stupid reasons... */ - #if (OPENSSL_VERSION_NUMBER >= 0x10000000L) && defined(NID_secp384r1) + /* Set ECDHE on OpenSSL 1.00+, but make sure it's actually available + * (it's not by default on Solaris or Red Hat... fuck Red Hat and Oracle) + */ + #if (OPENSSL_VERSION_NUMBER >= 0x10000000L) && !defined(OPENSSL_NO_ECDH) EC_KEY *key = EC_KEY_new_by_curve_name(NID_secp384r1); if (key) { SSL_CTX_set_tmp_ecdh(ssl_server_ctx, key); diff --git a/librb/src/ports.c b/librb/src/ports.c index af0257189..bc2d85b64 100644 --- a/librb/src/ports.c +++ b/librb/src/ports.c @@ -123,7 +123,7 @@ rb_setselect_ports(rb_fde_t *F, unsigned int type, PF * handler, void *client_da int rb_select_ports(long delay) { - int i, fd; + int i; unsigned int nget = 1; struct timespec poll_time; struct timespec *p = NULL; From 3d1df26cdd84fb8b874116a65bf85ab5a6c6895d Mon Sep 17 00:00:00 2001 From: Elizabeth Myers Date: Wed, 23 Mar 2016 12:06:26 -0500 Subject: [PATCH 09/14] librb/ports: ungimp thing. --- librb/src/ports.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/librb/src/ports.c b/librb/src/ports.c index bc2d85b64..2963aef0b 100644 --- a/librb/src/ports.c +++ b/librb/src/ports.c @@ -123,7 +123,7 @@ rb_setselect_ports(rb_fde_t *F, unsigned int type, PF * handler, void *client_da int rb_select_ports(long delay) { - int i; + int i, fd = -1; unsigned int nget = 1; struct timespec poll_time; struct timespec *p = NULL; From d57e2b624fce7d3f864c0bea3156b59588f80515 Mon Sep 17 00:00:00 2001 From: Elizabeth Myers Date: Wed, 23 Mar 2016 12:31:51 -0500 Subject: [PATCH 10/14] Update README --- README.md | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index d138e832e..8e0638833 100644 --- a/README.md +++ b/README.md @@ -50,9 +50,8 @@ You will need to run `autogen.sh` to build the autotools files prior to building problems with ipv4 due to the way the socket code is written. To fix this you must: "sysctl net.inet6.ip6.v6only=0" - * SOLARIS USERS: this code appears to tickle a bug in older gcc and - egcs ONLY on 64-bit Solaris7. gcc-2.95 and SunPro C on 64bit should - work fine, and any gcc or SunPro compiled on 32bit. + * SOLARIS USERS: you may have to set your PATH to include /usr/gnu/bin before /usr/bin. Solaris versions + older than 10 are not supported. * SUPPORTED PLATFORMS: this code should compile without any warnings on: @@ -63,9 +62,8 @@ You will need to run `autogen.sh` to build the autotools files prior to building * OpenSuSE 11/12 * OpenSolaris 2008.x? * Solaris 10 sparc. + * Solaris 11 x86 Please let us know if you find otherwise. It may work on other platforms, but this is not guaranteed. * Please read NEWS for information about what is in this release. - - * Other files recommended for reading: BUGS, INSTALL From fea4e2d2a848ddba8c932cf84c382443081c6611 Mon Sep 17 00:00:00 2001 From: Elizabeth Myers Date: Wed, 23 Mar 2016 13:59:10 -0500 Subject: [PATCH 11/14] modules: libircd depends on librb, so no need to include it. This triggers multiple inclusion warnings on Solaris also. --- extensions/Makefile.am | 2 +- modules/Makefile.am | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/extensions/Makefile.am b/extensions/Makefile.am index f3a5ecbb5..443c65570 100644 --- a/extensions/Makefile.am +++ b/extensions/Makefile.am @@ -1,7 +1,7 @@ AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_srcdir)/librb/include $(LTDLINCL) AM_LDFLAGS = -module -export-dynamic -avoid-version -no-undefined -shared AM_LDFLAGS += -export-symbols-regex _mheader -LIBS += $(top_srcdir)/librb/src/librb.la $(top_srcdir)/ircd/libircd.la +LIBS += $(top_srcdir)/ircd/libircd.la extensiondir=@moduledir@/extensions diff --git a/modules/Makefile.am b/modules/Makefile.am index 7193e02bc..8c2fb9df0 100644 --- a/modules/Makefile.am +++ b/modules/Makefile.am @@ -3,7 +3,7 @@ AUTOMAKE_OPTIONS = subdir-objects AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_srcdir)/librb/include $(LTDLINCL) AM_LDFLAGS = -module -export-dynamic -avoid-version -no-undefined -shared AM_LDFLAGS += -export-symbols-regex _mheader -LIBS += $(top_srcdir)/librb/src/librb.la $(top_srcdir)/ircd/libircd.la +LIBS += $(top_srcdir)/ircd/libircd.la auto_load_moddir=@moduledir@/autoload From fcf13f6d32f7404ba4066bf460200074bfd42ea3 Mon Sep 17 00:00:00 2001 From: Elizabeth Myers Date: Wed, 23 Mar 2016 15:10:44 -0500 Subject: [PATCH 12/14] README: clearly outline levels of platform support --- README.md | 86 ++++++++++++++++++++++++++++++++++++++----------------- 1 file changed, 60 insertions(+), 26 deletions(-) diff --git a/README.md b/README.md index 8e0638833..7d9c96454 100644 --- a/README.md +++ b/README.md @@ -10,8 +10,62 @@ It is meant to be used with an IRCv3-capable services implementation such as [At # necessary requirements * A supported platform - * A working dynamic load library. - * A working lex. Solaris /usr/ccs/bin/lex appears to be broken, on this system flex should be used. + * A working dynamic library system + * A working lex and yacc - flex and bison should work + +# platforms + +Charybdis is designed with portability in mind, but does not target older systems nor those of solely academic +interest. + +Do note that operating systems are only supported if they are supported by their vendor. + +## Tier 1 + +These platforms are the best supported, and should always work. They are actively tested. If you encounter +problems, please file a bug. + +* FreeBSD 10.x and above (i386 and amd64) +* Linux 2.6.x and above with glibc or musl (i386, x86_64, and ARM) +* Mac OS X 10.7 and above +* Windows Vista/Server 2008 and above (x86 or x64) + +## Tier 2 + +These platforms are supported, and most features should work, but this is not guaranteed. If you find any +problems, file a bug, but as these are not regularly tested platforms, a timely resolution may not be +possible. + +* DragonflyBSD 4.4 and above (i386) +* Linux with uClibc (i386 or x86_64) +* NetBSD 6.1.x and above (i386, amd64) +* OpenBSD 5.6 and above (i386, amd64) +* Solaris 10 and above (i386) + +## Tier 3 + +These platforms should only be considered weakly supported, as they are either experimental or not actively +tested. These platforms have usually been tested in the past, but they may or may not be in a useful state. +Bugs for tier 3 architectures should have patches attached. + +* Solaris 10 and above (sparc64) +* Old operating system versions of tier 2 and above platforms + +## Tier 4 + +Platforms that are tier 4 are not supported at all. They include all platforms not included in tier 3 or +above. Bugs to tier 4 platforms **must** have patches attached or will be rejected, possibly without comment. + +# platform specific errata + +These are known issues and workarounds for supported platforms. + + * **FreeBSD**: if you are compiling with ipv6 you may experience + problems with ipv4 due to the way the socket code is written. To + fix this you must: "sysctl net.inet6.ip6.v6only=0" + + * **Solaris**: you may have to set your PATH to include /usr/gnu/bin and /usr/gnu/sbin before /usr/bin + and /usr/sbin. Solaris's default tools don't seem to play nicely with the configure script. # building from git @@ -31,9 +85,8 @@ You will need to run `autogen.sh` to build the autotools files prior to building (Using CHALLENGE is not recommended for new deployments, so if you want to use a different TLS library, feel free.) - * For ECDHE, OpenSSL 1.0.0 or newer is required. RHEL/Fedora and derivatives like CentOS - will need to compile OpenSSL from source, as ECC/ECDHE-functionality is removed from - the OpenSSL package in these distributions. + * For ECDHE, OpenSSL 1.0.0 or newer is required. Solaris; and RHEL/Fedora and its derivatives such as CentOS + have removed support for ECC/ECDHE. You will need to compile your own OpenSSL on these systems. # tips @@ -41,29 +94,10 @@ You will need to run `autogen.sh` to build the autotools files prior to building * Please read doc/index.txt to get an overview of the current documentation. + * Read the NEWS file for what's new in this release. + * The files, /etc/services, /etc/protocols, and /etc/resolv.conf, SHOULD be readable by the user running the server in order for ircd to start with the correct settings. If these files are wrong, charybdis will try to use 127.0.0.1 for a resolver as a last-ditch effort. - * FREEBSD USERS: if you are compiling with ipv6 you may experience - problems with ipv4 due to the way the socket code is written. To - fix this you must: "sysctl net.inet6.ip6.v6only=0" - - * SOLARIS USERS: you may have to set your PATH to include /usr/gnu/bin before /usr/bin. Solaris versions - older than 10 are not supported. - - * SUPPORTED PLATFORMS: this code should compile without any warnings on: - - * FreeBSD 10 - * Gentoo & Gentoo Hardened ~x86/~amd64/~fbsd - * RHEL 6 / 7 - * Debian Jessie - * OpenSuSE 11/12 - * OpenSolaris 2008.x? - * Solaris 10 sparc. - * Solaris 11 x86 - - Please let us know if you find otherwise. It may work on other platforms, but this is not guaranteed. - - * Please read NEWS for information about what is in this release. From b347989499968417c98030e4633f9d3efa774069 Mon Sep 17 00:00:00 2001 From: Elizabeth Myers Date: Wed, 23 Mar 2016 15:35:13 -0500 Subject: [PATCH 13/14] Add unlisted architectures to tier 3 [ci skip] --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7d9c96454..1b802e929 100644 --- a/README.md +++ b/README.md @@ -48,8 +48,8 @@ These platforms should only be considered weakly supported, as they are either e tested. These platforms have usually been tested in the past, but they may or may not be in a useful state. Bugs for tier 3 architectures should have patches attached. -* Solaris 10 and above (sparc64) * Old operating system versions of tier 2 and above platforms +* Other architectures of the above operating systems ## Tier 4 From 6156682605f44fa46e7487b6c19fa4d56830a013 Mon Sep 17 00:00:00 2001 From: Elizabeth Myers Date: Wed, 23 Mar 2016 15:51:25 -0500 Subject: [PATCH 14/14] Remove tier 4 (tier 3 is basically "everything but") --- README.md | 18 ++++-------------- 1 file changed, 4 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index 1b802e929..38463a031 100644 --- a/README.md +++ b/README.md @@ -32,9 +32,9 @@ problems, please file a bug. ## Tier 2 -These platforms are supported, and most features should work, but this is not guaranteed. If you find any -problems, file a bug, but as these are not regularly tested platforms, a timely resolution may not be -possible. +These platforms are supported and occasionally tested, and most features should work, but this is not +guaranteed. If you find any problems, file a bug, but as these are not regularly tested platforms, a timely +resolution may not be possible. * DragonflyBSD 4.4 and above (i386) * Linux with uClibc (i386 or x86_64) @@ -44,17 +44,7 @@ possible. ## Tier 3 -These platforms should only be considered weakly supported, as they are either experimental or not actively -tested. These platforms have usually been tested in the past, but they may or may not be in a useful state. -Bugs for tier 3 architectures should have patches attached. - -* Old operating system versions of tier 2 and above platforms -* Other architectures of the above operating systems - -## Tier 4 - -Platforms that are tier 4 are not supported at all. They include all platforms not included in tier 3 or -above. Bugs to tier 4 platforms **must** have patches attached or will be rejected, possibly without comment. +Anything else that hasn't been tested. Charybdis may or may not work on it; patches welcome if they don't. # platform specific errata