Commit Graph

1035 Commits (01a22d940fa9894acef8cc21a9031ea2abd82656)

Author SHA1 Message Date
Justin Clarke Casey 5ffbba9a8f * minor: Take out some of the test log output I accidentally left in a couple of commits ago 2008-12-04 21:06:25 +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
Justin Clarke Casey 18ba6c3510 * minor: A few tiny bits of documentation and log message cleanup before starting something different 2008-12-01 20:28:00 +00:00
Jeff Ames 077314cdd3 Update svn properties. Add copyright header. Minor formatting cleanup. 2008-11-30 00:51:40 +00:00
Melanie Thielker ef4a80eeaf Should have tried with something other than attachments. Make normal prim
render again :)
2008-11-29 03:18:06 +00:00
Melanie Thielker 287c724b55 A try to better attachment crossing. 2008-11-29 01:33:10 +00:00
Teravus Ovares c9a5215d6d * Fixes Location == Location, and Location != Location 2008-11-28 20:37:21 +00:00
Justin Clarke Casey dfbec673a4 * simplify AddNewClient since making this root without using MakeRootAgent() no longer sets everything up properly 2008-11-28 20:11:17 +00:00
Teravus Ovares 414bf2aaf1 * The equals override of 'Location' is not working as expected. This caused sim restarts to fail because the test that searches for and shutsdown the UDP server listener for that region never found and shutdown the udp server. hence the error message, "only one listener on port".
* This is a high profile candidate for a unit test. (big)
2008-11-28 19:44:44 +00:00
Justin Clarke Casey df9b0e9e11 * refactor: Replace derez destiation magic numbers with an enumeration 2008-11-28 17:18:10 +00:00
Melanie Thielker d20a3c6e5a Cause attachment nibbles to be swapped in terse object updates, too.
This error may have been the root cause of the head attachment bug.
2008-11-27 22:30:54 +00:00
Justin Clarke Casey 8ba6b2b11a * minor: remove mono compiler warnings 2008-11-27 19:51:11 +00:00
Charles Krinke 921692a15f Thank you kindly, Nlin for a patch that:
Adds a new method to IClientAPI to allow adding message handlers 
for GenericMessages (of which "autopilot" is one). Part 2 adds a 
specific autopilot handler in ScenePresence.cs.
2) Removing unused variables and functions.
3) Simplifying the navigation logic in ScenePresence.cs. The 
original patch was somewhat complex because it included orientation
logic for a future enhancement of orienting the avatar to point 
towards the direction being walked. Currently this isn't working, 
though, so I removed the orientation code, which leaves just the 
smaller and hopefully simpler-to-understand movement code.
2008-11-27 05:16:47 +00:00
Justin Clarke Casey 7c2f8e2ee9 * Get rid of the phenomena where the avatar sometimes reverts to the stand animation when flying across borders
* Applies to both standalone and grid mode
* The slight retardation on border cross remains - this is a separate issue
2008-11-26 16:56:57 +00:00
Homer Horwitz 1148d9a11c Removing some direct console output for outputting ImprovedInstantMessage packets. 2008-11-22 17:42:23 +00:00
Melanie Thielker c71863d83e First stage group permissions plumbing 2008-11-22 01:58:36 +00:00
Melanie Thielker ba723a4cf6 Refactor: Scene.ExternalChecks -> Scene.Permissions. Also make all
the internals of the permissions module adapter sane
2008-11-21 22:14:57 +00:00
Justin Clarke Casey 915593bfbc * refactor: Rip out SOP inventory from the partial into a separate class
* SceneObjectPartInventory.cs isn't a particularly good name but it's probably not got a long life
* A proper inventory interface to follow
* Parallel changes for other inventory partial classes to follow at a later date
2008-11-21 21:16:42 +00:00
Jeff Ames ecac5c9c5a Update svn properties, minor formatting cleanup. 2008-11-21 18:44:48 +00:00
Melanie Thielker e9ad6f7913 Plumb in the list if user IDs to the land module to allow selection
of objects by owner name
2008-11-21 04:41:39 +00:00
Justin Clarke Casey b9c07730f5 * refactor: change some method names and doc in the physics plugin manager
* move the directory choice for plugins outside into RegionApplicationBase
2008-11-20 19:52:55 +00:00
Charles Krinke 164ed57ad3 Mantis#2638. Thank you kindly, Sacha Magne for a patch that:
Implementing "Play sound inworld". Currently a WIP .
2008-11-19 18:41:10 +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
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
Melanie Thielker 2b8915d679 Make newly created prims be the correct group 2008-11-17 23:43:46 +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
Melanie Thielker 0a01826843 Change some comments that have been superseded 2008-11-17 18:16:08 +00:00
Justin Clarke Casey 558704be8b * Remove the TransferRequest and hip debugging console output that crept in recently 2008-11-17 16:14:23 +00:00
Melanie Thielker 4d23d22fb1 Remove a redundant parameter 2008-11-16 23:25:36 +00:00
Melanie Thielker 5e2e05a1c1 Megapatch. Completely remove the multiparameter IM methods. Remove the insecure
fromAgentSession field.
2008-11-16 22:04:01 +00:00
Melanie Thielker 27e557eb98 Introduces the message transfer module. It splits the transfer mechanics off
the IM module and makes it into a module of it's own, which can be used by
all other modules. Removes some ugly hacks. Refer to the IM module to see
how it's used. Also fixes the persistence issue (Mantis #2598)
2008-11-16 00:47:21 +00:00
Justin Clarke Casey 2bb4b45626 * Move test scene construction infrastructure methods to a separate class for future common use 2008-11-14 20:06:44 +00:00
Melanie Thielker d66f3993de Add group permissions to agent inventory.
Contains a migration. May contain nuts.
Please back up your inventory data store. This revision changes the interface
version!! No older regions can connect to these new UGAIM, and the new regions
can't connect to the old UGAIM. Fixes a long-standing issue of permissions loss
Currently persisted on MySQL only.
2008-11-14 18:54:38 +00:00
Teravus Ovares 3e4b094921 * Implements terrain raw upload. You can now upload your .raw terrain files using the Estate Tools.
* Could this be extended in the future to support .oar uploads too?  Only time will tell!
2008-11-14 14:42:00 +00:00
Melanie Thielker 4f91da2488 More groups plumbing 2008-11-14 05:18:39 +00:00
Justin Clarke Casey e2ab576572 * Stop locking the scene presences dictionary for the entire agent crossing part of the login sequence
* This may alleviate a little the freezing experienced by existing avatars when a new client logs in
* Race condition risks look minimal since one wouldn't expect another thread to start fiddling with that presence
2008-11-12 18:12:18 +00:00
Melanie Thielker 47a5d71b7e Prevent pieces from other people's HUDs from displaying at the center of
every user's HUD
2008-11-11 19:08:59 +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
Mike Mazur 32b9975468 If the proxy is on, we need to ignore the extra 6 bytes in the packet. 2008-11-11 03:41:28 +00:00
Melanie Thielker 302d65569f Allow gods to terraform without limits. Respect the Allow Others To
Terraform flag in land.
2008-11-11 01:47:40 +00:00
Jeff Ames 5276c4bdf8 Update svn properties, minor formatting cleanup. 2008-11-11 00:52:47 +00:00
Teravus Ovares d145700115 * Commit allows downloading of the .raw terrain from the estate tools.
* Implements the SendInitiateDownload method in IClientAPI 
* Uses the ITerrainModule Interface to write a terrain file to disk then uses a FileStream to read the binary file from the disk and put it in a byte array. and save to the xFer list.
* It then tells the client to download the file and the client initiates an Xfer request.
2008-11-10 23:56:58 +00:00
Johan Berntsson 22b70495ab The region proxy for the load balancer module works again. The incoming proxy messages were not properly decoded. 2008-11-10 09:50:05 +00:00
Melanie Thielker 298ab2f9cb Prevent updates about other people's HUD objects being sent 2008-11-09 22:52:00 +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 8da726c3a8 Update svn properties. Add copyright headers. Minor formatting cleanup. 2008-11-09 01:31:38 +00:00
Melanie Thielker bdf9add8d1 Reintroduce transactionID to the parameter list for SendInstantMessage.
It is required by group IM and also for a proper implementation of item
give, group notice attachments and offline IM.
2008-11-09 01:16:42 +00:00
Adam Frisby ddca72530d * Quick test for Dahlia, returns Packet Processing Loop to Infinite Loop. 2008-11-08 23:17:30 +00:00
Adam Frisby 7308f35a96 * Fixed issue where incorrect braces nesting resulted in a section of PacketQueue getting disabled.
* This means the recent memory fix should now be working correctly - so the current largest memory leak should be fixed. AssetCache still needs to be addressed however.
2008-11-08 21:08:01 +00:00
Adam Frisby fb2a1a6b7c * Fixed a major memory leak in packet processing - PacketQueue.Close is never called, causing the PacketQueue for dead clients to be preserved (including it's contents).
* This patch is highly experimental and may cause clients to not be able to connect, if this is the case, it will be rolled back in approximately 5 minutes.
2008-11-08 20:52:48 +00:00
Adam Frisby 4e94989106 * Added IClientChat to IClientCore
* Updated LLClientView
* Removed defunct SendChatMessage(bytes[]...) method, see http://opensimulator.org/wiki/OpenSim_0.6_IClientAPI#Porting_Guide
2008-11-08 19:29:35 +00:00
Adam Frisby cf0a14bec9 * Added IClientIM to IClientCore interfaces
* Changed SendInstantMessage, dropped fromAgentSession and imSessionID as security precaution, see http://opensimulator.org/wiki/OpenSim_0.6_IClientAPI#Porting_Guide for details on porting.
* Removed unused usings from Framework.*
2008-11-08 17:20:54 +00:00
Adam Frisby b0a90642de * Made ClientLoop non-infinite, ClientLoop will now disengage when the client has logged out.
* Cleaned up a section of LLClientView
* Removed unused 'using' from HTTPServer 
* Please test this patch.
2008-11-08 16:22:36 +00:00
Adam Frisby 6d5248441d * Implementing first of the 0.6 IClientAPI Changes
* Introducing IClientCore - this will be the key replacement for IClientAPI in the long run, it has a very minimal set of methods designed to allow you to access specialist API's.
* See https://lists.berlios.de/pipermail/opensim-dev/2008-September/003049.html for the early discussion on this.
2008-11-08 16:09:15 +00:00
Justin Clarke Casey bf9384d594 * Apply http://opensimulator.org/mantis/view.php?id=2582
* Send prim flags as booleans from LLClientView rather than in the native LL array
* Thanks idb
2008-11-07 22:57:32 +00:00
Melanie Thielker 48c6d052d9 Attachments, attachments, and, did I say attachments?
Too many fixes to list.
2008-11-07 05:48:44 +00:00
Teravus Ovares f0bf3df024 * Fix half of the issue behind the long standing 'UseCircuitCode' packet spam from libOMV clients. AckPacket.Header.Sequence was 0. This caused LibOMV to ignore it.
* There's another patch over at http://jira.openmv.org/browse/LIBOMV-415 to fix the 'resend forever' issue.
2008-11-07 01:05:22 +00:00
Jeff Ames 486ac1e12f Update svn properties, minor formatting cleanup. 2008-11-06 22:24:34 +00:00
Justin Clarke Casey c6dad833f5 * minor: remove some mono compiler warnings 2008-11-06 21:01:16 +00:00
Justin Clarke Casey d31d02c373 * refactor: Split BeginRecieve() into BeginReceive() and BeginRobustReceive() 2008-11-06 20:10:39 +00:00
Justin Clarke Casey 5a852321e0 * Stop passing along epSender explicitly where we are really using the constantly reused ep sender field 2008-11-06 19:59:59 +00:00
Justin Clarke Casey 427a80bba5 * test: Add assert checking that the circuit which trigger the socket exception has been closed 2008-11-06 19:52:06 +00:00
Justin Clarke Casey 29691a3d36 * Test to ensure that the udp server stays active after receiving a SocketException on BeginReceive 2008-11-06 19:35:57 +00:00
Justin Clarke Casey 8477aab8e0 * refactor: factor out test packet send method in client stack unit tests 2008-11-06 18:27:56 +00:00
Justin Clarke Casey f7f448bc78 * Fix capitalization typoes in packet throttle that happened to be the name of existing fields
* This should (hopefully) allow TestClient and stuff built on top of it to work again
* Will probably come back later and change variable names to stop this happening again
2008-11-05 22:17:47 +00:00
Justin Clarke Casey 892e7bf9fb * Properly use the default value if the LindenUDP.ClientStack section exists by the client throttle setting does not
* Old behaviour was to throw an exception on startup
* Print out client stack setting temporarly for debug purposes
2008-11-05 20:42:37 +00:00
Justin Clarke Casey fc36d7fdf2 * Set default client throttle multiplier to 2 (old value was effectively 8). See OpenSim.ini.example for details as to what this means
* Really this should be 1, but I think that this would be too slow compared to a Second Life server until we improve our ability to send textures of variable quality
* This may improve one aspect of sim performance where there are many avatars.  However, there are still other performance problems that are unrelated to this change
* Value may be further tuned
* Removed temporary decals since the multipler setting will stick around now
2008-11-05 19:23:59 +00:00
MW 204ef95843 Moved a couple of more configuration fields to ConfigSettings 2008-11-05 18:00:45 +00:00
Justin Clarke Casey 4ff0c39153 * Expose a client_throttle_multiplier setting in OpenSim.ini. This multiplier is applied to all the client throttle settings received by the client
* This should probably be 1, but currently by default it is 8, to reflect what was being eon3 in OpenSim before this revision.  So if the client requested a maximum throttle 
of 1500 kilobits per second, we would actually send out 1500 kilobytes per second
* Adjusting this multiplier down towards 1 may improve your OpenSim experience, though in other situations it may degrade (e.g. if you're using a standalone over high bandwidth 
links)
* This is currently a user setting because adjusting it down may currently reveal other OpenSim bugs.
2008-11-03 21:09:30 +00:00
Justin Clarke Casey 8dbd0118a8 * Pull client throttle multipler setting out of config source. Not an adjustable setting yet (and then only for debug purposes) 2008-11-03 19:02:44 +00:00
Justin Clarke Casey 6ea24799dd * minor: don't need to null check config source in clientstack settings since this is always non null 2008-11-03 18:49:25 +00:00
Justin Clarke Casey 8c71954e08 * Use nini to pass config information to the client stack, rather than the ClientStackUserSettings class
* This conforms better to other module usage
2008-11-03 18:33:35 +00:00
Adam Frisby 4c24b1bc9b * Massive cleanup of LLClientView, removed a few hundred unnecessary value initialisers, etc. 2008-11-01 22:34:04 +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 b03e34dd2d * Fix http://opensimulator.org/mantis/view.php?id=2517
* Don't save attachments on saving oar, which stops them coming back as ghost prims
2008-11-01 21:28:52 +00:00
Justin Clarke Casey 465a931c05 * In the client stack, if the BeginReceive() throws an exception then do print this out to the log once
* This may help us detect if mysterious UDP disconnects are happening because of this.
* Shouldn't be any functional change but I would appreciate a buddy check from Teravus if he has time (as for all client stack changes)
2008-10-31 19:41:07 +00:00
Justin Clarke Casey 5feaff8524 test: Extend malformed packet test to actually check that a valid packet can get through after the malformed ones have been sent 2008-10-30 22:32:23 +00:00
Justin Clarke Casey 419775c72b * test: Test that the client stack doesn't completely blow up if a client passes it malformed data 2008-10-30 20:17:30 +00:00
Justin Clarke Casey 2fb8089d8c * Slightly tweak to teardown test, try a circuit which never existed in the first place 2008-10-30 19:46:52 +00:00
Justin Clarke Casey 22ec3e7952 * minor: spacing adjustment before next commit 2008-10-30 19:43:58 +00:00
Justin Clarke Casey bc1b69b2fd * test: fill out circuit teardown test 2008-10-30 19:42:25 +00:00
Justin Clarke Casey 80e87747f3 * test: Refactor test infrastructure for future client teardown test 2008-10-30 19:26:38 +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
Melanie Thielker f9eb3712ed Remove a debug output 2008-10-29 00:32:41 +00:00
Melanie Thielker 766269a59b Plumbing along.... 2008-10-29 00:15:39 +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
Justin Clarke Casey 247b806134 * minor: Add documentation to some of the appearance methods, change some logging messages 2008-10-28 17:35:36 +00:00
Jeff Ames b2d6b0a3d4 Update svn properties, minor formatting cleanup. 2008-10-27 01:43:59 +00:00
Melanie Thielker f7e44250bf Committing a small fix for EventData along with more plumbing work 2008-10-26 19:32:41 +00:00
Melanie Thielker c49e1b8fb6 A few more bots to yesterday's plumbing: change instant message method
signature
2008-10-25 13:53:17 +00:00
Melanie Thielker 26643c4a9d More plumbing and some wires 2008-10-25 01:42:43 +00:00
Melanie Thielker f85be9b39a Fix a leak in the plumbing 2008-10-24 23:55:28 +00:00
Melanie Thielker 64f9f03e9a Plumb some more 2008-10-24 23:04:55 +00:00
Justin Clarke Casey c519b80680 * minor: eliminate some mono compiler warnings 2008-10-24 21:40:05 +00:00
Justin Clarke Casey 7b224677c1 * Stop passing in unnecessary pameters to CreateNewCircuit 2008-10-24 21:34:18 +00:00
Justin Clarke Casey 3340a579e7 * Stop creating a circuit if the client fails authentication (i.e. the region server wasn't told that it was coming)
* This moves authentication from the client thread (where failure was difficult to detect) to the particular thread handling that packet
* I've kept the authentication outside of the crucial clientCircuits lock (though any delay here is probably swamped by the other delays associated with login)
* Also added more to the unit test to ensure this doesn't regress
2008-10-24 21:22:54 +00:00
Justin Clarke Casey 91c2e53277 * Change AddClient test such that we now successfully authenticate
* The fact that the assert passed even when authentication failed reveals a bug in the code that will be corrected soonish
2008-10-24 19:40:45 +00:00
Justin Clarke Casey 9fa7264c73 * minor: refactor out AddUser test setup to common method 2008-10-24 19:10:25 +00:00
Melanie Thielker a9b1119e49 Remove a debug output dump 2008-10-24 15:04:35 +00:00
Melanie Thielker 6775b7d02d Lotsa plumming :) 2008-10-24 14:53:13 +00:00
Justin Clarke Casey 369aa8f46b * minor: Remove unused public PacketServer variable.
* If this was important to you please reinsert and we can put it in a recognized interface.
2008-10-23 20:10:19 +00:00
Justin Clarke Casey c379c66c7c * Reenable assert for the add circuit test
* This checks that a client circuit is established when the udp server is given a use client circuit code packet
* And checks that other circuit codes do not exist
2008-10-23 19:51:10 +00:00
Justin Clarke Casey 6101202403 * Revert to executing existing setup if an added circuit did not already exist
* Not sure why things still worked in the presence of this bug - possibly the problem is compensated for later on.  If you are having udp session problems this bug fix may help 
(though no guarantees).
2008-10-23 19:25:40 +00:00
Justin Clarke Casey d30a596989 * Add missing file from last commit. Yay for continuous integration! 2008-10-23 19:16:33 +00:00
Justin Clarke Casey f4ad99f89d * Introduce a basic udp circuit test for adding a client
* Temporarily disabled assert because it just picked up an existing bug.  Yay for tests!
2008-10-23 19:08:54 +00:00
Justin Clarke Casey ee3c428040 * Refactor LLUDPServer slightly so that unit tests can pass in data synchronously. Shouldn't be any functional change 2008-10-23 17:16:13 +00:00
Melanie Thielker f44742f75f Pare the groups module down to basics. Adjust dependent files so that a
real groups module can even be implemented.
2008-10-21 22:54:31 +00:00
Justin Clarke Casey 923f9fb749 * minor: remove mono warnings 2008-10-19 18:45:41 +00:00
Teravus Ovares ed8a20dd60 * Fixed UDP server (again)
* Guys, there's an endless loop there *ON PURPOSE*.  Please don't try to *fix* it.  We must continue to process the UDP stream buffer on clients that disconnected nastily until it ends or the UDP server accept thread will die a horrible death.
2008-10-19 17:02:39 +00:00
Homer Horwitz 1ee10d919a Added calling cards. Fixes Mantis#2409 and part of #1515. 2008-10-19 16:49:10 +00:00
Teravus Ovares 6362760d30 * Null check before UseCircuitCode Check or the server crashes on packet loss! 2008-10-19 01:06:50 +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 739f1591da * Remove mono warnings 2008-10-17 20:45:07 +00:00
Justin Clarke Casey 400314e884 * Finally, don't worry about doing containment checks on other dictionaries if we are adding a client
* Regarding an earlier change, I think it would be possible to eliminate the creation of new IPEndPoints on every end receive if we did the client circuit lookup before starting 
the next receive.  However, this would be a performance trade off and hence not worth trying without performance testing
2008-10-17 20:38:00 +00:00
Justin Clarke Casey 4ccac88cf6 * Don't worry about trying to populate the other dictionaries if a client's circuitcode is already found in the first one 2008-10-17 20:30:50 +00:00
Justin Clarke Casey 90d69a0523 * close two potential race conditions where a new asynchronous UDP recieve could overwrite an existing endpoint that had not yet been used by the previous thread
* in practice these race conditions were probably pretty rare
2008-10-17 20:14:31 +00:00
Justin Clarke Casey 84492fee01 * Temporarily resume creation of IPEndPoint on every call
* This widened what I think is an existing race condition where asynchronous recieves could potentially stomp on each other's end points (though this must occur very rarely, if at 
all, in reality)
2008-10-17 19:08:53 +00:00
Justin Clarke Casey 7891f821e2 * Instead of creating a new IPEndPoint on every udp packet receive, reuse the existing one
* This requires copying details into a new endpoint when it needs to be stored in client/circuit code hashes
2008-10-17 17:57:18 +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
Justin Clarke Casey 82b7374ed2 * minor: get rid of pointless ipeSender 2008-10-16 19:50:12 +00:00
Justin Clarke Casey 98fdf504d9 * Truncate outgoing media and music urls to 254 characters.
* Hopefully this will resolve http://opensimulator.org/mantis/view.php?id=2383
2008-10-15 20:24:44 +00:00
Justin Clarke Casey 230835dbaa * refactor: Remove OutPacket from the IClientAPI
* I believe this is reasonable since code outside the Linden client stack shouldn't be aware of the packet format being used
* I would love to have made the method protected, but the LoadBalancerPlugin is still calling it and resolving that would require more work
2008-10-15 17:06:47 +00:00
Justin Clarke Casey 87e85489f3 * refactor: move viewer effect packet into LLClientView 2008-10-15 16:52:48 +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
Justin Clarke Casey 2226626fec * refactor: move code concerned with creating a subsequent image packet to LLClientView 2008-10-15 15:30:27 +00:00
Justin Clarke Casey 063ba29ff8 * refactor: rename SendImagePart to SendImageFirstPart since this is more descriptive of its actual function 2008-10-15 14:56:58 +00:00
Justin Clarke Casey b70a285373 * Send an avatar update to other clients when an avatar rotates, as well as when it moves
* This should fix a long standing issue where you often wouldn't see other people simply turn around without moving at all
* Arguably lastPhysRot (to mirror lastPhysPos) is not a good name, may change variable names later
2008-10-14 20:28:34 +00:00
Justin Clarke Casey 58f8c042f6 * minor: change m_debug to m_debugPacketLevel since that's what it is 2008-10-14 18:53:56 +00:00
Justin Clarke Casey 3b9400bcea * refactor: rename SendKiPrimitive to SendKillObject since this appears more descriptive of what it actually does 2008-10-14 14:43:46 +00:00
Justin Clarke Casey 8ab50fe3ee * Make KillObjectPackets reliable
* This may help http://opensimulator.org/mantis/view.php?id=2377 where large linksets do not always correctly delete - since a lost kill packet to the client could result in 
the symptoms described
2008-10-14 14:27:00 +00:00
Homer Horwitz f52c5febd3 Add EventInfoRequest and EventInfoReply packets.
Note: New file, run prebuild.
2008-10-12 16:29:29 +00:00
Adam Frisby d7aedf343a * Small fix for when PacketPool is disabled to prevent it from crashing immedietly. 2008-10-12 01:09:58 +00:00
Adam Frisby dcdfde834f LLUDP Client View
* Experimenting with the PacketPool mechanism.
* It's still disabled in the code, however there's now a flag to enable it.
* Converted to use Generic Collections vs Hashtables, also now uses a list of 'OK to pool' packets, starting with the high volume PacketAck packet.
2008-10-12 00:56:54 +00:00
Homer Horwitz bed6c763a5 * Rework llParcelMediaCommandList
* Add missing PARCEL_MEDIA_COMMAND_* constants
* Fix a copy/paste error in SendParcelMediaUpdate
llParcelMediaCommandList should work now
2008-10-11 15:18:55 +00:00
Melanie Thielker 544daf1c76 Plumb the remaining search packets and replies. 2008-10-11 05:59:12 +00:00
MW 0644977819 added a list of SurfaceTouchEventArgs to the IClientAPI.OnGrab event, for the new surface touch parameters in 1.21 viewers. 2008-10-10 17:05:43 +00:00
MW 5be7442736 added a list of SurfaceTouchEventArgs to the IClientAPI.OnGrabUpdate event, for the new surface touch parameters in 1.21 viewers.
TODO: add the touch args to OnGrabObject and OnDeGrabObject.
2008-10-10 16:01:59 +00:00
Melanie Thielker 5c5a640aba A bit more estate fudging 2008-10-10 02:06:34 +00:00
Justin Clarke Casey 7bdfc16535 * fix windows build break - it helps if one actually puts in using statements and spells dlls correctly 2008-10-09 21:43:43 +00:00
Justin Clarke Casey 997eec671a * minor: get rid of an unecessary casting and logic check 2008-10-09 20:02:40 +00:00
Justin Clarke Casey 8ad0249969 * refactor: separate process of extracting packet from received data from actually processing that packet 2008-10-09 18:09:25 +00:00
Justin Clarke Casey 285ae803e2 * minor: initialize udp server in unit test 2008-10-09 18:00:38 +00:00
Justin Clarke Casey 919d907a3d * Create project for LindenUDP ClientStack tests
* No functional tests yet
2008-10-09 16:52:33 +00:00
Justin Clarke Casey db0d90c737 * minor: very small doc addition 2008-10-09 16:23:11 +00:00
Teravus Ovares ac674ccbfc * Fixes simstats reporter. I'm sure this issue caused all sorts of things related to regionflags and capacity. I'm sorry, the object capacity that you dialed is not valid.. please check the number and dial again. 2008-10-09 11:44:26 +00:00
Charles Krinke ac443559d1 Mantis#2354. Thank you kindly, Tglion for a patch that:
The average-value of modify.ModifyBlock.Height in LLClientView.cs:4170 
seem to be incorrect or it isn't the average? Mhhh...
So the terrain build -> Flaten Sphere is unuseable.
I have put in a patch that contains a workaround while 
the main problem is not solved.
2008-10-08 14:51:55 +00:00
Justin Clarke Casey 4ed6e78d1a * Comment out debug throttle output that I had accidentally left in 2008-10-07 21:44:29 +00:00
Justin Clarke Casey 914c733505 * Temporarily revert r6714 which changed agent throttle number interpretation
* I suspect the restriction stopped the very large number of packet resends that occur on certain operations, which led to other failures.
2008-10-07 20:04:43 +00:00
Justin Clarke Casey 48d86fb23f * Apply http://opensimulator.org/mantis/view.php?id=1207
* Implmements llModifyLand() and a check for the "Allow others to terraform flag"
* Thanks tglion!
2008-10-07 14:49:12 +00:00
Justin Clarke Casey cb7a9eaa09 * Stop the sim stats reporter reusing the same SimStatsPacket for all clients
* I believe this was the cause of the remaining packet_out_of_order messages in the Linden client logs
* There were race conditions where multiple clientstacks would overwrite each other's sequence numbers
2008-10-06 19:52:54 +00:00
Justin Clarke Casey d18aff3310 * restore Header.Resent field setting for resent packets
* without this, the client appears to reset the sequence of packets its expecting
2008-10-06 16:57:58 +00:00
Justin Clarke Casey 33d957207c * Change interpretation of asset throttle values to bits per second rather than bytes per second
* Changing network bandwidth in the preferences will now have a much more noticeable effect - a user may want to increase this if data is being slow to download from opensim
2008-10-06 16:48:41 +00:00
Melanie Thielker d834996bbe Implement Parcel -> ForceOwnerToMe god mode packet 2008-10-06 08:19:18 +00:00
Charles Krinke e575ef7ad2 Revert r6697 patch as the build fails. 2008-10-06 00:58:43 +00:00
Charles Krinke 4f6cdc08d6 Mantis#1207. Thank you, TGlion for a patch that addresses:
Implementation of llModifyLand() and There is a bug on 
permission-check of land-terraforming: x an y-coordinates 
are interchanged on function-call ExternalChecksCanTerraformLand.
Correct: x is west, and y is north. 2) Missing check of 
"Other allow to terraform-flag" (Parcel.ParcelFlags.AllowTerraform)
2008-10-06 00:46:27 +00:00
Melanie Thielker 6ab5b523f8 Implements ObjectOwner god mode packet (Set Owner To Me admin option) 2008-10-06 00:09:49 +00:00
Teravus Ovares f8acdeb437 * Green dots on the mainmap for avatar.
* Initial implementation
* You'll only be able to seen green dots on regions on the map that have been updated.
2008-10-06 00:00:55 +00:00
Melanie Thielker a3136d2bb1 Revert the packet resend timing changes. They caused login issues in primmy
regions.
2008-10-05 16:43:58 +00:00
Melanie Thielker c84987426b Craters, take 2. Remove old discard logic and absolute discard timer.
Introduce a resend counter on the ack queue. The header "Resent" field is
now obsolete. Implement 3 resends on reliable packets, variable.
Increase default resend timeout to 3000ms and default silence threshold
to 350ms.
2008-10-05 14:44:26 +00:00
Teravus Ovares a243a4aaf5 * An update to the UDP Packet handler which might make the giant sized craters go away. 2008-10-05 13:06:03 +00:00
Melanie Thielker e5929f4a1c Remove a console debug output 2008-10-05 05:00:30 +00:00
Melanie Thielker 2cb89124c7 Small bug fix 2008-10-05 03:01:19 +00:00
Melanie Thielker 13e3ffada3 Plumb in the DirPlacesReply packet 2008-10-05 02:25:53 +00:00
Melanie Thielker f52d779550 Plumb packet DirPlacesQuery for search module 2008-10-04 22:29:37 +00:00
Melanie Thielker c28e8fcd67 Unclutter rezzing methods by removing the ad hoc permissions parameters.
Thise were client supplied untrusted values we never used anyway.
2008-10-04 15:54:21 +00:00
Melanie Thielker 74f89fb22d Add "Drop" functionality to pie menu 2008-10-04 01:09:22 +00:00
Justin Clarke Casey 4920e52f11 * oops, fix build break.
* refactoring
2008-10-03 19:42:35 +00:00
Justin Clarke Casey 743e336bf3 * Put in some infrastructure to allow tweaking of packet queue throttle values for the total throttle (the one that throttles all packet output)
* Not complete yet
2008-10-03 18:06:45 +00:00
Justin Clarke Casey 70124a3213 * refactor: make startup a template method 2008-10-03 15:11:29 +00:00
Dr Scofield 5c0a0bc2e0 This changeset changes the way chat from client is routed:
old way: each region module interested in chat from client had to
     	 - subscribe to scene.EventManager.OnNewClient
	 - then in its OnNewClient delegate it would subscribe to
           client.OnChatFromViewer to capture chat messages coming

     new way: ChatModule is the only region module that uses the "old
         way" approach but is now forwarding all client chat via
         scene.EventManager.OnChatFromClient
	 - each region module interested in chat from client now only
           subscribes to scene.EventManager.OnChatFromClient

this not only simplifies code, but also allows us to substitute
ChatModule with derived classes (ConciergeModule is going to be one
example).

Also, this changeset changes ChatFromViewer to ChatFromClient as it
doesn't necessarily have to be a viewer that is a chat source.

i've taken great care to only comment out those OnNewClient delegates
that were only used for getting at the client chat --- hope it's not
breaking anything.
2008-10-03 14:53:11 +00:00
Justin Clarke Casey 8c55f3eaa6 * minor: remove warnings (the code cleaners strike again) 2008-10-03 14:18:17 +00:00
Melanie Thielker 7f007d8ed0 Mantis #1360
Thank you, idb, for a patch to implement the packet and plumbing for
the material settings.
2008-10-03 12:00:13 +00:00
Teravus Ovares 8de395d379 * EventQueueGet is now working.
* Switched it on by default
* Updated OpenSim.ini.example to reflect this
* Caught a UDP Server issue that occurs when the network pipe is saturated
* Still experimental :D
2008-10-03 09:53:49 +00:00
Homer Horwitz 423d950a69 - Fixed a small off by one error in sending MapBlocks
- Removed MapBlockData.Flags; it isn't used anywhere (maybe MapBlockData.RegionFlags replaced it?)
2008-10-02 22:14:34 +00:00
Homer Horwitz b1c1de2fbe - Added SendScriptTeleportRequest to IClientView and classes implementing it.
- Implemented llMapDestination.
2008-10-01 21:30:48 +00:00
Justin Clarke Casey 7e35e4c816 * minor: oh, and comment out the now unused logger as well 2008-10-01 20:56:34 +00:00
Justin Clarke Casey 231b8c2a67 * minor: Comment out temporarily statistical counter I accidentally left in from the last commit 2008-10-01 20:55:09 +00:00
Justin Clarke Casey cbb9693ef4 * Try bumping packet resend timeout up to 2 seconds instead of 1
* This actually probably doesn't make a huge difference.  We still end up resending a massive number of packets in quite a few situations, but it's not easy to consistently 
reproduce this.
* Might really need some throttling of packet send to the client on the OpenSim end.
2008-10-01 20:54:28 +00:00
Justin Clarke Casey 4d32cd34e8 * refactor: rename interface to put standard I prefix in front 2008-10-01 20:30:30 +00:00
Justin Clarke Casey 95a3d6372d * Fix bug in LLPacketHandler where the tickcount when a packet was approximately sent was not being stored in the ack record
* This meant that acks were being sent out every 250ms when the ack timer fired, rather than when they had actually aged past m_ResendTimeout
2008-10-01 17:18:20 +00:00
Justin Clarke Casey 75b6011a24 * minor: remove warning 2008-09-29 19:11:48 +00:00
Charles Krinke 04be8726d3 Mantis#296. Thank you kindly, Idb for a patch that resolves:
Estate/ Manager Owner Uses the Region/Estate Menu Region TAB, 
and uses "Teleport Home All Users..." (Action Button), the 
action will complete but no one will be teleported and all 
users still function in the region ok.
2008-09-28 22:01:37 +00:00
Melanie Thielker 1d5b2bb8bc Add some methods to allow modules so set client view options 2008-09-28 19:45:42 +00:00
Melanie Thielker 95c3e0883c Mantis #2288
Correct a typo in namespace declaration
Also adds a new flag to the PacketManager to force retention of packets
marked reliable (default off)
2008-09-28 18:07:06 +00:00
Teravus Ovares 07b32c9320 * Replace a generic error handler. 2008-09-27 22:06:51 +00:00
Teravus Ovares 98632ee594 * Event queue is now polling..
* returns FAKEEVENT instead of the connection returning a 502.   It doesn't like our 502's for some reason..  so, in leau of this..    send it a fake event.
* Once again, this is still 'really early' code, so please don't blame us if you have no more threads left.
2008-09-27 22:05:36 +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
Justin Clarke Casey 97323345ee * minor: remove warnings 2008-09-26 15:28:14 +00:00
Teravus Ovares 6b13730bc7 * Wind updates. Still random.. but in 4 directions instead of two!
* It seems kind of silly to be building a 256x256 array just to use two 16 float blocks..  but for now the layerdata routine requires it so we'll go along with that.
* We only fill a 32x16 area of the 256x256 float array with data.
* We use patches 0,0 and 0,1 for the first and second patch to determine the direction and magnitude of the wind.
2008-09-26 12:56:17 +00:00
Charles Krinke 339671afc6 Mantis#2017. Thank you kindly, Tyre, for a patch that solves:
Check the client dialog box (from top menu) WORLD / REGION ESTATE 
/ REGION tab. The client dialog box seems to have a hard limit of 
about 32 characters per line available for displaying the region 
version number. Our regions are sending a string which is greater 
than the limit, causing the client to wrap the text and look ugly.
2008-09-25 14:57:40 +00:00
Teravus Ovares 4004172106 * Adds some Wind
* A little wind wouldn't hurt anyone, right?    This is the 'slightly breezy' setting..    hopefully you won't notice 'much' of a difference.
* It turns out the terrain patch routine is similar enough to the wind version that it can be used to hack together a breeze generator with a few mods.
* Not much configuration..   yet.  You only get breeze updates in the general vicinity of your camera now to keep bandwidth usage down.. and we're not talking about 'much' movement at the moment.
* initial version...      could use improvement I'm sure.
2008-09-25 11:46:05 +00:00
Melanie Thielker f3c8963c86 Convergence is almost complete. This brings the diff between the API to < 10k
and makes it use a common set of types in both engine. Fixes the issues with
running both engines and HTTP requests / listens / timers etc..
Also fixes a couple of minor Scene issues and a CTB by nullref.
2008-09-25 05:13:44 +00:00
Dr Scofield 201805172f cleanups, fixing REST appearance services. 2008-09-24 11:39:08 +00:00
Jeff Ames 3f79e6b3e7 Update svn properties, formatting cleanup. 2008-09-23 23:14:00 +00:00
Melanie Thielker 70d264ee6c Update the permissions system to handle scripts and notecards the way
it was meant to. No functional changes, just better code
2008-09-23 03:36:16 +00:00
Melanie Thielker 48672c7fd6 Move script and notecard open perms checks from ClientView to the
perms module
2008-09-22 22:33:00 +00:00
Dr Scofield 7def786ef4 cleanups in inventory REST code. also, disables digest authentications
for inventory REST calls for the time being, as firefox, curl, and
also python's urllib2 cannot authenticate using digest auth.

fix permission checking for prim inventory to be the same as for
normal edit ops.
2008-09-22 11:20:09 +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