topic fixes, userhost fixes, services through +g fixes, can't deop services, and a bunch others...
This commit is contained in:
parent
a6ccab59c9
commit
19b410a8a8
8 changed files with 52 additions and 18 deletions
|
@ -4,6 +4,7 @@ Symbols are:
|
|||
(F) - Fish (fish@dynam.ac)
|
||||
(S) - Shmad (shmad@#neostats.net)
|
||||
(HP) - Hybrid Team Patches to Hybrid Source
|
||||
|
||||
* NeoIRCd Version 0.9.3 - 19th Sept, 2002 - Fish
|
||||
(HP) - Merged in Hybrid rc4 Patches (including Rc3 and Rc3 fixes)
|
||||
(F) - Fixed up Persistant Channels.
|
||||
|
@ -11,6 +12,10 @@ Symbols are:
|
|||
(F) - Fixed up services problem
|
||||
(F) - Fixed up aliases
|
||||
(F) - Fixed up a /who bug after the merge of HybirdRC4
|
||||
(F) - Services can send through +g usermode
|
||||
(F) - Services can set topics or kick
|
||||
(F) - you can not deop/admin/voice/halfop a services client regardless of who you are.
|
||||
(F) - /userhost displays your vhost, not real host..
|
||||
|
||||
* NeoIRCd Version 0.9.2 - 17th Sept, 2002 - Fish
|
||||
(F) - Fixed a problem with servers setting modes
|
||||
|
|
7
TODO
7
TODO
|
@ -1,10 +1,15 @@
|
|||
$Id: TODO,v 1.7 2002/09/13 16:30:02 fishwaldo Exp $
|
||||
$Id: TODO,v 1.8 2002/09/21 06:26:12 fishwaldo Exp $
|
||||
|
||||
NeoStats HostServ should accept /privmsg hostserv login <username> <password> for NeoIRCD vhost support!
|
||||
|
||||
*Services (+S) can bypass +g
|
||||
|
||||
POST 1.0
|
||||
*Umode +b (Bots) to identify bots (iEf2002)
|
||||
*it would be nice if we could pass message handlers the actuall command that triggered the handler
|
||||
*Umode +a (Services Root) and +N (Network Admin)
|
||||
*SSL Client Support (Still not sure how to do this)
|
||||
*Implement servlink so it can either be a seperate process, or linked to the ircd. (for shells with a process limit, its baaaad)
|
||||
*Channel mode +M (un-registered users can't talk)
|
||||
*channel modes in /list
|
||||
*add IsMyAdmin to replace IsAdmin (currently server admins have admin axs to all servers)
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
|
||||
* USA
|
||||
*
|
||||
* $Id: numeric.h,v 1.8 2002/09/19 05:41:10 fishwaldo Exp $
|
||||
* $Id: numeric.h,v 1.9 2002/09/21 06:26:12 fishwaldo Exp $
|
||||
*/
|
||||
|
||||
#ifndef INCLUDED_numeric_h
|
||||
|
@ -377,7 +377,7 @@ extern const char* form_str(int);
|
|||
#define ERR_YOUREBANNEDCREEP 465
|
||||
#define ERR_YOUWILLBEBANNED 466
|
||||
#define ERR_KEYSET 467
|
||||
/* ERR_ONLYSERVERSCANCHANGE 468 Dalnet,unreal */
|
||||
#define ERR_ONLYSERVERSCANCHANGE 468
|
||||
/* ERR_LINKSET 469 unreal */
|
||||
/* ERR_LINKCHANNEL 470 unreal */
|
||||
/* ERR_KICKEDFROMCHAN 470 aircd */
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
|
||||
* USA
|
||||
*
|
||||
* $Id: m_message.c,v 1.7 2002/09/13 16:30:04 fishwaldo Exp $
|
||||
* $Id: m_message.c,v 1.8 2002/09/21 06:26:12 fishwaldo Exp $
|
||||
*/
|
||||
|
||||
#include "stdinc.h"
|
||||
|
@ -122,7 +122,7 @@ _moddeinit(void)
|
|||
mod_del_cmd(¬ice_msgtab);
|
||||
}
|
||||
|
||||
const char *_version = "$Revision: 1.7 $";
|
||||
const char *_version = "$Revision: 1.8 $";
|
||||
#endif
|
||||
|
||||
/*
|
||||
|
@ -591,8 +591,8 @@ msg_client(int p_or_n, char *command,
|
|||
|
||||
if (MyClient(target_p))
|
||||
{
|
||||
/* XXX Controversial? allow opers always to send through a +g */
|
||||
if (!IsServer(source_p) && IsSetCallerId(target_p))
|
||||
/* XXX Controversial? allow opers and services always to send through a +g */
|
||||
if ((!IsServices(source_p) || !IsServer(source_p)) && IsSetCallerId(target_p))
|
||||
{
|
||||
/* Here is the anti-flood bot/spambot code -db */
|
||||
if (accept_message(source_p, target_p) || IsOper(source_p))
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
|
||||
* USA
|
||||
*
|
||||
* $Id: m_topic.c,v 1.4 2002/09/13 06:50:07 fishwaldo Exp $
|
||||
* $Id: m_topic.c,v 1.5 2002/09/21 06:26:12 fishwaldo Exp $
|
||||
*/
|
||||
|
||||
#include "stdinc.h"
|
||||
|
@ -61,7 +61,7 @@ _moddeinit(void)
|
|||
mod_del_cmd(&topic_msgtab);
|
||||
}
|
||||
|
||||
const char *_version = "$Revision: 1.4 $";
|
||||
const char *_version = "$Revision: 1.5 $";
|
||||
#endif
|
||||
/*
|
||||
* m_topic
|
||||
|
@ -113,14 +113,14 @@ static void m_topic(struct Client *client_p,
|
|||
/* setting topic */
|
||||
if (parc > 2)
|
||||
{
|
||||
if (!IsMember(source_p, chptr))
|
||||
if (!IsMember(source_p, chptr) && !IsServices(source_p))
|
||||
{
|
||||
sendto_one(source_p, form_str(ERR_NOTONCHANNEL), me.name, parv[0],
|
||||
parv[1]);
|
||||
return;
|
||||
}
|
||||
if ((chptr->mode.mode & MODE_TOPICLIMIT) == 0 ||
|
||||
is_any_op(chptr,source_p))
|
||||
(is_any_op(chptr,source_p) || IsServices(source_p)))
|
||||
{
|
||||
char topic_info[USERHOST_REPLYLEN];
|
||||
ircsprintf(topic_info, "%s!%s@%s",
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
|
||||
* USA
|
||||
*
|
||||
* $Id: m_userhost.c,v 1.3 2002/09/13 06:50:07 fishwaldo Exp $
|
||||
* $Id: m_userhost.c,v 1.4 2002/09/21 06:26:12 fishwaldo Exp $
|
||||
*/
|
||||
|
||||
#include "stdinc.h"
|
||||
|
@ -57,7 +57,7 @@ _moddeinit(void)
|
|||
mod_del_cmd(&userhost_msgtab);
|
||||
}
|
||||
|
||||
const char *_version = "$Revision: 1.3 $";
|
||||
const char *_version = "$Revision: 1.4 $";
|
||||
#endif
|
||||
/*
|
||||
* m_userhost added by Darren Reed 13/8/91 to aid clients and reduce
|
||||
|
@ -106,7 +106,7 @@ static void m_userhost(struct Client *client_p,
|
|||
IsOper(target_p) ? "*" : "",
|
||||
(target_p->user->away) ? '-' : '+',
|
||||
target_p->username,
|
||||
target_p->localClient->sockhost);
|
||||
target_p->vhost);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -115,7 +115,7 @@ static void m_userhost(struct Client *client_p,
|
|||
IsOper(target_p) ? "*" : "",
|
||||
(target_p->user->away) ? '-' : '+',
|
||||
target_p->username,
|
||||
IsOper(source_p) ? target_p->host: target_p->vhost);
|
||||
target_p->vhost);
|
||||
};
|
||||
|
||||
if((rl + cur_len) < (BUFSIZE-10))
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
|
||||
* USA
|
||||
*
|
||||
* $Id: channel_mode.c,v 1.16 2002/09/19 05:41:11 fishwaldo Exp $
|
||||
* $Id: channel_mode.c,v 1.17 2002/09/21 06:26:13 fishwaldo Exp $
|
||||
*/
|
||||
|
||||
#include "stdinc.h"
|
||||
|
@ -1074,6 +1074,12 @@ chm_admin(struct Client *client_p, struct Client *source_p,
|
|||
*errors |= SM_ERR_NOTONCHANNEL;
|
||||
return;
|
||||
}
|
||||
if (IsServices(targ_p) && (!IsUlined(source_p)))
|
||||
{
|
||||
sendto_one(source_p, ":%s NOTICE %s :Access Denied. Services Client (%s)", me.name, source_p->name, targ_p->name);
|
||||
*errors |= SM_ERR_NOOPS;
|
||||
return;
|
||||
}
|
||||
if (((dir == MODE_ADD) && t_admin) || ((dir == MODE_DEL) && !t_admin))
|
||||
return;
|
||||
|
||||
|
@ -1208,6 +1214,12 @@ chm_op(struct Client *client_p, struct Client *source_p,
|
|||
*errors |= SM_ERR_NOTONCHANNEL;
|
||||
return;
|
||||
}
|
||||
if (IsServices(targ_p) && !IsUlined(source_p))
|
||||
{
|
||||
sendto_one(source_p, ":%s NOTICE %s :Access Denied. Services Client (%s)", me.name, source_p->name, targ_p->name);
|
||||
*errors |= SM_ERR_NOOPS;
|
||||
return;
|
||||
}
|
||||
|
||||
mode_get_status(chptr, targ_p, &t_op, &t_hop, &t_voice, &t_admin, 1);
|
||||
|
||||
|
@ -1356,6 +1368,12 @@ chm_halfop(struct Client *client_p, struct Client *source_p,
|
|||
{
|
||||
return;
|
||||
}
|
||||
if (IsServices(targ_p) && !IsUlined(source_p))
|
||||
{
|
||||
sendto_one(source_p, ":%s NOTICE %s :Access Denied. Services Client (%s)", me.name, source_p->name, targ_p->name);
|
||||
*errors |= SM_ERR_NOOPS;
|
||||
return;
|
||||
}
|
||||
|
||||
mode_get_status(chptr, targ_p, &t_op, &t_hop, &t_voice, &t_admin, 1);
|
||||
|
||||
|
@ -1458,6 +1476,12 @@ chm_voice(struct Client *client_p, struct Client *source_p,
|
|||
*errors |= SM_ERR_NOTONCHANNEL;
|
||||
return;
|
||||
}
|
||||
if (IsServices(targ_p) && !IsUlined(source_p))
|
||||
{
|
||||
sendto_one(source_p, ":%s NOTICE %s :Access Denied. Services Client (%s)", me.name, source_p->name, targ_p->name);
|
||||
*errors |= SM_ERR_NOOPS;
|
||||
return;
|
||||
}
|
||||
|
||||
mode_get_status(chptr, targ_p, &t_op, &t_hop, &t_voice, &t_admin, 1);
|
||||
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*
|
||||
* $Id: messages.tab,v 1.6 2002/09/19 05:41:11 fishwaldo Exp $
|
||||
* $Id: messages.tab,v 1.7 2002/09/21 06:26:13 fishwaldo Exp $
|
||||
*/
|
||||
|
||||
static char * replies[] = {
|
||||
|
@ -493,7 +493,7 @@ static char * replies[] = {
|
|||
/* 465 ERR_YOUREBANNEDCREEP, */ ":%s 465 %s :You are banned from this server- %s",
|
||||
/* 466 ERR_YOUWILLBEBANNED, */ NULL,
|
||||
/* 467 ERR_KEYSET, */ ":%s 467 %s %s :Channel key already set",
|
||||
/* 468 */ NULL,
|
||||
/* 468 ERR_ONLYSERVERSCANCHANGE*/NULL,
|
||||
/* 469 */ NULL,
|
||||
/* 470 */ NULL,
|
||||
/* 471 ERR_CHANNELISFULL, */ ":%s 471 %s %s :Cannot join channel (+l)",
|
||||
|
|
Reference in a new issue