+2004-09-16 Michael Poole <mdpoole@troilus.org>
+
+ * INSTALL: Fix name of example.conf and mention its installed
+ location.
+
+ * include/supported.h (FEATURESVALUES2): Fix a reference to
+ channel mode +u that escaped earlier rename attempts.
+
+ * ircd/ircd_auth.c (iauth_connect): Assign port number after
+ zeroing out the destination address.
+ Add some additional debug statements to help follow operations.
+
+ * ircd/ircd_parser.y (iauthblock): Do not require "name" to be set.
+
2004-09-11 Bas Steendijk <steendijk@xs4all.nl>
* include/channel.h, include/supported.h, ircd/channel.c,
Once ircu is compiled, install it by running "make install".
Next, you will have to configure your IRC server by setting up your ircd.conf
-file. Use the included doc/ircd.conf.sample as a starting point.
+file. Use the included doc/example.conf as a starting point; it is installed
+in $HOME/lib/example.conf by default.
Setting up ircd.conf can be a bit tricky, so if this is your first time doing
it, begin with a bare-bones configuration and extend it as you go.
NICKLEN, TOPICLEN, AWAYLEN, TOPICLEN, CHANNELLEN
#define FEATURESVALUES2 (feature_bool(FEAT_LOCAL_CHANNELS) ? "#&" : "#"), "(ov)@+", "@+", \
- (feature_bool(FEAT_OPLEVELS) ? "b,Aku,l,imnpstrD" : "b,k,l,imnpstrD"), \
+ (feature_bool(FEAT_OPLEVELS) ? "b,AkU,l,imnpstrD" : "b,k,l,imnpstrD"), \
"rfc1459", feature_str(FEAT_NETWORK)
#endif /* INCLUDED_supported_h */
#include "msgq.h"
#include "res.h"
#include "s_bsd.h"
+#include "s_debug.h"
#include "s_misc.h"
#include "s_user.h"
#include "send.h"
i_list_head(iauth).iar_next = &i_list_head(iauth);
msgq_init(&i_sendQ(iauth));
ircd_strncpy(i_host(iauth), host, HOSTLEN);
- i_port(iauth) = port;
memset(&i_addr(iauth), 0, sizeof(i_addr(iauth)));
+ i_port(iauth) = port;
iauth_active = iauth;
i_reconnect(iauth) = reconnect;
iauth_reconnect(iauth);
else
i_passwd(iauth)[0] = '\0';
i_timeout(iauth) = timeout;
+ i_SetIClass(iauth);
return iauth;
}
void iauth_close_unused(void)
{
struct IAuth *prev, *iauth, *next;
-
+
for (prev = NULL, iauth = iauth_active; iauth; iauth = next) {
next = i_next(iauth);
if (i_GetClosing(iauth)) {
IOResult result;
int fd;
+ Debug((DEBUG_INFO, "IAuth attempt connection to %s port %p.", i_host(iauth), i_port(iauth)));
if (!irc_in_addr_valid(&i_addr(iauth).addr)
&& !ircd_aton(&i_addr(iauth).addr, i_host(iauth))) {
i_query(iauth).vptr = iauth;
struct Client *client;
/* If iauth is not connected, we must defer the request. */
- if (!i_GetConnected(iauth))
+ if (!i_GetConnected(iauth)) {
+ Debug((DEBUG_SEND, "IAuth deferring request for %s because we are not connected.", cli_name(iar->iar_client)));
return;
+ }
/* If no timed request, set up expiration timer. */
if (!t_active(&i_request_timer(iauth))) {
tping = 60;
} iauthitems '}' ';'
{
- if (!name || !host || !port) {
+ if (!host || !port) {
log_write(LS_CONFIG, L_ERROR, 0, "IAuth block needs a server name and port.");
return 0;
}