Commit Graph

184 Commits (fdc59ee802c5095b2b6f5bd50283a4079702cb93)

Author SHA1 Message Date
Melanie 0b5cdc539c Change teleports so the TeleportFlags are sent to the destination sim. It
can now determine if a connection is from login, teleport or crossing.
Needed for a meaningful banlines implementation
2009-12-29 18:35:06 +00:00
Adam Frisby 8a931a4e91 * Implements some basic Sirikata protocol work (initial handshakes). 2009-12-27 16:07:05 +11:00
Adam Frisby fd777cc7b9 * Implements Sirikata ClientStack Module
* Just a stub (imports all the sirikata protocol, and that's about it.)
2009-12-27 15:03:10 +11:00
Melanie 88b3b98811 Add AvatarInterestsReply 2009-12-26 04:12:51 +00:00
Adam Frisby 6d7c10b2b4 * Diagnosing a connection issue. 2009-12-11 13:19:32 +11:00
Melanie 83b4b4440b Patch by revolution, thank you. Mantis #1789 . Implement friends permissions.
Applied with major changes. Core functionality commented pending review
for possible rights escalation. No user functionality yet.
2009-11-05 02:09:07 +00:00
Melanie c72f78215b Backport the fixes to WebFetchInventoryDescendents to the UDP
InventoryDescendents packet. Testing has shown that UDP inventory now
works flawlessly and, unlike CAPS inventory, doesn't download the entire
agent inventory on start. Neither does it incessantly re-request folder
NULL_KEY. Therefore, I have disabled CAPS inventory.
2009-11-04 01:56:19 +00:00
Melanie 8a64421735 Squelch an error message on sim shutdown when not using MXP 2009-10-30 18:08:58 +00:00
John Hurliman b81c829576 * Standalone logins will now go through the sequence of "requested region, default region, any region" before giving up
* Hip offset should have been added not subtracted (it's a negative offset). This puts avatar feet closer to the ground
* Improved duplicate checking for terse updates. This should reduce bandwidth and walking through walls
2009-10-28 14:13:17 -07:00
John Hurliman ff4b45a1e3 Do case-insensitive comparisons on region names in LLStandaloneLoginModule 2009-10-26 15:12:43 -07:00
John Hurliman 2c34619aea * Changed various modules to not initialize timers unless the module is initialized. Ideally, the timers would not initialize unless the module was actually enabled, but Melanie's work on configuring module loading from a config file should make that unnecessary
* Wrapped the Bitmap class used to generate the world map tile in a using statement to dispose of it after the JPEG2000 data is created
2009-10-23 14:22:21 -07:00
John Hurliman b2ed348aa2 Implemented a Watchdog class. Do not manually create Thread objects anymore, use Watchdog.StartThread(). While your thread is running call Watchdog.UpdateThread(). When it is shutting down call Watchdog.RemoveThread(). Most of the threads in OpenSim have been updated 2009-10-22 12:33:23 -07:00
John Hurliman 2b39ff0a39 Merged master into prioritization 2009-10-21 16:24:17 -07:00
Melanie 2a886fd76c Really make module port selection work. Implement port setting in
LLProxyLoginModule.
2009-10-21 02:19:45 +01:00
John Hurliman 233e16b99c * Rewrote the methods that build ObjectUpdate and ImprovedTerseObjectUpdate packets to fill in the data more accurately and avoid allocating memory that is immediately thrown away
* Changed the Send*Data structs in IClientAPI to use public readonly members instead of private members and getters
* Made Parallel.ProcessorCount public
* Started switching over packet building methods in LLClientView to use Util.StringToBytes[256/1024]() instead of Utils.StringToBytes()
* More cleanup of the ScenePresences vs. ClientManager nightmare
* ScenePresence.HandleAgentUpdate() will now time out and drop incoming AgentUpdate packets after three seconds. This fixes a deadlock on m_AgentUpdates that was blocking up the LLUDP server
2009-10-18 20:24:20 -07:00
John Hurliman fdb2a75ad3 Committing the second part of Jim Greensky @ Intel Lab's patch, re-prioritizing updates 2009-10-17 18:01:22 -07:00
Melanie cdcbd22ba8 Merge branch 'master' into prioritization 2009-10-17 14:51:17 +01:00
Melanie c7da13eb23 Adds SendAvatarInterestsUpdate to IClientAPI
Thank you, Fly-Man
2009-10-17 14:50:21 +01:00
John Hurliman 4b75353cbf Object update prioritization by Jim Greensky of Intel Labs, part one. This implements a simple distance prioritizer based on initial agent positions. Re-prioritizing and more advanced priority algorithms will follow soon 2009-10-15 16:35:27 -07:00
John Hurliman dc11643c00 * Consolidated adding / removing ClientManager IClientAPIs to two places in Scene
* Added some missing implementations of IClientAPI.RemoteEndPoint
* Added a ClientManager.Remove(UUID) overload
* Removed a reference to a missing project from prebuild.xml
2009-10-13 17:33:45 -07:00
John Hurliman 23a334b9f5 * Rewrote ClientManager to remove Lindenisms from OpenSim core, improve performance by removing locks, and replace LLUDPClientCollection
* Removed the confusing (and LL-specific) shutdowncircuit parameter from IClientAPI.Close()
* Updated the LLUDP code to only use ClientManager instead of trying to synchronize ClientManager and m_clients
* Remove clients asynchronously since it is a very slow operation (including a 2000ms sleep)
2009-10-13 14:50:03 -07:00
Diva Canto 36dcfd2b80 * Changed logic of enabling LLProxyLoginModule to follow the new style -- true/false on the name, rather than gridmode=true.
* Better error messages on Add/Remove clients.
2009-10-11 10:23:16 -07:00
John Hurliman 2519f071f2 Fixing a few compile errors in the previous commit 2009-10-06 02:50:59 -07:00
Diva Canto 362e94a022 * KeepAlive set to false in expect_user and log_off.
* Check for null SP in PermissionsModule.
2009-10-04 16:30:12 -07:00
John Hurliman 29a4614529 * MySQL data tests now pass by fixing a bad fix for a bad cast on the asset Local member in MySQLAssetData
* First pass at applying the using(){} pattern to IDisposable objects. Always use the using pattern on IDisposable objects whenever possible, do not manually call .Close() or .Dispose() unless there is no other way to write the code. This pass mostly covers OpenSim.Data.MySQL, and should have no functional change (tests still pass)
2009-10-04 13:57:51 -07:00
Melanie 6878b26b0d Merge branch 'diva-textures-osgrid' 2009-10-04 05:49:16 +01:00
Diva Canto b2cdee5a14 Better error handling to diagnose login problems. 2009-10-03 19:08:56 -07:00
John Hurliman 387e9f7a7f * Creates Util.UTF8 and switches some references of Encoding.UTF8 to Util.UTF8 (not all references were switched since not all OpenSim libraries reference OpenSim.Framework)
* Shrinks the largest in-memory object, the LLRAW.HeightmapLookupValue struct (only used for exporting to LLRAW terrain files), to the minimum possible size. This seems to have the odd side effect of cutting the size of the two double[256,256] terrain objects in half. Possibly an alignment optimization?
2009-10-02 18:31:08 -07:00
Melanie 31d8cec0f8 Merge branch 'master' into diva-textures 2009-10-02 08:23:38 +01:00
John Hurliman 5dfd2643df * Change the signature of the agent set appearance callback to prevent unnecessary serialization/deserialization of TextureEntry objects and allow TextureEntry to be inspected for missing bakes
* Inspect incoming TextureEntry updates for bakes that do not exist on the simulator and request the missing textures
* Properly handle appearance updates that do not have a TextureEntry set
2009-09-30 15:53:03 -07:00
Melanie 400abed271 Add RebakeAvatarTexturesPacket to the client view 2009-09-30 21:33:20 +01:00
Jeff Ames ee205e7e81 Formatting cleanup. 2009-10-01 01:17:47 +09:00
Diva Canto 902279f0fd Moved the property RegionLoginsEnabled from GridComms to the Scene -- not the scene itself but SceneCommunicationService, for now. Beginning to clear the code from using Region.Communications. grid stuff. 2009-09-25 08:39:09 -07:00
Teravus Ovares (Dan Olivares) c605509da3 * Lock timers when Calling Start() and Stop() when the Thread Context is murky. This affects Mono only. 2009-09-09 16:20:19 -04:00
Justin Clark-Casey (justincc) d649194be3 minor: formatting and comments 2009-08-28 12:52:40 +01:00
Adam Johnson a42569d896 Thanks dmiles for a patch that adds PacketType.RequestMultipleObjects Packet Handler - ref mantis #4010 2009-08-16 15:06:06 +09:00
Teravus Ovares (Dan Olivares) 18634e9dd8 minor: comments 2009-08-12 23:18:00 -04:00
Melanie eba23048ca Replace the Replaceable modules name 2009-08-10 23:08:22 +01:00
Teravus Ovares 08819bcbea * Created a way that the OpenSimulator scene can ask the physics scene to do a raycast test safely.
* Test for prim obstructions between the avatar and camera.  If there are obstructions, inform the client to move the camera closer.  This makes it so that walls and objects don't obstruct your view while you're moving around.   Try walking inside a hollowed tori.   You'll see how much easier it is now because your camera automatically moves closer so you can still see.
* Created a way to know if the user's camera is alt + cammed or just following the avatar.
* Changes IClientAPI interface by adding SendCameraConstraint(Vector4 CameraConstraint)
2009-07-19 02:32:02 +00:00
MW acea31518b fixed the bug where changing the rotation of a selection of prims in a linkset, made each of those prims rotate around its own centre rather than around the geometric centre of the selection like they should do (and like the client expects).
This involved adding a new OnUpdatePrimSingleRotationPosition event to IClientAPI so that we can get the changed position from the client. 
Btw adding new events to IClientAPI is really tedious where you have to copy the change across to at least 5 or 6 other files. 
[Note this doesn't fix the bug where any rotation changes to the root prim (but not the whole linkset) cause rotation errors on the child prims.]
2009-07-17 14:58:54 +00:00
Melanie Thielker 8ecfc9a717 Committing the interface change and the addition to the modules to get
the ball rolling on replacable modules. No user functionality yet
2009-07-10 20:17:13 +00:00
Melanie Thielker c310fb11f4 Remove all references to HttpServer from CommsManager (all incarnations)
Change all uses of the HttpServer properties to use the new singleton
2009-07-10 02:22:26 +00:00
Melanie Thielker 3564271c2d Restore the functionality that was removed in r9928. This lets the load
balancer plugin work again. Create a new method, GetClientEP, to retrieve
only the EndPoint for script usage. Marked the purpose of the method
in IClientAPI.cs with a warning. Also restored the corresponding SetClientInfo
functionality.
2009-07-01 15:47:52 +00:00
Dahlia Trimble 147c9bcd45 Make cleartext authentication case sensitive. Thanks jhurliman for spotting this. 2009-06-27 07:49:10 +00:00
Sean Dague 1adeb8ad77 From: Chris Yeoh <yeohc@au1.ibm.com>
This patch ensures that the touch positions are set during touch_end
events (currently only working for touch_start and touch events).
2009-06-19 12:21:20 +00:00
Arthur Valadares f243dddc04 * Corrected CAPS namespaces
* "luke, use the sed"
2009-06-18 14:33:35 +00:00
Justin Clarke Casey 45342067f5 * Move standalone login setup in LLStandaloneLoginmodule to RegionLoaded() from AddRegion()
* This is necessary to avoid a dependency problem where LLStandaloneLoginModule references IInventoryService before the LocalInventoryServiceConnector is registered
* Correct some copypasta log messages in LocalInventoryServiceConnector
2009-06-12 15:41:53 +00:00
diva 156604e28e InterServiceInventoryService references *almost* completely removed from the simulator. Only a couple left, not important. Also updated the login tests -- Justin, this time I was able to fix this by myself :) 2009-06-11 03:00:25 +00:00
Arthur Valadares eb330f71be * Making silent logoff of old hung sessions for new connections default for
StandAlone users. Not touching grid.
2009-06-01 18:34:40 +00:00
Arthur Valadares d0084f08f2 * Allows standalone region users to skip the "You must wait 5 minutes to log again" message and
allow the region to kick the old user and log the new one without reporting any failure.
Default is still to show message and fail login
2009-05-29 22:38:18 +00:00
Adam Frisby ac79ff8dc6 * Adds NAT routing support for MXP Asset Delivery. (This means MXP should be fully NAT compatible.) 2009-05-24 01:36:13 +00:00
Adam Frisby 6b312d9340 * Implements automatic loopback handling for standalone regions.
* This /should/ make OpenSim behave properly when hosting behind a NAT router and utilizing port forwarding (but the router doesn't support Loopback)
2009-05-23 06:29:08 +00:00
Adam Frisby e9ea959263 * Pipes IPEndPoint through all Login methods, including LLSD/OSD login paths. 2009-05-23 06:14:02 +00:00
Adam Frisby 31baeef469 * Pipes requestors IP address through all XmlRpcRequest delegates. This is needed to be able to 'NAT-wrap' the login sequence.
* If you have something using XmlRpc that isn't in core, change your method signature from:
   (XmlRpcRequest request)
to:
   (XmlRpcRequest request, IPEndPoint remoteClient)
2009-05-23 06:05:20 +00:00
Arthur Valadares a85f496f4d * Upgraded LLStandaloneLoginModule, LLProxyLoginModule and LLClientStackModule to new
region modules. This was needed because the stand alone and grid modules weren't deleting
old scenes, which caused an issue when deleting and recreating a region with same name
on same x,y coordinates. Tested it on standalone and issue is fixed. Requires prebuild
to be run again.

Fixes Mantis #3699
2009-05-21 20:28:59 +00:00
Homer Horwitz 99cf8e3f5a Send the owner name, not the client name on SendDialog.
This modifies IClientAPI.SendDialog slightly.
Fixes Mantis #3661.
2009-05-16 16:01:25 +00:00
diva 5e4fc6e91e Heart surgery on asset service code bits. Affects OpenSim.ini configuration -- please see the example. Affects region servers only.
This may break a lot of things, but it needs to go in. It was tested in standalone and the UCI grid, but it needs a lot more testing.
Known problems: 
* HG asset transfers are borked for now
* missing texture is missing
* 3 unit tests commented out for now
2009-05-15 05:00:25 +00:00
Melanie Thielker 1b7d0a6c93 Paving the way for syncing group permissions across a grid 2009-05-12 14:59:11 +00:00
Adam Frisby 6dcafec22d * Implements IP and DNS based ban facilities to OpenSim.
* User interface is ... primitive at best right now.
* Loads bans from bans.txt and region ban DB on startup, bans.txt is in the format of one per line. The following explains how they are read;

DNS bans are in the form "somewhere.com" will block ANY matching domain (including "betasomewhere.com", "beta.somewhere.com", "somewhere.com.beta") - make sure to be reasonably specific in DNS bans.

IP address bans match on first characters, so, "127.0.0.1" will ban only that address, "127.0.1" will ban "127.0.10.0" but "127.0.1." will ban only the "127.0.1.*" network
2009-05-11 19:23:51 +00:00
Dr Scofield e0a06f6416 - moving banned check and public/private check to
Scene.NewUserConnection()
- adding reason reporting

this enforces estate bans very early on and prevents us from
circulating client objects that we'd then have to retract once we
realize that the client is not allowed into the region
2009-05-05 16:17:52 +00:00
Melanie Thielker acfb5051cd Intermediate commit. WILL NOT COMPILE! 2009-05-04 20:15:39 +00:00
Melanie Thielker 36dd346a91 Add a method to flush the prim update buffers once a frame, since the timer
appear to be too slow to be useful, or fail too fire. I may remove the timers
as a consequence if this.
2009-05-04 14:25:19 +00:00
Melanie Thielker 334738fca9 Thank you, mpallari, for a patch that increses efficiency by combining
avatar updates into a single packet.
Applied with changes.
Fixes Mantis #3136
2009-04-30 11:58:23 +00:00
Jeff Ames 8afeee9ff6 Update svn properties, add copyright headers, formatting cleanup. 2009-04-24 00:58:48 +00:00
Justin Clarke Casey ef9d140022 * Add user data plugin to store temporary profiles (which are distinct from cached)
* Plugin not yet used
* Existing functionality should not be affected in any way
2009-04-23 18:24:39 +00:00
Adam Frisby f03cc3ab0e * Adds missing IClientAPI member. (Plz be adding new members to IClientCore!) 2009-04-23 05:13:45 +00:00
Adam Frisby 2af4ca44a6 * Adds additional background layer for VWoHTTP ClientStack
* Implements asset handling.
2009-04-23 04:51:29 +00:00
Justin Clarke Casey c25ceb009e * minor: remove some compiler warnings 2009-04-22 19:43:58 +00:00
Charles Krinke 0f08f4cc4b Thank you kindly, TLaukkan, for a patch that:
Adds connectivity to grid regions. 
* Fixed UserService cast.
* Added exception handling to avoid mxp message handling 
thread to exit and hang the module on unhandled exception.
2009-04-22 19:27:35 +00:00
Dahlia Trimble d2bf957b13 Thanks tlaukkan for a patch that Fixes asset cache url forming for MXP join response message. Addresses Mantis #3505 2009-04-22 17:09:56 +00:00
Sean Dague 026dce23ad fix line endings on new files 2009-04-22 12:22:05 +00:00
Sean Dague 99a1f47c1e fix the build break, thankes mikkopa for pointing out the quick change
to address this.
2009-04-22 12:14:13 +00:00
Adam Frisby 03c307ecdb * Committing stub VW-over-HTTP ClientStack. (1/2)
* Nonfunctional, but eventually form a AJAX-accessible client protocol - for clients written in environments which only allow HTTP (eg HTML, Silverlight, Flash, etc). Designed for super-lightweight clients.
2009-04-22 10:10:19 +00:00
Melanie Thielker d91330ea35 Add PlacesQuery packet 2009-04-20 20:43:48 +00:00
Justin Clarke Casey bd1b478f2c * Change inventory archiver module to use profile cache
* Clean up some log messages
2009-04-17 19:11:03 +00:00
Adam Frisby 03687e2b43 * Added some debug info if MXP is enabled. 2009-04-17 05:23:36 +00:00
Melanie Thielker 4b85cbf0b6 Correctly flag group owned prims in the land prim list 2009-04-16 01:01:40 +00:00
Melanie Thielker ac96722c1d Fix build break and change some groups interfaces 2009-04-16 00:46:24 +00:00
Melanie Thielker 7306b73f02 Commit the group deeding support, thank you, mcortez 2009-04-15 21:07:09 +00:00
diva 0413d052a3 Adds session authentication upon NewUserConnections. Adds user key authentication (in safemode only) upon CreateChildAgents. All of this for Hypergrid users too. This addresses assorted spoofing vulnerabilities. 2009-04-14 19:35:35 +00:00
Melanie Thielker a0417f5791 Thank you, Fly-Man, for a patch that adds the stub to handle the
avatar interests update.
2009-04-14 03:44:27 +00:00
nlin 8e6c20b27f Handle ObjectSpin* packets to spin physical prims on Ctrl+Shift+Drag
Addresses Mantis #3381

The current implementation works as expected if the object has no rotation or 
only rotation around the Z axis; you can spin the object left or right (around
the world Z axis).

It works a little unexpectedly if the object has a non-Z-axis rotation; in this
case the body is spun about its local Z axis, not the world Z-axis. (But SL 
also behaves oddly with a spin on an arbitrarily rotated object.)
2009-04-10 06:39:52 +00:00
Justin Clarke Casey ed6165ab9c * Apply http://opensimulator.org/mantis/view.php?id=3227
* Implement "Add To Outfit"
* Thanks FredoChaplin
2009-04-07 17:46:23 +00:00
Homer Horwitz 8136cf4075 Thanks jonc, for a patch that adds rendering of classic clouds.
First part of Mantis #964, the necessary clouds image will follow separately.
2009-04-04 15:43:02 +00:00
Melanie Thielker f88d755f96 Add PickInfoReply packet.
Fixes Mantis #3324
2009-03-30 11:51:34 +00:00
diva f7eac63e01 Another bit of refactoring to try to make sense of OpenSim.Framework.Communications. Everything that looks like a service, with service handlers, moved to .Services -- i.e. LoginService and Response, and GridInfoService. The rest of the changes were to adapt to the new locations of those files. 2009-03-29 22:04:45 +00:00
Melanie Thielker c483206fd7 Change the client API to use GridInstantMessage for the "last mile" of IM
sending. With this change, all methods that handle IM now use GridInstantMessage
rather than individual parameters.
2009-03-29 05:42:27 +00:00
Melanie Thielker 404bfdc9a6 Finish the offline IM module (still needs a server). Add rudimentary
support for the mute list (no functionality yet, but allows the
RetrieveInstantMessages event to fire now).
2009-03-29 00:48:34 +00:00
Melanie Thielker 4f6c4378da Add mute list request event and dummy response 2009-03-28 04:21:44 +00:00
Teravus Ovares f5812b3702 * Adds AgentUUIDs into the CourseLocationUpdate to improve compatibility with LibOMV based clients.
* Modifies the IClientAPI!  So client stacks will need to be modified!
2009-03-28 01:40:33 +00:00
Melanie Thielker cbef90fec6 Add the events needed for profiles.
Fixes Mantis #3324
2009-03-27 22:47:41 +00:00
Teravus Ovares 52c482a7a7 * This updates LibOMV to the current release 0.6.0 on March 19 2009
* Important:  HttpServer.dll was changed to HttpServer_OpenSim.dll so that the HttpServer references do not conflict if you've copied the OpenMetaverse.Http.dll and requirements to the OpenSimulator bin folder.
This means that if you reference HttpServer.dll in any projects, you will need to change the reference to HttpServer_OpenSim.dll.   It still uses the Same HttpServer namespace though.
2009-03-27 22:13:09 +00:00
Melanie Thielker 37e81c7d54 Remove a hardcoded flow/dependency on the money module from LLCLientView 2009-03-27 18:51:45 +00:00
Sean Dague 6323516a83 * Appearance patches suite: These patches are applied to allow libomv bots to wear outfits in the future.
This functionality will be upstreamed later.
** Fixed call of new AvatarAppearance without arguments, which caused bots look like clouds of gas
** Added a SendAvatarData in ScenePresence.SetAppearance, which is expected after SetAppearance is run
** Fixed AssetXferUploader: CallbackID wasn't being passed on on multiple packets asset uploads
** Set VisualParams in AvatarAppearance to stop the alien looking bot from spawning and now looks a little better.
*** TODO: Set better VisualParams value then 150 to everything
2009-03-25 20:15:46 +00:00
lbsa71 613201e220 * Normalized and pulled GetInventorySkeleton up. 2009-03-20 17:25:12 +00:00
lbsa71 feaa645071 * De-duplicated login service some more
* Normalized m_inventoryService
  * Pulled AddActiveGestures up
2009-03-20 06:49:12 +00:00
Justin Clarke Casey bd2180d9af * refactor: Create IHttpServer interface instead of accessing BaseHttpServer via CommunicationsManager directly 2009-03-19 18:11:44 +00:00
Justin Clarke Casey 7658e30dfc * minor: remove compiler warning 2009-03-17 21:20:58 +00:00
Homer Horwitz 66f0445173 Mantis#3306: Thanks tlaukkan for a patch that
adds primitive hierarchies support to MXP and improves client disconnect handling.
2009-03-16 21:41:51 +00:00
Homer Horwitz abc5df12c8 This patch improves MXP connect and disconnect functionality.
- Avatars are now properly on top of terrain.
- ScenePresence is now removed from Scene only once.
Fixes Mantis #3302. Thanks tlaukkan.
2009-03-15 21:34:28 +00:00