Homer Horwitz
e3cbde0f39
Mantis #904 : Thanks jonc, for a patch that adds "useragents" table to
...
SQLite and stores the logout position in standalone mode.
Note: This adds a migration for SQLite, so do your runprebuild
2008-09-16 18:59:13 +00:00
Jeff Ames
ab30c6dc62
Update svn properties, minor formatting cleanup, fix a compiler warning.
2008-09-15 14:21:57 +00:00
Melanie Thielker
2819559499
Mantis #2124
...
Thank you, RuudL, for a patch that brings MSSQL up to the same
implementation level as MySQL.
2008-09-14 13:23:02 +00:00
Teravus Ovares
af899e50c2
* Adds regiondata and estatedata persistence in Sqlite. This commit is actually an assist. 99% of the work was already done by Melanie.
2008-09-13 22:29:36 +00:00
Jeff Ames
b4141f9e56
Formatting cleanup.
2008-09-13 22:07:07 +00:00
Teravus Ovares
e8d51b76fe
* Fixes SQLite load crash.
...
* added primary key to regionsettings table in the cached table
* initialized the data adapter.
* Still untested fully, so watch out!
2008-09-13 21:01:21 +00:00
Melanie Thielker
9b9f1bc191
Add region settings support to SQLite (untested!)
2008-09-13 20:37:36 +00:00
Sean Dague
39902fef77
wrap log4net configure in try block so that it will run if you don't have a
...
.config (which no one does). Dropping in the .config lets you see that debug
messages, which is handy while writing tests and figuring out why things don't
behave like you would guess.
2008-09-13 02:29:04 +00:00
Sean Dague
fcc716104b
2 more InventoryItem tests, plus see if I can leave the log4net
...
configure in there to help me get debug messages while developing.
2008-09-13 02:06:23 +00:00
Justin Clarke Casey
2fcc131ef3
* Patch http://opensimulator.org/mantis/view.php?id=2163
...
* Add prim ClickAction persistence to SQLite
* This will require a prebuild
* Thanks nlin!
2008-09-12 20:37:07 +00:00
Sean Dague
9349cf3149
move the actual [Test] methods for databases to OpenSim.Data.Tests
...
classes. This did mean loosing 1 unit test that was actually testing
an sqlite function directly instead of the interface.
2008-09-12 18:13:43 +00:00
Sean Dague
96c720b04a
be more clever and move the bulk of the db tests for inventory into
...
OpenSim.Data.Tests, then subclass with custom init bits for sqlite.
As I've only been testing the plugin interfaces anyway, this should
make it very easy to write only a little bit of code to use these
tests for other databases. It will also give us the framework for
definining the datastore behavior and making sure that all the databases
do the same thing.
2008-09-12 16:05:06 +00:00
Sean Dague
7d61559058
more inventory folder tests
2008-09-11 20:52:35 +00:00
Sean Dague
45df1aaa64
add some folder create and list tests
2008-09-11 18:49:37 +00:00
Sean Dague
380af0b939
added simple add / exists folder check
2008-09-11 18:49:10 +00:00
Sean Dague
7ba9bfc8ad
add a few more SQLite Asset tests.
2008-09-11 17:52:11 +00:00
Sean Dague
0a9c6aecb5
added very basic stubs for User and Inventory db creates and empty
...
calls to make sure they worked
2008-09-10 21:36:20 +00:00
Sean Dague
a90d2b491f
fix typo in name of test db
2008-09-10 21:36:12 +00:00
Sean Dague
121398732a
add basic sniff tests for SQLite Asset store. Initializes a db,
...
stores an asset, fetches that asset, make sure it has the name
we gave it. All simple stuff, but should catch the more egregious
breaks.
2008-09-10 20:33:13 +00:00
Sean Dague
71f2176c4b
add a simple update attribute test for SOG & SQLite
2008-09-10 20:33:02 +00:00
Sean Dague
cc7ff3ac2e
added in a few more tests
2008-09-10 19:14:12 +00:00
Sean Dague
3f73884674
the explicit log4net configure attempt was maybe breaking bamboo, get
...
rid of that.
2008-09-10 18:17:10 +00:00
Sean Dague
f970597194
added the first couple of sqlite tests. we'll see how bamboo
...
handles them.
2008-09-10 17:49:41 +00:00
Sean Dague
1799913593
add shell for SQLite testing. No tests yet.
...
add another nant target for test-xml to get the verbose
version
2008-09-10 17:49:37 +00:00
Jeff Ames
b9b996be38
Update svn properties, minor formatting cleanup.
...
Fix unreachable code due to typo in llDetectedGroup.
2008-09-10 05:17:28 +00:00
Teravus Ovares
fac18f608d
* Fixes Sqlite crash bug when saving a prim.
2008-09-09 23:42:44 +00:00
Sean Dague
6f15ec2d46
possible fix for EARTH SHATTERING KABOOM! when trying to save a prim
2008-09-09 20:45:21 +00:00
Sean Dague
017a6f5511
fix an automatically stripped out UUID from SQLiteManager
...
fix some spacing in SQLiteRegionData
2008-09-09 20:23:10 +00:00
Sean Dague
66dad4ab03
hopefully fix embedded inventory for sqlite
2008-09-09 18:44:54 +00:00
Jeff Ames
fae34bb10c
Update svn properties, formatting cleanup.
2008-09-09 01:26:48 +00:00
Melanie Thielker
490ac0be00
Implement proper persistence of the following prim properties:
...
Floating text, Rotation, Texture animation, Particle System
This will make "Eye Candy" scripts work without modification in
XEngine. The use of the CHANGED_REGION_RESTART hack is no longer
needed. Implemented in MySQL only, hovertext also in SQLite.
2008-09-08 02:40:20 +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
Sean Dague
605ceb6176
Fix for Bug #2065 : New check out crashes on sqlite migration
...
I apparently missed one drop tables statement that was actually needed
when I did the cleaning to make this work for old sqlite versions.
2008-08-28 12:47:55 +00:00
Sean Dague
3465a5772a
cleaning out cruft from pre-Migration days
2008-08-27 19:24:48 +00:00
Sean Dague
066715415a
getting rid of pre-Migration cruft
2008-08-27 19:24:46 +00:00
Sean Dague
c75f1fcde8
we are now past change 6000, so getting rid of pre-Migration cruft
2008-08-27 19:24:45 +00:00
Sean Dague
b625a36ae5
we are now past change 6000, so getting rid of the pre-Migration
...
upgrade cruft
2008-08-27 19:24:40 +00:00
Sean Dague
f87f8b3b9f
get rid of the "drop if exists" lines in this old migration, as those
...
tables shouldn't exist yet, and the exists keyword is relatively new in
sqlite. This has been breaking a lot of people on Suse Enterprise Linux,
for instance.
2008-08-27 17:32:02 +00:00
Charles Krinke
e2b0852c93
Mantis#2052. Thank you kindly, Avdleeuw for a patch that:
...
After having built revision 5992, OpenSim would start while
issuing some errors regards updates to user profiles (Master
Avatar, and other manually added avatars). Issue 2027 dealt
with the MySQL part. This issue deals with the SQLite part.
2008-08-27 02:45:10 +00:00
Jeff Ames
07b04213d7
Update svn properties, minor formatting cleanup.
2008-08-19 22:41:39 +00:00
Melanie Thielker
41440e184b
Attachment persistence (Mantis #1711 )
...
Change user server to handle attachment assets record properly. Ensure
that attachments are not re-rezzed on region crossing. Persistence
will NOT WORK with earliser UGAI!!
Change region server to match.
2008-08-19 18:34:46 +00:00
Melanie Thielker
05506cff49
Avatar Attachment persistence!! Patch #9168 (Mantis #1171 )
...
Plumbs in attachment persistence and adds the tables. Currently MySQL
only, no user functionality yet.
2008-08-18 17:22:36 +00:00
Jeff Ames
6ef9d4da90
Formatting cleanup.
2008-08-18 00:39:10 +00:00
Melanie Thielker
04488d9d38
Plumb in the partner and the account title fields for profile info.
2008-08-15 22:49:26 +00:00
Melanie Thielker
7161689a97
Adds UserFlags and GodLevel to the user data store and plumbs then in.
...
This will have no effect unless both the UGAI and the region are
this revision or later
2008-08-14 19:59:32 +00:00
Melanie Thielker
17715da311
Add the UserStore migrations to the TP fixes patch
2008-08-14 11:15:11 +00:00
Melanie Thielker
e3157e61aa
Mantis #1946
...
Thank you, HomerHorwitz, for a patch that corrects and improves TP
to landmark and home position handling.
2008-08-14 00:04:37 +00:00
Charles Krinke
54af3b4f4d
Mantis#1903. Thank you kindly, CMickeyb for a patch that:
...
patch attached replaces the tree walk algorithm used to build the
folder hierarchy with a single database query. That is, we replace
1 database query per folder with 1 query for the root folder's
properties and 1 query to retrieve the entire collection of folders for a user.
2008-08-10 16:44:25 +00:00
Jeff Ames
0718aa0b7f
Minor formatting cleanup.
2008-08-07 12:55:46 +00:00
Mike Mazur
d367f0bf0c
Thanks, zaki, for a patch that embeds plugin manifest files into plugin dlls. Fix issue 1876.
2008-08-06 01:20:31 +00:00
Melanie Thielker
12c5bfa3e0
Estate series, patch 9 ( #9157 )
...
Adds the new access semantics and the new flag (allow only age verified)
Plumbs in the abuse email address from sim to viewer. The other way around,
libomv appears to be lacking support for the data field in the packet.
Includes a migration, run prebuild!
2008-08-01 21:08:00 +00:00
Melanie Thielker
c9b39972ca
Add the missing migration files :/
2008-08-01 02:54:28 +00:00
Melanie Thielker
43f3b9ad7b
Patch #8 in the estate series. Introduces the concept of an estate
...
owner (alongside the master avatar) and provides storage fo the
abuse email address. No user functionality yet.
This patch includes a migration.
2008-08-01 02:14:34 +00:00
Mike Mazur
15669281fa
Apply updated patch from issue 1871. Thanks sempuki.
2008-07-31 23:53:24 +00:00
Mike Mazur
2270b25265
Thanks, sempuki, for a patch that moves all Grid Server's plugins to
...
PluginLoader. Fix issue 1871.
2008-07-31 09:24:28 +00:00
Justin Clarke Casey
fd4e703f25
* Remove dumb bug I put in which meant that an archive save would never complete if there were any missing assets
2008-07-25 15:18:24 +00:00
Sean Dague
cf317f5c33
refactor TaskInventoryItem Mask -> Permissions to be consistant with how things
...
are stored in the db.
2008-07-23 22:14:29 +00:00
Sean Dague
090159defc
refactored LandData to use properties, and cleaned up the naming on
...
the properties a bit to be more consistant with other objects (having things
like .Name .Description, etc).
2008-07-23 15:50:32 +00:00
Jeff Ames
80d8e2889e
Update svn properties. Formatting cleanup. Remove a compiler warning.
2008-07-23 13:24:25 +00:00
Mike Mazur
a0930aa80d
Thanks, sempuki, for a patch that moves control of Mono.Addins from source attributes to external XML files. Fix issues 1682 and 1786.
2008-07-23 03:08:31 +00:00
Melanie Thielker
212ab8c6d9
Change SQLite argument marker from the more standard '@' to the ':' supported
...
but earlier versions of the SQLite dll
2008-07-19 21:01:10 +00:00
Melanie Thielker
a73d87ef16
Introduce a separate connection string for estates, which defaults to the one gi
...
ven for the region datastore. Removes the flag to store prim inventories, which are now always stored.
2008-07-18 20:50:47 +00:00
Melanie Thielker
bbd076544d
Patch to fix saving of estate managers list loaded during migration.
...
No longer teleports an agent home unless their root agent is being banned.
Visual blocking is still in effect.
2008-07-18 19:32:05 +00:00
Dr Scofield
449c09234d
fixing copy & paste artefact.
2008-07-18 15:36:38 +00:00
Sean Dague
611b56070b
add some locks back into the sqlite asset path, as something changed
...
that is causing a lot of out of order execution on asset fetches on
multi region sims.
2008-07-18 15:34:32 +00:00
Sean Dague
df1485fc51
remove all the odd quoting, on the off chance this was causing some
...
of the issue.
2008-07-18 15:19:52 +00:00
Sean Dague
d9ba7c8339
put the entire thing inside a transaction. This probably doesn't
...
help much, but it might.
2008-07-18 15:13:19 +00:00
Sean Dague
e2a3be254f
fix typo in create index that caused the entire migration to fail.
...
put some drop table if exist clauses in here to hopefully let this
migration work for people that are in an intermediary broken state
right now.
2008-07-18 15:10:20 +00:00
Dr Scofield
0171e76246
squashing further warnings.
2008-07-18 10:57:18 +00:00
Mike Mazur
e0e0db3660
Thanks, sempuki, for a patch that moves all grid plugins to new PluginLoader (issue 1763).
2008-07-18 04:51:41 +00:00
Melanie Thielker
263633e274
Patch #9151
...
Makes the estate dialog fully functional. Implements all client facing functionality. Moves estate data from estate_settings.xml, which is used to provide defaults, to the region data store. Creates one estate for each region, and places the region in it. Converts all region bans to estate bans.
2008-07-18 02:40:47 +00:00
Melanie Thielker
12173034d9
Patch #9148
...
Patch 5 in the region settings series. Adds a migration to ensure corrupted
data is purged and re-read from defaults. Some changes. Still no full
functionality
2008-07-14 01:29:48 +00:00
Sean Dague
867d72c956
change SitTarget calls from functions to properties
2008-07-07 20:12:14 +00:00
Justin Clarke Casey
1813946937
* remove unused CommitAssets() hook for now
2008-07-07 19:18:44 +00:00
Jeff Ames
fde6983cce
Update svn properties.
2008-07-03 03:01:02 +00:00
Justin Clarke Casey
9052c43319
* Drop InvType from the assets table since it is no longer used
...
* Migration should be automatic on sqlite and mysql
* Migration is not automatic on mssql, you will need to drop the invType column manually
* Migration should be fine, but as for any db change, I would recommend making sure you have backups before moving past this revision
2008-07-02 16:20:54 +00:00
MW
f3f31744ab
patch and files from mantis #1630 , Thanks Melanie
2008-06-29 11:48:58 +00:00
Dr Scofield
748f72326d
last round of warning squashing. calling it a day now.
2008-06-27 23:03:39 +00:00
Charles Krinke
ca8d1d57e1
Mantis#1591. Thank you graciously, Sempuki for a patch that:
...
Currently module loading is done ad-hoc. I propose creating a simple
loader class that leverages Mono.Addins (and perhaps the new .NET
addins when they become available in mono). Attached is a basic
patch for review that compiles into HEAD, but doesn't yet replace
any existing ad-hoc loaders.
2008-06-27 02:15:57 +00:00
Jeff Ames
9fae975a53
Apply patch from bug #1605 -- Documentation for Data/SQLite. Thanks kerunix_Flan!
2008-06-26 20:14:33 +00:00
Charles Krinke
1c6bf4fe77
Mantis#1595. Thank you, Melanie for a patch that:
...
Adds pipes for the prim item flags field
2008-06-26 02:51:59 +00:00
Sean Dague
ce9c584341
add migrations to mysql and sqlite for flags on embedded inventory
2008-06-25 18:57:21 +00:00
Teravus Ovares
2758bc81ad
* Persists region banlists across reboots for the sqlite datastore also now.
2008-06-21 06:50:38 +00:00
Teravus Ovares
a5860ad438
* Adds Region ban capability to Regions. You access this by going to World->Region/Estate. Then on the Estate tab, at the lower right hand corner, clicking the 'Add' button and picking an avatar.
...
* It only persists across reboots for the mySQL datastore currently.
* Currently have stubs in the other datastores.
2008-06-21 03:29:08 +00:00
Teravus Ovares
4448fd4b2f
* Handle parcel telehub location corruption gracefully. DBNull
...
* mySQL this time.
2008-06-20 18:46:43 +00:00
Teravus Ovares
f8b1785467
* Handle parcel telehub location corruption gracefully. DBNull
2008-06-20 17:07:01 +00:00
Sean Dague
6c23acf41b
add indexes for sqlite inventory
2008-06-13 14:27:46 +00:00
Justin Clarke Casey
7cdedcaf0e
* minor: Remove and tidy duplicate 'storing object to scene' messages in log
2008-06-12 18:18:59 +00:00
Sean Dague
6c1fce6147
check in working migration code fore SQLite. This
...
is now using migrations instead of the old model to
create tables. Tested for existing old tables,
and for creating new ones.
2008-06-11 21:01:33 +00:00
Sean Dague
68b98aecab
updated resources for current sqlite schema for migrations
2008-06-11 20:04:01 +00:00
Teravus Ovares
febe78d062
* Implements UserServer logoff in a few situations
...
* User tries to log-in but is already logged in. Userserver will send message to simulator user was in to log the user out there.
* From the UserServer, admin types 'logoff-user firstname lastname message'.
* Some regions may not get the message because they're not updated yet.
2008-05-31 12:18:29 +00:00
Sean Dague
89c164fbc1
let Grid Servers specify a connect string in their configuration.
2008-05-28 17:59:46 +00:00
Sean Dague
3e997772ea
implement in memory appearance cache for sqlite. This
...
isn't db backed, but will hang around between reboots.
2008-05-21 20:36:34 +00:00
Sean Dague
53bcf2139e
this removes use of the mapper for wearables, and I can confirm things
...
get saved to the database. There are still issues on wearing things
after a cleared cache that I'm looking at now.
2008-05-21 18:02:09 +00:00
Jeff Ames
65c5efe43b
Formatting cleanup.
2008-05-16 01:22:11 +00:00
Sean Dague
4a9ee9f870
testing avatar appearance as a user service
2008-05-15 20:25:42 +00:00
Sean Dague
4ff4475d02
remove my UserAppearance object, switch all code to use
...
AvatarAppearance instead.
2008-05-15 18:42:27 +00:00
Jeff Ames
6a1b787436
More formatting cleanup.
2008-05-14 05:33:32 +00:00
Jeff Ames
c995d60d37
Formatting cleanup.
2008-05-14 05:11:23 +00:00
Adam Frisby
5843f595a7
* Fixed some compiler warnings
...
* Fixed prebuild.xml to remove DB4o references (more compiler warnings)
2008-05-07 21:42:23 +00:00
Teravus Ovares
7b446aba91
* Implemented DIE_AT_EDGE and Temporary objects don't save to the database.
2008-05-04 22:55:52 +00:00
Sean Dague
1b7f1c956c
plumb in connection string to the user database paths. mysql and mssql
...
just ignore this for now, but it lets us get connect strings to sqlite
and nhibernate.
2008-05-02 18:59:12 +00:00
Sean Dague
4a8f432441
minor refactoring. Change getName and GetVersion methods (yes the had different casings)
...
to Name and Version properties for the User stores.
2008-05-02 12:35:24 +00:00
Sean Dague
86d2e53d1f
added stubs for appearance bits to all the db layers
2008-05-01 20:16:26 +00:00
Adam Frisby
76d8eaa406
* Thanks to Mic Bowman for inspiring me to look at that we are still using ASCIIEncoder in places we shouldn't.
2008-05-01 18:50:44 +00:00
Adam Frisby
01f31fd933
* Breaking all the code, breaking all the code..!
...
* Made a bunch more members static, removed some dead code, general cleaning.
2008-05-01 16:23:53 +00:00
Adam Frisby
5231903778
* In ur code. Making it static.
...
* Converted a bunch of functions to static functions.
2008-05-01 16:03:53 +00:00
Adam Frisby
4692e92312
* Assorted spring cleanings.
2008-05-01 14:45:56 +00:00
Justin Clarke Casey
d72bdf432a
* Align new fields upgrade sql to have the same 'not null' and default settings as when an inventoryitems table is newly created
...
* Normalize logging titles in database code, though this doesn't yet cover invoking code
2008-05-01 13:27:40 +00:00
Teravus Ovares
4dfc9bdd0b
* Whoops, SQLite land data malfunction. Fixed.
2008-05-01 00:40:47 +00:00
Adam Frisby
25a49ac4de
* Spring cleaned a bunch of '//TODO: unused' marked functions.
2008-04-30 23:11:07 +00:00
Teravus Ovares
19723767a9
* Adds the AuthbuyerID field to sqlite and makes use of it.
...
* Includes a more user-friendly way of adding it saying, 'Your land table was recently updated. You need to restart the simulator. Exiting'
2008-04-30 21:15:48 +00:00
Teravus Ovares
b70da6ac19
* Patch by Melanie. Implements proper objectflags on child objects. Thanks Melanie!
...
RE: 0001079: r4387. touch() event does not fire when touch script is in root prim and child prims are touched
2008-04-30 16:52:12 +00:00
Justin Clarke Casey
eac3fd51f0
* Deal with a situation where the new fields in the inventory store are null on sqlite
...
* This is due to a preparatory change I made yesterday
2008-04-30 16:41:05 +00:00
Justin Clarke Casey
f3b44deeee
* Trivial sqlite inventory db log message change so I can pick out the messages more easily
2008-04-30 16:28:29 +00:00
Teravus Ovares
a9cc76e0ef
* Long awaited patch from A_Biondi Mantis 923. Kept alive by Melanie. Thanks A_Biondi and Melanie!
...
* This builds but might not work. JustinCC will examine.. it may work out of the box.
2008-04-30 16:08:24 +00:00
Justin Clarke Casey
41207b5fa0
* Preparatory work for autoupgrade of sqlite inventory tables in preparation for patches in mantis #923
2008-04-29 17:21:17 +00:00
Sean Dague
3dd98a112f
allow for Inventory database source to be specified in main
...
configs. This works with sqlite and nhibernate backends, and
stays with default seperate ini files for mysql and mssql until
someone writes those.
2008-04-23 20:48:23 +00:00
Sean Dague
a1cc0e436f
changes to allow asset_source to be specified in the opensim.ini
...
this will work for sqlite and nhibernate, but will be ignored for
mysql and mssql (reverting to their ini files) until someone writes
that bit.
2008-04-23 19:13:06 +00:00
Adam Frisby
fef3b36894
* Optimised using statements and namespace references across entire project (this took a while to run).
2008-04-21 07:09:17 +00:00
lbsa71
cbf9fcfac5
* Discerned between AddProfile and UpdateProfile in region registration
...
:: Believe it or not, but INSERT/UPDATE is actually a better pattern than REPLACE, since, with INSERT/UPDATE you can catch erroneous UPDATES to non-INSERTed items as well as catch erroneous re-INSERTS. in 95% of the cases, you SHOULD have a clear INSERT context, and a clear and separate UPDATE context. If you think your case falls within the 5%, maybe you should re-evaluate your code. ::
2008-04-11 09:56:22 +00:00
Sean Dague
55ac1c6dce
renaming of attributes in UserAgentData for readability
2008-04-10 14:50:52 +00:00
Sean Dague
ef7dfae41c
changing UserAgentData to use properties. This caused more
...
grief than expected, as monodevelop doesn't like to refactor
properties of properties.
2008-04-10 14:37:17 +00:00
Sean Dague
25fea01b92
further renaming of properties for clarity
2008-04-10 14:09:30 +00:00
Sean Dague
c176caeb05
moved fields to properties for UserDataProfile, which was
...
actually a little more work than I expected given the copious
use of out params.
2008-04-10 13:53:06 +00:00
Sean Dague
a6d27e0929
further refactor and rename of InventoryFolderBase properties
...
to reflect what they really are.
2008-04-08 23:26:31 +00:00
Sean Dague
5ee75998ce
more refactoring, this time on InventoryFolderBase
...
* wrap attributes in properties
* clean up names a little bit
* clean up name styles
2008-04-07 23:27:05 +00:00
Sean Dague
f436815107
Refactor InventoryItemBase to do the following:
...
* wrap fields as Properties
* rename some fields/properties to more sensible names
* set style to PropName to match more standard C# approach
2008-04-07 23:15:35 +00:00
Sean Dague
2b23734a16
add some error messages for abuse of our IInventoryData interface
...
(i.e. using add to update, or update to add).
2008-04-07 15:01:00 +00:00
Sean Dague
30ea28c3b1
fix ups to include OpenSim.Framework explicit includes (they
...
were implicitly included before). Everything builds again.
Now off to testing.
2008-04-02 16:00:40 +00:00
Sean Dague
f52c8f3970
attempt to fix up all refernces to new directory structure
2008-04-02 15:36:01 +00:00
Sean Dague
c52c68f314
whole lot more moving
2008-04-02 15:24:31 +00:00