git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@1144
c9e4aea6-c8fd-4c43-8297-
357d70d61c8c
+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,
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
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.
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)@+", "@+", \
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 */
"rfc1459", feature_str(FEAT_NETWORK)
#endif /* INCLUDED_supported_h */
#include "msgq.h"
#include "res.h"
#include "s_bsd.h"
#include "msgq.h"
#include "res.h"
#include "s_bsd.h"
#include "s_misc.h"
#include "s_user.h"
#include "send.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_list_head(iauth).iar_next = &i_list_head(iauth);
msgq_init(&i_sendQ(iauth));
ircd_strncpy(i_host(iauth), host, HOSTLEN);
memset(&i_addr(iauth), 0, sizeof(i_addr(iauth)));
memset(&i_addr(iauth), 0, sizeof(i_addr(iauth)));
iauth_active = iauth;
i_reconnect(iauth) = reconnect;
iauth_reconnect(iauth);
iauth_active = iauth;
i_reconnect(iauth) = reconnect;
iauth_reconnect(iauth);
else
i_passwd(iauth)[0] = '\0';
i_timeout(iauth) = timeout;
else
i_passwd(iauth)[0] = '\0';
i_timeout(iauth) = timeout;
void iauth_close_unused(void)
{
struct IAuth *prev, *iauth, *next;
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)) {
for (prev = NULL, iauth = iauth_active; iauth; iauth = next) {
next = i_next(iauth);
if (i_GetClosing(iauth)) {
+ 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;
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. */
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)));
/* If no timed request, set up expiration timer. */
if (!t_active(&i_request_timer(iauth))) {
/* If no timed request, set up expiration timer. */
if (!t_active(&i_request_timer(iauth))) {
tping = 60;
} iauthitems '}' ';'
{
tping = 60;
} iauthitems '}' ';'
{
- if (!name || !host || !port) {
log_write(LS_CONFIG, L_ERROR, 0, "IAuth block needs a server name and port.");
return 0;
}
log_write(LS_CONFIG, L_ERROR, 0, "IAuth block needs a server name and port.");
return 0;
}