Novell Client is unable to communicate with OpenSLP Directory Agent over SLPv2

  • 3890003
  • 14-Jan-2008
  • 26-Apr-2012

Environment

Novell Client for Windows 2000/XP/2003 4.91
Novell Client for Windows 2000/XP/2003 4.90 Support Pack 2
OpenSLP

Situation

Novell Client is unable to communicate with OpenSLP Directory Agent over SLPv2

Resolution

In updated SRVLOC.SYS v4.91.5.1 11JAN2008 and later, Novell Client is compatible with OpenSLP-based SLP DA by default without any policy settings required.
In updated SRVLOC.SYS v4.90.1.1 13DEC2004 and later, support for compatibility with OpenSLP-based SLP DA was made available but required an optional policy setting to enable.

Additional Information

Two problems were identified during testing the Novell Client for Windows 4.90 SP2 with an OpenSLP Directory Agent:

1. An SLPv2 DA service request should contain:"service:directory-agent" instead of just "directory-agent".
2. An SLPv2 service request should only have one equal between an attribute name and an attribute value in the where clause instead of two equals.
This issue was first addressed in SRVLOC.SYS v4.90.1.1 13DEC2004. In this and later versions of SRVLOC.SYS, the SLP DA service agent query URL was changed to "service:directory-agent" on SLPv2 queries. In addition, SRVLOC.SYS introduced a"Use SingleEquals in Where (V2)" policy to control whether SLPv2 queries would use the single equals or double equals syntax in the "where clause" (if present) in an SLPv2 query.
Starting in SRVLOC.SYS v4.90.1.1 13DEC2004, the default mode of this policy was to force use of a double equals even when using SLPv2. Even though a single equals is what is specified in the SLPv2 RFC, at the time the NetWare-based SLP DAs required a double equals even on SLPv2, and therefore this default was most suitable for predominantly NetWare-based SLP DA environments.
For network environments that were not using NetWare-based SLP DAs such as OpenSLP, the non-NetWare SLP DA could require that a single equals be used on SLPv2 because the SLP DA only recognizes the RFC-defined query format. To configure the SRVLOC.SYS v4.90.1.1 13DEC2004 and later Novell Client SLP User Agent to use the RFC-compliant SLPv2 query syntax, the following registry policy value could be created:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SRVLOC\Parameters]
"Use SingleEquals in Where (V2)"=dword:00000001
Starting with SRVLOC.SYS v4.91.5.1 11JAN2008 and later, the default of this policy has been changed such that the Novell Client for Windows' default behavior will be to generate RFC-compliant SLPv2 queries. This allows the Novell Client to successfully inter-operate by with OpenSLP-based SLP DA environments, but now allows for successful operation with most NetWare-based SLP DA environments too.
This is because on the NetWare platform, the SLP DA in NetWare 6.5 SP5 and later accepts either a single equals or a double equals in the SLPv2 query format. In addition, this updated SLPDA.NLM code is available for use on NetWare 6.0 and NetWare 5.1 platforms as part of the SLP213.EXE update package.
NetWare-based SLP DA network environments whichpreviously would have required use of the double equals query syntax even on SLPv2 can now be updated to operate with the same RFC-compliant syntax that OpenSLP-based DAs require.
If for any reason an administrator determines that they must use the SRVLOC.SYS v4.91.5.1 11JAN2008 or later Novell Client driver in an environment where the default of using an RFC-compliant SLPv2 query syntax will not be successful, the policy can be set to force the use of double equals on SLPv2 as follows:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SRVLOC\Parameters]
"Use SingleEquals in Where (V2)"=dword:00000000
This would only be necessary if, for example, the NetWare-based SLP DA was not already running NetWare 6.5 SP5 or later, and/or the NetWare 6.0 or 5.1 SLP DA could not be updated with the SLPDA.NLM updates available in SLP213.EXE or later updates.

Formerly known as TID# 10095884