- **Comment**:

Backwards compatibility protection is needed when support for long DNs
is introduced in parts of OpenSAF.

The IMM will provide a guard for this through a new environment variable
IMMA_LONG_DN. This variable is expected to have the value of either 1 or 0,
where 1 means that long DNs are allowed over the IMMA API using the handle;
and 0 means that long DNs are not allowed over the IMMA API using the handle. 

The environment variable is sampled at handle-initialize and tags
that handle for the rest of its lifetime. 

For the new SaStringT/SaConstStringT IMM API, the default for this
variable will be 1, i.e. long DNs are allowed by default.

For the old IMM APIs based on SaNameT, the default value will be 0,
i.e. long DNS are not allowed by default. But if set to 1, then
long DNs will be allowed over the old APIS via the SaNameT "tunneling"
fix (ticket #191).

If long DNs are not allowed then any case where a long DN is detected
in a down-call, either as an input value from the user or as a result
out value from the library, then the call will fail with 
SA_AIS_ERR_NAME_TOO_LONG.

If long DNs are not allowed then any case where a long DN from the
server destined for a callback is detected in the library, then the
callback will bounce back directly to the server (with no actual
callback to application made). The error code will depend on the 
callback but should be either SA_AIS_ERR_BAD_OPERATION or
SA_AIS_ERR_FAILED_OPERATION.

In addition, a new config attribute should be provided for the immsv
controlling whether or not long DNs are allowed for the site. 
If long DNs are not allowed for the site, then any attempt to create
an imm object with a long DN will be rejected. The config attribute
will by default be set to *not* allow long DNs. The config attribute
will of course only exist on systems running OpenSAF4.5 or higher. 




---

** [tickets:#643] IMM: API that replaces SaNameT with SaStringT and 
SA_IMM_ATTR_DN**

**Status:** review
**Milestone:** 4.5.FC
**Created:** Thu Nov 28, 2013 05:00 PM UTC by Anders Bjornerstedt
**Last Updated:** Fri Mar 14, 2014 10:17 AM UTC
**Owner:** Anders Bjornerstedt

The IMM service should provide an updated API where all use of the troublesome
SaNameT type is replaced by the SaStringT type or the SaConstStringT type #625.
Also needed is a new flag value for attribute definitions: SA_IMM_ATTR_DN. 

Defining an attribute in an IMM class definition on the SaStringT type and
also setting the flag SA_IMM_ATTR_DN, will mean that the attribute is intended
to hold a value that should be a DN. 

Other flags that make sense to also set on such an attribute definition where
applicable are:

    SA_IMM_ATTR_RDN if this is the RDN attribute. Just as having SaNameT the 
    type of an RDN attribute indicates that the class is an association class,
    having SaStringT and SA_IMM_ATTR_DN combined with SA_IMM_ATTR_RDN would 
    also indicate that this is an association class.

    SA_IMM_ATTR_NO_DANGLING. Currently (OpenSAF 4.4) will only be allowed 
    on attributes of type SaNameT, but will of course be allowed also on
    attributes of type SaStringT if the SA_IMM_ATTR_DN flag is also set. 

All the other flags may also be used in combination with SA_IMM_ATTR_DN, with
the normal meaning. 






---

Sent from sourceforge.net because opensaf-tickets@lists.sourceforge.net is 
subscribed to https://sourceforge.net/p/opensaf/tickets/

To unsubscribe from further messages, a project admin can change settings at 
https://sourceforge.net/p/opensaf/admin/tickets/options.  Or, if this is a 
mailing list, you can unsubscribe from the mailing list.
------------------------------------------------------------------------------
_______________________________________________
Opensaf-tickets mailing list
Opensaf-tickets@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-tickets

Reply via email to