Microsoft KB Archive/322733

= Windows Services for UNIX 3.0 Readme.txt File =

Article ID: 322733

Article Last Modified on 10/31/2006



This article was previously published under Q322733



SUMMARY
This article contains a copy of the information from the Readme.txt file that is included with Windows Services for UNIX version 3.0.



MORE INFORMATION
********************************************************************** Microsoft(R) Windows(R) Services for UNIX 3.0 Release Notes May 2002 (c) Microsoft Corporation, 2001. All rights reserved.

Read the following important information before you install and use Microsoft Windows Services for UNIX version 3.0

=
========================================================= ABOUT THIS RELEASE

=
========================================================= Microsoft Windows Services for UNIX version 3.0 combines the powerful connectivity services of Windows Services for UNIX version 2.0 with the UNIX-compatibility features of Microsoft Interix. For information about features and utilities added to the Interix subsystem since Microsoft Interix version 2.2, see the section titled NEW FEATURES IN THE INTERIX SUBSYSTEM later in this document.

=
========================================================= FOR MORE TECHNICAL INFORMATION

=
=========================================================

For more information about Windows Services for UNIX, please refer to the white papers and technical information on http://www.microsoft.com/windows/sfu.

=
========================================================= COMPONENT PRODUCTS AND LICENSE AGREEMENTS

=
=========================================================

Windows Services for UNIX includes certain components licensed to Microsoft from third parties (each, a &quot;Component Product&quot;). A Component Product can contain its own license agreement, copyright notice, or both (each, a &quot;Component Agreement&quot;). The Component Agreements are located on the Product media in cpyright.txt, gpl.txt and lgpl.txt in the Docs folder. The end-user license agreement (EULA) for Windows Services for UNIX can be found on the Windows Services for UNIX CD-ROM in Eula.doc located in the Docs folder. If there are inconsistencies between this EULA and any Component Agreement, the terms of the Component Agreement shall control solely with respect to that Component Product.

Links in Windows Services for UNIX Help to the EULA do not actually display the contents of the EULA. To read the EULA, open Eula.doc in the Docs folder on the Windows Services for UNIX CD-ROM.

=
========================================================= CONTENTS

=
=========================================================

1.  SPECIAL REQUIREMENTS AND ALERTS 2.  INSTALLING AND UNINSTALLING WINDOWS SERVICES FOR UNIX 3.  SERVER FOR NFS 4.  PASSWORD SYNCHRONIZATION 5.  SERVER FOR NIS 6.  TELNET 7.  USER NAME MAPPING 8.  ADMINISTERING WINDOWS SERVICES FOR UNIX 9.  MKS UTILITIES 10. NEW FEATURES IN THE INTERIX SUBSYSTEM 11. KNOWN ISSUES AND LIMITATIONS 12. DEPRECATED FEATURES

=
========================================================= SPECIAL REQUIREMENTS AND ALERTS

=
=========================================================

Windows XP Professional, Windows 2000, or Windows NT 4.0 with Service Pack 6a or later. If you have an earlier version of  Windows NT, you must upgrade your system before you install Windows Services for UNIX.
 * You can install Windows Services for UNIX on computers running

later and Active Directory Client Extension (DSClient) for Windows NT 4.0. For information on installing DSClient, see: http://www.microsoft.com/technet/archive/ntwrkstn/downloads/utils/dsclient.mspx Terminal Server Edition (TSE) platform; hence, this release of  Windows Services for UNIX is not supported on Windows NT 4.0 Terminal Server Edition (TSE).
 * Windows NT 4.0 Workstation and Server require Service Pack 6a or
 * Active Directory Client Extension is not supported on Windows NT 4.0

include a space in any part of the path. If you do install this software in a directory that has a space in its name, some shortcuts will not work correctly. In addition, you might experience problems with Network File System (NFS), some UNIX utilities, and scripts.
 * Be sure to install this software in a directory that does not

or later. If you have an earlier version of Internet Explorer, you must upgrade before you install Windows Services for UNIX. Internet Explorer version 6.0 or later is strongly recommended if  you intend to run the NIS Server Migration Wizard.
 * Windows Services for UNIX requires Microsoft Internet Explorer 5.0

computer, you must remove it before installing the version of  Telnet Server provided with Microsoft Windows Services for UNIX.
 * If you already have a non-Microsoft Telnet server installed on your

computer names, domain names, host names, share names, and user names, except in User Name Mapping, where DBCS characters are allowed in user names. DBCS is the character set used for languages such as Japanese, Korean, and Chinese.
 * Double-byte character set (DBCS) characters are not supported in

Windows Services for UNIX version 3.0, files required for the proper functioning of the Interix subsystem might be replaced by  Windows 2000 Setup. If this occurs, after upgrading to Windows 2000, run \setup\psxreins.exe from the Windows Services for UNIX installation CD-ROM to restore these files.
 * If you upgrade your computer to Windows 2000 after installing

is saved in the %SFUDIR% environment variable. Many utilities are installed in the %SFUDIR%\common directory. Note that the path name %SFUDIR%\common is appended to the end of %PATH% environment variable. This means that utilities in the %SFUDIR%\common directory will be executed only if a utility with the same name is not found in any other directory prior to this directory in the %PATH% environment variable. For instance, the find.exe provided by Windows Services for UNIX will probably not be executed because there exists the %WINDIR%\system32\find.exe utility, and %WINDIR%\system32 precedes %SFUDIR\common in the %PATH% environment variable. To run a specific version of a utility when multiple versions exist in the directories specified in the %PATH% environment variable, supply the path of the utility on the command line. For example, to run the Windows Services for UNIX version of find.exe, at a command prompt, type %SFUDIR%\common\find.exe followed by the command's options and arguments.
 * The path to the installation directory of Windows Services for UNIX

=
========================================================= INSTALLING AND UNINSTALLING WINDOWS SERVICES FOR UNIX

=
=========================================================

You can install Windows Services for UNIX from Windows or from a command line. For more information, see install.htm in the root directory of the product CD-ROM.

-- Before You Install --

member of the Schema Admins group. This will ensure that Windows Services for UNIX Setup can modify the Active Directory schema with Network Information Service (NIS)-specific information. Otherwise, the schema upgrade will fail.
 * Before you install Server for NIS, make sure you are logged on as a

For a single-domain enterprise, the domain administrator is a member of the Schema Admins group. For a domain tree, only the root-level domain administrator will be the member of the Schema Admins group. -- Upgrading from Earlier Versions of Windows Services for UNIX or Interix --

Microsoft Windows Services for UNIX version 2.0 or  Microsoft Interix 2.2. You cannot upgrade from earlier versions of  either product. You must uninstall earlier versions of these products before installing Windows Services for UNIX version 3.0.
 * You can upgrade to Microsoft Windows Services for UNIX 3.0 from

and are attempting to upgrade to Windows Services for UNIX 3.0 you should use the Express Upgrade option. There is a known issue that will prevent you from performing a Custom Upgrade in this scenario. This happens because Telnet components are updated during the Windows Operating System upgrade.
 * If you have upgraded an earlier version of Windows to Windows XP

passwords for the Cron and Remote Shell services. Consequently, if you install Windows Services for UNIX 3.0 as an upgrade to a previous version, Cron and Remote Shell users must reenter their passwords for these services using the crontab -p command or the rshpswd command.
 * Windows Services for UNIX 3.0 uses a different method for storing

-- Installing Windows Services for UNIX on Windows NT 4.0 Domain Controllers --

To ensure consistent synchronization of domain passwords with UNIX passwords, you must install Password Synchronization only on the primary domain controller in a Windows NT 4.0 domain. In a Windows 2000 (Active Directory) domain, you must install Password Synchronization on all domain controllers.

For further details see the &quot;Best Practices&quot; section for Password Synchronization in Windows Services for UNIX Help.

-- Restoring Telnet After Uninstalling Windows Services for UNIX --

When you uninstall Windows Services for UNIX from a computer running Windows 2000, Setup attempts to restore the original Windows 2000 Telnet files. If it is unsuccessful, an error results. In that case, restore the Telnet files from the Windows 2000 CD-ROM.

For example, here are the commands you would use to restore the required files if C:\WINNT is the system folder and D: is the drive containing the Windows 2000 installation CD-ROM:

C:\>copy D:\I386\telnet.exe C:\WINNT\SYSTEM32 C:\>expand -r D:\I386\tlntsvr.ex_ C:\WINNT\SYSTEM32 C:\>expand -r D:\I386\tlntsvrp.dl_ C:\WINNT\SYSTEM32 C:\>expand -r D:\I386\tlntsess.ex_ C:\WINNT\SYSTEM32

-- Installing the Windows Services for UNIX Version of Telnet on Windows XP --

Windows XP Professional features a Telnet client and a Telnet server that are nearly identical to the version provided by Windows Services for UNIX. For this reason, Windows Services for UNIX Setup does not install Windows Services for UNIX Telnet Client or Telnet Server on computers running Windows XP Professional. You can use Services for UNIX Administration to manage the Windows XP Telnet server, however.

If you want to install the Windows Services for UNIX Telnet Client and Telnet Server on a computer running Windows XP, insert the Windows Services for UNIX CD-ROM in the CD-ROM drive and then, at a command prompt, type:

net stop telnet cd /d %windir%\system32 .\tlntsvr /unregserver mkdir  copy :\telnet  cd /d  .\tlntsvr /service net start telnet where  is the fully qualified path of the directory where you want the Telnet program files to be placed and  is the letter of the CD-ROM drive.

-- Installing UNIX Perl as part of a Custom Installation --

If you select UNIX Perl while performing a Custom installation, you must also select GNU Utilities. If you do not install GNU utilities, UNIX Perl will fail because it cannot find a required shared library. UNIX Perl and GNU Utilities are both installed if you perform a Standard installation.

-- Windows Installer Starts Up When Using Windows Services for UNIX -- When using the product on some computers, Windows Installer might start in order to configure some components. You will be asked to insert the product CD-ROM or enter the path of the network share from where the product was installed. In all of these cases, insert the CD or enter the path of the network share and let Windows Installer complete the installation.

-- Install on First Option Appears in Maintenance Wizard -- In unusual circumstances, the Install on First Use option can appear for some components in the Windows Services for UNIX Maintenance Wizard. No components can be installed in this fashion. To install the component, click the component name and select Will Be Installed on the Hard Drive. Otherwise, click the component name and select Entire Feature Will Not Be Available.

-- Uninstall Fails with &quot;Insufficient privileges to access file...&quot; error -- When you attempt to uninstall Windows Services for UNIX after changing the permissions that protect certain files installed as part of Windows Services for UNIX, Setup might fail. If this happens, run the fixperms.exe utility located in the \setup folder on the Windows Services for UNIX CD-ROM, and then rerun Setup to uninstall Windows Services for UNIX.

=
========================================================= SERVER FOR NFS

=
=========================================================

group identifier (GID) has been changed to -2 from -1. The default value of the anonymous user identifier (UID) is unchanged since the last release; that is, it is still -2.
 * Starting with this release, the default value of the anonymous

on disk, or to both. If you choose to log Server for NFS events in the event log, note that the string corresponding to the file name could be truncated because of a system limitation. A work- around for this problem is to log the events to a file.
 * Server for NFS events can be logged in the event log, or to a file

On a cluster, logging in the event log is recommended because of event log replication across nodes in the cluster. In this scenario, logging to a file in addition to the event log can help associate

complete file names with a particular log entry.

whether inherited access control entries (ACEs) should apply to  newly created files/directories over NFS.
 * Server for NFS gives administrators the ability to configure

This is controlled by the value of the following registry entry:

HKLM\Software\Microsoft\Server for NFS\CurrentVersion\ Mapping\KeepInheritance

This registry value is 0 by default, which means that newly created files and directories on NFS shares will not inherit ACEs from their parent directory. For example, if an administrator wants to be able to read and write every file and directory created in a hierarchy, the administrator should set this value to 1 and set an inheritable read/write ACE at the root of the hierarchy.

Note: * Setting this value to 1 might affect how the permissions will be    mapped to UNIX permission mode bits because of the additional inherited ACEs.

* This feature is somewhat similar to the functionality provided by    the AugmentDACL registry setting in Windows Services for UNIX 2.0; however, these two features are not exactly the same. The AugmentDACL key is deprecated in this release.

=
========================================================= PASSWORD SYNCHRONIZATION

=
=========================================================

-- Minimum encryption key length increased to 16 --

Starting with this release, the minimum length of the key used to encrypt passwords is 16 characters. If you are upgrading an earlier version of Password Synchronization to version 3.0 and were using a shorter encryption key, Password Synchronization will no longer work after the upgrade. You must change the encryption key to be 16 characters or longer on both the Windows computer and on UNIX hosts.

=
========================================================= SERVER FOR NIS

=
=========================================================

-- Server for NIS Does Not Support YPXFRD -- Server for NIS does not support YPXFRD, which might cause some UNIX subordinate (slave) Network Information Service (NIS) servers to display warning messages. The warning messages originate in YPINIT and do not indicate errors. Some UNIX subordinate NIS servers use YPXFRD running on the master NIS server to replicate NIS maps. If they fail to connect to YPXFRD, they obtain copies of NIS maps using yp_all.

-- Upgrading Version 2.0 and Netgroup Data -- Windows Services for UNIX Setup upgrades the Active Directory schema when you upgrade version 2.0 to version 3.0. Netgroup map data is not preserved in the updated schema, however. After upgrading Server for NIS to version 3.0, you must use the NIS Server Migration Wizard to migrate the netgroup map data from the map source file you used originally to migrate the data.

-- In Network with Multiple Domain Controllers, Upgrade Schema Before Installing Server for NIS --

Before installing Server for NIS in an environment with multiple domain controllers in a forest, you must first upgrade the schema on the Flexible Single Master Operation (FSMO) schema-master domain controller and then allow the upgraded schema to be replicated to other domain controllers in the forest. After the schema has been replicated to all other domain controllers, you can install Server for NIS. The amount of time to wait before you can install Server for NIS will depend on your network's latency for schema replication.

To upgrade the schema, run Sfusch.exe in the \Nis folder on the Windows Services for UNIX Setup CD-ROM.

=
========================================================= TELNET

=
=========================================================

servers. The stand-alone Telnet server runs as a native Windows service. When connecting through this service, the Windows command prompt, cmd.exe, is the default login shell.
 * This release of Windows Services for UNIX contains two Telnet

The second Telnet server, telnetd, can be run under the control of  the Interix inetd daemon. When connecting through this server, an  Interix shell is the login shell. For information about running the telnetd daemon, see The Interix Subsystem in Windows Services for UNIX Help.

Telnet server for use by the Windows Telnet client.
 * VTNT is a special terminal type provided by the Windows stand-alone

server and attempting to run Interix utilities that use termcap and terminfo settings (such as vi), set the TERM environment variable to &quot;interix&quot;. To do this, after logging in, type the following at the command prompt in the telnet session: set TERM=interix
 * When using Telnet to connect to the Windows stand-alone Telnet

-- Support for the Euro Symbol Over Telnet --

Microsoft Windows NT 4.0 Service Pack 4 supports the Euro symbol if Service Pack 4 is installed on both the server and the client. To use the Euro symbol, Telnet users must use a TrueType font, such as Lucida Console, during their Telnet sessions.

Before starting Telnet, change the code page to 1252 by typing chcp 1252 at the command prompt. After you connect to the remote Windows NT computer, use chcp 1252 to set the code page of the remote session to 1252.

-- Other Issues --

(IME) on Telnet Server. As a result, most 16-bit applications will not accept Japanese input.
 * Windows Services for UNIX does not support Input Method Editor

=
========================================================= USER NAME MAPPING

=
=========================================================

-- The .maphosts File Is Now Required to Support Remote Computers --

User Name Mapping in this version of Windows Services for UNIX requires you to configure the .maphosts file to specify the computers that can access User Name Mapping. Unlike previous versions, this version of User Name Mapping requires .maphosts to be present to function, and the file must specify the remote computers that can access User Name Mapping. If the host list is empty, only the computer running User Name Mapping can access User Name Mapping.

-- Default Map Refresh Interval is One Day -- By default, User Name Mapping synchronizes user and group names from NIS or PCNFS sources once each day, not once each hour as indicated in the User Name Mapping Troubleshooting topic in Windows Services for UNIX Help.

=
========================================================= ADMINISTERING WINDOWS SERVICES FOR UNIX

=
=========================================================

-- Remote Administration --

You can use Services for UNIX Administration to administer components on remote computers. Some administration features for Server for PCNFS (passwd and group files) might not work, however.

-- Microsoft Office 2000 Installer Appears When Starting Windows Services for UNIX Administration --

If you install Microsoft Office 2000 on a computer, and you then install Windows Services for UNIX, the Microsoft Office 2000 installer might appear when you try to start Windows Services for UNIX Administration while logged on as a user other than the one who installed Microsoft Office 2000. This is because Microsoft Office 2000 must complete the installation for the new user.

To prevent this problem, the first time you log on as a user other than the one who installed Microsoft Office 2000, open a Microsoft Office 2000 application first and allow Microsoft Office 2000 to complete its setup. From then on, you will be able to start Windows Services for UNIX Administration without the Microsoft Office 2000 installer appearing.

- Index and Search for Windows Services for UNIX Help Does Not Appear Within Microsoft Management Console on Windows NT 4.0 -

When you use Windows Services for UNIX on a computer that is running Windows NT 4.0, the index and search features of Windows Services for UNIX Help will not appear when you open Help through Windows Services for UNIX Administration. To view the Help index and search features on Windows NT 4.0, open Help from the Windows Services for UNIX program group.

=
========================================================= MKS UTILITIES

=
=========================================================

The Mortice Kern System (MKS) utilities are no longer a part of Windows Services for UNIX. These utilities have been replaced by utilities built by Microsoft. The MKS Korn shell has been replaced by the Interix ksh. There are differences in the behavior of these two shells.

=
========================================================= NEW FEATURES IN THE INTERIX SUBSYSTEM

=
=========================================================

New features that were not in Interix 2.2 that are showcased in this distribution include: - Single-rooted file system. - Availability of symbolic links. - Access to network drives through the /net directory. - UNIX Domain Sockets. - Smaller numeric process IDs. - There is now a notion of a &quot;principal domain name.&quot; - Dynamic shared libraries (for example, libc.so,      libcurses.so). - Gcc and ld support to create dynamic shared libraries. - New application programming interfaces (APIs). - New commands

-- Notes on New Features --

Single-Rooted File System

This release contains a single-rooted file system. The root directory, /, is a directory that is treated specially. The contents of the Windows Services for UNIX installation directory are also mapped into this root directory. The root directory also contains some special entries such as the directories /dev, /net, /proc. File partitions are accessible as /dev/fs/. For example, in previous releases of Interix, the TEMP directory on the C: drive was accessible using the Interix path name //C/TEMP. Now it is /dev/fs/C/TEMP.

Symbolic Links --

Symbolic links are now supported. You can now create them using the -s option of the ln(1) command. The implementation of symbolic links in this release is based on the XPG4 version 2 specification (Single UNIX Specification).

Note that only Interix applications will recognize symbolic links. Windows applications do not recognize symbolic links created by the ln command or the symlink interface.

Access to Network Drives

A new directory, /net/, is a mechanism for accessing remote network file systems. It behaves much like Windows Universal Naming Convention (UNC) path names. Instead of the \\ \ syntax, the syntax on Interix is /net/ /.

For example, the Interix equivalent to the Windows path name \\thor\usr\bob is /net/thor/usr/bob. The systems and drives accessible through /net depend upon the Windows NT networking at your site.

For instance, if you have Client for NFS installed, the host names of computers that have exported NFS shares might be visible in /net. (This behavior depends upon the actual drivers, so not all possible combinations have been investigated.)

Principal Domain Name -

There is now a notion of a &quot;principal domain name.&quot; User/group names returned by getpw* and getgr* family of application programming interfaces (APIs) no longer contain this principal domain name as a prefix. (For example, if your computer is a member of the domain named OLIVER, names are in the form &quot;User1&quot; instead of &quot;OLIVER+User1&quot;). If your computer is a member of a domain, the principal domain name is the name of this domain. If your computer is not a member of a domain, the principal domain name is the name of the computer itself.

The principal domain name can be explicitly set using the registry entry HKLM\Software\Microsoft\Services For UNIX\PrincipalDomain.

If you set or modify this value, you must restart the computer for the change to take effect.

New APIs

The following are some of the new APIs in this release:

chpass            seekdir getgrent          setgrent getgrent_nomembers setpriority getpdomain        setpwent getpriority       socketpair getpwent          symlink lchown            telldir lstat             unixpath2win mknod             vfork readlink          winpath2unix

New Libraries -

The following are some of the new libraries in this release:

librpclib.a        libbind.a

New Utilities -

The following are some of the new utilities in this version:

addr             chsh            column chroot           ex              host mpack            munpack         m4        named             passwd          pdomain popper           rpcgen          sendmail su               sdiff           tip tzselect         time            unixpath2win vi               winpath2unix

-- Sendmail -- Windows Services for UNIX 3.0 includes the sendmail package of utilities (version 8.11.6) as part of the base utilities. The primary purpose of including sendmail is to support scripting applications in which e-mail is sent by UNIX scripts built using the tools included in Windows Services for UNIX 3.0.

Microsoft will support the use of sendmail only as an e-mail transport agent and not as a primary e-mail server. If you need an e-mail server, it is recommended that you use Microsoft Exchange Server.

-- NFS Integration -- The Interix UNIX utilities have been enhanced to work with Client for NFS. It is possible to create symbolic links through Client for NFS on NFS servers that support symbolic links.

-- User-specific cron Services Not Upgraded -- If you install Windows Services for UNIX 3.0 as an upgrade of Interix 2.2, user-specific cron services created by Interix 2.2 are not modified or upgraded to work with Windows Services for UNIX 3.0.

To list user-specific cron services, at an Interix shell prompt, type the following command:

/bin/service list

The names of user-specific cron services will be listed similar to the following:

cron_ +

where is the name of the user's domain and is the user's logon name.

After identifying these services, you should remove them by typing the following command at an Interix shell prompt for each service:

/bin/service remove 

where  is the name of the service to be removed.

After the service has been removed, the user who owned the service should reinstall the user's crontab file by typing the following command at an Interix shell prompt:

crontab -e

Finally, the user must register the user's password by typing the following command at an Interix shell prompt:

crontab -p

The user's crontab file is usually located in the usr/lib/cron/user directory in the Interix 2.2 installation directory. The crontab file will have the same name as the user's fully qualified domain name ( + ).

=
========================================================= KNOWN ISSUES and LIMITATIONS

=
=========================================================

The following is a list of known issues with the current release version of Windows Services for UNIX.

version 3.0 on a Windows NT 4.0 computer, the existing Telnet client program file is not replaced with the new version. Instead, the Windows Services for UNIX 3.0 Telnet Client program file is copied to the %windir%\system32 directory and is  named telnetc.exe. If you want to run version 3.0 Telnet Client, a system administrator can delete the existing telnet.exe in the %windir%\system32 directory and then rename telnetc.exe to telnet.exe.
 * When upgrading Windows Services for UNIX from version 2.0 to

on a Windows Services for UNIX NFS mount will make the link invalid.
 * Moving a symbolic link across directories from a UNIX client

Win32 program, command-line arguments can be truncated if the arguments exceed 32KB in size and the environment exceeds 30KB.
 * When the Interix exec family of functions is called to run a

* fcntl(3) support of the O_SYNC flag. * Complete support of Distributed File System (DFS) and reparse points. Some operations might work, but anything that relies on proper inodes will fail. * Sending SIGSTOP and SIGCONT signals to Win32 processes is not supported on Windows NT 4.0 and Windows 2000. This is supported on Windows XP. Sending SIGTSTP to Win32 processes is not supported on any Windows platform.
 * The following features are not available in this release:

entitled - &quot;Creating a user for inetd&quot; For Interix daemons (like rlogind and telned) that are started by the Interix inetd program to run properly, the inetd process must be executed by a user account that is a member of the Administrators group on the local computer.
 * Additional notes for the Windows Services for UNIX Help section

=
========================================================= DEPRECATED FEATURES

=
=========================================================

deprecated and will be eliminated in a future release of the product. Applications should no longer assume that these will be available, even though they are supported in the current release for backward compatibility.
 * The following environment variables and registry keys are being

Deprecated Environment variables: * OPENNT_ROOT

Deprecated Registry Keys: * HKEY_LOCAL_MACHINE\Software\Softway Systems

Microsoft Interix 2.2 product have been removed in this release: * atrun * cronadmin * openntreg * licensetool
 * The following utilities/files that were included in the

product have been removed in this release: * _ntpath2posix * ntpath2posix * posixpath2nt
 * The following APIs that were included in the Microsoft Interix 2.2

Additional query words: solar coaster solarcoaster

Keywords: kbinfo kbreadme KB322733

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.