Diff for /embedaddon/mpd/src/l2tp_ctrl.c between versions 1.1.1.3 and 1.1.1.3.2.1

version 1.1.1.3, 2021/03/17 00:39:23 version 1.1.1.3.2.1, 2023/09/27 11:08:00
Line 244  Notes Line 244  Notes
 ************************************************************************/  ************************************************************************/
   
 static int      ppp_l2tp_ctrl_setup_1(struct ppp_l2tp_ctrl *ctrl,  static int      ppp_l2tp_ctrl_setup_1(struct ppp_l2tp_ctrl *ctrl,
                        struct ppp_l2tp_avp_ptrs *ptrs);                        struct ppp_l2tp_avp_ptrs *ptrs,
                         struct ppp_l2tp_avp_list *avps);
 static int      ppp_l2tp_ctrl_setup_2(struct ppp_l2tp_ctrl *ctrl,  static int      ppp_l2tp_ctrl_setup_2(struct ppp_l2tp_ctrl *ctrl,
                         struct ppp_l2tp_avp_ptrs *ptrs);                          struct ppp_l2tp_avp_ptrs *ptrs);
 static void     ppp_l2tp_ctrl_send(struct ppp_l2tp_ctrl *ctrl,  static void     ppp_l2tp_ctrl_send(struct ppp_l2tp_ctrl *ctrl,
Line 1030  ppp_l2tp_sess_hooked(struct ppp_l2tp_sess *sess) { Line 1031  ppp_l2tp_sess_hooked(struct ppp_l2tp_sess *sess) {
  */   */
 static int  static int
 ppp_l2tp_ctrl_setup_1(struct ppp_l2tp_ctrl *ctrl,  ppp_l2tp_ctrl_setup_1(struct ppp_l2tp_ctrl *ctrl,
        struct ppp_l2tp_avp_ptrs *ptrs)        struct ppp_l2tp_avp_ptrs *ptrs,
         struct ppp_l2tp_avp_list *avps)
 {  {
         /* Log */          /* Log */
         Log(LOG_INFO, ("L2TP: connected to \"%s\", version=%u.%u",          Log(LOG_INFO, ("L2TP: connected to \"%s\", version=%u.%u",
Line 1091  ppp_l2tp_ctrl_setup_1(struct ppp_l2tp_ctrl *ctrl, Line 1093  ppp_l2tp_ctrl_setup_1(struct ppp_l2tp_ctrl *ctrl,
                 MD5_Update(&md5ctx, &ptrs->challenge->value, ptrs->challenge->length);                  MD5_Update(&md5ctx, &ptrs->challenge->value, ptrs->challenge->length);
                 MD5_Final(hash, &md5ctx);                  MD5_Final(hash, &md5ctx);
   
                if (ppp_l2tp_avp_list_append(ctrl->avps, 0,                if (ppp_l2tp_avp_list_append(avps, 0,
                     0, AVP_CHALLENGE_RESPONSE, hash, sizeof(hash)) == -1)                      0, AVP_CHALLENGE_RESPONSE, hash, sizeof(hash)) == -1)
                 return (0);                  return (0);
         }          }
Line 2084  ppp_l2tp_handle_SCCRQ(struct ppp_l2tp_ctrl *ctrl, Line 2086  ppp_l2tp_handle_SCCRQ(struct ppp_l2tp_ctrl *ctrl,
   
 ok:  ok:
         /* Do control connection setup */          /* Do control connection setup */
        if (ppp_l2tp_ctrl_setup_1(ctrl, ptrs) == -1)        if (ppp_l2tp_ctrl_setup_1(ctrl, ptrs, ctrl->avps) == -1)
                 return (-1);                  return (-1);
   
         /* Send response and update state */          /* Send response and update state */
Line 2097  static int Line 2099  static int
 ppp_l2tp_handle_SCCRP(struct ppp_l2tp_ctrl *ctrl,  ppp_l2tp_handle_SCCRP(struct ppp_l2tp_ctrl *ctrl,
         const struct ppp_l2tp_avp_list *avps, struct ppp_l2tp_avp_ptrs *ptrs)          const struct ppp_l2tp_avp_list *avps, struct ppp_l2tp_avp_ptrs *ptrs)
 {  {
           struct ppp_l2tp_avp_list *avps0;
   
         (void)avps;          (void)avps;
           avps0 = ppp_l2tp_avp_list_create();
   
         /* Do control connection setup */          /* Do control connection setup */
        if (ppp_l2tp_ctrl_setup_1(ctrl, ptrs) == -1)        if ((ppp_l2tp_ctrl_setup_1(ctrl, ptrs, avps0) == -1) ||
             (ppp_l2tp_ctrl_setup_2(ctrl, ptrs) == -1)) {
                 ppp_l2tp_avp_list_destroy(&avps0);
                 return (-1);                  return (-1);
        if (ppp_l2tp_ctrl_setup_2(ctrl, ptrs) == -1)        }
                return (-1); 
   
         /* Send response and update state */          /* Send response and update state */
         ctrl->state = CS_ESTABLISHED;          ctrl->state = CS_ESTABLISHED;
        ppp_l2tp_ctrl_send(ctrl, 0, SCCCN, ctrl->avps);        ppp_l2tp_ctrl_send(ctrl, 0, SCCCN, avps0);
         if (*ctrl->cb->ctrl_connected != NULL)          if (*ctrl->cb->ctrl_connected != NULL)
             (*ctrl->cb->ctrl_connected)(ctrl);              (*ctrl->cb->ctrl_connected)(ctrl);
           ppp_l2tp_avp_list_destroy(&avps0);
         return (0);          return (0);
 }  }
   

Removed from v.1.1.1.3  
changed lines
  Added in v.1.1.1.3.2.1


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