Diff for /embedaddon/mpd/src/link.c between versions 1.1.1.1 and 1.1.1.2

version 1.1.1.1, 2013/07/22 08:44:29 version 1.1.1.2, 2016/11/01 09:56:12
Line 145 Line 145
     { 0,        LINK_CONF_TIMEREMAIN,   "time-remain"   },      { 0,        LINK_CONF_TIMEREMAIN,   "time-remain"   },
     { 0,        LINK_CONF_PEER_AS_CALLING,      "peer-as-calling"       },      { 0,        LINK_CONF_PEER_AS_CALLING,      "peer-as-calling"       },
     { 0,        LINK_CONF_REPORT_MAC,   "report-mac"    },      { 0,        LINK_CONF_REPORT_MAC,   "report-mac"    },
       { 0,        LINK_CONF_REMOVE_TEE,   "remove-tee"    },
     { 0,        0,                      NULL            },      { 0,        0,                      NULL            },
   };    };
   
Line 428  LinkCreate(Context ctx, int ac, char *av[], void *arg) Line 429  LinkCreate(Context ctx, int ac, char *av[], void *arg)
         l->upReasonValid = 0;          l->upReasonValid = 0;
         l->downReason = NULL;          l->downReason = NULL;
         l->downReasonValid = 0;          l->downReasonValid = 0;
           l->tee_removed = 0;
   
         Disable(&l->conf.options, LINK_CONF_CHAPMD5);          Disable(&l->conf.options, LINK_CONF_CHAPMD5);
         Accept(&l->conf.options, LINK_CONF_CHAPMD5);          Accept(&l->conf.options, LINK_CONF_CHAPMD5);
Line 717  LinkNgJoin(Link l) Line 719  LinkNgJoin(Link l)
     }      }
           
     NgFuncDisconnect(gLinksCsock, l->name, path, NG_TEE_HOOK_LEFT2RIGHT);      NgFuncDisconnect(gLinksCsock, l->name, path, NG_TEE_HOOK_LEFT2RIGHT);
   
       if (Enabled(&l->conf.options, LINK_CONF_REMOVE_TEE)) {
           if (l->stay == 0) {
               Log(LG_LINK, ("[%s] Link: Removing ng_tee node", l->name));
               NgFuncShutdownNode(gLinksCsock, NG_TEE_NODE_TYPE, path);
               l->tee_removed = 1;
           } else
               Log(LG_LINK, ("[%s] Link: Can't remove ng_tee node on static link",
               l->name));
       }
     return (0);      return (0);
 }  }
   
Line 730  LinkNgLeave(Link l) Line 742  LinkNgLeave(Link l)
     char                path[NG_PATHSIZ];      char                path[NG_PATHSIZ];
     struct ngm_connect  cn;      struct ngm_connect  cn;
   
       /* ng_tee is already removed */
       if (l->tee_removed == 1)
           return(0);
   
     memset(&cn, 0, sizeof(cn));      memset(&cn, 0, sizeof(cn));
     snprintf(cn.path, sizeof(cn.path), "[%lx]:", (u_long)l->nodeID);      snprintf(cn.path, sizeof(cn.path), "[%lx]:", (u_long)l->nodeID);
     strcpy(cn.ourhook, l->hook);      strcpy(cn.ourhook, l->hook);
Line 818  LinkNgDataEvent(int type, void *cookie) Line 834  LinkNgDataEvent(int type, void *cookie)
             mbfree(bp);              mbfree(bp);
             if (errno == EAGAIN)              if (errno == EAGAIN)
                 return;                  return;
            Log(LG_LINK, ("Link socket read error: %s", strerror(errno)));            Perror("Link: Link socket read error");
             return;              return;
         }          }
         num++;          num++;
Line 829  LinkNgDataEvent(int type, void *cookie) Line 845  LinkNgDataEvent(int type, void *cookie)
             name++;              name++;
             id = strtol(name, &rest, 10);              id = strtol(name, &rest, 10);
             if (rest[0] != 0 || !gLinks[id]) {              if (rest[0] != 0 || !gLinks[id]) {
                Log(LG_ERR, ("Link: packet from unexisting link \"%s\"",                Log(LG_ERR, ("Link: Packet from unexisting link \"%s\"",
                     name));                      name));
                 mbfree(bp);                  mbfree(bp);
                 continue;                  continue;
Line 851  LinkNgDataEvent(int type, void *cookie) Line 867  LinkNgDataEvent(int type, void *cookie)
   
             if (MBLEN(bp) <= ptr) {              if (MBLEN(bp) <= ptr) {
                 LogDumpBp(LG_FRAME|LG_ERR, bp,                  LogDumpBp(LG_FRAME|LG_ERR, bp,
                    "[%s] rec'd truncated %d bytes frame from link",                    "[%s] rec'd truncated %zu bytes frame from link",
                     l->name, MBLEN(bp));                      l->name, MBLEN(bp));
                 mbfree(bp);                  mbfree(bp);
                 continue;                  continue;
Line 859  LinkNgDataEvent(int type, void *cookie) Line 875  LinkNgDataEvent(int type, void *cookie)
   
             /* Debugging */              /* Debugging */
             LogDumpBp(LG_FRAME, bp,              LogDumpBp(LG_FRAME, bp,
                "[%s] rec'd %d bytes frame from link proto=0x%04x",                "[%s] rec'd %zu bytes frame from link proto=0x%04x",
                 l->name, MBLEN(bp), proto);                  l->name, MBLEN(bp), proto);
               
             bp = mbadj(bp, ptr);              bp = mbadj(bp, ptr);
Line 894  LinkNgDataEvent(int type, void *cookie) Line 910  LinkNgDataEvent(int type, void *cookie)
   
                 if (MBLEN(bp) <= 4) {                  if (MBLEN(bp) <= 4) {
                     LogDumpBp(LG_FRAME|LG_ERR, bp,                      LogDumpBp(LG_FRAME|LG_ERR, bp,
                        "[%s] rec'd truncated %d bytes frame",                        "[%s] rec'd truncated %zu bytes frame",
                         b->name, MBLEN(bp));                          b->name, MBLEN(bp));
                     continue;                      continue;
                 }                  }
Line 907  LinkNgDataEvent(int type, void *cookie) Line 923  LinkNgDataEvent(int type, void *cookie)
   
                 /* Debugging */                  /* Debugging */
                 LogDumpBp(LG_FRAME, bp,                  LogDumpBp(LG_FRAME, bp,
                    "[%s] rec'd %d bytes bypass frame link=%d proto=0x%04x",                    "[%s] rec'd %zu bytes bypass frame link=%d proto=0x%04x",
                     b->name, MBLEN(bp), (int16_t)linkNum, proto);                      b->name, MBLEN(bp), (int16_t)linkNum, proto);
   
                 /* Set link */                  /* Set link */
Line 924  LinkNgDataEvent(int type, void *cookie) Line 940  LinkNgDataEvent(int type, void *cookie)
   
             /* Debugging */              /* Debugging */
             LogDumpBp(LG_FRAME, bp,              LogDumpBp(LG_FRAME, bp,
                "[%s] rec'd %d bytes frame on %s hook", b->name, MBLEN(bp), naddr.sg_data);                "[%s] rec'd %zu bytes frame on %s hook", b->name, MBLEN(bp), naddr.sg_data);
   
 #ifndef USE_NG_TCPMSS  #ifndef USE_NG_TCPMSS
             /* A snooped, outgoing TCP SYN frame */              /* A snooped, outgoing TCP SYN frame */
Line 1088  AuthnameCommand(Context ctx, int ac, char *av[], void  Line 1104  AuthnameCommand(Context ctx, int ac, char *av[], void 
 {  {
     int         k;      int         k;
   
    if (ac > 1)    if (ac > 2)
         return (-1);          return (-1);
   
     if (ac == 0) {      if (ac == 0) {
Line 1100  AuthnameCommand(Context ctx, int ac, char *av[], void  Line 1116  AuthnameCommand(Context ctx, int ac, char *av[], void 
         return (0);          return (0);
     }      }
   
    /* Find link */    if (ac == 2 && strcasecmp(av[1], "ci") == 0) {
    for (k = 0;        /* Find link */
        k < gNumLinks && (gLinks[k] == NULL ||         for (k = 0;
            strcmp(gLinks[k]->lcp.auth.params.authname, av[0]));            k < gNumLinks && (gLinks[k] == NULL || 
        k++);                strcasecmp(gLinks[k]->lcp.auth.params.authname, av[0]));
             k++);
     } else {
         /* Find link */
         for (k = 0;
             k < gNumLinks && (gLinks[k] == NULL || 
                 strcmp(gLinks[k]->lcp.auth.params.authname, av[0]));
             k++);
     }
     if (k == gNumLinks) {      if (k == gNumLinks) {
         /* Change default link and bundle */          /* Change default link and bundle */
         RESETREF(ctx->lnk, NULL);          RESETREF(ctx->lnk, NULL);

Removed from v.1.1.1.1  
changed lines
  Added in v.1.1.1.2


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