LTESniffer: WIP

This commit is contained in:
Anton Bolshakov 2025-06-21 17:02:37 +08:00
parent fa75fabd66
commit 56f6706894
No known key found for this signature in database
GPG key ID: 32BDCED870788F04
3 changed files with 148 additions and 73 deletions

View file

@ -1,9 +1,9 @@
# Copyright 1999-2024 Gentoo Authors
# Copyright 2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit cmake
inherit cmake flag-o-matic
DESCRIPTION="LTE Downlink/Uplink Eavesdropper"
HOMEPAGE="https://github.com/SysSec-KAIST/LTESniffer"
@ -11,8 +11,9 @@ SRC_URI="https://github.com/SysSec-KAIST/LTESniffer/archive/refs/tags/LTESniffer
LICENSE="GPL-3"
SLOT="0"
# WIP
#KEYWORDS="~amd64 ~x86"
#KEYWORDS="amd64 ~x86"
S="${WORKDIR}/LTESniffer-LTESniffer-v${PV}"
@ -22,25 +23,26 @@ RDEPEND="net-misc/lksctp-tools
net-wireless/srsran2"
DEPEND="${RDEPEND}"
#src_prepare() {
# -Werror=maybe-uninitialized
# srsRAN-src/lib/include/srsran/srslog/bundled/fmt/core.h <- #include <array>
# sed '/set(CMAKE_CXX_FLAGS/d' -i CMakeLists.txt
src_prepare() {
cp ${FILESDIR}/cmake/modules/FindSRSRAN.cmake ./cmake/modules
cmake_src_prepare
}
# sed -i "s|WORK_DIR|${WORKDIR}|g" srcRAN-src/lib || die "sed failed"
# cmake_src_prepare
#}
#no-maybe-uninitialized
src_configure() {
# append-cxxflags $(test-flags-CXX -Wno-uninitialized)
# append-cxxflags $(test-flags-CXX -Wno-uninitialized -Wno-maybe-uninitialized)
local extraflags=(
"-Wno-maybe-uninitialized"
"-Wno-implicit-int"
"-Wno-implicit-function-declaration"
)
append-cflags $(test-flags-CC ${extraflags[@]})
local mycmakeargs=(
# -Wno-dev -Wno-uninitialized -Wno-maybe-uninitialized
-DENABLE_SOAPYSDR=ON
-DFORCE_SUBPROJECT_CMNALIB=OFF
-DFORCE_SUBPROJECT_SRSRAN=OFF
)
# option(DISABLE_SIMD "disable simd instructions" OFF)
# option(FORCE_SUBPROJECT_CMNALIB "Download and build CMNALIB" OFF)
# option(FORCE_SUBPROJECT_SRSRAN "Download and build SRSRAN" OFF)
@ -55,13 +57,3 @@ src_configure() {
cmake_src_configure
}
#src_install() {
# cmake_src_install
# find "${ED}" -name "*.py[co]" -delete || die
# python_optimize
#this isn't right, but cmake is broken somehow
# dodir /usr/share/${PN}
# cp -r "${S}/op25/gr-op25_repeater/apps" "${ED}/usr/share/${PN}" || die
#}

View file

@ -10,19 +10,26 @@
# SRSRAN_SRCDIR - Directory containing srsran sources
# SRSRAN_BUILDDIR - Directory containing srsran build
# /usr/lib64/libasn1_utils.a
# /usr/lib64/libsrsran_mac.a
# + /usr/lib64/libasn1_utils.a
# /usr/lib64/libnas_5g_msg.a
# /usr/lib64/libsrsran_common.a
# /usr/lib64/librrc_nr_asn1.a
# /usr/lib64/libngap_nr_asn1.a
# /usr/lib64/libs1ap_asn1.a
# /usr/lib64/librrc_asn1.a
# /usr/lib64/libsrsran_rlc.a
# /usr/lib64/libsrsran_phy.a
# /usr/lib64/libsrsran_pdcp.a
# /usr/lib64/librrc_nr_asn1.a
# /usr/lib64/libs1ap_asn1.a
# + /usr/lib64/libsrslog.a
# /usr/lib64/libsrsran_asn1.a
# + /usr/lib64/libsrsran_common.a
# /usr/lib64/libsrsran_gtpu.a
# /usr/lib64/libsrslog.a
# + /usr/lib64/libsrsran_mac.a
# + /usr/lib64/libsrsran_pdcp.a
# + /usr/lib64/libsrsran_phy.a
# + /usr/lib64/libsrsran_radio.a
# + /usr/lib64/libsrsran_rf.so
# + /usr/lib64/libsrsran_rf.so.0
# + /usr/lib64/libsrsran_rf.so.21.10.0
# + /usr/lib64/libsrsran_rlc.a
# + rf_utils
# + libsupport
find_package(PkgConfig)
pkg_check_modules(PC_SRSRAN QUIET srsran)
@ -40,7 +47,35 @@ FIND_PATH(
)
FIND_LIBRARY(
SRSRAN_LIBRARY
SRSRAN_LIBRARY_ASN1_UTILS
NAMES asn1_utils
HINTS $ENV{SRSRAN_DIR}/lib
${SRSRAN_BUILDDIR}/srsran/lib
${PC_SRSRAN_LIBDIR}
${CMAKE_INSTALL_PREFIX}/lib
${CMAKE_INSTALL_PREFIX}/lib64
PATHS /usr/local/lib
/usr/local/lib64
/usr/lib
/usr/lib64
)
FIND_LIBRARY(
SRSRAN_LIBRARY_SRSLOG
NAMES srslog
HINTS $ENV{SRSRAN_DIR}/lib
${SRSRAN_BUILDDIR}/srsran/lib
${PC_SRSRAN_LIBDIR}
${CMAKE_INSTALL_PREFIX}/lib
${CMAKE_INSTALL_PREFIX}/lib64
PATHS /usr/local/lib
/usr/local/lib64
/usr/lib
/usr/lib64
)
FIND_LIBRARY(
SRSRAN_LIBRARY_COMMON
NAMES srsran_common
HINTS $ENV{SRSRAN_DIR}/lib
${SRSRAN_BUILDDIR}/srsran/lib
@ -53,6 +88,20 @@ FIND_LIBRARY(
/usr/lib64
)
FIND_LIBRARY(
SRSRAN_LIBRARY_MAC
NAMES srsran_mac
HINTS $ENV{SRSRAN_DIR}/lib
${SRSRAN_BUILDDIR}/srsran/lib
${PC_SRSRAN_LIBDIR}
${CMAKE_INSTALL_PREFIX}/lib
${CMAKE_INSTALL_PREFIX}/lib64
PATHS /usr/local/lib
/usr/local/lib64
/usr/lib
/usr/lib64
)
FIND_LIBRARY(
SRSRAN_LIBRARY_RADIO
NAMES srsran_radio
@ -67,21 +116,6 @@ FIND_LIBRARY(
/usr/lib64
)
#FIND_LIBRARY(
# SRSRAN_LIBRARY_UPPER
# NAMES srsran_upper
# HINTS $ENV{SRSRAN_DIR}/lib
# ${SRSRAN_BUILDDIR}/srsran/lib
# ${PC_SRSRAN_LIBDIR}
# ${CMAKE_INSTALL_PREFIX}/lib
# ${CMAKE_INSTALL_PREFIX}/lib64
# PATHS /usr/local/lib
# /usr/local/lib64
# /usr/lib
# /usr/lib64
#)
FIND_LIBRARY(
SRSRAN_LIBRARY_ASN1
NAMES rrc_asn1
@ -96,6 +130,20 @@ FIND_LIBRARY(
/usr/lib64
)
FIND_LIBRARY(
SRSRAN_LIBRARY_PDCP
NAMES srsran_pdcp
HINTS $ENV{SRSRAN_DIR}/lib
${SRSRAN_BUILDDIR}/srsran/lib
${PC_SRSRAN_LIBDIR}
${CMAKE_INSTALL_PREFIX}/lib
${CMAKE_INSTALL_PREFIX}/lib64
PATHS /usr/local/lib
/usr/local/lib64
/usr/lib
/usr/lib64
)
FIND_LIBRARY(
SRSRAN_LIBRARY_PHY
NAMES srsran_phy
@ -110,6 +158,20 @@ FIND_LIBRARY(
/usr/lib64
)
FIND_LIBRARY(
SRSRAN_LIBRARY_RLC
NAMES srsran_rlc
HINTS $ENV{SRSRAN_DIR}/lib
${SRSRAN_BUILDDIR}/srsran/lib
${PC_SRSRAN_LIBDIR}
${CMAKE_INSTALL_PREFIX}/lib
${CMAKE_INSTALL_PREFIX}/lib64
PATHS /usr/local/lib
/usr/local/lib64
/usr/lib
/usr/lib64
)
FIND_LIBRARY(
SRSRAN_LIBRARY_RF
NAMES srsran_rf
@ -124,20 +186,33 @@ FIND_LIBRARY(
/usr/lib64
)
#FIND_LIBRARY(
# SRSRAN_LIBRARY_RF_UTILS
# NAMES srsran_rf_utils
# HINTS $ENV{SRSRAN_DIR}/lib
# ${SRSRAN_BUILDDIR}/srsran/lib
# ${PC_SRSRAN_LIBDIR}
# ${CMAKE_INSTALL_PREFIX}/lib
# ${CMAKE_INSTALL_PREFIX}/lib64
# PATHS /usr/local/lib
# /usr/local/lib64
# /usr/lib
# /usr/lib64
#)
FIND_LIBRARY(
SRSRAN_LIBRARY_RF_UTILS
NAMES srsran_rf_utils
HINTS $ENV{SRSRAN_DIR}/lib
${SRSRAN_BUILDDIR}/srsran/lib
${PC_SRSRAN_LIBDIR}
${CMAKE_INSTALL_PREFIX}/lib
${CMAKE_INSTALL_PREFIX}/lib64
PATHS /usr/local/lib
/usr/local/lib64
/usr/lib
/usr/lib64
)
FIND_LIBRARY(
SRSRAN_LIBRARY_SUPPORT
NAMES support
HINTS $ENV{SRSRAN_DIR}/lib
${SRSRAN_BUILDDIR}/srsran/lib
${PC_SRSRAN_LIBDIR}
${CMAKE_INSTALL_PREFIX}/lib
${CMAKE_INSTALL_PREFIX}/lib64
PATHS /usr/local/lib
/usr/local/lib64
/usr/lib
/usr/lib64
)
IF(DEFINED SRSRAN_SRCDIR)
set(SRSRAN_INCLUDE_DIRS ${SRSRAN_SRCDIR}/srsran
@ -149,13 +224,17 @@ IF(DEFINED SRSRAN_SRCDIR)
${SRSRAN_SRCDIR}/asn1)
ENDIF(DEFINED SRSRAN_SRCDIR)
# ${SRSRAN_LIBRARY_RF}
# ${SRSRAN_LIBRARY_RADIO}
set(SRSRAN_LIBRARIES ${SRSRAN_LIBRARY}
set(SRSRAN_LIBRARIES
${SRSRAN_LIBRARY_ASN1_UTILS}
${SRSRAN_LIBRARY_SRSLOG}
${SRSRAN_LIBRARY_SUPPORT}
${SRSRAN_LIBRARY_COMMON}
${SRSRAN_LIBRARY_RF_UTILS}
${SRSRAN_LIBRARY_PDCP}
${SRSRAN_LIBRARY_PHY}
# ${SRSRAN_LIBRARY_UPPER}
${SRSRAN_LIBRARY_ASN1}
${SRSRAN_LIBRARY_MAC}
${SRSRAN_LIBRARY_RLC}
)
if(SRSRAN_LIBRARY_RF)

View file

@ -109,7 +109,11 @@ src_install() {
for my_include in srsenb srsepc srsue
do
insinto "usr/include/srsran/${my_include}"
insinto "usr/include/${my_include}/hdr/"
doins -r "${S}/${my_include}/hdr"/*
done
}
#FIXME: build /usr/lib64/libsrsran_rf_utils.a (libsrsran_rf_utils.a)
# src/phy/rf/libsrsran_rf_utils.a
# src/support libsupport.a