Complete Yocto mirror with license table for TQMa6UL (2038-compliance)
- 264 license table entries with exact download URLs (224/264 resolved) - Complete sources/ directory with all BitBake recipes - Build configuration: tqma6ul-multi-mba6ulx, spaetzle (musl) - Full traceability for Softwarefreigabeantrag - GCC 13.4.0, Linux 6.6.102, U-Boot 2023.04, musl 1.2.4 - License distribution: GPL-2.0 (24), MIT (23), GPL-2.0+ (18), BSD-3 (16)
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
SUMMARY = "C++ framework for implementing distributed and networked applications"
|
||||
DESCRIPTION = "C++ network programming framework that implements many core \
|
||||
patterns for concurrent communication software"
|
||||
LICENSE = "ACE-TAO-CIAO"
|
||||
HOMEPAGE = "http://www.dre.vanderbilt.edu/~schmidt/ACE.html"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=d2c090e9c730fd91677782d8e2091d77"
|
||||
|
||||
DEPENDS += "openssl gperf-native"
|
||||
|
||||
SRC_URI = "https://github.com/DOCGroup/ACE_TAO/releases/download/ACE%2BTAO-6_5_19/ACE-${PV}.tar.bz2 \
|
||||
file://ace_config.patch \
|
||||
file://no_sysctl.patch \
|
||||
"
|
||||
SRC_URI[sha256sum] = "739be290a38229aaa5b5150e6ea55ce427e80970f0ace4c5040ac46644526f41"
|
||||
|
||||
COMPATIBLE_HOST:libc-musl = "null"
|
||||
|
||||
S = "${WORKDIR}/ACE_wrappers"
|
||||
B = "${WORKDIR}/ACE_wrappers/ace"
|
||||
export ACE_ROOT="${WORKDIR}/ACE_wrappers"
|
||||
|
||||
inherit pkgconfig
|
||||
|
||||
CXXFLAGS:append = " -fpermissive -Wnodeprecated-declarations"
|
||||
CXX:append = " -std=gnu++14 -ffile-prefix-map=${WORKDIR}= -fdebug-prefix-map=${WORKDIR}= "
|
||||
EXTRA_OEMAKE += "INSTALL_LIB=${baselib}"
|
||||
|
||||
do_install() {
|
||||
export D="${D}"
|
||||
oe_runmake install
|
||||
|
||||
for i in $(find ${D} -name "*.pc") ; do
|
||||
sed -i -e s:${D}::g \
|
||||
-e s:/${TARGET_SYS}::g \
|
||||
$i
|
||||
done
|
||||
|
||||
rm -r ${D}/usr/share
|
||||
}
|
||||
|
||||
UPSTREAM_CHECK_URI = "https://github.com/DOCGroup/ACE_TAO/releases"
|
||||
@@ -0,0 +1,13 @@
|
||||
Upstream-Status: Pending
|
||||
|
||||
diff -ruN ACE_wrappers1/ace/config.h ACE_wrappers/ace/config.h
|
||||
--- ACE_wrappers1/ace/config.h 1970-01-01 02:00:00.000000000 +0200
|
||||
+++ ACE_wrappers/ace/config.h 2019-01-10 13:36:52.698012477 +0200
|
||||
@@ -0,0 +1,1 @@
|
||||
+#include "ace/config-linux.h"
|
||||
diff -ruN ACE_wrappers1/include/makeinclude/platform_macros.GNU ACE_wrappers/include/makeinclude/platform_macros.GNU
|
||||
--- ACE_wrappers1/include/makeinclude/platform_macros.GNU 1970-01-01 02:00:00.000000000 +0200
|
||||
+++ ACE_wrappers/include/makeinclude/platform_macros.GNU 2018-10-31 15:11:18.265392460 +0200
|
||||
@@ -0,0 +1,2 @@
|
||||
+INSTALL_PREFIX = $(D)$(exec_prefix)
|
||||
+include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU
|
||||
@@ -0,0 +1,22 @@
|
||||
glibc >= 2.32 has removed sys/sysctl.h see
|
||||
|
||||
https://sourceware.org/git/?p=glibc.git;a=commit;h=076f09afbac1aa57756faa7a8feadb7936a724e4
|
||||
|
||||
This check therefore ensures that its only used on linux when glibc has support for it
|
||||
|
||||
Upstream-Status: Pending
|
||||
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
--- a/ace/config-linux.h
|
||||
+++ b/ace/config-linux.h
|
||||
@@ -20,6 +20,10 @@
|
||||
|
||||
#include "ace/config-linux-common.h"
|
||||
|
||||
+#if (__GLIBC__ > 2) || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 32)
|
||||
+# define ACE_LACKS_SYS_SYSCTL_H
|
||||
+#endif
|
||||
+
|
||||
#define ACE_HAS_BYTESEX_H
|
||||
|
||||
#if (defined _XOPEN_SOURCE && (_XOPEN_SOURCE - 0) >= 500)
|
||||
@@ -0,0 +1,80 @@
|
||||
# This is a sample Gammu SMSD configuration file. It's required for gammu-smsd,
|
||||
# see gammu-smsdrc(5) for documentation.
|
||||
|
||||
# Gammu configuration, this section is like section "gammu" in "gammurc" file,
|
||||
# see gammurc(5) for documentation.
|
||||
[gammu]
|
||||
device = /dev/ttyUSB0
|
||||
model = at115200
|
||||
#connection = dlr3
|
||||
#synchronizetime = yes
|
||||
#logfile = gammulog # this is not used at all in SMSD mode
|
||||
#logformat = textall
|
||||
#use_locking = yes
|
||||
#gammuloc = gammu.us
|
||||
#startinfo = yes
|
||||
|
||||
# When uncomment this section and insert numbers here, smsd will process
|
||||
# incoming sms only from numbers written here (incoming sms from all other
|
||||
# numbers will be deleted)
|
||||
#[include_numbers]
|
||||
#number1 = 1234
|
||||
|
||||
# When uncomment this section and insert numbers here, smsd will process
|
||||
# incoming sms from all numbers not written here (incoming sms from numbers
|
||||
# written here will be deleted). This is "black" list.
|
||||
# Note: after using "include_numbers" section this one will be ignored
|
||||
#[exclude_numbers]
|
||||
#number1 = 1234
|
||||
|
||||
# General SMSD settings, see gammu-smsdrc(5) for detailed description.
|
||||
[smsd]
|
||||
# SMSD service to use, one of FILES, MYSQL, PGSQL, DBI
|
||||
service = files
|
||||
# PIN for SIM card
|
||||
PIN = 0000
|
||||
# File (or stderr, syslog, eventlog) where information will be logged
|
||||
logfile = smsdlog
|
||||
# Amount of information being logged, each bit mean one level
|
||||
debuglevel = 0
|
||||
# Configuration for using more phones on same database
|
||||
#phoneid = MyPhone1
|
||||
# Script to be executed when new message has been received
|
||||
#runonreceive = /some/script
|
||||
# Commication frequency settings
|
||||
commtimeout = 30
|
||||
sendtimeout = 30
|
||||
#receivefrequency = 0
|
||||
|
||||
# Phone communication settings
|
||||
#checksecurity = 1
|
||||
#resetfrequency = 0
|
||||
|
||||
# Delivery report configuration
|
||||
#deliveryreport = no
|
||||
#deliveryreportdelay = 10
|
||||
|
||||
# Ignoring broken SMSC
|
||||
#skipsmscnumber = +48602123456
|
||||
|
||||
# Database backends congfiguration
|
||||
user = gammu
|
||||
password = gammupassword
|
||||
pc = localhost
|
||||
# pc can also contain port or socket path after colon (eg. localhost:/path/to/socket)
|
||||
database = sms
|
||||
|
||||
# DBI configuration
|
||||
driver = sqlite
|
||||
# driverspath = /usr/lib/dbd/
|
||||
# Database directory for sqlite
|
||||
# dbdir = /var/lib/smsd
|
||||
|
||||
# Files backend configuration
|
||||
inboxpath = /var/spool/sms/inbox/
|
||||
outboxpath = /var/spool/sms/outbox/
|
||||
sentsmspath = /var/spool/sms/sent/
|
||||
errorsmspath = /var/spool/sms/error/
|
||||
inboxformat = detail
|
||||
transmitformat = auto
|
||||
outboxformat = detail
|
||||
@@ -0,0 +1,173 @@
|
||||
; This is a sample ~/.gammurc file.
|
||||
; In Unix/Linux copy it into your home directory and name it .gammurc
|
||||
; or into /etc and name it gammurc
|
||||
; In Win32 copy it into directory with Gammu.exe and name gammurc
|
||||
; More about parameters later
|
||||
; Anything behind ; or # is comment.
|
||||
; -----------------------------------------------------------------------------
|
||||
|
||||
[gammu]
|
||||
|
||||
device = /dev/ttyUSB0
|
||||
connection = at115200
|
||||
; Do not use model configuration unless you really need it
|
||||
;model = 6110
|
||||
;synchronizetime = yes
|
||||
;logfile = gammulog
|
||||
;logformat = textall
|
||||
;use_locking = yes
|
||||
;gammuloc = locfile
|
||||
;startinfo = yes
|
||||
;gammucoding = utf8
|
||||
;usephonedb = yes
|
||||
|
||||
;[gammu1]
|
||||
|
||||
;device = com8:
|
||||
;model = 6110
|
||||
;connection = fbusblue
|
||||
;synchronizetime = yes
|
||||
;logfile = gammulog
|
||||
;logformat = textall
|
||||
;use_locking = yes
|
||||
;gammuloc = locfile
|
||||
;startinfo = yes
|
||||
;gammucoding = utf8
|
||||
|
||||
; Step 1. Please find required Connection parameter and look into assigned
|
||||
; with it device type. With some Connection you must set concrete model
|
||||
|
||||
; ================================================================ cables =====
|
||||
; New Nokia protocol for FBUS/DAU9P
|
||||
; Connection "fbus", device type serial
|
||||
; New Nokia protocol for DLR3/DLR3P
|
||||
; Connection "fbusdlr3"/"dlr3", device type serial
|
||||
; New Nokia protocol for DKU2 (and phone with USB converter on phone mainboard
|
||||
; like 6230)
|
||||
; Connection "dku2phonet"/"dku2", device type dku2 on Windows
|
||||
; Connection "fbususb" on Linux
|
||||
; New Nokia protocol for DKU5 (and phone without USB converter on phone
|
||||
; mainboard like 5100)
|
||||
; Connection "dku5fbus"/"dku5", device type dku5
|
||||
; New Nokia protocol for PL2303 USB cable (and phone without USB converter
|
||||
; on phone mainboard like 5100)
|
||||
; Connection "fbuspl2303", device type usb
|
||||
; Old Nokia protocol for MBUS/DAU9P
|
||||
; Connection "mbus", device type serial
|
||||
; Variants:
|
||||
; You can modify a bit behaviour of connection using additional flags
|
||||
; specified just after connection name like connection-variant.
|
||||
; If you're using ARK3116 cable (or any other which does not like dtr
|
||||
; handling), you might need -nodtr variant of connection, eg. dlr3-nodtr.
|
||||
; If cable you use is not powered over DTR/RTS, try using -nopower variant of
|
||||
; connection, eg. fbus-nopower.
|
||||
; -----------------------------------------------------------------------------
|
||||
; AT commands for DLR3, DKU5 or other AT compatible cable (8 bits, None
|
||||
; parity, no flow control, 1 stop bit). Used with Nokia, Alcatel, Siemens, etc.
|
||||
; Connection "at19200"/"at115200"/.., device type serial
|
||||
; AT commands for DKU2 cable
|
||||
; Connection "dku2at", device type dku2
|
||||
; ============================================================== infrared =====
|
||||
; Nokia protocol for infrared with Nokia 6110/6130/6150
|
||||
; Connection "fbusirda"/"infrared", device type serial
|
||||
; Nokia protocol for infrared with other Nokia models
|
||||
; Connection "irdaphonet"/"irda", device type irda
|
||||
; -----------------------------------------------------------------------------
|
||||
; AT commands for infrared. Used with Nokia, Alcatel, Siemens, etc.
|
||||
; Connection "irdaat", device type irda
|
||||
; -----------------------------------------------------------------------------
|
||||
; OBEX for infrared
|
||||
; Connection "irdaobex", device type irda.
|
||||
; ============================================================= Bluetooth =====
|
||||
; Nokia protocol with serial device set in BT stack (WidComm, other) from
|
||||
; adequate service and Nokia 6210
|
||||
; Connection "fbusblue", device type serial
|
||||
; Nokia protocol with serial device set in BT stack (WidComm, other) from
|
||||
; adequate service and other Nokia models
|
||||
; Connection "phonetblue", device type serial
|
||||
; -----------------------------------------------------------------------------
|
||||
; Nokia protocol for Bluetooth stack with Nokia 6210
|
||||
; Connection "bluerffbus", device type BT
|
||||
; Nokia protocol for Bluetooth stack with DCT4 Nokia models, which don't inform
|
||||
; about services correctly (6310, 6310i with firmware lower than 5.50, 8910,..)
|
||||
; Connection "bluerfphonet", device type BT
|
||||
; Nokia protocol for Bluetooth stack with other DCT4 Nokia models
|
||||
; Connection "bluephonet", device type BT
|
||||
; -----------------------------------------------------------------------------
|
||||
; AT commands for Bluetooth stack and 6210 / DCT4 Nokia models, which don't
|
||||
; inform about BT services correctly (6310, 6310i with firmware lower
|
||||
; than 5.50, 8910,..)
|
||||
; Connection "bluerfat", device type BT
|
||||
; AT commands for Bluetooth stack with other phones (Siemens, other Nokia,etc.)
|
||||
; Connection "blueat", device type BT
|
||||
; -----------------------------------------------------------------------------
|
||||
; OBEX for Bluetooth stack with DCT4 Nokia models, which don't inform about
|
||||
; BT services correctly (6310, 6310i with firmware lower than 5.50, 8910,...)
|
||||
; Connection "bluerfobex", device type BT
|
||||
; OBEX for Bluetooth stack with other phones (Siemens, other Nokia, etc.)
|
||||
; Connection "blueobex", device type BT.
|
||||
; -----------------------------------------------------------------------------
|
||||
; Connection "bluerfgnapbus", device type BT, model "gnap"
|
||||
; Connection "irdagnapbus", device type irda, model "gnap"
|
||||
|
||||
; Step2. According to device type from Step1 and used OS set Port parameter
|
||||
|
||||
; -----------------------------------------------------------------------------
|
||||
; Port type | "Port" parameter in Windows/DOS | "Port" parameter in Linux/Unix
|
||||
; ----------|---------------------------------|--------------------------------
|
||||
; serial | "com*:" | "/dev/ttyS*"
|
||||
; | (example "com1:") | (example "/dev/ttyS1")
|
||||
; | | or "/dev/tts/**" (with DevFS)
|
||||
; | | virtual serial ports like
|
||||
; | | "/dev/ircomm*" or "/dev/rfcomm*"
|
||||
; ----------|---------------------------------|--------------------------------
|
||||
; irda | ignored (can be empty) | ignored (can be empty)
|
||||
; ----------|---------------------------------|--------------------------------
|
||||
; BT | Bluetooth device address (example "00:11:22:33:44:55").
|
||||
; | Optionally you can also include channel after slash
|
||||
; | (example "00:11:22:33:44:55/12"). Can be also empty.
|
||||
; ----------|---------------------------------|--------------------------------
|
||||
; dku2 | ignored (can be empty) | /dev/ttyUSB* or /dev/ttyACM*
|
||||
; ----------|---------------------------------|--------------------------------
|
||||
; dku5 | ignored (can be empty) | connection with it not possible
|
||||
; ----------|---------------------------------|--------------------------------
|
||||
; usb | connection with it not possible | "/dev/ttyUSB*"
|
||||
|
||||
; Step3. Set other config parameters
|
||||
|
||||
; -----------------------------------------------------------------------------
|
||||
; Parameter name | Description
|
||||
; ----------------|------------------------------------------------------------
|
||||
; Model | Should not be used unless you have a good reason to do so.
|
||||
; | If Gammu doesn't recognize your phone model, put it here.
|
||||
; | Example values: "6110", "6150", "6210", "8210"
|
||||
; SynchronizeTime | if you want to set time from computer to phone during
|
||||
; | starting connection. Do not rather use this option when
|
||||
; | when to reset phone during connection (in some phones need
|
||||
; | to set time again after restart)
|
||||
; GammuLoc | name of localisation file
|
||||
; StartInfo | this option allow to set, that you want (setting "yes")
|
||||
; | to see message on the phone screen or phone should enable
|
||||
; | light for a moment during starting connection. Phone
|
||||
; | WON'T beep during starting connection with this option.
|
||||
; GammuCoding | forces using specified codepage (in win32 - for example
|
||||
; | "1250" will force CP1250) or UTF8 (in Linux - "utf8")
|
||||
; ----------------|------------------------------------------------------------
|
||||
; Logfile | Use, when want to have logfile from communication.
|
||||
; Logformat | What debug info and format should be used:
|
||||
; | "nothing" - no debug level (default)
|
||||
; | "text" - transmission dump in text format
|
||||
; | "textall" - all possible info in text format
|
||||
; | "errors" - errors in text format
|
||||
; | "binary" - transmission dump in binary format
|
||||
; ----------------|------------------------------------------------------------
|
||||
; Features | Custom features for phone. This can be used as override
|
||||
; | when values coded in common/gsmphones.c are bad or
|
||||
; | missing. Consult include/gammu-info.h for possible values
|
||||
; | (all Feature values without leading F_ prefix).
|
||||
; | Please report correct values to Gammu authors.
|
||||
; ----------------|------------------------------------------------------------
|
||||
; Use_Locking | under Unix/Linux use "yes", if want to lock used device
|
||||
; | to prevent using it by other applications. In win32 ignored
|
||||
|
||||
; vim: et ts=4 sw=4 sts=4 tw=78 spell spelllang=en_us
|
||||
@@ -0,0 +1,68 @@
|
||||
SUMMARY = "GNU All Mobile Managment Utilities"
|
||||
SECTION = "console/network"
|
||||
LICENSE = "GPL-2.0-only"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
|
||||
HOMEPAGE = "https://wammu.eu/"
|
||||
|
||||
SRC_URI = "https://dl.cihar.com/${BPN}/releases/${BP}.tar.xz \
|
||||
file://gammurc \
|
||||
file://gammu-smsdrc \
|
||||
"
|
||||
|
||||
SRC_URI[sha256sum] = "d8f152314d7e4d3d643610d742845e0a016ce97c234ad4b1151574e1b09651ee"
|
||||
|
||||
UPSTREAM_CHECK_URI = "https://dl.cihar.com/${BPN}/releases"
|
||||
|
||||
DEPENDS = "cmake-native virtual/libiconv libdbi mysql5 glib-2.0 udev libgudev unixodbc"
|
||||
|
||||
inherit cmake gettext
|
||||
|
||||
do_install:append() {
|
||||
# these files seem to only be used by symbian and trigger QA warnings
|
||||
rm -rf ${D}/usr/share/gammu
|
||||
#install default configuration files
|
||||
install -d ${D}${sysconfdir}
|
||||
install -m 0644 ${WORKDIR}/gammurc ${D}${sysconfdir}/gammurc
|
||||
install -m 0644 ${WORKDIR}/gammu-smsdrc ${D}${sysconfdir}/gammu-smsdrc
|
||||
}
|
||||
|
||||
EXTRA_OECONF = " \
|
||||
--enable-shared \
|
||||
--enable-backup \
|
||||
--enable-protection \
|
||||
"
|
||||
|
||||
EXTRA_OECMAKE = " \
|
||||
-DWITH_CURL=OFF \
|
||||
-DWITH_BLUETOOTH=OFF \
|
||||
-DWITH_NOKIA_SUPPORT=OFF \
|
||||
-DWITH_IRDA=OFF \
|
||||
-DWITH_MySQL=ON \
|
||||
-DWITH_Postgres=OFF \
|
||||
"
|
||||
|
||||
PACKAGES =+ "${PN}-smsd libgammu libgsmsd"
|
||||
|
||||
FILES:${PN} = "${bindir}/gammu ${bindir}/jadmaker ${sysconfdir}/bash_completion.d/gammu \
|
||||
${bindir}/gammu-detect ${sysconfdir}/gammurc"
|
||||
CONFFILES:${PN} = "${sysconfdir}/gammurc"
|
||||
FILES:${PN}-smsd = "${bindir}/gammu-smsd* ${sysconfdir}/gammu-smsdrc"
|
||||
CONFFILES:${PN}-smsd = "${sysconfdir}/gammu-smsdrc"
|
||||
FILES:${PN}-dev += "${bindir}/gammu-config ${libdir}/*.so"
|
||||
FILES:${PN}-dbg += "${bindir}/.debug ${libdir}/.debug"
|
||||
FILES:libgammu = "${libdir}/libGammu.so.*"
|
||||
FILES:libgsmsd = "${libdir}/libgsmsd.so.*"
|
||||
|
||||
RDEPENDS:${PN} += "bash"
|
||||
RDEPENDS:${PN}-dev += "bash"
|
||||
|
||||
# Fails to build with thumb-1 (qemuarm)
|
||||
# gammu-1.32.0/libgammu/service/sms/gsmems.c:542:1: internal compiler error: in patch_jump_insn, at cfgrtl.c:1275
|
||||
# | }
|
||||
# | ^
|
||||
# | Please submit a full bug report,
|
||||
# | with preprocessed source if appropriate.
|
||||
# | See <http://gcc.gnu.org/bugs.html> for instructions.
|
||||
# | make[2]: *** [libgammu/CMakeFiles/libGammu.dir/service/sms/gsmems.o] Error 1
|
||||
# | make[2]: *** Waiting for unfinished jobs....
|
||||
ARM_INSTRUCTION_SET = "arm"
|
||||
@@ -0,0 +1,49 @@
|
||||
From 96e8f0b2d13e890d9ffff8673f18dcc94290efb2 Mon Sep 17 00:00:00 2001
|
||||
From: Tim Orling <tim.orling@konsulko.com>
|
||||
Date: Thu, 13 Jan 2022 20:06:33 -0600
|
||||
Subject: [PATCH] setup.py: StrictVersion -> packaging.version.*
|
||||
|
||||
distutils is deprecated in Python 3.10 and will be removed in Python
|
||||
3.12 [1]
|
||||
|
||||
The recommended replacement for distutils.version is to use
|
||||
packaging.version
|
||||
|
||||
StrictVersion can be replaced by packaging.version.Version and helpers
|
||||
like packaging.version.parse()
|
||||
|
||||
[1] https://www.python.org/dev/peps/pep-0632/
|
||||
[2] https://packaging.pypa.io/en/latest/version.html
|
||||
|
||||
Upstream-Status: Submitted [https://github.com/gammu/python-gammu/pull/67]
|
||||
|
||||
Signed-off-by: Tim Orling <tim.orling@konsulko.com>
|
||||
---
|
||||
setup.py | 6 +++---
|
||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/setup.py b/setup.py
|
||||
index a458181..bffb09d 100755
|
||||
--- a/setup.py
|
||||
+++ b/setup.py
|
||||
@@ -30,7 +30,7 @@ import os
|
||||
import platform
|
||||
import subprocess
|
||||
import sys
|
||||
-from distutils.version import StrictVersion
|
||||
+from packaging.version import parse, Version
|
||||
|
||||
from setuptools import Extension, setup
|
||||
|
||||
@@ -112,9 +112,9 @@ class GammuConfig:
|
||||
with open(self.config_path(self.path)) as handle:
|
||||
for line in handle:
|
||||
if line.startswith("#define GAMMU_VERSION "):
|
||||
- version = line.split('"')[1]
|
||||
+ version = parse(line.split('"')[1])
|
||||
|
||||
- if version is None or StrictVersion(version) < StrictVersion(GAMMU_REQUIRED):
|
||||
+ if version is None or version < parse(GAMMU_REQUIRED):
|
||||
print("Too old Gammu version, please upgrade!")
|
||||
sys.exit(100)
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
SUMMARY = "Gammu bindings for Python"
|
||||
DESCRIPTION ="Python bindings for the Gammu library."
|
||||
HOMEPAGE = "https://wammu.eu/python-gammu/"
|
||||
BUGRACKER = "https://github.com/gammu/python-gammu/issues"
|
||||
LICENSE = "GPL-2.0-or-later"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
|
||||
|
||||
PYPI_PACKAGE = "python-gammu"
|
||||
|
||||
inherit pypi setuptools3 pkgconfig
|
||||
|
||||
SRC_URI += "file://0001-setup.py-StrictVersion-packaging.version.patch"
|
||||
SRC_URI[sha256sum] = "49fc70f01bc192c43ff3ec815e082df5261ea4c8d36a695e977734c4eb4df868"
|
||||
|
||||
S = "${WORKDIR}/python-gammu-${PV}"
|
||||
|
||||
DEPENDS += "gammu python3-packaging-native"
|
||||
|
||||
RDEPENDS:${PN} += "python3-asyncio python3-core python3-threading"
|
||||
|
||||
RRECOMMENDS:${PN} += "gammu"
|
||||
@@ -0,0 +1,72 @@
|
||||
From 87df05c3f83c563af76ab00567e7a1ab7a6ebc88 Mon Sep 17 00:00:00 2001
|
||||
From: Peter Rosin <peda@axentia.se>
|
||||
Date: Sat, 9 Nov 2019 15:42:03 +0100
|
||||
Subject: [PATCH] dbus: avoid 'strange' chars from the build dir in #defines
|
||||
|
||||
gdbus-codegen uses include guards with the full path dir, and if there
|
||||
are "bad" characters, such as '+', this fails miserably. E.g. Yocto has a
|
||||
tendency to build in directories named from the Yocto package version and
|
||||
that package version containing a '+' are not uncommon, and even the
|
||||
standard in certain scenarios such as when using ${SRCPV}.
|
||||
|
||||
Avoid the problem of the full path "leaking" into the source by avoiding
|
||||
the normal include guards and request "#pragma once" instead.
|
||||
|
||||
Signed-off-by: Peter Rosin <peda@axentia.se>
|
||||
---
|
||||
Upstream-Status: Pending
|
||||
|
||||
dbus/CMakeLists.txt | 12 ++++++------
|
||||
1 file changed, 6 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/dbus/CMakeLists.txt b/dbus/CMakeLists.txt
|
||||
index f5096ce10ecd..013c32239e12 100644
|
||||
--- a/dbus/CMakeLists.txt
|
||||
+++ b/dbus/CMakeLists.txt
|
||||
@@ -43,37 +43,37 @@ else()
|
||||
endif()
|
||||
|
||||
add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/org-bluez-adaptater1.c
|
||||
- COMMAND gdbus-codegen --interface-prefix org.bluez.Adapter1. --generate-c-code ${CMAKE_CURRENT_BINARY_DIR}/org-bluez-adaptater1 ${CMAKE_CURRENT_SOURCE_DIR}/${DBUS_BLUEZ_API}/org.bluez.Adapter1.xml
|
||||
+ COMMAND gdbus-codegen --pragma-once --interface-prefix org.bluez.Adapter1. --generate-c-code ${CMAKE_CURRENT_BINARY_DIR}/org-bluez-adaptater1 ${CMAKE_CURRENT_SOURCE_DIR}/${DBUS_BLUEZ_API}/org.bluez.Adapter1.xml
|
||||
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${DBUS_BLUEZ_API}/org.bluez.Adapter1.xml
|
||||
COMMENT "Generate D-Bus 'org.bluez.Adapter1.xml'"
|
||||
)
|
||||
|
||||
add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/org-bluez-device1.c
|
||||
- COMMAND gdbus-codegen --interface-prefix org.bluez.Device1. --generate-c-code ${CMAKE_CURRENT_BINARY_DIR}/org-bluez-device1 ${CMAKE_CURRENT_SOURCE_DIR}/${DBUS_BLUEZ_API}/org.bluez.Device1.xml
|
||||
+ COMMAND gdbus-codegen --pragma-once --interface-prefix org.bluez.Device1. --generate-c-code ${CMAKE_CURRENT_BINARY_DIR}/org-bluez-device1 ${CMAKE_CURRENT_SOURCE_DIR}/${DBUS_BLUEZ_API}/org.bluez.Device1.xml
|
||||
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${DBUS_BLUEZ_API}/org.bluez.Device1.xml
|
||||
COMMENT "Generate D-Bus 'org.bluez.Device1.xml'"
|
||||
)
|
||||
|
||||
add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/org-bluez-gattservice1.c
|
||||
- COMMAND gdbus-codegen --interface-prefix org.bluez.GattService1. --generate-c-code ${CMAKE_CURRENT_BINARY_DIR}/org-bluez-gattservice1 ${CMAKE_CURRENT_SOURCE_DIR}/${DBUS_BLUEZ_API}/org.bluez.GattService1.xml
|
||||
+ COMMAND gdbus-codegen --pragma-once --interface-prefix org.bluez.GattService1. --generate-c-code ${CMAKE_CURRENT_BINARY_DIR}/org-bluez-gattservice1 ${CMAKE_CURRENT_SOURCE_DIR}/${DBUS_BLUEZ_API}/org.bluez.GattService1.xml
|
||||
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${DBUS_BLUEZ_API}/org.bluez.GattService1.xml
|
||||
COMMENT "Generate D-Bus 'org.bluez.GattService1.xml'"
|
||||
)
|
||||
|
||||
add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/org-bluez-gattcharacteristic1.c
|
||||
- COMMAND gdbus-codegen --interface-prefix org.bluez.Characteristic1. --generate-c-code ${CMAKE_CURRENT_BINARY_DIR}/org-bluez-gattcharacteristic1 ${CMAKE_CURRENT_SOURCE_DIR}/${DBUS_BLUEZ_API}/org.bluez.GattCharacteristic1.xml
|
||||
+ COMMAND gdbus-codegen --pragma-once --interface-prefix org.bluez.Characteristic1. --generate-c-code ${CMAKE_CURRENT_BINARY_DIR}/org-bluez-gattcharacteristic1 ${CMAKE_CURRENT_SOURCE_DIR}/${DBUS_BLUEZ_API}/org.bluez.GattCharacteristic1.xml
|
||||
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${DBUS_BLUEZ_API}/org.bluez.GattCharacteristic1.xml
|
||||
COMMENT "Generate D-Bus 'org.bluez.GattCharacteristic1.xml'"
|
||||
)
|
||||
|
||||
add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/org-bluez-gattdescriptor1.c
|
||||
- COMMAND gdbus-codegen --interface-prefix org.bluez.Descriptor1. --generate-c-code ${CMAKE_CURRENT_BINARY_DIR}/org-bluez-gattdescriptor1 ${CMAKE_CURRENT_SOURCE_DIR}/${DBUS_BLUEZ_API}/org.bluez.GattDescriptor1.xml
|
||||
+ COMMAND gdbus-codegen --pragma-once --interface-prefix org.bluez.Descriptor1. --generate-c-code ${CMAKE_CURRENT_BINARY_DIR}/org-bluez-gattdescriptor1 ${CMAKE_CURRENT_SOURCE_DIR}/${DBUS_BLUEZ_API}/org.bluez.GattDescriptor1.xml
|
||||
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${DBUS_BLUEZ_API}/org.bluez.GattDescriptor1.xml
|
||||
COMMENT "Generate D-Bus 'org.bluez.GattDescriptor1.xml'"
|
||||
)
|
||||
|
||||
add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/org-bluez-battery1.c
|
||||
- COMMAND gdbus-codegen --interface-prefix org.bluez.Battery1. --generate-c-code ${CMAKE_CURRENT_BINARY_DIR}/org-bluez-battery1 ${CMAKE_CURRENT_SOURCE_DIR}/${DBUS_BLUEZ_API}/org.bluez.Battery1.xml
|
||||
+ COMMAND gdbus-codegen --pragma-once --interface-prefix org.bluez.Battery1. --generate-c-code ${CMAKE_CURRENT_BINARY_DIR}/org-bluez-battery1 ${CMAKE_CURRENT_SOURCE_DIR}/${DBUS_BLUEZ_API}/org.bluez.Battery1.xml
|
||||
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${DBUS_BLUEZ_API}/org.bluez.Battery1.xml
|
||||
COMMENT "Generate D-Bus 'org.bluez.Battery1.xml'"
|
||||
)
|
||||
--
|
||||
2.11.0
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
DESCRIPTION = "Bluetooth library with attribute support"
|
||||
SECTION = "libs/network"
|
||||
|
||||
LICENSE = "GPL-2.0-or-later | BSD-3-Clause"
|
||||
LIC_FILES_CHKSUM = "file://CMakeLists.txt;beginline=1;endline=6;md5=a87ee154f005a6f035b8b34ac2191f3b"
|
||||
|
||||
DEPENDS = "bluez5 glib-2.0 glib-2.0-native python3-packaging-native"
|
||||
|
||||
PV = "0.2+git"
|
||||
|
||||
SRC_URI = "git://github.com/labapart/gattlib.git;branch=master;protocol=https \
|
||||
file://dbus-avoid-strange-chars-from-the-build-dir.patch \
|
||||
"
|
||||
|
||||
SRCBRANCH = "master"
|
||||
SRCREV = "33a8a275928b186381bb0aea0f9778e330e57ec3"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
PACKAGECONFIG[examples] = "-DGATTLIB_BUILD_EXAMPLES=ON,-DGATTLIB_BUILD_EXAMPLES=OFF"
|
||||
|
||||
# Set this to force use of DBus API if Bluez version is older than 5.42
|
||||
PACKAGECONFIG[force-dbus] = "-DGATTLIB_FORCE_DBUS=TRUE,-DGATTLIB_FORCE_DBUS=FALSE"
|
||||
|
||||
EXTRA_OECMAKE += "-DGATTLIB_PYTHON_INTERFACE=OFF"
|
||||
EXTRA_OECMAKE += "-DGATTLIB_BUILD_DOCS=OFF"
|
||||
|
||||
inherit pkgconfig cmake python3native
|
||||
|
||||
do_compile:append() {
|
||||
for f in org-bluez-gattdescriptor1.c org-bluez-battery1.c org-bluez-adaptater1.c \
|
||||
org-bluez-device1.c org-bluez-gattservice1.c org-bluez-gattcharacteristic1.c; do
|
||||
sed -i -e 's|${B}/dbus/||g' ${B}/dbus/$f
|
||||
done
|
||||
}
|
||||
|
||||
FILES:${PN} = "${libdir}/*"
|
||||
FILES:${PN}-dev = "${includedir}/* ${libdir}/pkgconfig"
|
||||
@@ -0,0 +1,26 @@
|
||||
SUMMARY = "A library to abstract stream I/O like serial port, TCP, telnet, etc"
|
||||
HOMEPAGE = "https://github.com/cminyard/gensio"
|
||||
LICENSE = "GPL-2.0-only & LGPL-2.1-only"
|
||||
LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \
|
||||
file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
|
||||
"
|
||||
|
||||
SRCREV = "300644fc02b7099ca27ca5bac88c47e159ba8a6b"
|
||||
|
||||
SRC_URI = "git://github.com/cminyard/gensio;protocol=https;branch=master"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
inherit autotools
|
||||
|
||||
PACKAGECONFIG ??= "openssl tcp-wrappers"
|
||||
|
||||
PACKAGECONFIG[openssl] = "--with-openssl=${STAGING_DIR_HOST}${prefix},--without-openssl, openssl"
|
||||
PACKAGECONFIG[tcp-wrappers] = "--with-tcp-wrappers,--without-tcp-wrappers, tcp-wrappers"
|
||||
PACKAGECONFIG[swig] = "--with-swig,--without-swig, swig"
|
||||
|
||||
EXTRA_OECONF = "--without-python"
|
||||
|
||||
RDEPENDS:${PN} += "bash"
|
||||
|
||||
FILES:${PN}-staticdev += "${libexecdir}/gensio/${PV}/libgensio_*.a"
|
||||
@@ -0,0 +1,52 @@
|
||||
From 364c2da8741f0979dae497551e70b94c0e6c8636 Mon Sep 17 00:00:00 2001
|
||||
From: Jouni Malinen <j@w1.fi>
|
||||
Date: Sun, 7 Jul 2024 11:46:49 +0300
|
||||
Subject: [PATCH 1/3] SAE: Check for invalid Rejected Groups element length
|
||||
explicitly
|
||||
|
||||
Instead of practically ignoring an odd octet at the end of the element,
|
||||
check for such invalid case explicitly. This is needed to avoid a
|
||||
potential group downgrade attack.
|
||||
|
||||
Signed-off-by: Jouni Malinen <j@w1.fi>
|
||||
|
||||
CVE: CVE-2024-3596
|
||||
Upstream-Status: Backport [https://w1.fi/cgit/hostap/commit/?id=364c2da8741f0979dae497551e70b94c0e6c8636]
|
||||
Signed-off-by: Peter Marko <peter.marko@siemens.com>
|
||||
---
|
||||
src/ap/ieee802_11.c | 12 ++++++++++--
|
||||
1 file changed, 10 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/ap/ieee802_11.c b/src/ap/ieee802_11.c
|
||||
index db4104928..1a62e30cc 100644
|
||||
--- a/src/ap/ieee802_11.c
|
||||
+++ b/src/ap/ieee802_11.c
|
||||
@@ -1258,7 +1258,7 @@ static int check_sae_rejected_groups(struct hostapd_data *hapd,
|
||||
struct sae_data *sae)
|
||||
{
|
||||
const struct wpabuf *groups;
|
||||
- size_t i, count;
|
||||
+ size_t i, count, len;
|
||||
const u8 *pos;
|
||||
|
||||
if (!sae->tmp)
|
||||
@@ -1268,7 +1268,15 @@ static int check_sae_rejected_groups(struct hostapd_data *hapd,
|
||||
return 0;
|
||||
|
||||
pos = wpabuf_head(groups);
|
||||
- count = wpabuf_len(groups) / 2;
|
||||
+ len = wpabuf_len(groups);
|
||||
+ if (len & 1) {
|
||||
+ wpa_printf(MSG_DEBUG,
|
||||
+ "SAE: Invalid length of the Rejected Groups element payload: %zu",
|
||||
+ len);
|
||||
+ return 1;
|
||||
+ }
|
||||
+
|
||||
+ count = len / 2;
|
||||
for (i = 0; i < count; i++) {
|
||||
int enabled;
|
||||
u16 group;
|
||||
--
|
||||
2.30.2
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
From 9716bf1160beb677e965d9e6475d6c9e162e8374 Mon Sep 17 00:00:00 2001
|
||||
From: Jouni Malinen <j@w1.fi>
|
||||
Date: Tue, 9 Jul 2024 23:34:34 +0300
|
||||
Subject: [PATCH 3/3] SAE: Reject invalid Rejected Groups element in the parser
|
||||
|
||||
There is no need to depend on all uses (i.e., both hostapd and
|
||||
wpa_supplicant) to verify that the length of the Rejected Groups field
|
||||
in the Rejected Groups element is valid (i.e., a multiple of two octets)
|
||||
since the common parser can reject the message when detecting this.
|
||||
|
||||
Signed-off-by: Jouni Malinen <j@w1.fi>
|
||||
|
||||
Upstream-Status: Backport [https://w1.fi/cgit/hostap/commit/?id=9716bf1160beb677e965d9e6475d6c9e162e8374]
|
||||
Signed-off-by: Peter Marko <peter.marko@siemens.com>
|
||||
---
|
||||
src/common/sae.c | 6 ++++++
|
||||
1 file changed, 6 insertions(+)
|
||||
|
||||
diff --git a/src/common/sae.c b/src/common/sae.c
|
||||
index c0f154e91..620bdf753 100644
|
||||
--- a/src/common/sae.c
|
||||
+++ b/src/common/sae.c
|
||||
@@ -2076,6 +2076,12 @@ static int sae_parse_rejected_groups(struct sae_data *sae,
|
||||
return WLAN_STATUS_UNSPECIFIED_FAILURE;
|
||||
epos++; /* skip ext ID */
|
||||
len--;
|
||||
+ if (len & 1) {
|
||||
+ wpa_printf(MSG_DEBUG,
|
||||
+ "SAE: Invalid length of the Rejected Groups element payload: %u",
|
||||
+ len);
|
||||
+ return WLAN_STATUS_UNSPECIFIED_FAILURE;
|
||||
+ }
|
||||
|
||||
wpabuf_free(sae->tmp->peer_rejected_groups);
|
||||
sae->tmp->peer_rejected_groups = wpabuf_alloc(len);
|
||||
--
|
||||
2.30.2
|
||||
|
||||
@@ -0,0 +1,198 @@
|
||||
From 6c81c2d98dc5a8a6296820bd9f083faae2c788c3 Mon Sep 17 00:00:00 2001
|
||||
From: Jouni Malinen <j@w1.fi>
|
||||
Date: Sat, 8 Jul 2023 19:55:32 +0300
|
||||
Subject: [PATCH] PEAP client: Update Phase 2 authentication requirements
|
||||
|
||||
The previous PEAP client behavior allowed the server to skip Phase 2
|
||||
authentication with the expectation that the server was authenticated
|
||||
during Phase 1 through TLS server certificate validation. Various PEAP
|
||||
specifications are not exactly clear on what the behavior on this front
|
||||
is supposed to be and as such, this ended up being more flexible than
|
||||
the TTLS/FAST/TEAP cases. However, this is not really ideal when
|
||||
unfortunately common misconfiguration of PEAP is used in deployed
|
||||
devices where the server trust root (ca_cert) is not configured or the
|
||||
user has an easy option for allowing this validation step to be skipped.
|
||||
|
||||
Change the default PEAP client behavior to be to require Phase 2
|
||||
authentication to be successfully completed for cases where TLS session
|
||||
resumption is not used and the client certificate has not been
|
||||
configured. Those two exceptions are the main cases where a deployed
|
||||
authentication server might skip Phase 2 and as such, where a more
|
||||
strict default behavior could result in undesired interoperability
|
||||
issues. Requiring Phase 2 authentication will end up disabling TLS
|
||||
session resumption automatically to avoid interoperability issues.
|
||||
|
||||
Allow Phase 2 authentication behavior to be configured with a new phase1
|
||||
configuration parameter option:
|
||||
'phase2_auth' option can be used to control Phase 2 (i.e., within TLS
|
||||
tunnel) behavior for PEAP:
|
||||
* 0 = do not require Phase 2 authentication
|
||||
* 1 = require Phase 2 authentication when client certificate
|
||||
(private_key/client_cert) is no used and TLS session resumption was
|
||||
not used (default)
|
||||
* 2 = require Phase 2 authentication in all cases
|
||||
|
||||
Signed-off-by: Jouni Malinen <j@w1.fi>
|
||||
|
||||
CVE: CVE-2023-52160
|
||||
|
||||
Upstream-Status: Backport
|
||||
[https://w1.fi/cgit/hostap/commit/?id=8e6485a1bcb0baffdea9e55255a81270b768439c]
|
||||
|
||||
Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
|
||||
---
|
||||
src/eap_peer/eap_config.h | 8 +++++++
|
||||
src/eap_peer/eap_peap.c | 40 ++++++++++++++++++++++++++++++++---
|
||||
src/eap_peer/eap_tls_common.c | 6 ++++++
|
||||
src/eap_peer/eap_tls_common.h | 5 +++++
|
||||
4 files changed, 56 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/src/eap_peer/eap_config.h b/src/eap_peer/eap_config.h
|
||||
index 3238f74..047eec2 100644
|
||||
--- a/src/eap_peer/eap_config.h
|
||||
+++ b/src/eap_peer/eap_config.h
|
||||
@@ -469,6 +469,14 @@ struct eap_peer_config {
|
||||
* 1 = use cryptobinding if server supports it
|
||||
* 2 = require cryptobinding
|
||||
*
|
||||
+ * phase2_auth option can be used to control Phase 2 (i.e., within TLS
|
||||
+ * tunnel) behavior for PEAP:
|
||||
+ * 0 = do not require Phase 2 authentication
|
||||
+ * 1 = require Phase 2 authentication when client certificate
|
||||
+ * (private_key/client_cert) is no used and TLS session resumption was
|
||||
+ * not used (default)
|
||||
+ * 2 = require Phase 2 authentication in all cases
|
||||
+ *
|
||||
* EAP-WSC (WPS) uses following options: pin=Device_Password and
|
||||
* uuid=Device_UUID
|
||||
*
|
||||
diff --git a/src/eap_peer/eap_peap.c b/src/eap_peer/eap_peap.c
|
||||
index 12e30df..6080697 100644
|
||||
--- a/src/eap_peer/eap_peap.c
|
||||
+++ b/src/eap_peer/eap_peap.c
|
||||
@@ -67,6 +67,7 @@ struct eap_peap_data {
|
||||
u8 cmk[20];
|
||||
int soh; /* Whether IF-TNCCS-SOH (Statement of Health; Microsoft NAP)
|
||||
* is enabled. */
|
||||
+ enum { NO_AUTH, FOR_INITIAL, ALWAYS } phase2_auth;
|
||||
};
|
||||
|
||||
|
||||
@@ -114,6 +115,19 @@ static void eap_peap_parse_phase1(struct eap_peap_data *data,
|
||||
wpa_printf(MSG_DEBUG, "EAP-PEAP: Require cryptobinding");
|
||||
}
|
||||
|
||||
+ if (os_strstr(phase1, "phase2_auth=0")) {
|
||||
+ data->phase2_auth = NO_AUTH;
|
||||
+ wpa_printf(MSG_DEBUG,
|
||||
+ "EAP-PEAP: Do not require Phase 2 authentication");
|
||||
+ } else if (os_strstr(phase1, "phase2_auth=1")) {
|
||||
+ data->phase2_auth = FOR_INITIAL;
|
||||
+ wpa_printf(MSG_DEBUG,
|
||||
+ "EAP-PEAP: Require Phase 2 authentication for initial connection");
|
||||
+ } else if (os_strstr(phase1, "phase2_auth=2")) {
|
||||
+ data->phase2_auth = ALWAYS;
|
||||
+ wpa_printf(MSG_DEBUG,
|
||||
+ "EAP-PEAP: Require Phase 2 authentication for all cases");
|
||||
+ }
|
||||
#ifdef EAP_TNC
|
||||
if (os_strstr(phase1, "tnc=soh2")) {
|
||||
data->soh = 2;
|
||||
@@ -142,6 +156,7 @@ static void * eap_peap_init(struct eap_sm *sm)
|
||||
data->force_peap_version = -1;
|
||||
data->peap_outer_success = 2;
|
||||
data->crypto_binding = OPTIONAL_BINDING;
|
||||
+ data->phase2_auth = FOR_INITIAL;
|
||||
|
||||
if (config && config->phase1)
|
||||
eap_peap_parse_phase1(data, config->phase1);
|
||||
@@ -454,6 +469,20 @@ static int eap_tlv_validate_cryptobinding(struct eap_sm *sm,
|
||||
}
|
||||
|
||||
|
||||
+static bool peap_phase2_sufficient(struct eap_sm *sm,
|
||||
+ struct eap_peap_data *data)
|
||||
+{
|
||||
+ if ((data->phase2_auth == ALWAYS ||
|
||||
+ (data->phase2_auth == FOR_INITIAL &&
|
||||
+ !tls_connection_resumed(sm->ssl_ctx, data->ssl.conn) &&
|
||||
+ !data->ssl.client_cert_conf) ||
|
||||
+ data->phase2_eap_started) &&
|
||||
+ !data->phase2_eap_success)
|
||||
+ return false;
|
||||
+ return true;
|
||||
+}
|
||||
+
|
||||
+
|
||||
/**
|
||||
* eap_tlv_process - Process a received EAP-TLV message and generate a response
|
||||
* @sm: Pointer to EAP state machine allocated with eap_peer_sm_init()
|
||||
@@ -568,6 +597,11 @@ static int eap_tlv_process(struct eap_sm *sm, struct eap_peap_data *data,
|
||||
" - force failed Phase 2");
|
||||
resp_status = EAP_TLV_RESULT_FAILURE;
|
||||
ret->decision = DECISION_FAIL;
|
||||
+ } else if (!peap_phase2_sufficient(sm, data)) {
|
||||
+ wpa_printf(MSG_INFO,
|
||||
+ "EAP-PEAP: Server indicated Phase 2 success, but sufficient Phase 2 authentication has not been completed");
|
||||
+ resp_status = EAP_TLV_RESULT_FAILURE;
|
||||
+ ret->decision = DECISION_FAIL;
|
||||
} else {
|
||||
resp_status = EAP_TLV_RESULT_SUCCESS;
|
||||
ret->decision = DECISION_UNCOND_SUCC;
|
||||
@@ -887,8 +921,7 @@ continue_req:
|
||||
/* EAP-Success within TLS tunnel is used to indicate
|
||||
* shutdown of the TLS channel. The authentication has
|
||||
* been completed. */
|
||||
- if (data->phase2_eap_started &&
|
||||
- !data->phase2_eap_success) {
|
||||
+ if (!peap_phase2_sufficient(sm, data)) {
|
||||
wpa_printf(MSG_DEBUG, "EAP-PEAP: Phase 2 "
|
||||
"Success used to indicate success, "
|
||||
"but Phase 2 EAP was not yet "
|
||||
@@ -1199,8 +1232,9 @@ static struct wpabuf * eap_peap_process(struct eap_sm *sm, void *priv,
|
||||
static bool eap_peap_has_reauth_data(struct eap_sm *sm, void *priv)
|
||||
{
|
||||
struct eap_peap_data *data = priv;
|
||||
+
|
||||
return tls_connection_established(sm->ssl_ctx, data->ssl.conn) &&
|
||||
- data->phase2_success;
|
||||
+ data->phase2_success && data->phase2_auth != ALWAYS;
|
||||
}
|
||||
|
||||
|
||||
diff --git a/src/eap_peer/eap_tls_common.c b/src/eap_peer/eap_tls_common.c
|
||||
index c1837db..a53eeb1 100644
|
||||
--- a/src/eap_peer/eap_tls_common.c
|
||||
+++ b/src/eap_peer/eap_tls_common.c
|
||||
@@ -239,6 +239,12 @@ static int eap_tls_params_from_conf(struct eap_sm *sm,
|
||||
|
||||
sm->ext_cert_check = !!(params->flags & TLS_CONN_EXT_CERT_CHECK);
|
||||
|
||||
+ if (!phase2)
|
||||
+ data->client_cert_conf = params->client_cert ||
|
||||
+ params->client_cert_blob ||
|
||||
+ params->private_key ||
|
||||
+ params->private_key_blob;
|
||||
+
|
||||
return 0;
|
||||
}
|
||||
|
||||
diff --git a/src/eap_peer/eap_tls_common.h b/src/eap_peer/eap_tls_common.h
|
||||
index 9ac0012..3348634 100644
|
||||
--- a/src/eap_peer/eap_tls_common.h
|
||||
+++ b/src/eap_peer/eap_tls_common.h
|
||||
@@ -79,6 +79,11 @@ struct eap_ssl_data {
|
||||
* tls_v13 - Whether TLS v1.3 or newer is used
|
||||
*/
|
||||
int tls_v13;
|
||||
+
|
||||
+ /**
|
||||
+ * client_cert_conf: Whether client certificate has been configured
|
||||
+ */
|
||||
+ bool client_cert_conf;
|
||||
};
|
||||
|
||||
|
||||
--
|
||||
2.25.1
|
||||
|
||||
@@ -0,0 +1,83 @@
|
||||
From 945acf3ef06a6c312927da4fa055693dbac432d1 Mon Sep 17 00:00:00 2001
|
||||
From: Jouni Malinen <j@w1.fi>
|
||||
Date: Sat, 2 Apr 2022 16:28:12 +0300
|
||||
Subject: [PATCH 1/9] ieee802_11_auth: Coding style cleanup - no string
|
||||
constant splitting
|
||||
|
||||
Signed-off-by: Jouni Malinen <j@w1.fi>
|
||||
|
||||
CVE: CVE-2024-3596
|
||||
Upstream-Status: Backport [https://w1.fi/cgit/hostap/commit/?id=945acf3ef06a6c312927da4fa055693dbac432d1]
|
||||
Signed-off-by: Peter Marko <peter.marko@siemens.com>
|
||||
---
|
||||
src/ap/ieee802_11_auth.c | 27 +++++++++++++++------------
|
||||
1 file changed, 15 insertions(+), 12 deletions(-)
|
||||
|
||||
diff --git a/src/ap/ieee802_11_auth.c b/src/ap/ieee802_11_auth.c
|
||||
index 783ee6dea..47cc625be 100644
|
||||
--- a/src/ap/ieee802_11_auth.c
|
||||
+++ b/src/ap/ieee802_11_auth.c
|
||||
@@ -267,16 +267,16 @@ int hostapd_allowed_address(struct hostapd_data *hapd, const u8 *addr,
|
||||
os_get_reltime(&query->timestamp);
|
||||
os_memcpy(query->addr, addr, ETH_ALEN);
|
||||
if (hostapd_radius_acl_query(hapd, addr, query)) {
|
||||
- wpa_printf(MSG_DEBUG, "Failed to send Access-Request "
|
||||
- "for ACL query.");
|
||||
+ wpa_printf(MSG_DEBUG,
|
||||
+ "Failed to send Access-Request for ACL query.");
|
||||
hostapd_acl_query_free(query);
|
||||
return HOSTAPD_ACL_REJECT;
|
||||
}
|
||||
|
||||
query->auth_msg = os_memdup(msg, len);
|
||||
if (query->auth_msg == NULL) {
|
||||
- wpa_printf(MSG_ERROR, "Failed to allocate memory for "
|
||||
- "auth frame.");
|
||||
+ wpa_printf(MSG_ERROR,
|
||||
+ "Failed to allocate memory for auth frame.");
|
||||
hostapd_acl_query_free(query);
|
||||
return HOSTAPD_ACL_REJECT;
|
||||
}
|
||||
@@ -467,19 +467,21 @@ hostapd_acl_recv_radius(struct radius_msg *msg, struct radius_msg *req,
|
||||
if (query == NULL)
|
||||
return RADIUS_RX_UNKNOWN;
|
||||
|
||||
- wpa_printf(MSG_DEBUG, "Found matching Access-Request for RADIUS "
|
||||
- "message (id=%d)", query->radius_id);
|
||||
+ wpa_printf(MSG_DEBUG,
|
||||
+ "Found matching Access-Request for RADIUS message (id=%d)",
|
||||
+ query->radius_id);
|
||||
|
||||
if (radius_msg_verify(msg, shared_secret, shared_secret_len, req, 0)) {
|
||||
- wpa_printf(MSG_INFO, "Incoming RADIUS packet did not have "
|
||||
- "correct authenticator - dropped\n");
|
||||
+ wpa_printf(MSG_INFO,
|
||||
+ "Incoming RADIUS packet did not have correct authenticator - dropped");
|
||||
return RADIUS_RX_INVALID_AUTHENTICATOR;
|
||||
}
|
||||
|
||||
if (hdr->code != RADIUS_CODE_ACCESS_ACCEPT &&
|
||||
hdr->code != RADIUS_CODE_ACCESS_REJECT) {
|
||||
- wpa_printf(MSG_DEBUG, "Unknown RADIUS message code %d to ACL "
|
||||
- "query", hdr->code);
|
||||
+ wpa_printf(MSG_DEBUG,
|
||||
+ "Unknown RADIUS message code %d to ACL query",
|
||||
+ hdr->code);
|
||||
return RADIUS_RX_UNKNOWN;
|
||||
}
|
||||
|
||||
@@ -506,8 +508,9 @@ hostapd_acl_recv_radius(struct radius_msg *msg, struct radius_msg *req,
|
||||
msg, RADIUS_ATTR_ACCT_INTERIM_INTERVAL,
|
||||
&info->acct_interim_interval) == 0 &&
|
||||
info->acct_interim_interval < 60) {
|
||||
- wpa_printf(MSG_DEBUG, "Ignored too small "
|
||||
- "Acct-Interim-Interval %d for STA " MACSTR,
|
||||
+ wpa_printf(MSG_DEBUG,
|
||||
+ "Ignored too small Acct-Interim-Interval %d for STA "
|
||||
+ MACSTR,
|
||||
info->acct_interim_interval,
|
||||
MAC2STR(query->addr));
|
||||
info->acct_interim_interval = 0;
|
||||
--
|
||||
2.30.2
|
||||
|
||||
@@ -0,0 +1,165 @@
|
||||
From adac846bd0e258a0aa50750bbd2b411fa0085c46 Mon Sep 17 00:00:00 2001
|
||||
From: Jouni Malinen <j@w1.fi>
|
||||
Date: Sat, 16 Mar 2024 11:11:44 +0200
|
||||
Subject: [PATCH 2/9] RADIUS: Allow Message-Authenticator attribute as the
|
||||
first attribute
|
||||
|
||||
If a Message-Authenticator attribute was already added to a RADIUS
|
||||
message, use that attribute instead of adding a new one when finishing
|
||||
message building. This allows the Message-Authenticator attribute to be
|
||||
placed as the first attribute in the message.
|
||||
|
||||
Signed-off-by: Jouni Malinen <j@w1.fi>
|
||||
|
||||
CVE: CVE-2024-3596
|
||||
Upstream-Status: Backport [https://w1.fi/cgit/hostap/commit/?id=adac846bd0e258a0aa50750bbd2b411fa0085c46]
|
||||
Signed-off-by: Peter Marko <peter.marko@siemens.com>
|
||||
---
|
||||
src/radius/radius.c | 85 ++++++++++++++++++++++++++++-----------------
|
||||
src/radius/radius.h | 1 +
|
||||
2 files changed, 54 insertions(+), 32 deletions(-)
|
||||
|
||||
diff --git a/src/radius/radius.c b/src/radius/radius.c
|
||||
index be16e27b9..2d2e00b5c 100644
|
||||
--- a/src/radius/radius.c
|
||||
+++ b/src/radius/radius.c
|
||||
@@ -364,25 +364,54 @@ void radius_msg_dump(struct radius_msg *msg)
|
||||
}
|
||||
|
||||
|
||||
+u8 * radius_msg_add_msg_auth(struct radius_msg *msg)
|
||||
+{
|
||||
+ u8 auth[MD5_MAC_LEN];
|
||||
+ struct radius_attr_hdr *attr;
|
||||
+
|
||||
+ os_memset(auth, 0, MD5_MAC_LEN);
|
||||
+ attr = radius_msg_add_attr(msg, RADIUS_ATTR_MESSAGE_AUTHENTICATOR,
|
||||
+ auth, MD5_MAC_LEN);
|
||||
+ if (!attr) {
|
||||
+ wpa_printf(MSG_ERROR,
|
||||
+ "WARNING: Could not add Message-Authenticator");
|
||||
+ return NULL;
|
||||
+ }
|
||||
+
|
||||
+ return (u8 *) (attr + 1);
|
||||
+}
|
||||
+
|
||||
+
|
||||
+static u8 * radius_msg_auth_pos(struct radius_msg *msg)
|
||||
+{
|
||||
+ u8 *pos;
|
||||
+ size_t alen;
|
||||
+
|
||||
+ if (radius_msg_get_attr_ptr(msg, RADIUS_ATTR_MESSAGE_AUTHENTICATOR,
|
||||
+ &pos, &alen, NULL) == 0 &&
|
||||
+ alen == MD5_MAC_LEN) {
|
||||
+ /* Use already added Message-Authenticator attribute */
|
||||
+ return pos;
|
||||
+ }
|
||||
+
|
||||
+ /* Add a Message-Authenticator attribute */
|
||||
+ return radius_msg_add_msg_auth(msg);
|
||||
+}
|
||||
+
|
||||
+
|
||||
int radius_msg_finish(struct radius_msg *msg, const u8 *secret,
|
||||
size_t secret_len)
|
||||
{
|
||||
if (secret) {
|
||||
- u8 auth[MD5_MAC_LEN];
|
||||
- struct radius_attr_hdr *attr;
|
||||
+ u8 *pos;
|
||||
|
||||
- os_memset(auth, 0, MD5_MAC_LEN);
|
||||
- attr = radius_msg_add_attr(msg,
|
||||
- RADIUS_ATTR_MESSAGE_AUTHENTICATOR,
|
||||
- auth, MD5_MAC_LEN);
|
||||
- if (attr == NULL) {
|
||||
- wpa_printf(MSG_WARNING, "RADIUS: Could not add "
|
||||
- "Message-Authenticator");
|
||||
+ pos = radius_msg_auth_pos(msg);
|
||||
+ if (!pos)
|
||||
return -1;
|
||||
- }
|
||||
msg->hdr->length = host_to_be16(wpabuf_len(msg->buf));
|
||||
- hmac_md5(secret, secret_len, wpabuf_head(msg->buf),
|
||||
- wpabuf_len(msg->buf), (u8 *) (attr + 1));
|
||||
+ if (hmac_md5(secret, secret_len, wpabuf_head(msg->buf),
|
||||
+ wpabuf_len(msg->buf), pos) < 0)
|
||||
+ return -1;
|
||||
} else
|
||||
msg->hdr->length = host_to_be16(wpabuf_len(msg->buf));
|
||||
|
||||
@@ -398,23 +427,19 @@ int radius_msg_finish(struct radius_msg *msg, const u8 *secret,
|
||||
int radius_msg_finish_srv(struct radius_msg *msg, const u8 *secret,
|
||||
size_t secret_len, const u8 *req_authenticator)
|
||||
{
|
||||
- u8 auth[MD5_MAC_LEN];
|
||||
- struct radius_attr_hdr *attr;
|
||||
const u8 *addr[4];
|
||||
size_t len[4];
|
||||
+ u8 *pos;
|
||||
|
||||
- os_memset(auth, 0, MD5_MAC_LEN);
|
||||
- attr = radius_msg_add_attr(msg, RADIUS_ATTR_MESSAGE_AUTHENTICATOR,
|
||||
- auth, MD5_MAC_LEN);
|
||||
- if (attr == NULL) {
|
||||
- wpa_printf(MSG_ERROR, "WARNING: Could not add Message-Authenticator");
|
||||
+ pos = radius_msg_auth_pos(msg);
|
||||
+ if (!pos)
|
||||
return -1;
|
||||
- }
|
||||
msg->hdr->length = host_to_be16(wpabuf_len(msg->buf));
|
||||
os_memcpy(msg->hdr->authenticator, req_authenticator,
|
||||
sizeof(msg->hdr->authenticator));
|
||||
- hmac_md5(secret, secret_len, wpabuf_head(msg->buf),
|
||||
- wpabuf_len(msg->buf), (u8 *) (attr + 1));
|
||||
+ if (hmac_md5(secret, secret_len, wpabuf_head(msg->buf),
|
||||
+ wpabuf_len(msg->buf), pos) < 0)
|
||||
+ return -1;
|
||||
|
||||
/* ResponseAuth = MD5(Code+ID+Length+RequestAuth+Attributes+Secret) */
|
||||
addr[0] = (u8 *) msg->hdr;
|
||||
@@ -442,21 +467,17 @@ int radius_msg_finish_das_resp(struct radius_msg *msg, const u8 *secret,
|
||||
{
|
||||
const u8 *addr[2];
|
||||
size_t len[2];
|
||||
- u8 auth[MD5_MAC_LEN];
|
||||
- struct radius_attr_hdr *attr;
|
||||
+ u8 *pos;
|
||||
|
||||
- os_memset(auth, 0, MD5_MAC_LEN);
|
||||
- attr = radius_msg_add_attr(msg, RADIUS_ATTR_MESSAGE_AUTHENTICATOR,
|
||||
- auth, MD5_MAC_LEN);
|
||||
- if (attr == NULL) {
|
||||
- wpa_printf(MSG_WARNING, "Could not add Message-Authenticator");
|
||||
+ pos = radius_msg_auth_pos(msg);
|
||||
+ if (!pos)
|
||||
return -1;
|
||||
- }
|
||||
|
||||
msg->hdr->length = host_to_be16(wpabuf_len(msg->buf));
|
||||
os_memcpy(msg->hdr->authenticator, req_hdr->authenticator, 16);
|
||||
- hmac_md5(secret, secret_len, wpabuf_head(msg->buf),
|
||||
- wpabuf_len(msg->buf), (u8 *) (attr + 1));
|
||||
+ if (hmac_md5(secret, secret_len, wpabuf_head(msg->buf),
|
||||
+ wpabuf_len(msg->buf), pos) < 0)
|
||||
+ return -1;
|
||||
|
||||
/* ResponseAuth = MD5(Code+ID+Length+RequestAuth+Attributes+Secret) */
|
||||
addr[0] = wpabuf_head_u8(msg->buf);
|
||||
diff --git a/src/radius/radius.h b/src/radius/radius.h
|
||||
index fb8148180..6b9dfbca2 100644
|
||||
--- a/src/radius/radius.h
|
||||
+++ b/src/radius/radius.h
|
||||
@@ -240,6 +240,7 @@ struct wpabuf * radius_msg_get_buf(struct radius_msg *msg);
|
||||
struct radius_msg * radius_msg_new(u8 code, u8 identifier);
|
||||
void radius_msg_free(struct radius_msg *msg);
|
||||
void radius_msg_dump(struct radius_msg *msg);
|
||||
+u8 * radius_msg_add_msg_auth(struct radius_msg *msg);
|
||||
int radius_msg_finish(struct radius_msg *msg, const u8 *secret,
|
||||
size_t secret_len);
|
||||
int radius_msg_finish_srv(struct radius_msg *msg, const u8 *secret,
|
||||
--
|
||||
2.30.2
|
||||
|
||||
@@ -0,0 +1,62 @@
|
||||
From 54abb0d3cf35894e7d86e3f7555e95b106306803 Mon Sep 17 00:00:00 2001
|
||||
From: Jouni Malinen <j@w1.fi>
|
||||
Date: Sat, 16 Mar 2024 11:13:32 +0200
|
||||
Subject: [PATCH 3/9] RADIUS server: Place Message-Authenticator attribute as
|
||||
the first one
|
||||
|
||||
Move the Message-Authenticator attribute to be the first attribute in
|
||||
the RADIUS messages. This mitigates certain MD5 attacks against
|
||||
RADIUS/UDP.
|
||||
|
||||
Signed-off-by: Jouni Malinen <j@w1.fi>
|
||||
|
||||
CVE: CVE-2024-3596
|
||||
Upstream-Status: Backport [https://w1.fi/cgit/hostap/commit/?id=54abb0d3cf35894e7d86e3f7555e95b106306803]
|
||||
Signed-off-by: Peter Marko <peter.marko@siemens.com>
|
||||
---
|
||||
src/radius/radius_server.c | 15 +++++++++++++++
|
||||
1 file changed, 15 insertions(+)
|
||||
|
||||
diff --git a/src/radius/radius_server.c b/src/radius/radius_server.c
|
||||
index e02c21540..fa3691548 100644
|
||||
--- a/src/radius/radius_server.c
|
||||
+++ b/src/radius/radius_server.c
|
||||
@@ -920,6 +920,11 @@ radius_server_encapsulate_eap(struct radius_server_data *data,
|
||||
return NULL;
|
||||
}
|
||||
|
||||
+ if (!radius_msg_add_msg_auth(msg)) {
|
||||
+ radius_msg_free(msg);
|
||||
+ return NULL;
|
||||
+ }
|
||||
+
|
||||
sess_id = htonl(sess->sess_id);
|
||||
if (code == RADIUS_CODE_ACCESS_CHALLENGE &&
|
||||
!radius_msg_add_attr(msg, RADIUS_ATTR_STATE,
|
||||
@@ -1204,6 +1209,11 @@ radius_server_macacl(struct radius_server_data *data,
|
||||
return NULL;
|
||||
}
|
||||
|
||||
+ if (!radius_msg_add_msg_auth(msg)) {
|
||||
+ radius_msg_free(msg);
|
||||
+ return NULL;
|
||||
+ }
|
||||
+
|
||||
if (radius_msg_copy_attr(msg, request, RADIUS_ATTR_PROXY_STATE) < 0) {
|
||||
RADIUS_DEBUG("Failed to copy Proxy-State attribute(s)");
|
||||
radius_msg_free(msg);
|
||||
@@ -1253,6 +1263,11 @@ static int radius_server_reject(struct radius_server_data *data,
|
||||
return -1;
|
||||
}
|
||||
|
||||
+ if (!radius_msg_add_msg_auth(msg)) {
|
||||
+ radius_msg_free(msg);
|
||||
+ return -1;
|
||||
+ }
|
||||
+
|
||||
os_memset(&eapfail, 0, sizeof(eapfail));
|
||||
eapfail.code = EAP_CODE_FAILURE;
|
||||
eapfail.identifier = 0;
|
||||
--
|
||||
2.30.2
|
||||
|
||||
@@ -0,0 +1,52 @@
|
||||
From 37fe8e48ab44d44fe3cf5dd8f52cb0a10be0cd17 Mon Sep 17 00:00:00 2001
|
||||
From: Jouni Malinen <j@w1.fi>
|
||||
Date: Sat, 16 Mar 2024 11:22:43 +0200
|
||||
Subject: [PATCH 5/9] hostapd: Move Message-Authenticator attribute to be the
|
||||
first one in req
|
||||
|
||||
Even if this is not strictly speaking necessary for mitigating certain
|
||||
RADIUS protocol attacks, be consistent with the RADIUS server behavior
|
||||
and move the Message-Authenticator attribute to be the first attribute
|
||||
in the message from RADIUS client in hostapd.
|
||||
|
||||
Signed-off-by: Jouni Malinen <j@w1.fi>
|
||||
|
||||
CVE: CVE-2024-3596
|
||||
Upstream-Status: Backport [https://w1.fi/cgit/hostap/commit/?id=37fe8e48ab44d44fe3cf5dd8f52cb0a10be0cd17]
|
||||
Signed-off-by: Peter Marko <peter.marko@siemens.com>
|
||||
---
|
||||
src/ap/ieee802_11_auth.c | 3 +++
|
||||
src/ap/ieee802_1x.c | 3 +++
|
||||
2 files changed, 6 insertions(+)
|
||||
|
||||
diff --git a/src/ap/ieee802_11_auth.c b/src/ap/ieee802_11_auth.c
|
||||
index 47cc625be..2a950cf7f 100644
|
||||
--- a/src/ap/ieee802_11_auth.c
|
||||
+++ b/src/ap/ieee802_11_auth.c
|
||||
@@ -119,6 +119,9 @@ static int hostapd_radius_acl_query(struct hostapd_data *hapd, const u8 *addr,
|
||||
goto fail;
|
||||
}
|
||||
|
||||
+ if (!radius_msg_add_msg_auth(msg))
|
||||
+ goto fail;
|
||||
+
|
||||
os_snprintf(buf, sizeof(buf), RADIUS_ADDR_FORMAT, MAC2STR(addr));
|
||||
if (!radius_msg_add_attr(msg, RADIUS_ATTR_USER_NAME, (u8 *) buf,
|
||||
os_strlen(buf))) {
|
||||
diff --git a/src/ap/ieee802_1x.c b/src/ap/ieee802_1x.c
|
||||
index 753c88335..89e3dd30e 100644
|
||||
--- a/src/ap/ieee802_1x.c
|
||||
+++ b/src/ap/ieee802_1x.c
|
||||
@@ -702,6 +702,9 @@ void ieee802_1x_encapsulate_radius(struct hostapd_data *hapd,
|
||||
goto fail;
|
||||
}
|
||||
|
||||
+ if (!radius_msg_add_msg_auth(msg))
|
||||
+ goto fail;
|
||||
+
|
||||
if (sm->identity &&
|
||||
!radius_msg_add_attr(msg, RADIUS_ATTR_USER_NAME,
|
||||
sm->identity, sm->identity_len)) {
|
||||
--
|
||||
2.30.2
|
||||
|
||||
@@ -0,0 +1,51 @@
|
||||
From f54157077f799d84ce26bed6ad6b01c4a16e31cf Mon Sep 17 00:00:00 2001
|
||||
From: Jouni Malinen <j@w1.fi>
|
||||
Date: Sat, 16 Mar 2024 11:26:58 +0200
|
||||
Subject: [PATCH 6/9] RADIUS DAS: Move Message-Authenticator attribute to be
|
||||
the first one
|
||||
|
||||
Even if this might not be strictly speaking necessary for mitigating
|
||||
certain RADIUS protocol attacks, be consistent with the RADIUS server
|
||||
behavior and move the Message-Authenticator attribute to be the first
|
||||
attribute in the RADIUS DAS responses from hostapd.
|
||||
|
||||
Signed-off-by: Jouni Malinen <j@w1.fi>
|
||||
|
||||
CVE: CVE-2024-3596
|
||||
Upstream-Status: Backport [https://w1.fi/cgit/hostap/commit/?id=f54157077f799d84ce26bed6ad6b01c4a16e31cf]
|
||||
Signed-off-by: Peter Marko <peter.marko@siemens.com>
|
||||
---
|
||||
src/radius/radius_das.c | 10 ++++++++++
|
||||
1 file changed, 10 insertions(+)
|
||||
|
||||
diff --git a/src/radius/radius_das.c b/src/radius/radius_das.c
|
||||
index aaa3fc267..8d7c9b4c4 100644
|
||||
--- a/src/radius/radius_das.c
|
||||
+++ b/src/radius/radius_das.c
|
||||
@@ -177,6 +177,11 @@ fail:
|
||||
if (reply == NULL)
|
||||
return NULL;
|
||||
|
||||
+ if (!radius_msg_add_msg_auth(reply)) {
|
||||
+ radius_msg_free(reply);
|
||||
+ return NULL;
|
||||
+ }
|
||||
+
|
||||
if (error) {
|
||||
if (!radius_msg_add_attr_int32(reply, RADIUS_ATTR_ERROR_CAUSE,
|
||||
error)) {
|
||||
@@ -368,6 +373,11 @@ fail:
|
||||
if (!reply)
|
||||
return NULL;
|
||||
|
||||
+ if (!radius_msg_add_msg_auth(reply)) {
|
||||
+ radius_msg_free(reply);
|
||||
+ return NULL;
|
||||
+ }
|
||||
+
|
||||
if (error &&
|
||||
!radius_msg_add_attr_int32(reply, RADIUS_ATTR_ERROR_CAUSE, error)) {
|
||||
radius_msg_free(reply);
|
||||
--
|
||||
2.30.2
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
From 934b0c3a45ce0726560ccefbd992a9d385c36385 Mon Sep 17 00:00:00 2001
|
||||
From: Jouni Malinen <j@w1.fi>
|
||||
Date: Sat, 16 Mar 2024 11:31:37 +0200
|
||||
Subject: [PATCH 7/9] Require Message-Authenticator in Access-Reject even
|
||||
without EAP-Message
|
||||
|
||||
Do not allow the exception for missing Message-Authenticator in
|
||||
Access-Reject without EAP-Message. While such exception is allowed in
|
||||
RADIUS definition, there is no strong reason to maintain this since
|
||||
Access-Reject is supposed to include EAP-Message and even if it doesn't,
|
||||
discarding Access-Reject will result in the connection not completing.
|
||||
|
||||
Signed-off-by: Jouni Malinen <j@w1.fi>
|
||||
|
||||
CVE: CVE-2024-3596
|
||||
Upstream-Status: Backport [https://w1.fi/cgit/hostap/commit/?id=934b0c3a45ce0726560ccefbd992a9d385c36385]
|
||||
Signed-off-by: Peter Marko <peter.marko@siemens.com>
|
||||
---
|
||||
src/ap/ieee802_1x.c | 11 +----------
|
||||
1 file changed, 1 insertion(+), 10 deletions(-)
|
||||
|
||||
diff --git a/src/ap/ieee802_1x.c b/src/ap/ieee802_1x.c
|
||||
index 89e3dd30e..6e7b75128 100644
|
||||
--- a/src/ap/ieee802_1x.c
|
||||
+++ b/src/ap/ieee802_1x.c
|
||||
@@ -1939,16 +1939,7 @@ ieee802_1x_receive_auth(struct radius_msg *msg, struct radius_msg *req,
|
||||
}
|
||||
sta = sm->sta;
|
||||
|
||||
- /* RFC 2869, Ch. 5.13: valid Message-Authenticator attribute MUST be
|
||||
- * present when packet contains an EAP-Message attribute */
|
||||
- if (hdr->code == RADIUS_CODE_ACCESS_REJECT &&
|
||||
- radius_msg_get_attr(msg, RADIUS_ATTR_MESSAGE_AUTHENTICATOR, NULL,
|
||||
- 0) < 0 &&
|
||||
- radius_msg_get_attr(msg, RADIUS_ATTR_EAP_MESSAGE, NULL, 0) < 0) {
|
||||
- wpa_printf(MSG_DEBUG,
|
||||
- "Allowing RADIUS Access-Reject without Message-Authenticator since it does not include EAP-Message");
|
||||
- } else if (radius_msg_verify(msg, shared_secret, shared_secret_len,
|
||||
- req, 1)) {
|
||||
+ if (radius_msg_verify(msg, shared_secret, shared_secret_len, req, 1)) {
|
||||
wpa_printf(MSG_INFO,
|
||||
"Incoming RADIUS packet did not have correct Message-Authenticator - dropped");
|
||||
return RADIUS_RX_INVALID_AUTHENTICATOR;
|
||||
--
|
||||
2.30.2
|
||||
|
||||
@@ -0,0 +1,105 @@
|
||||
From 58097123ec5ea6f8276b38cb9b07669ec368a6c1 Mon Sep 17 00:00:00 2001
|
||||
From: Jouni Malinen <j@w1.fi>
|
||||
Date: Sun, 17 Mar 2024 10:42:56 +0200
|
||||
Subject: [PATCH 8/9] RADIUS: Require Message-Authenticator attribute in MAC
|
||||
ACL cases
|
||||
|
||||
hostapd required Message-Authenticator attribute to be included in EAP
|
||||
authentication cases, but that requirement was not in place for MAC ACL
|
||||
cases. Start requiring Message-Authenticator attribute for MAC ACL by
|
||||
default. Unlike the EAP case, this can still be disabled with
|
||||
radius_require_message_authenticator=1 to maintain compatibility with
|
||||
some RADIUS servers when used in a network where the connection to such
|
||||
a server is secure.
|
||||
|
||||
Signed-off-by: Jouni Malinen <j@w1.fi>
|
||||
|
||||
CVE: CVE-2024-3596
|
||||
Upstream-Status: Backport [https://w1.fi/cgit/hostap/commit/?id=58097123ec5ea6f8276b38cb9b07669ec368a6c1]
|
||||
Signed-off-by: Peter Marko <peter.marko@siemens.com>
|
||||
---
|
||||
hostapd/config_file.c | 3 +++
|
||||
hostapd/hostapd.conf | 11 +++++++++++
|
||||
src/ap/ap_config.c | 1 +
|
||||
src/ap/ap_config.h | 1 +
|
||||
src/ap/ieee802_11_auth.c | 4 +++-
|
||||
5 files changed, 19 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/hostapd/config_file.c b/hostapd/config_file.c
|
||||
index b14728d1b..af1e81d1d 100644
|
||||
--- a/hostapd/config_file.c
|
||||
+++ b/hostapd/config_file.c
|
||||
@@ -2806,6 +2806,9 @@ static int hostapd_config_fill(struct hostapd_config *conf,
|
||||
bss->radius->acct_server->shared_secret_len = len;
|
||||
} else if (os_strcmp(buf, "radius_retry_primary_interval") == 0) {
|
||||
bss->radius->retry_primary_interval = atoi(pos);
|
||||
+ } else if (os_strcmp(buf,
|
||||
+ "radius_require_message_authenticator") == 0) {
|
||||
+ bss->radius_require_message_authenticator = atoi(pos);
|
||||
} else if (os_strcmp(buf, "radius_acct_interim_interval") == 0) {
|
||||
bss->acct_interim_interval = atoi(pos);
|
||||
} else if (os_strcmp(buf, "radius_request_cui") == 0) {
|
||||
diff --git a/hostapd/hostapd.conf b/hostapd/hostapd.conf
|
||||
index 3c2019f73..c055946a6 100644
|
||||
--- a/hostapd/hostapd.conf
|
||||
+++ b/hostapd/hostapd.conf
|
||||
@@ -1447,6 +1447,17 @@ own_ip_addr=127.0.0.1
|
||||
# currently used secondary server is still working.
|
||||
#radius_retry_primary_interval=600
|
||||
|
||||
+# Message-Authenticator attribute requirement for non-EAP cases
|
||||
+# hostapd requires Message-Authenticator attribute to be included in all cases
|
||||
+# where RADIUS is used for EAP authentication. This is also required for cases
|
||||
+# where RADIUS is used for MAC ACL (macaddr_acl=2) by default, but that case
|
||||
+# can be configured to not require this for compatibility with RADIUS servers
|
||||
+# that do not include the attribute. This is not recommended due to potential
|
||||
+# security concerns, but can be used as a temporary workaround in networks where
|
||||
+# the connection to the RADIUS server is secure.
|
||||
+# 0 = Do not require Message-Authenticator in MAC ACL response
|
||||
+# 1 = Require Message-Authenticator in all authentication cases (default)
|
||||
+#radius_require_message_authenticator=1
|
||||
|
||||
# Interim accounting update interval
|
||||
# If this is set (larger than 0) and acct_server is configured, hostapd will
|
||||
diff --git a/src/ap/ap_config.c b/src/ap/ap_config.c
|
||||
index 86b6e097c..cf497a180 100644
|
||||
--- a/src/ap/ap_config.c
|
||||
+++ b/src/ap/ap_config.c
|
||||
@@ -120,6 +120,7 @@ void hostapd_config_defaults_bss(struct hostapd_bss_config *bss)
|
||||
#endif /* CONFIG_IEEE80211R_AP */
|
||||
|
||||
bss->radius_das_time_window = 300;
|
||||
+ bss->radius_require_message_authenticator = 1;
|
||||
|
||||
bss->anti_clogging_threshold = 5;
|
||||
bss->sae_sync = 5;
|
||||
diff --git a/src/ap/ap_config.h b/src/ap/ap_config.h
|
||||
index 49cd3168a..22ad617f4 100644
|
||||
--- a/src/ap/ap_config.h
|
||||
+++ b/src/ap/ap_config.h
|
||||
@@ -302,6 +302,7 @@ struct hostapd_bss_config {
|
||||
struct hostapd_ip_addr own_ip_addr;
|
||||
char *nas_identifier;
|
||||
struct hostapd_radius_servers *radius;
|
||||
+ int radius_require_message_authenticator;
|
||||
int acct_interim_interval;
|
||||
int radius_request_cui;
|
||||
struct hostapd_radius_attr *radius_auth_req_attr;
|
||||
diff --git a/src/ap/ieee802_11_auth.c b/src/ap/ieee802_11_auth.c
|
||||
index 2a950cf7f..dab9bcde3 100644
|
||||
--- a/src/ap/ieee802_11_auth.c
|
||||
+++ b/src/ap/ieee802_11_auth.c
|
||||
@@ -474,7 +474,9 @@ hostapd_acl_recv_radius(struct radius_msg *msg, struct radius_msg *req,
|
||||
"Found matching Access-Request for RADIUS message (id=%d)",
|
||||
query->radius_id);
|
||||
|
||||
- if (radius_msg_verify(msg, shared_secret, shared_secret_len, req, 0)) {
|
||||
+ if (radius_msg_verify(
|
||||
+ msg, shared_secret, shared_secret_len, req,
|
||||
+ hapd->conf->radius_require_message_authenticator)) {
|
||||
wpa_printf(MSG_INFO,
|
||||
"Incoming RADIUS packet did not have correct authenticator - dropped");
|
||||
return RADIUS_RX_INVALID_AUTHENTICATOR;
|
||||
--
|
||||
2.30.2
|
||||
|
||||
@@ -0,0 +1,47 @@
|
||||
From f302d9f9646704cce745734af21d540baa0da65f Mon Sep 17 00:00:00 2001
|
||||
From: Jouni Malinen <j@w1.fi>
|
||||
Date: Sun, 17 Mar 2024 10:47:58 +0200
|
||||
Subject: [PATCH 9/9] RADIUS: Check Message-Authenticator if it is present even
|
||||
if not required
|
||||
|
||||
Always check the Message-Authenticator attribute in a received RADIUS
|
||||
message if it is present. Previously, this would have been skipped if
|
||||
the attribute was not required to be present.
|
||||
|
||||
Signed-off-by: Jouni Malinen <j@w1.fi>
|
||||
|
||||
CVE: CVE-2024-3596
|
||||
Upstream-Status: Backport [https://w1.fi/cgit/hostap/commit/?id=f302d9f9646704cce745734af21d540baa0da65f]
|
||||
Signed-off-by: Peter Marko <peter.marko@siemens.com>
|
||||
---
|
||||
src/radius/radius.c | 14 ++++++++++++++
|
||||
1 file changed, 14 insertions(+)
|
||||
|
||||
diff --git a/src/radius/radius.c b/src/radius/radius.c
|
||||
index 2d2e00b5c..a0e3ce399 100644
|
||||
--- a/src/radius/radius.c
|
||||
+++ b/src/radius/radius.c
|
||||
@@ -879,6 +879,20 @@ int radius_msg_verify(struct radius_msg *msg, const u8 *secret,
|
||||
return 1;
|
||||
}
|
||||
|
||||
+ if (!auth) {
|
||||
+ u8 *pos;
|
||||
+ size_t alen;
|
||||
+
|
||||
+ if (radius_msg_get_attr_ptr(msg,
|
||||
+ RADIUS_ATTR_MESSAGE_AUTHENTICATOR,
|
||||
+ &pos, &alen, NULL) == 0) {
|
||||
+ /* Check the Message-Authenticator attribute since it
|
||||
+ * was included even if we are configured to not
|
||||
+ * require it. */
|
||||
+ auth = 1;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
if (auth &&
|
||||
radius_msg_verify_msg_auth(msg, secret, secret_len,
|
||||
sent_msg->hdr->authenticator)) {
|
||||
--
|
||||
2.30.2
|
||||
|
||||
@@ -0,0 +1,148 @@
|
||||
# Example hostapd build time configuration
|
||||
#
|
||||
# This file lists the configuration options that are used when building the
|
||||
# hostapd binary. All lines starting with # are ignored. Configuration option
|
||||
# lines must be commented out complete, if they are not to be included, i.e.,
|
||||
# just setting VARIABLE=n is not disabling that variable.
|
||||
#
|
||||
# This file is included in Makefile, so variables like CFLAGS and LIBS can also
|
||||
# be modified from here. In most cass, these lines should use += in order not
|
||||
# to override previous values of the variables.
|
||||
|
||||
# Driver interface for Host AP driver
|
||||
CONFIG_DRIVER_HOSTAP=y
|
||||
|
||||
# Driver interface for wired authenticator
|
||||
CONFIG_DRIVER_WIRED=y
|
||||
|
||||
# Driver interface for madwifi driver
|
||||
#CONFIG_DRIVER_MADWIFI=y
|
||||
#CFLAGS += -I../../madwifi # change to the madwifi source directory
|
||||
|
||||
# Driver interface for Prism54 driver
|
||||
CONFIG_DRIVER_PRISM54=y
|
||||
|
||||
# Driver interface for drivers using the nl80211 kernel interface
|
||||
CONFIG_DRIVER_NL80211=y
|
||||
CONFIG_LIBNL32=y
|
||||
# driver_nl80211.c requires a rather new libnl (version 1.1) which may not be
|
||||
# shipped with your distribution yet. If that is the case, you need to build
|
||||
# newer libnl version and point the hostapd build to use it.
|
||||
#LIBNL=/usr/src/libnl
|
||||
#CFLAGS += -I$(LIBNL)/include
|
||||
#LIBS += -L$(LIBNL)/lib
|
||||
|
||||
# Driver interface for FreeBSD net80211 layer (e.g., Atheros driver)
|
||||
#CONFIG_DRIVER_BSD=y
|
||||
#CFLAGS += -I/usr/local/include
|
||||
#LIBS += -L/usr/local/lib
|
||||
|
||||
# Driver interface for no driver (e.g., RADIUS server only)
|
||||
#CONFIG_DRIVER_NONE=y
|
||||
|
||||
# IEEE 802.11F/IAPP
|
||||
CONFIG_IAPP=y
|
||||
|
||||
# WPA2/IEEE 802.11i RSN pre-authentication
|
||||
CONFIG_RSN_PREAUTH=y
|
||||
|
||||
# PeerKey handshake for Station to Station Link (IEEE 802.11e DLS)
|
||||
CONFIG_PEERKEY=y
|
||||
|
||||
# IEEE 802.11w (management frame protection)
|
||||
# This version is an experimental implementation based on IEEE 802.11w/D1.0
|
||||
# draft and is subject to change since the standard has not yet been finalized.
|
||||
# Driver support is also needed for IEEE 802.11w.
|
||||
#CONFIG_IEEE80211W=y
|
||||
|
||||
# Integrated EAP server
|
||||
CONFIG_EAP=y
|
||||
|
||||
# EAP-MD5 for the integrated EAP server
|
||||
CONFIG_EAP_MD5=y
|
||||
|
||||
# EAP-TLS for the integrated EAP server
|
||||
CONFIG_EAP_TLS=y
|
||||
|
||||
# EAP-MSCHAPv2 for the integrated EAP server
|
||||
CONFIG_EAP_MSCHAPV2=y
|
||||
|
||||
# EAP-PEAP for the integrated EAP server
|
||||
CONFIG_EAP_PEAP=y
|
||||
|
||||
# EAP-GTC for the integrated EAP server
|
||||
CONFIG_EAP_GTC=y
|
||||
|
||||
# EAP-TTLS for the integrated EAP server
|
||||
CONFIG_EAP_TTLS=y
|
||||
|
||||
# EAP-SIM for the integrated EAP server
|
||||
#CONFIG_EAP_SIM=y
|
||||
|
||||
# EAP-AKA for the integrated EAP server
|
||||
#CONFIG_EAP_AKA=y
|
||||
|
||||
# EAP-AKA' for the integrated EAP server
|
||||
# This requires CONFIG_EAP_AKA to be enabled, too.
|
||||
#CONFIG_EAP_AKA_PRIME=y
|
||||
|
||||
# EAP-PAX for the integrated EAP server
|
||||
#CONFIG_EAP_PAX=y
|
||||
|
||||
# EAP-PSK for the integrated EAP server (this is _not_ needed for WPA-PSK)
|
||||
#CONFIG_EAP_PSK=y
|
||||
|
||||
# EAP-SAKE for the integrated EAP server
|
||||
#CONFIG_EAP_SAKE=y
|
||||
|
||||
# EAP-GPSK for the integrated EAP server
|
||||
#CONFIG_EAP_GPSK=y
|
||||
# Include support for optional SHA256 cipher suite in EAP-GPSK
|
||||
#CONFIG_EAP_GPSK_SHA256=y
|
||||
|
||||
# EAP-FAST for the integrated EAP server
|
||||
# Note: Default OpenSSL package does not include support for all the
|
||||
# functionality needed for EAP-FAST. If EAP-FAST is enabled with OpenSSL,
|
||||
# the OpenSSL library must be patched (openssl-0.9.9-session-ticket.patch)
|
||||
# to add the needed functions.
|
||||
#CONFIG_EAP_FAST=y
|
||||
|
||||
# Wi-Fi Protected Setup (WPS)
|
||||
CONFIG_WPS=y
|
||||
# Enable UPnP support for external WPS Registrars
|
||||
#CONFIG_WPS_UPNP=y
|
||||
|
||||
# EAP-IKEv2
|
||||
#CONFIG_EAP_IKEV2=y
|
||||
|
||||
# Trusted Network Connect (EAP-TNC)
|
||||
#CONFIG_EAP_TNC=y
|
||||
|
||||
# PKCS#12 (PFX) support (used to read private key and certificate file from
|
||||
# a file that usually has extension .p12 or .pfx)
|
||||
CONFIG_PKCS12=y
|
||||
|
||||
# RADIUS authentication server. This provides access to the integrated EAP
|
||||
# server from external hosts using RADIUS.
|
||||
CONFIG_RADIUS_SERVER=y
|
||||
|
||||
# Build IPv6 support for RADIUS operations
|
||||
CONFIG_IPV6=y
|
||||
|
||||
# IEEE Std 802.11r-2008 (Fast BSS Transition)
|
||||
#CONFIG_IEEE80211R=y
|
||||
|
||||
# Use the hostapd's IEEE 802.11 authentication (ACL), but without
|
||||
# the IEEE 802.11 Management capability (e.g., madwifi or FreeBSD/net80211)
|
||||
CONFIG_DRIVER_RADIUS_ACL=y
|
||||
|
||||
# IEEE 802.11n (High Throughput) support
|
||||
CONFIG_IEEE80211N=y
|
||||
|
||||
# IEEE 802.11ac (Very High Throughput) support
|
||||
CONFIG_IEEE80211AC=y
|
||||
|
||||
# Remove debugging code that is printing out debug messages to stdout.
|
||||
# This can be used to reduce the size of the hostapd considerably if debugging
|
||||
# code is not needed.
|
||||
#CONFIG_NO_STDOUT_DEBUG=y
|
||||
@@ -0,0 +1,11 @@
|
||||
[Unit]
|
||||
Description=Hostapd IEEE 802.11 AP, IEEE 802.1X/WPA/WPA2/EAP/RADIUS Authenticator
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
Type=forking
|
||||
PIDFile=/run/hostapd.pid
|
||||
ExecStart=@SBINDIR@/hostapd @SYSCONFDIR@/hostapd.conf -P /run/hostapd.pid -B
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
@@ -0,0 +1,58 @@
|
||||
#!/bin/sh
|
||||
DAEMON=/usr/sbin/hostapd
|
||||
NAME=hostapd
|
||||
DESC="HOSTAP Daemon"
|
||||
ARGS="/etc/hostapd.conf -B"
|
||||
|
||||
test -f $DAEMON || exit 0
|
||||
|
||||
set -e
|
||||
|
||||
# source function library
|
||||
. /etc/init.d/functions
|
||||
|
||||
delay_stop() {
|
||||
count=0
|
||||
while [ $count -lt 9 ] ; do
|
||||
if pidof $DAEMON >/dev/null; then
|
||||
sleep 1
|
||||
else
|
||||
return 0
|
||||
fi
|
||||
count=`expr $count + 1`
|
||||
done
|
||||
echo "Failed to stop $DESC."
|
||||
return 1
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
echo -n "Starting $DESC: "
|
||||
start-stop-daemon -S -x $DAEMON -- $ARGS
|
||||
echo "$NAME."
|
||||
;;
|
||||
stop)
|
||||
echo -n "Stopping $DESC: "
|
||||
start-stop-daemon -K --oknodo -x $DAEMON
|
||||
echo "$NAME."
|
||||
;;
|
||||
restart)
|
||||
$0 stop
|
||||
delay_stop && $0 start
|
||||
;;
|
||||
reload)
|
||||
echo -n "Reloading $DESC: "
|
||||
killall -HUP $(basename ${DAEMON})
|
||||
echo "$NAME."
|
||||
;;
|
||||
status)
|
||||
status $DAEMON
|
||||
exit $?
|
||||
;;
|
||||
*)
|
||||
echo "Usage: $0 {start|stop|restart|reload|status}"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
exit 0
|
||||
@@ -0,0 +1,59 @@
|
||||
SUMMARY = "User space daemon for extended IEEE 802.11 management"
|
||||
HOMEPAGE = "http://w1.fi/hostapd/"
|
||||
SECTION = "kernel/userland"
|
||||
LICENSE = "BSD-3-Clause"
|
||||
LIC_FILES_CHKSUM = "file://hostapd/README;beginline=5;endline=47;md5=aa03b8bd6216d1a7ca01fd4b89863073"
|
||||
|
||||
DEPENDS = "libnl openssl"
|
||||
|
||||
SRC_URI = " \
|
||||
http://w1.fi/releases/hostapd-${PV}.tar.gz \
|
||||
file://defconfig \
|
||||
file://init \
|
||||
file://hostapd.service \
|
||||
file://CVE-2024-3596_00.patch \
|
||||
file://CVE-2024-3596_01.patch \
|
||||
file://CVE-2024-3596_02.patch \
|
||||
file://CVE-2024-3596_04.patch \
|
||||
file://CVE-2024-3596_05.patch \
|
||||
file://CVE-2024-3596_06.patch \
|
||||
file://CVE-2024-3596_07.patch \
|
||||
file://CVE-2024-3596_08.patch \
|
||||
file://0001-SAE-Check-for-invalid-Rejected-Groups-element-length.patch \
|
||||
file://0003-SAE-Reject-invalid-Rejected-Groups-element-in-the-pa.patch \
|
||||
file://CVE-2023-52160.patch \
|
||||
"
|
||||
|
||||
|
||||
SRC_URI[sha256sum] = "206e7c799b678572c2e3d12030238784bc4a9f82323b0156b4c9466f1498915d"
|
||||
|
||||
inherit update-rc.d systemd pkgconfig features_check
|
||||
|
||||
CONFLICT_DISTRO_FEATURES = "openssl-no-weak-ciphers"
|
||||
|
||||
INITSCRIPT_NAME = "hostapd"
|
||||
|
||||
SYSTEMD_SERVICE:${PN} = "hostapd.service"
|
||||
SYSTEMD_AUTO_ENABLE:${PN} = "disable"
|
||||
|
||||
do_configure:append() {
|
||||
install -m 0644 ${WORKDIR}/defconfig ${B}/hostapd/.config
|
||||
}
|
||||
|
||||
do_compile() {
|
||||
export CFLAGS="-MMD -O2 -Wall -g"
|
||||
export EXTRA_CFLAGS="${CFLAGS}"
|
||||
make -C hostapd V=1
|
||||
}
|
||||
|
||||
do_install() {
|
||||
install -d ${D}${sbindir} ${D}${sysconfdir}/init.d ${D}${systemd_unitdir}/system/
|
||||
install -m 0644 ${B}/hostapd/hostapd.conf ${D}${sysconfdir}
|
||||
install -m 0755 ${B}/hostapd/hostapd ${D}${sbindir}
|
||||
install -m 0755 ${B}/hostapd/hostapd_cli ${D}${sbindir}
|
||||
install -m 755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/hostapd
|
||||
install -m 0644 ${WORKDIR}/hostapd.service ${D}${systemd_unitdir}/system/
|
||||
sed -i -e 's,@SBINDIR@,${sbindir},g' -e 's,@SYSCONFDIR@,${sysconfdir},g' ${D}${systemd_unitdir}/system/hostapd.service
|
||||
}
|
||||
|
||||
CONFFILES:${PN} += "${sysconfdir}/hostapd.conf"
|
||||
@@ -0,0 +1,31 @@
|
||||
From b990146a149e1729c12e4541a67e32ed1dd6e578 Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Thu, 13 Aug 2020 19:41:08 -0700
|
||||
Subject: [PATCH] src/interface.h: Make declarations as extern
|
||||
|
||||
Fixed build with -fno-common
|
||||
|
||||
Upstream-Status: Pending
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
---
|
||||
src/interface.h | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/interface.h b/src/interface.h
|
||||
index d223b1f..fd4a5f4 100644
|
||||
--- a/src/interface.h
|
||||
+++ b/src/interface.h
|
||||
@@ -21,8 +21,8 @@
|
||||
* Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
|
||||
*/
|
||||
|
||||
-int interface_auto_up;
|
||||
-int interface_do_message;
|
||||
+extern int interface_auto_up;
|
||||
+extern int interface_do_message;
|
||||
|
||||
typedef enum { IFSTATUS_UP, IFSTATUS_DOWN, IFSTATUS_ERR } interface_status_t;
|
||||
|
||||
--
|
||||
2.28.0
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
From 3f2fc79385398f213a9bd3c99616d749d699f2bb Mon Sep 17 00:00:00 2001
|
||||
From: Fabio Berton <fabio.berton@ossystems.com.br>
|
||||
Date: Thu, 14 Mar 2019 19:26:14 -0300
|
||||
Subject: [PATCH] Fix build with musl
|
||||
Organization: O.S. Systems Software LTDA.
|
||||
|
||||
Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br>
|
||||
---
|
||||
Upstream-Status: Pending
|
||||
|
||||
src/ethtool-local.h | 6 +++---
|
||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
--- a/src/ethtool-local.h
|
||||
+++ b/src/ethtool-local.h
|
||||
@@ -20,11 +20,11 @@
|
||||
* along with ifplugd; if not, write to the Free Software Foundation,
|
||||
* Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
|
||||
*/
|
||||
-
|
||||
+#include <stdint.h>
|
||||
typedef unsigned long long u64;
|
||||
-typedef __uint32_t u32;
|
||||
-typedef __uint16_t u16;
|
||||
-typedef __uint8_t u8;
|
||||
+typedef uint32_t u32;
|
||||
+typedef uint16_t u16;
|
||||
+typedef uint8_t u8;
|
||||
|
||||
#include "ethtool-kernel.h"
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
DESCRIPTION = "ifplugd is a Linux daemon which will automatically configure your ethernet device \
|
||||
when a cable is plugged in and automatically unconfigure it if the cable is pulled."
|
||||
HOMEPAGE = "http://0pointer.de/lennart/projects/ifplugd/"
|
||||
LICENSE = "GPL-2.0-only"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE;md5=94d55d512a9ba36caa9b7df079bae19f"
|
||||
|
||||
DEPENDS = "libdaemon"
|
||||
|
||||
SRC_URI = "http://0pointer.de/lennart/projects/ifplugd/ifplugd-${PV}.tar.gz \
|
||||
file://0001-src-interface.h-Make-declarations-as-extern.patch \
|
||||
"
|
||||
|
||||
SRC_URI:append:libc-musl = " file://Fix-build-with-musl.patch"
|
||||
|
||||
SRC_URI[md5sum] = "df6f4bab52f46ffd6eb1f5912d4ccee3"
|
||||
SRC_URI[sha256sum] = "474754ac4ab32d738cbf2a4a3e87ee0a2c71b9048a38bdcd7df1e4f9fd6541f0"
|
||||
|
||||
inherit autotools update-rc.d pkgconfig
|
||||
|
||||
EXTRA_OECONF = "--disable-lynx --with-initdir=${sysconfdir}/init.d"
|
||||
|
||||
INITSCRIPT_NAME = "ifplugd"
|
||||
INITSCRIPT_PARAMS = "defaults"
|
||||
|
||||
CONFFILES:${PN} = "${sysconfdir}/ifplugd/ifplugd.conf"
|
||||
|
||||
RDEPENDS:${PN} += "bash"
|
||||
@@ -0,0 +1,21 @@
|
||||
SUMMARY = "ncurses IRC client"
|
||||
DESCRIPTION = "Irssi is an ncurses IRC client"
|
||||
LICENSE = "GPL-2.0-only"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=55fdc1113306167d6ea2561404ce02f8"
|
||||
|
||||
DEPENDS = "glib-2.0 ncurses openssl"
|
||||
|
||||
SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/${PV}/${BP}.tar.xz"
|
||||
SRC_URI[sha256sum] = "72a951cb0ad622785a8962801f005a3a412736c7e7e3ce152f176287c52fe062"
|
||||
|
||||
UPSTREAM_CHECK_URI = "https://github.com/${BPN}/${BPN}/releases"
|
||||
|
||||
inherit autotools pkgconfig
|
||||
|
||||
EXTRA_OECONF += "--with-textui \
|
||||
--with-proxy \
|
||||
--with-bot \
|
||||
--with-perl=no \
|
||||
--enable-true-color"
|
||||
|
||||
FILES:${PN}-staticdev += "${libdir}/${BPN}/modules/*.a"
|
||||
@@ -0,0 +1,37 @@
|
||||
From b0b51d762f45ff9d320b96bd0acb89313148a446 Mon Sep 17 00:00:00 2001
|
||||
From: Zang Ruochen <zangrc.fnst@fujitsu.com>
|
||||
Date: Wed, 12 May 2021 14:28:24 +0900
|
||||
Subject: [PATCH] build: Use abs_top_srcdir instead of abs_srcdir for ell sources
|
||||
|
||||
this makes it build when build dir is outside of sources dir
|
||||
|
||||
Upstream-Status: Submitted [https://lists.01.org/hyperkitty/list/iwd@lists.01.org/message/SYX6Z7SUQHU7UWM6ECZTTJ6SPODIS6KB/]
|
||||
---
|
||||
Makefile.am | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/Makefile.am b/Makefile.am
|
||||
index 68035e4..e3f7990 100644
|
||||
--- a/Makefile.am
|
||||
+++ b/Makefile.am
|
||||
@@ -628,7 +628,7 @@ ell/shared: Makefile
|
||||
$(AM_V_at)$(MKDIR_P) ell
|
||||
$(AM_V_GEN)for f in $(ell_shared) ; do \
|
||||
if [ ! -f $$f ] ; then \
|
||||
- $(LN_S) -t ell -f $(abs_srcdir)/../ell/$$f ; \
|
||||
+ $(LN_S) -t ell -f $(abs_top_srcdir)/ell/$$f ; \
|
||||
fi \
|
||||
done > $@
|
||||
|
||||
@@ -636,7 +636,7 @@ ell/internal: Makefile
|
||||
$(AM_V_at)$(MKDIR_P) ell
|
||||
$(AM_V_GEN)for f in $(ell_headers) $(ell_sources) ; do \
|
||||
if [ ! -f $$f ] ; then \
|
||||
- $(LN_S) -t ell -f $(abs_srcdir)/../ell/$$f ; \
|
||||
+ $(LN_S) -t ell -f $(abs_top_srcdir)/ell/$$f ; \
|
||||
fi \
|
||||
done > $@
|
||||
|
||||
--
|
||||
2.25.1
|
||||
|
||||
@@ -0,0 +1,55 @@
|
||||
SUMMARY = "Wireless daemon for Linux"
|
||||
HOMEPAGE = "https://iwd.wiki.kernel.org/"
|
||||
LICENSE = "LGPL-2.1-only"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=fb504b67c50331fc78734fed90fb0e09"
|
||||
|
||||
DEPENDS = "ell"
|
||||
|
||||
SRC_URI = "https://www.kernel.org/pub/linux/network/wireless/${BP}.tar.xz \
|
||||
file://0001-build-Use-abs_top_srcdir-instead-of-abs_srcdir-for-e.patch \
|
||||
"
|
||||
SRC_URI[sha256sum] = "c1a82032e994861e794cf3b5a16d07ae1aa03a6674f716c73408ffeae2a233ba"
|
||||
|
||||
inherit autotools manpages pkgconfig python3native systemd
|
||||
|
||||
PACKAGECONFIG ??= " \
|
||||
client \
|
||||
monitor \
|
||||
${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \
|
||||
"
|
||||
PACKAGECONFIG[client] = "--enable-client,--disable-client,readline"
|
||||
PACKAGECONFIG[monitor] = "--enable-monitor,--disable-monitor"
|
||||
PACKAGECONFIG[manpages] = "--enable-manual-pages,--disable-manual-pages,python3-docutils-native"
|
||||
PACKAGECONFIG[wired] = "--enable-wired,--disable-wired"
|
||||
PACKAGECONFIG[ofono] = "--enable-ofono,--disable-ofono"
|
||||
PACKAGECONFIG[systemd] = "--with-systemd-unitdir=${systemd_system_unitdir},--disable-systemd-service,systemd"
|
||||
|
||||
EXTRA_OECONF = "--enable-external-ell"
|
||||
|
||||
SYSTEMD_SERVICE:${PN} = " \
|
||||
iwd.service \
|
||||
${@bb.utils.contains('PACKAGECONFIG', 'wired', 'ead.service', '', d)} \
|
||||
"
|
||||
|
||||
do_configure:prepend() {
|
||||
install -d ${S}/build-aux
|
||||
}
|
||||
|
||||
do_install:append() {
|
||||
# If client and monitor are disabled, bindir is empty, causing a QA error
|
||||
rmdir --ignore-fail-on-non-empty ${D}/${bindir}
|
||||
}
|
||||
|
||||
FILES:${PN} += " \
|
||||
${datadir}/dbus-1 \
|
||||
${nonarch_libdir}/modules-load.d \
|
||||
${systemd_unitdir}/network \
|
||||
"
|
||||
|
||||
RDEPENDS:${PN} = "dbus"
|
||||
|
||||
RRECOMMENDS:${PN} = "\
|
||||
kernel-module-pkcs7-message \
|
||||
kernel-module-pkcs8-key-parser \
|
||||
kernel-module-x509-key-parser \
|
||||
"
|
||||
@@ -0,0 +1,207 @@
|
||||
From c5f9c816107f70139de11b38aa02db2f1774ee0d Mon Sep 17 00:00:00 2001
|
||||
From: Greg Hudson <ghudson@mit.edu>
|
||||
Date: Tue, 5 Mar 2024 19:53:07 -0500
|
||||
Subject: [PATCH] Fix two unlikely memory leaks
|
||||
|
||||
In gss_krb5int_make_seal_token_v3(), one of the bounds checks (which
|
||||
could probably never be triggered) leaks plain.data. Fix this leak
|
||||
and use current practices for cleanup throughout the function.
|
||||
|
||||
In xmt_rmtcallres() (unused within the tree and likely elsewhere),
|
||||
store port_ptr into crp->port_ptr as soon as it is allocated;
|
||||
otherwise it could leak if the subsequent xdr_u_int32() operation
|
||||
fails.
|
||||
|
||||
CVE: CVE-2024-26458 CVE-2024-26461
|
||||
Upstream-Status: Backport [https://github.com/krb5/krb5/commit/c5f9c816107f70139de11b38aa02db2f1774ee0d]
|
||||
|
||||
Signed-off-by: Yogita Urade <yogita.urade@windriver.com>
|
||||
---
|
||||
src/lib/gssapi/krb5/k5sealv3.c | 56 +++++++++++++++-------------------
|
||||
src/lib/rpc/pmap_rmt.c | 9 +++---
|
||||
2 files changed, 29 insertions(+), 36 deletions(-)
|
||||
|
||||
diff --git a/src/lib/gssapi/krb5/k5sealv3.c b/src/lib/gssapi/krb5/k5sealv3.c
|
||||
index 1fcbdfb..d3210c1 100644
|
||||
--- a/src/lib/gssapi/krb5/k5sealv3.c
|
||||
+++ b/src/lib/gssapi/krb5/k5sealv3.c
|
||||
@@ -65,7 +65,7 @@ gss_krb5int_make_seal_token_v3 (krb5_context context,
|
||||
int conf_req_flag, int toktype)
|
||||
{
|
||||
size_t bufsize = 16;
|
||||
- unsigned char *outbuf = 0;
|
||||
+ unsigned char *outbuf = NULL;
|
||||
krb5_error_code err;
|
||||
int key_usage;
|
||||
unsigned char acceptor_flag;
|
||||
@@ -75,9 +75,13 @@ gss_krb5int_make_seal_token_v3 (krb5_context context,
|
||||
#endif
|
||||
size_t ec;
|
||||
unsigned short tok_id;
|
||||
- krb5_checksum sum;
|
||||
+ krb5_checksum sum = { 0 };
|
||||
krb5_key key;
|
||||
krb5_cksumtype cksumtype;
|
||||
+ krb5_data plain = empty_data();
|
||||
+
|
||||
+ token->value = NULL;
|
||||
+ token->length = 0;
|
||||
|
||||
acceptor_flag = ctx->initiate ? 0 : FLAG_SENDER_IS_ACCEPTOR;
|
||||
key_usage = (toktype == KG_TOK_WRAP_MSG
|
||||
@@ -107,14 +111,15 @@ gss_krb5int_make_seal_token_v3 (krb5_context context,
|
||||
#endif
|
||||
|
||||
if (toktype == KG_TOK_WRAP_MSG && conf_req_flag) {
|
||||
- krb5_data plain;
|
||||
krb5_enc_data cipher;
|
||||
size_t ec_max;
|
||||
size_t encrypt_size;
|
||||
|
||||
/* 300: Adds some slop. */
|
||||
- if (SIZE_MAX - 300 < message->length)
|
||||
- return ENOMEM;
|
||||
+ if (SIZE_MAX - 300 < message->length) {
|
||||
+ err = ENOMEM;
|
||||
+ goto cleanup;
|
||||
+ }
|
||||
ec_max = SIZE_MAX - message->length - 300;
|
||||
if (ec_max > 0xffff)
|
||||
ec_max = 0xffff;
|
||||
@@ -126,20 +131,20 @@ gss_krb5int_make_seal_token_v3 (krb5_context context,
|
||||
#endif
|
||||
err = alloc_data(&plain, message->length + 16 + ec);
|
||||
if (err)
|
||||
- return err;
|
||||
+ goto cleanup;
|
||||
|
||||
/* Get size of ciphertext. */
|
||||
encrypt_size = krb5_encrypt_size(plain.length, key->keyblock.enctype);
|
||||
if (encrypt_size > SIZE_MAX / 2) {
|
||||
err = ENOMEM;
|
||||
- goto error;
|
||||
+ goto cleanup;
|
||||
}
|
||||
bufsize = 16 + encrypt_size;
|
||||
/* Allocate space for header plus encrypted data. */
|
||||
outbuf = gssalloc_malloc(bufsize);
|
||||
if (outbuf == NULL) {
|
||||
- free(plain.data);
|
||||
- return ENOMEM;
|
||||
+ err = ENOMEM;
|
||||
+ goto cleanup;
|
||||
}
|
||||
|
||||
/* TOK_ID */
|
||||
@@ -164,11 +169,8 @@ gss_krb5int_make_seal_token_v3 (krb5_context context,
|
||||
cipher.ciphertext.length = bufsize - 16;
|
||||
cipher.enctype = key->keyblock.enctype;
|
||||
err = krb5_k_encrypt(context, key, key_usage, 0, &plain, &cipher);
|
||||
- zap(plain.data, plain.length);
|
||||
- free(plain.data);
|
||||
- plain.data = 0;
|
||||
if (err)
|
||||
- goto error;
|
||||
+ goto cleanup;
|
||||
|
||||
/* Now that we know we're returning a valid token.... */
|
||||
ctx->seq_send++;
|
||||
@@ -181,7 +183,6 @@ gss_krb5int_make_seal_token_v3 (krb5_context context,
|
||||
/* If the rotate fails, don't worry about it. */
|
||||
#endif
|
||||
} else if (toktype == KG_TOK_WRAP_MSG && !conf_req_flag) {
|
||||
- krb5_data plain;
|
||||
size_t cksumsize;
|
||||
|
||||
/* Here, message is the application-supplied data; message2 is
|
||||
@@ -193,21 +194,19 @@ gss_krb5int_make_seal_token_v3 (krb5_context context,
|
||||
wrap_with_checksum:
|
||||
err = alloc_data(&plain, message->length + 16);
|
||||
if (err)
|
||||
- return err;
|
||||
+ goto cleanup;
|
||||
|
||||
err = krb5_c_checksum_length(context, cksumtype, &cksumsize);
|
||||
if (err)
|
||||
- goto error;
|
||||
+ goto cleanup;
|
||||
|
||||
assert(cksumsize <= 0xffff);
|
||||
|
||||
bufsize = 16 + message2->length + cksumsize;
|
||||
outbuf = gssalloc_malloc(bufsize);
|
||||
if (outbuf == NULL) {
|
||||
- free(plain.data);
|
||||
- plain.data = 0;
|
||||
err = ENOMEM;
|
||||
- goto error;
|
||||
+ goto cleanup;
|
||||
}
|
||||
|
||||
/* TOK_ID */
|
||||
@@ -239,23 +238,15 @@ gss_krb5int_make_seal_token_v3 (krb5_context context,
|
||||
if (message2->length)
|
||||
memcpy(outbuf + 16, message2->value, message2->length);
|
||||
|
||||
- sum.contents = outbuf + 16 + message2->length;
|
||||
- sum.length = cksumsize;
|
||||
-
|
||||
err = krb5_k_make_checksum(context, cksumtype, key,
|
||||
key_usage, &plain, &sum);
|
||||
- zap(plain.data, plain.length);
|
||||
- free(plain.data);
|
||||
- plain.data = 0;
|
||||
if (err) {
|
||||
zap(outbuf,bufsize);
|
||||
- goto error;
|
||||
+ goto cleanup;
|
||||
}
|
||||
if (sum.length != cksumsize)
|
||||
abort();
|
||||
memcpy(outbuf + 16 + message2->length, sum.contents, cksumsize);
|
||||
- krb5_free_checksum_contents(context, &sum);
|
||||
- sum.contents = 0;
|
||||
/* Now that we know we're actually generating the token... */
|
||||
ctx->seq_send++;
|
||||
|
||||
@@ -285,12 +276,13 @@ gss_krb5int_make_seal_token_v3 (krb5_context context,
|
||||
|
||||
token->value = outbuf;
|
||||
token->length = bufsize;
|
||||
- return 0;
|
||||
+ outbuf = NULL;
|
||||
+ err = 0;
|
||||
|
||||
-error:
|
||||
+cleanup:
|
||||
+ krb5_free_checksum_contents(context, &sum);
|
||||
+ zapfree(plain.data, plain.length);
|
||||
gssalloc_free(outbuf);
|
||||
- token->value = NULL;
|
||||
- token->length = 0;
|
||||
return err;
|
||||
}
|
||||
|
||||
diff --git a/src/lib/rpc/pmap_rmt.c b/src/lib/rpc/pmap_rmt.c
|
||||
index 8c7e30c..522cb20 100644
|
||||
--- a/src/lib/rpc/pmap_rmt.c
|
||||
+++ b/src/lib/rpc/pmap_rmt.c
|
||||
@@ -160,11 +160,12 @@ xdr_rmtcallres(
|
||||
caddr_t port_ptr;
|
||||
|
||||
port_ptr = (caddr_t)(void *)crp->port_ptr;
|
||||
- if (xdr_reference(xdrs, &port_ptr, sizeof (uint32_t),
|
||||
- xdr_u_int32) && xdr_u_int32(xdrs, &crp->resultslen)) {
|
||||
- crp->port_ptr = (uint32_t *)(void *)port_ptr;
|
||||
+ if (!xdr_reference(xdrs, &port_ptr, sizeof (uint32_t),
|
||||
+ (xdrproc_t)xdr_u_int32))
|
||||
+ return (FALSE);
|
||||
+ crp->port_ptr = (uint32_t *)(void *)port_ptr;
|
||||
+ if (xdr_u_int32(xdrs, &crp->resultslen))
|
||||
return ((*(crp->xdr_results))(xdrs, crp->results_ptr));
|
||||
- }
|
||||
return (FALSE);
|
||||
}
|
||||
|
||||
--
|
||||
2.40.0
|
||||
@@ -0,0 +1,68 @@
|
||||
From 78ceba024b64d49612375be4a12d1c066b0bfbd0 Mon Sep 17 00:00:00 2001
|
||||
From: Zoltan Borbely <Zoltan.Borbely@morganstanley.com>
|
||||
Date: Tue, 28 Jan 2025 16:39:25 -0500
|
||||
Subject: [PATCH] Prevent overflow when calculating ulog block size
|
||||
|
||||
In kdb_log.c:resize(), log an error and fail if the update size is
|
||||
larger than the largest possible block size (2^16-1).
|
||||
|
||||
CVE-2025-24528:
|
||||
|
||||
In MIT krb5 release 1.7 and later with incremental propagation
|
||||
enabled, an authenticated attacker can cause kadmind to write beyond
|
||||
the end of the mapped region for the iprop log file, likely causing a
|
||||
process crash.
|
||||
|
||||
[ghudson@mit.edu: edited commit message and added CVE description]
|
||||
|
||||
ticket: 9159 (new)
|
||||
tags: pullup
|
||||
target_version: 1.21-next
|
||||
|
||||
CVE: CVE-2025-24528
|
||||
|
||||
Upstream-Status: Backport [https://github.com/krb5/krb5/commit/78ceba024b64d49612375be4a12d1c066b0bfbd0]
|
||||
|
||||
Signed-off-by: Divya Chellam <divya.chellam@windriver.com>
|
||||
---
|
||||
src/lib/kdb/kdb_log.c | 10 ++++++++--
|
||||
1 file changed, 8 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/lib/kdb/kdb_log.c b/src/lib/kdb/kdb_log.c
|
||||
index 2659a25..68fae91 100644
|
||||
--- a/src/lib/kdb/kdb_log.c
|
||||
+++ b/src/lib/kdb/kdb_log.c
|
||||
@@ -183,7 +183,7 @@ extend_file_to(int fd, unsigned int new_size)
|
||||
*/
|
||||
static krb5_error_code
|
||||
resize(kdb_hlog_t *ulog, uint32_t ulogentries, int ulogfd,
|
||||
- unsigned int recsize)
|
||||
+ unsigned int recsize, const kdb_incr_update_t *upd)
|
||||
{
|
||||
unsigned int new_block, new_size;
|
||||
|
||||
@@ -195,6 +195,12 @@ resize(kdb_hlog_t *ulog, uint32_t ulogentries, int ulogfd,
|
||||
new_block *= ULOG_BLOCK;
|
||||
new_size += ulogentries * new_block;
|
||||
|
||||
+ if (new_block > UINT16_MAX) {
|
||||
+ syslog(LOG_ERR, _("ulog overflow caused by principal %.*s"),
|
||||
+ upd->kdb_princ_name.utf8str_t_len,
|
||||
+ upd->kdb_princ_name.utf8str_t_val);
|
||||
+ return KRB5_LOG_ERROR;
|
||||
+ }
|
||||
if (new_size > MAXLOGLEN)
|
||||
return KRB5_LOG_ERROR;
|
||||
|
||||
@@ -291,7 +297,7 @@ store_update(kdb_log_context *log_ctx, kdb_incr_update_t *upd)
|
||||
recsize = sizeof(kdb_ent_header_t) + upd_size;
|
||||
|
||||
if (recsize > ulog->kdb_block) {
|
||||
- retval = resize(ulog, ulogentries, log_ctx->ulogfd, recsize);
|
||||
+ retval = resize(ulog, ulogentries, log_ctx->ulogfd, recsize, upd);
|
||||
if (retval)
|
||||
return retval;
|
||||
}
|
||||
--
|
||||
2.40.0
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
Modifies export-check.pl to use look for $ENV{'NM'} before
|
||||
defaulting to using 'nm'
|
||||
|
||||
Upstream-Status: Pending
|
||||
|
||||
Signed-off-by: Amy Fong <amy.fong@windriver.com>
|
||||
---
|
||||
|
||||
export-check.pl | 7 ++++++-
|
||||
1 file changed, 6 insertions(+), 1 deletion(-)
|
||||
|
||||
Index: src/util/export-check.pl
|
||||
===================================================================
|
||||
--- src.orig/util/export-check.pl
|
||||
+++ src/util/export-check.pl
|
||||
@@ -38,7 +38,12 @@
|
||||
my($exfile, $libfile) = @ARGV;
|
||||
|
||||
@missing = ();
|
||||
-open NM, "nm -Dg --defined-only $libfile |" || die "can't run nm on $libfile: $!";
|
||||
+if (defined($ENV{'NM'})) {
|
||||
+ $nm = $ENV{'NM'};
|
||||
+} else {
|
||||
+ $nm = "nm";
|
||||
+}
|
||||
+open NM, "$nm -Dg --defined-only $libfile |" || die "can't run nm on $libfile: $!";
|
||||
open EXPORT, "< $exfile" || die "can't read $exfile: $!";
|
||||
|
||||
@export = <EXPORT>;
|
||||
@@ -0,0 +1,48 @@
|
||||
Subject: [PATCH] debian: suppress /usr/lib in krb5-config
|
||||
|
||||
Upstream-Status: Pending
|
||||
|
||||
Handel multi-arch suppressions
|
||||
|
||||
The patch is from debian.
|
||||
|
||||
Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
|
||||
---
|
||||
src/build-tools/krb5-config.in | 14 +++++++++-----
|
||||
1 files changed, 9 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/src/build-tools/krb5-config.in b/src/build-tools/krb5-config.in
|
||||
index f6184da..637bad7 100755
|
||||
--- a/src/build-tools/krb5-config.in
|
||||
+++ b/src/build-tools/krb5-config.in
|
||||
@@ -138,6 +138,7 @@ if test -n "$do_help"; then
|
||||
echo " [--defktname] Show built-in default keytab name"
|
||||
echo " [--defcktname] Show built-in default client keytab name"
|
||||
echo " [--cflags] Compile time CFLAGS"
|
||||
+ echo " [--deps] Include dependent libraries"
|
||||
echo " [--libs] List libraries required to link [LIBRARIES]"
|
||||
echo "Libraries:"
|
||||
echo " krb5 Kerberos 5 application"
|
||||
@@ -209,11 +210,14 @@ fi
|
||||
|
||||
if test -n "$do_libs"; then
|
||||
# Assumes /usr/lib is the standard library directory everywhere...
|
||||
- if test "$libdir" = /usr/lib; then
|
||||
- libdirarg=
|
||||
- else
|
||||
- libdirarg="-L$libdir"
|
||||
- fi
|
||||
+ case $libdir in
|
||||
+ /usr/lib*)
|
||||
+ libdirarg=
|
||||
+ ;;
|
||||
+ *)
|
||||
+ libdirarg="-L$libdir"
|
||||
+ ;;
|
||||
+ esac
|
||||
# Ugly gross hack for our build tree
|
||||
lib_flags=`echo $CC_LINK | sed -e 's/\$(CC)//' \
|
||||
-e 's/\$(PURE)//' \
|
||||
--
|
||||
1.7.1
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
# Automatically generated. If you change anything in this file other than the
|
||||
# values of DAEMON_ARGS, first run dpkg-reconfigure
|
||||
# krb5-admin-server and disable managing the kadmin configuration with
|
||||
# debconf. Otherwise, changes will be overwritten.
|
||||
@@ -0,0 +1,5 @@
|
||||
# Automatically generated. Only the value of DAEMON_ARGS will be preserved.
|
||||
# If you change anything in this file other than DAEMON_ARGS, first run
|
||||
# dpkg-reconfigure krb5-kdc and disable managing the KDC configuration with
|
||||
# debconf. Otherwise, changes will be overwritten.
|
||||
|
||||
@@ -0,0 +1,140 @@
|
||||
#! /bin/sh
|
||||
### BEGIN INIT INFO
|
||||
# Provides: krb5-admin-server
|
||||
# Required-Start: $local_fs $remote_fs $network $syslog
|
||||
# Required-Stop: $local_fs $remote_fs $network $syslog
|
||||
# Should-Start: krb5-kdc
|
||||
# Should-Stop: krb5-kdc
|
||||
# Default-Start: 2 3 4 5
|
||||
# Default-Stop: 0 1 6
|
||||
# Short-Description: MIT Kerberos KDC administrative daemon
|
||||
# Description: Starts, stops, or restarts the MIT Kerberos KDC
|
||||
# administrative daemon (kadmind). This daemon answers
|
||||
# requests from kadmin clients and allows administrators
|
||||
# to create, delete, and modify principals in the KDC
|
||||
# database.
|
||||
### END INIT INFO
|
||||
|
||||
# Author: Sam Hartman <hartmans@mit.edu>
|
||||
# Author: Russ Allbery <rra@debian.org>
|
||||
#
|
||||
# Based on the /etc/init.d/skeleton template as found in initscripts version
|
||||
# 2.86.ds1-15.
|
||||
|
||||
# June, 2012: Adopted for yocto <amy.fong@windriver.com>
|
||||
|
||||
PATH=/usr/sbin:/usr/bin:/sbin:/bin
|
||||
DESC="Kerberos administrative servers"
|
||||
NAME=kadmind
|
||||
DAEMON=/usr/sbin/$NAME
|
||||
DAEMON_ARGS=""
|
||||
SCRIPTNAME=/etc/init.d/krb5-admin-server
|
||||
DEFAULT=/etc/default/krb5-admin-server
|
||||
|
||||
# Exit if the package is not installed.
|
||||
[ -x "$DAEMON" ] || exit 0
|
||||
|
||||
# Read configuration if it is present.
|
||||
[ -r "$DEFAULT" ] && . "$DEFAULT"
|
||||
|
||||
# Get the setting of VERBOSE and other rcS variables.
|
||||
[ -f /etc/default/rcS ] && . /etc/default/rcS
|
||||
|
||||
. /etc/init.d/functions
|
||||
|
||||
ADMIN_SERVER_LOG=/var/log/kadmind.log
|
||||
[ -f $ADMIN_SERVER_LOG ] && (test ! -x /sbin/restorecon \
|
||||
|| /sbin/restorecon -F $ADMIN_SERVER_LOG)
|
||||
|
||||
# Return
|
||||
# 0 if daemon has been started
|
||||
# 1 if daemon was already running
|
||||
# 2 if daemon could not be started
|
||||
do_start()
|
||||
{
|
||||
start-stop-daemon --start --quiet --startas $DAEMON --name $NAME --test \
|
||||
> /dev/null || return 1
|
||||
start-stop-daemon --start --quiet --startas $DAEMON --name $NAME \
|
||||
-- $DAEMON_ARGS || return 2
|
||||
}
|
||||
|
||||
# Return
|
||||
# 0 if daemon has been stopped
|
||||
# 1 if daemon was already stopped
|
||||
# 2 if daemon could not be stopped
|
||||
# other if a failure occurred
|
||||
do_stop()
|
||||
{
|
||||
start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --name $NAME
|
||||
RETVAL="$?"
|
||||
[ "$RETVAL" = 2 ] && return 2
|
||||
return "$RETVAL"
|
||||
}
|
||||
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
if [ "$RUN_KADMIND" = false ] ; then
|
||||
if [ "$VERBOSE" != no ] ; then
|
||||
echo "Not starting $DESC per configuration"
|
||||
fi
|
||||
exit 0
|
||||
fi
|
||||
[ "$VERBOSE" != no ] && echo "Starting $DESC" "$NAME"
|
||||
do_start
|
||||
case "$?" in
|
||||
0|1) [ "$VERBOSE" != no ] && echo 0 ;;
|
||||
2) [ "$VERBOSE" != no ] && echo 1 ;;
|
||||
esac
|
||||
;;
|
||||
|
||||
stop)
|
||||
[ "$VERBOSE" != no ] && echo "Stopping $DESC" "$NAME"
|
||||
do_stop
|
||||
case "$?" in
|
||||
0|1) [ "$VERBOSE" != no ] && echo 0 ;;
|
||||
2) [ "$VERBOSE" != no ] && echo 1 ;;
|
||||
esac
|
||||
;;
|
||||
|
||||
restart|force-reload)
|
||||
if [ "$RUN_KADMIND" = false ] ; then
|
||||
if [ "$VERBOSE" != no ] ; then
|
||||
echo "Not restarting $DESC per configuration"
|
||||
fi
|
||||
exit 0
|
||||
fi
|
||||
echo "Restarting $DESC" "$NAME"
|
||||
do_stop
|
||||
case "$?" in
|
||||
0|1)
|
||||
do_start
|
||||
case "$?" in
|
||||
0) [ "$VERBOSE" != no ] && echo 0 ;;
|
||||
*) [ "$VERBOSE" != no ] && echo 1 ;;
|
||||
esac
|
||||
;;
|
||||
*)
|
||||
echo 1
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
|
||||
status)
|
||||
pidofproc "$DAEMON" >/dev/null
|
||||
status=$?
|
||||
if [ $status -eq 0 ]; then
|
||||
echo "$NAME is running."
|
||||
else
|
||||
echo "$NAME is not running."
|
||||
fi
|
||||
exit $status
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload|status}" >&2
|
||||
exit 3
|
||||
;;
|
||||
esac
|
||||
|
||||
:
|
||||
@@ -0,0 +1,133 @@
|
||||
#! /bin/sh
|
||||
### BEGIN INIT INFO
|
||||
# Provides: krb5-kdc
|
||||
# Required-Start: $local_fs $remote_fs $network $syslog
|
||||
# Required-Stop: $local_fs $remote_fs $network $syslog
|
||||
# X-Start-Before: $x-display-manager
|
||||
# Default-Start: 2 3 4 5
|
||||
# Default-Stop: 0 1 6
|
||||
# Short-Description: MIT Kerberos KDC
|
||||
# Description: Starts, stops, or restarts the MIT Kerberos KDC. This
|
||||
# daemon responds to ticket requests from Kerberos
|
||||
# clients.
|
||||
### END INIT INFO
|
||||
|
||||
# Author: Sam Hartman <hartmans@mit.edu>
|
||||
# Author: Russ Allbery <rra@debian.org>
|
||||
#
|
||||
# Based on the /etc/init.d/skeleton template as found in initscripts version
|
||||
# 2.86.ds1-15.
|
||||
|
||||
# June, 2012: Adopted for yocto <amy.fong@windriver.com>
|
||||
|
||||
PATH=/usr/sbin:/usr/bin:/sbin:/bin
|
||||
DESC="Kerberos KDC"
|
||||
NAME=krb5kdc
|
||||
DAEMON=/usr/sbin/$NAME
|
||||
DAEMON_ARGS=""
|
||||
SCRIPTNAME=/etc/init.d/krb5-kdc
|
||||
|
||||
# Exit if the package is not installed.
|
||||
[ -x "$DAEMON" ] || exit 0
|
||||
|
||||
# Read configuration if it is present.
|
||||
[ -r /etc/default/krb5-kdc ] && . /etc/default/krb5-kdc
|
||||
|
||||
# Get the setting of VERBOSE and other rcS variables.
|
||||
[ -f /etc/default/rcS ] && . /etc/default/rcS
|
||||
|
||||
. /etc/init.d/functions
|
||||
|
||||
# Return
|
||||
# 0 if daemon has been started
|
||||
# 1 if daemon was already running
|
||||
# 2 if daemon could not be started
|
||||
do_start_kdc()
|
||||
{
|
||||
start-stop-daemon --start --quiet --startas $DAEMON --name $NAME --test \
|
||||
> /dev/null || return 1
|
||||
start-stop-daemon --start --quiet --startas $DAEMON --name $NAME \
|
||||
-- $DAEMON_ARGS || return 2
|
||||
}
|
||||
|
||||
|
||||
# Return
|
||||
# 0 if daemon has been stopped
|
||||
# 1 if daemon was already stopped
|
||||
# 2 if daemon could not be stopped
|
||||
# other if a failure occurred
|
||||
do_stop_kdc()
|
||||
{
|
||||
start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --name $NAME
|
||||
RETVAL="$?"
|
||||
[ "$RETVAL" = 2 ] && return 2
|
||||
return "$RETVAL"
|
||||
}
|
||||
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
[ "$VERBOSE" != no ] && echo "Starting $DESC" "$NAME"
|
||||
do_start_kdc
|
||||
case "$?" in
|
||||
0|1)
|
||||
[ "$VERBOSE" != no ] && echo 0
|
||||
;;
|
||||
2)
|
||||
[ "$VERBOSE" != no ] && echo 1
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
|
||||
stop)
|
||||
[ "$VERBOSE" != no ] && echo "Stopping $DESC" "$NAME"
|
||||
do_stop_kdc
|
||||
case "$?" in
|
||||
0|1)
|
||||
[ "$VERBOSE" != no ] && echo "krb524d"
|
||||
;;
|
||||
2)
|
||||
[ "$VERBOSE" != no ] && echo 1
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
|
||||
restart|force-reload)
|
||||
echo "Restarting $DESC" "$NAME"
|
||||
do_stop_kdc
|
||||
case "$?" in
|
||||
0|1)
|
||||
do_start_kdc
|
||||
case "$?" in
|
||||
0)
|
||||
echo 0
|
||||
;;
|
||||
1|2)
|
||||
echo 1
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
*)
|
||||
echo 1
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
|
||||
status)
|
||||
pidofproc "$DAEMON" >/dev/null
|
||||
status=$?
|
||||
if [ $status -eq 0 ]; then
|
||||
echo "$NAME is running."
|
||||
else
|
||||
echo "$NAME is not running."
|
||||
fi
|
||||
exit $status
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload|status}" >&2
|
||||
exit 3
|
||||
;;
|
||||
esac
|
||||
|
||||
:
|
||||
@@ -0,0 +1,15 @@
|
||||
[Unit]
|
||||
Description=MIT Kerberos KDC administrative daemon
|
||||
After=syslog.target network.target
|
||||
ConditionPathExists=/etc/krb5.conf
|
||||
|
||||
[Service]
|
||||
Type=forking
|
||||
ExecStartPre=/bin/sh -c "test ! -f /var/log/kadmind.log || test ! -x /sbin/restorecon || /sbin/restorecon -F /var/log/kadmind.log"
|
||||
ExecStart=/usr/sbin/kadmind
|
||||
EnvironmentFile=-/etc/default/krb5-admin-server
|
||||
SuccessExitStatus=1 2 SIGKILL
|
||||
TimeoutStopSec=30
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
@@ -0,0 +1,14 @@
|
||||
[Unit]
|
||||
Description=MIT Kerberos KDC
|
||||
After=syslog.target network.target
|
||||
ConditionPathExists=/etc/krb5.conf
|
||||
|
||||
[Service]
|
||||
Type=forking
|
||||
ExecStart=/usr/sbin/krb5kdc
|
||||
EnvironmentFile=-/etc/default/krb5-kdc
|
||||
SuccessExitStatus=1 2 SIGKILL
|
||||
TimeoutStopSec=30
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
@@ -0,0 +1,203 @@
|
||||
SUMMARY = "A network authentication protocol"
|
||||
DESCRIPTION = "Kerberos is a system for authenticating users and services on a network. \
|
||||
Kerberos is a trusted third-party service. That means that there is a \
|
||||
third party (the Kerberos server) that is trusted by all the entities on \
|
||||
the network (users and services, usually called "principals"). \
|
||||
. \
|
||||
This is the MIT reference implementation of Kerberos V5. \
|
||||
. \
|
||||
This package contains the Kerberos key server (KDC). The KDC manages all \
|
||||
authentication credentials for a Kerberos realm, holds the master keys \
|
||||
for the realm, and responds to authentication requests. This package \
|
||||
should be installed on both master and slave KDCs."
|
||||
|
||||
HOMEPAGE = "http://web.mit.edu/Kerberos/"
|
||||
SECTION = "console/network"
|
||||
LICENSE = "MIT"
|
||||
LIC_FILES_CHKSUM = "file://${S}/../NOTICE;md5=71c06694263581762668e88b7b77a1a5"
|
||||
|
||||
inherit autotools-brokensep binconfig perlnative systemd update-rc.d pkgconfig
|
||||
|
||||
SHRT_VER = "${@oe.utils.trim_version("${PV}", 2)}"
|
||||
SRC_URI = "http://web.mit.edu/kerberos/dist/${BPN}/${SHRT_VER}/${BP}.tar.gz \
|
||||
file://debian-suppress-usr-lib-in-krb5-config.patch;striplevel=2 \
|
||||
file://crosscompile_nm.patch \
|
||||
file://etc/init.d/krb5-kdc \
|
||||
file://etc/init.d/krb5-admin-server \
|
||||
file://etc/default/krb5-kdc \
|
||||
file://etc/default/krb5-admin-server \
|
||||
file://krb5-kdc.service \
|
||||
file://krb5-admin-server.service \
|
||||
file://CVE-2024-26458_CVE-2024-26461.patch;striplevel=2 \
|
||||
file://CVE-2025-24528.patch;striplevel=2 \
|
||||
"
|
||||
|
||||
SRC_URI[sha256sum] = "b7a4cd5ead67fb08b980b21abd150ff7217e85ea320c9ed0c6dadd304840ad35"
|
||||
|
||||
CVE_PRODUCT = "kerberos"
|
||||
CVE_VERSION = "5-${PV}"
|
||||
|
||||
S = "${WORKDIR}/${BP}/src"
|
||||
|
||||
DEPENDS = "bison-native ncurses util-linux e2fsprogs e2fsprogs-native openssl"
|
||||
|
||||
PACKAGECONFIG ??= "pkinit"
|
||||
PACKAGECONFIG[libedit] = "--with-libedit,--without-libedit,libedit"
|
||||
PACKAGECONFIG[openssl] = "--with-crypto-impl=openssl,,openssl"
|
||||
PACKAGECONFIG[keyutils] = "--with-keyutils,--without-keyutils,keyutils"
|
||||
PACKAGECONFIG[ldap] = "--with-ldap,--without-ldap,openldap"
|
||||
PACKAGECONFIG[readline] = "--with-readline,--without-readline,readline"
|
||||
PACKAGECONFIG[pkinit] = "--enable-pkinit, --disable-pkinit"
|
||||
|
||||
EXTRA_OECONF += "--with-system-et --disable-rpath"
|
||||
CACHED_CONFIGUREVARS += "krb5_cv_attr_constructor_destructor=yes ac_cv_func_regcomp=yes \
|
||||
ac_cv_printf_positional=yes ac_cv_file__etc_environment=yes \
|
||||
ac_cv_file__etc_TIMEZONE=no"
|
||||
|
||||
CFLAGS:append = " -fPIC -DDESTRUCTOR_ATTR_WORKS=1 -I${STAGING_INCDIR}/et"
|
||||
CFLAGS:append:riscv64 = " -D_REENTRANT -pthread"
|
||||
LDFLAGS:append = " -pthread"
|
||||
|
||||
do_configure() {
|
||||
gnu-configize --force
|
||||
autoreconf
|
||||
oe_runconf
|
||||
}
|
||||
|
||||
do_install:append() {
|
||||
rm -rf ${D}/${localstatedir}/run
|
||||
rm -f ${D}${bindir}/sclient
|
||||
rm -f ${D}${bindir}/sim_client
|
||||
rm -f ${D}${bindir}/uuclient
|
||||
rm -f ${D}${sbindir}/krb5-send-pr
|
||||
rm -f ${D}${sbindir}/sim_server
|
||||
rm -f ${D}${sbindir}/sserver
|
||||
rm -f ${D}${sbindir}/uuserver
|
||||
|
||||
if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
|
||||
mkdir -p ${D}/${sysconfdir}/init.d ${D}/${sysconfdir}/default
|
||||
install -m 0755 ${WORKDIR}/etc/init.d/* ${D}/${sysconfdir}/init.d
|
||||
install -m 0644 ${WORKDIR}/etc/default/* ${D}/${sysconfdir}/default
|
||||
|
||||
mkdir -p ${D}/${sysconfdir}/default/volatiles
|
||||
echo "d root root 0755 ${localstatedir}/run/krb5kdc none" \
|
||||
> ${D}${sysconfdir}/default/volatiles/87_krb5
|
||||
|
||||
echo "RUN_KADMIND=true" >> ${D}/${sysconfdir}/default/krb5-admin-server
|
||||
fi
|
||||
|
||||
if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
|
||||
install -d ${D}${sysconfdir}/tmpfiles.d
|
||||
echo "d /run/krb5kdc - - - -" \
|
||||
> ${D}${sysconfdir}/tmpfiles.d/krb5.conf
|
||||
|
||||
mkdir -p ${D}/${sysconfdir}/default
|
||||
install -m 0644 ${WORKDIR}/etc/default/* ${D}/${sysconfdir}/default
|
||||
|
||||
install -d ${D}${systemd_system_unitdir}
|
||||
install -m 0644 ${WORKDIR}/krb5-admin-server.service ${D}${systemd_system_unitdir}
|
||||
install -m 0644 ${WORKDIR}/krb5-kdc.service ${D}${systemd_system_unitdir}
|
||||
fi
|
||||
|
||||
sed -e 's@[^ ]*-ffile-prefix-map=[^ "]*@@g' \
|
||||
-e 's@[^ ]*-fdebug-prefix-map=[^ "]*@@g' \
|
||||
-e 's@[^ ]*-fmacro-prefix-map=[^ "]*@@g' \
|
||||
-i ${D}${bindir}/krb5-config
|
||||
}
|
||||
|
||||
PACKAGE_BEFORE_PN =+ "${PN}-admin-server \
|
||||
${PN}-gss-samples \
|
||||
${PN}-k5tls \
|
||||
${PN}-kdc \
|
||||
${PN}-kdc-ldap \
|
||||
${PN}-kpropd \
|
||||
${PN}-otp \
|
||||
${PN}-pkinit \
|
||||
${PN}-spake \
|
||||
${PN}-user \
|
||||
libgssapi-krb5 \
|
||||
libgssrpc \
|
||||
libk5crypto \
|
||||
libkadm5clnt-mit \
|
||||
libkadm5srv-mit \
|
||||
libkdb5 \
|
||||
libkrad \
|
||||
libkrb5 \
|
||||
libkrb5support \
|
||||
libverto"
|
||||
|
||||
FILES:${PN} = "${libdir}/krb5/plugins/preauth/test.so"
|
||||
FILES:${PN}-doc += "${datadir}/examples"
|
||||
FILES:${PN}-dbg += "${libdir}/krb5/plugins/*/.debug"
|
||||
|
||||
FILES:${PN}-admin-server = "${sbindir}/kadmin.local \
|
||||
${sbindir}/kadmind \
|
||||
${sbindir}/kprop \
|
||||
${sysconfdir}/default/krb5-admin-server \
|
||||
${sysconfdir}/init.d/krb5-admin-server \
|
||||
${systemd_system_unitdir}/krb5-admin-server.service"
|
||||
|
||||
FILES:${PN}-gss-samples = "${bindir}/gss-client \
|
||||
${sbindir}/gss-server"
|
||||
|
||||
FILES:${PN}-k5tls = "${libdir}/krb5/plugins/tls/k5tls.so"
|
||||
|
||||
FILES:${PN}-kdc = "${libdir}/krb5/plugins/kdb/db2.so \
|
||||
${localstatedir}/krb5kdc \
|
||||
${sbindir}/kdb5_util \
|
||||
${sbindir}/kproplog \
|
||||
${sbindir}/krb5kdc \
|
||||
${sysconfdir}/default/krb5-kdc \
|
||||
${sysconfdir}/default/volatiles/87_krb5 \
|
||||
${sysconfdir}/init.d/krb5-kdc \
|
||||
${sysconfdir}/tmpfiles.d/krb5.conf \
|
||||
${systemd_system_unitdir}/krb5-kdc.service"
|
||||
|
||||
FILES:${PN}-kdc-ldap = "${libdir}/krb5/libkdb_ldap${SOLIBS} \
|
||||
${libdir}/krb5/plugins/kdb/kldap.so \
|
||||
${sbindir}/kdb5_ldap_util"
|
||||
|
||||
FILES:${PN}-kpropd = "${sbindir}/kpropd"
|
||||
FILES:${PN}-otp = "${libdir}/krb5/plugins/preauth/otp.so"
|
||||
FILES:${PN}-pkinit = "${libdir}/krb5/plugins/preauth/pkinit.so"
|
||||
FILES:${PN}-spake = "${libdir}/krb5/plugins/preauth/spake.so"
|
||||
FILES:${PN}-user = "${bindir}/k*"
|
||||
|
||||
FILES:libgssapi-krb5 = "${libdir}/libgssapi_krb5${SOLIBS}"
|
||||
FILES:libgssrpc = "${libdir}/libgssrpc${SOLIBS}"
|
||||
FILES:libk5crypto = "${libdir}/libk5crypto${SOLIBS}"
|
||||
FILES:libkadm5clnt-mit = "${libdir}/libkadm5clnt_mit${SOLIBS}"
|
||||
FILES:libkadm5srv-mit = "${libdir}/libkadm5srv_mit${SOLIBS}"
|
||||
FILES:libkdb5 = "${libdir}/libkdb5${SOLIBS}"
|
||||
FILES:libkrad = "${libdir}/libkrad${SOLIBS}"
|
||||
FILES:libkrb5 = "${libdir}/libkrb5${SOLIBS} \
|
||||
${libdir}/krb5/plugins/authdata \
|
||||
${libdir}/krb5/plugins/libkrb5"
|
||||
FILES:libkrb5support = "${libdir}/libkrb5support${SOLIBS}"
|
||||
FILES:libverto = "${libdir}/libverto${SOLIBS}"
|
||||
|
||||
RDEPENDS:${PN}-kadmin-server = "${PN}-kdc"
|
||||
RDEPENDS:${PN}-kpropd = "${PN}-kdc"
|
||||
|
||||
INITSCRIPT_PACKAGES = "${PN}-admin-server ${PN}-kdc"
|
||||
INITSCRIPT_NAME:${PN}-admin-server = "krb5-admin-server"
|
||||
INITSCRIPT_NAME:${PN}-kdc = "krb5-kdc"
|
||||
|
||||
SYSTEMD_PACKAGES = "${PN}-admin-server ${PN}-kdc"
|
||||
SYSTEMD_SERVICE:${PN}-admin-server = "krb5-admin-server.service"
|
||||
SYSTEMD_SERVICE:${PN}-kdc = "krb5-kdc.service"
|
||||
|
||||
pkg_postinst:${PN}-kdc () {
|
||||
if [ -z "$D" ]; then
|
||||
if command -v systemd-tmpfiles >/dev/null; then
|
||||
systemd-tmpfiles --create ${sysconfdir}/tmpfiles.d/krb5.conf
|
||||
elif [ -e ${sysconfdir}/init.d/populate-volatile.sh ]; then
|
||||
${sysconfdir}/init.d/populate-volatile.sh update
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
BBCLASSEXTEND = "native nativesdk"
|
||||
|
||||
inherit multilib_script
|
||||
MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/krb5-config"
|
||||
@@ -0,0 +1,21 @@
|
||||
SUMMARY = "A full-featured and high-performance event loop that is loosely \
|
||||
modelled after libevent."
|
||||
HOMEPAGE = "http://software.schmorp.de/pkg/libev.html"
|
||||
LICENSE = "BSD-2-Clause | GPL-2.0-or-later"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE;md5=d6ad416afd040c90698edcdf1cbee347"
|
||||
|
||||
SRC_URI = "http://dist.schmorp.de/libev/Attic/${BP}.tar.gz"
|
||||
SRC_URI[md5sum] = "a3433f23583167081bf4acdd5b01b34f"
|
||||
SRC_URI[sha256sum] = "507eb7b8d1015fbec5b935f34ebed15bf346bed04a11ab82b8eee848c4205aea"
|
||||
|
||||
inherit autotools
|
||||
|
||||
EXTRA_OECONF += "--with-pic"
|
||||
|
||||
do_install:append() {
|
||||
# Avoid conflicting with libevent. The provided compatibility layer is
|
||||
# still basic so drop it for now.
|
||||
rm ${D}${includedir}/event.h
|
||||
}
|
||||
|
||||
BBCLASSEXTEND = "native"
|
||||
@@ -0,0 +1,17 @@
|
||||
SUMMARY = "Library with common code used by the libraries and tools around the libimobiledevice project"
|
||||
LICENSE = "LGPL-2.1-or-later"
|
||||
LIC_FILES_CHKSUM = "\
|
||||
file://COPYING;md5=6ab17b41640564434dda85c06b7124f7 \
|
||||
"
|
||||
|
||||
HOMEPAGE = "http://www.libimobiledevice.org/"
|
||||
|
||||
DEPENDS = "libplist"
|
||||
|
||||
PV = "1.0.0+git"
|
||||
|
||||
SRCREV = "114098d30e783fbb3def5c9b49427a86621cfcb1"
|
||||
SRC_URI = "git://github.com/libimobiledevice/libimobiledevice-glue;protocol=https;branch=master"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
inherit autotools pkgconfig
|
||||
@@ -0,0 +1,31 @@
|
||||
From 6cb8069cfe08114f1dc7b50a7fcd4dc040cd1bbb Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Tue, 9 May 2023 20:19:23 -0700
|
||||
Subject: [PATCH] include unistd.h for usleep()
|
||||
|
||||
clang16 flags the missing header
|
||||
|
||||
Fixes
|
||||
../../git/tools/idevicedevmodectl.c:363:2: error: call to undeclared function 'usleep'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
|
||||
|
||||
Upstream-Status: Submitted [https://github.com/libimobiledevice/libimobiledevice/pull/1444]
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
---
|
||||
tools/idevicedevmodectl.c | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/tools/idevicedevmodectl.c b/tools/idevicedevmodectl.c
|
||||
index 739bc13..9fe8d6a 100644
|
||||
--- a/tools/idevicedevmodectl.c
|
||||
+++ b/tools/idevicedevmodectl.c
|
||||
@@ -34,6 +34,7 @@
|
||||
#ifndef WIN32
|
||||
#include <signal.h>
|
||||
#endif
|
||||
+#include <unistd.h>
|
||||
|
||||
#ifdef WIN32
|
||||
#include <windows.h>
|
||||
--
|
||||
2.40.1
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
SUMMARY = "A protocol library to access an iPhone or iPod Touch in Linux"
|
||||
LICENSE = "GPL-2.0-only & LGPL-2.1-only"
|
||||
LIC_FILES_CHKSUM = "\
|
||||
file://COPYING;md5=ebb5c50ab7cab4baeffba14977030c07 \
|
||||
file://COPYING.LESSER;md5=6ab17b41640564434dda85c06b7124f7 \
|
||||
"
|
||||
HOMEPAGE = "http://www.libimobiledevice.org/"
|
||||
|
||||
DEPENDS = "libplist usbmuxd libusbmuxd libtasn1 gnutls libgcrypt libimobiledevice-glue openssl"
|
||||
|
||||
PV = "1.3.0+git"
|
||||
|
||||
SRCREV = "860ffb707af3af94467d2ece4ad258dda957c6cd"
|
||||
SRC_URI = "git://github.com/libimobiledevice/libimobiledevice;protocol=https;branch=master \
|
||||
file://0001-include-unistd.h-for-usleep.patch"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
inherit autotools pkgconfig
|
||||
|
||||
EXTRA_OECONF = " --without-cython "
|
||||
|
||||
CFLAGS += "-D_GNU_SOURCE"
|
||||
@@ -0,0 +1,17 @@
|
||||
SUMMARY = "The libirecovery library allows communication with iBoot/iBSS of iOS devices via USB"
|
||||
LICENSE = "LGPL-2.1-or-later"
|
||||
LIC_FILES_CHKSUM = "\
|
||||
file://COPYING;md5=23c2a5e0106b99d75238986559bb5fc6 \
|
||||
"
|
||||
|
||||
HOMEPAGE = "http://www.libimobiledevice.org/"
|
||||
|
||||
DEPENDS = "libimobiledevice-glue libusb1 readline"
|
||||
|
||||
PV = "1.1.0"
|
||||
|
||||
SRCREV = "98c9f7055ec1f2e09fac69ef1413a8757113b838"
|
||||
SRC_URI = "git://github.com/libimobiledevice/libirecovery;protocol=https;branch=master"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
inherit autotools pkgconfig
|
||||
@@ -0,0 +1,22 @@
|
||||
SUMMARY = "libmbim is library for talking to WWAN devices by MBIM protocol"
|
||||
DESCRIPTION = "libmbim is a glib-based library for talking to WWAN modems and devices which speak the Mobile Interface Broadband Model (MBIM) protocol"
|
||||
HOMEPAGE = "http://www.freedesktop.org/wiki/Software/libmbim/"
|
||||
LICENSE = "GPL-2.0-or-later & LGPL-2.1-or-later"
|
||||
LIC_FILES_CHKSUM = " \
|
||||
file://LICENSES/GPL-2.0-or-later.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
|
||||
file://LICENSES/LGPL-2.1-or-later.txt;md5=4fbd65380cdd255951079008b364516c \
|
||||
"
|
||||
|
||||
DEPENDS = "glib-2.0 glib-2.0-native libgudev"
|
||||
|
||||
inherit meson pkgconfig bash-completion gobject-introspection upstream-version-is-even
|
||||
|
||||
SRCREV = "8415687e4f30ae5e36f407f179c8147f1529725c"
|
||||
SRC_URI = "git://gitlab.freedesktop.org/mobile-broadband/libmbim.git;protocol=https;branch=mbim-1-30"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
EXTRA_OEMESON = " \
|
||||
-Dgtk_doc=false \
|
||||
-Dman=false \
|
||||
"
|
||||
@@ -0,0 +1,43 @@
|
||||
From 4e8eab047a43e48bd541f2887104299fcfb99b0d Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
|
||||
Date: Tue, 27 Nov 2018 12:03:20 +0100
|
||||
Subject: [PATCH] Use native mtp-hotplug
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Upstream-Status: Inappropriate [OE-specific]
|
||||
|
||||
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
|
||||
---
|
||||
Makefile.am | 8 ++++----
|
||||
1 file changed, 4 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/Makefile.am b/Makefile.am
|
||||
index 7b7e06b..083e1c6 100644
|
||||
--- a/Makefile.am
|
||||
+++ b/Makefile.am
|
||||
@@ -16,16 +16,16 @@ hwdb_DATA=69-libmtp.hwdb
|
||||
noinst_DATA=libmtp.usermap libmtp.fdi
|
||||
|
||||
libmtp.usermap: util/mtp-hotplug
|
||||
- util/mtp-hotplug > libmtp.usermap
|
||||
+ mtp-hotplug > libmtp.usermap
|
||||
|
||||
@UDEV_RULES@: util/mtp-hotplug
|
||||
- util/mtp-hotplug -u -p"@UDEV@" @UDEV_GROUP@ @UDEV_MODE@ > @UDEV_RULES@
|
||||
+ mtp-hotplug -u -p"@UDEV@" @UDEV_GROUP@ @UDEV_MODE@ > @UDEV_RULES@
|
||||
|
||||
libmtp.fdi: util/mtp-hotplug
|
||||
- util/mtp-hotplug -H > libmtp.fdi
|
||||
+ mtp-hotplug -H > libmtp.fdi
|
||||
|
||||
$(hwdb_DATA): util/mtp-hotplug
|
||||
- util/mtp-hotplug -w > $(hwdb_DATA)
|
||||
+ mtp-hotplug -w > $(hwdb_DATA)
|
||||
|
||||
CLEANFILES = libmtp.usermap @UDEV_RULES@ libmtp.fdi libmtp.hwdb
|
||||
endif
|
||||
--
|
||||
2.14.5
|
||||
|
||||
@@ -0,0 +1,47 @@
|
||||
# TODO: include debian's mtp-tools man page (needs xsltproc-native and
|
||||
# docbook-xsl-native, or we pregenerate it), add support for doxygen
|
||||
# generation fully with -natives
|
||||
DESCRIPTION = "libmtp is an Initiator implementation of the Media Transfer \
|
||||
Protocol (MTP) in the form of a library suitable primarily for POSIX \
|
||||
compliant operating systems"
|
||||
SUMMARY = "libmtp is an Initiator implementation of the Media Transfer Protocol (MTP)"
|
||||
HOMEPAGE = "http://libmtp.sourceforge.net/"
|
||||
LICENSE = "LGPL-2.1-or-later"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=0448d3676bc0de00406af227d341a4d1 \
|
||||
file://src/ptp.c;beginline=3;endline=22;md5=80fd2d5904c4c1f5455d8f4bf515292f \
|
||||
file://examples/albums.c;beginline=5;endline=21;md5=84f4e55dfec49e898b7f68a828c15620 \
|
||||
"
|
||||
|
||||
BBCLASSEXTEND = "native"
|
||||
|
||||
DEPENDS = "libusb1 gettext-native"
|
||||
DEPENDS:append:class-target = " ${BPN}-native"
|
||||
|
||||
SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/v${PV}/${BP}.tar.gz"
|
||||
SRC_URI:append:class-target = " file://0001-Use-native-mtp-hotplug.patch"
|
||||
SRC_URI[sha256sum] = "f4c1ceb3df020a6cb851110f620c14fe399518c494ed252039cbfb4e34335135"
|
||||
|
||||
inherit autotools pkgconfig lib_package
|
||||
|
||||
EXTRA_OECONF += " \
|
||||
--disable-rpath \
|
||||
--enable-largefile \
|
||||
--with-udev=${nonarch_base_libdir}/udev \
|
||||
"
|
||||
|
||||
PACKAGECONFIG ?= ""
|
||||
PACKAGECONFIG[doxygen] = "--enable-doxygen,--disable-doxygen,doxygen-native"
|
||||
PACKAGECONFIG[mtpz] = "--enable-mtpz,--disable-mtpz,libgcrypt"
|
||||
|
||||
PACKAGES =+ "${BPN}-common ${BPN}-runtime"
|
||||
|
||||
RDEPENDS:${BPN} += "libmtp-common"
|
||||
RRECOMMENDS:${BPN} += "libmtp-runtime ${PN}-bin"
|
||||
|
||||
FILES:${BPN}-common = "${nonarch_base_libdir}/udev/rules.d/*"
|
||||
SUMMARY:${BPN}-common = "The udev rules file for MTP devices"
|
||||
|
||||
FILES:${BPN}-runtime = "${nonarch_base_libdir}/udev/mtp-probe"
|
||||
RDEPENDS:${BPN}-runtime = "libmtp-common"
|
||||
SUMMARY:${BPN}-runtime = "mtp-probe, used for the MTP udev rules"
|
||||
DESCRIPTION:${BPN}-runtime = "This package provides mtp-probe, a program to probe newly connected device interfaces from userspace to determine if they are MTP devices, used for udev rules."
|
||||
@@ -0,0 +1,48 @@
|
||||
From 05e4ba7b0d126eea4c04387dcf40596059ee24af Mon Sep 17 00:00:00 2001
|
||||
From: Hangbin Liu <liuhangbin@gmail.com>
|
||||
Date: Wed, 5 Jun 2024 11:57:43 +0800
|
||||
Subject: [PATCH] libndp: valid route information option length
|
||||
|
||||
RFC 4191 specifies that the Route Information Option Length should be 1, 2,
|
||||
or 3, depending on the Prefix Length. A malicious node could potentially
|
||||
trigger a buffer overflow and crash the tool by sending an IPv6 router
|
||||
advertisement message containing the "Route Information" option with a
|
||||
"Length" field larger than 3.
|
||||
|
||||
To address this, add a check on the length field.
|
||||
|
||||
Fixes: 8296a5bf0755 ("add support for Route Information Option (rfc4191)")
|
||||
Reported-by: Evgeny Vereshchagin <evverx@gmail.com>
|
||||
Suggested-by: Felix Maurer <fmaurer@redhat.com>
|
||||
Signed-off-by: Hangbin Liu <liuhangbin@gmail.com>
|
||||
Signed-off-by: Jiri Pirko <jiri@nvidia.com>
|
||||
|
||||
CVE: CVE-2024-5564
|
||||
Upstream-Status: Backport [https://github.com/jpirko/libndp/commit/05e4ba7b0d126eea4c04387dcf40596059ee24af]
|
||||
Signed-off-by: Peter Marko <peter.marko@siemens.com>
|
||||
---
|
||||
libndp/libndp.c | 11 +++++++++++
|
||||
1 file changed, 11 insertions(+)
|
||||
|
||||
diff --git a/libndp/libndp.c b/libndp/libndp.c
|
||||
index 6314717..72ec92e 100644
|
||||
--- a/libndp/libndp.c
|
||||
+++ b/libndp/libndp.c
|
||||
@@ -1231,6 +1231,17 @@ static bool ndp_msg_opt_route_check_valid(void *opt_data)
|
||||
*/
|
||||
if (((ri->nd_opt_ri_prf_reserved >> 3) & 3) == 2)
|
||||
return false;
|
||||
+
|
||||
+ /* The Length field is 1, 2, or 3 depending on the Prefix Length.
|
||||
+ * If Prefix Length is greater than 64, then Length must be 3.
|
||||
+ * If Prefix Length is greater than 0, then Length must be 2 or 3.
|
||||
+ * If Prefix Length is zero, then Length must be 1, 2, or 3.
|
||||
+ */
|
||||
+ if (ri->nd_opt_ri_len > 3 ||
|
||||
+ (ri->nd_opt_ri_prefix_len > 64 && ri->nd_opt_ri_len != 3) ||
|
||||
+ (ri->nd_opt_ri_prefix_len > 0 && ri->nd_opt_ri_len == 1))
|
||||
+ return false;
|
||||
+
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
SUMMARY = "Library for IPv6 Neighbor Discovery Protocol"
|
||||
HOMEPAGE = "http://libndp.org/"
|
||||
LICENSE = "LGPL-2.1-only"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
|
||||
|
||||
SRC_URI = "git://github.com/jpirko/libndp;branch=master;protocol=https \
|
||||
file://CVE-2024-5564.patch \
|
||||
"
|
||||
# tag for v1.8
|
||||
SRCREV = "009ce9cd9b950ffa1f4f94c9436027b936850d0c"
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
inherit autotools
|
||||
@@ -0,0 +1,20 @@
|
||||
SUMMARY = "A packet dissection and creation library"
|
||||
HOMEPAGE = "https://github.com/libnet/libnet"
|
||||
|
||||
SECTION = "libs"
|
||||
|
||||
LICENSE = "BSD-2-Clause"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE;md5=07f291bf6e78efa05cec668cf6a09acc"
|
||||
|
||||
DEPENDS = "libpcap"
|
||||
|
||||
SRC_URI = "git://github.com/libnet/libnet.git;protocol=https;branch=master"
|
||||
|
||||
SRC_URI[sha256sum] = "1e9e9054d688b059bcbaf878d8c4fbf69bfc0c9386cd4e7779fbb53339050d2e"
|
||||
SRCREV = "deaebdfe2743e8a6f04d3c307d9272afeeecfade"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
inherit autotools binconfig multilib_script
|
||||
MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/libnet-config"
|
||||
|
||||
@@ -0,0 +1,61 @@
|
||||
From 95708ff427c12b58e53fab225a08c811ca358394 Mon Sep 17 00:00:00 2001
|
||||
From: Martin Jansa <Martin.Jansa@gmail.com>
|
||||
Date: Wed, 3 May 2023 22:27:10 +0200
|
||||
Subject: [PATCH] CMakeLists.txt: respect ${CMAKE_INSTALL_LIBDIR} for multilib
|
||||
|
||||
* fixes:
|
||||
ERROR: libnfs-5.0.2-r0 do_package: QA Issue: libnfs: Files/directories were installed but not shipped in any package:
|
||||
/usr/lib/libnfs.so
|
||||
/usr/lib/libnfs.so.11.1.0
|
||||
/usr/lib/libnfs.so.5.0.2
|
||||
/usr/lib/pkgconfig
|
||||
/usr/lib/cmake
|
||||
/usr/lib/pkgconfig/libnfs.pc
|
||||
/usr/lib/cmake/libnfs
|
||||
/usr/lib/cmake/libnfs/libnfs-config-version.cmake
|
||||
/usr/lib/cmake/libnfs/libnfs-config.cmake
|
||||
/usr/lib/cmake/libnfs/libnfs-config-noconfig.cmake
|
||||
/usr/lib/cmake/libnfs/FindNFS.cmake
|
||||
Please set FILES such that these items are packaged. Alternatively if they are unneeded, avoid installing them or delete them within do_install.
|
||||
libnfs: 11 installed and not shipped files. [installed-vs-shipped]
|
||||
|
||||
when libdir is /usr/lib64 with multilib
|
||||
|
||||
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
|
||||
Upstream-Status: Pending
|
||||
---
|
||||
CMakeLists.txt | 6 +++---
|
||||
lib/CMakeLists.txt | 4 ++--
|
||||
2 files changed, 5 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 5be774d..6b4fd25 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -7,11 +7,11 @@ project(libnfs
|
||||
set(SOVERSION 11.2.0 CACHE STRING "" FORCE)
|
||||
|
||||
set(INSTALL_BIN_DIR "${CMAKE_INSTALL_PREFIX}/bin" CACHE PATH "Installation directory for binaries")
|
||||
-set(INSTALL_LIB_DIR "${CMAKE_INSTALL_PREFIX}/lib" CACHE PATH "Installation directory for libraries")
|
||||
+set(INSTALL_LIB_DIR "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}" CACHE PATH "Installation directory for libraries")
|
||||
set(INSTALL_INC_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE PATH "Installation directory for headers")
|
||||
set(INSTALL_MAN_DIR "${CMAKE_INSTALL_PREFIX}/share/man" CACHE PATH "Installation directory for manual pages")
|
||||
-set(INSTALL_PKGCONFIG_DIR "${INSTALL_LIB_DIR}/pkgconfig" CACHE PATH "Installation directory for pkgconfig (.pc) files")
|
||||
-set(INSTALL_CMAKE_DIR "${INSTALL_LIB_DIR}/cmake/libnfs" CACHE PATH "Installation directory for cmake (.cmake) files")
|
||||
+set(INSTALL_PKGCONFIG_DIR "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/pkgconfig" CACHE PATH "Installation directory for pkgconfig (.pc) files")
|
||||
+set(INSTALL_CMAKE_DIR "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/cmake/libnfs" CACHE PATH "Installation directory for cmake (.cmake) files")
|
||||
|
||||
option(BUILD_SHARED_LIBS "Build shared libraries" ON)
|
||||
option(ENABLE_TESTS "Build and run test programs" OFF)
|
||||
diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt
|
||||
index 88ba7b8..5ff89dc 100644
|
||||
--- a/lib/CMakeLists.txt
|
||||
+++ b/lib/CMakeLists.txt
|
||||
@@ -23,5 +23,5 @@ set_target_properties(nfs PROPERTIES
|
||||
|
||||
install(TARGETS nfs EXPORT libnfs
|
||||
RUNTIME DESTINATION bin
|
||||
- ARCHIVE DESTINATION lib
|
||||
- LIBRARY DESTINATION lib)
|
||||
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
||||
@@ -0,0 +1,44 @@
|
||||
From d0fa719d49f38777911a8e99717f2d4b30811080 Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Mon, 12 Feb 2024 19:24:54 -0800
|
||||
Subject: [PATCH] cmake: Test for sys/uio.h
|
||||
|
||||
writev() API is used in few places and it will need including sys/uio.h
|
||||
for getting the funciton signature
|
||||
|
||||
Upstream-Status: Submitted [https://github.com/sahlberg/libnfs/pull/440]
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
---
|
||||
cmake/ConfigureChecks.cmake | 1 +
|
||||
cmake/config.h.cmake | 3 +++
|
||||
2 files changed, 4 insertions(+)
|
||||
|
||||
diff --git a/cmake/ConfigureChecks.cmake b/cmake/ConfigureChecks.cmake
|
||||
index 0258fc8..c26a02d 100644
|
||||
--- a/cmake/ConfigureChecks.cmake
|
||||
+++ b/cmake/ConfigureChecks.cmake
|
||||
@@ -22,6 +22,7 @@ check_include_file("sys/stat.h" HAVE_SYS_STAT_H)
|
||||
check_include_file("sys/sysmacros.h" HAVE_SYS_SYSMACROS_H)
|
||||
check_include_file("sys/time.h" HAVE_SYS_TIME_H)
|
||||
check_include_file("sys/types.h" HAVE_SYS_TYPES_H)
|
||||
+check_include_file("sys/uio.h" HAVE_SYS_UIO_H)
|
||||
check_include_file("sys/vfs.h" HAVE_SYS_VFS_H)
|
||||
check_include_file("unistd.h" HAVE_UNISTD_H)
|
||||
check_include_file("utime.h" HAVE_UTIME_H)
|
||||
diff --git a/cmake/config.h.cmake b/cmake/config.h.cmake
|
||||
index 4016c6c..6263896 100644
|
||||
--- a/cmake/config.h.cmake
|
||||
+++ b/cmake/config.h.cmake
|
||||
@@ -90,6 +90,9 @@
|
||||
/* Define to 1 if you have the <sys/types.h> header file. */
|
||||
#cmakedefine HAVE_SYS_TYPES_H
|
||||
|
||||
+/* Define to 1 if you have the <sys/uio.h> header file. */
|
||||
+#cmakedefine HAVE_SYS_UIO_H
|
||||
+
|
||||
/* Define to 1 if you have the <sys/vfs.h> header file. */
|
||||
#cmakedefine HAVE_SYS_VFS_H
|
||||
|
||||
--
|
||||
2.43.1
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
SUMMARY = "NFS client library"
|
||||
HOMEPAGE = "https://github.com/sahlberg/libnfs"
|
||||
LICENSE = "LGPL-2.1-only & BSD-2-Clause & GPL-3.0-only"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=825301ba17efc9d188ee0abd4b924ada"
|
||||
|
||||
SRC_URI = " \
|
||||
git://github.com/sahlberg/libnfs.git;protocol=https;branch=master \
|
||||
file://0001-CMakeLists.txt-respect-CMAKE_INSTALL_LIBDIR-for-mult.patch \
|
||||
file://0001-cmake-Test-for-sys-uio.h.patch \
|
||||
"
|
||||
SRCREV = "4379837536d9eac537810dc7b13071136049b22a"
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
inherit cmake
|
||||
|
||||
do_install:append() {
|
||||
rm -f ${D}${libdir}/cmake/libnfs/libnfs-config.cmake
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
SUMMARY = "libqmi is a library for talking to WWAN devices by QMI protocol"
|
||||
DESCRIPTION = "libqmi is a glib-based library for talking to WWAN modems and \
|
||||
devices which speak the Qualcomm MSM Interface (QMI) protocol"
|
||||
HOMEPAGE = "http://www.freedesktop.org/wiki/Software/libqmi"
|
||||
LICENSE = "GPL-2.0-or-later & LGPL-2.1-or-later"
|
||||
LIC_FILES_CHKSUM = " \
|
||||
file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
|
||||
file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \
|
||||
"
|
||||
|
||||
DEPENDS = "glib-2.0 glib-2.0-native"
|
||||
|
||||
inherit meson pkgconfig bash-completion gobject-introspection upstream-version-is-even
|
||||
|
||||
SRCREV = "3f07d6e5b4677558543b3b4484ea88ad92257e92"
|
||||
SRC_URI = "git://gitlab.freedesktop.org/mobile-broadband/libqmi.git;protocol=https;branch=qmi-1-34"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
PACKAGECONFIG ??= "udev mbim"
|
||||
PACKAGECONFIG[udev] = "-Dudev=true,-Dudev=false,libgudev"
|
||||
PACKAGECONFIG[mbim] = "-Dmbim_qmux=true,-Dmbim_qmux=false,libmbim"
|
||||
PACKAGECONFIG[qrtr] = "-Dqrtr=true,-Dqrtr=false,libqrtr-glib"
|
||||
|
||||
EXTRA_OEMESON = " \
|
||||
-Dgtk_doc=false \
|
||||
-Dman=false \
|
||||
"
|
||||
@@ -0,0 +1,21 @@
|
||||
SUMMARY = "library to use and manage the QRTR bus"
|
||||
DESCRIPTION = "libqrtr-glib is a glib-based library to use and manage the QRTR (Qualcomm IPC Router) bus"
|
||||
HOMEPAGE = "https://gitlab.freedesktop.org/mobile-broadband/libqrtr-glib"
|
||||
|
||||
LICENSE = "LGPL-2.1-or-later"
|
||||
LIC_FILES_CHKSUM = "file://LICENSES/LGPL-2.1-or-later.txt;md5=4fbd65380cdd255951079008b364516c"
|
||||
|
||||
SRC_URI = "git://gitlab.freedesktop.org/mobile-broadband/libqrtr-glib.git;protocol=https;branch=qrtr-1-2"
|
||||
|
||||
PV = "1.2.2+git"
|
||||
SRCREV = "8991f0e93713ebf4da48ae4f23940ead42f64c8c"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
inherit meson pkgconfig gobject-introspection
|
||||
|
||||
DEPENDS = "glib-2.0"
|
||||
|
||||
EXTRA_OEMESON = " \
|
||||
-Dgtk_doc=false \
|
||||
"
|
||||
@@ -0,0 +1,33 @@
|
||||
DESCRIPTION = "libtorrent is a feature complete C++ bittorrent implementation \
|
||||
focusing on efficiency and scalability."
|
||||
HOMEPAGE = "https://libtorrent.org/"
|
||||
LICENSE = "BSD-3-Clause"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=d8b6cb42d66e6b3c47a909c3ce678a7b"
|
||||
|
||||
DEPENDS = "boost openssl"
|
||||
|
||||
SRC_URI = "git://github.com/arvidn/libtorrent.git;branch=master;protocol=https \
|
||||
git://github.com/arvidn/try_signal.git;branch=master;protocol=https;destsuffix=git/deps/try_signal;name=try_signal"
|
||||
|
||||
SRCREV = "74bc93a37a5e31c78f0aa02037a68fb9ac5deb41"
|
||||
SRCREV_try_signal = "105cce59972f925a33aa6b1c3109e4cd3caf583d"
|
||||
SRCREV_FORMAT .= "_try_signal"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
inherit cmake pkgconfig python3targetconfig
|
||||
|
||||
CVE_PRODUCT = "libtorrent"
|
||||
|
||||
EXTRA_OECMAKE = "-DCMAKE_BUILD_TYPE=Release"
|
||||
|
||||
PACKAGECONFIG ??= "python3"
|
||||
PACKAGECONFIG[python3] = "-Dpython-bindings=ON,-Dpython-bindings=OFF,python3-distutils-extra-native"
|
||||
|
||||
# Strip host paths from autogenerated files
|
||||
do_install:append() {
|
||||
sed -i 's+${STAGING_LIBDIR}+${libdir}+g' ${D}${libdir}/pkgconfig/${BPN}.pc
|
||||
}
|
||||
|
||||
PACKAGES += "${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3-${BPN}', '', d)}"
|
||||
FILES:python3-${BPN} = "${PYTHON_SITEPACKAGES_DIR}/*"
|
||||
@@ -0,0 +1,33 @@
|
||||
DESCRIPTION = "libTorrent is a BitTorrent library written in C++ for *nix, \
|
||||
with a focus on high performance and good code."
|
||||
HOMEPAGE = "http://libtorrent.rakshasa.no/"
|
||||
LICENSE = "GPL-2.0-or-later"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=393a5ca445f6965873eca0259a17f833"
|
||||
|
||||
DEPENDS = "zlib libsigc++-2.0 openssl cppunit"
|
||||
|
||||
PV = "0.13.8+git"
|
||||
|
||||
SRC_URI = "git://github.com/rakshasa/libtorrent;branch=master;protocol=https"
|
||||
SRCREV = "e60f222241319aaae482789517ad00ae9344bd13"
|
||||
|
||||
UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)"
|
||||
|
||||
CVE_STATUS[CVE-2009-1760] = "backported-patch: patched in our product"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
CVE_PRODUCT = ""
|
||||
|
||||
PACKAGECONFIG ??= "instrumentation aligned"
|
||||
|
||||
PACKAGECONFIG:remove:mipsarch = "instrumentation"
|
||||
PACKAGECONFIG:remove:powerpc = "instrumentation"
|
||||
PACKAGECONFIG:remove:riscv32 = "instrumentation"
|
||||
|
||||
PACKAGECONFIG[instrumentation] = "--enable-instrumentation,--disable-instrumentation,"
|
||||
PACKAGECONFIG[aligned] = "--enable-aligned,--disable-aligned,"
|
||||
|
||||
inherit autotools pkgconfig
|
||||
|
||||
EXTRA_OECONF = "--with-zlib=${STAGING_EXECPREFIXDIR}"
|
||||
@@ -0,0 +1,67 @@
|
||||
SUMMARY = "Canonical libwebsockets.org websocket library"
|
||||
HOMEPAGE = "https://libwebsockets.org/"
|
||||
LICENSE = "MIT & Zlib & BSD-3-Clause & Apache-2.0"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE;md5=382bfdf329e774859fd401eaf850d29b"
|
||||
|
||||
DEPENDS = "zlib"
|
||||
DEPENDS:append:class-native = " libcap-native"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
SRCREV = "4415e84c095857629863804e941b9e1c2e9347ef"
|
||||
SRC_URI = "git://github.com/warmcat/libwebsockets.git;protocol=https;branch=v4.3-stable"
|
||||
|
||||
UPSTREAM_CHECK_URI = "https://github.com/warmcat/${BPN}/releases"
|
||||
UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)"
|
||||
|
||||
inherit cmake pkgconfig
|
||||
|
||||
PACKAGECONFIG ?= "libuv client server http2 ssl ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
|
||||
PACKAGECONFIG[client] = "-DLWS_WITHOUT_CLIENT=OFF,-DLWS_WITHOUT_CLIENT=ON,"
|
||||
PACKAGECONFIG[http2] = "-DLWS_WITH_HTTP2=ON,-DLWS_WITH_HTTP2=OFF,"
|
||||
PACKAGECONFIG[ipv6] = "-DLWS_IPV6=ON,-DLWS_IPV6=OFF,"
|
||||
PACKAGECONFIG[libevent] = "-DLWS_WITH_LIBEVENT=ON,-DLWS_WITH_LIBEVENT=OFF,libevent"
|
||||
PACKAGECONFIG[libev] = "-DLWS_WITH_LIBEV=ON,-DLWS_WITH_LIBEV=OFF,libev"
|
||||
PACKAGECONFIG[libuv] = "-DLWS_WITH_LIBUV=ON,-DLWS_WITH_LIBUV=OFF,libuv"
|
||||
PACKAGECONFIG[server] = "-DLWS_WITHOUT_SERVER=OFF,-DLWS_WITHOUT_SERVER=ON,"
|
||||
PACKAGECONFIG[ssl] = "-DLWS_WITH_SSL=ON,-DLWS_WITH_SSL=OFF,openssl"
|
||||
PACKAGECONFIG[static] = "-DLWS_WITH_STATIC=ON,-DLWS_WITH_STATIC=OFF -DLWS_LINK_TESTAPPS_DYNAMIC=ON,"
|
||||
PACKAGECONFIG[systemd] = "-DLWS_WITH_SDEVENT=ON,-DLWS_WITH_SDEVENT=OFF,systemd"
|
||||
|
||||
python __anonymous() {
|
||||
if bb.utils.contains('PACKAGECONFIG', 'systemd', True, False, d) and not bb.utils.contains('DISTRO_FEATURES', 'systemd', True, False, d):
|
||||
bb.fatal("PACKAGECONFIG contains systemd but DISTRO_FEATURES doesn't")
|
||||
}
|
||||
|
||||
EXTRA_OECMAKE += " \
|
||||
-DLIB_SUFFIX=${@d.getVar('baselib').replace('lib', '')} \
|
||||
"
|
||||
|
||||
do_install:append() {
|
||||
sed -i -e 's|${STAGING_LIBDIR}/libcrypto.so|crypto|g' ${D}${libdir}/cmake/libwebsockets/LibwebsocketsTargets.cmake
|
||||
sed -i -e 's|${STAGING_LIBDIR}/libssl.so|ssl|g' ${D}${libdir}/cmake/libwebsockets/LibwebsocketsTargets.cmake
|
||||
sed -i -e 's|${STAGING_LIBDIR}/libuv.so|uv|g' ${D}${libdir}/cmake/libwebsockets/LibwebsocketsTargets.cmake
|
||||
sed -i -e 's|${STAGING_INCDIR}||g' ${D}${libdir}/cmake/libwebsockets/LibwebsocketsTargets.cmake \
|
||||
${D}${libdir}/cmake/libwebsockets/libwebsockets-config.cmake
|
||||
sed -i -e 's|${STAGING_LIBDIR}/||g' ${D}${libdir}/cmake/libwebsockets/LibwebsocketsTargets.cmake \
|
||||
${D}${libdir}/cmake/libwebsockets/libwebsockets-config.cmake
|
||||
}
|
||||
|
||||
PACKAGES =+ "${PN}-testapps ${PN}-evlib-event ${PN}-evlib-uv ${PN}-evlib-ev ${PN}-evlib-sd"
|
||||
|
||||
FILES:${PN}-testapps += "${datadir}/libwebsockets-test-server/* ${bindir}/libwebsockets-test-*"
|
||||
FILES:${PN}-evlib-event += "${libdir}/libwebsockets-evlib_event.so"
|
||||
FILES:${PN}-evlib-uv += "${libdir}/libwebsockets-evlib_uv.so"
|
||||
FILES:${PN}-evlib-ev += "${libdir}/libwebsockets-evlib_ev.so"
|
||||
FILES:${PN}-evlib-sd += "${libdir}/libwebsockets-evlib_sd.so"
|
||||
|
||||
RDEPENDS:${PN} += " ${@bb.utils.contains('PACKAGECONFIG', 'libevent', '${PN}-evlib-event', '', d)}"
|
||||
RDEPENDS:${PN} += " ${@bb.utils.contains('PACKAGECONFIG', 'libuv', '${PN}-evlib-uv', '', d)}"
|
||||
RDEPENDS:${PN} += " ${@bb.utils.contains('PACKAGECONFIG', 'libev', '${PN}-evlib-ev', '', d)}"
|
||||
RDEPENDS:${PN} += " ${@bb.utils.contains('PACKAGECONFIG', 'systemd', '${PN}-evlib-sd', '', d)}"
|
||||
|
||||
RDEPENDS:${PN}-dev += " ${@bb.utils.contains('PACKAGECONFIG', 'static', '${PN}-staticdev', '', d)}"
|
||||
|
||||
# Avoid absolute paths to end up in the sysroot.
|
||||
SSTATE_SCAN_FILES += "*.cmake"
|
||||
|
||||
BBCLASSEXTEND = "native"
|
||||
@@ -0,0 +1,26 @@
|
||||
From 6120cee594c543d17ae015bc601012debcf57177 Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Mon, 23 Oct 2023 10:43:42 +0100
|
||||
Subject: [PATCH] include string.h for strncpy()
|
||||
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
Upstream-Status: Backport [master: 6120cee594c543d17ae015bc601012debcf57177]
|
||||
---
|
||||
interface.c | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/interface.c b/interface.c
|
||||
index 29229ad6f53d..9a83c36933e7 100644
|
||||
--- a/interface.c
|
||||
+++ b/interface.c
|
||||
@@ -5,6 +5,7 @@
|
||||
* @note SPDX-License-Identifier: GPL-2.0+
|
||||
*/
|
||||
#include <stdlib.h>
|
||||
+#include <string.h>
|
||||
#include "interface.h"
|
||||
|
||||
struct interface {
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -0,0 +1,48 @@
|
||||
From cffb4807ac0b9ff7aea2aa4f3842985b5363d184 Mon Sep 17 00:00:00 2001
|
||||
From: Luca Fancellu <luca.fancellu@arm.com>
|
||||
Date: Mon, 23 Oct 2023 10:43:43 +0100
|
||||
Subject: [PATCH] linuxptp: Use ${CC} in incdefs.sh
|
||||
|
||||
The Makefile is defining CC and incdefs.sh is using
|
||||
${CROSS_COMPILE}cpp inside it, allowing both to use different
|
||||
compilers depending on what the user pass during make invocation
|
||||
as CC.
|
||||
|
||||
Align them using ${CC} also inside incdefs.sh.
|
||||
|
||||
Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
|
||||
Upstream-Status: Backport [master: cffb4807ac0b9ff7aea2aa4f3842985b5363d184]
|
||||
---
|
||||
incdefs.sh | 2 +-
|
||||
makefile | 2 +-
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/incdefs.sh b/incdefs.sh
|
||||
index a9e94f777f6b..391e63c7fac6 100755
|
||||
--- a/incdefs.sh
|
||||
+++ b/incdefs.sh
|
||||
@@ -27,7 +27,7 @@ user_flags()
|
||||
printf " -D_GNU_SOURCE"
|
||||
|
||||
# Get list of directories searched for header files.
|
||||
- dirs=$(echo "" | ${CROSS_COMPILE}cpp -Wp,-v 2>&1 >/dev/null | grep ^" /")
|
||||
+ dirs=$(${CC} -E -Wp,-v -xc /dev/null 2>&1 >/dev/null | grep ^" /")
|
||||
|
||||
# Look for clock_adjtime().
|
||||
for d in $dirs; do
|
||||
diff --git a/makefile b/makefile
|
||||
index 3e3b8b35fc96..7fc5f6fb8fa8 100644
|
||||
--- a/makefile
|
||||
+++ b/makefile
|
||||
@@ -39,7 +39,7 @@ OBJECTS = $(OBJ) hwstamp_ctl.o nsm.o phc2sys.o phc_ctl.o pmc.o pmc_agent.o \
|
||||
SRC = $(OBJECTS:.o=.c)
|
||||
DEPEND = $(OBJECTS:.o=.d)
|
||||
srcdir := $(dir $(lastword $(MAKEFILE_LIST)))
|
||||
-incdefs := $(shell $(srcdir)/incdefs.sh)
|
||||
+incdefs := $(shell CC="$(CC)" $(srcdir)/incdefs.sh)
|
||||
version := $(shell $(srcdir)/version.sh $(srcdir))
|
||||
VPATH = $(srcdir)
|
||||
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
[Unit]
|
||||
Description=Synchronize system clock or PTP hardware clock (PHC)
|
||||
Documentation=man:phc2sys
|
||||
Requires=ptp4l.service
|
||||
After=ptp4l.service
|
||||
Before=time-sync.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
ExecStart=@SBINDIR@/phc2sys -w -s %I
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
@@ -0,0 +1,11 @@
|
||||
[Unit]
|
||||
Description=Precision Time Protocol (PTP) service for %I
|
||||
Documentation=man:ptp4l
|
||||
After=sys-subsystem-net-devices-%i.device
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
ExecStart=@SBINDIR@/ptp4l -f @SYSCONFDIR@/linuxptp/ptp4l.conf -i %I
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
@@ -0,0 +1,62 @@
|
||||
SUMMARY = "linuxptp package for linux"
|
||||
DESCRIPTION = "Precision Time Protocol (PTP) according to IEEE standard 1588 \
|
||||
for Linux"
|
||||
HOMEPAGE = "http://linuxptp.sourceforge.net/"
|
||||
LICENSE = "GPL-2.0-only"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
|
||||
|
||||
LINUXPTP_SRC_URI = "http://sourceforge.net/projects/linuxptp"
|
||||
|
||||
SRC_URI = "${LINUXPTP_SRC_URI}/files/v4.1/linuxptp-${PV}.tgz \
|
||||
file://0001-include-string.h-for-strncpy.patch \
|
||||
file://0002-linuxptp-Use-CC-in-incdefs.sh.patch \
|
||||
file://systemd/phc2sys@.service.in \
|
||||
file://systemd/ptp4l@.service.in \
|
||||
"
|
||||
|
||||
SRC_URI[md5sum] = "1db8699fc155965341759be5e5aad938"
|
||||
SRC_URI[sha256sum] = "e1743d44f8208897e30895da3579e670ff919b914feb4b5a949f3e421ddde535"
|
||||
|
||||
inherit systemd
|
||||
|
||||
UPSTREAM_CHECK_URI = "${LINUXPTP_SRC_URI}/files/"
|
||||
UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)/"
|
||||
|
||||
EXTRA_OEMAKE = "CC='${CC}' EXTRA_CFLAGS='${CFLAGS}' mandir='${mandir}' \
|
||||
sbindir='${sbindir}'"
|
||||
|
||||
export KBUILD_OUTPUT="${RECIPE_SYSROOT}"
|
||||
|
||||
LINUXPTP_SYSTEMD_SERVICES = "phc2sys@.service ptp4l@.service"
|
||||
|
||||
do_install() {
|
||||
oe_runmake install DESTDIR=${D}
|
||||
|
||||
# Install example configs from source tree
|
||||
install -d ${D}${docdir}/${PN}
|
||||
cp -R --no-dereference --preserve=mode,links ${S}/configs \
|
||||
${D}${docdir}/${PN}
|
||||
|
||||
# Install default configuration files
|
||||
install -d ${D}/${sysconfdir}/linuxptp/
|
||||
install -m 644 ${S}/configs/default.cfg \
|
||||
${D}${sysconfdir}/linuxptp/ptp4l.conf
|
||||
|
||||
# Install systemd services
|
||||
install -d ${D}/${systemd_unitdir}/system/
|
||||
for service in ${LINUXPTP_SYSTEMD_SERVICES}; do
|
||||
sed -i -e 's,@SBINDIR@,${sbindir},g' \
|
||||
${WORKDIR}/systemd/$service.in
|
||||
sed -i -e 's,@SYSCONFDIR@,${sysconfdir},g' \
|
||||
${WORKDIR}/systemd/$service.in
|
||||
install -m 644 ${WORKDIR}/systemd/$service.in \
|
||||
${D}/${systemd_unitdir}/system/$service
|
||||
done
|
||||
}
|
||||
|
||||
SYSTEMD_SERVICE:${PN} = "${LINUXPTP_SYSTEMD_SERVICES}"
|
||||
SYSTEMD_AUTO_ENABLE:${PN} = "disable"
|
||||
|
||||
PACKAGES =+ "${PN}-configs"
|
||||
|
||||
FILES:${PN}-configs += "${docdir}"
|
||||
@@ -0,0 +1,16 @@
|
||||
DESCRIPTION = "Loudmouth is a lightweight and easy-to-use C library for programming with the Jabber protocol."
|
||||
HOMEPAGE = "http://www.loudmouth-project.org/"
|
||||
|
||||
LICENSE = "LGPL-2.1-only"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
|
||||
|
||||
DEPENDS = "glib-2.0 libcheck openssl libidn"
|
||||
|
||||
GNOMEBASEBUILDCLASS = "autotools"
|
||||
|
||||
inherit gnomebase gtk-doc
|
||||
|
||||
SRC_URI = "https://github.com/mcabber/${BPN}/releases/download/${PV}/${BP}.tar.bz2"
|
||||
SRC_URI[sha256sum] = "31cbc91c1fddcc5346b3373b8fb45594e9ea9cc7fe36d0595e8912c47ad94d0d"
|
||||
|
||||
EXTRA_OECONF = "--with-ssl=openssl --with-compile-warnings=no"
|
||||
@@ -0,0 +1,55 @@
|
||||
SUMMARY = "ModemManager is a daemon controlling broadband devices/connections"
|
||||
DESCRIPTION = "ModemManager is a DBus-activated daemon which controls mobile broadband (2G/3G/4G) devices and connections"
|
||||
HOMEPAGE = "http://www.freedesktop.org/wiki/Software/ModemManager/"
|
||||
LICENSE = "GPL-2.0-or-later & LGPL-2.1-or-later"
|
||||
LIC_FILES_CHKSUM = " \
|
||||
file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
|
||||
file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \
|
||||
"
|
||||
|
||||
inherit gnomebase gettext systemd gobject-introspection bash-completion
|
||||
|
||||
DEPENDS = "glib-2.0 libgudev libxslt-native dbus"
|
||||
|
||||
SRCREV = "03f786ce66360d67c669f4f122f8aa458e6f01ea"
|
||||
SRC_URI = "git://gitlab.freedesktop.org/mobile-broadband/ModemManager.git;protocol=https;branch=mm-1-22"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
# strict, permissive
|
||||
MODEMMANAGER_POLKIT_TYPE ??= "permissive"
|
||||
|
||||
PACKAGECONFIG ??= "vala mbim qmi \
|
||||
${@bb.utils.filter('DISTRO_FEATURES', 'systemd polkit', d)} \
|
||||
"
|
||||
|
||||
PACKAGECONFIG[at] = "-Dat_command_via_dbus=true"
|
||||
PACKAGECONFIG[systemd] = " \
|
||||
-Dsystemdsystemunitdir=${systemd_unitdir}/system/, \
|
||||
-Dsystemdsystemunitdir=no -Dsystemd_journal=false -Dsystemd_suspend_resume=false \
|
||||
"
|
||||
PACKAGECONFIG[polkit] = "-Dpolkit=${MODEMMANAGER_POLKIT_TYPE},-Dpolkit=no,polkit"
|
||||
# Support WWAN modems and devices which speak the Mobile Interface Broadband Model (MBIM) protocol.
|
||||
PACKAGECONFIG[mbim] = "-Dmbim=true,-Dmbim=false -Dplugin_dell=disabled -Dplugin_foxconn=disabled,libmbim"
|
||||
# Support WWAN modems and devices which speak the Qualcomm MSM Interface (QMI) protocol.
|
||||
PACKAGECONFIG[qmi] = "-Dqmi=true,-Dqmi=false,libqmi"
|
||||
PACKAGECONFIG[qrtr] = "-Dqrtr=true,-Dqrtr=false,libqrtr-glib"
|
||||
PACKAGECONFIG[vala] = "-Dvapi=true,-Dvapi=false"
|
||||
|
||||
inherit upstream-version-is-even ${@bb.utils.contains('PACKAGECONFIG', 'vala', 'vala', '', d)}
|
||||
|
||||
EXTRA_OEMESON = " \
|
||||
-Dudevdir=${nonarch_base_libdir}/udev \
|
||||
-Dqrtr=false \
|
||||
"
|
||||
|
||||
FILES:${PN} += " \
|
||||
${datadir}/icons \
|
||||
${datadir}/polkit-1 \
|
||||
${datadir}/dbus-1 \
|
||||
${datadir}/ModemManager \
|
||||
${libdir}/ModemManager \
|
||||
${systemd_unitdir}/system \
|
||||
"
|
||||
|
||||
SYSTEMD_SERVICE:${PN} = "ModemManager.service"
|
||||
@@ -0,0 +1,63 @@
|
||||
From d9a1a6aac5a3b270449d09ec0d2a556807ab9287 Mon Sep 17 00:00:00 2001
|
||||
From: Xiangyu Chen <xiangyu.chen@windriver.com>
|
||||
Date: Wed, 29 Mar 2023 13:53:44 +0800
|
||||
Subject: [PATCH] configure.ac: add support of protobuf 4.22.x
|
||||
|
||||
the protobuf 4.22x is using c++14 as default, this caused the mosh cannot compile anymore and report following error:
|
||||
|
||||
....
|
||||
/usr/include/google/protobuf/port_def.inc:200:15: error: static assertion failed: Protobuf only supports C++14 and newer.
|
||||
| 200 | static_assert(PROTOBUF_CPLUSPLUS_MIN(201402L), "Protobuf only supports C++14 and newer.");
|
||||
| | ^~~~~~~~~~~~~~~~~~~~~~
|
||||
....
|
||||
|
||||
Upstream-Status: Pending [https://github.com/mobile-shell/mosh/pull/1266]
|
||||
|
||||
Signed-off-by: Xiangyu Chen <xiangyu.chen@windriver.com>
|
||||
---
|
||||
configure.ac | 8 ++++++++
|
||||
src/frontend/Makefile.am | 2 +-
|
||||
2 files changed, 9 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index ee70c7b..5457009 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -26,6 +26,10 @@ m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
|
||||
AS_IF([pkg-config --atleast-version 3.6.0 protobuf],
|
||||
[AX_CXX_COMPILE_STDCXX([11])])
|
||||
|
||||
+# If current protobuf 4.22+ update the requires to C++14.
|
||||
+AS_IF([pkg-config --atleast-version 4.22.0 protobuf],
|
||||
+ [AX_CXX_COMPILE_STDCXX([14])])
|
||||
+
|
||||
WARNING_CXXFLAGS=""
|
||||
PICKY_CXXFLAGS=""
|
||||
DISTCHECK_CXXFLAGS=""
|
||||
@@ -311,6 +315,10 @@ AC_CHECK_FUNCS(m4_normalize([
|
||||
pledge
|
||||
]))
|
||||
|
||||
+AS_IF([pkg-config --atleast-version 4.22.0 protobuf],
|
||||
+ [PKG_CHECK_MODULES([ABSL_LOG_INTERNAL_CHECK_OP], [absl_log_internal_check_op],[],
|
||||
+ [AC_MSG_ERROR([Missing abseil-cpp library.])])])
|
||||
+
|
||||
# Start by trying to find the needed tinfo parts by pkg-config
|
||||
PKG_CHECK_MODULES([TINFO], [tinfo],
|
||||
[AC_DEFINE([HAVE_CURSES_H], [1], [Define to 1 if <curses.h> is present])],
|
||||
diff --git a/src/frontend/Makefile.am b/src/frontend/Makefile.am
|
||||
index 1aa83fd..399ecd6 100644
|
||||
--- a/src/frontend/Makefile.am
|
||||
+++ b/src/frontend/Makefile.am
|
||||
@@ -1,7 +1,7 @@
|
||||
AM_CPPFLAGS = -I$(srcdir)/../statesync -I$(srcdir)/../terminal -I$(srcdir)/../network -I$(srcdir)/../crypto -I../protobufs -I$(srcdir)/../util $(TINFO_CFLAGS) $(protobuf_CFLAGS) $(CRYPTO_CFLAGS)
|
||||
AM_CXXFLAGS = $(WARNING_CXXFLAGS) $(PICKY_CXXFLAGS) $(HARDEN_CFLAGS) $(MISC_CXXFLAGS) $(CODE_COVERAGE_CXXFLAGS)
|
||||
AM_LDFLAGS = $(HARDEN_LDFLAGS) $(CODE_COVERAGE_LIBS)
|
||||
-LDADD = ../crypto/libmoshcrypto.a ../network/libmoshnetwork.a ../statesync/libmoshstatesync.a ../terminal/libmoshterminal.a ../util/libmoshutil.a ../protobufs/libmoshprotos.a -lm $(TINFO_LIBS) $(protobuf_LIBS) $(CRYPTO_LIBS)
|
||||
+LDADD = ../crypto/libmoshcrypto.a ../network/libmoshnetwork.a ../statesync/libmoshstatesync.a ../terminal/libmoshterminal.a ../util/libmoshutil.a ../protobufs/libmoshprotos.a -lm $(TINFO_LIBS) $(protobuf_LIBS) $(CRYPTO_LIBS) $(ABSL_LOG_INTERNAL_CHECK_OP_LIBS)
|
||||
|
||||
mosh_server_LDADD = $(LDADD)
|
||||
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -0,0 +1,50 @@
|
||||
# NOTE: mosh-server requires a UTF-8 locale, but there's no way to add
|
||||
# an explicit dependency for this so you need to ensure this is in your
|
||||
# image yourself when you install mosh-server.
|
||||
|
||||
SUMMARY = "Remote shell supporting roaming and high-latency connections"
|
||||
DESCRIPTION = "Remote terminal application that allows roaming, supports \
|
||||
intermittent connectivity, and provides intelligent local echo and line \
|
||||
editing of user keystrokes. Mosh is a replacement for SSH. It's more \
|
||||
robust and responsive, especially over Wi-Fi, cellular, and \
|
||||
long-distance links."
|
||||
HOMEPAGE = "http://mosh.mit.edu"
|
||||
LICENSE = "GPL-3.0-or-later"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
|
||||
|
||||
DEPENDS = "protobuf-native protobuf ncurses zlib libio-pty-perl openssl libutempter abseil-cpp"
|
||||
|
||||
SRC_URI = "https://mosh.org/${BP}.tar.gz \
|
||||
file://0001-configure.ac-add-support-of-protobuf-4.22.x.patch \
|
||||
"
|
||||
|
||||
SRC_URI[sha256sum] = "872e4b134e5df29c8933dff12350785054d2fd2839b5ae6b5587b14db1465ddd"
|
||||
|
||||
inherit autotools pkgconfig
|
||||
|
||||
PACKAGE_BEFORE_PN += "${PN}-server"
|
||||
FILES:${PN}-server = "${bindir}/mosh-server"
|
||||
|
||||
NEEDED_PERL_MODULES = "\
|
||||
perl-module-socket \
|
||||
perl-module-getopt-long \
|
||||
perl-module-errno \
|
||||
perl-module-io-socket-inet \
|
||||
perl-module-posix \
|
||||
"
|
||||
|
||||
# mosh uses SSH to authenticate and the client uses OpenSSH-specific features
|
||||
RDEPENDS:${PN} += "openssh-ssh ${NEEDED_PERL_MODULES}"
|
||||
# The server seemed not to work with dropbear either
|
||||
RDEPENDS:${PN}-server += "openssh-sshd"
|
||||
|
||||
# Fails to build with thumb-1 (qemuarm)
|
||||
#| {standard input}: Assembler messages:
|
||||
#| {standard input}:2100: Error: instruction not supported in Thumb16 mode -- `adds r4,r4,r4'
|
||||
#| {standard input}:2101: Error: instruction not supported in Thumb16 mode -- `adcs r5,r5,r5'
|
||||
#| {standard input}:2102: Error: instruction not supported in Thumb16 mode -- `adcs r6,r6,r6'
|
||||
#| {standard input}:2103: Error: instruction not supported in Thumb16 mode -- `adcs r7,r7,r7'
|
||||
#| {standard input}:2104: Error: selected processor does not support Thumb mode `it cs'
|
||||
ARM_INSTRUCTION_SET = "arm"
|
||||
|
||||
CXXFLAGS:append = " -std=c++17"
|
||||
@@ -0,0 +1,21 @@
|
||||
Submitted By: Armin K. <krejzi at email dot com>
|
||||
Date: 2012-07-06
|
||||
Initial Package Version: 0.4.6
|
||||
Origin: Self
|
||||
Description: Some build fixes.
|
||||
|
||||
Upstream-Status: Pending
|
||||
|
||||
Index: obex-data-server-0.4.6/src/ods-obex.c
|
||||
===================================================================
|
||||
--- obex-data-server-0.4.6.orig/src/ods-obex.c
|
||||
+++ obex-data-server-0.4.6/src/ods-obex.c
|
||||
@@ -412,7 +412,7 @@ ods_obex_setup_usbtransport (OdsObexCont
|
||||
goto err;
|
||||
}
|
||||
|
||||
- interfaces_num = OBEX_FindInterfaces(obex_context->obex_handle, &obex_intf);
|
||||
+ interfaces_num = OBEX_EnumerateInterfaces(obex_context->obex_handle);
|
||||
if (intf_num >= interfaces_num) {
|
||||
g_set_error (error, ODS_ERROR, ODS_ERROR_FAILED, "Invalid interface number");
|
||||
goto err;
|
||||
@@ -0,0 +1,16 @@
|
||||
DESCRIPTION = "obex-data-server is a D-Bus service providing high-level OBEX client and server side functionality"
|
||||
LICENSE = "GPL-2.0-only"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
|
||||
|
||||
DEPENDS = "gtk+ dbus-glib dbus-glib-native imagemagick openobex bluez5"
|
||||
|
||||
SRC_URI = "https://ftp.osuosl.org/pub/blfs/conglomeration/${BPN}/obex-data-server-${PV}.tar.gz \
|
||||
file://obex-data-server-0.4.6-build-fixes-1.patch \
|
||||
"
|
||||
SRC_URI[sha256sum] = "b399465ddbd6d0217abedd9411d9d74a820effa0a6a142adc448268d3920094f"
|
||||
|
||||
inherit features_check autotools-brokensep pkgconfig
|
||||
|
||||
REQUIRED_DISTRO_FEATURES = "x11"
|
||||
|
||||
FILES:${PN} += "${datadir}/dbus-1/"
|
||||
@@ -0,0 +1,37 @@
|
||||
DESCRIPTION = "The Openobex project is an open source implementation of the \
|
||||
Object Exchange (OBEX) protocol."
|
||||
HOMEPAGE = "http://openobex.triq.net"
|
||||
SECTION = "libs"
|
||||
LICENSE = "GPL-2.0-only & LGPL-2.1-only"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a \
|
||||
file://COPYING.LIB;md5=a6f89e2100d9b6cdffcea4f398e37343 \
|
||||
"
|
||||
|
||||
DEPENDS = "virtual/libusb0"
|
||||
DEPENDS:append:class-target = " bluez5"
|
||||
|
||||
SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}/${PV}/${BP}-Source.tar.gz \
|
||||
"
|
||||
SRC_URI[md5sum] = "f6e0b6cb7dcfd731460a7e9a91429a3a"
|
||||
SRC_URI[sha256sum] = "158860aaea52f0fce0c8e4b64550daaae06df2689e05834697b7e8c7d73dd4fc"
|
||||
|
||||
S = "${WORKDIR}/${BP}-Source"
|
||||
|
||||
inherit cmake pkgconfig
|
||||
|
||||
EXTRA_OECONF = " -DCMAKE_SKIP_RPATH=ON "
|
||||
EXTRA_OECMAKE += "-DBUILD_DOCUMENTATION=OFF"
|
||||
|
||||
ASNEEDED = ""
|
||||
|
||||
do_install:append () {
|
||||
rmdir ${D}${bindir}
|
||||
}
|
||||
|
||||
PACKAGES =+ "openobex-apps"
|
||||
FILES:${PN}-apps = "${bindir}/*"
|
||||
FILES:${PN} += "${libdir}/lib*.so.*"
|
||||
FILES:${PN}-dev += "${bindir}/openobex-config"
|
||||
DEBIAN_NOAUTONAME:${PN}-apps = "1"
|
||||
|
||||
BBCLASSEXTEND = "native"
|
||||
@@ -0,0 +1,68 @@
|
||||
From b8dc608dad7d9fc3a4c16acd0327d97b81c23b95 Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Tue, 15 Nov 2016 01:32:31 +0000
|
||||
Subject: [PATCH] apps/CMakeLists.txt: Explicitly link libbfb and libmulticobex
|
||||
|
||||
Transitive linking is disabled now for multicobex and
|
||||
obexftp, This ends up with linking errors for apps, therefore
|
||||
they are required to be added to link line explicitly.
|
||||
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
---
|
||||
Upstream-Status: Pending
|
||||
|
||||
apps/CMakeLists.txt | 13 +++++++++++--
|
||||
1 file changed, 11 insertions(+), 2 deletions(-)
|
||||
|
||||
Index: obexftp-0.24.2-Source/apps/CMakeLists.txt
|
||||
===================================================================
|
||||
--- obexftp-0.24.2-Source.orig/apps/CMakeLists.txt
|
||||
+++ obexftp-0.24.2-Source/apps/CMakeLists.txt
|
||||
@@ -5,14 +5,23 @@ add_definitions( -DVERSION="${obexftp_VE
|
||||
add_definitions ( -DHAVE_USB )
|
||||
|
||||
add_executable ( obexftp_app obexftp.c )
|
||||
-target_link_libraries ( obexftp_app obexftp )
|
||||
+target_link_libraries ( obexftp_app
|
||||
+ PRIVATE multicobex
|
||||
+ PRIVATE bfb
|
||||
+ obexftp
|
||||
+)
|
||||
set_target_properties ( obexftp_app PROPERTIES
|
||||
OUTPUT_NAME obexftp
|
||||
)
|
||||
|
||||
|
||||
add_executable ( obexftpd_app obexftpd.c )
|
||||
-target_link_libraries ( obexftpd_app obexftp openobex )
|
||||
+target_link_libraries ( obexftpd_app
|
||||
+ PRIVATE multicobex
|
||||
+ PRIVATE bfb
|
||||
+ obexftp
|
||||
+ openobex
|
||||
+)
|
||||
set_target_properties ( obexftpd_app PROPERTIES
|
||||
OUTPUT_NAME obexftpd
|
||||
)
|
||||
Index: obexftp-0.24.2-Source/fuse/CMakeLists.txt
|
||||
===================================================================
|
||||
--- obexftp-0.24.2-Source.orig/fuse/CMakeLists.txt
|
||||
+++ obexftp-0.24.2-Source/fuse/CMakeLists.txt
|
||||
@@ -13,6 +13,8 @@ if ( Fuse_FOUND )
|
||||
)
|
||||
|
||||
target_link_libraries ( obexfs
|
||||
+ PRIVATE multicobex
|
||||
+ PRIVATE bfb
|
||||
obexftp
|
||||
${Fuse_LIBRARIES}
|
||||
${EXPAT_LIBRARIES}
|
||||
@@ -23,6 +25,8 @@ if ( Fuse_FOUND )
|
||||
)
|
||||
|
||||
target_link_libraries ( obexautofs
|
||||
+ PRIVATE multicobex
|
||||
+ PRIVATE bfb
|
||||
obexftp
|
||||
${Fuse_LIBRARIES}
|
||||
)
|
||||
@@ -0,0 +1,34 @@
|
||||
Signed-off-by: Jun Zhu <R01007@freescale.com>
|
||||
|
||||
Upstream-Status: Inappropriate [embedded specific]
|
||||
|
||||
diff -Nru obexftp-0.23/apps.orig/obexftpd.c obexftp-0.23/apps/obexftpd.c
|
||||
--- obexftp-0.23/apps.orig/obexftpd.c 2013-11-08 10:42:20.816631583 +0800
|
||||
+++ obexftp-0.23/apps/obexftpd.c 2013-11-08 10:44:18.628634893 +0800
|
||||
@@ -639,7 +639,7 @@
|
||||
struct stat statbuf;
|
||||
//char *namebuf = NULL;
|
||||
|
||||
- fprintf(stderr, "put_done>>>\n");
|
||||
+ //fprintf(stderr, "put_done>>>\n");
|
||||
while(OBEX_ObjectGetNextHeader(handle, object, &hi, &hv, &hlen)) {
|
||||
switch(hi) {
|
||||
case OBEX_HDR_BODY:
|
||||
@@ -671,7 +671,7 @@
|
||||
}
|
||||
}
|
||||
if(!body) {
|
||||
- printf("Got a PUT without a body\n");
|
||||
+ //printf("Got a PUT without a body\n");
|
||||
OBEX_ObjectSetRsp(object, OBEX_RSP_CONTINUE, OBEX_RSP_SUCCESS);
|
||||
}
|
||||
if(!name) {
|
||||
@@ -807,7 +807,7 @@
|
||||
|
||||
switch(obex_cmd) {
|
||||
case OBEX_CMD_PUT:
|
||||
- fprintf(stderr, "obex_ev_progress: obex_cmd_put\n");
|
||||
+ //fprintf(stderr, "obex_ev_progress: obex_cmd_put\n");
|
||||
put_done(handle, obj, 0);
|
||||
break;
|
||||
default:
|
||||
@@ -0,0 +1,26 @@
|
||||
Upstream-Status: Pending
|
||||
|
||||
Index: obexftp-0.24.2-Source/CMakeLists.txt
|
||||
===================================================================
|
||||
--- obexftp-0.24.2-Source.orig/CMakeLists.txt
|
||||
+++ obexftp-0.24.2-Source/CMakeLists.txt
|
||||
@@ -58,9 +58,17 @@ add_subdirectory ( bfb )
|
||||
add_subdirectory ( multicobex )
|
||||
add_subdirectory ( obexftp )
|
||||
add_subdirectory ( apps )
|
||||
-add_subdirectory ( fuse )
|
||||
-add_subdirectory ( swig )
|
||||
add_subdirectory ( doc )
|
||||
+
|
||||
+option ( ENABLE_FUSE "Build the obexftp fuse module" OFF )
|
||||
+if ( ENABLE_FUSE )
|
||||
+ add_subdirectory ( fuse )
|
||||
+endif ( ENABLE_FUSE )
|
||||
+
|
||||
+option ( ENABLE_SWIG "Build the obexftp swig module" OFF )
|
||||
+if ( ENABLE_SWIG )
|
||||
+ add_subdirectory ( swig )
|
||||
+endif ( ENABLE_SWIG )
|
||||
#examples
|
||||
|
||||
set ( prefix "${CMAKE_INSTALL_PREFIX}" )
|
||||
@@ -0,0 +1,43 @@
|
||||
DESCRIPTION = "A tool for transfer files to/from any OBEX enabled device"
|
||||
LICENSE = "GPL-2.0-only & PD & LGPL-2.1-only"
|
||||
LIC_FILES_CHKSUM = "file://LGPL-2.1.txt;md5=4fbd65380cdd255951079008b364516c \
|
||||
file://GPL-2.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
|
||||
file://License.txt;md5=fcbddc3c1debed80dd80da2d3e5f0dc1 \
|
||||
"
|
||||
|
||||
DEPENDS += "openobex obexftp-native"
|
||||
SRC_URI = "http://downloads.sourceforge.net/openobex/${BP}-Source.tar.gz \
|
||||
file://Remove_some_printf_in_obexftpd.patch \
|
||||
file://0001-apps-CMakeLists.txt-Explicitly-link-libbfb-and-libmu.patch \
|
||||
file://make_fuse_swig_optional.patch \
|
||||
"
|
||||
SRC_URI[md5sum] = "157a9d1b2ed220203f7084db906de73c"
|
||||
SRC_URI[sha256sum] = "d40fb48e0a0eea997b3e582774b29f793919a625d54b87182e31a3f3d1c989a3"
|
||||
|
||||
inherit cmake pkgconfig
|
||||
|
||||
OECMAKE_GENERATOR = "Unix Makefiles"
|
||||
|
||||
PACKAGECONFIG ?= ""
|
||||
# fuse support will need meta-filesystems layer
|
||||
PACKAGECONFIG[fuse] = "-DENABLE_FUSE=ON,-DENABLE_FUSE=OFF,fuse"
|
||||
PACKAGECONFIG[swig] = "-DENABLE_SWIG=ON,-DENABLE_SWIG=OFF,swig"
|
||||
|
||||
DEPENDS:remove:class-native = "fuse-native"
|
||||
|
||||
S = "${WORKDIR}/${BP}-Source"
|
||||
|
||||
EXTRA_OECMAKE += "-DCMAKE_SKIP_RPATH=ON \
|
||||
-DENABLE_PERL=OFF -DENABLE_PYTHON=OFF \
|
||||
-DENABLE_RUBY=OFF -DENABLE_TCL=OFF \
|
||||
"
|
||||
|
||||
do_compile:class-native () {
|
||||
oe_runmake crctable
|
||||
}
|
||||
|
||||
do_install:class-native () {
|
||||
install -D -m 0755 ${B}/bfb/crctable ${D}${bindir}/crctable
|
||||
}
|
||||
|
||||
BBCLASSEXTEND = "native"
|
||||
@@ -0,0 +1,26 @@
|
||||
# Copyright (C) 2014-2015 Freescale Semiconductor
|
||||
# Released under the MIT license (see COPYING.MIT for the terms)
|
||||
|
||||
LICENSE = "MIT"
|
||||
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302 \
|
||||
file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
|
||||
|
||||
SUMMARY = "Set of Bluetooth related tools for inclusion in images"
|
||||
DESCRIPTION = "Includes bluetooth specific tools for BlueZ.\
|
||||
These tools are used at runtime."
|
||||
|
||||
inherit packagegroup
|
||||
|
||||
RDEPENDS:${PN} = " \
|
||||
bluez5-noinst-tools \
|
||||
bluez5-obex \
|
||||
bluez5-testtools \
|
||||
${@bb.utils.contains('DISTRO_FEATURES', 'pulseaudio', \
|
||||
'pulseaudio-module-bluetooth-discover \
|
||||
pulseaudio-module-bluetooth-policy \
|
||||
pulseaudio-module-bluez5-discover \
|
||||
pulseaudio-module-bluez5-device \
|
||||
pulseaudio-module-switch-on-connect \
|
||||
pulseaudio-module-loopback', \
|
||||
'', d)} \
|
||||
"
|
||||
@@ -0,0 +1,33 @@
|
||||
SUMMARY = "Paho MQTT - C libraries for the MQTT and MQTT-SN protocols"
|
||||
DESCRIPTION = "Client implementation of open and standard messaging protocols for Machine-to-Machine (M2M) and Internet of Things (IoT)."
|
||||
HOMEPAGE = "http://www.eclipse.org/paho/"
|
||||
SECTION = "console/network"
|
||||
LICENSE = "EPL-2.0 | EDL-1.0"
|
||||
|
||||
LIC_FILES_CHKSUM = " \
|
||||
file://LICENSE;md5=fd3b896dadaeec3410d753ffaeadcfac \
|
||||
file://edl-v10;md5=3adfcc70f5aeb7a44f3f9b495aa1fbf3 \
|
||||
file://epl-v20;md5=d9fc0efef5228704e7f5b37f27192723 \
|
||||
"
|
||||
|
||||
SRC_URI = "git://github.com/eclipse/paho.mqtt.c;protocol=https;branch=master"
|
||||
|
||||
SRCREV = "07a875788d8cc6f5833b12581d6e3e349b34d719"
|
||||
|
||||
DEPENDS = "openssl"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
inherit cmake
|
||||
|
||||
do_configure:prepend() {
|
||||
sed -i s:\ lib/cmake:\ ${baselib}/cmake:g ${S}/src/CMakeLists.txt
|
||||
}
|
||||
|
||||
do_install:append() {
|
||||
# paho-mqtt installes some thing that we don't want.
|
||||
rm -rf ${D}${prefix}/samples
|
||||
find ${D}${prefix} -maxdepth 1 -type f -delete
|
||||
}
|
||||
|
||||
EXTRA_OECMAKE = "-DPAHO_WITH_SSL=ON -DPAHO_ENABLE_TESTING=OFF -DPAHO_HIGH_PERFORMANCE=ON"
|
||||
@@ -0,0 +1,59 @@
|
||||
From 2a0dd2b300242230faa92cf8e26ccd70231bc9ef Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Sat, 19 Mar 2022 23:37:58 -0700
|
||||
Subject: [PATCH] cmake: Use CMAKE_INSTALL_LIBDIR and CMAKE_INSTALL_BINDIR
|
||||
|
||||
This ensures the install paths are not hardcoded.
|
||||
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
---
|
||||
Upstream-Status: Pending
|
||||
---
|
||||
cmake/CMakeLists.txt | 4 ++--
|
||||
src/samples/CMakeLists.txt | 4 ++--
|
||||
2 files changed, 4 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt
|
||||
index a9f8908..7eadc60 100644
|
||||
--- a/cmake/CMakeLists.txt
|
||||
+++ b/cmake/CMakeLists.txt
|
||||
@@ -11,7 +11,7 @@ export(EXPORT ${package_name}
|
||||
FILE "${CMAKE_CURRENT_BINARY_DIR}/${package_name}Targets.cmake"
|
||||
NAMESPACE ${package_name}::)
|
||||
|
||||
-install(EXPORT ${package_name} DESTINATION lib/cmake/${package_name}
|
||||
+install(EXPORT ${package_name} DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${package_name}
|
||||
FILE ${package_name}Targets.cmake
|
||||
NAMESPACE ${package_name}::)
|
||||
|
||||
@@ -19,4 +19,4 @@ install(FILES
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/${package_name}Config.cmake"
|
||||
FindPahoMqttC.cmake
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/${package_name}ConfigVersion.cmake"
|
||||
- DESTINATION lib/cmake/${package_name})
|
||||
+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${package_name})
|
||||
diff --git a/src/samples/CMakeLists.txt b/src/samples/CMakeLists.txt
|
||||
index 3ca0a75..c915cd5 100644
|
||||
--- a/src/samples/CMakeLists.txt
|
||||
+++ b/src/samples/CMakeLists.txt
|
||||
@@ -71,7 +71,7 @@ endforeach()
|
||||
|
||||
## install binaries
|
||||
install(TARGETS ${EXECUTABLES} EXPORT PahoMqttCppSamples
|
||||
- RUNTIME DESTINATION bin
|
||||
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||||
)
|
||||
|
||||
## Build the SSL/TLS samples, if selected
|
||||
@@ -89,7 +89,7 @@ if(PAHO_WITH_SSL)
|
||||
endforeach()
|
||||
|
||||
install(TARGETS ${SSL_EXECUTABLES} EXPORT PahoMqttCppSamples
|
||||
- RUNTIME DESTINATION bin
|
||||
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||||
)
|
||||
endif()
|
||||
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
SUMMARY = "Paho MQTT - C++ libraries for the MQTT and MQTT-SN protocols"
|
||||
DESCRIPTION = "Client implementation of open and standard messaging protocols for Machine-to-Machine (M2M) and Internet of Things (IoT)."
|
||||
HOMEPAGE = "http://www.eclipse.org/paho/"
|
||||
SECTION = "console/network"
|
||||
LICENSE = "EPL-2.0 | EDL-1.0"
|
||||
|
||||
LIC_FILES_CHKSUM = " \
|
||||
file://src/mqtt/message.h;beginline=9;endline=18;md5=c5ceecf5ab99d44dcfaaabdce289071b \
|
||||
file://edl-v10;md5=3adfcc70f5aeb7a44f3f9b495aa1fbf3 \
|
||||
file://epl-v20;md5=d9fc0efef5228704e7f5b37f27192723 \
|
||||
"
|
||||
|
||||
SRC_URI = "git://github.com/eclipse/paho.mqtt.cpp;protocol=https;branch=v1.3.x \
|
||||
file://0001-cmake-Use-CMAKE_INSTALL_LIBDIR-and-CMAKE_INSTALL_BIN.patch \
|
||||
"
|
||||
SRCREV = "5e0d1bf37b4826d680ec066ec42afd133851a681"
|
||||
|
||||
DEPENDS = "openssl paho-mqtt-c"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
inherit cmake
|
||||
|
||||
EXTRA_OECMAKE += "-DPAHO_WITH_SSL=ON"
|
||||
@@ -0,0 +1,35 @@
|
||||
From 298dec6f87061914c85049faca3d0ff3310d1794 Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Mon, 6 May 2024 12:15:30 -0700
|
||||
Subject: [PATCH] initialize timespec variable
|
||||
|
||||
Fixes build warnings with GCC14
|
||||
|
||||
/mnt/b/yoe/master/build/tmp/work/core2-32-yoe-linux/pcapplusplus/23.09/git/Packet++/src/RawPacket.cpp: In constructor 'pcpp::RawPacket::RawPacket(const uint8_t*, int, timeval, bool, pcpp::LinkLayerType)':
|
||||
/mnt/b/yoe/master/build/tmp/work/core2-32-yoe-linux/pcapplusplus/23.09/git/Packet++/src/RawPacket.cpp:23:18: error: 'nsec_time.timespec::<anonymous>' is used uninitialized [-Werror=uninitialized]
|
||||
23 | timespec nsec_time;
|
||||
| ^~~~~~~~~
|
||||
cc1plus: all warnings being treated as errors
|
||||
|
||||
Upstream-Status: Submitted [https://github.com/seladb/PcapPlusPlus/pull/1389]
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
---
|
||||
Packet++/src/RawPacket.cpp | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/Packet++/src/RawPacket.cpp b/Packet++/src/RawPacket.cpp
|
||||
index 8ad52d52..07dbbbe2 100644
|
||||
--- a/Packet++/src/RawPacket.cpp
|
||||
+++ b/Packet++/src/RawPacket.cpp
|
||||
@@ -20,7 +20,7 @@ void RawPacket::init(bool deleteRawDataAtDestructor)
|
||||
|
||||
RawPacket::RawPacket(const uint8_t* pRawData, int rawDataLen, timeval timestamp, bool deleteRawDataAtDestructor, LinkLayerType layerType)
|
||||
{
|
||||
- timespec nsec_time;
|
||||
+ timespec nsec_time = {};
|
||||
TIMEVAL_TO_TIMESPEC(×tamp, &nsec_time);
|
||||
init(deleteRawDataAtDestructor);
|
||||
setRawData(pRawData, rawDataLen, nsec_time, layerType);
|
||||
--
|
||||
2.45.0
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
From 742f564ee80749e9f1f3363092775545e37c0f87 Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Thu, 9 May 2024 17:02:09 -0700
|
||||
Subject: [PATCH] packet++: Initialize m_ExternalRawData in IDnsResource
|
||||
constructor
|
||||
|
||||
Fixes following warning with GCC-14
|
||||
|
||||
Packet++/src/DnsResource.cpp:29:24: error: '*this.pcpp::IDnsResource::m_ExternalRawData' may be used uninitialized [-Werror=maybe-uninitialized]
|
||||
29 | return m_ExternalRawData;
|
||||
| ^~~~~~~~~~~~~~~~~
|
||||
|
||||
Upstream-Status: Submitted [https://github.com/seladb/PcapPlusPlus/pull/1391]
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
---
|
||||
Packet++/src/DnsResource.cpp | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/Packet++/src/DnsResource.cpp b/Packet++/src/DnsResource.cpp
|
||||
index fec1bf05..c1f97041 100644
|
||||
--- a/Packet++/src/DnsResource.cpp
|
||||
+++ b/Packet++/src/DnsResource.cpp
|
||||
@@ -10,7 +10,7 @@ namespace pcpp
|
||||
{
|
||||
|
||||
IDnsResource::IDnsResource(DnsLayer* dnsLayer, size_t offsetInLayer)
|
||||
- : m_DnsLayer(dnsLayer), m_OffsetInLayer(offsetInLayer), m_NextResource(nullptr)
|
||||
+ : m_DnsLayer(dnsLayer), m_OffsetInLayer(offsetInLayer), m_NextResource(nullptr), m_ExternalRawData(nullptr)
|
||||
{
|
||||
char decodedName[4096];
|
||||
m_NameLength = decodeName((const char*)getRawData(), decodedName);
|
||||
--
|
||||
2.45.0
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
SUMMARY = "A multiplatform C++ library for capturing, parsing and crafting of network packets"
|
||||
HOMEPAGE = "https://pcapplusplus.github.io/"
|
||||
BUGTRACKER = "https://github.com/seladb/PcapPlusPlus/issues"
|
||||
SECTION = "libs/network"
|
||||
LICENSE = "Unlicense"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE;md5=911690f51af322440237a253d695d19f"
|
||||
|
||||
DEPENDS = "libpcap"
|
||||
|
||||
SRC_URI = "git://github.com/seladb/PcapPlusPlus.git;protocol=https;branch=master \
|
||||
file://0001-packet-Initialize-m_ExternalRawData-in-IDnsResource-.patch \
|
||||
file://0001-initialize-timespec-variable.patch"
|
||||
|
||||
SRCREV = "4cf8ed44f9dd145f874dc1dd747dfefcfcab75be"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
inherit cmake
|
||||
|
||||
PACKAGECONFIG ??= ""
|
||||
PACKAGECONFIG[examples] = "-DPCAPPP_BUILD_EXAMPLES=ON,-DPCAPPP_BUILD_EXAMPLES=OFF"
|
||||
PACKAGECONFIG[shared] = "-DBUILD_SHARED_LIBS=ON,-DBUILD_SHARED_LIBS=OFF"
|
||||
PACKAGECONFIG[tests] = "-DPCAPPP_BUILD_TESTS=ON,-DPCAPPP_BUILD_TESTS=OFF"
|
||||
PACKAGECONFIG[zstd] = "-DLIGHT_PCAPNG_ZSTD=ON,-DLIGHT_PCAPNG_ZSTD=OFF,zstd"
|
||||
@@ -0,0 +1,131 @@
|
||||
CVE: CVE-2023-35789
|
||||
Upstream-Status: Backport [ https://github.com/alanxz/rabbitmq-c/commit/463054383fbeef889b409a7f843df5365288e2a0 ]
|
||||
Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
|
||||
|
||||
From 463054383fbeef889b409a7f843df5365288e2a0 Mon Sep 17 00:00:00 2001
|
||||
From: Christian Kastner <ckk@kvr.at>
|
||||
Date: Tue, 13 Jun 2023 14:21:52 +0200
|
||||
Subject: [PATCH] Add option to read username/password from file (#781)
|
||||
|
||||
* Add option to read username/password from file
|
||||
---
|
||||
tools/common.c | 66 ++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 66 insertions(+)
|
||||
|
||||
diff --git a/tools/common.c b/tools/common.c
|
||||
index 73b47e25..7efe557b 100644
|
||||
--- a/tools/common.c
|
||||
+++ b/tools/common.c
|
||||
@@ -18,6 +18,11 @@
|
||||
#include "compat.h"
|
||||
#endif
|
||||
|
||||
+/* For when reading auth data from a file */
|
||||
+#define MAXAUTHTOKENLEN 128
|
||||
+#define USERNAMEPREFIX "username:"
|
||||
+#define PASSWORDPREFIX "password:"
|
||||
+
|
||||
void die(const char *fmt, ...) {
|
||||
va_list ap;
|
||||
va_start(ap, fmt);
|
||||
@@ -125,6 +130,7 @@ static char *amqp_vhost;
|
||||
static char *amqp_username;
|
||||
static char *amqp_password;
|
||||
static int amqp_heartbeat = 0;
|
||||
+static char *amqp_authfile;
|
||||
#ifdef WITH_SSL
|
||||
static int amqp_ssl = 0;
|
||||
static char *amqp_cacert = "/etc/ssl/certs/cacert.pem";
|
||||
@@ -147,6 +153,8 @@ struct poptOption connect_options[] = {
|
||||
"the password to login with", "password"},
|
||||
{"heartbeat", 0, POPT_ARG_INT, &amqp_heartbeat, 0,
|
||||
"heartbeat interval, set to 0 to disable", "heartbeat"},
|
||||
+ {"authfile", 0, POPT_ARG_STRING, &amqp_authfile, 0,
|
||||
+ "path to file containing username/password for authentication", "file"},
|
||||
#ifdef WITH_SSL
|
||||
{"ssl", 0, POPT_ARG_NONE, &amqp_ssl, 0, "connect over SSL/TLS", NULL},
|
||||
{"cacert", 0, POPT_ARG_STRING, &amqp_cacert, 0,
|
||||
@@ -158,6 +166,50 @@ struct poptOption connect_options[] = {
|
||||
#endif /* WITH_SSL */
|
||||
{NULL, '\0', 0, NULL, 0, NULL, NULL}};
|
||||
|
||||
+void read_authfile(const char *path) {
|
||||
+ size_t n;
|
||||
+ FILE *fp = NULL;
|
||||
+ char token[MAXAUTHTOKENLEN];
|
||||
+
|
||||
+ if ((amqp_username = malloc(MAXAUTHTOKENLEN)) == NULL ||
|
||||
+ (amqp_password = malloc(MAXAUTHTOKENLEN)) == NULL) {
|
||||
+ die("Out of memory");
|
||||
+ } else if ((fp = fopen(path, "r")) == NULL) {
|
||||
+ die("Could not read auth data file %s", path);
|
||||
+ }
|
||||
+
|
||||
+ if (fgets(token, MAXAUTHTOKENLEN, fp) == NULL ||
|
||||
+ strncmp(token, USERNAMEPREFIX, strlen(USERNAMEPREFIX))) {
|
||||
+ die("Malformed auth file (missing username)");
|
||||
+ }
|
||||
+ strncpy(amqp_username, &token[strlen(USERNAMEPREFIX)], MAXAUTHTOKENLEN);
|
||||
+ /* Missing newline means token was cut off */
|
||||
+ n = strlen(amqp_username);
|
||||
+ if (amqp_username[n - 1] != '\n') {
|
||||
+ die("Username too long");
|
||||
+ } else {
|
||||
+ amqp_username[n - 1] = '\0';
|
||||
+ }
|
||||
+
|
||||
+ if (fgets(token, MAXAUTHTOKENLEN, fp) == NULL ||
|
||||
+ strncmp(token, PASSWORDPREFIX, strlen(PASSWORDPREFIX))) {
|
||||
+ die("Malformed auth file (missing password)");
|
||||
+ }
|
||||
+ strncpy(amqp_password, &token[strlen(PASSWORDPREFIX)], MAXAUTHTOKENLEN);
|
||||
+ /* Missing newline means token was cut off */
|
||||
+ n = strlen(amqp_password);
|
||||
+ if (amqp_password[n - 1] != '\n') {
|
||||
+ die("Password too long");
|
||||
+ } else {
|
||||
+ amqp_password[n - 1] = '\0';
|
||||
+ }
|
||||
+
|
||||
+ (void)fgetc(fp);
|
||||
+ if (!feof(fp)) {
|
||||
+ die("Malformed auth file (trailing data)");
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
static void init_connection_info(struct amqp_connection_info *ci) {
|
||||
ci->user = NULL;
|
||||
ci->password = NULL;
|
||||
@@ -237,6 +289,8 @@ static void init_connection_info(struct amqp_connection_info *ci) {
|
||||
if (amqp_username) {
|
||||
if (amqp_url) {
|
||||
die("--username and --url options cannot be used at the same time");
|
||||
+ } else if (amqp_authfile) {
|
||||
+ die("--username and --authfile options cannot be used at the same time");
|
||||
}
|
||||
|
||||
ci->user = amqp_username;
|
||||
@@ -245,11 +299,23 @@ static void init_connection_info(struct amqp_connection_info *ci) {
|
||||
if (amqp_password) {
|
||||
if (amqp_url) {
|
||||
die("--password and --url options cannot be used at the same time");
|
||||
+ } else if (amqp_authfile) {
|
||||
+ die("--password and --authfile options cannot be used at the same time");
|
||||
}
|
||||
|
||||
ci->password = amqp_password;
|
||||
}
|
||||
|
||||
+ if (amqp_authfile) {
|
||||
+ if (amqp_url) {
|
||||
+ die("--authfile and --url options cannot be used at the same time");
|
||||
+ }
|
||||
+
|
||||
+ read_authfile(amqp_authfile);
|
||||
+ ci->user = amqp_username;
|
||||
+ ci->password = amqp_password;
|
||||
+ }
|
||||
+
|
||||
if (amqp_vhost) {
|
||||
if (amqp_url) {
|
||||
die("--vhost and --url options cannot be used at the same time");
|
||||
@@ -0,0 +1,21 @@
|
||||
DESCRIPTION = "A C-language AMQP client library for use with v2.0+ of the RabbitMQ broker"
|
||||
HOMEPAGE = "https://github.com/alanxz/rabbitmq-c"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE;md5=7e12f6e40e662e039e2f02b4893011ec"
|
||||
LICENSE = "MIT"
|
||||
|
||||
SRC_URI = "git://github.com/alanxz/rabbitmq-c.git;branch=master;protocol=https \
|
||||
file://CVE-2023-35789.patch \
|
||||
"
|
||||
# v0.13.0-master
|
||||
SRCREV = "974d71adceae6d742ae20a4c880d99c131f1460a"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
DEPENDS = "popt openssl"
|
||||
|
||||
EXTRA_OECMAKE = "-DBUILD_EXAMPLES=OFF -DBUILD_TOOLS=ON -DBUILD_TOOLS_DOCS=OFF -DBUILD_API_DOCS=OFF"
|
||||
|
||||
inherit cmake pkgconfig
|
||||
|
||||
PACKAGE_BEFORE_PN += "${PN}-tools"
|
||||
FILES:${PN}-tools = "${bindir}"
|
||||
@@ -0,0 +1,32 @@
|
||||
From db764080e54f8f998c28ef8dab78da8b8d1d1420 Mon Sep 17 00:00:00 2001
|
||||
From: Koen Kooi <koen@dominion.thruhere.net>
|
||||
Date: Fri, 11 Feb 2011 10:35:40 +0100
|
||||
Subject: [PATCH] rfkill makefile: don't use -t, the OE install wrapper dislikes it
|
||||
|
||||
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
|
||||
---
|
||||
Upstream-Status: Pending
|
||||
|
||||
Makefile | 4 ++--
|
||||
1 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/Makefile b/Makefile
|
||||
index 8d6c700..3652690 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -53,10 +53,10 @@ check:
|
||||
install: rfkill rfkill.8.gz
|
||||
@$(NQ) ' INST rfkill'
|
||||
$(Q)$(MKDIR) $(DESTDIR)$(SBINDIR)
|
||||
- $(Q)$(INSTALL) -m 755 -t $(DESTDIR)$(SBINDIR) rfkill
|
||||
+ $(Q)$(INSTALL) -m 755 rfkill $(DESTDIR)$(SBINDIR)
|
||||
@$(NQ) ' INST rfkill.8'
|
||||
$(Q)$(MKDIR) $(DESTDIR)$(MANDIR)/man8/
|
||||
- $(Q)$(INSTALL) -m 644 -t $(DESTDIR)$(MANDIR)/man8/ rfkill.8.gz
|
||||
+ $(Q)$(INSTALL) -m 644 rfkill.8.gz $(DESTDIR)$(MANDIR)/man8/
|
||||
|
||||
clean:
|
||||
$(Q)rm -f rfkill *.o *~ *.gz version.c *-stamp
|
||||
--
|
||||
1.6.6.1
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
Upstream-Status: Pending
|
||||
|
||||
When WORKDIR is included in some other git checkout, version.sh calls git rev-parse
|
||||
and it returns some description from that upper git checkout even when rfkill is
|
||||
being built from release tarball.
|
||||
|
||||
When returned description doesn't match with expected v0.4, version.sh exits
|
||||
without creating version.c
|
||||
# on git builds check that the version number above
|
||||
# is correct...
|
||||
[ "${descr%%-*}" = "v$VERSION" ] || exit 2
|
||||
|
||||
and build fails a bit later:
|
||||
| NOTE: make -j 32 -e MAKEFLAGS=
|
||||
| CC rfkill.o
|
||||
| GEN version.c
|
||||
| make: *** [version.c] Error 2
|
||||
| make: *** Waiting for unfinished jobs....
|
||||
| ERROR: oe_runmake failed
|
||||
|
||||
Don't try git rev-parse, if there isn't .git in ${S}.
|
||||
|
||||
--- a/version.sh 2013-11-15 03:43:12.587744366 -0800
|
||||
+++ b/version.sh 2013-11-15 03:42:40.699743320 -0800
|
||||
@@ -12,7 +12,7 @@
|
||||
|
||||
if test "x$SUFFIX" != 'x'; then
|
||||
v="$VERSION$SUFFIX"
|
||||
-elif head=`git rev-parse --verify HEAD 2>/dev/null`; then
|
||||
+elif test -d .git && head=`git rev-parse --verify HEAD 2>/dev/null`; then
|
||||
git update-index --refresh --unmerged > /dev/null
|
||||
descr=$(git describe 2>/dev/null || echo "v$VERSION")
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
SUMMARY = "Radio enable/disable command line utility"
|
||||
HOMEPAGE = "http://linuxwireless.org/en/users/Documentation/rfkill"
|
||||
SECTION = "base"
|
||||
LICENSE = "0BSD"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=c6036d0eb7edbfced28c4160e5d3fa94"
|
||||
|
||||
SRC_URI = "http://www.kernel.org/pub/software/network/${BPN}/${BP}.tar.xz \
|
||||
file://0001-rfkill-makefile-don-t-use-t-the-OE-install-wrapper-d.patch \
|
||||
file://dont.call.git.rev-parse.on.parent.dir.patch"
|
||||
|
||||
SRC_URI[sha256sum] = "dffc631c611520478b8a286f57c67a35e8cb5802d376c6ca13b057365432389c"
|
||||
|
||||
do_compile() {
|
||||
oe_runmake
|
||||
}
|
||||
|
||||
do_install() {
|
||||
oe_runmake DESTDIR=${D} install
|
||||
}
|
||||
|
||||
inherit update-alternatives
|
||||
|
||||
ALTERNATIVE:${PN} = "rfkill"
|
||||
ALTERNATIVE_PRIORITY = "60"
|
||||
ALTERNATIVE_LINK_NAME[rfkill] = "${sbindir}/rfkill"
|
||||
@@ -0,0 +1,23 @@
|
||||
SUMMARY = "Torrent client"
|
||||
HOMEPAGE = "http://libtorrent.rakshasa.no/"
|
||||
LICENSE = "GPL-2.0-or-later"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
|
||||
|
||||
DEPENDS = "autoconf-archive libsigc++-2.0 curl cppunit libtool libtorrent ncurses"
|
||||
|
||||
SRC_URI = "git://github.com/rakshasa/rtorrent;branch=master;protocol=https"
|
||||
SRCREV = "d067bd802e44f0e6a747aabcc311ada2175fd550"
|
||||
|
||||
PV = "0.9.8+git"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
|
||||
|
||||
PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
|
||||
|
||||
inherit autotools pkgconfig
|
||||
|
||||
EXTRA_AUTORECONF += "--exclude=aclocal"
|
||||
|
||||
CXXFLAGS += "-std=gnu++14"
|
||||
@@ -0,0 +1,13 @@
|
||||
[Unit]
|
||||
Description=Serial port to network proxy
|
||||
Documentation=man:ser2net(8)
|
||||
After=network.target
|
||||
Wants=network.target
|
||||
ConditionFileNotEmpty=@SYSCONFDIR@/ser2net/ser2net.yaml
|
||||
|
||||
[Service]
|
||||
Type=exec
|
||||
ExecStart=@SBINDIR@/ser2net -n
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
@@ -0,0 +1,30 @@
|
||||
SUMMARY = "A serial to network proxy"
|
||||
SECTION = "console/network"
|
||||
HOMEPAGE = "http://sourceforge.net/projects/ser2net/"
|
||||
|
||||
LICENSE = "GPL-2.0-only"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
|
||||
|
||||
DEPENDS = "gensio libyaml"
|
||||
|
||||
SRC_URI = "${SOURCEFORGE_MIRROR}/project/ser2net/ser2net/ser2net-${PV}.tar.gz \
|
||||
file://ser2net.service \
|
||||
"
|
||||
|
||||
SRC_URI[sha256sum] = "78ffee19d9b97e93ae65b5cec072da2b7b947fc484e9ccb3f535702f36f6ed19"
|
||||
|
||||
UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/ser2net/files/ser2net"
|
||||
|
||||
inherit autotools pkgconfig systemd
|
||||
|
||||
SYSTEMD_SERVICE:${PN} = "ser2net.service"
|
||||
|
||||
CONFFILES:${PN} += "${sysconfdir}/ser2net/ser2net.yaml"
|
||||
|
||||
do_install:append() {
|
||||
if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
|
||||
install -d ${D}${systemd_unitdir}/system
|
||||
install -m 0644 ${WORKDIR}/ser2net.service ${D}${systemd_unitdir}/system/
|
||||
sed -i -e 's,@SBINDIR@,${sbindir},g' -e 's,@SYSCONFDIR@,${sysconfdir},g' ${D}${systemd_unitdir}/system/ser2net.service
|
||||
fi
|
||||
}
|
||||
@@ -0,0 +1,606 @@
|
||||
From 77532d2e99252e3e07afa0f918bb8c9d73798f39 Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Thu, 13 Aug 2020 16:56:22 -0700
|
||||
Subject: [PATCH] Make extern declarations to avoid duplicate var definitions
|
||||
|
||||
gcc-10+ defaults to -fno-common which flags these errors about mulitple
|
||||
definitions since the variables are defined in header files which are
|
||||
included from multiple sources, this patch ensures that extern
|
||||
declaration is added appropriately
|
||||
|
||||
Upstream-Status: Pending
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
---
|
||||
src/blacklist.c | 2 +-
|
||||
src/blacklist.h | 2 +-
|
||||
src/charset.c | 2 +-
|
||||
src/charshift.c | 2 +-
|
||||
src/logging.c | 2 +-
|
||||
src/logging.h | 4 +-
|
||||
src/modeminit.c | 6 +-
|
||||
src/smsd_cfg.c | 2 +
|
||||
src/smsd_cfg.h | 274 ++++++++++++++++++++++++------------------------
|
||||
src/stats.h | 22 ++--
|
||||
src/whitelist.c | 2 +-
|
||||
src/whitelist.h | 2 +-
|
||||
12 files changed, 164 insertions(+), 158 deletions(-)
|
||||
|
||||
diff --git a/src/blacklist.c b/src/blacklist.c
|
||||
index 7440cca..0c00dd9 100755
|
||||
--- a/src/blacklist.c
|
||||
+++ b/src/blacklist.c
|
||||
@@ -17,11 +17,11 @@ Either version 2 of the License, or (at your option) any later version.
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <signal.h>
|
||||
+#include "smsd_cfg.h"
|
||||
#include "blacklist.h"
|
||||
#include "extras.h"
|
||||
#include "logging.h"
|
||||
#include "alarm.h"
|
||||
-#include "smsd_cfg.h"
|
||||
|
||||
int inblacklist(char* msisdn)
|
||||
{
|
||||
diff --git a/src/blacklist.h b/src/blacklist.h
|
||||
index 4f99050..61fd294 100755
|
||||
--- a/src/blacklist.h
|
||||
+++ b/src/blacklist.h
|
||||
@@ -15,7 +15,7 @@ Either version 2 of the License, or (at your option) any later version.
|
||||
#ifndef BLACK_H
|
||||
#define BLACK_H
|
||||
|
||||
-char blacklist[256]; // Filename of the black-list
|
||||
+EXTERN char blacklist[256]; // Filename of the black-list
|
||||
|
||||
int inblacklist(char* msisdn);
|
||||
|
||||
diff --git a/src/charset.c b/src/charset.c
|
||||
index cd7c997..1716d70 100755
|
||||
--- a/src/charset.c
|
||||
+++ b/src/charset.c
|
||||
@@ -19,9 +19,9 @@ Either version 2 of the License, or (at your option) any later version.
|
||||
#include <syslog.h>
|
||||
#include <ctype.h>
|
||||
|
||||
+#include "smsd_cfg.h"
|
||||
#include "charset.h"
|
||||
#include "logging.h"
|
||||
-#include "smsd_cfg.h"
|
||||
#include "pdu.h"
|
||||
#include "extras.h"
|
||||
#include "charshift.h"
|
||||
diff --git a/src/charshift.c b/src/charshift.c
|
||||
index 48ba340..2d7b26c 100755
|
||||
--- a/src/charshift.c
|
||||
+++ b/src/charshift.c
|
||||
@@ -25,8 +25,8 @@ Either version 2 of the License, or (at your option) any later version.
|
||||
#include <stdio.h>
|
||||
#include <stdarg.h>
|
||||
|
||||
-#include "logging.h"
|
||||
#include "smsd_cfg.h"
|
||||
+#include "logging.h"
|
||||
#include "pdu.h"
|
||||
#include "charset.h"
|
||||
#include "extras.h"
|
||||
diff --git a/src/logging.c b/src/logging.c
|
||||
index 6ee2c4e..4af341f 100755
|
||||
--- a/src/logging.c
|
||||
+++ b/src/logging.c
|
||||
@@ -12,6 +12,7 @@ the GNU General Public License as published by the Free Software Foundation.
|
||||
Either version 2 of the License, or (at your option) any later version.
|
||||
*/
|
||||
|
||||
+#include "smsd_cfg.h"
|
||||
#include "logging.h"
|
||||
#include "extras.h"
|
||||
#include <stdio.h>
|
||||
@@ -22,7 +23,6 @@ Either version 2 of the License, or (at your option) any later version.
|
||||
#include <time.h>
|
||||
#include <fcntl.h>
|
||||
#include <unistd.h>
|
||||
-#include "smsd_cfg.h"
|
||||
#include "stats.h"
|
||||
|
||||
int Filehandle = -1;
|
||||
diff --git a/src/logging.h b/src/logging.h
|
||||
index 4f27906..4550234 100755
|
||||
--- a/src/logging.h
|
||||
+++ b/src/logging.h
|
||||
@@ -18,7 +18,7 @@ Either version 2 of the License, or (at your option) any later version.
|
||||
#include <time.h>
|
||||
|
||||
// 3.1.16beta2: Moved logch() and prch() from charset.c to logging.c:
|
||||
-char logch_buffer[8192];
|
||||
+EXTERN char logch_buffer[8192];
|
||||
|
||||
#ifdef __GNUC__
|
||||
void logch(char* format, ...) __attribute__ ((format(printf, 1, 2)));
|
||||
@@ -30,7 +30,7 @@ char prch(char ch);
|
||||
|
||||
// 3.1.16beta: changed type:
|
||||
//int trouble_logging_started;
|
||||
-time_t trouble_logging_started;
|
||||
+EXTERN time_t trouble_logging_started;
|
||||
|
||||
int change_loglevel(int new_level);
|
||||
void restore_loglevel();
|
||||
diff --git a/src/modeminit.c b/src/modeminit.c
|
||||
index 42ff6b4..0d05fe9 100755
|
||||
--- a/src/modeminit.c
|
||||
+++ b/src/modeminit.c
|
||||
@@ -19,8 +19,6 @@ Either version 2 of the License, or (at your option) any later version.
|
||||
#include <regex.h>
|
||||
#include <ctype.h>
|
||||
#include <time.h>
|
||||
-#include "logging.h"
|
||||
-#include "alarm.h"
|
||||
|
||||
#ifdef SOLARIS
|
||||
#include <sys/filio.h>
|
||||
@@ -42,9 +40,11 @@ Either version 2 of the License, or (at your option) any later version.
|
||||
#include <netdb.h>
|
||||
#endif
|
||||
|
||||
+#include "smsd_cfg.h"
|
||||
+#include "logging.h"
|
||||
+#include "alarm.h"
|
||||
#include "extras.h"
|
||||
#include "modeminit.h"
|
||||
-#include "smsd_cfg.h"
|
||||
#include "version.h"
|
||||
#include "pdu.h"
|
||||
#include "stats.h"
|
||||
diff --git a/src/smsd_cfg.c b/src/smsd_cfg.c
|
||||
index 35c1198..32472b4 100755
|
||||
--- a/src/smsd_cfg.c
|
||||
+++ b/src/smsd_cfg.c
|
||||
@@ -26,6 +26,8 @@ Either version 2 of the License, or (at your option) any later version.
|
||||
#include <ctype.h>
|
||||
#include <grp.h>
|
||||
|
||||
+#define EXTERN
|
||||
+
|
||||
#include "extras.h"
|
||||
#include "cfgfile.h"
|
||||
#include "smsd_cfg.h"
|
||||
diff --git a/src/smsd_cfg.h b/src/smsd_cfg.h
|
||||
index 8ae208d..d6ece37 100755
|
||||
--- a/src/smsd_cfg.h
|
||||
+++ b/src/smsd_cfg.h
|
||||
@@ -15,6 +15,10 @@ Either version 2 of the License, or (at your option) any later version.
|
||||
#ifndef SMSD_CFG_H
|
||||
#define SMSD_CFG_H
|
||||
|
||||
+#ifndef EXTERN
|
||||
+#define EXTERN extern
|
||||
+#endif
|
||||
+
|
||||
#include <limits.h>
|
||||
#include <sys/types.h>
|
||||
#include <time.h>
|
||||
@@ -126,17 +130,17 @@ Either version 2 of the License, or (at your option) any later version.
|
||||
#define ALPHABET_UNKNOWN 4
|
||||
#define ALPHABET_DEFAULT 0
|
||||
|
||||
-char process_title[32]; // smsd for main task, NOTIFIER or CHILD, name of a modem for other tasks.
|
||||
-int process_id; // -1 for main task, all modems have numbers starting with 0.
|
||||
+EXTERN char process_title[32]; // smsd for main task, NOTIFIER or CHILD, name of a modem for other tasks.
|
||||
+EXTERN int process_id; // -1 for main task, all modems have numbers starting with 0.
|
||||
// This is the same as device, can be used like devices[process_id] if IS_MODEM_PROCESS.
|
||||
|
||||
-time_t process_start_time;
|
||||
+EXTERN time_t process_start_time;
|
||||
|
||||
-int modem_handle; // Handle for modem.
|
||||
+EXTERN int modem_handle; // Handle for modem.
|
||||
|
||||
-int put_command_timeouts;
|
||||
-unsigned long long put_command_sent; // 3.1.16beta.
|
||||
-char tmpdir[PATH_MAX]; // 3.1.16beta.
|
||||
+EXTERN int put_command_timeouts;
|
||||
+EXTERN unsigned long long put_command_sent; // 3.1.16beta.
|
||||
+EXTERN char tmpdir[PATH_MAX]; // 3.1.16beta.
|
||||
|
||||
typedef struct
|
||||
{
|
||||
@@ -284,204 +288,204 @@ typedef struct
|
||||
|
||||
// NOTE for regular run intervals: effective value is at least delaytime.
|
||||
|
||||
-char configfile[PATH_MAX]; // Path to config file
|
||||
-char d_spool[PATH_MAX]; // Spool directory
|
||||
-char d_failed[PATH_MAX]; // Failed spool directory
|
||||
-char d_failed_copy[PATH_MAX]; // 3.1.17.
|
||||
-char d_incoming[PATH_MAX]; // Incoming spool directory
|
||||
-char d_incoming_copy[PATH_MAX]; // 3.1.16beta2.
|
||||
-char d_report[PATH_MAX]; // Incoming report spool directory
|
||||
-char d_report_copy[PATH_MAX]; // 3.1.17.
|
||||
-char d_phonecalls[PATH_MAX]; // Incoming phonecalls data directory
|
||||
-char d_saved[PATH_MAX]; // Directory for smsd's internal use, concatenation storage files etc.
|
||||
-char d_sent[PATH_MAX]; // Sent spool directory
|
||||
-char d_sent_copy[PATH_MAX]; // 3.1.17.
|
||||
-char d_checked[PATH_MAX]; // Spool directory for checked messages (only used when no provider queues used)
|
||||
-char eventhandler[PATH_MAX]; // Global event handler program or script
|
||||
-char alarmhandler[PATH_MAX]; // Global alarm handler program or script
|
||||
-char checkhandler[PATH_MAX]; // Handler that checks if the sms file is valid.
|
||||
-int alarmlevel; // Alarm Level (9=highest). Verbosity of alarm handler.
|
||||
-char logfile[PATH_MAX]; // Name or Handle of Log File
|
||||
-int loglevel; // Log Level (9=highest). Verbosity of log file.
|
||||
-_queue queues[NUMBER_OF_MODEMS]; // Queues
|
||||
-_device devices[NUMBER_OF_MODEMS]; // Modem devices
|
||||
-int delaytime; // sleep-time after workless
|
||||
-int delaytime_mainprocess; // sleep-time after workless, main process. If -1, delaytime is used.
|
||||
-int blocktime; // sleep-time after multiple errors
|
||||
-int blockafter; // Block modem after n errors
|
||||
-int errorsleeptime; // sleep-time after each error
|
||||
-int autosplit; // Splitting of large text messages 0=no, 1=yes 2=number with text, 3=number with UDH
|
||||
-int receive_before_send; // if 1 smsd tries to receive one message before sending
|
||||
-int store_received_pdu; // 0=no, 1=unsupported pdu's only, 2=unsupported and 8bit/unicode, 3=all
|
||||
-int store_sent_pdu; // 0=no, 1=failed pdu's only, 2=failed and 8bit/unicode, 3=all
|
||||
-int validity_period; // Validity period for messages.
|
||||
-int decode_unicode_text; // 1 if unicode text is decoded internally.
|
||||
-int internal_combine; // 1 if multipart message is combined internally.
|
||||
-int internal_combine_binary; // 1 if multipart binary message is combined internally. Defaults to internal_combine.
|
||||
-int keep_filename; // 0 if unique filename is created to each directory when a message file is moved.
|
||||
-int store_original_filename; // 1 if an original filename is saved to message file when it's moved from
|
||||
+EXTERN char configfile[PATH_MAX]; // Path to config file
|
||||
+EXTERN char d_spool[PATH_MAX]; // Spool directory
|
||||
+EXTERN char d_failed[PATH_MAX]; // Failed spool directory
|
||||
+EXTERN char d_failed_copy[PATH_MAX]; // 3.1.17.
|
||||
+EXTERN char d_incoming[PATH_MAX]; // Incoming spool directory
|
||||
+EXTERN char d_incoming_copy[PATH_MAX]; // 3.1.16beta2.
|
||||
+EXTERN char d_report[PATH_MAX]; // Incoming report spool directory
|
||||
+EXTERN char d_report_copy[PATH_MAX]; // 3.1.17.
|
||||
+EXTERN char d_phonecalls[PATH_MAX]; // Incoming phonecalls data directory
|
||||
+EXTERN char d_saved[PATH_MAX]; // Directory for smsd's internal use, concatenation storage files etc.
|
||||
+EXTERN char d_sent[PATH_MAX]; // Sent spool directory
|
||||
+EXTERN char d_sent_copy[PATH_MAX]; // 3.1.17.
|
||||
+EXTERN char d_checked[PATH_MAX]; // Spool directory for checked messages (only used when no provider queues used)
|
||||
+EXTERN char eventhandler[PATH_MAX]; // Global event handler program or script
|
||||
+EXTERN char alarmhandler[PATH_MAX]; // Global alarm handler program or script
|
||||
+EXTERN char checkhandler[PATH_MAX]; // Handler that checks if the sms file is valid.
|
||||
+EXTERN int alarmlevel; // Alarm Level (9=highest). Verbosity of alarm handler.
|
||||
+EXTERN char logfile[PATH_MAX]; // Name or Handle of Log File
|
||||
+EXTERN int loglevel; // Log Level (9=highest). Verbosity of log file.
|
||||
+EXTERN _queue queues[NUMBER_OF_MODEMS]; // Queues
|
||||
+EXTERN _device devices[NUMBER_OF_MODEMS]; // Modem devices
|
||||
+EXTERN int delaytime; // sleep-time after workless
|
||||
+EXTERN int delaytime_mainprocess; // sleep-time after workless, main process. If -1, delaytime is used.
|
||||
+EXTERN int blocktime; // sleep-time after multiple errors
|
||||
+EXTERN int blockafter; // Block modem after n errors
|
||||
+EXTERN int errorsleeptime; // sleep-time after each error
|
||||
+EXTERN int autosplit; // Splitting of large text messages 0=no, 1=yes 2=number with text, 3=number with UDH
|
||||
+EXTERN int receive_before_send; // if 1 smsd tries to receive one message before sending
|
||||
+EXTERN int store_received_pdu; // 0=no, 1=unsupported pdu's only, 2=unsupported and 8bit/unicode, 3=all
|
||||
+EXTERN int store_sent_pdu; // 0=no, 1=failed pdu's only, 2=failed and 8bit/unicode, 3=all
|
||||
+EXTERN int validity_period; // Validity period for messages.
|
||||
+EXTERN int decode_unicode_text; // 1 if unicode text is decoded internally.
|
||||
+EXTERN int internal_combine; // 1 if multipart message is combined internally.
|
||||
+EXTERN int internal_combine_binary; // 1 if multipart binary message is combined internally. Defaults to internal_combine.
|
||||
+EXTERN int keep_filename; // 0 if unique filename is created to each directory when a message file is moved.
|
||||
+EXTERN int store_original_filename; // 1 if an original filename is saved to message file when it's moved from
|
||||
// outgoing directory to spooler. Works together with keep_filename.
|
||||
-int date_filename; // 1 or 2 if YYYYMMDD is included to the filename of incoming message.
|
||||
-char regular_run[PATH_MAX]; // Script/program which is run regularly.
|
||||
-int regular_run_interval; // Number of seconds between running a regular_run script/progdam.
|
||||
-char admin_to[SIZE_TO]; // Destination number for administrative messages.
|
||||
-int filename_preview; // Number of chars of message text to concatenate to filename.
|
||||
-int incoming_utf8; // 1 if incoming files are saved using UTF-8 character set.
|
||||
-int outgoing_utf8; // 1 if outgoing files are automatically converted from UTF-8 to ISO and GSM.
|
||||
-int log_charconv; // 1 if character set conversion is logged.
|
||||
-int log_single_lines; // 1 if linefeeds are removed from the modem response to be logged.
|
||||
-int executable_check; // 0 if eventhandler and other executables are NOT checked during the startup checking.
|
||||
-int keep_messages; // For testing purposes: messages are not deleted and smsd stops after first run.
|
||||
-char priviledged_numbers[SIZE_PRIVILEDGED_NUMBERS]; // Priviledged numbers in incoming messages.
|
||||
-int ic_purge_hours; // If internal_combine is used, concatenation storage is checked every ic_purge_interval minutes
|
||||
-int ic_purge_minutes; // and if there is message parts older than defined, they are handled or deleted.
|
||||
-int ic_purge_read; // 1 = message parts are stored as single messages. 0 = parts are just deleted.
|
||||
-int ic_purge_interval; //
|
||||
-char shell[PATH_MAX]; // Shell used to run eventhandler, defaults to /bin/sh
|
||||
-char adminmessage_device[32]; // Name of device used to send administrative messages of mainspooler.
|
||||
-int smart_logging; // 1 = if loglevel is less than 7, degug log is written is there has been any errors.
|
||||
-int status_signal_quality; // 1 = signal quality is written to status file.
|
||||
-int status_include_counters; // 1 = succeeded, failed and received counters are included in the status line.
|
||||
-int status_include_uptime; // 3.1.16beta: 1 = include started & uptime line in the status file.
|
||||
-int hangup_incoming_call; // 1 = if detected unexpected input contains RING and we want to end call.
|
||||
-int max_continuous_sending; // Defines when sending is breaked to do check/do other tasks. Time in minutes.
|
||||
-int voicecall_hangup_ath; // If ATH is used instead of AT+CHUP.
|
||||
+EXTERN int date_filename; // 1 or 2 if YYYYMMDD is included to the filename of incoming message.
|
||||
+EXTERN char regular_run[PATH_MAX]; // Script/program which is run regularly.
|
||||
+EXTERN int regular_run_interval; // Number of seconds between running a regular_run script/progdam.
|
||||
+EXTERN char admin_to[SIZE_TO]; // Destination number for administrative messages.
|
||||
+EXTERN int filename_preview; // Number of chars of message text to concatenate to filename.
|
||||
+EXTERN int incoming_utf8; // 1 if incoming files are saved using UTF-8 character set.
|
||||
+EXTERN int outgoing_utf8; // 1 if outgoing files are automatically converted from UTF-8 to ISO and GSM.
|
||||
+EXTERN int log_charconv; // 1 if character set conversion is logged.
|
||||
+EXTERN int log_single_lines; // 1 if linefeeds are removed from the modem response to be logged.
|
||||
+EXTERN int executable_check; // 0 if eventhandler and other executables are NOT checked during the startup checking.
|
||||
+EXTERN int keep_messages; // For testing purposes: messages are not deleted and smsd stops after first run.
|
||||
+EXTERN char priviledged_numbers[SIZE_PRIVILEDGED_NUMBERS]; // Priviledged numbers in incoming messages.
|
||||
+EXTERN int ic_purge_hours; // If internal_combine is used, concatenation storage is checked every ic_purge_interval minutes
|
||||
+EXTERN int ic_purge_minutes; // and if there is message parts older than defined, they are handled or deleted.
|
||||
+EXTERN int ic_purge_read; // 1 = message parts are stored as single messages. 0 = parts are just deleted.
|
||||
+EXTERN int ic_purge_interval; //
|
||||
+EXTERN char shell[PATH_MAX]; // Shell used to run eventhandler, defaults to /bin/sh
|
||||
+EXTERN char adminmessage_device[32]; // Name of device used to send administrative messages of mainspooler.
|
||||
+EXTERN int smart_logging; // 1 = if loglevel is less than 7, degug log is written is there has been any errors.
|
||||
+EXTERN int status_signal_quality; // 1 = signal quality is written to status file.
|
||||
+EXTERN int status_include_counters; // 1 = succeeded, failed and received counters are included in the status line.
|
||||
+EXTERN int status_include_uptime; // 3.1.16beta: 1 = include started & uptime line in the status file.
|
||||
+EXTERN int hangup_incoming_call; // 1 = if detected unexpected input contains RING and we want to end call.
|
||||
+EXTERN int max_continuous_sending; // Defines when sending is breaked to do check/do other tasks. Time in minutes.
|
||||
+EXTERN int voicecall_hangup_ath; // If ATH is used instead of AT+CHUP.
|
||||
|
||||
// 3.1.5:
|
||||
-int trust_outgoing; // 1 = it's _sure_ that files are created by rename AND permissions are correct. Speeds up spooling.
|
||||
+EXTERN int trust_outgoing; // 1 = it's _sure_ that files are created by rename AND permissions are correct. Speeds up spooling.
|
||||
|
||||
// 3.1.5:
|
||||
-int ignore_outgoing_priority; // 1 = Priority: high header is not checked. Speeds up spooling.
|
||||
+EXTERN int ignore_outgoing_priority; // 1 = Priority: high header is not checked. Speeds up spooling.
|
||||
|
||||
// 3.1.7:
|
||||
-int ignore_exec_output; // 1 = stdout and stderr of eventhandlers is _not_ checked.
|
||||
+EXTERN int ignore_exec_output; // 1 = stdout and stderr of eventhandlers is _not_ checked.
|
||||
|
||||
// 3.1.7:
|
||||
-mode_t conf_umask; // File mode creation mask for smsd and modem processes.
|
||||
+EXTERN mode_t conf_umask; // File mode creation mask for smsd and modem processes.
|
||||
|
||||
// 3.1.7:
|
||||
-int trim_text; // 1 = trailing whitespaces are removed from text:
|
||||
+EXTERN int trim_text; // 1 = trailing whitespaces are removed from text:
|
||||
|
||||
// 3.1.7:
|
||||
-int use_linux_ps_trick; // 1 = change argv[0] to "smsd: MAINPROCESS", "smsd: GSM1" etc.
|
||||
+EXTERN int use_linux_ps_trick; // 1 = change argv[0] to "smsd: MAINPROCESS", "smsd: GSM1" etc.
|
||||
|
||||
// 3.1.7:
|
||||
-int log_unmodified;
|
||||
+EXTERN int log_unmodified;
|
||||
|
||||
// 3.1.7:
|
||||
-char suspend_filename[PATH_MAX];
|
||||
+EXTERN char suspend_filename[PATH_MAX];
|
||||
|
||||
// 3.1.9:
|
||||
-int spool_directory_order;
|
||||
+EXTERN int spool_directory_order;
|
||||
|
||||
// 3.1.9: 1 if read_from_modem is logged.
|
||||
-int log_read_from_modem;
|
||||
+EXTERN int log_read_from_modem;
|
||||
|
||||
// 3.1.16beta2: log_read_timing for performance tuning.
|
||||
-int log_read_timing;
|
||||
+EXTERN int log_read_timing;
|
||||
|
||||
// 3.1.16beta:
|
||||
-int log_response_time;
|
||||
+EXTERN int log_response_time;
|
||||
|
||||
// 3.1.16beta2:
|
||||
-int default_alphabet;
|
||||
+EXTERN int default_alphabet;
|
||||
|
||||
// 3.1.17: Child process for the mainprocess:
|
||||
-char mainprocess_child[PATH_MAX];
|
||||
-char mainprocess_child_args[PATH_MAX];
|
||||
+EXTERN char mainprocess_child[PATH_MAX];
|
||||
+EXTERN char mainprocess_child_args[PATH_MAX];
|
||||
|
||||
// 3.1.17: Notifier for the mainprocess:
|
||||
-int mainprocess_notifier;
|
||||
+EXTERN int mainprocess_notifier;
|
||||
|
||||
// 3.1.17: If *_copy was made, evenhandler can use it instead of original file:
|
||||
-int eventhandler_use_copy;
|
||||
+EXTERN int eventhandler_use_copy;
|
||||
|
||||
// 3.1.17: This defines how long to sleep while looping:
|
||||
-int sleeptime_mainprocess;
|
||||
+EXTERN int sleeptime_mainprocess;
|
||||
|
||||
// 3.1.17: Defines how often PID is checked to detect if another smsd is running:
|
||||
-int check_pid_interval;
|
||||
+EXTERN int check_pid_interval;
|
||||
|
||||
// 3.1.18: start script/program for mainprocess:
|
||||
-char mainprocess_start[PATH_MAX];
|
||||
-char mainprocess_start_args[PATH_MAX];
|
||||
+EXTERN char mainprocess_start[PATH_MAX];
|
||||
+EXTERN char mainprocess_start_args[PATH_MAX];
|
||||
|
||||
-int message_count; // Counter for sent messages. Multipart message is one message.
|
||||
+EXTERN int message_count; // Counter for sent messages. Multipart message is one message.
|
||||
|
||||
-volatile sig_atomic_t break_workless_delay; // To break the delay when SIGCONT is received.
|
||||
-volatile sig_atomic_t terminate; // To terminate when SIGTERM is received.
|
||||
+EXTERN volatile sig_atomic_t break_workless_delay; // To break the delay when SIGCONT is received.
|
||||
+EXTERN volatile sig_atomic_t terminate; // To terminate when SIGTERM is received.
|
||||
|
||||
-char username[65]; // user and group name which are used to run.
|
||||
-char groupname[65]; // (max length is just a guess)
|
||||
+EXTERN char username[65]; // user and group name which are used to run.
|
||||
+EXTERN char groupname[65]; // (max length is just a guess)
|
||||
|
||||
-char infofile[PATH_MAX]; // Hepler file for stopping the smsd smoothly.
|
||||
-char pidfile[PATH_MAX]; // File where a process id is stored.
|
||||
+EXTERN char infofile[PATH_MAX]; // Hepler file for stopping the smsd smoothly.
|
||||
+EXTERN char pidfile[PATH_MAX]; // File where a process id is stored.
|
||||
|
||||
// Command line arguments:
|
||||
-char arg_username[65];
|
||||
-char arg_groupname[65];
|
||||
-char arg_infofile[PATH_MAX];
|
||||
-char arg_pidfile[PATH_MAX];
|
||||
-char arg_logfile[PATH_MAX];
|
||||
-int arg_terminal;
|
||||
+EXTERN char arg_username[65];
|
||||
+EXTERN char arg_groupname[65];
|
||||
+EXTERN char arg_infofile[PATH_MAX];
|
||||
+EXTERN char arg_pidfile[PATH_MAX];
|
||||
+EXTERN char arg_logfile[PATH_MAX];
|
||||
+EXTERN int arg_terminal;
|
||||
// 3.1.7:
|
||||
-char arg_7bit_packed[512];
|
||||
-int do_encode_decode_arg_7bit_packed;
|
||||
+EXTERN char arg_7bit_packed[512];
|
||||
+EXTERN int do_encode_decode_arg_7bit_packed;
|
||||
|
||||
-int terminal; // 1 if smsd is communicating with terminal.
|
||||
-pid_t device_pids[NUMBER_OF_MODEMS]; // Pid's of modem processes.
|
||||
-char run_info[PATH_MAX]; // Information about external script/program execution.
|
||||
+EXTERN int terminal; // 1 if smsd is communicating with terminal.
|
||||
+EXTERN pid_t device_pids[NUMBER_OF_MODEMS]; // Pid's of modem processes.
|
||||
+EXTERN char run_info[PATH_MAX]; // Information about external script/program execution.
|
||||
|
||||
-char communicate[32]; // Device name for terminal communication mode.
|
||||
+EXTERN char communicate[32]; // Device name for terminal communication mode.
|
||||
|
||||
-char international_prefixes[PATH_MAX +1];
|
||||
-char national_prefixes[PATH_MAX +1];
|
||||
+EXTERN char international_prefixes[PATH_MAX +1];
|
||||
+EXTERN char national_prefixes[PATH_MAX +1];
|
||||
|
||||
// Storage for startup errors:
|
||||
-char *startup_err_str;
|
||||
-int startup_err_count;
|
||||
+EXTERN char *startup_err_str;
|
||||
+EXTERN int startup_err_count;
|
||||
|
||||
// Storage for PDU's:
|
||||
-char *incoming_pdu_store;
|
||||
-char *outgoing_pdu_store;
|
||||
-char *routed_pdu_store;
|
||||
+EXTERN char *incoming_pdu_store;
|
||||
+EXTERN char *outgoing_pdu_store;
|
||||
+EXTERN char *routed_pdu_store;
|
||||
|
||||
// Storage for getfile errors:
|
||||
-char *getfile_err_store;
|
||||
+EXTERN char *getfile_err_store;
|
||||
|
||||
// Text buffer for error messages:
|
||||
-char tb[SIZE_TB];
|
||||
+EXTERN char tb[SIZE_TB];
|
||||
|
||||
// Buffer for SIM memory checking:
|
||||
-char *check_memory_buffer;
|
||||
-size_t check_memory_buffer_size;
|
||||
+EXTERN char *check_memory_buffer;
|
||||
+EXTERN size_t check_memory_buffer_size;
|
||||
|
||||
-int os_cygwin; // 1 if we are on Cygwin.
|
||||
+EXTERN int os_cygwin; // 1 if we are on Cygwin.
|
||||
|
||||
-char language_file[PATH_MAX]; // File name of translated headers.
|
||||
-char yes_chars[SIZE_HEADER]; // Characters which mean "yes" in the yesno() question.
|
||||
-char no_chars[SIZE_HEADER]; // See details inside read_translation() function.
|
||||
-char yes_word[SIZE_HEADER]; // "yes" printed as an output.
|
||||
-char no_word[SIZE_HEADER]; // "no"
|
||||
-char datetime_format[SIZE_HEADER]; // strftime format string for time stamps (not inside status reports).
|
||||
-char logtime_format[SIZE_HEADER]; // 3.1.7: strftime format string for logging time stamps
|
||||
-char date_filename_format[SIZE_HEADER]; // 3.1.7: strftime format string for date_filename
|
||||
-int translate_incoming; // 0 if incoming message headers are NOT transtaled.
|
||||
+EXTERN char language_file[PATH_MAX]; // File name of translated headers.
|
||||
+EXTERN char yes_chars[SIZE_HEADER]; // Characters which mean "yes" in the yesno() question.
|
||||
+EXTERN char no_chars[SIZE_HEADER]; // See details inside read_translation() function.
|
||||
+EXTERN char yes_word[SIZE_HEADER]; // "yes" printed as an output.
|
||||
+EXTERN char no_word[SIZE_HEADER]; // "no"
|
||||
+EXTERN char datetime_format[SIZE_HEADER]; // strftime format string for time stamps (not inside status reports).
|
||||
+EXTERN char logtime_format[SIZE_HEADER]; // 3.1.7: strftime format string for logging time stamps
|
||||
+EXTERN char date_filename_format[SIZE_HEADER]; // 3.1.7: strftime format string for date_filename
|
||||
+EXTERN int translate_incoming; // 0 if incoming message headers are NOT transtaled.
|
||||
|
||||
// 3.1.14:
|
||||
-int logtime_us;
|
||||
-int logtime_ms;
|
||||
+EXTERN int logtime_us;
|
||||
+EXTERN int logtime_ms;
|
||||
|
||||
// 3.1.14:
|
||||
-int shell_test;
|
||||
+EXTERN int shell_test;
|
||||
|
||||
// Next two are for debugging purposes:
|
||||
-int enable_smsd_debug;
|
||||
-char smsd_debug[SIZE_SMSD_DEBUG]; // Header of an outgoing message file.
|
||||
+EXTERN int enable_smsd_debug;
|
||||
+EXTERN char smsd_debug[SIZE_SMSD_DEBUG]; // Header of an outgoing message file.
|
||||
|
||||
// 3.1.20: Alt keys in communication mode:
|
||||
#define COMMUNICATE_A_KEY_COUNT 10
|
||||
-char communicate_a_keys[COMMUNICATE_A_KEY_COUNT][256];
|
||||
+EXTERN char communicate_a_keys[COMMUNICATE_A_KEY_COUNT][256];
|
||||
|
||||
/* initialize all variable with default values */
|
||||
|
||||
diff --git a/src/stats.h b/src/stats.h
|
||||
index bd5cdc9..a614af1 100755
|
||||
--- a/src/stats.h
|
||||
+++ b/src/stats.h
|
||||
@@ -33,17 +33,17 @@ typedef struct
|
||||
int ber;
|
||||
} _stats;
|
||||
|
||||
-_stats* statistics[NUMBER_OF_MODEMS]; // Statistic data (shared memory!)
|
||||
-int rejected_counter; // Statistic counter, rejected SM, number does not fit into any queue
|
||||
-time_t start_time; // Start time of smsd, allows statistic functions
|
||||
-int printstatus; // if 1 smsd outputs status on stdout
|
||||
-time_t last_stats; // time when the last stats file was created
|
||||
-char d_stats[PATH_MAX]; // path to statistic files
|
||||
-int stats_interval; // time between statistic files in seconds.
|
||||
-int stats_no_zeroes; // Suppress files that contain only zeroes
|
||||
-int status_interval; // time between updating status file in seconds
|
||||
-
|
||||
-char *shared_buffer;
|
||||
+EXTERN _stats* statistics[NUMBER_OF_MODEMS]; // Statistic data (shared memory!)
|
||||
+EXTERN int rejected_counter; // Statistic counter, rejected SM, number does not fit into any queue
|
||||
+EXTERN time_t start_time; // Start time of smsd, allows statistic functions
|
||||
+EXTERN int printstatus; // if 1 smsd outputs status on stdout
|
||||
+EXTERN time_t last_stats; // time when the last stats file was created
|
||||
+EXTERN char d_stats[PATH_MAX]; // path to statistic files
|
||||
+EXTERN int stats_interval; // time between statistic files in seconds.
|
||||
+EXTERN int stats_no_zeroes; // Suppress files that contain only zeroes
|
||||
+EXTERN int status_interval; // time between updating status file in seconds
|
||||
+
|
||||
+EXTERN char *shared_buffer;
|
||||
|
||||
/* Creates shared memory variables for statistic data */
|
||||
|
||||
diff --git a/src/whitelist.c b/src/whitelist.c
|
||||
index 4ee7a69..3d90bf4 100755
|
||||
--- a/src/whitelist.c
|
||||
+++ b/src/whitelist.c
|
||||
@@ -17,11 +17,11 @@ Either version 2 of the License, or (at your option) any later version.
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <signal.h>
|
||||
+#include "smsd_cfg.h"
|
||||
#include "whitelist.h"
|
||||
#include "extras.h"
|
||||
#include "logging.h"
|
||||
#include "alarm.h"
|
||||
-#include "smsd_cfg.h"
|
||||
|
||||
/* Used with >= 3.1x */
|
||||
int inwhitelist_q(char* msisdn, char *queuename)
|
||||
diff --git a/src/whitelist.h b/src/whitelist.h
|
||||
index 88aea86..3f904f4 100755
|
||||
--- a/src/whitelist.h
|
||||
+++ b/src/whitelist.h
|
||||
@@ -15,7 +15,7 @@ Either version 2 of the License, or (at your option) any later version.
|
||||
#ifndef WHITE_H
|
||||
#define WHITE_H
|
||||
|
||||
-char whitelist[256]; // Filename of the white-list
|
||||
+EXTERN char whitelist[256]; // Filename of the white-list
|
||||
|
||||
/* Used with >= 3.1x */
|
||||
int inwhitelist_q(char* msisdn, char *queuename);
|
||||
--
|
||||
2.28.0
|
||||
|
||||
@@ -0,0 +1,53 @@
|
||||
From 85602c3e531d39e89dc8cee0c4a592f85006a064 Mon Sep 17 00:00:00 2001
|
||||
From: Bill Randle <bill.randle@gmail.com>
|
||||
Date: Sun, 31 Dec 2017 09:08:23 -0800
|
||||
|
||||
---
|
||||
Upstream-Status: Pending
|
||||
|
||||
scripts/sendsms | 2 +-
|
||||
scripts/sms2html | 2 +-
|
||||
scripts/sms2unicode | 2 +-
|
||||
scripts/unicode2sms | 2 +-
|
||||
4 files changed, 4 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/scripts/sendsms b/scripts/sendsms
|
||||
index 512026d..bb56856 100755
|
||||
--- a/scripts/sendsms
|
||||
+++ b/scripts/sendsms
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/bin/bash
|
||||
+#!/bin/sh
|
||||
# This script send a text sms at the command line by creating
|
||||
# a sms file in the outgoing queue.
|
||||
|
||||
diff --git a/scripts/sms2html b/scripts/sms2html
|
||||
index ff253e3..946185e 100755
|
||||
--- a/scripts/sms2html
|
||||
+++ b/scripts/sms2html
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/bin/bash
|
||||
+#!/bin/sh
|
||||
|
||||
# This script converts a received sms file into a html file.
|
||||
|
||||
diff --git a/scripts/sms2unicode b/scripts/sms2unicode
|
||||
index 46e2756..2826dc1 100755
|
||||
--- a/scripts/sms2unicode
|
||||
+++ b/scripts/sms2unicode
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/bin/bash
|
||||
+#!/bin/sh
|
||||
|
||||
# This script converts a received sms file into a pure unicode text file.
|
||||
|
||||
diff --git a/scripts/unicode2sms b/scripts/unicode2sms
|
||||
index 2ae86dc..3fccf0d 100755
|
||||
--- a/scripts/unicode2sms
|
||||
+++ b/scripts/unicode2sms
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/bin/bash
|
||||
+#!/bin/sh
|
||||
|
||||
# This script converts a pure unicode text file into an sms file for sending.
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
From 9a4a872dca78ca9cb6bdc228be61f5a4c2d68b1f Mon Sep 17 00:00:00 2001
|
||||
From: Kai Ulrich <kaiu@gmx.de>
|
||||
Date: Wed, 18 Mar 2015 11:20:53 +0100
|
||||
|
||||
---
|
||||
Upstream-Status: Pending
|
||||
|
||||
scripts/sms3 | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/scripts/sms3 b/scripts/sms3
|
||||
index 6b990bf..09c063b 100755
|
||||
--- a/scripts/sms3
|
||||
+++ b/scripts/sms3
|
||||
@@ -24,9 +24,9 @@ INFOFILE="/var/run/smsd.working"
|
||||
# Logfile can also be defined in here:
|
||||
LOGFILE="/var/log/smsd.log"
|
||||
|
||||
-DAEMON=/usr/local/bin/smsd
|
||||
+DAEMON=/usr/bin/smsd
|
||||
# A program which turns power off for couple of seconds:
|
||||
-RESETMODEMS=/usr/local/bin/smsd_resetmodems
|
||||
+RESETMODEMS=/usr/bin/smsd_resetmodems
|
||||
NAME=smsd
|
||||
PSOPT="-e"
|
||||
ECHO=echo
|
||||
@@ -0,0 +1,49 @@
|
||||
SUMMARY = "SMS Gateway software"
|
||||
DESCRIPTION = "The SMS Server Tools 3 is a SMS Gateway software which can send and receive short messages through GSM modems and mobile phones."
|
||||
SECTION = "console/network"
|
||||
LICENSE = "GPL-2.0-only"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE;md5=4d21efa1bb2a186360dde4035f860682"
|
||||
HOMEPAGE = "http://smstools3.kekekasvi.com"
|
||||
|
||||
SRC_URI = "http://smstools3.kekekasvi.com/packages/${BP}.tar.gz \
|
||||
file://sms_binpath.patch \
|
||||
file://scripts_no_bash.patch \
|
||||
file://0001-Make-extern-declarations-to-avoid-duplicate-var-defi.patch \
|
||||
"
|
||||
|
||||
SRC_URI[md5sum] = "6a9f038fb38a49cc3a4f8f14a88fb8af"
|
||||
SRC_URI[sha256sum] = "a26ba4c02b16f6cf13177bffca6c9230dc5fefaeba8e3030cd4e4905f6a92084"
|
||||
|
||||
|
||||
S = "${WORKDIR}/${BPN}"
|
||||
|
||||
EXTRA_OEMAKE += "LFLAGS='${LDFLAGS}'"
|
||||
|
||||
INITSCRIPT_NAME = "sms3"
|
||||
INITSCRIPT_PARAMS = "defaults"
|
||||
|
||||
inherit update-rc.d
|
||||
|
||||
do_install () {
|
||||
|
||||
install -d ${D}${bindir}
|
||||
install -m 755 ${S}/src/smsd "${D}${bindir}/smsd"
|
||||
|
||||
install -m 755 ${S}/scripts/sendsms "${D}${bindir}/sendsms"
|
||||
install -m 755 ${S}/scripts/sms2html "${D}${bindir}/sms2html"
|
||||
install -m 755 ${S}/scripts/sms2unicode "${D}${bindir}/sms2unicode"
|
||||
install -m 755 ${S}/scripts/unicode2sms "${D}${bindir}/unicode2sms"
|
||||
|
||||
install -d ${D}${sysconfdir}
|
||||
install -m 644 ${S}/examples/smsd.conf.easy "${D}${sysconfdir}/smsd.conf"
|
||||
|
||||
install -d "${D}${localstatedir}/spool"
|
||||
install -d "${D}${localstatedir}/spool/sms"
|
||||
install -d "${D}${localstatedir}/spool/sms/incoming"
|
||||
install -d "${D}${localstatedir}/spool/sms/outgoing"
|
||||
install -d "${D}${localstatedir}/spool/sms/checked"
|
||||
|
||||
install -d ${D}${sysconfdir}/init.d
|
||||
install -m 755 ${S}/scripts/sms3 "${D}${sysconfdir}/init.d/${INITSCRIPT_NAME}"
|
||||
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
SUMMARY = "Telepathy Framework glib-base helper library"
|
||||
DESCRIPTION = "Telepathy Framework: GLib-based helper library for connection managers"
|
||||
HOMEPAGE = "http://telepathy.freedesktop.org/wiki/"
|
||||
DEPENDS = "glib-2.0 dbus hostpython-runtime-native dbus-native dbus-glib libxslt-native"
|
||||
LICENSE = "LGPL-2.1-or-later"
|
||||
|
||||
SRC_URI = "http://telepathy.freedesktop.org/releases/telepathy-glib/${BP}.tar.gz"
|
||||
SRC_URI[md5sum] = "cbeb0a24acc26e7f095be281c324da69"
|
||||
SRC_URI[sha256sum] = "9e0df1d8f857e0270cf0b32e2d1ca5a24aa7282873361785d573f72ad7f7d5eb"
|
||||
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=e413d83db6ee8f2c8e6055719096a48e"
|
||||
|
||||
inherit autotools pkgconfig gettext gobject-introspection vala gtk-doc
|
||||
|
||||
# Respect GI_DATA_ENABLED value when enabling vala-bindings:
|
||||
# configure: error: GObject-Introspection must be enabled for Vala bindings
|
||||
EXTRA_OECONF = "${@bb.utils.contains('GI_DATA_ENABLED', 'True', '--enable-vala-bindings', '--disable-vala-bindings', d)}"
|
||||
|
||||
FILES:${PN} += "${datadir}/telepathy \
|
||||
${datadir}/dbus-1"
|
||||
@@ -0,0 +1,15 @@
|
||||
Upstream-Status: Pending
|
||||
|
||||
Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
|
||||
--- a/extensions/Makefile.am
|
||||
+++ b/extensions/Makefile.am
|
||||
@@ -37,8 +37,8 @@ _gen/all.xml: all.xml $(wildcard $(srcdi
|
||||
--xinclude $(tools_dir)/identity.xsl \
|
||||
$< > $@
|
||||
|
||||
-extensions.html: _gen/all.xml $(tools_dir)/doc-generator.xsl
|
||||
+extensions.html _gen/svc-gtk-doc.h: _gen/all.xml $(tools_dir)/doc-generator.xsl
|
||||
$(AM_V_GEN)$(XSLTPROC) $(XSLTPROCFLAGS) \
|
||||
$(tools_dir)/doc-generator.xsl \
|
||||
$< > $@
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
SUMMARY = "Telepathy IRC connection manager"
|
||||
DESCRIPTION = "Telepathy implementation of the Internet Relay Chat protocols."
|
||||
HOMEPAGE = "http://telepathy.freedesktop.org/wiki/"
|
||||
DEPENDS = "glib-2.0 dbus telepathy-glib openssl libxslt-native"
|
||||
LICENSE = "LGPL-2.1-only"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1 \
|
||||
file://src/idle.c;beginline=1;endline=19;md5=b06b1e2594423111a1a7910b0eefc7f9"
|
||||
|
||||
SRC_URI = "http://telepathy.freedesktop.org/releases/${BPN}/${BPN}-${PV}.tar.gz \
|
||||
file://fix-svc-gtk-doc.h-target.patch"
|
||||
SRC_URI[md5sum] = "92a2de5198284cbd3c430b0d1a971a86"
|
||||
SRC_URI[sha256sum] = "3013ad4b38d14ee630b8cc8ada5e95ccaa849b9a6fe15d2eaf6d0717d76f2fab"
|
||||
|
||||
inherit autotools pkgconfig ${@bb.utils.contains("BBFILE_COLLECTIONS", "meta-python2", "pythonnative", "", d)}
|
||||
|
||||
FILES:${PN} += "${datadir}/telepathy \
|
||||
${datadir}/dbus-1"
|
||||
|
||||
python() {
|
||||
if 'meta-python2' not in d.getVar('BBFILE_COLLECTIONS').split():
|
||||
raise bb.parse.SkipRecipe('Requires meta-python2 to be present.')
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user