diff --git a/ChangeLog b/ChangeLog
index 1be3109df..2916d7d8c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2009-12-01 Richard Frith-Macdonald
+
+ * Source/NSMessagePortNameServer.m: Tolerate '*' host name.
+ * Source/NSConnection.m: Clarify documentation slightly.
+
2009-11-27 Richard Frith-Macdonald
* Source/NSNotificationQueue.m: Rewrite queue handling to attempt to
diff --git a/Source/NSConnection.m b/Source/NSConnection.m
index 079c54e38..825fb3c50 100644
--- a/Source/NSConnection.m
+++ b/Source/NSConnection.m
@@ -505,10 +505,10 @@ static NSLock *cached_proxies_gate = nil;
*
*
* If host is nil
or an empty string,
- * the host is taken to be the local machine.
+ * the host is taken to be the local machine.
* If it is an asterisk ('*') then the nameserver checks all
* hosts on the local subnet (unless the nameserver is one
- * that only manages local ports).
+ * that only manages local ports).
* In the GNUstep implementation, the local host is searched before
* any other hosts.
*
diff --git a/Source/NSMessagePortNameServer.m b/Source/NSMessagePortNameServer.m
index bb9520dab..e06a6aa8c 100644
--- a/Source/NSMessagePortNameServer.m
+++ b/Source/NSMessagePortNameServer.m
@@ -323,13 +323,16 @@ static void clean_up_names(void)
if ([host length] > 0)
{
- [NSException raise: NSInvalidArgumentException
- format: @"Attempt to contact a named host using a "
+ NSLog(@"Attempt to contact a named host using a "
@"message port name server. This name server can only be used "
@"to contact processes owned by the same user on the local host "
- @"(host name must be an empty string). To contact processes "
+ @"(host name must be nil or an empty string). To contact processes "
@"owned by other users or on other hosts you must use an instance "
- @"of the NSSocketPortNameServer class."];
+ @"of the NSSocketPortNameServer class.");
+ if (NO == [host isEqualToString: @"*"])
+ {
+ return nil;
+ }
}
path = [[self class] _pathForName: name];