aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPiotr Krysik <ptrkrysik@gmail.com>2017-03-30 10:55:08 +0200
committerPiotr Krysik <ptrkrysik@gmail.com>2017-03-30 10:55:08 +0200
commit8f121c1e7c3e052ffcb63904f56de4eec7741dc2 (patch)
treef9d25feee595a910b255bb54cf9996eafc61ff90
parentdd86a9986f429da9da8e7d72c45f0fc4c7336650 (diff)
Added interpretation of SC (start ciphering) field in cmc extractor
-rwxr-xr-xinclude/grgsm/misc_utils/extract_cmc.h1
-rwxr-xr-xlib/misc_utils/extract_cmc_impl.cc12
-rwxr-xr-xlib/misc_utils/extract_cmc_impl.h2
3 files changed, 12 insertions, 3 deletions
diff --git a/include/grgsm/misc_utils/extract_cmc.h b/include/grgsm/misc_utils/extract_cmc.h
index 8af12be..7b31564 100755
--- a/include/grgsm/misc_utils/extract_cmc.h
+++ b/include/grgsm/misc_utils/extract_cmc.h
@@ -52,6 +52,7 @@ namespace gr {
static sptr make();
virtual std::vector<int> get_framenumbers() = 0;
virtual std::vector<int> get_a5_versions() = 0;
+ virtual std::vector<int> get_start_ciphering() = 0;
};
} // namespace gsm
diff --git a/lib/misc_utils/extract_cmc_impl.cc b/lib/misc_utils/extract_cmc_impl.cc
index b367def..5fa6a6b 100755
--- a/lib/misc_utils/extract_cmc_impl.cc
+++ b/lib/misc_utils/extract_cmc_impl.cc
@@ -42,10 +42,11 @@ namespace gr {
if((msg_elements[3] & 0xF) == 0x6 && msg_elements[4] == 0x35)
{
-
- int frame_nr = be32toh(header->frame_number);
- int a5_version = ((msg_elements[5] & 0xE) >> 1) + 1;
+ int frame_nr = be32toh(header->frame_number);
+ int a5_version = ((msg_elements[5] & 0xE) >> 1) + 1; //10.5.2.9 Cipher Mode Setting
+ int start_ciphering = ((msg_elements[5] & 0x1));
+ d_start_ciphering.push_back(start_ciphering);
d_framenumbers.push_back(frame_nr);
d_a5_versions.push_back(a5_version);
}
@@ -60,6 +61,11 @@ namespace gr {
{
return d_a5_versions;
}
+
+ std::vector<int> extract_cmc_impl::get_start_ciphering()
+ {
+ return d_start_ciphering;
+ }
extract_cmc::sptr
extract_cmc::make()
diff --git a/lib/misc_utils/extract_cmc_impl.h b/lib/misc_utils/extract_cmc_impl.h
index fe97f22..fe03bc8 100755
--- a/lib/misc_utils/extract_cmc_impl.h
+++ b/lib/misc_utils/extract_cmc_impl.h
@@ -34,9 +34,11 @@ namespace gr {
void process_messages(pmt::pmt_t msg);
std::vector<int> d_framenumbers;
std::vector<int> d_a5_versions;
+ std::vector<int> d_start_ciphering;
public:
virtual std::vector<int> get_framenumbers();
virtual std::vector<int> get_a5_versions();
+ virtual std::vector<int> get_start_ciphering();
extract_cmc_impl();
~extract_cmc_impl();
};