- Add patch to fix the issue mentioned in the PR.
- Transfer maintainership to self. PR: ports/147492 Approved by: pgj (mentor), henry.hu.sh@gmail.com (maintainer) Feature safe: yes
This commit is contained in:
parent
d890d8fdca
commit
b9d19e1d7a
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=257479
@ -12,7 +12,7 @@ CATEGORIES= textproc
|
||||
MASTER_SITES= SF/scim/${PORTNAME}/${PORTVERSION}
|
||||
PKGNAMESUFFIX= -qt4
|
||||
|
||||
MAINTAINER= henry.hu.sh@gmail.com
|
||||
MAINTAINER= ashish@FreeBSD.org
|
||||
COMMENT= Qt4 client for Scim-bridge
|
||||
|
||||
RUN_DEPENDS= scim-bridge:${PORTSDIR}/textproc/scim-bridge
|
||||
|
@ -0,0 +1,29 @@
|
||||
|
||||
$FreeBSD$
|
||||
|
||||
--- agent/scim-bridge-agent-accept-listener.cpp.orig
|
||||
+++ agent/scim-bridge-agent-accept-listener.cpp
|
||||
@@ -106,12 +106,12 @@
|
||||
struct sockaddr_un socket_addr;
|
||||
memset (&socket_addr, 0, sizeof (struct sockaddr_un));
|
||||
socket_addr.sun_family = AF_UNIX;
|
||||
- strcpy (socket_addr.sun_path, socket_path);
|
||||
+ strncpy (socket_addr.sun_path, socket_path, 104); /* 104 is the maximum length of sun_path in FreeBSD */
|
||||
|
||||
const int MAX_TRIAL = 5;
|
||||
for (int i = 0; i < MAX_TRIAL; ++i) {
|
||||
scim_bridge_pdebugln (8, "Pinging for the another agent process...");
|
||||
- if (connect (socket_fd, (struct sockaddr*)&socket_addr, sizeof (socket_addr.sun_family) + strlen (socket_addr.sun_path))) {
|
||||
+ if (connect (socket_fd, (struct sockaddr*)&socket_addr, SUN_LEN(&socket_addr))) {
|
||||
if (i == MAX_TRIAL - 1) {
|
||||
scim_bridge_pdebugln (6, "It seems like there is no other agent for the old socket.");
|
||||
break;
|
||||
@@ -163,7 +163,7 @@
|
||||
return RETVAL_FAILED;
|
||||
}
|
||||
|
||||
- if (bind (socket_fd, (struct sockaddr*)&socket_addr, strlen (socket_addr.sun_path) + sizeof (socket_addr.sun_family)) != 0) {
|
||||
+ if (bind (socket_fd, (struct sockaddr*)&socket_addr, SUN_LEN(&socket_addr)) != 0) {
|
||||
scim_bridge_perrorln ("Cannot bind the socket: %s", strerror (errno));
|
||||
close (socket_fd);
|
||||
socket_fd = -1;
|
@ -11,7 +11,7 @@ PORTREVISION= 4
|
||||
CATEGORIES= textproc
|
||||
MASTER_SITES= SF/scim/${PORTNAME}/${PORTVERSION}
|
||||
|
||||
MAINTAINER= henry.hu.sh@gmail.com
|
||||
MAINTAINER= ashish@FreeBSD.org
|
||||
COMMENT= Scim-bridge agent (server)
|
||||
|
||||
LIB_DEPENDS= scim-1.0.10:${PORTSDIR}/textproc/scim
|
||||
|
@ -0,0 +1,29 @@
|
||||
|
||||
$FreeBSD$
|
||||
|
||||
--- agent/scim-bridge-agent-accept-listener.cpp.orig
|
||||
+++ agent/scim-bridge-agent-accept-listener.cpp
|
||||
@@ -106,12 +106,12 @@
|
||||
struct sockaddr_un socket_addr;
|
||||
memset (&socket_addr, 0, sizeof (struct sockaddr_un));
|
||||
socket_addr.sun_family = AF_UNIX;
|
||||
- strcpy (socket_addr.sun_path, socket_path);
|
||||
+ strncpy (socket_addr.sun_path, socket_path, 104); /* 104 is the maximum length of sun_path in FreeBSD */
|
||||
|
||||
const int MAX_TRIAL = 5;
|
||||
for (int i = 0; i < MAX_TRIAL; ++i) {
|
||||
scim_bridge_pdebugln (8, "Pinging for the another agent process...");
|
||||
- if (connect (socket_fd, (struct sockaddr*)&socket_addr, sizeof (socket_addr.sun_family) + strlen (socket_addr.sun_path))) {
|
||||
+ if (connect (socket_fd, (struct sockaddr*)&socket_addr, SUN_LEN(&socket_addr))) {
|
||||
if (i == MAX_TRIAL - 1) {
|
||||
scim_bridge_pdebugln (6, "It seems like there is no other agent for the old socket.");
|
||||
break;
|
||||
@@ -163,7 +163,7 @@
|
||||
return RETVAL_FAILED;
|
||||
}
|
||||
|
||||
- if (bind (socket_fd, (struct sockaddr*)&socket_addr, strlen (socket_addr.sun_path) + sizeof (socket_addr.sun_family)) != 0) {
|
||||
+ if (bind (socket_fd, (struct sockaddr*)&socket_addr, SUN_LEN(&socket_addr)) != 0) {
|
||||
scim_bridge_perrorln ("Cannot bind the socket: %s", strerror (errno));
|
||||
close (socket_fd);
|
||||
socket_fd = -1;
|
Loading…
Reference in New Issue
Block a user