Package org.apache.mina.filter.firewall
Class BlacklistFilter
- java.lang.Object
-
- org.apache.mina.core.filterchain.IoFilterAdapter
-
- org.apache.mina.filter.firewall.BlacklistFilter
-
- All Implemented Interfaces:
IoFilter
public class BlacklistFilter extends IoFilterAdapter
AIoFilterwhich blocks connections from blacklisted remote address.- Author:
- Apache MINA Project
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.apache.mina.core.filterchain.IoFilter
IoFilter.NextFilter
-
-
Constructor Summary
Constructors Constructor Description BlacklistFilter()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidblock(InetAddress address)Blocks the specified endpoint.voidblock(Subnet subnet)Blocks the specified subnet.voidevent(IoFilter.NextFilter nextFilter, IoSession session, FilterEvent event)Propagate an event up to theIoHandlervoidmessageReceived(IoFilter.NextFilter nextFilter, IoSession session, Object message)FiltersIoHandler.messageReceived(IoSession,Object)event.voidmessageSent(IoFilter.NextFilter nextFilter, IoSession session, WriteRequest writeRequest)FiltersIoHandler.messageSent(IoSession,Object)event.voidsessionCreated(IoFilter.NextFilter nextFilter, IoSession session)FiltersIoHandler.sessionCreated(IoSession)event.voidsessionIdle(IoFilter.NextFilter nextFilter, IoSession session, IdleStatus status)FiltersIoHandler.sessionIdle(IoSession,IdleStatus)event.voidsessionOpened(IoFilter.NextFilter nextFilter, IoSession session)FiltersIoHandler.sessionOpened(IoSession)event.voidsetBlacklist(Iterable<InetAddress> addresses)Sets the addresses to be blacklisted.voidsetBlacklist(InetAddress[] addresses)Sets the addresses to be blacklisted.voidsetSubnetBlacklist(Iterable<Subnet> subnets)Sets the subnets to be blacklisted.voidsetSubnetBlacklist(Subnet[] subnets)Sets the subnets to be blacklisted.voidunblock(InetAddress address)Unblocks the specified endpoint.voidunblock(Subnet subnet)Unblocks the specified subnet.-
Methods inherited from class org.apache.mina.core.filterchain.IoFilterAdapter
destroy, exceptionCaught, filterClose, filterWrite, init, inputClosed, onPostAdd, onPostRemove, onPreAdd, onPreRemove, sessionClosed, toString
-
-
-
-
Method Detail
-
setBlacklist
public void setBlacklist(InetAddress[] addresses)
Sets the addresses to be blacklisted. NOTE: this call will remove any previously blacklisted addresses.- Parameters:
addresses- an array of addresses to be blacklisted.
-
setSubnetBlacklist
public void setSubnetBlacklist(Subnet[] subnets)
Sets the subnets to be blacklisted. NOTE: this call will remove any previously blacklisted subnets.- Parameters:
subnets- an array of subnets to be blacklisted.
-
setBlacklist
public void setBlacklist(Iterable<InetAddress> addresses)
Sets the addresses to be blacklisted. NOTE: this call will remove any previously blacklisted addresses.- Parameters:
addresses- a collection of InetAddress objects representing the addresses to be blacklisted.- Throws:
IllegalArgumentException- if the specified collections contains non-InetAddressobjects.
-
setSubnetBlacklist
public void setSubnetBlacklist(Iterable<Subnet> subnets)
Sets the subnets to be blacklisted. NOTE: this call will remove any previously blacklisted subnets.- Parameters:
subnets- an array of subnets to be blacklisted.
-
block
public void block(InetAddress address)
Blocks the specified endpoint.- Parameters:
address- The address to block
-
block
public void block(Subnet subnet)
Blocks the specified subnet.- Parameters:
subnet- The subnet to block
-
unblock
public void unblock(InetAddress address)
Unblocks the specified endpoint.- Parameters:
address- The address to unblock
-
unblock
public void unblock(Subnet subnet)
Unblocks the specified subnet.- Parameters:
subnet- The subnet to unblock
-
event
public void event(IoFilter.NextFilter nextFilter, IoSession session, FilterEvent event) throws Exception
Propagate an event up to theIoHandler- Specified by:
eventin interfaceIoFilter- Overrides:
eventin classIoFilterAdapter- Parameters:
nextFilter- theIoFilter.NextFilterfor this filter. You can reuse this object until this filter is removed from the chain.session- TheIoSessionwhich has to process this invocationevent- The event to propagate- Throws:
Exception- If an error occurred while processing the event
-
sessionCreated
public void sessionCreated(IoFilter.NextFilter nextFilter, IoSession session)
FiltersIoHandler.sessionCreated(IoSession)event.- Specified by:
sessionCreatedin interfaceIoFilter- Overrides:
sessionCreatedin classIoFilterAdapter- Parameters:
nextFilter- theIoFilter.NextFilterfor this filter. You can reuse this object until this filter is removed from the chain.session- TheIoSessionwhich has received this event
-
sessionOpened
public void sessionOpened(IoFilter.NextFilter nextFilter, IoSession session) throws Exception
FiltersIoHandler.sessionOpened(IoSession)event.- Specified by:
sessionOpenedin interfaceIoFilter- Overrides:
sessionOpenedin classIoFilterAdapter- Parameters:
nextFilter- theIoFilter.NextFilterfor this filter. You can reuse this object until this filter is removed from the chain.session- TheIoSessionwhich has received this event- Throws:
Exception- If an error occurred while processing the event
-
sessionIdle
public void sessionIdle(IoFilter.NextFilter nextFilter, IoSession session, IdleStatus status) throws Exception
FiltersIoHandler.sessionIdle(IoSession,IdleStatus)event.- Specified by:
sessionIdlein interfaceIoFilter- Overrides:
sessionIdlein classIoFilterAdapter- Parameters:
nextFilter- theIoFilter.NextFilterfor this filter. You can reuse this object until this filter is removed from the chain.session- TheIoSessionwhich has received this eventstatus- TheIdleStatustype- Throws:
Exception- If an error occurred while processing the event
-
messageReceived
public void messageReceived(IoFilter.NextFilter nextFilter, IoSession session, Object message)
FiltersIoHandler.messageReceived(IoSession,Object)event.- Specified by:
messageReceivedin interfaceIoFilter- Overrides:
messageReceivedin classIoFilterAdapter- Parameters:
nextFilter- theIoFilter.NextFilterfor this filter. You can reuse this object until this filter is removed from the chain.session- TheIoSessionwhich has received this eventmessage- The received message
-
messageSent
public void messageSent(IoFilter.NextFilter nextFilter, IoSession session, WriteRequest writeRequest) throws Exception
FiltersIoHandler.messageSent(IoSession,Object)event.- Specified by:
messageSentin interfaceIoFilter- Overrides:
messageSentin classIoFilterAdapter- Parameters:
nextFilter- theIoFilter.NextFilterfor this filter. You can reuse this object until this filter is removed from the chain.session- TheIoSessionwhich has received this eventwriteRequest- TheWriteRequestthat contains the sent message- Throws:
Exception- If an error occurred while processing the event
-
-