+2004-09-10 Michael Poole <mdpoole@troilus.org>
+
+ * ircd/channel.c (send_channel_modes): Only send oplevels for
+ channels that actually use them -- for -A channels, send chanops
+ as :o even if OPLEVELS is enabled.
+
+ * ircd/ircd.c: Fix -k (chkconf mode) and show in usage help.
+
+ * ircd/numnicks.c (base64toip): Fill in the right number of 0
+ words when we see _ in a base64-encoded IPv6 address.
+
2004-09-10 Michael Poole <mdpoole@troilus.org>
* ircd/ircd.c: Add -k as a chkconf-like option to exit after
int opped_members_index = 0;
struct Membership** opped_members = NULL;
int last_oplevel = 0;
- int feat_oplevels = feature_bool(FEAT_OPLEVELS);
+ int feat_oplevels = (chptr->mode.mode & MODE_APASS) != 0;
assert(0 != cptr);
assert(0 != chptr);
enum {
BOOT_DEBUG = 1,
BOOT_TTY = 2,
- BOOT_CHKCONF = 3
+ BOOT_CHKCONF = 4
};
break;
default:
- printf("Usage: ircd [-f config] [-h servername] [-x loglevel] [-ntv]\n");
- printf("\n -n -t\t Don't detach\n -v\t display version\n\n");
+ printf("Usage: ircd [-f config] [-h servername] [-x loglevel] [-ntvk]\n");
+ printf("\n -n -t\t Don't detach\n -v\t display version\n -k\t exit after checking config\n\n");
printf("Server not started.\n");
exit(1);
}
* daemon_init
*--------------------------------------------------------------------------*/
static void daemon_init(int no_fork) {
- if (!init_connection_limits())
- exit(9);
-
- close_connections(!(thisServer.bootopt & (BOOT_DEBUG | BOOT_TTY)));
-
if (no_fork)
return;
!check_file_access(configfile, 'C', R_OK))
return 4;
+ if (!init_connection_limits())
+ return 9;
+
+ close_connections(!(thisServer.bootopt & (BOOT_DEBUG | BOOT_TTY)));
+
event_init(MAXCONNECTIONS);
setup_signals();
do {
if (*input == '_') {
unsigned int left;
- for (left = (strlen(input) - 1) / 3; left; left--)
+ for (left = (25 - strlen(input)) / 3; left; left--)
addr->in6_16[pos++] = 0;
input++;
} else {