|
@@ -431,7 +431,6 @@ int BConnection_AddressSupported (BAddr addr)
|
|
|
int BListener_Init (BListener *o, BAddr addr, BReactor *reactor, void *user,
|
|
int BListener_Init (BListener *o, BAddr addr, BReactor *reactor, void *user,
|
|
|
BListener_handler handler)
|
|
BListener_handler handler)
|
|
|
{
|
|
{
|
|
|
- ASSERT(BConnection_AddressSupported(addr))
|
|
|
|
|
ASSERT(handler)
|
|
ASSERT(handler)
|
|
|
BNetwork_Assert();
|
|
BNetwork_Assert();
|
|
|
|
|
|
|
@@ -440,6 +439,12 @@ int BListener_Init (BListener *o, BAddr addr, BReactor *reactor, void *user,
|
|
|
o->user = user;
|
|
o->user = user;
|
|
|
o->handler = handler;
|
|
o->handler = handler;
|
|
|
|
|
|
|
|
|
|
+ // check address
|
|
|
|
|
+ if (!BConnection_AddressSupported(addr)) {
|
|
|
|
|
+ BLog(BLOG_ERROR, "address not supported");
|
|
|
|
|
+ goto fail0;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
// convert address
|
|
// convert address
|
|
|
struct sys_addr sysaddr;
|
|
struct sys_addr sysaddr;
|
|
|
addr_socket_to_sys(&sysaddr, addr);
|
|
addr_socket_to_sys(&sysaddr, addr);
|
|
@@ -580,7 +585,6 @@ void BListener_Free (BListener *o)
|
|
|
int BConnector_Init (BConnector *o, BAddr addr, BReactor *reactor, void *user,
|
|
int BConnector_Init (BConnector *o, BAddr addr, BReactor *reactor, void *user,
|
|
|
BConnector_handler handler)
|
|
BConnector_handler handler)
|
|
|
{
|
|
{
|
|
|
- ASSERT(BConnection_AddressSupported(addr))
|
|
|
|
|
ASSERT(handler)
|
|
ASSERT(handler)
|
|
|
BNetwork_Assert();
|
|
BNetwork_Assert();
|
|
|
|
|
|
|
@@ -589,6 +593,12 @@ int BConnector_Init (BConnector *o, BAddr addr, BReactor *reactor, void *user,
|
|
|
o->user = user;
|
|
o->user = user;
|
|
|
o->handler = handler;
|
|
o->handler = handler;
|
|
|
|
|
|
|
|
|
|
+ // check address
|
|
|
|
|
+ if (!BConnection_AddressSupported(addr)) {
|
|
|
|
|
+ BLog(BLOG_ERROR, "address not supported");
|
|
|
|
|
+ goto fail0;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
// convert address
|
|
// convert address
|
|
|
struct sys_addr sysaddr;
|
|
struct sys_addr sysaddr;
|
|
|
addr_socket_to_sys(&sysaddr, addr);
|
|
addr_socket_to_sys(&sysaddr, addr);
|
|
@@ -649,6 +659,7 @@ fail2:
|
|
|
}
|
|
}
|
|
|
fail1:
|
|
fail1:
|
|
|
BPending_Free(&o->job);
|
|
BPending_Free(&o->job);
|
|
|
|
|
+fail0:
|
|
|
return 0;
|
|
return 0;
|
|
|
}
|
|
}
|
|
|
|
|
|