Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
OpenXG-AMF
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
1
Issues
1
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
OpenXG
OpenXG-AMF
Commits
2cd7a486
Commit
2cd7a486
authored
Jan 15, 2023
by
Tien Thinh NGUYEN
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Update Authentication Failure
parent
692c1bb0
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
34 additions
and
45 deletions
+34
-45
src/amf-app/amf_n1.cpp
src/amf-app/amf_n1.cpp
+2
-2
src/nas/common/NasIeHeader.hpp
src/nas/common/NasIeHeader.hpp
+1
-1
src/nas/ies/AuthenticationFailureParameter.cpp
src/nas/ies/AuthenticationFailureParameter.cpp
+10
-12
src/nas/ies/AuthenticationFailureParameter.hpp
src/nas/ies/AuthenticationFailureParameter.hpp
+4
-14
src/nas/msgs/AuthenticationFailure.cpp
src/nas/msgs/AuthenticationFailure.cpp
+11
-10
src/nas/msgs/AuthenticationFailure.hpp
src/nas/msgs/AuthenticationFailure.hpp
+6
-6
No files found.
src/amf-app/amf_n1.cpp
View file @
2cd7a486
...
...
@@ -2280,7 +2280,7 @@ void amf_n1::authentication_failure_handle(
auto
auth_failure
=
std
::
make_unique
<
AuthenticationFailure
>
();
auth_failure
->
Decode
((
uint8_t
*
)
bdata
(
plain_msg
),
blength
(
plain_msg
));
uint8_t
mm_cause
=
auth_failure
->
g
et5GMmCause
();
uint8_t
mm_cause
=
auth_failure
->
G
et5GMmCause
();
if
(
mm_cause
==
-
1
)
{
Logger
::
amf_n1
().
error
(
"Missing mandatory IE 5G_MM_CAUSE"
);
send_registration_reject_msg
(
...
...
@@ -2292,7 +2292,7 @@ void amf_n1::authentication_failure_handle(
case
_5GMM_CAUSE_SYNCH_FAILURE
:
{
Logger
::
amf_n1
().
debug
(
"Initial new Authentication procedure"
);
bstring
auts
=
nullptr
;
if
(
!
auth_failure
->
getAutsInAuthFailPara
(
auts
))
{
if
(
!
auth_failure
->
GetAuthenticationFailureParameter
(
auts
))
{
Logger
::
amf_n1
().
warn
(
"IE Authentication Failure Parameter (AUTS) not received"
);
}
...
...
src/nas/common/NasIeHeader.hpp
View file @
2cd7a486
...
...
@@ -31,7 +31,7 @@
#include "Additional5gSecurityInformation.hpp"
#include "AdditionalInformation.hpp"
#include "AllowedPDUSessionStatus.hpp"
#include "Authentication
_Failure_
Parameter.hpp"
#include "Authentication
Failure
Parameter.hpp"
#include "Authentication_Parameter_AUTN.hpp"
#include "Authentication_Parameter_RAND.hpp"
#include "AuthenticationResponseParameter.hpp"
...
...
src/nas/ies/Authentication
_Failure_
Parameter.cpp
→
src/nas/ies/Authentication
Failure
Parameter.cpp
View file @
2cd7a486
...
...
@@ -19,20 +19,19 @@
* contact@openairinterface.org
*/
#include "Authentication
_Failure_
Parameter.hpp"
#include "Authentication
Failure
Parameter.hpp"
#include "logger.hpp"
using
namespace
nas
;
//------------------------------------------------------------------------------
Authentication
_Failure_Parameter
::
Authentication_Failure_
Parameter
()
Authentication
FailureParameter
::
AuthenticationFailure
Parameter
()
:
Type4NasIe
(
kIeiAuthenticationFailureParameter
),
value_
()
{
SetLengthIndicator
(
kAuthenticationFailureParameterContentLength
);
SetIeName
(
kAuthenticationFailureParameterIeName
);
}
//------------------------------------------------------------------------------
Authentication
_Failure_Parameter
::
Authentication_Failure_
Parameter
(
Authentication
FailureParameter
::
AuthenticationFailure
Parameter
(
const
bstring
&
value
)
{
value_
=
bstrcpy
(
value
);
SetLengthIndicator
(
kAuthenticationFailureParameterContentLength
);
...
...
@@ -40,18 +39,18 @@ Authentication_Failure_Parameter::Authentication_Failure_Parameter(
}
//------------------------------------------------------------------------------
Authentication
_Failure_Parameter
::~
Authentication_Failure_
Parameter
()
{}
Authentication
FailureParameter
::~
AuthenticationFailure
Parameter
()
{}
/*
//------------------------------------------------------------------------------
void Authentication
_Failure_
Parameter::SetValue(const uint8_t
void Authentication
Failure
Parameter::SetValue(const uint8_t
(&value)[kAuthenticationFailureParameterContentLength]) { for (int i = 0; i <
kAuthenticationFailureParameterContentLength; i++) { this->value_[i] = value[i];
}
}
//------------------------------------------------------------------------------
void Authentication
_Failure_
Parameter::GetValue(uint8_t
void Authentication
Failure
Parameter::GetValue(uint8_t
(&value)[kAuthenticationFailureParameterContentLength]) const{ for (int i = 0; i
< kAuthenticationFailureParameterContentLength; i++) { value[i] =
this->value_[i];
...
...
@@ -61,18 +60,18 @@ this->value_[i];
*/
//------------------------------------------------------------------------------
void
Authentication
_Failure_
Parameter
::
SetValue
(
const
bstring
&
value
)
{
void
Authentication
Failure
Parameter
::
SetValue
(
const
bstring
&
value
)
{
value_
=
bstrcpy
(
value
);
SetLengthIndicator
(
blength
(
value
));
}
//------------------------------------------------------------------------------
void
Authentication
_Failure_
Parameter
::
GetValue
(
bstring
&
value
)
const
{
void
Authentication
Failure
Parameter
::
GetValue
(
bstring
&
value
)
const
{
value
=
bstrcpy
(
value_
);
}
//------------------------------------------------------------------------------
int
Authentication
_Failure_
Parameter
::
Encode
(
uint8_t
*
buf
,
int
len
)
{
int
Authentication
Failure
Parameter
::
Encode
(
uint8_t
*
buf
,
int
len
)
{
Logger
::
nas_mm
().
debug
(
"Encoding %s"
,
GetIeName
().
c_str
());
int
ie_len
=
GetIeLength
();
...
...
@@ -101,8 +100,7 @@ int Authentication_Failure_Parameter::Encode(uint8_t* buf, int len) {
}
//------------------------------------------------------------------------------
int
Authentication_Failure_Parameter
::
Decode
(
uint8_t
*
buf
,
int
len
,
bool
is_iei
)
{
int
AuthenticationFailureParameter
::
Decode
(
uint8_t
*
buf
,
int
len
,
bool
is_iei
)
{
uint8_t
decoded_size
=
0
;
uint8_t
octet
=
0
;
Logger
::
nas_mm
().
debug
(
"Decoding %s"
,
GetIeName
().
c_str
());
...
...
src/nas/ies/Authentication
_Failure_
Parameter.hpp
→
src/nas/ies/Authentication
Failure
Parameter.hpp
View file @
2cd7a486
...
...
@@ -24,14 +24,6 @@
#include "Type4NasIe.hpp"
#include <stdint.h>
extern
"C"
{
#include "TLVDecoder.h"
#include "TLVEncoder.h"
#include "bstrlib.h"
}
constexpr
uint8_t
kAuthenticationFailureParameterLength
=
16
;
constexpr
uint8_t
kAuthenticationFailureParameterContentLength
=
kAuthenticationFailureParameterLength
-
2
;
...
...
@@ -39,13 +31,11 @@ constexpr auto kAuthenticationFailureParameterIeName = "5GMM Capability";
namespace
nas
{
class
Authentication
_Failure_
Parameter
:
public
Type4NasIe
{
class
Authentication
Failure
Parameter
:
public
Type4NasIe
{
public:
Authentication_Failure_Parameter
();
Authentication_Failure_Parameter
(
const
uint8_t
(
&
value
)[
kAuthenticationFailureParameterContentLength
]);
Authentication_Failure_Parameter
(
const
bstring
&
value
);
~
Authentication_Failure_Parameter
();
AuthenticationFailureParameter
();
AuthenticationFailureParameter
(
const
bstring
&
value
);
~
AuthenticationFailureParameter
();
int
Encode
(
uint8_t
*
buf
,
int
len
);
int
Decode
(
uint8_t
*
buf
,
int
len
,
bool
is_iei
);
...
...
src/nas/msgs/AuthenticationFailure.cpp
View file @
2cd7a486
...
...
@@ -46,18 +46,18 @@ void AuthenticationFailure::Set5gmmCause(uint8_t value) {
}
//------------------------------------------------------------------------------
uint8_t
AuthenticationFailure
::
g
et5GMmCause
()
{
uint8_t
AuthenticationFailure
::
G
et5GMmCause
()
{
return
ie_5gmm_cause
.
GetValue
();
}
/*
//------------------------------------------------------------------------------
void AuthenticationFailure::
setAuthentication_Failure_
Parameter(
void AuthenticationFailure::
SetAuthenticationFailure
Parameter(
const uint8_t (&value)[kAuthenticationFailureParameterContentLength]) {
ie_authentication_failure_parameter =
std::make_optional<Authentication
_Failure_
Parameter>(value);
std::make_optional<Authentication
Failure
Parameter>(value);
}
bool AuthenticationFailure::
getAutsInAuthFailPara
(uint8_t
bool AuthenticationFailure::
GetAuthenticationFailureParameter
(uint8_t
(&value)[kAuthenticationFailureParameterContentLength]) const{ if
(ie_authentication_failure_parameter.has_value()) {
ie_authentication_failure_parameter.value().GetValue(value);
...
...
@@ -69,13 +69,14 @@ bool AuthenticationFailure::getAutsInAuthFailPara(uint8_t
*/
//------------------------------------------------------------------------------
void
AuthenticationFailure
::
setAuthentication_Failure_
Parameter
(
void
AuthenticationFailure
::
SetAuthenticationFailure
Parameter
(
const
bstring
&
value
)
{
ie_authentication_failure_parameter
=
std
::
make_optional
<
Authentication
_Failure_
Parameter
>
(
value
);
std
::
make_optional
<
Authentication
Failure
Parameter
>
(
value
);
}
bool
AuthenticationFailure
::
getAutsInAuthFailPara
(
bstring
&
value
)
const
{
bool
AuthenticationFailure
::
GetAuthenticationFailureParameter
(
bstring
&
value
)
const
{
if
(
ie_authentication_failure_parameter
.
has_value
())
{
ie_authentication_failure_parameter
.
value
().
GetValue
(
value
);
return
true
;
...
...
@@ -156,15 +157,15 @@ int AuthenticationFailure::Decode(uint8_t* buf, int len) {
switch
(
octet
)
{
case
0x30
:
{
Logger
::
nas_mm
().
debug
(
"Decoding IEI (0x30)"
);
Authentication
_Failure_Parameter
ie_authentication_failure_parameter_tmp
=
{};
Authentication
FailureParameter
ie_authentication_failure_parameter_tmp
=
{};
if
((
decoded_result
=
ie_authentication_failure_parameter_tmp
.
Decode
(
buf
+
decoded_size
,
len
-
decoded_size
,
true
))
==
KEncodeDecodeError
)
return
decoded_result
;
decoded_size
+=
decoded_result
;
ie_authentication_failure_parameter
=
std
::
optional
<
Authentication
_Failure_
Parameter
>
(
std
::
optional
<
Authentication
Failure
Parameter
>
(
ie_authentication_failure_parameter_tmp
);
octet
=
*
(
buf
+
decoded_size
);
Logger
::
nas_mm
().
debug
(
"Next IEI (0x%x)"
,
octet
);
...
...
src/nas/msgs/AuthenticationFailure.hpp
View file @
2cd7a486
...
...
@@ -37,19 +37,19 @@ class AuthenticationFailure : public NasMmPlainHeader {
void
SetHeader
(
uint8_t
security_header_type
);
void
Set5gmmCause
(
uint8_t
value
);
uint8_t
g
et5GMmCause
();
uint8_t
G
et5GMmCause
();
// void
setAuthentication_Failure_
Parameter(const uint8_t
// void
SetAuthenticationFailure
Parameter(const uint8_t
// (&value)[kAuthenticationFailureParameterContentLength]); bool
//
getAutsInAuthFailPara
(uint8_t
//
GetAuthenticationFailureParameter
(uint8_t
// (&value)[kAuthenticationFailureParameterContentLength]) const;
void
setAuthentication_Failure_
Parameter
(
const
bstring
&
value
);
bool
getAutsInAuthFailPara
(
bstring
&
value
)
const
;
void
SetAuthenticationFailure
Parameter
(
const
bstring
&
value
);
bool
GetAuthenticationFailureParameter
(
bstring
&
value
)
const
;
public:
_5gmmCause
ie_5gmm_cause
;
// Mandatory
std
::
optional
<
Authentication
_Failure_
Parameter
>
std
::
optional
<
Authentication
Failure
Parameter
>
ie_authentication_failure_parameter
;
// Optional
};
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment