projects
/
free-sw
/
xcb
/
libxcb
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix do_append() arguments
[free-sw/xcb/libxcb]
/
src
/
xcb_auth.c
diff --git
a/src/xcb_auth.c
b/src/xcb_auth.c
index
4842d1d
..
58dfe3a
100644
(file)
--- a/
src/xcb_auth.c
+++ b/
src/xcb_auth.c
@@
-68,7
+68,7
@@
static size_t memdup(char **dst, void *src, size_t len)
return len;
}
return len;
}
-static int authname_match(enum auth_protos kind, char *name,
in
t namelen)
+static int authname_match(enum auth_protos kind, char *name,
size_
t namelen)
{
if(strlen(authnames[kind]) != namelen)
return 0;
{
if(strlen(authnames[kind]) != namelen)
return 0;
@@
-93,6
+93,7
@@
static Xauth *get_authptr(struct sockaddr *sockname, unsigned int socknamelen,
family = FamilyLocal; /* 256 */
switch(sockname->sa_family)
{
family = FamilyLocal; /* 256 */
switch(sockname->sa_family)
{
+#ifdef AF_INET6
case AF_INET6:
addr = (char *) SIN6_ADDR(sockname);
addrlen = sizeof(*SIN6_ADDR(sockname));
case AF_INET6:
addr = (char *) SIN6_ADDR(sockname);
addrlen = sizeof(*SIN6_ADDR(sockname));
@@
-104,6
+105,7
@@
static Xauth *get_authptr(struct sockaddr *sockname, unsigned int socknamelen,
}
addr += 12;
/* if v4-mapped, fall through. */
}
addr += 12;
/* if v4-mapped, fall through. */
+#endif
case AF_INET:
if(!addr)
addr = (char *) &((struct sockaddr_in *)sockname)->sin_addr;
case AF_INET:
if(!addr)
addr = (char *) &((struct sockaddr_in *)sockname)->sin_addr;
@@
-179,12
+181,13
@@
static int compute_auth(xcb_auth_info_t *info, Xauth *authptr, struct sockaddr *
APPEND(info->data, j, si->sin_port);
}
break;
APPEND(info->data, j, si->sin_port);
}
break;
+#ifdef AF_INET6
case AF_INET6:
/*block*/ {
struct sockaddr_in6 *si6 = (struct sockaddr_in6 *) sockname;
if(IN6_IS_ADDR_V4MAPPED(SIN6_ADDR(sockname)))
{
case AF_INET6:
/*block*/ {
struct sockaddr_in6 *si6 = (struct sockaddr_in6 *) sockname;
if(IN6_IS_ADDR_V4MAPPED(SIN6_ADDR(sockname)))
{
-
APPEND(info->data, j, si6->sin6_addr.s6_addr[12]
);
+
do_append(info->data, &j, &si6->sin6_addr.s6_addr[12], 4
);
APPEND(info->data, j, si6->sin6_port);
}
else
APPEND(info->data, j, si6->sin6_port);
}
else
@@
-192,17
+195,18
@@
static int compute_auth(xcb_auth_info_t *info, Xauth *authptr, struct sockaddr *
/* XDM-AUTHORIZATION-1 does not handle IPv6 correctly. Do the
same thing Xlib does: use all zeroes for the 4-byte address
and 2-byte port number. */
/* XDM-AUTHORIZATION-1 does not handle IPv6 correctly. Do the
same thing Xlib does: use all zeroes for the 4-byte address
and 2-byte port number. */
-
long
fakeaddr = 0;
-
shor
t fakeport = 0;
+
uint32_t
fakeaddr = 0;
+
uint16_
t fakeport = 0;
APPEND(info->data, j, fakeaddr);
APPEND(info->data, j, fakeport);
}
}
break;
APPEND(info->data, j, fakeaddr);
APPEND(info->data, j, fakeport);
}
}
break;
+#endif
case AF_UNIX:
/*block*/ {
case AF_UNIX:
/*block*/ {
-
long
fakeaddr = htonl(0xffffffff - next_nonce());
-
shor
t fakeport = htons(getpid());
+
uint32_t
fakeaddr = htonl(0xffffffff - next_nonce());
+
uint16_
t fakeport = htons(getpid());
APPEND(info->data, j, fakeaddr);
APPEND(info->data, j, fakeport);
}
APPEND(info->data, j, fakeaddr);
APPEND(info->data, j, fakeport);
}
@@
-212,9
+216,7
@@
static int compute_auth(xcb_auth_info_t *info, Xauth *authptr, struct sockaddr *
return 0; /* do not know how to build this */
}
{
return 0; /* do not know how to build this */
}
{
- long now;
- time(&now);
- now = htonl(now);
+ uint32_t now = htonl(time(0));
APPEND(info->data, j, now);
}
assert(j <= 192 / 8);
APPEND(info->data, j, now);
}
assert(j <= 192 / 8);