Merge branch 'master' of github.com:gnustep/libs-base into pointerfunctions

This commit is contained in:
Fred Kiefer 2023-08-19 17:47:55 +02:00
commit 460355aac6
4 changed files with 39 additions and 38 deletions

View file

@ -87,7 +87,7 @@
if ([host length] > 0)
{
[urlString appendString:
[host stringByAddingPercentEncodingWithAllowedCharacters: [NSCharacterSet URLHostAllowedCharacterSet]]];
[host stringByAddingPercentEscapesUsingEncoding: NSUTF8StringEncoding]];
}
if ([port intValue] > 0)
{

View file

@ -30,7 +30,7 @@
#import "GSNetwork.h"
typedef union {
struct sockaddr_storage s; /* Increased memory allocation for IPv6 addresses*/
struct sockaddr s;
struct sockaddr_in i4;
#ifdef AF_INET6
struct sockaddr_in6 i6;
@ -59,12 +59,12 @@ SOCKIVARS
/**
* get the sockaddr
*/
- (struct sockaddr_storage*) _address;
- (struct sockaddr*) _address;
/**
* set the sockaddr
*/
- (void) _setAddress: (struct sockaddr_storage*)address;
- (void) _setAddress: (struct sockaddr*)address;
/**
* setter for closing flag ... the remote end has stopped either sending
@ -116,8 +116,8 @@ SOCKIVARS
SOCKIVARS
@end
@interface GSSocketInputStream (AddedBehaviors)
- (struct sockaddr_storage*) _address;
- (void) _setAddress: (struct sockaddr_storage*)address;
- (struct sockaddr*) _address;
- (void) _setAddress: (struct sockaddr*)address;
- (NSInteger) _read: (uint8_t *)buffer maxLength: (NSUInteger)len;
- (void) _setClosing: (BOOL)passive;
- (void) _setHandler: (id)h;
@ -158,8 +158,8 @@ SOCKIVARS
SOCKIVARS
@end
@interface GSSocketOutputStream (AddedBehaviors)
- (struct sockaddr_storage*) _address;
- (void) _setAddress: (struct sockaddr_storage*)address;
- (struct sockaddr*) _address;
- (void) _setAddress: (struct sockaddr*)address;
- (void) _setClosing: (BOOL)passive;
- (void) _setHandler: (id)h;
- (void) _setPassive: (BOOL)passive;
@ -214,8 +214,8 @@ SOCKIVARS
@end
@interface GSSocketServerStream (AddedBehaviors)
- (struct sockaddr_storage*) _address;
- (void) _setAddress: (struct sockaddr_storage*)address;
- (struct sockaddr*) _address;
- (void) _setAddress: (struct sockaddr*)address;
- (void) _setClosing: (BOOL)passive;
- (void) _setHandler: (id)h;
- (void) _setPassive: (BOOL)passive;

View file

@ -943,7 +943,7 @@ static NSString * const GSSOCKSAckConn = @"GSSOCKSAckConn";
if (conf != nil)
{
GSSOCKS *h;
struct sockaddr_storage *sa = [i _address];
struct sockaddr *sa = [i _address];
NSString *v;
BOOL i6 = NO;
@ -958,15 +958,15 @@ static NSString * const GSSOCKSAckConn = @"GSSOCKSAckConn";
}
#if defined(AF_INET6)
if (sa->ss_family == AF_INET6)
if (sa->sa_family == AF_INET6)
{
i6 = YES;
}
else
#endif
if (sa->ss_family != AF_INET)
if (sa->sa_family != AF_INET)
{
GSOnceMLog(@"SOCKS not supported for socket type %d", sa->ss_family);
GSOnceMLog(@"SOCKS not supported for socket type %d", sa->sa_family);
return;
}
@ -1563,12 +1563,12 @@ setNonBlocking(SOCKET fd)
#endif
_sock = INVALID_SOCKET;
_handler = nil;
_address.s.ss_family = AF_UNSPEC;
_address.s.sa_family = AF_UNSPEC;
}
return self;
}
- (struct sockaddr_storage*) _address
- (struct sockaddr*) _address
{
return &_address.s;
}
@ -1577,7 +1577,7 @@ setNonBlocking(SOCKET fd)
{
id result = [super propertyForKey: key];
if (result == nil && _address.s.ss_family != AF_UNSPEC)
if (result == nil && _address.s.sa_family != AF_UNSPEC)
{
SOCKET s = [self _sock];
sockaddr_any sin;
@ -1693,7 +1693,7 @@ setNonBlocking(SOCKET fd)
}
else
{
[self _setAddress: (struct sockaddr_storage*)&peer];
[self _setAddress: (struct sockaddr*)&peer];
return YES;
}
}
@ -1715,7 +1715,7 @@ setNonBlocking(SOCKET fd)
else
{
strncpy(peer.sun_path, c_addr, sizeof(peer.sun_path)-1);
[self _setAddress: (struct sockaddr_storage*)&peer];
[self _setAddress: (struct sockaddr*)&peer];
return YES;
}
}
@ -1726,7 +1726,7 @@ setNonBlocking(SOCKET fd)
}
}
- (void) _setAddress: (struct sockaddr_storage*)address
- (void) _setAddress: (struct sockaddr*)address
{
memcpy(&_address.s, address, GSPrivateSockaddrLength(address));
}
@ -1831,7 +1831,7 @@ setNonBlocking(SOCKET fd)
{
[GSSOCKS tryInput: self output: _sibling];
}
s = socket(_address.s.ss_family, SOCK_STREAM, 0);
s = socket(_address.s.sa_family, SOCK_STREAM, 0);
if (BADSOCKET(s))
{
[self _recordError];
@ -1849,7 +1849,7 @@ setNonBlocking(SOCKET fd)
[GSTLSHandler tryInput: self output: _sibling];
}
result = connect([self _sock], (struct sockaddr*)&_address.s,
result = connect([self _sock], &_address.s,
GSPrivateSockaddrLength(&_address.s));
if (socketError(result))
{
@ -2352,7 +2352,7 @@ setNonBlocking(SOCKET fd)
{
[GSSOCKS tryInput: _sibling output: self];
}
s = socket(_address.s.ss_family, SOCK_STREAM, 0);
s = socket(_address.s.sa_family, SOCK_STREAM, 0);
if (BADSOCKET(s))
{
[self _recordError];
@ -2370,7 +2370,7 @@ setNonBlocking(SOCKET fd)
[GSTLSHandler tryInput: _sibling output: self];
}
result = connect([self _sock], (struct sockaddr*)&_address.s,
result = connect([self _sock], &_address.s,
GSPrivateSockaddrLength(&_address.s));
if (socketError(result))
{
@ -2756,7 +2756,7 @@ setNonBlocking(SOCKET fd)
return;
}
s = socket(_address.s.ss_family, SOCK_STREAM, 0);
s = socket(_address.s.sa_family, SOCK_STREAM, 0);
if (BADSOCKET(s))
{
[self _recordError];
@ -2769,9 +2769,9 @@ setNonBlocking(SOCKET fd)
}
#ifndef BROKEN_SO_REUSEADDR
if (_address.s.ss_family == AF_INET
if (_address.s.sa_family == AF_INET
#ifdef AF_INET6
|| _address.s.ss_family == AF_INET6
|| _address.s.sa_family == AF_INET6
#endif
)
{
@ -2792,7 +2792,7 @@ setNonBlocking(SOCKET fd)
#endif
bindReturn = bind([self _sock],
(struct sockaddr*)&_address.s, GSPrivateSockaddrLength(&_address.s));
&_address.s, GSPrivateSockaddrLength(&_address.s));
if (socketError(bindReturn))
{
[self _recordError];
@ -2854,11 +2854,11 @@ setNonBlocking(SOCKET fd)
struct {
uint8_t bytes[BUFSIZ];
} __attribute__((aligned(2)))buf;
struct sockaddr_storage *addr = (struct sockaddr_storage*)&buf;
struct sockaddr *addr = (struct sockaddr*)&buf;
socklen_t len = sizeof(buf);
int acceptReturn;
acceptReturn = accept([self _sock], (struct sockaddr*)addr, (OPTLEN*)&len);
acceptReturn = accept([self _sock], addr, (OPTLEN*)&len);
_events &= ~NSStreamEventHasBytesAvailable;
if (socketError(acceptReturn))
{ // test for real error

View file

@ -951,14 +951,15 @@
initToAddr: address port: port]);
sock = socket(PF_INET, SOCK_STREAM, 0);
//IPv6
if(!ins)
{
#if defined(AF_INET6)
ins = (GSSocketStream*)AUTORELEASE([[GSInet6InputStream alloc] initToAddr: address port: port]);
outs = (GSSocketStream*)AUTORELEASE([[GSInet6OutputStream alloc] initToAddr: address port: port]);
#endif
}
if (!ins)
{
#if defined(PF_INET6)
ins = AUTORELEASE([[GSInet6InputStream alloc]
initToAddr: address port: port]);
outs = AUTORELEASE([[GSInet6OutputStream alloc]
initToAddr: address port: port]);
#endif
}
/*
* Windows only permits a single event to be associated with a socket