Examples of DhcpMessage


Examples of org.apache.directory.server.dhcp.messages.DhcpMessage

     * @return DhcpMessage
     */
    protected final DhcpMessage initGeneralReply( InetSocketAddress localAddress,
        DhcpMessage request )
    {
        DhcpMessage reply = new DhcpMessage();

        reply.setOp( DhcpMessage.OP_BOOTREPLY );

        reply.setHardwareAddress( request.getHardwareAddress() );
        reply.setTransactionId( request.getTransactionId() );
        reply.setFlags( request.getFlags() );
        reply.setRelayAgentAddress( request.getRelayAgentAddress() );

        // set server hostname
        reply.setServerHostname( localAddress.getHostName() );

        // set server identifier based on the IF on which we received the packet
        reply.getOptions().add( new ServerIdentifier( localAddress.getAddress() ) );

        return reply;
    }
View Full Code Here

Examples of org.apache.directory.server.dhcp.messages.DhcpMessage

            return null; // not me?! FIXME: handle authoritative server case
        }

        Lease lease = getExistingLease( clientAddress, request );

        DhcpMessage reply = initGeneralReply( localAddress, request );

        if ( null == lease )
        {
            // null lease? send NAK
            // FIXME...
            reply.setMessageType( MessageType.DHCPNAK );
            reply.setCurrentClientAddress( null );
            reply.setAssignedClientAddress( null );
            reply.setNextServerAddress( null );
        }
        else
        {
            dhcpStore.releaseLease( lease );

            // lease Ok, send ACK
            // FIXME...
            reply.getOptions().merge( lease.getOptions() );

            reply.setAssignedClientAddress( lease.getClientAddress() );
            reply.setNextServerAddress( lease.getNextServerAddress() );

            // fix options
            OptionsField options = reply.getOptions();

            // these options must not be present
            options.remove( RequestedIpAddress.class );
            options.remove( ParameterRequestList.class );
            options.remove( ClientIdentifier.class );
View Full Code Here

Examples of org.apache.directory.server.dhcp.messages.DhcpMessage

        if ( null == lease )
        {
            return null;
        }

        DhcpMessage reply = initGeneralReply( localAddress, request );

        reply.getOptions().merge( lease.getOptions() );

        reply.setMessageType( MessageType.DHCPOFFER );

        reply.setAssignedClientAddress( lease.getClientAddress() );
        reply.setNextServerAddress( lease.getNextServerAddress() );

        // fix options
        OptionsField options = reply.getOptions();

        // these options must not be present
        options.remove( RequestedIpAddress.class );
        options.remove( ParameterRequestList.class );
        options.remove( ClientIdentifier.class );
View Full Code Here

Examples of org.apache.directory.server.dhcp.messages.DhcpMessage

            return null; // not me?! FIXME: handle authoritative server case
        }

        Lease lease = getExistingLease( clientAddress, request );

        DhcpMessage reply = initGeneralReply( localAddress, request );

        if ( null == lease )
        {
            // null lease? send NAK
            reply.setMessageType( MessageType.DHCPNAK );
            reply.setCurrentClientAddress( null );
            reply.setAssignedClientAddress( null );
            reply.setNextServerAddress( null );
        }
        else
        {
            // lease Ok, send ACK
            reply.getOptions().merge( lease.getOptions() );

            reply.setAssignedClientAddress( lease.getClientAddress() );
            reply.setNextServerAddress( lease.getNextServerAddress() );

            // fix options
            OptionsField options = reply.getOptions();

            // these options must not be present
            options.remove( RequestedIpAddress.class );
            options.remove( ParameterRequestList.class );
            options.remove( ClientIdentifier.class );
View Full Code Here

Examples of org.apache.directory.server.dhcp.messages.DhcpMessage

        OptionsField options = decodeOptions( buffer );

        // message type option: may be null if option isn't set (BOOTP)
        DhcpMessageType mto = ( DhcpMessageType ) options.get( DhcpMessageType.class );

        return new DhcpMessage( null != mto ? mto.getType() : null, op, new HardwareAddress( htype, hlen, chaddr ),
            hops, xid, secs, flags, ciaddr, yiaddr, siaddr, giaddr, sname, file, options );
    }
View Full Code Here

Examples of org.apache.directory.server.dhcp.messages.DhcpMessage

        {
            logger.debug( "{} -> {} RCVD: {} " + message, session.getRemoteAddress(),
                session.getLocalAddress() );
        }

        final DhcpMessage request = ( DhcpMessage ) message;

        final DhcpMessage reply = dhcpService.getReplyFor(
            ( InetSocketAddress ) session.getServiceAddress(),
            ( InetSocketAddress ) session.getRemoteAddress(), request );

        if ( null != reply )
        {
View Full Code Here

Examples of org.apache.directory.server.dhcp.messages.DhcpMessage

            throws Exception {
        if (logger.isDebugEnabled())
            logger.debug("{} -> {} RCVD: {} " + message, session.getRemoteAddress(),
                    session.getLocalAddress());

        final DhcpMessage request = (DhcpMessage) message;

        final DhcpMessage reply = dhcpService.getReplyFor(
                (InetSocketAddress) session.getServiceAddress(),
                (InetSocketAddress) session.getRemoteAddress(), request);

        if (null != reply) {
            final InetSocketAddress isa = determineMessageDestination(request, reply);
View Full Code Here

Examples of org.apache.directory.server.dhcp.messages.DhcpMessage

    public void testParseDiscover() throws Exception
    {
        requestByteBuffer = getByteBufferFromFile( "DHCPDISCOVER.pdu" );

        DhcpMessageDecoder decoder = new DhcpMessageDecoder();
        DhcpMessage dhcpRequest = decoder.decode( requestByteBuffer );

        print( dhcpRequest );
    }
View Full Code Here

Examples of org.apache.directory.server.dhcp.messages.DhcpMessage

    public void testParseOffer() throws Exception
    {
        requestByteBuffer = getByteBufferFromFile( "DHCPOFFER.pdu" );

        DhcpMessageDecoder decoder = new DhcpMessageDecoder();
        DhcpMessage dhcpRequest = decoder.decode( requestByteBuffer );

        print( dhcpRequest );
    }
View Full Code Here

Examples of org.apache.directory.server.dhcp.messages.DhcpMessage

     * @param request
     * @return DhcpMessage
     */
    protected final DhcpMessage initGeneralReply(InetSocketAddress localAddress,
            DhcpMessage request) {
        final DhcpMessage reply = new DhcpMessage();

        reply.setOp(DhcpMessage.OP_BOOTREPLY);

        reply.setHardwareAddress(request.getHardwareAddress());
        reply.setTransactionId(request.getTransactionId());
        reply.setFlags(request.getFlags());
        reply.setRelayAgentAddress(request.getRelayAgentAddress());

        // set server hostname
        reply.setServerHostname(localAddress.getHostName());

        // set server identifier based on the IF on which we received the packet
        reply.getOptions().add(new ServerIdentifier(localAddress.getAddress()));

        return reply;
    }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.