LDAP Programming Management and Integration 1st Edition Clayton Donley pdf download
LDAP Programming Management and Integration 1st Edition Clayton Donley pdf download
https://ebookname.com/product/ldap-programming-management-and-
integration-1st-edition-clayton-donley/
https://ebookname.com/product/microsoft-direct3d-programming-
kick-start-1st-edition-clayton-walnum/
https://ebookname.com/product/ultrasonic-periodontal-debridement-
theory-and-technique-1st-edition-donley/
https://ebookname.com/product/maximizing-healthcare-delivery-and-
management-through-technology-integration-1st-edition-tiko-iyamu/
https://ebookname.com/product/the-instruction-of-imagination-
language-as-a-social-communication-technology-1st-edition-daniel-
dor/
The Liars Club A Memoir 20th Anniversary Edition
Edition Mary Karr
https://ebookname.com/product/the-liars-club-a-memoir-20th-
anniversary-edition-edition-mary-karr/
https://ebookname.com/product/doing-oral-history-3rd-edition-
donald-a-ritchie/
https://ebookname.com/product/evidence-based-pediatric-
oncology-3rd-edition-ross-pinkerton/
https://ebookname.com/product/voyages-from-tongan-villages-to-
american-suburbs-second-edition-cathy-a-small/
https://ebookname.com/product/european-nutrition-and-health-
report-2004-1st-edition-ibrahim-elmadfa/
Seeking Order in a Tumultuous Age The Writings of Ch■ng
Toj■n a Korean Neo Confucian David M. Robinson
https://ebookname.com/product/seeking-order-in-a-tumultuous-age-
the-writings-of-chong-tojon-a-korean-neo-confucian-david-m-
robinson/
LDAP Programming, Management
and Integration
LDAP Programming,
Management and
Integration
CLAYTON DONLEY
MANNING
Greenwich
(74° w. long.)
For online information and ordering of this and other Manning books,
go to www.manning.com. The publisher offers discounts on this book
when ordered in quantity. For more information, please contact:
Special Sales Department
Manning Publications Co.
209 Bruce Park Avenue Fax: (203) 661-9018
Greenwich, CT 06830 email: [email protected]
Many of the designations used by manufacturers and sellers to distinguish their products are
claimed as trademarks. Where those designations appear in the book, and Manning
Publications was aware of a trademark claim, the designations have been printed in initial
caps or all caps.
Recognizing the importance of preserving what has been written, it is Manning’s policy to have the
books we publish printed on acid-free paper, and we exert our best efforts to that end.
ISBN 1-930110-40-5
Printed in the United States of America
1 2 3 4 5 6 7 8 9 10 – VHG – 06 05 04 03
contents
preface xi
acknowledgments xv
about this book xvi
getting started xix
about the cover illustration xxii
v
1.8 Integration and federation via virtual directory technology 30
1.9 Why this book? 31
1.10 Summary 32
4 Search criteria 75
4.1 Performing a search 76
4.2 Where to search: base and scope 76
Search base 76 ✦ Search scope 77
vi CONTENTS
4.3 What to evaluate: search filters 78
Presence filters 79 ✦ Exact equality filters 80 ✦ Substring matching 81
Ordered matching (greater than/less than) 83 ✦ Approximate filters 84
Multiple filters: AND and OR operators 84 ✦ Negative filters: the NOT
operator 86 ✦ Extensible searching and matching rules 86
4.4 What to return: the attribute return list 87
4.5 LDAP search criteria vs. SQL queries 87
Similarities between SQL SELECT and LDAP search criteria 88
Differences between SQL SELECT and LDAP search criteria 88
4.6 Increasing search performance 88
4.7 Summary 89
CONTENTS vii
6.4 Manipulating entries 116
Updating an entry 116 ✦ Adding new entries 117
Deleting an entry 117 ✦ Renaming an entry 117
6.5 Comparing entries 118
6.6 Handling errors 119
6.7 Support for encrypted/SSL connections 119
6.8 Summary 120
viii CONTENTS
8.6 Synchronization 162
Synchronization to LDAP 162 ✦ Synchronization from LDAP 163
Bidirectional synchronization 166
8.7 Summary 167
CONTENTS ix
11.3 JNDI operations: the DirContext class 217
Handling basic exceptions 218 ✦ Closing the connection 218
Binding to the directory 218 ✦ A reusable LDAP connection handler 219
11.4 Searching with JNDI 220
Abstracting the entry 221 ✦ A search class 223
11.5 Adding entries 226
A simple add example 226 ✦ A generalized add example 227
11.6 Manipulating entries 229
Modifying entries 229 ✦ Deleting entries 230 ✦ Renaming entries 231
11.7 Summary 232
x CONTENTS
preface
This book will help you understand and use the most important directory services—
those based on the leading industry standards—without having to read the many eso-
teric standards documents available on the Web. I am tempted to start the book with
a motivating example from my experience to explain why directory services are so
important and why you should read this book from cover to cover, but I will resist.
There is no need to tell a story from my experience, because I can tell a story from
your experience. Every single one of you has had experience with directory services,
whether you know it or not.
Did you log in to a computer today? When the computer checked your password,
it was probably using a directory service.
Do you use a personalized start page, such as Netscape Netcenter? If so, your pref-
erences and login information were found in a directory service and used to customize
your experience.
Have you ever looked up the email addresses of long-lost friends on the Internet,
or located the telephone number of the woman in receiving who can track down your
lost package? Both of these tasks are also common uses for directories.
However, you don’t need to learn how to type someone’s name into a search
engine or enter your password. What you do need to learn, and what this book will
teach you, is how to apply the standards that make directory services accessible over
computer networks ranging from the Internet to your corporate intranet to business
partners’ extranets.
We won’t stop there. The most pressing issue in the area of directory services today
is simply that there are so many of them. Every application written in the last 30 years
seems to have come with its own proprietary directory. Operating systems also have
directories. Most of these directories don’t care about each other or even acknowledge
the others’ existence. This book will help you get these existing directories to work well
with new, important standards-based directory services.
Finally, what good is a data repository without useful applications? If you are an
application developer trying to get your existing applications to work with Light-
weight Directory Access Protocol (LDAP), Directory Services Markup Language
(DSML), and other directory standards, this book not only will help you get a handle
xi
on important application program interfaces (APIs), but also will deliver an under-
standing of the best strategies for using these applications to derive important appli-
cation benefits.
xii PREFACE
wasn’t just a way to look up information; it was a key storage point for identity infor-
mation—the only network-accessible place in the company where a person’s email
address, login ID, department, name, and manager were linked together. I realized that
smart applications could use this information to identify users throughout the com-
pany and authorize them based on criteria, such as their department. Those applica-
tions could also provide customized presentations based on that same information.
I also knew that as good as this idea was, it would be hard to execute given the lim-
itations of WHOIS, unless we customized each application. At this time, I came into
contact with X.500.
Like WHOIS, X.500 is a standard for a kind of directory service. Unlike WHOIS,
X.500 is anything but simple. It is a detailed set of standards definitions that seems
to describe everything within a 10-mile radius of directory services, including client
access, real security, server-to-server communications, and similar areas. Also unlike
WHOIS, X.500 comes from the OSI networking world, which was left in the dust in
the wake of the Internet explosion and the mass adoption of loosely networked systems
built around standards such as TCP/IP.
Nearly every book or article written about LDAP talks about X.500 being perfect
except for that dastardly OSI protocol stack, which makes deployment on desktop-
class hardware difficult. (Although there is truth to this reasoning, the real reason most
X.500 directory projects didn’t take off is that getting the right data into the directory
and keeping it up-to-date was difficult—after all, garbage in, garbage out. Similarly,
few applications were X.500 aware, partly due to its complexity.) This difficulty
spawned LDAP, which was meant to replace X.500’s Directory Access Protocol (DAP)
as a client implementation.
After making the move from X.500 to LDAP for the same published reasons every-
one else did, the lack of integration tools and directory-enabled applications was obvi-
ous. So, I created things like Net::LDAPapi and PerLDAP to glue together information
from different sources into the directory. Not long afterward, I wrote the code that
allowed users to be identified and authorized to many services, such as web, proxy,
and mail.
Today many applications are directory-enabled—so many that these applications
drive most new directory deployments, rather than the other way around. People look-
ing at deploying and accessing directories are faced with many difficult choices in
design and execution. My goal for this book is to help simplify this complex technol-
ogy in a way that accelerates your projects and improves your end results.
PREFACE xiii
• Access is access.
• Configuration is trivial; management is complex.
Although these may seem like insanely simple lessons, let me explain.
Access is access
Certain methods of access may be more efficient or provide more underlying func-
tionality, but at the end of the day, it is only important that the directory service can
share information in a way that clients and applications can use. Today, that standard
for sharing information in directory services is LDAP. Therefore, we use LDAP as the
primary access protocol throughout this book.
However, many of the more advanced techniques described in parts 2 and 3 of this
book will work just as well with another means of access. In fact, part 3 describes the
use of Directory Services Markup Language (DSML), which you can use to represent
directory services information as XML.
Configuration is trivial; management is complex
This is not to say that your mother should be installing and configuring your direc-
tory servers. It is merely an indication of the relative complexity of configuration ver-
sus management.
I cannot stress enough that unless the directory is running in a stand-alone envi-
ronment where it is the only source of data, there will be effort in getting information
into and out of the directory. Unless you understand and make this effort up front,
the data in the directory will either be stale and useless or require yet another manual
administrative process to keep it up to date.
New technology is coming out that removes some of the technical barriers to splic-
ing information into authoritative directories. However, such technology does not
remove the internal political roadblocks and the need for up-front planning that is
required in nearly all meaningful directory service deployments.
xiv PREFACE
acknowledgments
Creating a quality technology book involves a great deal of effort from many talented
and passionate individuals. There is simply no way to thank all of those involved
enough for their efforts in making this book as good as it could possibly be.
I must start by thanking my wife Linda for her support in this endeavor. Without
her patience and strong support, this book certainly would never have been completed.
A few weeks before the book went to press, we received the special delivery of our son
Ethan, who was certainly an inspiration as the book’s development came to a close.
Too many people to name looked at bits and pieces of this book. Some of the peo-
ple who looked through early drafts were Kurt Zeilenga of the OpenLDAP project, La
Monte Yaroll of Motorola, Booker Bense of Stanford, Jay Leiserson and Richard
Goodwin of IBM, Jauder Ho of KPMG, Ranjan Bagchi, Juan Carlos Gomez and Raul
Cuza. Nathan Owen of IBM and Phil Hunt of OctetString also offered some very
helpful feedback on several key sections later in the development cycle.
Extra special thanks go to Booker Bense, who did a detailed final review of the
entire text and made a number of quality suggestions that I feel contributed to the
technical accuracy and readability of the book. Don Bowen of Sun was also especially
helpful in his review of key sections of the book as it neared completion.
Many people at Manning Publications were incredible throughout the process.
Marjan Bace and Mary Piergies were on top of this project with their full attention
and enthusiasm from the start. Lianna Wlasiuk was phenomenal as a development edi-
tor and offered many significant ideas that vastly improved the final content of the
book. Tiffany Taylor did a fantastic job of editing the text and removing all of the
embarrassing errors that I left behind. Dottie Marsico had the Herculean task of mak-
ing sense of a vast number of graphics in a myriad formats, among other things. Syd
Brown came up with the book’s wonderful design, and Leslie Haimes did a great job
putting together a captivating cover. Ted Kennedy did a masterful job of staying on
top of the entire review process.
Finally, a special thanks to everyone I’ve emailed or spoken with over the years
about this technology. These discussions helped shape much of the thinking that went
into this book. So much was learned from sharing information with the users of the
LDAP-related technology I’ve developed. This learning and interaction was truly a
reward for any effort on my part.
xv
about this book
Part 1 of the book has five chapters:
• Chapter 1 introduces core LDAP concepts, with the understanding that you may
have little or no past exposure to the protocol.
• Chapter 2 introduces LDAP’s information model and schema. Information in
an LDAP-enabled directory is presented in a simple and uniform way that you
should understand before proceeding. This chapter covers object classes,
attribute types, and schema standards.
• Chapter 3 offers information about LDAP namespace and naming standards.
Because all entries in LDAP are uniquely named, it’s important for you to
understand the information in this chapter.
• Chapter 4 provides an overview of LDAP search criteria. Because searching is
the most commonly used and most complex LDAP operation from a client per-
spective, we spend considerable time introducing and explaining filters, scope,
and search bases.
• Chapter 5 introduces the LDAP Data Interchange Format (LDIF) and the
Directory Services Markup Language (DSML), an XML standard for represent-
ing directory information, and shows how these standards can be used to easily
store and share directory information.
Part 2 is as follows:
• We begin exploring LDAP management in chapter 6. This chapter introduces the
Net::LDAP module, which lets you use Perl to access and manage an LDAP-
enabled directory.
• In chapter 7, we discuss administrative techniques. Examples include a web-
based tool that you can use to manage individual entries.
• Chapter 8 offers insights into synchronization and migration. No data exists in
a vacuum, so this chapter provides guidance about some of the ways data in
other directories and databases can be leveraged in an LDAP environment.
xvi
• Chapter 9 explains how to monitor and manage information about the LDAP
server. Examples include schema retrieval scripts and tools for generating syn-
thetic transactions that can be used to check server availability.
• Chapter 10 expands on our previous discussion of DSML. Many examples are
provided, in Perl, including ones for generating DSML and transforming it to
HTML using XSLT.
Part 3 comprises the book’s final three chapters:
• In chapter 11, we begin discussing the best methods for directory-enabling your
applications. This chapter offers an introduction to the Java Naming and Direc-
tory Interface (JNDI), an API for accessing directory services based on many stan-
dards, including LDAP.
• In chapter 12, we refocus on DSML in an application context. Examples are
given that relate DSML to other technologies, such as web services and SOAP.
An exploration of DSML version 2 operations is also provided.
• Security ranks with messaging as a critical area for directory integration. For
that reason, we spend chapter 13 going over authentication, authorization, dig-
ital certificate storage, and LDAP security issues in general.
The book ends with two appendixes:
• Appendix A provides a compilation of standard schemas from Request for Com-
ments (RFCs), Internet Drafts, and other sources that you should consider prior
to the creation of new schemas. The LDAP schema is discussed in chapter 2.
• PerLDAP is a popular alternative to the Net::LDAP module discussed in part 2.
Appendix B offers an overview of PerLDAP and translation of many of the
examples in part 2.
AUTHOR ONLINE
When you purchase LDAP Programming, Management and Integration you gain free
access to a private web forum run by Manning Publications where you can make
SOURCE CODE
Source code for all examples presented in LDAP Programming, Management and
Integration is available for download from www.manning.com/donley.
Code conventions
Courier typeface is used for code examples. Bold Courier typeface is used in
some code examples to highlight important or changed sections. Certain references to
code in text, such as functions, properties, and methods, also appear in Courier
typeface. Code annotations accompany some segments of code.
DIRECTORY SERVERS
A directory server supporting LDAP is required to run these examples. The examples
should work with almost any LDAP-enabled directory server, except where noted
prior to the example.
This book is about getting the most from directory services, not installing and con-
figuring all the directories on the market. Following are pointers to some of the more
common directory servers available at the time of publication. Additionally, we
include basic instructions for obtaining a special LDAP server that has been precon-
figured to work with the examples in this book.
Directory server vendors
The LDAPZone (http://www.ldapzone.com) web site is a good place to begin when
you’re looking for answers to many directory issues. It has active community pages
and links to other sites related to LDAP. It also has links to the most popular LDAP
server implementations.
Among the servers currently listed are
• Novell eDirectory
• iPlanet Directory Server
• Oracle Internet Directory
• Critical Path InJoin Directory Server
• Microsoft Active Directory
• IBM SecureWay Directory
• Open Source OpenLDAP Directory
• Data Connection Directory
• OctetString Virtual Directory Engine
xix
Each of these vendors provides a server that is directly LDAP accessible, with solid
documentation for installation and configuration.
Basic configuration parameters
The examples in this book assume the server will be listening on TCP port 389,
which is the standard LDAP port. This is usually easily configurable within the server,
although certain implementations (such as Microsoft Active Directory) cannot be
configured to listen on a different port.
The root of the directory tree used in the examples is dc=manning,dc=com.
This will be acceptable to most implementations, but some older servers may not be
aware of dc-style naming. If that is the case, substituting o=manning,c=us or any
other name for the root in configuration and examples should be acceptable. You can
find more information about naming and directory trees in chapter 3.
Most of the examples in this book use standard schemas related to people and
groups that can be found in virtually all LDAP implementations. If an example pro-
duces an error related to a schema violation, you may need to add the schema being
referenced by that example. Different directories have different files and configuration
options for adding new schemas.
COMMAND-LINE TOOLS
In part 1 of the book, no programming languages are used. Instead, we use com-
monly available LDAP tools to demonstrate key components of LDAP, such as infor-
mation model, entry naming, and search filters. These tools come with many
operating systems, such as Solaris and some Linux variants. They are also distributed
with many directory server products.
You can determine if the tools are available by attempting to run commands such
as ldapmodify and ldapsearch. If these commands exist, they should be suitable
for the examples in this book.
The source code to these tools can be found in at least two places:
• The OpenLDAP project (www.openldap.org)
• The Mozilla Directory project (www.mozilla.org/directory/)
Both of these versions are suitable for use with the examples in this book.
If you prefer to download precompiled versions of these tools, you can most easily
obtain them as part of the iPlanet Directory Software Development Kit (SDK). This
kit is available at http://www.iplanet.com/downloads/developer/.
xx GETTING STARTED
higher is recommended) and the Perl-LDAP module. This is not to be confused with
PerLDAP, which is the module previously released by Netscape and the author of this
book. Although both modules do the same job, Perl-LDAP is becoming more widely
used; and, because it is completely written in Perl, it is portable to any platform where
Perl is available.
The Perl-LDAP module is written and maintained by Graham Barr and can be
found at perl-ldap.sourceforge.net along with detailed installation instructions.
Active State Perl users can use these commands to install the necessary module
automatically:
C:\ >ppm
PPM interactive shell (2.1.6) - type 'help' for available commands.
PPM> install perl-ldap
Users of other versions of Perl can access the module on the Comprehensive Perl
Archive Network (CPAN) (http://www.cpan.org).
JAVA
Java is used extensively throughout part 3 of this book. We use core Java functional-
ity found in J2SE as well as extensions for communicating with LDAP and parsing
XML/DSML.
xxii
P A R T
1
Fundamental
LDAP concepts
The Lightweight Directory Access Protocol (LDAP) has emerged as the standard for
accessing directory services over networks. In this first part of the book, we will look
at everything you need to know about LDAP.
Chapter 1 begins with an exploration of the many uses and benefits of LDAP, as
well as its origin. From there we move on to an overview of current directory man-
agement and interoperability issues. At the end of chapter 1, we glance at the available
and emerging tools that allow for easier integration between different data sources.
Information is exchanged between LDAP clients and servers using containers called
entries. These containers are formed based on a particular information model that we
discuss in chapter 2.
Entries in a directory are given unique, hierarchical names in an LDAP directory.
In chapter 3, we look at how these names are formed, naming issues, and best practices.
Chapter 4 covers LDAP search criteria. The focus here is on simplifying the some-
times complicated combination of search filters, scopes, and bases that make up an
LDAP search request.
You will get your first look at Directory Services Markup Language (DSML), the
latest standard for representing directory information and operations in XML, in chap-
ter 5. Chapter 5 also formally introduces the LDAP Data Interchange Format (LDIF),
which is a commonly used format for sharing and storing directory information.
C H A P T E R 1
Introduction to LDAP
1.1 What LDAP is 4 1.6 Directory management 23
1.2 What LDAP is not 7 1.7 Directory integration 24
1.3 Current applications 10 1.8 Integration and federation via virtual
1.4 Brief history 15 directory technology 30
1.5 LDAP revisions and other 1.9 Why this book? 31
standards 18 1.10 Summary 32
In this chapter, we introduce the Lightweight Directory Access Protocol (LDAP) and
attempt to answer the following questions:
• What is LDAP? Who needs it? How is it used?
• What are directory services? Where do they fit in the grand scheme of things?
Which ones exist? What is their relation to LDAP?
• What are common issues in planning and deploying directory services?
• Where do metadirectories, provisioning tools, and virtual directories fit
with LDAP?
• What standards organizations and industry consortia are responsible for further
development of directory services and LDAP standards?
3
Discovering Diverse Content Through
Random Scribd Documents
Specific Character.
Pl. 66.
TODUS viridis.
Green Tody.
T O D U S viridis.
Green Tody.
This singular little bird has long excited the particular attention of
those naturalists who study the affinities of groups, more than the
details of species. It is a native of the West Indian Islands, and
although stated to be not uncommon, the accounts given of its
manners are perfectly contradictory. One author asserts that it is
almost always seen upon the ground, from whence it receives the
name of Perroquet de Terre: another, that it only frequents the
"lonely part of moist places" (woods?), where it sits in a couched
manner, with its head thrown considerably back, and is so stupid, as
almost to be taken by the hand. M. Vieillot confirms part of the latter
particulars, although he repeats, without denying, the former. In our
opinion the last is entitled to the most credance, although it is
contradictory to the idea of this being a terrestial bird.
We cannot but feel surprise and regret, that the "very interesting
account" of this bird, long ago announced (Zool. Journ. Dec. 1827. p.
439), as having been sent from Cuba, by Mr. Macleay, to the Linnean
Society, should still be unknown to the scientific world. There is,
indeed, a valuable paper by this gentleman on certain birds of Cuba,
in the first part of the sixteenth Vol. of the Society's Transactions,
where its author alludes to the "description and anatomy of two
birds" (p. 12) both of which are nevertheless omitted: The Todus
viridis, we apprehend is truly "one of those solitary species," which,
as Mr. Macleay observes, "from having been neglected, may serve to
unfold an exception, sufficient to destroy the most plausible system."
For ourselves, we shall feel much surprised if this bird is entitled, in
the slightest degree, to a station among the Fissirostres, in which
order it has been placed by M. Vigors, in his paper "On the Natural
affinities of Birds."
Pl. 67.
MURICINÆ Pl. 1.
Murex imperialis.
M U R E X Imperialis.
Imperial Murex.
C O N U S fumigatus.
Specific Character.
C O N U S franciscanus.
Shell smooth, chesnut, with two white bands, the upper one near
the suture: spire short, the whorls convex.
C. franciscanus. Lam. Syst. 7. 493. Ency. Meth. 337. f. 5.
Pl. 69.
PIERIS Nigrina.
P I E R I S Nigrina.
Generic Character.
Specific Character.
Wings above white in one sex, grey in the other; anterior tipt
with black; beneath black, with a terminal band of yellow:
posterior wings beneath black, varied with grey, and marked
with an undulated, nearly central, border of crimson.
Pieris Nigrina. Fab. Sys. Ent. 475. Ent. Sys. 3. 1. 20. Ency. Meth.
p. 149. Don. Ins. of New Holl. 19. f. 1.
Pl. 70.
EURYMUS Europome.
E U R Y M U S Europome.
The Clouded Sulphur.
Generic Character. See Pl. 60.
Specific Character.
See Stevens. Ill. of Brit. Ent. 1. p. 10. and Haw. Lep. Brit. 13.
Papilio Europome. Haworth Lep. Brit. p. 13. No. 12.
Colias Europome. Stev. pl. 1.* fig. 1. male. 2. 3. female. Syst.
Cat. 5797.
In Mus. Nost.
So anxiously did our honored father preserve his cabinet, free from
exotic specimens, that knowingly, he never admitted one, even as a
temporary substitute for a native example. Yet living, in his early
days, in constant intercourse with the famous Dutchess of Portland,
Dr. Lightfoot, and Mr. Lewin, he received, from these sources, some
few insects, which were placed in his cabinet, under the assurance
that they were British. Among these are Pap. Podalirius, Daplidice,
and the two specimens of the alleged Europome here figured: the
latter being mistaken, and intermixed, with three examples of the
true Hyale. On the other hand, it is incumbent upon us to say, that
both these have been mended, before coming into our father's
possession, by the heads and antennae of Gonepteryx Rhamni! We
must also state, that upon closely comparing them with a series of E.
Philodice, we have failed to discover what appears to us a true
specific distinction. The same unsuccess has attended our efforts to
detach Chrysotheme from Edusa, of which latter we possess
specimens from Germany, Genoa, Sicily, Greece, Africa, and several
others unlabelled, all varying more or less from each other, and from
British examples.
Pl. 71.
MALACONOTUS Barbarus.
Barbary Shrike.
M A L A C O N O T U S Barbarus.
Barbary, or yellow-crowned Shrike.
Family Laniadæ. Sub-family Thamnophilinæ. Nob.
Generic Character.
Specific Character.
The true Shrikes, of which two, if not three species inhabit England,
are bold and cruel birds: they attack others, scarcely smaller than
themselves, and seize them like a Falcon, by their talons during flight.
The Bush Shrikes on the other hand, are a more ignoble race; they
only prowl after young or sickly birds, and seek their principal
nourishment from those insects which shelter in foliage. These birds
form two distinct groups, confined to the tropical latitudes of the Old
and the New World. The first, Thamnophilus, is restricted to America,
and the species are known by their dark coloured plumage.
Malaconotus, is, we believe, purely an African group, while most of
the typical species, like the present, are cloathed in bright and
beautiful colours.
Pl. 72.
DONACOBIUS vociferans.
Babbling Thrush.
D O N A C O B I U S vociferans.
Babbling Thrush.
Characters.
Bill arched from the base, moderate, and generally entire; wings
very short: tail broad, rounded. Feet and toes of great strength
and size; plumage lax, and soft. Nobis.
Gracula (pars.) Cuv. Pomatorhinus. Horsf. Tem. (pars.) Pitta. (p.)
Opetiorhynchus. Ixos. (p.) Malurus (p.) Tem. Timalia. Megalurus.
Horsf. Dasyornis. Phosphodes. Vig.
Generic Character.
Specific Character.
Pl. 73.
MURICINÆ. Pl. 2.
Murex erythrostomus.
M U R E X erythrostomus.
Pink-mouthed Murex.
Specific Character.
(Type 1.) Shell spinous: varices between the two lips four; armed
with conic, generally pointed spines, the upper and lower of
which are vaulted; colour reddish white, articulated with
brown: false varices intermediate; aperture rosey: inner lip
smooth.
We have already intimated our belief that Murex and Cassis represent
two equivalent groups; and these, as containing several established
genera, we shall consider as sub-families: giving them the usual
termination of inæ. Those higher naturalists, who have long since
abandoned the belief in absolute divisions and isolated genera, are
fully aware that no groups are more likely to exhibit the arrangement
of nature, than such as contain numerous species, under a great
diversity of forms. The Murices are of this description, and appear to
exhibit, among themselves, a circular series. Triton and Murex also
seem typical genera, and of equal value. Ranella obviously belongs to
the first; yet, as it is merely a subordinate type of form, we cannot,
under this belief, retain it as a genus, without a manifest
inconsistency; unless, indeed, it is thought expedient to consider the
types of form in Murex, as so many genera, and elevate three others
in Triton to the same rank; a refinement in nomenclature, which we
cannot think is in the least degree necessary.
Pl. 74.
EUTERPE Terea.
E U T E R P E Terea.
Papilio. (pars.) Latrielle. Sub-family Pieresinæ. Nob.
Generic Character.
Specific Character.
Wings above black: anterior both above and below, with a trifid
white or yellowish central spot: posterior with a four-parted
rosey spot; and varigated beneath, at the base, with yellow
and rosy stripes.
Papilio Terias. Latrielle & Godart. En. Meth. 1. p. 38. No. 39.
Pl. 75.
PELEUS.
1. Gentius. 2. Æacus
P E L E U S Æacus.
Family Hesperidæ.
Generic Character.
Specific Character.
P E L E U S Gentius.
Anterior wings black, with three yellow bars, posterior yellow,
with a simple black border.
Hesp. Gentius. Fab. Cramer, pl. 179, f. C.
Pl. 76.
MALACONOTUS atro-coccineus.
Black & crimson Shrike.
Welcome to our website – the ideal destination for book lovers and
knowledge seekers. With a mission to inspire endlessly, we offer a
vast collection of books, ranging from classic literary works to
specialized publications, self-development books, and children's
literature. Each book is a new journey of discovery, expanding
knowledge and enriching the soul of the reade
Our website is not just a platform for buying books, but a bridge
connecting readers to the timeless values of culture and wisdom. With
an elegant, user-friendly interface and an intelligent search system,
we are committed to providing a quick and convenient shopping
experience. Additionally, our special promotions and home delivery
services ensure that you save time and fully enjoy the joy of reading.
ebookname.com