Xavier Arteaga
b48bb0d754
Removed atof, atoll and atoi calls
2019-12-02 09:47:22 +01:00
Pedro Alvarez
48f9df8615
Applied clang-format to all of the srsepc folder.
2019-10-18 15:40:40 +02:00
Andre Puschmann
a2ab043c0d
fix memleaks and uninitialized vars found by cppcheck
2019-09-20 10:55:29 +02:00
Andre Puschmann
4ac5448ad7
fix formatting in NAS
2019-09-16 21:39:15 +02:00
Pedro Alvarez
1ae8ccda8c
Added EIA3 and EEA3 to default UE capabilities to srsUE. Added parsers for EEA3/EIA3 config options in srsENB and srsEPC
2019-09-10 13:46:21 +02:00
David Rupprecht
bb97d7d199
fixing key naming
2019-09-10 13:46:21 +02:00
David Rupprecht
50332089ce
Add EEA3 and EIA3 support for UE/enodeb and MME
2019-09-10 13:46:21 +02:00
Ismael Gomez
c92c61d560
Optimized front-end logging processing ( #641 )
...
Avoid memory allocation and stringstream in log frontend calls (executed from worker threads). Uses a buffer pool of fixed buffer and vsnprintf
2019-09-04 15:32:29 +02:00
Francisco Paisana
67d6a25194
Moving mac timers to stack timers ( #638 )
...
* first step towards moving MAC timers to stack. Mac is still using its own timers. srslte::timers class can be restructured.
* moved timers out of the UE MAC
2019-09-04 15:28:09 +02:00
Digicrat
86ec3101e0
Fix bug wherein blank lines or trailing newlines causes parsing of user_db.csv to fail.
2019-08-05 11:16:41 +02:00
Pedro Alvarez
494be243c0
Changed security direction to use an enum.
2019-07-30 15:01:50 +02:00
Andre Puschmann
5faa819dcd
fixing uninitialized class members found by coverity
2019-07-08 11:12:46 +01:00
Pedro Alvarez
de4d459e5f
Fix issue of IMSI context already present when receiving a GUTI attach with bad integrity. This could cause a sigpipe in the EPC when the eNB was re-started.
2019-07-03 17:24:40 +02:00
Pedro Alvarez
b617f76bdc
S1AP Debug message.
2019-07-03 17:24:40 +02:00
Pedro Alvarez
b97d1191f4
Added more debug info at eNB GTP-U. Changed the pdcp_entity to follow the standard more strictly for RLC AM DRBs.
2019-06-27 17:09:52 +02:00
Pedro Alvarez
609e5cce2c
Initializing attach request in EPC NAS.
2019-06-24 21:27:08 +02:00
Pedro Alvarez
2ed60412b9
Removing debug printfs.
2019-06-24 21:27:08 +02:00
Pedro Alvarez
36bd20d308
Making sure that the security algorithms are kept when the NAS context is reset. Attach request after a service reject seems to work now (with COTS UE).
2019-06-24 21:27:08 +02:00
Pedro Alvarez
50506ffa26
Changed NAS initialization from init function to constructor. Continuing to add the logic to handle attach request as a Uplink NAS message. Added debug log to s1ap::send_downling_nas_message.
2019-06-24 21:27:08 +02:00
Pedro Alvarez
20ee17088f
Starting to add handling of attach request as a Uplink NAS transport message.
2019-06-24 21:27:08 +02:00
Pedro Alvarez
d67d18cc6b
Removing deplicated error codes.
2019-06-07 13:51:56 +02:00
Andre Puschmann
e47010130f
extend thread class to set unique thread name in ctor
...
this will also extend all classes that use srslte::thread
to specify the name of the thread in the ctor as well
as to set the name of the worker threads in the thread pool
the thread name will be displayed in gdb.
2019-06-03 15:03:20 +02:00
Francisco Paisana
0e3baa0f2f
Renamed the reset() method of byte_buffer_t to clear()
2019-05-16 12:35:01 +02:00
Andre Puschmann
7e5e2b142e
fix uninitialized members in MME NAS
2019-05-03 10:15:37 +02:00
Pedro Alvarez
f303167206
Fix GTP-C socket initialization to remove compiler warnings.
2019-05-02 11:41:59 +02:00
Andre Puschmann
4c16a1f719
fix uninitialized struct
2019-04-30 13:59:06 +02:00
Andre Puschmann
64dd4c1fc4
fix issue when packing service reject fails and NAS uses initialized logger
2019-04-30 13:59:06 +02:00
Andre Puschmann
4b01a2e4a0
update copyright notice
2019-04-29 09:20:02 +02:00
Andre Puschmann
205db6f229
add missing license headers
2019-04-26 21:20:12 +02:00
Ismael Gomez
7780b1aba5
add tdd/ca support
2019-04-25 20:57:58 +02:00
Pedro Alvarez
64d50040e7
Changed some paging logs to debug and removed noisy print to console in the EPC
2019-04-15 14:52:09 +01:00
Pedro Alvarez
49577b6b5f
Making sure that packet queued in the SPGW is freed when queue_downlink_packet enconters errors. Reverse the order of sending paging and queueing packet so that paging_pending is properly set to true.
2019-04-15 12:52:14 +02:00
Pedro Alvarez
7cdc012bb2
Printing fixes in the EPC for ARM
2019-04-12 20:08:25 +02:00
Pedro Alvarez
1bac758a85
EPC now sends service reject to a UE that sends service request with bad integrity.
2019-04-12 16:24:57 +02:00
David Rupprecht
dabf586316
ISMI to IMSI typo
2019-04-11 21:38:01 +02:00
Pedro Alvarez
d7d461fb8c
Change user_db.csv.example to consider static IPs. Changed warning print in HSS.
2019-04-11 15:55:46 +02:00
Joseph Giovatto
056bfef996
use inet_pton to vefify ip address validity
2019-04-11 15:55:46 +02:00
Joseph Giovatto
fa99aa590e
added support for optional ue static ip address (rebase #225 )
2019-04-11 15:55:46 +02:00
Andre Puschmann
41c85adaf2
handle EPC config file errors gracefully
2019-04-09 17:28:09 +02:00
Pedro Alvarez
3ad19f21b6
Adding per UE authentication algorithm choice to the HSS and users_db.csv.
2019-04-09 17:17:02 +02:00
Pedro Alvarez
ca603810ce
Adding Downlink data notification and paging functionality to the EPC.
...
This entails:
* Adding S1AP paging messaging to the MME.
* Adding the Downlink Data Notification, Donlink Data Notification Acknoledgment, and Downlink Data Notification Failure Messages.
* Adding the logic at the GTP-U to detect that Downlink Data notification needs to be sent.
* Proper handling of the new GTP-C messages at the MME GTPC and SPGW GTPC classes
* Add queuing mechanisms at the GTP-U while waiting for paging response. Queue is flushed when paging fails (timeout or other).
* Make sure eNB's SCTP information is properly stored.
* Make sure UE's GUTI information is properly stored.
2019-04-09 16:59:44 +02:00
Pedro Alvarez
1db959c661
Added NAS timer functionality to the EPC. This entails:
...
* Adding timer creation at NAS using timerfd_create
* Adding the ability to add and remove the timer file descriptor to the MME main select loop
* Adding the ability to the MME for the NAS to check if a timer is running
* Adding the timer expiry handling functionality at the MME
2019-04-08 13:05:54 +02:00
Pedro Alvarez
9463b95dc1
Remove unused mutex in the SPGW.
2019-04-03 09:52:18 +02:00
Pedro Alvarez
3933b269d7
Added GTP-C message passing between MME and SPGW using UNIX sockets.
...
* Added S11 sockets to SPGW select and MME select
* Added send_s11_pdu message to SPGW and MME
* Remove pointer for replies in handle_s11_pdu
2019-04-03 09:52:18 +02:00
Pedro Alvarez
3e9f10e20d
Adding S11 initialization in MME and SPGW as unix sockets.
2019-04-03 09:52:18 +02:00
Pedro Alvarez
5f7b6ba79e
Split GTP-C and GTP-U functionality into seperate classes in the SPGW. Added GTP-U specific logging in the EPC. Added handle_s11_pdu function to both the MME GTP-C entity and the SPGW GTP-C entity.
2019-04-02 09:17:00 +02:00
Pedro Alvarez
6e500c5b86
Changed initilization of the NAS at the EPC, to make it easier to add new interfaces.
2019-03-20 14:00:02 +01:00
Pedro Alvarez
add60c1288
Applied clang-format to the EPC.
2019-03-20 14:00:02 +01:00
Andre Puschmann
a436baed39
fix build string for builds without valid .git folder
2019-01-22 12:09:52 +01:00
Pedro Alvarez
c5dad67a16
Adding catch to boost program options parser.
2019-01-18 12:38:56 +00:00
Francisco Paisana
0204db2e12
new asn1 rrc library
2019-01-17 17:43:13 +01:00
Pedro Alvarez
b675e1fcc9
Ciphering EMM information message. Chainging detach_request security header in the UE to integrity and ciphered to avoid malformed message.
2019-01-14 17:00:16 +00:00
Pedro Alvarez
b5d5f9f91c
Re-adding support for EIA2 in EPC.
2019-01-14 15:38:19 +00:00
Pedro Alvarez
179aeddfa2
Added encryption of security mode command and attach accept again. Attach is working with encryption.
2019-01-11 18:13:29 +00:00
Pedro Alvarez
412b08c4bf
Fixed UL nas count increment for GUTI with known UE and Service Request. Both seem to work now.
2019-01-11 16:28:35 +00:00
Pedro Alvarez
997c24c099
Added config of cipher_algo and integ_algo initialization in NAS class.
2018-12-18 18:27:31 +00:00
Pedro Alvarez
5eacdd5418
Fixed compilation issues. Attach failing with COTS UE.
2018-12-18 16:48:25 +00:00
Pedro Alvarez
31a25067f5
Merging David Ruprecth's mme_msg_encryption branch into next. Not compiling.
2018-12-18 12:03:52 +00:00
Pedro Alvarez
a5a7eb02d2
Merge branch 'next' of github.com:softwareradiosystems/srsLTE into next
2018-12-14 17:16:41 +00:00
Andre Puschmann
df7ab7ffe8
Merge branch 'master' into next
2018-12-14 16:54:46 +01:00
Pedro Alvarez
60fdc9ebe2
Small commit.
2018-12-14 14:45:40 +00:00
Pedro Alvarez
ac0aa76afc
Small print changes on NAS.
2018-12-14 14:42:24 +00:00
Pedro Alvarez
9380d56bbf
Changing prints in S1AP and SPGW.
2018-12-14 14:28:25 +00:00
Pedro Alvarez
7fd6ae4c40
Changing NAS printing.
2018-12-14 14:16:41 +00:00
Pedro Alvarez
983ba4a3ab
Strating to change prints in the HSS.
2018-12-14 14:10:49 +00:00
yagoda
94ec379f68
Small commit to test changes in prints.
2018-12-14 13:37:08 +00:00
rubund
b801c3dd4e
Fix some spelling errors detected by lintian ( #271 )
2018-12-03 10:36:15 +01:00
Pedro Alvarez
0320d475e9
Fix Uninitialized QoS options in attach accept.
2018-11-28 11:16:50 +00:00
David Rupprecht
c480e57721
Config based security algorithm selection
2018-11-19 15:34:57 +01:00
David Rupprecht
3b7eeb5909
Do security (integrity checks in case of NAS UL message
2018-11-19 14:38:44 +01:00
David Rupprecht
1442606ee1
Encryption for ESM request
2018-11-19 14:11:33 +01:00
David Rupprecht
82f69d66dc
ul_nas_count increment tau request
2018-11-19 13:40:54 +01:00
David Rupprecht
4a2c563f85
increase uplink ul nas count
2018-11-19 13:40:16 +01:00
David Rupprecht
2543a84aa4
Minor changes in nas uplink transport and increase uplink count
2018-11-19 13:39:30 +01:00
David Rupprecht
718262eaaf
restucture NAS uplink message: todo security of message
2018-11-18 22:29:32 +01:00
David Rupprecht
894471e326
restructure handle_initial_ue_message
2018-11-18 21:36:36 +01:00
David Rupprecht
0dfa6426dd
restructure handle_initial_ue_message
2018-11-18 21:35:55 +01:00
David Rupprecht
e5e091b0c9
Minor fixes and code clean up
2018-11-18 21:18:17 +01:00
David Rupprecht
e547883a8f
Wrapper functions for integrity generate
2018-11-18 20:30:22 +01:00
Andre Puschmann
cd7008a269
fix typo
2018-11-16 14:56:43 +01:00
David Rupprecht
7eef2c1c4b
start with decryption function
2018-11-15 23:02:30 +01:00
Andre Puschmann
23836a8ab3
Merge branch 'next' into nas_cleanup
2018-10-22 11:26:00 +02:00
Andre Puschmann
15d439761a
log build info in eNB/EPC logs
2018-10-05 14:58:09 +02:00
Pedro Alvarez
3cddad79cc
Adding ability to configure names of TUN interfaces. ( #277 )
...
* added config option for tun dev names vs fixed names added config option for M1-U interface addr
* Added options to sgi_mb tun name.
* Added some comments to mbms.conf.example
* Added some comments to example configs to explain the new values.
2018-10-05 11:12:31 +02:00
Pedro Alvarez
35ca9ffd34
Adding TTL option
2018-10-04 14:44:26 +02:00
Pedro Alvarez
3ecacdf3a6
Adding selection of local interface at the MBMS-GW.
2018-10-04 14:44:26 +02:00
Pedro Alvarez
d443604661
Merge next into gtp_cleanup_sn. Fixed some conflicts.
2018-10-04 12:09:13 +01:00
Andre Puschmann
0deda67930
print build-info during epc startup
2018-10-01 21:44:16 +02:00
Pedro Alvarez
c1f633c5c7
Dropping bitfields for now. Using #defines and uint8_t for the flags.
2018-10-01 15:17:26 +01:00
Pedro Alvarez
e320c33aef
Fixed last compilation issues.
2018-09-28 15:42:28 +01:00
Pedro Alvarez
ee04639337
Changed gtpu header flags to use a bitfield. Fixing compilation issues.
2018-09-28 13:46:13 +01:00
Pedro Alvarez
8072aaa091
Fixed minor mistake in resolving conflict.
2018-09-25 19:11:56 +01:00
Pedro Alvarez
8dc029cc47
Merging next into NAS cleanup.
2018-09-25 18:56:03 +01:00
Andre Puschmann
b27ff06e79
Merge remote-tracking branch 'origin/issue_178' into next
2018-09-25 15:10:38 +02:00
Pedro Alvarez
b4f9fb06dd
Changing EPC to use uint32_to_uint8 function
2018-09-25 12:09:18 +01:00
Andre Puschmann
860d8af911
Merge branch 'master' into next
2018-09-24 15:50:10 +02:00
Zhe Huang
8b526e1c20
Fix SQN incrementation arithmetic ( #212 )
...
* Fix SQN incrementation arithmetic
Current implementation of increment_sqn function increments the 48 bits
SQN directly by 1 which is incorrect according to 3GPP TS 33.102 version
11.5.1 Annex C. This bug causes commercial UEs to report AUTHENTICATION
FAILURE EMM cause #21 "synch failure" when SQN is out of sync.
According to 3GPP TS 33.102 version 11.5.1 Annex C, 48 bits SQN consists
of 43 bits SEQ and 5 bits IND parts where SEQ are incremented during
generation of authentication vector or resync procedure. A
new IND value is also assigned when an authentication vector is
generated. However, resync procedure will use the same IND value.
This patch implements the increment_sqn function according to 3GPP TS
33.102 version 11.5.1 Annex C. A new function increment_seq_after_resync
is added to handle the special case of SQN arithmetic during SQN
resynchronization.
This patch is tested with two comercial UEs (Oneplus One and Oneplus 3T).
* Fix the maximum value of SEQ value to be 2^43-1
The SEQ value is 43 bits long and previous maximum value has a typo (one
extra F) which allows SEQ value to be 2^47-1. This patch corrects the typo.
2018-09-24 11:28:07 +02:00
Andre Puschmann
a9d46cbad3
Merge branch 'master' into next_test_after_merge
2018-09-20 13:01:43 +02:00
Zhe Huang
cd1fb0d81e
Set AMF to all zeros during resync ( #213 )
...
During the resync procedure, the security_milenage_f1_star generates a
MAC_S value that does not match the MAC_S value reported in AUTS. This
posts a security risk.
According to 3GPP TS 33.102 version 11.5.1 section 6.3.3, the AMF used
to calculate MAC-S assumes a dummy value of all zeros so that it does
not need to be transmitted in the clear in the re-synch message.
This patch corrects this problem. MAC_S reported by AUTS matches the
MAC_S calculated using f1_star function after the fix.
2018-09-20 12:57:47 +02:00
Pedro Alvarez
7bad5a52a0
Merging handling of initial UE messages as static methods into nas cleanup.
2018-08-29 18:44:18 +01:00
Pedro Alvarez
9350e03810
Changed detach request and tracking area update request to nas.cc
2018-08-29 17:47:34 +01:00
Pedro Alvarez
d2cb01ce87
Deleted old service request.
2018-08-29 14:56:55 +01:00
Pedro Alvarez
a9e5b3b8e9
Changed service request to nas.cc
2018-08-29 14:52:09 +01:00
Pedro Alvarez
4313fb1e72
Making sure M-TMSI is in host order in other small bug fixes.
2018-08-28 17:28:31 +01:00
Pedro Alvarez
3337f21ffa
Added handle GUTI attach from known UE again.
2018-08-28 15:29:26 +01:00
Pedro Alvarez
0d80ae795b
Added IMSI attach from unknown UE as a static function.
2018-08-27 19:17:23 +01:00
Pedro Alvarez
0ddb3d39dc
Moved handle_imsi_attach_request_from_unknown_ue to nas.cc in static method. Working.
2018-08-27 18:13:42 +01:00
Pedro Alvarez
860e1b5491
Changing Handling of initial UE NAS messages to use static methods. Handling of unknown GUTI attach request should be ok.
2018-08-27 16:06:18 +01:00
Pedro Alvarez
9e808ff968
Starting to handle NAS initial UE messages as static methods of the nas class.
2018-08-24 18:15:06 +01:00
Pedro Alvarez
c011df5612
Changing Service request to nas.cc
2018-08-23 14:15:12 +01:00
Pedro Alvarez
a46f1e4e9a
Changing Tracking Area Update Request Initial Message to nas.cc
2018-08-23 12:19:17 +01:00
Pedro Alvarez
e3286897ce
Changed the rest of the nas handling to use send_downlink_nas_transport.
2018-08-22 16:59:40 +01:00
Pedro Alvarez
f1d30c7f23
Changed handle guti_attach_from_known_ue and unknown_ue to use send_downstream_nas_message.
2018-08-22 15:00:01 +01:00
Pedro Alvarez
dd725be60c
Changed pack identity request.
2018-08-21 18:29:28 +01:00
Pedro Alvarez
65a5139751
Fixed mistake in downlink nas transport. Changing authication request to use downlink_nas_transport.
2018-08-21 17:51:00 +01:00
Pedro Alvarez
21c34b9ce5
Changing security mode complete to use downlink nas transport
2018-08-21 16:05:08 +01:00
Pedro Alvarez
93222f582c
Changed authentication response to use downlink_nas_transport().
2018-08-21 15:17:08 +01:00
Pedro Alvarez
3073ab6822
Changed dettach request to use downlink nas transport.
2018-08-21 14:11:28 +01:00
Pedro Alvarez
749e84315a
Starting to add send_downlink_nas_transport helper function.
2018-08-21 12:57:23 +01:00
Pedro Alvarez
8bcc8ecaeb
Starting to move initial attach request handling to nas.cc
2018-08-20 19:47:21 +01:00
Pedro Alvarez
872f7adc49
Added find imsi from TMSI helper function.
2018-08-20 17:59:50 +01:00
Pedro Alvarez
fa0c8d5995
Moved most of IMSI attach request into nas.cc.
2018-08-20 16:48:16 +01:00
Pedro Alvarez
f6b8982939
Moved most of the GUTI attach to nas.cc.
2018-08-20 15:48:23 +01:00
Pedro Alvarez
c518d3fde3
Starting to move inital UE messages to nas.cc. Breaking up attach request handling into smaller functions.
2018-08-16 17:45:39 +01:00
Pedro Alvarez
1f2e22adf4
coding style fixup.
2018-08-16 12:48:37 +01:00
Pedro Alvarez
23bd95c432
Whitespace fix.
2018-08-15 18:38:06 +01:00
Pedro Alvarez
55675eb532
Fixed bug in setting MCC and MNC in attach accept. Attach seems to be working again.
2018-08-15 18:13:36 +01:00
Pedro Alvarez
1fba7f0afa
Moved function that gets NAS type string to liblte_mme.cc
2018-08-14 18:42:48 +01:00
Pedro Alvarez
127e214b07
Added function to print string of NAS message type based on the message code.
2018-08-14 17:19:19 +01:00
Pedro Alvarez
5d75b16ee9
Fixed up mistake in UE Context Release command.
2018-08-14 15:38:25 +01:00
Pedro Alvarez
7c53330bec
Fixed NAS initialization. Attach request seems to work again now.
2018-08-14 13:59:05 +01:00
Pedro Alvarez
d76053e7ec
Making sure NAS message is added to the initial context setup request.
2018-08-13 18:22:30 +01:00
Pedro Alvarez
cdc72b8164
Fix bug in packing of transport layer address
2018-08-13 18:06:20 +01:00
Pedro Alvarez
a4be55c030
Fixed bug in re-synch procedure.
2018-08-13 16:29:44 +01:00
Pedro Alvarez
4059b19b57
Coding style fixups in SP-GW.
2018-08-13 15:55:14 +01:00
Pedro Alvarez
66dc1e0700
Fixed up the initialization of NAS context in IMSI attach request.
2018-08-13 15:54:53 +01:00
Pedro Alvarez
7077530a29
Merge branch 'next' into nas_cleanup
2018-08-13 11:59:23 +01:00
Pedro Alvarez
0aed1f47a5
White space fixes.
2018-08-13 11:58:06 +01:00
Pedro Alvarez
4ba777c9c3
Added nas log. Fixed gen_auth_info_anwser. Authentication is working again.
2018-07-24 18:38:16 +01:00
Pedro Alvarez
da840ac334
Fix un-initialized buffer pool in nas.cc
2018-07-23 18:44:19 +01:00
Pedro Alvarez
4e78d70d97
Fixing issue in pack identity request.
2018-07-23 18:25:15 +01:00
Pedro Alvarez
6615af57ee
Cleaning up handle initial UE message a bit more.
2018-07-23 17:59:03 +01:00
Pedro Alvarez
bd2fa4c04b
Cleaning up Handle initial UE message
2018-07-23 17:46:23 +01:00
Pedro Alvarez
de8679b536
Continuing to cleanup. Starting to compile again.
2018-07-23 15:30:19 +01:00
Pedro Alvarez
406d198eac
Cleaning up nas.cc
2018-07-23 12:38:40 +01:00
Pedro Alvarez
f03967776a
Continuing to clean nas.cc
2018-07-20 19:50:46 +01:00
Pedro Alvarez
6ef3124fc9
Fixed up release ue ctx command.
2018-07-20 14:54:03 +01:00
Pedro Alvarez
f350fa5ec0
Small fixes in coding style.
2018-07-19 11:15:31 +01:00
Pedro Alvarez
b25c12a084
Fixing nas.cc
2018-07-18 19:25:59 +01:00
Pedro Alvarez
85672d4a3f
Fixing up s1ap.cc
2018-07-18 17:25:37 +01:00