Diff for /libaitrpc/src/srv.c between versions 1.23.6.7 and 1.24.2.1

version 1.23.6.7, 2014/12/19 02:12:49 version 1.24.2.1, 2015/01/15 20:31:18
Line 63  static void *txUDPPacket(sched_task_t *); Line 63  static void *txUDPPacket(sched_task_t *);
 static void *rxBPFPacket(sched_task_t *);  static void *rxBPFPacket(sched_task_t *);
 static void *txBPFPacket(sched_task_t *);  static void *txBPFPacket(sched_task_t *);
   
static sched_task_func_t cbProto[SOCK_BPF + 1][4] = {/* SOCK_PIPE */
 
 static sched_task_func_t cbProto[SOCK_MAX_SUPPORT][4] = {
         { acceptClients, closeClient, rxPacket, txPacket },     /* SOCK_STREAM */          { acceptClients, closeClient, rxPacket, txPacket },     /* SOCK_STREAM */
         { acceptClients, closeClient, rxPacket, txPacket },     /* SOCK_STREAM */          { acceptClients, closeClient, rxPacket, txPacket },     /* SOCK_STREAM */
         { rxUDPPacket, freeClient, rxUDPPacket, txUDPPacket },  /* SOCK_DGRAM */          { rxUDPPacket, freeClient, rxUDPPacket, txUDPPacket },  /* SOCK_DGRAM */
         { NULL, NULL, NULL, NULL },                             /* SOCK_RAW */          { NULL, NULL, NULL, NULL },                             /* SOCK_RAW */
        { rxBPFPacket, freeClient, rxBPFPacket, txBPFPacket }   /* SOCK_BPF */        { rxBPFPacket, freeClient, rxBPFPacket, txBPFPacket },       /* SOCK_BPF */
         { NULL, NULL, NULL, NULL }      /* SOCK_PIPE */
 };  };
   
 /* Global Signal Argument when kqueue support disabled */  /* Global Signal Argument when kqueue support disabled */
Line 729  rxBPFPacket(sched_task_t *task) Line 732  rxBPFPacket(sched_task_t *task)
         rlen = read(TASK_FD(task), AIT_GET_BUF(&b), AIT_LEN(&b));          rlen = read(TASK_FD(task), AIT_GET_BUF(&b), AIT_LEN(&b));
         h = (struct bpf_hdr*) AIT_GET_BUF(&b);          h = (struct bpf_hdr*) AIT_GET_BUF(&b);
         rlen -= h->bh_hdrlen;          rlen -= h->bh_hdrlen;
        if (rlen < h->bh_caplen || h->bh_caplen != h->bh_datalen ||         if (rlen < h->bh_datalen || h->bh_caplen != h->bh_datalen || 
                         rlen < ETHER_HDR_LEN + sizeof(struct tagRPCCall)) {                          rlen < ETHER_HDR_LEN + sizeof(struct tagRPCCall)) {
                 rpc_SetErr(ERPCMISMATCH, "Short RPC packet");                  rpc_SetErr(ERPCMISMATCH, "Short RPC packet");
                 goto end;                  goto end;

Removed from v.1.23.6.7  
changed lines
  Added in v.1.24.2.1


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>