added gnutls backend and moved backend code into new files
[ircu2.10.12-pk.git] / ircd / send.c
index b443e30908432d5ffe410471af420f132bcd0b2d..b9309b85337fb67f7a5a41f3459c759721648ea3 100644 (file)
@@ -152,7 +152,10 @@ kill_highest_sendq(int servers_too)
  */
 void flush_connections(struct Client* cptr)
 {
+  struct SSLConnection *ssl = cli_connect(cptr)->con_ssl;
   if (cptr) {
+    if(ssl)
+      ssl_connection_flush(ssl);
     send_queued(cptr);
   }
   else {
@@ -161,6 +164,7 @@ void flush_connections(struct Client* cptr)
       assert(0 < MsgQLength(&(con_sendQ(con))));
       send_queued(con_client(con));
     }
+    ssl_connection_flush(NULL);
   }
 }
 
@@ -761,9 +765,9 @@ void sendcmdto_match_butone(struct Client *from, const char *cmd,
   /* send buffer along */
   bump_sentalong(one);
   for (cptr = GlobalClientList; cptr; cptr = cli_next(cptr)) {
-    if (!IsRegistered(cptr) || IsServer(cptr) ||
-       !match_it(from, cptr, to, who) || cli_fd(cli_from(cptr)) < 0 ||
-       cli_sentalong(cptr) == sentalong_marker)
+    if (!IsRegistered(cptr) || IsServer(cptr) || cli_fd(cli_from(cptr)) < 0 ||
+        cli_sentalong(cptr) == sentalong_marker ||
+        !match_it(from, cptr, to, who))
       continue; /* skip it */
     cli_sentalong(cptr) = sentalong_marker;