mirror of
https://github.com/postgres/postgres.git
synced 2025-12-21 05:21:08 +03:00
Temporary fix for the problem that pg_stat_activity, inet_client_addr(),
and inet_server_addr() fail if the client connected over a "scoped" IPv6 address. In this case getnameinfo() will return a string ending with a poorly-standardized "%something" zone specifier, which these functions try to feed to network_in(), which won't take it. So that we don't lose functionality altogether, suppress the zone specifier before giving the string to network_in(). Per report from Brian Hirt. TODO: probably someday the inet type should support scoped IPv6 addresses, and then this patch should be reverted. Backpatch to 8.2 ... is it worth going further?
This commit is contained in:
@@ -7,7 +7,7 @@
|
||||
* Portions Copyright (c) 1996-2007, PostgreSQL Global Development Group
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $PostgreSQL: pgsql/src/include/utils/builtins.h,v 1.292 2007/05/08 18:56:48 neilc Exp $
|
||||
* $PostgreSQL: pgsql/src/include/utils/builtins.h,v 1.293 2007/05/17 23:31:49 tgl Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -797,6 +797,7 @@ extern Datum inetor(PG_FUNCTION_ARGS);
|
||||
extern Datum inetpl(PG_FUNCTION_ARGS);
|
||||
extern Datum inetmi_int8(PG_FUNCTION_ARGS);
|
||||
extern Datum inetmi(PG_FUNCTION_ARGS);
|
||||
extern void clean_ipv6_addr(int addr_family, char *addr);
|
||||
|
||||
/* mac.c */
|
||||
extern Datum macaddr_in(PG_FUNCTION_ARGS);
|
||||
|
||||
Reference in New Issue
Block a user