to->localClient->sendM += 1;
me.localClient->sendM += 1;
if(linebuf_len(&to->localClient->buf_sendq) > 0)
- send_queued_write(to->localClient->fd, to);
+ send_queued_write(to->localClient->F->fd, to);
return 0;
}
if(to->from)
to = to->from;
- /* test for fake direction */
- if(!MyClient(from) && IsPerson(to) && (to == from->from))
- {
- if(IsServer(from))
- {
- sendto_realops_snomask(SNO_GENERAL, L_ALL,
- "Send message to %s[%s] dropped from %s(Fake Dir)",
- to->name, to->from->name, from->name);
- return;
- }
-
- sendto_realops_snomask(SNO_GENERAL, L_ALL,
- "Ghosted: %s[%s@%s] from %s[%s@%s] (%s)",
- to->name, to->username, to->host,
- from->name, from->username, from->host, to->from->name);
- kill_client_serv_butone(NULL, to, "%s (%s[%s@%s] Ghosted %s)",
- me.name, to->name, to->username,
- to->host, to->from->name);
-
- to->flags |= FLAGS_KILLED;
-
- exit_client(NULL, to, &me, "Ghosted client");
- return;
- }
+ /* we assume the caller has already tested for fake direction */
_send_linebuf(to, linebuf);
return;
#ifdef USE_IODEBUG_HOOKS
hook_data_int hd;
#endif
- fde_t *F = comm_lookup_fd(to->localClient->fd);
+ fde_t *F = rb_locate_fd(to->localClient->F->fd);
if (!F)
return;
else
flags = COMM_SELECT_WRITE;
if(linebuf_len(&to->localClient->buf_sendq))
- comm_setselect(fd, FDLIST_IDLECLIENT, flags,
+ rb_setselect(fd, FDLIST_IDLECLIENT, flags,
send_queued_write, to, 0);
}
/* if we have any more data, reschedule a write */
if(to->localClient->slinkq_len)
- comm_setselect(to->localClient->ctrlfd, FDLIST_IDLECLIENT,
+ rb_setselect(to->localClient->ctrlfd, FDLIST_IDLECLIENT,
COMM_SELECT_WRITE|COMM_SELECT_RETRY, send_queued_slink_write, to, 0);
}
{
va_list args;
struct Client *target_p;
- dlink_node *ptr;
- dlink_node *next_ptr;
+ rb_dlink_node *ptr;
+ rb_dlink_node *next_ptr;
buf_head_t linebuf;
/* noone to send to.. */
- if(dlink_list_length(&serv_list) == 0)
+ if(rb_dlink_list_length(&serv_list) == 0)
return;
if(chptr != NULL && *chptr->chname != '#')
buf_head_t linebuf_id;
struct Client *target_p;
struct membership *msptr;
- dlink_node *ptr;
- dlink_node *next_ptr;
+ rb_dlink_node *ptr;
+ rb_dlink_node *next_ptr;
linebuf_newbuf(&linebuf_local);
linebuf_newbuf(&linebuf_name);
buf_head_t linebuf;
struct membership *msptr;
struct Client *target_p;
- dlink_node *ptr;
- dlink_node *next_ptr;
+ rb_dlink_node *ptr;
+ rb_dlink_node *next_ptr;
linebuf_newbuf(&linebuf);
buf_head_t linebuf;
struct membership *msptr;
struct Client *target_p;
- dlink_node *ptr;
- dlink_node *next_ptr;
+ rb_dlink_node *ptr;
+ rb_dlink_node *next_ptr;
linebuf_newbuf(&linebuf);
sendto_common_channels_local(struct Client *user, const char *pattern, ...)
{
va_list args;
- dlink_node *ptr;
- dlink_node *next_ptr;
- dlink_node *uptr;
- dlink_node *next_uptr;
+ rb_dlink_node *ptr;
+ rb_dlink_node *next_ptr;
+ rb_dlink_node *uptr;
+ rb_dlink_node *next_uptr;
struct Channel *chptr;
struct Client *target_p;
struct membership *msptr;
sendto_common_channels_local_butone(struct Client *user, const char *pattern, ...)
{
va_list args;
- dlink_node *ptr;
- dlink_node *next_ptr;
- dlink_node *uptr;
- dlink_node *next_uptr;
+ rb_dlink_node *ptr;
+ rb_dlink_node *next_ptr;
+ rb_dlink_node *uptr;
+ rb_dlink_node *next_uptr;
struct Channel *chptr;
struct Client *target_p;
struct membership *msptr;
static char buf[BUFSIZE];
va_list args;
struct Client *target_p;
- dlink_node *ptr;
- dlink_node *next_ptr;
+ rb_dlink_node *ptr;
+ rb_dlink_node *next_ptr;
buf_head_t linebuf_local;
buf_head_t linebuf_name;
buf_head_t linebuf_id;
{
static char buf[BUFSIZE];
va_list args;
- dlink_node *ptr;
+ rb_dlink_node *ptr;
struct Client *target_p;
buf_head_t linebuf_id;
buf_head_t linebuf_name;
va_list args;
buf_head_t linebuf;
struct Client *target_p;
- dlink_node *ptr;
- dlink_node *next_ptr;
+ rb_dlink_node *ptr;
+ rb_dlink_node *next_ptr;
linebuf_newbuf(&linebuf);
sendto_realops_flags(int flags, int level, const char *pattern, ...)
{
struct Client *client_p;
- dlink_node *ptr;
- dlink_node *next_ptr;
+ rb_dlink_node *ptr;
+ rb_dlink_node *next_ptr;
va_list args;
buf_head_t linebuf;
static char buf[BUFSIZE];
char *snobuf;
struct Client *client_p;
- dlink_node *ptr;
- dlink_node *next_ptr;
+ rb_dlink_node *ptr;
+ rb_dlink_node *next_ptr;
va_list args;
buf_head_t linebuf;
const char *pattern, ...)
{
struct Client *client_p;
- dlink_node *ptr;
- dlink_node *next_ptr;
+ rb_dlink_node *ptr;
+ rb_dlink_node *next_ptr;
va_list args;
buf_head_t linebuf;
sendto_wallops_flags(int flags, struct Client *source_p, const char *pattern, ...)
{
struct Client *client_p;
- dlink_node *ptr;
- dlink_node *next_ptr;
+ rb_dlink_node *ptr;
+ rb_dlink_node *next_ptr;
va_list args;
buf_head_t linebuf;
static char buf[BUFSIZE];
va_list args;
struct Client *client_p;
- dlink_node *ptr;
- dlink_node *next_ptr;
+ rb_dlink_node *ptr;
+ rb_dlink_node *next_ptr;
buf_head_t linebuf_id;
buf_head_t linebuf_name;