X-Git-Url: https://jfr.im/git/irc/rqf/shadowircd.git/blobdiff_plain/965dfbd38aa28911e067c6b3afbb1cf7bb9036cc..af81d5a0b09446188fd6f9c292b51519f2c1cedd:/src/send.c diff --git a/src/send.c b/src/send.c index 732efb0..b55a2ef 100644 --- a/src/send.c +++ b/src/send.c @@ -108,7 +108,7 @@ _send_linebuf(struct Client *to, buf_head_t *linebuf) 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; } @@ -124,30 +124,7 @@ send_linebuf_remote(struct Client *to, struct Client *from, buf_head_t *linebuf) 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; @@ -168,7 +145,7 @@ send_queued_write(int fd, void *data) #ifdef USE_IODEBUG_HOOKS hook_data_int hd; #endif - fde_t *F = comm_locate_fd(to->localClient->fd); + fde_t *F = rb_locate_fd(to->localClient->F->fd); if (!F) return; @@ -225,7 +202,7 @@ send_queued_write(int fd, void *data) 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); } @@ -288,7 +265,7 @@ send_queued_slink_write(int fd, void *data) /* 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); } @@ -469,12 +446,12 @@ sendto_server(struct Client *one, struct Channel *chptr, unsigned long caps, { 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 != '#') @@ -525,8 +502,8 @@ sendto_channel_flags(struct Client *one, int type, struct Client *source_p, 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); @@ -605,8 +582,8 @@ sendto_channel_local(int type, struct Channel *chptr, const char *pattern, ...) 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); @@ -645,8 +622,8 @@ sendto_channel_local_butone(struct Client *one, int type, struct Channel *chptr, 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); @@ -688,10 +665,10 @@ void 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; @@ -746,10 +723,10 @@ void 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; @@ -800,8 +777,8 @@ sendto_match_butone(struct Client *one, struct Client *source_p, 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; @@ -876,7 +853,7 @@ sendto_match_servs(struct Client *source_p, const char *mask, int cap, { 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; @@ -945,8 +922,8 @@ sendto_monitor(struct monitor *monptr, const char *pattern, ...) 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); @@ -1021,8 +998,8 @@ void 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; @@ -1063,8 +1040,8 @@ sendto_realops_snomask(int flags, int level, const char *pattern, ...) 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; @@ -1128,8 +1105,8 @@ sendto_realops_snomask_from(int flags, int level, 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; @@ -1171,8 +1148,8 @@ void 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; @@ -1241,8 +1218,8 @@ kill_client_serv_butone(struct Client *one, struct Client *target_p, const char 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;