Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 21 Mar 2026 23:11:58 +0000
From:      Joel Bodenmann <jbo@FreeBSD.org>
To:        ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org
Cc:        Muhammad Moinur Rahman <bofh@FreeBSD.org>
Subject:   git: c731008cd844 - main - net/liblinphone: Bump after databases/soci update
Message-ID:  <69bf25be.278f4.139444f0@gitrepo.freebsd.org>

index | next in thread | raw e-mail

The branch main has been updated by jbo:

URL: https://cgit.FreeBSD.org/ports/commit/?id=c731008cd84442ba560ba53303fd21308663cd56

commit c731008cd84442ba560ba53303fd21308663cd56
Author:     Muhammad Moinur Rahman <bofh@FreeBSD.org>
AuthorDate: 2026-03-21 22:59:34 +0000
Commit:     Joel Bodenmann <jbo@FreeBSD.org>
CommitDate: 2026-03-21 23:11:22 +0000

    net/liblinphone: Bump after databases/soci update
---
 net/liblinphone/Makefile                       |  1 +
 net/liblinphone/files/patch-src_db_main-db.cpp | 55 ++++++++++++++++++++++++++
 2 files changed, 56 insertions(+)

diff --git a/net/liblinphone/Makefile b/net/liblinphone/Makefile
index 7c3508f920f9..f8d34545f47d 100644
--- a/net/liblinphone/Makefile
+++ b/net/liblinphone/Makefile
@@ -1,5 +1,6 @@
 PORTNAME=	liblinphone
 DISTVERSION=	5.4.100
+PORTREVISION=	1
 CATEGORIES=	net
 
 MAINTAINER=	bofh@FreeBSD.org
diff --git a/net/liblinphone/files/patch-src_db_main-db.cpp b/net/liblinphone/files/patch-src_db_main-db.cpp
new file mode 100644
index 000000000000..e3bbb76d6c8b
--- /dev/null
+++ b/net/liblinphone/files/patch-src_db_main-db.cpp
@@ -0,0 +1,55 @@
+--- src/db/main-db.cpp.orig	2026-03-21 15:38:51 UTC
++++ src/db/main-db.cpp
+@@ -1884,11 +1884,14 @@ void MainDbPrivate::updateConferenceChatMessageEvent(c
+ 	if (state == ChatMessage::State::NotDelivered) {
+ 		const auto &meAddress = chatRoom->getMe()->getAddress();
+ 		long long meAddressId = insertSipAddress(meAddress);
++		// Materialize the IDs into local variables first
++		long long msgId = static_cast<long long>(chatMessage->getStorageId());
++		long long addrId = static_cast<long long>(meAddressId);
++
+ 		static const string query =
+ 		    "SELECT chat_message_participant.state FROM chat_message_participant WHERE event_id = :eventId AND "
+ 		    "chat_message_participant.participant_sip_address_id = :meAddressId";
+-		soci::rowset<soci::row> rows =
+-		    (session->prepare << query, soci::use(chatMessage->getStorageId()), soci::use(meAddressId));
++		soci::rowset<soci::row> rows = (session->prepare << query, soci::use(msgId), soci::use(addrId));
+ 		ChatMessage::State meParticipantState = ChatMessage::State::Idle;
+ 		for (const auto &row : rows) {
+ 			meParticipantState = static_cast<ChatMessage::State>(row.get<int>(0));
+@@ -1911,7 +1914,8 @@ void MainDbPrivate::updateConferenceChatMessageEvent(c
+ 		                            " FROM sip_address, chat_message_participant"
+ 		                            " WHERE event_id = :eventId"
+ 		                            " AND sip_address.id = chat_message_participant.participant_sip_address_id";
+-		soci::rowset<soci::row> rows = (session->prepare << query, soci::use(chatMessage->getStorageId()));
++		long long msgStorageId = static_cast<long long>(chatMessage->getStorageId());
++		soci::rowset<soci::row> rows = (session->prepare << query, soci::use(msgStorageId));
+ 
+ 		// Use list of participants the client is sure have received the message and not the actual list of participants
+ 		// being part of the chatroom
+@@ -5068,10 +5072,11 @@ list<shared_ptr<ChatMessage>> MainDb::getEphemeralMess
+ 		L_D();
+ 		list<shared_ptr<ChatMessage>> chatMessages;
+ 		auto epoch = d->dbSession.getTimeWithSociIndicator(0);
++		int maxTasks = EPHEMERAL_MESSAGE_TASKS_MAX_NB;
+ 		soci::rowset<soci::row> rows =
+ 		    getBackend() == MainDb::Backend::Sqlite3
+ 		        ? (d->dbSession.getBackendSession()->prepare << query, soci::use(epoch.first),
+-		           soci::use(EPHEMERAL_MESSAGE_TASKS_MAX_NB))
++		           soci::use(maxTasks))
+ 		        : (d->dbSession.getBackendSession()->prepare << query, soci::use(epoch.first));
+ 		for (const auto &row : rows) {
+ 			const long long &dbChatRoomId = d->dbSession.resolveId(row, (int)row.size() - 1);
+@@ -5866,9 +5871,11 @@ list<shared_ptr<EventLog>> MainDb::getHistoryRangeNear
+ 			const EventLogPrivate *dEventLog = event->getPrivate();
+ 			MainDbKeyPrivate *dEventKey = static_cast<MainDbKey &>(dEventLog->dbKey).getPrivate();
+ 			const long long &dbEventId = dEventKey->storageId;
++			long long beforePlusOne = static_cast<long long>(before + 1);
++			long long afterPlusOne = static_cast<long long>(after + 1);
+ 
+ 			soci::rowset<soci::row> rows = (d->dbSession.getBackendSession()->prepare << query, soci::use(dbChatRoomId),
+-			                                soci::use(dbEventId), soci::use(before + 1), soci::use(after + 1));
++			                                soci::use(dbEventId), soci::use(beforePlusOne), soci::use(afterPlusOne));
+ 
+ 			for (const auto &row : rows) {
+ 				shared_ptr<EventLog> event = d->selectGenericConferenceEvent(chatRoom, row);


home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?69bf25be.278f4.139444f0>