forked from acouzens/open5gs
fix the bug OGS_ADDR crash [#551]
This commit is contained in:
parent
529e765b96
commit
8c7d401636
|
@ -553,7 +553,7 @@ void amf_state_operational(ogs_fsm_t *s, amf_event_t *e)
|
|||
ogs_assert(addr);
|
||||
|
||||
ogs_info("gNB-N1 accepted[%s] in master_sm module",
|
||||
OGS_ADDR(addr, buf));
|
||||
OGS_ADDR(addr, buf));
|
||||
|
||||
gnb = amf_gnb_find_by_addr(addr);
|
||||
if (!gnb) {
|
||||
|
@ -563,6 +563,7 @@ void amf_state_operational(ogs_fsm_t *s, amf_event_t *e)
|
|||
ogs_warn("gNB context duplicated with IP-address [%s]!!!",
|
||||
OGS_ADDR(addr, buf));
|
||||
ogs_sock_destroy(sock);
|
||||
ogs_free(addr);
|
||||
ogs_warn("N1 Socket Closed");
|
||||
}
|
||||
|
||||
|
@ -588,7 +589,7 @@ void amf_state_operational(ogs_fsm_t *s, amf_event_t *e)
|
|||
ogs_min(max_num_of_ostreams, gnb->max_num_of_ostreams);
|
||||
|
||||
ogs_debug("gNB-N1 SCTP_COMM_UP[%s] Max Num of Outbound Streams[%d]",
|
||||
OGS_ADDR(addr, buf), gnb->max_num_of_ostreams);
|
||||
OGS_ADDR(gnb->addr, buf), gnb->max_num_of_ostreams);
|
||||
|
||||
break;
|
||||
|
||||
|
@ -599,8 +600,6 @@ void amf_state_operational(ogs_fsm_t *s, amf_event_t *e)
|
|||
ogs_assert(addr);
|
||||
|
||||
gnb = amf_gnb_find_by_addr(addr);
|
||||
ogs_free(addr);
|
||||
|
||||
if (gnb) {
|
||||
ogs_info("gNB-N1[%s] connection refused!!!",
|
||||
OGS_ADDR(addr, buf));
|
||||
|
@ -609,6 +608,7 @@ void amf_state_operational(ogs_fsm_t *s, amf_event_t *e)
|
|||
ogs_warn("gNB-N1[%s] connection refused, Already Removed!",
|
||||
OGS_ADDR(addr, buf));
|
||||
}
|
||||
ogs_free(addr);
|
||||
|
||||
break;
|
||||
case AMF_EVT_NGAP_MESSAGE:
|
||||
|
|
|
@ -167,7 +167,7 @@ void mme_state_operational(ogs_fsm_t *s, mme_event_t *e)
|
|||
ogs_assert(addr);
|
||||
|
||||
ogs_info("eNB-S1 accepted[%s] in master_sm module",
|
||||
OGS_ADDR(addr, buf));
|
||||
OGS_ADDR(addr, buf));
|
||||
|
||||
enb = mme_enb_find_by_addr(addr);
|
||||
if (!enb) {
|
||||
|
@ -177,6 +177,7 @@ void mme_state_operational(ogs_fsm_t *s, mme_event_t *e)
|
|||
ogs_warn("eNB context duplicated with IP-address [%s]!!!",
|
||||
OGS_ADDR(addr, buf));
|
||||
ogs_sock_destroy(sock);
|
||||
ogs_free(addr);
|
||||
ogs_warn("S1 Socket Closed");
|
||||
}
|
||||
|
||||
|
@ -202,7 +203,7 @@ void mme_state_operational(ogs_fsm_t *s, mme_event_t *e)
|
|||
ogs_min(max_num_of_ostreams, enb->max_num_of_ostreams);
|
||||
|
||||
ogs_debug("eNB-S1 SCTP_COMM_UP[%s] Max Num of Outbound Streams[%d]",
|
||||
OGS_ADDR(addr, buf), enb->max_num_of_ostreams);
|
||||
OGS_ADDR(enb->addr, buf), enb->max_num_of_ostreams);
|
||||
|
||||
break;
|
||||
|
||||
|
@ -213,16 +214,14 @@ void mme_state_operational(ogs_fsm_t *s, mme_event_t *e)
|
|||
ogs_assert(addr);
|
||||
|
||||
enb = mme_enb_find_by_addr(addr);
|
||||
ogs_free(addr);
|
||||
|
||||
if (enb) {
|
||||
ogs_info("eNB-S1[%s] connection refused!!!",
|
||||
OGS_ADDR(addr, buf));
|
||||
ogs_info("eNB-S1[%s] connection refused!!!", OGS_ADDR(addr, buf));
|
||||
mme_enb_remove(enb);
|
||||
} else {
|
||||
ogs_warn("eNB-S1[%s] connection refused, Already Removed!",
|
||||
OGS_ADDR(addr, buf));
|
||||
}
|
||||
ogs_free(addr);
|
||||
|
||||
break;
|
||||
case MME_EVT_S1AP_MESSAGE:
|
||||
|
@ -657,7 +656,7 @@ void mme_state_operational(ogs_fsm_t *s, mme_event_t *e)
|
|||
ogs_min(max_num_of_ostreams, vlr->max_num_of_ostreams);
|
||||
|
||||
ogs_debug("VLR-SGs SCTP_COMM_UP[%s] Max Num of Outbound Streams[%d]",
|
||||
OGS_ADDR(addr, buf), vlr->max_num_of_ostreams);
|
||||
OGS_ADDR(vlr->addr, buf), vlr->max_num_of_ostreams);
|
||||
|
||||
e->vlr = vlr;
|
||||
ogs_fsm_dispatch(&vlr->sm, e);
|
||||
|
@ -680,11 +679,11 @@ void mme_state_operational(ogs_fsm_t *s, mme_event_t *e)
|
|||
ogs_fsm_dispatch(&vlr->sm, e);
|
||||
|
||||
ogs_info("VLR-SGs[%s] connection refused!!!",
|
||||
OGS_ADDR(addr, buf));
|
||||
OGS_ADDR(vlr->addr, buf));
|
||||
|
||||
} else {
|
||||
ogs_warn("VLR-SGs[%s] connection refused, Already Removed!",
|
||||
OGS_ADDR(addr, buf));
|
||||
OGS_ADDR(vlr->addr, buf));
|
||||
}
|
||||
|
||||
break;
|
||||
|
|
|
@ -451,8 +451,7 @@ void s1ap_handle_ue_capability_info_indication(
|
|||
}
|
||||
}
|
||||
|
||||
ogs_debug(" IP[%s] ENB_ID[%d]",
|
||||
OGS_ADDR(enb->addr, buf), enb->enb_id);
|
||||
ogs_debug(" IP[%s] ENB_ID[%d]", OGS_ADDR(enb->addr, buf), enb->enb_id);
|
||||
|
||||
ogs_assert(ENB_UE_S1AP_ID);
|
||||
enb_ue = enb_ue_find_by_enb_ue_s1ap_id(enb, *ENB_UE_S1AP_ID);
|
||||
|
@ -1224,8 +1223,7 @@ void s1ap_handle_path_switch_request(
|
|||
}
|
||||
}
|
||||
|
||||
ogs_debug(" IP[%s] ENB_ID[%d]",
|
||||
OGS_ADDR(enb->addr, buf), enb->enb_id);
|
||||
ogs_debug(" IP[%s] ENB_ID[%d]", OGS_ADDR(enb->addr, buf), enb->enb_id);
|
||||
|
||||
ogs_assert(EUTRAN_CGI);
|
||||
pLMNidentity = &EUTRAN_CGI->pLMNidentity;
|
||||
|
@ -1391,8 +1389,7 @@ void s1ap_handle_enb_configuration_transfer(
|
|||
}
|
||||
}
|
||||
|
||||
ogs_debug(" IP[%s] ENB_ID[%d]",
|
||||
OGS_ADDR(enb->addr, buf), enb->enb_id);
|
||||
ogs_debug(" IP[%s] ENB_ID[%d]", OGS_ADDR(enb->addr, buf), enb->enb_id);
|
||||
|
||||
if (SONConfigurationTransfer) {
|
||||
S1AP_TargeteNB_ID_t *targeteNB_ID =
|
||||
|
@ -1500,8 +1497,7 @@ void s1ap_handle_handover_required(mme_enb_t *enb, ogs_s1ap_message_t *message)
|
|||
}
|
||||
}
|
||||
|
||||
ogs_debug(" IP[%s] ENB_ID[%d]",
|
||||
OGS_ADDR(enb->addr, buf), enb->enb_id);
|
||||
ogs_debug(" IP[%s] ENB_ID[%d]", OGS_ADDR(enb->addr, buf), enb->enb_id);
|
||||
|
||||
ogs_assert(TargetID);
|
||||
switch (TargetID->present) {
|
||||
|
@ -1606,8 +1602,7 @@ void s1ap_handle_handover_request_ack(
|
|||
break;
|
||||
}
|
||||
}
|
||||
ogs_debug(" IP[%s] ENB_ID[%d]",
|
||||
OGS_ADDR(enb->addr, buf), enb->enb_id);
|
||||
ogs_debug(" IP[%s] ENB_ID[%d]", OGS_ADDR(enb->addr, buf), enb->enb_id);
|
||||
|
||||
ogs_assert(MME_UE_S1AP_ID);
|
||||
ogs_assert(ENB_UE_S1AP_ID);
|
||||
|
@ -1724,8 +1719,7 @@ void s1ap_handle_handover_failure(mme_enb_t *enb, ogs_s1ap_message_t *message)
|
|||
}
|
||||
}
|
||||
|
||||
ogs_debug(" IP[%s] ENB_ID[%d]",
|
||||
OGS_ADDR(enb->addr, buf), enb->enb_id);
|
||||
ogs_debug(" IP[%s] ENB_ID[%d]", OGS_ADDR(enb->addr, buf), enb->enb_id);
|
||||
|
||||
ogs_assert(MME_UE_S1AP_ID);
|
||||
ogs_assert(Cause);
|
||||
|
@ -1791,8 +1785,7 @@ void s1ap_handle_handover_cancel(mme_enb_t *enb, ogs_s1ap_message_t *message)
|
|||
break;
|
||||
}
|
||||
}
|
||||
ogs_debug(" IP[%s] ENB_ID[%d]",
|
||||
OGS_ADDR(enb->addr, buf), enb->enb_id);
|
||||
ogs_debug(" IP[%s] ENB_ID[%d]", OGS_ADDR(enb->addr, buf), enb->enb_id);
|
||||
|
||||
ogs_assert(MME_UE_S1AP_ID);
|
||||
ogs_assert(ENB_UE_S1AP_ID);
|
||||
|
@ -1867,8 +1860,7 @@ void s1ap_handle_enb_status_transfer(mme_enb_t *enb, ogs_s1ap_message_t *message
|
|||
break;
|
||||
}
|
||||
}
|
||||
ogs_debug(" IP[%s] ENB_ID[%d]",
|
||||
OGS_ADDR(enb->addr, buf), enb->enb_id);
|
||||
ogs_debug(" IP[%s] ENB_ID[%d]", OGS_ADDR(enb->addr, buf), enb->enb_id);
|
||||
|
||||
ogs_assert(MME_UE_S1AP_ID);
|
||||
ogs_assert(ENB_UE_S1AP_ID);
|
||||
|
@ -1944,8 +1936,7 @@ void s1ap_handle_handover_notification(
|
|||
break;
|
||||
}
|
||||
}
|
||||
ogs_debug(" IP[%s] ENB_ID[%d]",
|
||||
OGS_ADDR(enb->addr, buf), enb->enb_id);
|
||||
ogs_debug(" IP[%s] ENB_ID[%d]", OGS_ADDR(enb->addr, buf), enb->enb_id);
|
||||
|
||||
ogs_assert(EUTRAN_CGI);
|
||||
pLMNidentity = &EUTRAN_CGI->pLMNidentity;
|
||||
|
@ -2065,8 +2056,7 @@ void s1ap_handle_s1_reset(
|
|||
}
|
||||
}
|
||||
|
||||
ogs_debug(" IP[%s] ENB_ID[%d]",
|
||||
OGS_ADDR(enb->addr, buf), enb->enb_id);
|
||||
ogs_debug(" IP[%s] ENB_ID[%d]", OGS_ADDR(enb->addr, buf), enb->enb_id);
|
||||
|
||||
ogs_assert(Cause);
|
||||
ogs_debug(" Cause[Group:%d Cause:%d]",
|
||||
|
@ -2161,8 +2151,7 @@ void s1ap_handle_write_replace_warning_response(
|
|||
|
||||
ogs_debug("[MME] Write replace warning response");
|
||||
|
||||
ogs_debug(" IP[%s] ENB_ID[%d]",
|
||||
OGS_ADDR(enb->addr, buf), enb->enb_id);
|
||||
ogs_debug(" IP[%s] ENB_ID[%d]", OGS_ADDR(enb->addr, buf), enb->enb_id);
|
||||
|
||||
}
|
||||
|
||||
|
@ -2186,6 +2175,5 @@ void s1ap_handle_kill_response(
|
|||
|
||||
ogs_debug("[MME] Kill response");
|
||||
|
||||
ogs_debug(" IP[%s] ENB_ID[%d]",
|
||||
OGS_ADDR(enb->addr, buf), enb->enb_id);
|
||||
ogs_debug(" IP[%s] ENB_ID[%d]", OGS_ADDR(enb->addr, buf), enb->enb_id);
|
||||
}
|
||||
|
|
|
@ -75,8 +75,7 @@ int s1ap_send_to_enb(mme_enb_t *enb, ogs_pkbuf_t *pkbuf, uint16_t stream_no)
|
|||
ogs_assert(pkbuf);
|
||||
ogs_assert(enb->sock);
|
||||
|
||||
ogs_debug(" IP[%s] ENB_ID[%d]",
|
||||
OGS_ADDR(enb->addr, buf), enb->enb_id);
|
||||
ogs_debug(" IP[%s] ENB_ID[%d]", OGS_ADDR(enb->addr, buf), enb->enb_id);
|
||||
|
||||
rv = s1ap_send(enb->sock, pkbuf,
|
||||
enb->sock_type == SOCK_STREAM ? NULL : enb->addr,
|
||||
|
|
|
@ -108,8 +108,7 @@ void s1ap_accept_handler(ogs_sock_t *sock)
|
|||
ogs_info("eNB-S1 accepted[%s]:%d in s1_path module",
|
||||
OGS_ADDR(addr, buf), OGS_PORT(addr));
|
||||
|
||||
s1ap_event_push(MME_EVT_S1AP_LO_ACCEPT,
|
||||
new, addr, NULL, 0, 0);
|
||||
s1ap_event_push(MME_EVT_S1AP_LO_ACCEPT, new, addr, NULL, 0, 0);
|
||||
} else {
|
||||
ogs_log_message(OGS_LOG_ERROR, ogs_socket_errno, "accept() failed");
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue