mirror of
https://git.FreeBSD.org/ports.git
synced 2024-12-22 04:17:44 +00:00
Update to 0.3.10.
This commit is contained in:
parent
9f408d5578
commit
e1b9c52b8b
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=241281
@ -7,8 +7,7 @@
|
||||
#
|
||||
|
||||
PORTNAME= telepathy-salut
|
||||
PORTVERSION= 0.3.9
|
||||
PORTREVISION= 1
|
||||
PORTVERSION= 0.3.10
|
||||
CATEGORIES= net-im
|
||||
MASTER_SITES= http://telepathy.freedesktop.org/releases/${PORTNAME}/
|
||||
|
||||
|
@ -1,3 +1,3 @@
|
||||
MD5 (telepathy-salut-0.3.9.tar.gz) = b61b6f8a86b07a10315c4cca9d78b4fa
|
||||
SHA256 (telepathy-salut-0.3.9.tar.gz) = 16d829e6351016fbbf49074d1b18e914d484b9a0f0fd4a13d460575d3fea2dbf
|
||||
SIZE (telepathy-salut-0.3.9.tar.gz) = 1172347
|
||||
MD5 (telepathy-salut-0.3.10.tar.gz) = 145580837ba7727f7c97bcfbd1b4a71f
|
||||
SHA256 (telepathy-salut-0.3.10.tar.gz) = 4cfc81c26a45202e02ff50a275d606c835a10787e621b38f8b13b14bfafc2d0b
|
||||
SIZE (telepathy-salut-0.3.10.tar.gz) = 1190762
|
||||
|
@ -0,0 +1,117 @@
|
||||
--- lib/gibber/gibber-unix-transport.c.orig 2009-09-12 13:43:06.000000000 -0400
|
||||
+++ lib/gibber/gibber-unix-transport.c 2009-09-12 13:55:49.000000000 -0400
|
||||
@@ -200,11 +200,12 @@ gibber_unix_transport_send_credentials (
|
||||
gsize size)
|
||||
{
|
||||
int fd, ret;
|
||||
- struct ucred *cred;
|
||||
struct msghdr msg;
|
||||
- struct cmsghdr *ch;
|
||||
struct iovec iov;
|
||||
- char buffer[CMSG_SPACE (sizeof (struct ucred))];
|
||||
+ union {
|
||||
+ struct cmsghdr hdr;
|
||||
+ char cred[CMSG_SPACE (sizeof (struct cmsgcred))];
|
||||
+ } buffer;
|
||||
|
||||
DEBUG ("send credentials");
|
||||
fd = GIBBER_FD_TRANSPORT (transport)->fd;
|
||||
@@ -217,19 +218,14 @@ gibber_unix_transport_send_credentials (
|
||||
memset (&msg, 0, sizeof msg);
|
||||
msg.msg_iov = &iov;
|
||||
msg.msg_iovlen = 1;
|
||||
- msg.msg_control = buffer;
|
||||
- msg.msg_controllen = sizeof (buffer);
|
||||
+ msg.msg_control = (caddr_t) &buffer;
|
||||
+ msg.msg_controllen = CMSG_SPACE (sizeof (struct cmsgcred));
|
||||
|
||||
/* Set the credentials */
|
||||
- ch = CMSG_FIRSTHDR (&msg);
|
||||
- ch->cmsg_len = CMSG_LEN (sizeof (struct ucred));
|
||||
- ch->cmsg_level = SOL_SOCKET;
|
||||
- ch->cmsg_type = SCM_CREDENTIALS;
|
||||
-
|
||||
- cred = (struct ucred *) CMSG_DATA (ch);
|
||||
- cred->pid = getpid ();
|
||||
- cred->uid = getuid ();
|
||||
- cred->gid = getgid ();
|
||||
+ memset (&buffer, 0, sizeof (buffer));
|
||||
+ buffer.hdr.cmsg_len = CMSG_LEN (sizeof (struct cmsgcred));
|
||||
+ buffer.hdr.cmsg_level = SOL_SOCKET;
|
||||
+ buffer.hdr.cmsg_type = SCM_CREDS;
|
||||
|
||||
ret = sendmsg (fd, &msg, 0);
|
||||
if (ret == -1)
|
||||
@@ -256,10 +252,10 @@ gibber_unix_transport_read (GibberFdTran
|
||||
GibberBuffer buf;
|
||||
struct iovec iov;
|
||||
struct msghdr msg;
|
||||
- char control[CMSG_SPACE (sizeof (struct ucred))];
|
||||
- struct cmsghdr *ch;
|
||||
- struct ucred *cred;
|
||||
- int opt;
|
||||
+ union {
|
||||
+ struct cmsghdr hdr;
|
||||
+ char cred[CMSG_SPACE (sizeof (struct cmsgcred))];
|
||||
+ } control;
|
||||
|
||||
if (priv->recv_creds_cb == NULL)
|
||||
return gibber_fd_transport_read (transport, channel, error);
|
||||
@@ -267,10 +263,6 @@ gibber_unix_transport_read (GibberFdTran
|
||||
/* We are waiting for credentials */
|
||||
fd = transport->fd;
|
||||
|
||||
- /* set SO_PASSCRED flag */
|
||||
- opt = 1;
|
||||
- setsockopt (fd, SOL_SOCKET, SO_PASSCRED, &opt, sizeof (opt));
|
||||
-
|
||||
memset (buffer, 0, sizeof (buffer));
|
||||
memset (&iov, 0, sizeof (iov));
|
||||
iov.iov_base = buffer;
|
||||
@@ -279,8 +271,9 @@ gibber_unix_transport_read (GibberFdTran
|
||||
memset (&msg, 0, sizeof (msg));
|
||||
msg.msg_iov = &iov;
|
||||
msg.msg_iovlen = 1;
|
||||
- msg.msg_control = control;
|
||||
- msg.msg_controllen = sizeof (control);
|
||||
+ memset (&control, 0, sizeof (control));
|
||||
+ msg.msg_control = (caddr_t) &control;
|
||||
+ msg.msg_controllen = CMSG_SPACE (sizeof (struct cmsgcred));
|
||||
|
||||
bytes_read = recvmsg (fd, &msg, 0);
|
||||
|
||||
@@ -299,16 +292,11 @@ gibber_unix_transport_read (GibberFdTran
|
||||
return GIBBER_FD_IO_RESULT_ERROR;
|
||||
}
|
||||
|
||||
- /* unset SO_PASSCRED flag */
|
||||
- opt = 0;
|
||||
- setsockopt (fd, SOL_SOCKET, SO_PASSCRED, &opt, sizeof (opt));
|
||||
-
|
||||
buf.data = buffer;
|
||||
buf.length = bytes_read;
|
||||
|
||||
/* extract the credentials */
|
||||
- ch = CMSG_FIRSTHDR (&msg);
|
||||
- if (ch == NULL)
|
||||
+ if (control.hdr.cmsg_len < CMSG_LEN (sizeof (struct cmsgcred)) || control.hdr.cmsg_type != SCM_CREDS)
|
||||
{
|
||||
GError *err = NULL;
|
||||
|
||||
@@ -324,11 +312,12 @@ gibber_unix_transport_read (GibberFdTran
|
||||
else
|
||||
{
|
||||
GibberCredentials credentials;
|
||||
+ struct cmsgcred *cred;
|
||||
|
||||
- cred = (struct ucred *) CMSG_DATA (ch);
|
||||
- credentials.pid = cred->pid;
|
||||
- credentials.uid = cred->uid;
|
||||
- credentials.gid = cred->gid;
|
||||
+ cred = (struct cmsgcred *) CMSG_DATA (&control);
|
||||
+ credentials.pid = cred->cmcred_pid;
|
||||
+ credentials.uid = cred->cmcred_uid;
|
||||
+ credentials.gid = cred->cmcred_gid;
|
||||
|
||||
priv->recv_creds_cb (self, &buf, &credentials, NULL,
|
||||
priv->recv_creds_data);
|
@ -1,11 +0,0 @@
|
||||
--- lib/gibber/gibber-util.c.orig 2008-01-17 00:59:24.000000000 -0500
|
||||
+++ lib/gibber/gibber-util.c 2008-01-17 00:59:48.000000000 -0500
|
||||
@@ -18,6 +18,8 @@
|
||||
*/
|
||||
|
||||
|
||||
+#include <sys/types.h>
|
||||
+#include <sys/socket.h>
|
||||
#include <stdio.h>
|
||||
#include <unistd.h>
|
||||
#include <stdlib.h>
|
@ -1,10 +0,0 @@
|
||||
--- lib/gibber/gibber-util.h.orig 2008-01-17 00:57:54.000000000 -0500
|
||||
+++ lib/gibber/gibber-util.h 2008-01-17 00:58:06.000000000 -0500
|
||||
@@ -21,6 +21,7 @@
|
||||
#define __GIBBER_UTIL_H__
|
||||
|
||||
#include <netdb.h>
|
||||
+#include <netinet/in.h>
|
||||
|
||||
#include <glib.h>
|
||||
|
Loading…
Reference in New Issue
Block a user