[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: The patch of glibc which allows the user to override the pfinet serv
From: |
zhengda |
Subject: |
Re: The patch of glibc which allows the user to override the pfinet server |
Date: |
Tue, 12 Aug 2008 20:05:49 +0200 |
User-agent: |
Thunderbird 2.0.0.16 (X11/20080707) |
The new patch of glibc to override the default socket server:
Needed for glibc-2_7-branch
2008-06-30 Zheng Da <zhengda1936@gmail.com>
* hurd/hurdsocks.c (_hurd_socket_server): Searches environment variables
for the socket server insteading of using the default one.
(SOCK_SERV_%d, SOCK_SERV): The environment variables that contains
the path of the socket server.
--- glibc-2.7-old/hurd/hurdsock.c 2008-06-21 01:38:30.660000000 +0200
+++ glibc-2.7/hurd/hurdsock.c 2008-08-11 03:33:38.690000000 +0200
@@ -45,7 +45,7 @@
socket_t
_hurd_socket_server (int domain, int dead)
{
- socket_t server;
+ socket_t server = MACH_PORT_NULL;
HURD_CRITICAL_BEGIN;
__mutex_lock (&lock);
@@ -76,16 +76,37 @@
if (domain > max_domain || servers[domain] == MACH_PORT_NULL)
{
- char name[sizeof (_SERVERS_SOCKET) + 100];
- char *np = &name[sizeof (name)];
- *--np = '\0';
- np = _itoa (domain, np, 10, 0);
- *--np = '/';
- np -= sizeof (_SERVERS_SOCKET) - 1;
- memcpy (np, _SERVERS_SOCKET, sizeof (_SERVERS_SOCKET) - 1);
- server = __file_name_lookup (np, 0, 0);
- if (domain <= max_domain)
- servers[domain] = server;
+ char *name = NULL;
+ char *np = NULL;
+
+ if (__asprintf (&name, "SOCK_SERV_%d", domain) > 0)
+ {
+ np = getenv (name);
+ __free (name);
+ }
+ name = NULL;
+
+ if (np == NULL)
+ {
+ char *sock_servs = NULL;
+
+ sock_servs = getenv ("SOCK_SERV");
+ if (sock_servs == NULL)
+ sock_servs = _SERVERS_SOCKET;
+ if (__asprintf (&name, "%s/%d", sock_servs, domain) > 0)
+ np = name;
+ else
+ name = NULL;
+ }
+
+ if (np)
+ {
+ server = __file_name_lookup (np, 0, 0);
+ if (domain <= max_domain)
+ servers[domain] = server;
+ }
+
+ free (name);
}
else
server = servers[domain];
- Re: The patch of glibc which allows the user to override the pfinet server, (continued)
- Re: The patch of glibc which allows the user to override the pfinet server, Samuel Thibault, 2008/08/09
- Re: The patch of glibc which allows the user to override the pfinet server, zhengda, 2008/08/10
- Re: The patch of glibc which allows the user to override the pfinet server, Samuel Thibault, 2008/08/10
- Re: The patch of glibc which allows the user to override the pfinet server, zhengda, 2008/08/10
- Re: The patch of glibc which allows the user to override the pfinet server, Samuel Thibault, 2008/08/10
- Re: The patch of glibc which allows the user to override the pfinet server, zhengda, 2008/08/10
- Re: The patch of glibc which allows the user to override the pfinet server, Samuel Thibault, 2008/08/10
- Re: The patch of glibc which allows the user to override the pfinet server, zhengda, 2008/08/10
- Re: The patch of glibc which allows the user to override the pfinet server, Samuel Thibault, 2008/08/12
- Re: The patch of glibc which allows the user to override the pfinet server, zhengda, 2008/08/12
- Re: The patch of glibc which allows the user to override the pfinet server,
zhengda <=
- Re: The patch of glibc which allows the user to override the pfinet server, olafBuddenhagen, 2008/08/13
- Re: The patch of glibc which allows the user to override the pfinet server, zhengda, 2008/08/13
- Re: The patch of glibc which allows the user to override the pfinet server, Neal H. Walfield, 2008/08/13
- Re: The patch of glibc which allows the user to override the pfinet server, zhengda, 2008/08/13
- Re: The patch of glibc which allows the user to override the pfinet server, Samuel Thibault, 2008/08/13
- Re: The patch of glibc which allows the user to override the pfinet server, olafBuddenhagen, 2008/08/14
- Re: The patch of glibc which allows the user to override the pfinet server, olafBuddenhagen, 2008/08/14
- Re: The patch of glibc which allows the user to override the pfinet server, zhengda, 2008/08/15
- Re: The patch of glibc which allows the user to override the pfinet server, Samuel Thibault, 2008/08/15
- Re: The patch of glibc which allows the user to override the pfinet server, zhengda, 2008/08/15