Commit Graph

707 Commits (1c0df5e40f7452a85e32be47b08a7da691f034a3)

Author SHA1 Message Date
Justin Clarke Casey 93977c2d47 * Establish OpenSim.Framework.Communications.Tests beachhead
* No valid tests yet
2008-12-10 17:43:45 +00:00
Justin Clarke Casey 9e02a639e5 * Apply the other patch from http://opensimulator.org/mantis/view.php?id=2315
* This means that LL RAW terrains (one source being the upload/download buttons on the estate dialog in the viewer) are now imported the 'right' way around rather than being 
flipped on the y axis
* Existing RAW terrains before this patch will need to be flipped with the "terrain flip y" command from the console after import
* More details on the mailing lists soon.
-This line, and those below, will be ignored--

M    OpenSim/Region/Environment/Modules/World/Terrain/FileLoaders/LLRAW.cs
M    OpenSim/Framework/Communications/Cache/CachedUserInfo.cs
M    OpenSim/Framework/Communications/Cache/UserProfileCacheService.cs
2008-12-10 16:50:11 +00:00
Justin Clarke Casey 762712c02e * Actually update subfolders of parent folders in the inventory cache when a folder gets moved
* This was causing inventory folder transfer code to not work properly (this is still temporarily disabled)
2008-12-09 18:35:09 +00:00
Homer Horwitz 6ab09bc139 Send the creation-date of items to the viewer. This fixes Mantis#2769. 2008-12-06 22:51:41 +00:00
Dr Scofield bdffd56a45 killing warnings, reformatting RemoteAdminPlugin 2008-12-05 15:28:03 +00:00
MW 2cb30b3435 some small refactoring of the LoginService to allow sub classes to override the LLSD login authentication 2008-12-05 10:31:34 +00:00
Justin Clarke Casey 38ca31b37a * Put in the code necessary to allow inventory transfer of whole folders (and their contents) between agents, not just single items
* However, this is not currently activated since it's not absolutely fully tested and there's a bug lurking in there to do with the sending of the BulkInventoryUpdate packets
2008-12-04 19:57:36 +00:00
MW 8f7c2ba91b changed UserManagerBase. IInterServiceInventoryServices m_interServiceInventoryService from private to protected 2008-12-02 13:15:10 +00:00
Jeff Ames 077314cdd3 Update svn properties. Add copyright header. Minor formatting cleanup. 2008-11-30 00:51:40 +00:00
Justin Clarke Casey 5f9ccd486f * test: Extend take object test to finally check that the object made it into user inventory and that it was removed from the scene 2008-11-28 20:58:12 +00:00
Justin Clarke Casey 71e05a5707 * test: Add a wodge of code in order to be able to slightly extend a test to deliver a taken object to a user inventory folder without throwing an exception
* test doesn't actually double check for the presence of the item yet
2008-11-28 19:39:46 +00:00
Justin Clarke Casey 18974b7766 * refactor: rename UserServiceAdmin to UserAdminService 2008-11-28 16:04:01 +00:00
Justin Clarke Casey 63851f1441 * refactor: move ResetUserPassword into UserServiceAdmin 2008-11-28 15:47:01 +00:00
Justin Clarke Casey 0862627b34 * refactor: move CreateUser into UserServiceAdmin 2008-11-28 15:34:30 +00:00
lbsa71 27d9e715c0 * Changed name of auth function to better reflect actual use 2008-11-28 12:31:30 +00:00
Justin Clarke Casey 45c50998c2 * Remove unused and largely unimplemented UpdateUserCurrentRegion()
* please say if this causes you a problem
2008-11-27 19:43:26 +00:00
Justin Clarke Casey 7c6c776ff7 * test: Add the ability to add a plugin directory to the user and inventory services in order to extend unit tests for user and inventory information
* I can't spend any longer in trying to get Mono.Addins to work with the unit tests, so this is not a proper plugin at this time
2008-11-27 19:28:04 +00:00
Jeff Ames de052c48d1 Add copyright headers. Minor formatting cleanup. 2008-11-25 16:10:08 +00:00
Jeff Ames 518a8b9f2a Update svn properties. 2008-11-25 16:00:55 +00:00
Justin Clarke Casey fbf90b1ece * minor: eliminate mono compiler warnings 2008-11-25 15:41:42 +00:00
Justin Clarke Casey e187972377 * Apply http://opensimulator.org/mantis/view.php?id=2640
* This is Diva's hypergrid patch, as perviously discussed on the opensim-dev mailing list
* Applied some minor prebuild.xml jiggling to resolve a dependency issue
* Thanks Diva!
2008-11-25 15:19:00 +00:00
lbsa71 dbe64197ae * Adding some virtual hooks and making some privaets protected for great justice. 2008-11-25 11:46:15 +00:00
lbsa71 4cfa8b0a10 * First step in refactoring the login code - extracting the authentication 2008-11-25 11:44:31 +00:00
Melanie Thielker fba9e3f513 Don't serve texture preview from other people's objects if you
havenever seen that texture before.
2008-11-23 20:39:51 +00:00
Melanie Thielker cbd0221870 Plumb in the presence notifications and region shutdown/restart messages
from the presence module to the message server, through the user server
and on into the database. This should fix the "Already logged in" issue
that grids see after a sim crashes, or a user crashes out of a sim.
Not yet a 100% solution for friends, but getting there.
2008-11-23 05:16:07 +00:00
Charles Krinke 02fd7751d9 Mantis#2660. Thank you kindly, Ruud Lathrop for a patch that:
This patch adds the option of adding the email when you create 
a new user. This works in Gridmode as none Gridmode. This 
option is also added to RemoteAdminPlugin. With a new handler 
you can create a user with a email.
2008-11-23 03:38:40 +00:00
Melanie Thielker 778d83d9f0 Adjust to the Helpers->Utils rename 2008-11-19 07:03:39 +00:00
Melanie Thielker f518ca7feb Reapply r7369 r7367 r7366 r7370 r7381. This brings it back up to the new
libOMV.
2008-11-19 06:25:34 +00:00
Melanie Thielker 3234472d62 Reverting the texture sending patch and the new libOMV. This makes this
release a direct descendant of the stable 7364, with all the features and
none of the issues.
This omits the following patch chain: r7383 r7382 r7381 r7377 r7375 r7373
r7372 r7370 r7369 r7368 r7367 r7366
2008-11-19 06:15:21 +00:00
Melanie Thielker 0abb762ecc Patch from jhurliman. Fixing the texture decoding issues in progressive
texture sending. Grain of salt not included.
2008-11-18 20:02:25 +00:00
Adam Frisby 434afaf717 * Added and removed debug information relating to client connections
* Minor client fixes
* Added the ability for a client to login without a UserProfile, allowing certain alternate clients to connect to the region.
2008-11-18 00:47:30 +00:00
Justin Clarke Casey c25a0ea792 * Update libOMV to r2359. This is necessary for the progressive texture patch
* Update libopenjpeg as well for this patch.
* Appears to be okay on a very short sniff test
* Source code will be placed in opensim-libs shortly
2008-11-17 21:00:34 +00:00
Homer Horwitz 78d42a7fc8 - Fix a formatting error in a log message (Mantis#2635). 2008-11-16 21:32:10 +00:00
Justin Clarke Casey 50e3eb31b0 * Restore storing null to represent 'missing asset' requests in the AssetCache
* If we don't do this then callers to the polling GetAsset wait the full polling time before returning
2008-11-11 17:54:21 +00:00
Adam Frisby 1493f7349f * Minor typing fixes in AssetCache - now uses base types for nearly everything.
* Code Cleanliness Fixes in LLClientView
* Using field instead of local variable for handlerUpdatePrimGroupRotation (if you notice any new oddities with prim group rotation after this patch, please mantis)
2008-11-11 17:48:36 +00:00
Jeff Ames 5276c4bdf8 Update svn properties, minor formatting cleanup. 2008-11-11 00:52:47 +00:00
Adam Frisby e0498e1638 * Fixed asset bug. 2008-11-09 23:05:08 +00:00
Adam Frisby c43e466301 * Enabled GTCache for AssetCache
* Items will now be locally cached for only 24 hours from last access. (Rather than until restart)
* Caveat: Implementing the new caching mechanism means statistics gathering on AssetCache is no longer functional. (Justin - you might want to take a look and see if you can somehow get that back and running if you still need it)
2008-11-09 15:00:26 +00:00
Jeff Ames bbb8d6fc51 Remove empty OSUUID.cs file. Add copyright headers. Minor formatting cleanup. 2008-11-08 14:28:43 +00:00
Charles Krinke 17e43dcc0f Mantis#2566. Thank you kindly, Diva for a patch that:
This patch introduces a couple of read-only properties, 
so that I can grab the asset server plugin from a region 
module. This is needed to set up an http service for 
accessing standalone assets remotely.
2008-11-06 19:27:18 +00:00
Charles Krinke d664192dfe Mantis#2557. Thank you kindly, Diva for a patch that:
This patch changes a method from private to public.
Will make life easier for the asset mapper for 
the hypergrid.
2008-11-05 02:23:44 +00:00
Dahlia Trimble 8aa16a9acf Thanks diva for patch that makes a bunch of methods in InventoryServiceBase virtual, so that they can be overriden in subclasses. 2008-11-03 05:22:36 +00:00
Homer Horwitz 38e8853e57 Megapatch that fixes/adds: friend offer/deny/accept, friendship termination,
on-/offline updates, calling cards for friends.
This adds methods in the DB layer and changes the MessagingServer, so a full
update (incl. UGAIM) is necessary to get it working. Older regions shouldn't
break, nor should older UGAIM break newer regions, but friends/presence will
only work with all concerned parts (UGAIM, source region and destination
region) at this revision (or later).
I added the DB code for MSSQL, too, but couldn't test that.
BEWARE: May contain bugs.
2008-11-01 22:09:48 +00:00
Justin Clarke Casey 8a3157aa6a * Check in (disabled) results of not persisting avatar textures but rather sending ImageNotFound to clients if avatar textures are missing
* Whilst this does automatically get the client to rebake, on crossing a region border the 'local' assets are left behind
* There may be a cunning solution (such as squirting the assets on region crossing, or having them fetched from the original region) but 
instead I'm going to opt for the easy solution of keeping them in the asset database, for now
2008-10-29 18:38:10 +00:00
Justin Clarke Casey 1ff9709ea3 * Possibly fix grey avatar appearance problems
* And hopefully rebaking all the time should no longer be necessary now
* It turns out that when the client baked the texture, the uploaded asset had the Temporary flag to true (Temporary is actually deprecated).  
* It also had the StoreLocal flag set to true, which signifies that the asset should be stored locally.  If it disappears we should reply to the asset request with 
ImageNotInDatabasePacket
* However, last time this was enabled some clients started crashing.  This may well no longer be the case and needs to be tested, but in the mean time we will store 
the asset instead.
* This needs to be resolved in a better way, possibly by starting to send the ImageNotInDatabase packet again instead
2008-10-28 21:31:23 +00:00
Dr Scofield b91857b8f7 Adding AddXmlRpcHandler(name, method, bool) to selectively disable
KeepAlive for certain XmlRpc handlers.

Making use of new AddXmlRpcHandler method in RemoteAdminPlugin to
avoid clients waiting indefinitely for response.

taking note of BaseHttpServer parameter in CommunicationsManager
constructor (was passed it but then just ignored so far).
2008-10-23 10:15:19 +00:00
Dr Scofield 12042cdc2b From: Alan Webb <alan_webb@us.ibm.com>
cleanups and assorted fixes to REST inventory, asset, and appearance
services.
2008-10-20 18:07:06 +00:00
Homer Horwitz 3a75a54da1 - Fix Util.UnixTimeSinceEpoch:
* Unix epoch starts at midnight, not at 8:00am
  * All date/time handling should be done in UTC in the server, not in
    the local timezone.
  * Refactor out repeated computation of a constant value
- Added setting of CreationTime to some places where inventoryitems
  are created
This fixes Mantis#2390.
2008-10-18 15:26:41 +00:00
Melanie Thielker efe3f3eb2a Megapatch. :) Fix skull attachment editing. Streamline Object terse updates.
Add rezzing time to objects. Add Object return and traffic fields to land
database. Add plumbing for auto return. Implement auto return.
Contains a migration. May contain nuts.
2008-10-18 05:51:36 +00:00
Justin Clarke Casey e4b8912296 * reverse part of a change that accidentally crept in with the last revision 2008-10-17 17:08:14 +00:00
Justin Clarke Casey 138bcf6fff * Apply a modified version of http://opensimulator.org/mantis/view.php?id=2290
* This allows multiple user profile providers to be specified in OpenSim.ini separated by commas
* If multiple providers are specified then a request for a user profile will query each in turn until the profile is either found or all have been queried
* Unfortunately I don't believe this order can currently be specified, which if true is something that will need to be fixed.
* Thanks to smeans for the original patch.
2008-10-17 16:44:05 +00:00
Homer Horwitz ae9e38bf3f Fixed (mono-)script handling for SL viewer 1.21:
- Added two missing caps (UpdateScriptAgent, UpdateScriptTask)
- Added one missing EventQueue event (ScriptRunningReply)
- Changed DNE and XEngine to use this new event
As we only use the mono engine anyway, the "Mono" checkbox is set by
default but doesn't have any function.
2008-10-16 21:46:03 +00:00
Sean Dague 7f721ae20c fix line endings, as apparently the bot didn't do this yet 2008-10-16 15:58:07 +00:00
Justin Clarke Casey 9324c3f110 * refactor: Move error logging from GetUserDetails up to callers, since there are some circumstances in which not finding a user is not an error 2008-10-15 16:35:27 +00:00
Adam Frisby 54d7be8a49 * Adding CrytoGridAssetClient support - allows encrypting assets that are stored on a potentially hostile grid. This is not DRM, not should be relied on until after it's been security audited. I'll write a blog post on this explaining how/why/when you should use this, and what it does. 2008-10-14 08:54:46 +00:00
Teravus Ovares 3ac76db76b * Fixes the last snag with the EventQueue. The situation where the seedcap gets lost on teleport. 2008-10-05 18:42:05 +00:00
Homer Horwitz 16d68749a4 Add the missing bits for the new region-search:
- Added lookup in the data-layer
  - MySQL works
  - SQLite doesn't have a grid-db, so it won't work there
  - I added MSSQL-code to the best of my knowledge; but I don't know MSSQL :-)
- Added the plumbing up to OGS1GridServices. This speaks with the grid-server
  via XMLRPC.
- Modified MapSearchModule to use the new data. It's backward compatible; if
  used with an old grid-server, it just returns one found region instead of a
  list.
- Refactored a bit.
Note: This updates data, grid-server and region code. No new files.
2008-10-03 23:00:42 +00:00
Melanie Thielker fecbb2febd Add a user server XMLRPC method to set the MOTD and the minimum GodLevel
required to log in. set_login_params accepts avatar_uuid and password of a
user with god level 200 or more, and allows setting either or both the
login_motd or login_level
2008-10-01 15:17:37 +00:00
Teravus Ovares 79b2e5ac71 * Replacing Net.HttpListener with HttpServer.
* This is a HUGE update..  and should be considered fraut with peril.
* SSL Mode isn't available *yet* but I'll work on that next.
* DrScofld is still working on a radical new thread pump scheme for this which will be implemented soon.
* This could break the Build!  This could break your Grid!
2008-09-30 16:56:33 +00:00
Justin Clarke Casey 7ec065198a * Apply http://opensimulator.org/mantis/view.php?id=2294
* This is an initial basic experimental code for inventory import and export from the region server
* Probably not yet ready for general use
* Thanks Kayne!
2008-09-29 14:41:16 +00:00
Teravus Ovares 16b6738cda * Patch from JHurliman
* Updates to libomv r2243, 
* Remove lots of unnecessary typecasts
* Improves SendWindData()
Thanks jhurliman. 
* Will update OpenSim-libs in 10 minutes..
2008-09-26 17:25:22 +00:00
Teravus Ovares 17be1b736d * In Standalone, add a persistant account for the OGP user.
* Gridmode, this has no effect at all.
2008-09-25 08:42:48 +00:00
Homer Horwitz fe9aea258f Add persistence of active gestures. This needs an UGAIM update to work.
Active gestures are sent as part of the login-response. Added
fetchActiveGestures to SQLite and MySQL; added an empty one for MSSQL and
NHibernate. Using the empty ones won't cause errors, but doesn't provide
persistence either, of course.
2008-09-24 21:12:21 +00:00
Justin Clarke Casey 3782d6aab7 * minor: Remove some of the redundant asset id storage for now 2008-09-21 20:44:54 +00:00
Justin Clarke Casey 8fb3523ef7 * Start recording asset request times after a cache miss. This is very primtive at the moment - only the last time is kept for some classes of request
* This can be seen as "Latest asset request time after cache miss" in show stats on the region console
2008-09-21 20:29:06 +00:00
Justin Clarke Casey 70e8097e31 * Eliminate the need to copy asset request lists in the asset cache when an asset is received or missing
* Also eliminates a race condition
2008-09-21 18:53:58 +00:00
Justin Clarke Casey 52f0c8d15d * minor: tidy up of AssetCache, remove currently pointless storing of thread reference 2008-09-21 17:49:52 +00:00
Justin Clarke Casey 1a71a3a567 * Fix http://opensimulator.org/mantis/view.php?id=2189
* Allow a grid mode region simulator to properly shutdown even if the grid service is offline
2008-09-21 16:58:14 +00:00
Melanie Thielker 70be30fbaa Completely revert the notecard uploading changes I made, since they
appear to break script saves in prims for some.
2008-09-21 00:05:33 +00:00
Melanie Thielker a8785f5b2c And re-reverse the names from last commit 2008-09-20 22:11:53 +00:00
Melanie Thielker e4bead4edc Remove CAPS notecard updating, as LL isn't supporting it and the viewer
is not playing nice
2008-09-20 22:04:59 +00:00
Melanie Thielker 82d79e3b0b Partially implement notecard saves in task inventory. Still makes the
notecard go read-only, but changes are saved.
2008-09-20 20:56:39 +00:00
Justin Clarke Casey 5fb7b485b2 * Only allow logins on standalone when the sim has completed it's initial startup (script startup doesn't count here)
* There was a small window where region logins were allowed before modules were loaded - avatars logins that hit this window could have caused bad things to happen.
* A similar change will follow for grid mode sometime soon
2008-09-19 17:41:21 +00:00
Justin Clarke Casey ddaa90d270 * refactor: collapse UpdateUserProfileProperties() into existing UpdateUserProfile
* the methods were identical except that the Properties one did a check for the user profile beforehand.  However, every caller was doing this already anyway.
2008-09-15 19:02:34 +00:00
Justin Clarke Casey 6791ac3958 * oops! Add interface file I forgot in the last checkin 2008-09-15 18:35:52 +00:00
Justin Clarke Casey c2ee263999 * refactor: Break out IUserServiceAdmin out of IUserService since admin methods don't need to be implemented on Grid hosted region servers 2008-09-15 18:23:36 +00:00
Justin Clarke Casey 6d289c3ae0 * Add "reset user password" command to standalone region console
* Grid user server implementation to follow shortly
2008-09-15 17:29:11 +00:00
Teravus Ovares cdced699fb * Made Seed CAP response respect the SSL setting. 2008-09-14 23:39:35 +00:00
Adam Frisby 3476dd56ea * Converted a number of methods within the login processes from private to protected.
* Made several methods virtual to allow derivative overrides.
* Minor cleanups.
2008-09-14 04:13:15 +00:00
Justin Clarke Casey 52a4c4d82f * Check in first part of http://opensimulator.org/mantis/view.php?id=2073
* This patch aims to introduce look at direction persistence between logins.  It won't be active until the second part of the patch is committed in about two weeks time.  At 
this point, region servers that haven't upgraded past this revision may run into problems
* This checkin upgrades the user database.  As always, we recommend you have backups in case something goes wrong.
* Many thanks to tyre for this patch.
2008-09-12 20:12:03 +00:00
Charles Krinke 8d6096b815 Mantis#2165. Thank you kindly, CMickeyB for a patch that:
patch is attached that replaces the o(n^2) algorithm currently 
used to build the inventory cache with an o(n) algorithm using 
hash tables. the patch also adds some additional error handling.
2008-09-12 03:33:26 +00:00
lbsa71 e04ce96cee * Removed some legacy commenting 2008-09-11 11:41:52 +00:00
lbsa71 aa12787a17 * Added small convenience function to recursively calculate total amounts of items loaded under library inventory node 2008-09-11 11:39:43 +00:00
Jeff Ames fae34bb10c Update svn properties, formatting cleanup. 2008-09-09 01:26:48 +00:00
Justin Clarke Casey 815278531a * Improve login failure handling.
* Now it should properly inform the user and stop a login if a region server could not be contacted in order to expect a user (the last commit didn't actually quite work correctly)
2008-09-07 05:07:57 +00:00
Justin Clarke Casey ea8c18f63d * minor: just minor doc and tidy up 2008-09-07 00:47:08 +00:00
Melanie Thielker 9e545c9984 Mantis #2133
Thank you, Xugu Madison and ChrisDown, for a patch that
fixes linux filename extensions from .Xml back to .xml
2008-09-06 14:58:23 +00:00
Teravus Ovares 7d89e12293 * This is the fabled LibOMV update with all of the libOMV types from JHurliman
* This is a HUGE OMG update and will definitely have unknown side effects.. so this is really only for the strong hearted at this point.  Regular people should let the dust settle.
* This has been tested to work with most basic functions. However..   make sure you back up 'everything' before using this.  It's that big!  
* Essentially we're back at square 1 in the testing phase..  so lets identify things that broke.
2008-09-06 07:52:41 +00:00
Jeff Ames 9053e8510c Update svn properties. 2008-09-03 14:05:49 +00:00
Melanie Thielker 805deb5a9b Attempt to fix an issue I havebeen seeing, where asset server failure
results in a memory leak which will make the region crash and burn
after a while.
2008-08-31 10:42:35 +00:00
Adam Frisby f57f4d1ab8 * Added "File Asset Client" to OpenSim Asset Server-types.
* You can replace "grid" as the asset system with "file" to save and load all your assets from a directory on your hard disk. Files are serialised to XML and saved in the format "/<dir>/0x/0x/0x/0000-0000-000000-0000-0000.xml"
* Directory <dir> is sharing the Asset Server URL path, use a normal path here instead (ie C:\xyz or /var/assets/). 
* This probably wont work well in grid mode unless every sim has access to the same directory. This is mostly intended for standalone usage where quick and convenient access to assets is required.
2008-08-30 04:42:23 +00:00
Melanie Thielker 10b2a4597a Mantis #1903
Thank you, cmickeyb, for a patch that fixes inventory folder retrieval.
2008-08-28 20:56:53 +00:00
Jeff Ames 3bf8858727 Update svn properties, formatting cleanup. 2008-08-28 14:41:54 +00:00
Dr Scofield 4a3523bc67 this fixes the crash reported by mantis #2046: user server crashing if
no OpenSim.ini file found by GridInfoService. GridInfoService now will
just issue a warning that GridInfo will NOT be available to your users 
if no OpenSim.ini file is available. due to the static nature of 
UserConfig (configuration options hardcoded) i don't think it's currently
an option to move GridInfo into user_server.xml but if anyone wants to 
look into this i'd be delighted...
2008-08-28 07:37:16 +00:00
Melanie Thielker 670719cb76 Mantis #1903
Thank you, cmickeyb, for a patch that prevents the loss of folders received
out of sequence, and the items within.
2008-08-27 00:40:36 +00:00
Jeff Ames 41f616627f Update svn properties. 2008-08-25 14:40:10 +00:00
Teravus Ovares 2912aafe25 * This commit incorporates the heart of the OpenGridProtocol patch that is currently on Forge in a nice, friendly modular format.
* There are a lot of changes and this is quite experimental.  It's off by default, but you can turn it on by examining the bottom of the opensim.ini.example for the proper OpenSim.ini settings.    Remember, you still need an agent domain..  
* Furthermore, it isn't quite right when it comes to teleporting to remote regions (place_avatar)
2008-08-25 07:35:17 +00:00
Charles Krinke 4c40a680fa Mantis#2032. Thank you kindly, Tyre for a patch that:
This small patch provides the required changes to populate 
the columns agentIP and agentPort in table "agents"
Tested with mysql (but should work for all supported db engines)
2008-08-23 18:40:07 +00:00
Melanie Thielker d2d9808742 Thank you, salahzar, for a patch that adds llGetNumberOfSides and will
also enable LSLconformance on some texture functions as well.
Applied the part of the patch in Shared/.
The part for Common/ needs to be reworked to remove the reference
into Shared/
2008-08-23 16:15:17 +00:00
Melanie Thielker ccd74f888b Some complex re-ordering to make prebuild do what needed to be done.
It is now possible to use module interfaces without referencing Scene.
Place those interfaces in OpenSim/Region/Interfaces. They may not
use any refs from OpenSim.Region.Environment as parameters.
This resolves a circular library ref introduced in r5949
2008-08-23 02:30:07 +00:00