Overview | Package | Class | Tree | Deprecated | Index | Help
| Openfire 3.7.1 Javadoc
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.jivesoftware.openfire.handler
Class IQRegisterHandler

    java.lang.Object
      org.jivesoftware.openfire.container.BasicModule
          org.jivesoftware.openfire.handler.IQHandler
              org.jivesoftware.openfire.handler.IQRegisterHandler

All Implemented Interfaces:
  ChannelHandler, Module, ServerFeaturesProvider

    public class IQRegisterHandler

extends IQHandler
implements ServerFeaturesProvider

Implements the TYPE_IQ jabber:iq:register protocol (plain only). Clients use this protocol to register a user account with the server. A 'get' query runs a register probe to obtain the fields needed for registration. Return the registration form. A 'set' query attempts to create a new user account with information given in the registration form.

## Assumptions

This handler assumes that the request is addressed to the server. An appropriate TYPE_IQ tag matcher should be placed in front of this one to route TYPE_IQ requests not addressed to the server to another channel (probably for direct delivery to the recipient).

## Compatibility

The current behavior is designed to emulate jabberd1.4. However this behavior differs significantly from JEP-0078 (non-SASL registration). In particular, authentication (IQ-Auth) must return an error when a user request is made to an account that doesn't exist to trigger auto-registration (JEP-0078 explicitly recommends against this practice to prevent hackers from probing for legitimate accounts).

Author:
  Iain Shigeoka

Field Summary

Fields inherited from class org.jivesoftware.openfire.handler.IQHandler
`deliverer, sessionManager`

Constructor Summary
`IQRegisterHandler()` Basic constructor does nothing.

Method Summary
`boolean` | `canChangePassword()`
`Iterator<String>` | `getFeatures()` Returns an Iterator (of String) with the supported features by the server.
`IQHandlerInfo` | `getInfo()` Returns the handler information to help generically handle IQ packets.
`org.xmpp.packet.IQ` | `handleIQ(org.xmpp.packet.IQ packet)` Handles the received IQ packet.
`void` | `initialize(XMPPServer server)` Initializes the basic module.
`boolean` | `isInbandRegEnabled()`
`void` | `setCanChangePassword(boolean allowed)`
`void` | `setInbandRegEnabled(boolean allowed)`

Methods inherited from class org.jivesoftware.openfire.handler.IQHandler
`process`

Methods inherited from class org.jivesoftware.openfire.container.BasicModule
`destroy, getName, start, stop`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### IQRegisterHandler

    public IQRegisterHandler()

  Basic constructor does nothing.

Method Detail

### initialize

    public void initialize(XMPPServer server)

  Description copied from class: `BasicModule`

  Initializes the basic module.

  Inheriting classes that choose to override this method MUST call this initialize() method before accessing BasicModule resources.

  Specified by:
    `initialize` in interface `Module`
  Overrides:
    `initialize` in class `IQHandler`
  Parameters:
    `server` - the server hosting this module.

### handleIQ

    public org.xmpp.packet.IQ handleIQ(org.xmpp.packet.IQ packet)
                                throws PacketException,
                                       UnauthorizedException

  Description copied from class: `IQHandler`
  Handles the received IQ packet.

  Specified by:
    `handleIQ` in class `IQHandler`
  Parameters:
    `packet` - the IQ packet to handle.
  Returns:
    the response to send back.
  Throws:
    `UnauthorizedException` - if the user that sent the packet is not authorized to request the given operation.
    `PacketException`

### isInbandRegEnabled

    public boolean isInbandRegEnabled()

### setInbandRegEnabled

    public void setInbandRegEnabled(boolean allowed)

### canChangePassword

    public boolean canChangePassword()

### setCanChangePassword

    public void setCanChangePassword(boolean allowed)

### getInfo

    public IQHandlerInfo getInfo()

  Description copied from class: `IQHandler`
  Returns the handler information to help generically handle IQ packets. IQHandlers that aren't local server iq handlers (e.g. chatbots, transports, etc) return `null`.

  Specified by:
    `getInfo` in class `IQHandler`
  Returns:
    The IQHandlerInfo for this handler

### getFeatures

    public Iterator<String> getFeatures()

  Description copied from interface: `ServerFeaturesProvider`
  Returns an Iterator (of String) with the supported features by the server. The features to include are the features offered and supported protocols by the SERVER. The idea is that different modules may provide their features that will ultimately be part of the features offered by the server.

  Specified by:
    `getFeatures` in interface `ServerFeaturesProvider`
  Returns:
    an Iterator (of String) with the supported features by the server.

Overview | Package | Class | Tree | Deprecated | Index | Help
| Openfire 3.7.1 Javadoc
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2003-2008 Jive Software.