ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/svn/ircd-hybrid/trunk/src/packet.c
(Generate patch)

Comparing ircd-hybrid-7.2/src/packet.c (file contents):
Revision 34 by lusky, Sun Oct 2 21:05:51 2005 UTC vs.
Revision 1001 by michael, Sat Aug 29 22:44:44 2009 UTC

# Line 166 | Line 166 | parse_client_queued(struct Client *clien
166        client_dopacket(client_p, readBuf, dolen);
167      }
168    }
169 <  else if(IsClient(client_p))
169 >  else if (IsClient(client_p))
170    {
171      if (ConfigFileEntry.no_oper_flood && (IsOper(client_p) || IsCanFlood(client_p)))
172      {
# Line 390 | Line 390 | nodata:
390   }
391  
392   /*
393 + * iorecv_default - append a packet to the recvq dbuf
394 + */
395 + void *
396 + iorecv_default(va_list args)
397 + {
398 +  struct Client *client_p = va_arg(args, struct Client *);
399 +  int length = va_arg(args, int);
400 +  char *buf = va_arg(args, char *);
401 +
402 +  dbuf_put(&client_p->localClient->buf_recvq, buf, length);
403 +  return NULL;
404 + }
405 +
406 + /*
407   * read_packet - Read a 'packet' of data from a connection and process it.
408   */
409   void
# Line 426 | Line 440 | read_packet(fde_t *fd, void *data)
440              errno = EWOULDBLOCK;
441            case SSL_ERROR_SYSCALL:
442              break;
443 +          case SSL_ERROR_SSL:
444 +            if (errno == EAGAIN)
445 +              break;
446            default:
447              length = errno = 0;
448          }
# Line 434 | Line 451 | read_packet(fde_t *fd, void *data)
451   #endif
452      {
453        length = recv(fd->fd, readBuf, READBUF_SIZE, 0);
437 #ifdef _WIN32
438      if (length < 0)
439        errno = WSAGetLastError();
440 #endif
454      }
455  
456      if (length <= 0)
# Line 461 | Line 474 | read_packet(fde_t *fd, void *data)
474        client_p->since = CurrentTime;
475      ClearPingSent(client_p);
476  
464    dbuf_put(&client_p->localClient->buf_recvq, readBuf, length);
465
477      /* Attempt to parse what we have */
478      parse_client_queued(client_p);
479  

Diff Legend

Removed lines
+ Added lines
< Changed lines (old)
> Changed lines (new)