Life Support: Novell GroupWise cross-platform client
Articles and Tips: article
30 Sep 2004
Novell has consistently demonstrated a commitment to meet the business-critical messaging needs of the marketplace. In fact, Novell has a long history as one of the industry's leading innovators in messaging and collaboration. From involvement with the development of the early MHS standard, through the acquisitions of GroupWise and development of NetMail, Novell has been a key player in the market. Add the acquisition of Ximian with the Evolution e-mail client and SUSE LINUX and the OpenExchange server and it's clear Novell understands the need for messaging and collaboration.
With the acquisition of SUSE LINUX, and the vigorous championing of the Linux desktop, Novell must provide rich, enterprise-class messaging solutions on the Linux platform. Indeed, the Linux desktop is not a viable business solution without fullfeatured messaging clients for the users and an enterprise-class messaging backend in the server room. With the recent release of GroupWise 6.5 for Linux, and the impending release of Evolution v2, Novell definitely hits the mark.
With the GroupWise 6.5 for Linux release, Novell has released a Java-based cross-platform client that is rich in its feature set, easy in its installation, and fast and stable in its operation. This new client is definitely a welcomed departure from previous solutions to non-Windows messaging client needs. Its feature set more closely resembles the Windows client than any of its cross-platform predecessors, and the ease of installation and speed of operation will surprise even the most optimistic GroupWise fan. The slick interface is so much like its Windows counterpart, it even prompted one of our most Linux-purist technicians to exclaim, "I can't believe I'm actually running the GroupWise client on Linux...".
In addition, the Evolution development crew has teamed up with the GroupWise camp, and together they have provided an alternative to the rich GroupWise client that integrates well with the GroupWise backend. The release of Evolution v2 includes native support for connecting to the Linux version of the GroupWise POA (support for Windows and NetWare agents is planned for the future). Unlike the current support by Evolution for Microsoft Exchange Server, which requires an extra "connector" plug-in, Evolution v2 supports GroupWise servers as a built-in feature. Once you install Evolution v2, you automatically have support for GroupWise. Using IMAP, SMTP and a new SOAP-based protocol implemented in the GroupWise for Linux POA, Evolution v2 is able to provide native access to e-mail, calendar items and contacts in a GroupWise mailbox.
In a previous article, you learned how to create a GroupWise 6.5 system with agents running on a Linux server. In this article, We'll take a look at how to install and configure both the GroupWise 6.5 crossplatform client and the Evolution v2.0 client with GroupWise support.
The GroupWise Cross-platform Client
The GroupWise cross-platform client is a native application with a Java based user interface. With its release, Novell has targeted Linux and MacOS. If you search the Novell Web site, you will find GroupWise cross-platform installs for Linux and MacOS, but not for other platforms. Let's see how to install the cross-platform client on a Linux desktop.
The GroupWise cross-platform client is supported under the following distributions of Linux:
SUSE LINUX Desktop (Gnome and KDE desktops)
SUSE LINUX 8.2 (Gnome and KDE desktops)
SUSE LINUX 9 Professional (Gnome andKDE desktops)
Red Hat 9 (Gnome desktop)
Red Hat Enterprise 3 WS (Gnome desktop)
I used SUSE LINUX 9.1 Professional with KDE 3.2 for my lab environment to write this article.
In addition to these OS and desktop configurations, the client requires a Java Virtual Machine (JVM) v1.4.2 or later. When you install the client, the JVM is automatically installed in /opt/novell/groupwise/client/jre. Many Linux desktop environments are likely to already have the JRE (Java Runtime Environment) installed in a different location. Even so, the GroupWise crossplatform client installation will install the JRE for its own use ensuring that the client has access to the JVM without requiring any special configuration by the end user, and without any worry about version differences. This makes deployment of the Javabased GroupWise client almost effortless.
installing the GroupWise cross-platform client The GroupWise cross-platform client install is distributed as an installation script named install, and as an RPM (Red Hat Package Manager) file. To install the GroupWise client, you can use either the RPM or the installation script. Since it is recommended that the GroupWise client be installed using the installation script, this article won't cover installation via RPM. The install script and RPM are available on the GroupWise for Linux 6.5 CD, or you can download them from http://download.novell.com.
Acquiring the Installation Files from the CD
To access the client installation files on the CD, you need to mount the file system on the CD to a mount-point in your Linux file system. Check your Linux distribution and desktop documentation for more information on how to access files from a CD.
Once you can access the GroupWise CD, there are three ways to install the client:
Run the install script found in the root of the file system on the CD (referred to as the Installation Advisor). Then select Install Products, followed by Install GroupWise Client.
Run the client installation script, which is a file named install found in the /client/linux folder on the CD.
Install the RPM manually, which is also found in the /client/linux directory on the CD. While this is an option, you should run the installation script if possible.
You will want to make the installation script available to your users in a central location so they can install it. You may also choose to automate the installation and configuration of the client using ZENWorks for Linux Management, or another package distribution and management platform. We'll discuss using ZENWorks to deploy the GroupWise cross-platform client later in this article.
While the client installation script is a shell script, it also contains binary data that is a tarball containing the GroupWise client RPM and a second helper script. Because of this, the client installation script is an autonomous file. This means that the GroupWise cross-platform client can be installed with nothi
Acquiring the Installation Files from download.novell.com
The GroupWise cross-platform client can be downloaded from http://download.novell.com. Browse to this site and search for the GroupWise cross-platform client download by selecting GroupWise Clients as the product. Search for all platforms, and you will find the cross-platform client.
The download file is a compressed tarball, which contains both the RPM and the installation script. Once you have downloaded the tarball, uncompress it and extract it with the following command:
tar -xvzf <filename>.tar.gz
Of course, replace "<filename>" with the actual filename of the compressed tarball.
Using the Installation Script to Install GroupWise
To install the cross-platform client using the installation script, you must be logged in as root. If you are not, the script will exit with an error without installing the client.
To install the GroupWise client, open a terminal window and log in as root. Change directories to the location of the installation script (named install), and execute the script with the following command:
Running the installation script with no parameters simply installs the client. However, unlike installing the RPM manually, the installation script also checks to see what version of the GroupWise client is already installed (if any), and takes appropriate action.
If you want to back-rev your GroupWise installation, you will need to manually uninstall the GroupWise client, then run the installation script again. If you need to uninstall the client, use the following command:
rpm -e novell-groupwise-gwclient
Running the GroupWise Cross-platform Client
Because installation locations are hard-coded in RPMs, the GroupWise client will always be installed to /opt/novell/groupwise/client/bin. GroupWise client libraries are installed to /opt/novell/groupwise/client/lib, and the required version of Sun Microsystem's JRE is installed to /opt/novell/groupwise/client/jre.
Once the GroupWise client is installed, there will be a GroupWise icon on the desktop. Simply click it to launch GroupWise. You can also start the GroupWise client from a terminal window by typing the following command:
If the client was installed from a configured installation script, then the client will attempt to connect to the POA defined in the script, using your Linux login ID as your GroupWise mailbox ID (i.e., if you are logged into Linux as root, the client will try to log into a mailbox named root.)
You can also pass options to the GroupWise client on the command-line. The correct syntax for passing startup switches to the GroupWise cross-platform client running on Linux is:
For example, it is possible to force the client to attempt to connect to a specific server and port by using the "ipa" and "ipp" switches (both of which are supported by the Windows client):
grpwise -ipa=10.0.0.11 -ipp=1678
You can also configure KDE and Gnome desktop application links to the GroupWise client with any start-up options supported by the client.
Figure 1: The look and feel of the GroupWise cross-platform client is very similar to the GroupWise Windows client.
Figure 2: When you run Evolution for the first time, enter your identity settings in the Evolution Setup Assistant.
Features of the GroupWise Cross-platform Client
The look and feel of the GroupWise cross-platform client is very similar to the GroupWise Windows client.
There are, however, a few features (as I am writing this article) that have not yet made their way into the cross-platform client:
junk mail management
viewers for attachments
remote mode to support modem connections
document management support
*Note that there are a number of triggers that cause rules to be executed. While you cannot create or modify rules using the crossplatform client, rules still work on mailboxes that are accessed using the cross-platform client. Rules can be created using the WebAccess client or the Windows client.
Rules are defined and stored in the user mailbox database. Some rules are run by the POA when rule triggers are encountered. Other rules are triggered by events in the GroupWise client. Not all rule triggers work with the cross-platform client. In particular, rules that are triggered when new messages arrive, or when messages are filed in folders, DO work when the cross-platform client is used. Other rule triggers, such as Startup and Exit, do NOT work with the cross-platform client. (See Figure 1.)
evolution v2 with groupwise Evolution strongly supports Internet messaging standards, such as IMAP, POP3, iCalendar, LDAP, vCards, and S/MIME. In addition, Evolution v2 sports native integration with Novell GroupWise agents and Microsoft Exchange 2000/2003 servers.
Let's focus on using the Evolution client to access GroupWise mailboxes.
Evolution v2 includes native support for accessing a GroupWise mailbox using a new SOAP-based protocol (GW-SOAP) that is built into the POA. (At the time I wrote this article, the GW-SOAP protocol was only available in the Linux POA, and was not supported for public use. GW-SOAP was initially designed for use by the Evolution development team, and will be made available to the public development community soon. Eventually, support for GW-SOAP will exist in the POA on all platforms.)
Figure 3: When you select GroupWise as the type of server, enter either the POA host name or IP address and the username, etc.
Figure 4: Continue setup by specifying whether or not Evolution should automatically and regularly check for new items, and wheather all GroupWise folders should be checked.
While you can use IMAP and POP3 to access GroupWise messages, they can't be used to access calendar or address book data. In contrast, GroupWise will provides support accessing messages, calendar data and address book data.
Although GroupWise SOAP interface will support sending and retrieving e-mail through the POA, Evolution integration with GroupWise uses IMAP to retrieve e-mail messages, SMTP to send them and GroupWise SOAP interface to access calendar and address book data. For Evolution to successfully provide access to a user's GroupWise account, your GroupWise server must be configured properly.
Configuring the GroupWise Server
Because Evolution uses three protocols to provide a fully-functional messaging interface to GroupWise, all three protocols must be properly configured and available on your GroupWise server.
Note: It is possible to have the SMTP sending server be on a different machine than the POA. See the Configuring and Running Evolution section for more details.
Of course, the GroupWise POA must be running on the server in order for Evolution to provide access to calendar and address book data. In addition, you should use either the POA or the GroupWise Internet Agent (GWIA) to provide IMAP services to Evolution. Finally, you can use GWIA or another SMTP server (such as Postfix or Qmail) to provide SMTP services to Evolution for sending e-mail.
I recommend letting the POA handle IMAP access for your Evolution clients, since you have to run the POA anyway (for GWSOAP access), and since IMAP access to GroupWise accounts is more efficient through the POA than through GWIA.
I also recommend using GWIA to provide SMTP services, since you can easily allow authenticated access to relaying without making GWIA an open relay. This way, the authentication credentials would be the same for sending via SMTP as they are for accessing messages through IMAP, and for accessing calendar and address book data through GW-SOAP. With this configuration, you won't have to maintain a separate authentication database for the SMTP server, and users won't have to worry about different credentials for each protocol.
Finally, I recommend that the POA and GWIA both be configured with an SSL certificate and key. GW-SOAP, IMAP and SMTP are all plain-text protocols, and all support an authentication step. Without SSL encryption, authentication credentials (including the GroupWise user ID and mailbox password) are transmitted over the wire in plain-text.
Table 1: The gwpoa.xml file is an XML file. When the gwpoa.xml file is first created, the contents of the tag, which enables the GW-SOAP protocol in the POA, are commented out. To enable the GW-SOAP protocol in the POA, simply remove the comment marks.
Configuring the POA for use with Evolution
In order for the Evolution client to use the new GW-SOAP protocol, you must first configure the POA to enable GW-SOAP access. In addition, you should enable the POA to handle IMAP traffic.
You should also configure the POA with an SSL certificate and key. Check the POA documentation for more details on how to do this.
Enabling IMAP on the POA
By default, the POA does not accept IMAP connections. To enable IMAP support in the POA, simply modify the POA Agent Settings configuration in ConsoleOne. If you configure the POA with an SSL certificate, you should also enable SSL encryption for IMAP in the POA (on the Network Address settings tab for the POA in ConsoleOne).
Configure an http port on the POA
Communication from a GW-SOAP client (such as Evolution) to the POA occurs over HTTP, and uses the HTTP port that the POA exposes. Historically, this port has been used to provide an HTMLbased admin console to the POA, allowing access to statistics, log files and limited administration functions.
Evolution will use the same HTTP port for GW-SOAP conversations that you use when you browse to the POA for the HTML admin interface.
If you have configured the POA with an SSL certificate and key file, you should enable SSL encryption on the HTTP port. This is done on the Network Address settings tab for the POA in ConsoleOne.
Modify the GW-SOAP Services Configuration File for the POA
Once the POA is configured with an HTTP port, you need to configure what services the POA will provide over the GW-SOAP protocol. This is done by modifying the GW-SOAP configuration file, which is created when the POA is installed. The GW-SOAP config file can be found in the following directory:
The gwpoa.xml file is an XML file. When the gwpoa.xml file is first created, the contents of the <Services/> tag, which enables the GW-SOAP protocol in the POA, are commented out. To enable the GW-SOAP protocol in the POA, simply remove the comment marks. (See Table 1.)
Any text editor, such as Vim, Kate or gedit, will be suitable. After modifying gwpoa.xml, restart the POA:
The POA is now ready to accept GW-SOAP connections on the HTTP port.
CONFIGURING GWIA FOR USE WITH EVOLUTION Although GroupWise SOAP interface provides the ability to send and retrieve messages, Evolution uses IMAP to retrieve messages from a GroupWise mailbox, and SMTP to send messages. IMAP access to GroupWise mailboxes can be accomplished through the GroupWise 6.5 POA, or through the GroupWise Internet Agent (GWIA).
As I mentioned before, I recommend that IMAP access be handled by the POA. If you configure the POA to handle IMAP traffic, and the POA and GWIA are running on the same server, you will need to disable IMAP in GWIA.
As you will see, one possible configuration of Evolution forces you to have your SMTP server and your IMAP server on the same machine. In this configuration, Evolution does not provide a way to specify relay authentication criteria. If you are using GWIA, Evolution users will not be able to send to non-GroupWise recipients unless GWIA is configured as an open relay. If the SMTP port on GWIA is not accessible from the outside, configuring GWIA as an open relay is not harmful; indeed this will prevent users from having to worry about authenticating in order to relay messages to the outside world. However, if GWIA is exposed outside of your network, or if you are generally uneasy about configuring GWIA as an open relay, you can configure GWIA to prevent open relaying. In addition, you can select an Evolution configuration that will allow you to specify Evolution with authentication criteria. (See Configuring and Running Evolution.) In this configuration, it is also possible to run GWIA on a different server than the POA, and to enable SSL encryption for the SMTP protocol.
Figure 5: Continue setup by choosing one of two server types to send e-mail: SMTP or Sendmail
Figure 6: Alternate Evolution Send Mail Settings Dialog
If your users will be authenticating in order to relay through GWIA, I also recommend configuring GWIA with an SSL certificate and key so that authentication credentials will be encrypted in transit.
When I wrote this article, the Evolution v2 client was still in beta testing, so all of the testing I did was with v1.5, which is the Development Snapshot for the v2 release.
It is expected that Evolution v2 will be available as part of the Novell Linux Desktop v9, which is expected to release in the Fall of 2004.
Many Linux distributions include Evolution as an optional component. Check your Linux distribution documentation to see if Evolution v2 is included.
You will also be able to download Evolution v2 independently from the Novell Linux Desktop package by browsing to www.novell.com/products/evolution.
A WORD ABOUT DEPENDENCIES Evolution is a full-featured messaging client that makes use of a number of third-party libraries and toolkits. In order for Evolution to successfully install, each of the packages, libraries and toolkits that it needs must first be installed.
I strongly recommend using an automatic dependency-resolving system to ensure that Evolution has all of the packages it needs before trying to install Evolution manually, especially if you are installing to a KDE desktop environment. Novell has indicated that when Evolution v2 releases, they will provide an easy installation path for Evolution outside of the Novell Linux Desktop environment.
In addition, consider the Advanced Package Tool (apt). There are repositories for most popular distributions of Linux which include the latest release of Evolution, as well as all of the packages, libraries and toolkits that it needs. There may also be automated-installation and dependency-checking solutions for your particular distribution of Linux; check the documentation for your distribution.
As Evolution v2 is currently in beta, details of how Novell plans to make it available have not been finalized. Check the Evolution product site for more information: www.novell.com/products/evolution
Configuring and Running Evolution
Once Evolution is installed, it is easy to run. The installation puts the Evolution binary in the following location:
In addition, the /opt/gnome/bin directory is placed in the $PATH environment variable, which means you can run Evolution without explicitly referring to its path. To run Evolution, type the following command:
Figure 7: After configuring the sending server criteria, you will be prompted to give the account a display name.
Figure 8: Evolution allows you to create a new account after it has already been run.
When Evolution runs for the first time, the Evolution Setup Assistant will be launched. The Setup Assistant will guide you through five main phases of setting up the Evolution client:
Configure Evolution to receive e-mail, access calendar and address book items
Configure Evolution to send e-mail
Name the Evolution account
Selection of time zone and save settings
When you run Evolution for the first time, you will receive a Welcome dialog. After getting past the welcome prompt, you get the Identity Evolution Setup Assistant dialog: (See Figure 2.)
Fill in your full name, your e-mail address and the reply address your outbound e-mail should include.
Configuring Evolution to Retrieve GroupWise items
Next, you will be prompted to specify from what type of server Evolution will be retrieving your e-mail, calendar data and address book data. A new server type setting, not available in versions of Evolution prior to v2, is Novell GroupWise. When you select this type of server, you will be prompted for the POA host name (or IP address), as well as a username. Type in the address for the GroupWise server, and your GroupWise account ID. (See Figure 3.)
Configuring SSL Encryption
In addition, you can configure Evolution to use SSL encryption in its communications with the GroupWise server.
Note that Evolution actually uses two different protocols to receive e-mail, calendar items and address book items from GroupWise: IMAP and GW-SOAP. In addition, Evolution uses the SMTP protocol to send e-mail.
I recommend configuring the POA to support SSL encryption of its IMAP and HTTP traffic, and configuring Evolution to use SSL.
If you configure Evolution to always use SSL encryption, you must ensure that the POA is configured with an SSL certificate and key, and that SSL encryption is enabled for both the HTTP port and the IMAP port in the POA configuration (in ConsoleOne). Otherwise, Evolution will not be able to communicate successfully with the POA.
In addition, if the sending server is configured to always use SSL encryption, you must ensure that the GroupWise Internet Agent running on the GroupWise server is configured with an SSL certificate and key, and that SSL encryption is enabled for the SMTP protocol.
Note also that the Authentication Type will always be Password.
Configuring Receive Options, Continued...
Next, you will continue to configure Evolution to receive e-mail, calendar and address book items by specifying some basic options, including whether or not Evolution should automatically and regularly check for new items, and whether all GroupWise folders should be checked for new e-mail (rather than just the main Mailbox folder).
In addition, you need to specify on which port the GroupWise POA will accept SOAP/HTTP connections. This is the HTTP port that is configured for the POA in ConsoleOne. (See Figure 4.)
Configuring Evolution to Send E-mail
Next, you will configure Evolution to send e-mail. There are two available options: SMTP and Sendmail. Evolution will attempt to connect to the server on port 25 in order to send e-mail. (See Figure 5.)
There are circumstances under which you should select SMTP as the sending server type. These circumstances include cases where additional settings regarding the SMTP server are needed.
Figure 9: Evolution v2 has a familiar look and feel when it comes to messaging and collaboration clients. Shortcut links on the left side of the client allow you to choose to view e-mail folders, calendars, tasks and contacts.
Figure 10: You can display multiple calendars together on the Calendars view, including your GroupWise calendar and a shared calendar from another source.
You should set the sending server type to SMTP in cases where:
you need to specify authentication criteria (because the SMTP server in use will NOT be configured as an open relay),
you need to specify a host address that is different from the receiving server address, or
you need to enable SSL encryption for SMTP connections. (See Figure 6.)
Selecting SMTP as the sending server type will open up options that are not available if the server type is. In addition to allowing you to configure authentication parameters, you can also specify a host for sending messages that is different than the host from which messages are rerieved and you can also specify that Evolution should use SSL to encrypt communications with the SMTP server (including relay authentication).
Naming the Account
After configuring the sending server criteria, you will be prompted to give the account a display name. (See Figure 7.)
This account name is for display only. Evolution can be configured with multiple accounts of different types for managing e-mail from different sources, and the names you give to the accounts you create should be meaningful to you.
After naming this account, you will be prompted to select you rtime zone. Finally, you will be prompted to save your settings. After doing so, the Evolution client will open.
You can also create a GroupWise account after Evolution has been run for the first time. Just select the Tools | Settings menu, then select the Mail Accounts option. From here, you can click the Add button, and configure a new GroupWise account, as described above. (See Figure 8.)
Evolution v2 has a familiar look and feel when it comes to messaging and collaboration clients. Shortcut links on the left side of the client allow you to choose to view e-mail folders, calendars, tasks and contacts.
The GroupWise e-mail folders show up under the name you gave to the GroupWise account when you created it. The calendar and contacts views allow you to choose whether to display various calendar and address book contents. For instance, you can display multiple calendars together on the Calendars view, including your GroupWise calendar and a shared calendar from another source. (See Figures 9 and 10.)
A Suitable Linux Desktop
Application user interfaces is where the rubber meets the road when it comes to productivity in a technical environment; if users simply can't use the tools they have, then they simply won't get their work done.
In the past, doubters and disparagers have pointed to a notable lack of true productivity tools on the Linux desktop as a reason not to migrate. And while Evolution has long provided an interface that rivals the most popular messaging clients on Windows, it hasn't been a viable option for shops that opt for the moresecure, NDS-managed GroupWise system in the server room.
But with the release of Novell GroupWise for Linux v6.5, the GroupWise cross-platform client, and Evolution v2 with native support for GroupWise mailboxes, Novell has added a formidable argument to its case in support of the Linux desktop in the enterprise.
Which Client is Right for Me?
When Novell announced that it intended to acquire Ximian, I (like many others) was anxious to see how Novell's messaging story would play out for the Linux desktop. As you plan the migration of enterprise desktops to Linux, consider these items when choosing the messaging interface you will support.
The GroupWise client will be a good choice if your users have been using GroupWise and are used to some of the strong collaboration features it has. In particular, features you won't get with Evolution include:
Calendar Item Delegation
Folders shared with other GroupWise users
Discussion threads and posted messages
Access to GroupWise archives
The look and feel of the GroupWise cross-platform client will be familiar and comfortable to users who have used the GroupWise Win32 client. However, the GroupWise cross-platform client doesn't yet integrate with Novell Linux Desktop and other desktop applications (such as OpenOffice) as strongly as Evolution does. Here are some specific features not currently in the GroupWise cross-platform client:
Integrated support for all MIME types (for automatic handling of all attachment types that are registered with the desktop environment)
Cleaner attachment handling
Easy copy and paste to/from OpenOffice and other applications
In general, Evolution will fit into a more unified desktop environment, while GroupWise will provide some strong collaboration features on which GroupWise users have often come to depend.
Instant Messaging on the Linux Desktop
Users who want instant messaging access on the Linux Desktop have options too. Novell GroupWise Messenger provides a secure, NDSmanaged solution for provisioning and controlling an enterprise instant messaging system. For enterprises that want to limit use of instant messaging to the enterprise, Novell's cross-platform instant messaging client is the answer. It's easy to install, and works just like its Windows counterpart.
Another option is Gaim, an instant messaging client that supports a wide variety of IM systems. A plug in has been created that allows Gaim users to connect to Novell GroupWise Messenger servers.
Gaim was originally developed as an AIM client for Linux, but through its plug in framework, it now supports MSN, ICQ, Yahoo!, AIM, Jabber, IRC, Napster, Gadu and now GroupWise Messenger.
If you intend to allow your Linux desktop users to maintain IM accounts on public systems such as AIM and MSN, as well as provide internal IM accounts through GroupWise Messenger, Gaim is the IM client you should choose. (There's a Windows version as well.)
Adding a GroupWise Messenger account to the Gaim client is as simple and intuitive as adding accounts for any other system. In addition, a variety of plug ins that provide other features are available, such as a plug in that auto-reconnects you if you get disconnected from a server, and a plug in that displays your last conversation with a buddy every time you start a new one.
If you intend to lock down the use of IM by the Linux users in your enterprise, and only provide access to the internal GroupWise Messenger system, you should roll out the GroupWise Messenger cross-platform client for Linux.
Both clients support individual and group chats, and are comparable in their feature sets.
* Originally published in Novell Connection Magazine
The origin of this information may be internal or external to Novell. While Novell makes all reasonable efforts to verify this information, Novell does not make explicit or implied claims to its validity.