forked from acouzens/open5gs
[SGW-C] fix the shared object error (#595)
nas-common library includes libcrypt. However, SGW-C don't have to use crypt library. As such, ogs_nas_plmn_id function was moved to 3gpp-core-types.[ch] For more information, $ ./install/bin/open5gs-sgwcd ./install/bin/open5gs-sgwcd: error while loading shared libraries: libogscrypt.so.2: cannot open shared object file: No such file or directory $ ldd ./install/bin/open5gs-sgwcd linux-vdso.so.1 (0x00007ffc749ad000) libogsapp.so.2 => /home/acetcom/Documents/git/open5gs/install/lib/x86_64-linux-gnu/libogsapp.so.2 (0x00007f1f92277000) libogscore.so.2 => /home/acetcom/Documents/git/open5gs/install/lib/x86_64-linux-gnu/libogscore.so.2 (0x00007f1f92240000) libogsgtp.so.2 => /home/acetcom/Documents/git/open5gs/install/lib/x86_64-linux-gnu/libogsgtp.so.2 (0x00007f1f921eb000) libogsnas-common.so.2 => /home/acetcom/Documents/git/open5gs/install/lib/x86_64-linux-gnu/libogsnas-common.so.2 (0x00007f1f921e5000) libogspfcp.so.2 => /home/acetcom/Documents/git/open5gs/install/lib/x86_64-linux-gnu/libogspfcp.so.2 (0x00007f1f92177000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f1f92134000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f1f91f42000) libyaml-0.so.2 => /usr/lib/x86_64-linux-gnu/libyaml-0.so.2 (0x00007f1f91f20000) libogscrypt.so.2 => not found libogsipfw.so.2 => /home/acetcom/Documents/git/open5gs/install/lib/x86_64-linux-gnu/libogsipfw.so.2 (0x00007f1f91ef5000) /lib64/ld-linux-x86-64.so.2 (0x00007f1f922b1000)
This commit is contained in:
parent
72c5f80f26
commit
ced4a6f945
|
@ -64,6 +64,29 @@ void *ogs_plmn_id_build(ogs_plmn_id_t *plmn_id,
|
|||
return plmn_id;
|
||||
}
|
||||
|
||||
void *ogs_nas_from_plmn_id(
|
||||
ogs_nas_plmn_id_t *ogs_nas_plmn_id, ogs_plmn_id_t *plmn_id)
|
||||
{
|
||||
memcpy(ogs_nas_plmn_id, plmn_id, OGS_PLMN_ID_LEN);
|
||||
if (plmn_id->mnc1 != 0xf) {
|
||||
ogs_nas_plmn_id->mnc1 = plmn_id->mnc1;
|
||||
ogs_nas_plmn_id->mnc2 = plmn_id->mnc2;
|
||||
ogs_nas_plmn_id->mnc3 = plmn_id->mnc3;
|
||||
}
|
||||
return ogs_nas_plmn_id;
|
||||
}
|
||||
void *ogs_nas_to_plmn_id(
|
||||
ogs_plmn_id_t *plmn_id, ogs_nas_plmn_id_t *ogs_nas_plmn_id)
|
||||
{
|
||||
memcpy(plmn_id, ogs_nas_plmn_id, OGS_PLMN_ID_LEN);
|
||||
if (plmn_id->mnc1 != 0xf) {
|
||||
plmn_id->mnc1 = ogs_nas_plmn_id->mnc1;
|
||||
plmn_id->mnc2 = ogs_nas_plmn_id->mnc2;
|
||||
plmn_id->mnc3 = ogs_nas_plmn_id->mnc3;
|
||||
}
|
||||
return plmn_id;
|
||||
}
|
||||
|
||||
char *ogs_serving_network_name_from_plmn_id(ogs_plmn_id_t *plmn_id)
|
||||
{
|
||||
ogs_assert(plmn_id);
|
||||
|
|
|
@ -131,6 +131,22 @@ char *ogs_plmn_id_mnc_string(ogs_plmn_id_t *plmn_id);
|
|||
#define OGS_PLMNIDSTRLEN (sizeof(ogs_plmn_id_t)*2+1)
|
||||
char *ogs_plmn_id_to_string(ogs_plmn_id_t *plmn_id, char *buf);
|
||||
|
||||
/*************************
|
||||
* NAS PLMN_ID Structure */
|
||||
typedef struct ogs_nas_plmn_id_s {
|
||||
ED2(uint8_t mcc2:4;,
|
||||
uint8_t mcc1:4;)
|
||||
ED2(uint8_t mnc3:4;,
|
||||
uint8_t mcc3:4;)
|
||||
ED2(uint8_t mnc2:4;,
|
||||
uint8_t mnc1:4;)
|
||||
} __attribute__ ((packed)) ogs_nas_plmn_id_t;
|
||||
|
||||
void *ogs_nas_from_plmn_id(
|
||||
ogs_nas_plmn_id_t *ogs_nas_plmn_id, ogs_plmn_id_t *plmn_id);
|
||||
void *ogs_nas_to_plmn_id(
|
||||
ogs_plmn_id_t *plmn_id, ogs_nas_plmn_id_t *ogs_nas_plmn_id);
|
||||
|
||||
/************************************
|
||||
* AMF_ID Structure */
|
||||
typedef struct ogs_amf_id_s {
|
||||
|
|
|
@ -21,29 +21,6 @@
|
|||
|
||||
int __ogs_nas_domain;
|
||||
|
||||
void *ogs_nas_from_plmn_id(
|
||||
ogs_nas_plmn_id_t *ogs_nas_plmn_id, ogs_plmn_id_t *plmn_id)
|
||||
{
|
||||
memcpy(ogs_nas_plmn_id, plmn_id, OGS_PLMN_ID_LEN);
|
||||
if (plmn_id->mnc1 != 0xf) {
|
||||
ogs_nas_plmn_id->mnc1 = plmn_id->mnc1;
|
||||
ogs_nas_plmn_id->mnc2 = plmn_id->mnc2;
|
||||
ogs_nas_plmn_id->mnc3 = plmn_id->mnc3;
|
||||
}
|
||||
return ogs_nas_plmn_id;
|
||||
}
|
||||
void *ogs_nas_to_plmn_id(
|
||||
ogs_plmn_id_t *plmn_id, ogs_nas_plmn_id_t *ogs_nas_plmn_id)
|
||||
{
|
||||
memcpy(plmn_id, ogs_nas_plmn_id, OGS_PLMN_ID_LEN);
|
||||
if (plmn_id->mnc1 != 0xf) {
|
||||
plmn_id->mnc1 = ogs_nas_plmn_id->mnc1;
|
||||
plmn_id->mnc2 = ogs_nas_plmn_id->mnc2;
|
||||
plmn_id->mnc3 = ogs_nas_plmn_id->mnc3;
|
||||
}
|
||||
return plmn_id;
|
||||
}
|
||||
|
||||
static uint8_t nas_ambr_from_kbps(
|
||||
uint8_t *br, uint8_t *extended, uint8_t *extended2,
|
||||
uint64_t input)
|
||||
|
|
|
@ -80,22 +80,6 @@ typedef struct ogs_nas_security_header_type_s {
|
|||
};
|
||||
} __attribute__ ((packed)) ogs_nas_security_header_type_t;
|
||||
|
||||
/*************************
|
||||
* NAS PLMN_ID Structure */
|
||||
typedef struct ogs_nas_plmn_id_s {
|
||||
ED2(uint8_t mcc2:4;,
|
||||
uint8_t mcc1:4;)
|
||||
ED2(uint8_t mnc3:4;,
|
||||
uint8_t mcc3:4;)
|
||||
ED2(uint8_t mnc2:4;,
|
||||
uint8_t mnc1:4;)
|
||||
} __attribute__ ((packed)) ogs_nas_plmn_id_t;
|
||||
|
||||
void *ogs_nas_from_plmn_id(
|
||||
ogs_nas_plmn_id_t *ogs_nas_plmn_id, ogs_plmn_id_t *plmn_id);
|
||||
void *ogs_nas_to_plmn_id(
|
||||
ogs_plmn_id_t *plmn_id, ogs_nas_plmn_id_t *ogs_nas_plmn_id);
|
||||
|
||||
/* 9.9.2.0 Additional information
|
||||
* O TLV 3-n */
|
||||
#define NAX_MAX_ADDITIONAL_INFORMATION_LEN 255
|
||||
|
|
Loading…
Reference in New Issue