Commit Graph

1735 Commits (4ab479bf58652573606fa08136e182260b180a0b)

Author SHA1 Message Date
Diva Canto c5af39239f A better purge of trash folder. 2009-08-19 00:13:51 -07:00
Diva Canto 124f66bfc2 jhurliman's patch in http://opensimulator.org/mantis/view.php?id=4024 2009-08-18 22:17:47 -07:00
dahlia 465d1095dd Added new OpenSim.ini setting: "client_throttle_max_bps" which overrides user's viewer network throttle settings 2009-08-18 17:06:14 -07:00
Melanie 9ad3e72ae1 Did I say that i don't like git? Remove some stuff that shouldn't have
gone in.
2009-08-17 22:06:51 +01:00
Diva Canto fa8a94577a Merge branch 'master' of ssh://diva@opensimulator.org/var/git/opensim 2009-08-17 05:55:38 -07:00
Melanie 644db1e540 Add System.Xml reference to the console project 2009-08-17 09:40:38 +01:00
Teravus Ovares (Dan Olivares) acc14c472d Merge branch 'master' of ssh://MyConnection/var/git/opensim 2009-08-16 12:15:14 -04:00
Teravus Ovares (Dan Olivares) 5e391b9f7c * ShortVersion, another attempt at fixing the test thread death that randomly occurs.
* LongVersion nIni may be causing the test thread death.  Pausing OpenSimulator during startup causes a nIni error that makes debugging startup operations difficult for users.  It might be because when it's in pause mode, something else reads from the nini config passed?   If it is, it might not be fixable..   however, if it's concurrency that causes nini death it would make sense to give each section of the tests a new IConfigSource so that they don't read from the same configsource at the same time.
2009-08-16 12:14:49 -04:00
Diva Canto 6808b9109e Merge branch 'master' of ssh://diva@opensimulator.org/var/git/opensim into inventory-connector 2009-08-16 08:59:58 -07: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
Diva Canto 034c9cf606 Added GetAssetPermissions. Few last bugs nixed. This is ready for testing. 2009-08-13 17:34:15 -07:00
Diva Canto 5246dc33dc Renamed QueryItem/QueryFolder to GetItem/GetFolder. The word 'query' starting to get on my nerves. 2009-08-13 14:10:12 -07:00
Diva Canto 6b9cc6c48d Inventory redirects from CachedUserInfo to InventoryService COMPLETE! 2009-08-13 11:30:29 -07:00
Justin Clark-Casey (justincc) 655438a59d Apply http://opensimulator.org/mantis/view.php?id=1448
Store and retrieve user profile url at runtime
Not yet persisted
Thanks Fly-Man
2009-08-11 17:29:15 +01:00
Diva Canto 0d8284c7a1 Removed IAssetCache.
WARNING: PLEASE MAKE SURE TO USE THIS NEW bin/OpenSim.addin.xml
2009-08-10 08:14:57 -07:00
Teravus Ovares (Dan Olivares) bff26ccdbb * More tweaking of the various services to work with nonstandard region sizes. * Now, what's available of the terrain will show and it'll be truncated if it's larger on Linden Clients. Parcel minimum is 64 (256/4) for the client to accept it. 2009-08-08 00:10:19 -04:00
Justin Clark-Casey 190bdc8a2e * Remove some mono compiler warnings 2009-08-05 17:33:23 +01:00
dr scofield (aka dirk husemann) 4ffc284a36 trying to fix rare timer related exception. 2009-08-04 17:24:32 +02:00
Teravus Ovares f727f26bcc * An attempt to fix mantis #3953 2009-07-29 20:32:54 +00:00
Melanie Thielker f94985a939 Add the missing block to the alert message 2009-07-28 20:27:31 +00:00
Melanie Thielker aa06d9f98b Add the new StatusData block to the other two searchh packets 2009-07-28 19:28:01 +00:00
Melanie Thielker 64c874a951 Fix a null data block in DirClassifiedReply packet, preventing a session
crash in search.
Fixes Mantis #3952
2009-07-28 18:46:45 +00:00
diva 5ca02f0a08 This does NOT address the issue in mantis #3940, but it may avoid the exception reported there by WiLLuMPJuH Huisman pertaining to TeleportFailedPacket. 2009-07-27 19:20:48 +00:00
Teravus Ovares 5ae1ad995d * Fix Groups Module Null Reference when you were not a member of any group. 2009-07-25 17:29:25 +00:00
Melanie Thielker 7317bd7675 Correct an issue in group packet sending that causes a nullref with
libomv-0.7.
2009-07-25 16:55:11 +00:00
Teravus Ovares 64bd9a3354 * Updates libOMV to version 0.7.0
* Uses mantis #3811 as a base (thanks jhuliman) with changes.
* E-mail regarding interface changes sent to the opensim-dev list 
* Archive: https://lists.berlios.de/pipermail/opensim-dev/2009-July/007219.html
2009-07-25 15:49:10 +00:00
Teravus Ovares cf712075e5 * Remove a noisy debug console message that was used for testing the camera constraints. Ooops. 2009-07-19 02:41:32 +00: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
MW d9a8ecf238 Changed the DeRezObject event so it passes a list<uint> of localIDs in one event trigger rather than triggering the event once for every localid in the derez packet. 2009-07-12 12:32:39 +00:00
Jeff Ames 1d01d6d919 Formatting cleanup. 2009-07-01 23:37:09 +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
Arthur Valadares 4f6efa0249 * C# compiler is not smart enough to understand ClientLoop is under very heavy usage and inline DebugPacket, so DebugPacket is run as a method, causing Packet
to be constantly pushed and popped uselessly, if you are not debugging packets. This showed some really big difference in a mock test, let's see how it behaves here.
2009-06-29 19:24:30 +00:00
Arthur Valadares 6da88dceb0 * Changing List to Dictionary in PacketQueue.Dequeue for great justice (and performance) 2009-06-29 16:55:00 +00:00
Jeff Ames 715f2f2798 Update svn properties, add copyright header, formatting cleanup. 2009-06-29 15:40:00 +00:00
Dr Scofield c1976d1200 moving the m_PendingAcksMap.Remove() out of the foreach and clearing
it instead after the foreach as we are going through the whole
m_PendingAcks list anyhow
2009-06-25 11:30:31 +00:00
Dr Scofield aba4b0bd20 have to clear m_PendingAcks not m_PendingAcksMap 2009-06-25 11:30:16 +00:00
Dr Scofield e2db6c07ba hmph: missing '{'/'}', thx to nebadon for reporting it and rob smart
for spotting it!
2009-06-25 10:26:10 +00:00
Dr Scofield 74f7b586d3 fixing windows specific compile error. 2009-06-25 08:28:59 +00:00
Dr Scofield 17d37aa60d cosmetic change 2009-06-25 08:01:02 +00:00
Dr Scofield 1b06da0c54 streamlining m_NeedAck logic 2009-06-25 08:00:43 +00:00
Dr Scofield 9f83f124c7 streamling m_PendingAcks logic to get rid of gratuitous List<...>
instantiations and object copies.
2009-06-25 08:00:18 +00:00
Dr Scofield b84834c45b commenting out expensive bits (who in the world even uses SetClientInfo()?) 2009-06-25 07:59:58 +00:00
Dr Scofield e8e0ce5fc6 changing DropSend()'s foreach loop so that it does not copy the
LLQueItem m_NeedAck queue each time.
2009-06-25 07:59:47 +00:00
Dr Scofield fa060a7282 commenting out rather expensive bits of GetClientInfo() --- the only
bit of GetClientInfo that is actually used seems to be userEP as part of the
OSSL osGetAgentIP() script function. Now commented are the parts where
we serialize and copy out the *entire* packet queue of the client
(locking the packet handler in the process).
2009-06-25 07:59:38 +00:00
Dr Scofield 77122d7861 more efficient way of checking for already seen packets:
- uses Environment.TickCount for all timestamps (instead of more
  costly Util.UnixTimeSinceEpoch()
- takes care of Environment.TickCount overflow (which will happens
  after 24.8 days of system uptime)
- avoids instantiating List copies for each check
- gets rid of one lock() invocation
- moves calculation of loop invariant variable out of the loop itself
2009-06-25 07:59:25 +00:00
Dr Scofield a1ba9dee8d adding logging statement for receive buffer size 2009-06-25 07:50:19 +00:00
Dr Scofield 8f5efc4994 - adds the possibility of setting the socket receive buffer size
option for LLUDPServer. On windows .NET the default socket receive
  buffer size is 8192 bytes, on recent linux systems it's about
  111K. both value can be a bit small for an OpenSim instance serving
  many clients. The socket receive buffer size can be configured via
  an OpenSim.ini config option

- adds a general catch clause to LLUDPServer.OnReceivedData() to
  prevent it submerging when an unexpected Exception occurs.
2009-06-25 07:50:02 +00:00
Dr Scofield afd5f76648 From: Alan Webb <alan_webb@us.ibm.com>
This change moves texture send processing out of the main
  packet processing loop and moves it to a timer based
  processing cycle.

  Texture packets are sent to the client consistently over
  time. The timer is discontinued whenever there are no
  textures to transmit.

  The behavior of the texture sending mechanism is controlled
  by three variables in the LLCLient section of the config
  file:

   [1] TextureRequestRate (mS) determines how many times per second
       texture send processing will occur. The default is 100mS.
   [2] TextureSendLimit determines how many different textures
       will be considered on each cycle. Textures are selected
       by priority. The old mechanism specified a value of 10 for
       this parameter and this is the default
   [3] TextureDataLimit determines how many packets will be sent for
       each of the selected textures. The old mechanism specified a
       value of 5, so this is the default.

  So the net effect is that TextureSendLimit*TextureDataLimit
  packets will be sent every TextureRequestRate mS.

  Once we have gotten a reasonable feeling for how these parameters
  affect overall processing, it would be nice to autonmically manage
  these values using information about the current status of the
  region and network.

  Note that this also resolves the pathologcal problem that
  previously existed which was that a seated avatar generated very
  few in-bound packets (theoretically) and would therefore be the
  least able to retrieve the images being displayed by a
  projector script.
2009-06-25 07:42:06 +00:00
Melanie Thielker 41b8e2de9e Also fix group role membership packet sizes to stay safely below MTU 2009-06-23 22:11:34 +00:00
Melanie Thielker 8cf16f6ea4 Can I be this dumb? 2009-06-23 21:17:20 +00:00
Melanie Thielker 2a766b9082 Fix an error in group membership sending when the memebr count exceeds 60
Also reduce limit to 40 to allow for last logon dates and titles
2009-06-23 20:27:35 +00:00
Melanie Thielker a2635e43da Allow the member list of groups with more than 70 members to be viewed
without crashing
2009-06-23 14:37:51 +00:00
Melanie Thielker 56d0966a32 Commenting out the jhurliman fix, since our libOMV doesnt' have those fields
yet.
2009-06-23 08:56:45 +00:00
Melanie Thielker 2d7dd5f63e Correct an uninitialized field in a packet. Thanks, jhurliman.
Fixes Mantis #3831
2009-06-23 08:51:35 +00:00
Melanie Thielker bc1dce071a Correct the behaviro of group deeding and llGetOwner() within deeded objects 2009-06-21 19:49:11 +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
Dahlia Trimble 00d042f3d1 Thanks Michelle Argus for Mantis #0003742: Terrain editor - Flatten tool lowers Land 2009-06-18 23:02:12 +00:00
Melanie Thielker 8aaeec598e Fix an uninitialized data block. Thanks, jhurliman 2009-06-17 23:46:13 +00:00
Jeff Ames a23d64dec1 Formatting cleanup. 2009-06-10 04:28:56 +00:00
Jeff Ames 840de6c036 Minor: Change OpenSim to OpenSimulator in older copyright headers and LICENSE.txt. 2009-06-01 06:37:14 +00:00
diva 275e53b126 This may bring the missing texture back. 2009-05-28 15:05:00 +00:00
Jeff Ames e0bc5c5db2 Add copyright headers, formatting cleanup. 2009-05-20 01:32:06 +00:00
Dr Scofield 14f0d5e77f trying to fix exception with in LLPacketQueue probably caused by
missing locks where the queue was modified.
2009-05-19 18:46:20 +00:00
Dr Scofield a885556063 From: Chris Yeoh <yeohc@au1.ibm.com>
We've encountered problems with textures never fully downloading and
objects not moving or being deleted (from the client's point of view)
even when the bandwidth settings on the client have been set very
low. This can happen over reasonably lossy links (eg you're on the
other side of the world from the server) as the server retries 3 times
and then gives up.

Whilst its possible to set ReliableIsImportant, this forces the server
to keep retrying no matter what which potentially could lead to
problems. This patch allows for the setting of MaxReliableResends
explicitly (is set to 3 normally) in OpenSim.ini so if you know you
will have clients connecting with poor connections you can set it a
bit higher (10-15 works quite well even for very poor connections).
2009-05-18 16:10:48 +00:00
diva 0379dbe2fd Removing a superfluous message, just to make bamboo run again. 2009-05-17 02:15:08 +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 fca73f3ae4 Add more group notify glue 2009-05-12 15:52:28 +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
Adam Frisby 53a350573e * Further testing against core packet issue. 2009-05-10 20:31:45 +00:00
Adam Frisby da948a992a * Attempting to diagnose a core packet issue on Windows/.NET. Adding additional locks to see if it fixes the problem. 2009-05-10 20:25:05 +00:00
Melanie Thielker e4236a4233 Fox a boo-boo in ExtraParams - a packet with no data blocks could crash
the session. Also allow multiple data blocks.
2009-05-09 12:04:40 +00:00
Sean Dague ce0a84cbc0 instrument most of the tests with a new InMethod function that may help us figure
out where that pesky deadlock is during test runs.
2009-05-07 19:07:08 +00:00
Melanie Thielker aa4e42069b Change avatar updates to be processed the same way object updates are, e.g.
packet length check. More changes to come
2009-05-07 12:06:07 +00:00
Jeff Ames 8ea12ad6c0 Add copyright header. Formatting cleanup. Ignore some generated files. 2009-05-05 09:59:15 +00:00
Melanie Thielker acfb5051cd Intermediate commit. WILL NOT COMPILE! 2009-05-04 20:15:39 +00:00
Justin Clarke Casey 257fc5515a * minor: remove some mono compiler warnings, minor cleanup 2009-05-04 15:38:36 +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 b44a56e0b4 Add a parameter that limits the max size of the outbound packet. Defaulted
at 1400 since the headers get added to that (32 bytes plus UDP headers)
2009-05-04 02:24:30 +00:00
Melanie Thielker e8b532b26a Make a race condition in packet resending smaller 2009-05-03 09:43:52 +00:00
Adam Frisby 0c639e08ea * Reversing experimental change in previous rev. 2009-05-02 23:00:51 +00:00
Adam Frisby 1027668359 * Experimental: Speeds maximum resend per second from 80 packets to 400. (From maximum 117kbit to 585kbit) 2009-05-02 22:01:47 +00:00
Melanie Thielker 229a4d54ca If a packet pooling blows up, fail gracefully instead of disconnecting
the user
2009-05-02 21:21:20 +00:00
Melanie Thielker 780f34275b Handle resends better 2009-05-02 20:08:26 +00:00
Adam Frisby 0b2a34438c * Makes ObjectUpdate compressing tweakable in OpenSim.ini - introduces:
TerseUpdatesPerPacket=10
FullUpdatesPerPacket=14
TerseUpdateRate=10
FullUpdateRate=14
2009-05-02 19:09:48 +00:00
Melanie Thielker 66e25abbfe Plumb conifg into the client views. Add config option to configure packet
dropping.
2009-05-02 17:31:49 +00:00
Melanie Thielker 74ce07e971 Move a lock to attempt to cut down packet loss 2009-05-02 14:47:01 +00:00
Melanie Thielker 62bcf0e694 Numerous packet improvements.
Don't allow packets to be resent before they have actually been sent for the
first time. Switch from serializing a packet to get it's length to the LibOMV
provided Length property. Fix resend timing. Fix the use of dangling references
to Acked packets. Fix the packet handler to play nice with the packet pool.
Fix the packet pool. Add data block recycling to the packet pool. Packet pool
is now ENABLED by default. Add config option to disable packet and data block
reuse. Add ObjectUpdate and ImprovedTerseObjectUpdate to the packets being
recycled.
2009-05-02 13:16:41 +00:00
Melanie Thielker ac944def3f Fix the issue that stopped the packet pool from working. Add a mechanism
to recycley data blocs within a packet. Recycle the ObjectUpdate* data
blocks. Speeds up loading even more.
This may mean that the packet pool is now viable.
2009-05-02 00:14:04 +00:00
Melanie Thielker 55a69f3f2d Improve prim sending by combining multiple prim updates into a single packet 2009-05-01 16:29:15 +00:00
Melanie Thielker e901c8be17 Thank you, mpallari, for a patch that correct the behavior of the avatar
performance patch.
Fixes Mantis #3562
2009-04-30 15:26:37 +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
Melanie Thielker e2327384e0 Catch another j2k decode exception that can be caused by a bad asset 2009-04-29 21:01:01 +00:00
Melanie Thielker 98cdc1efdd Fix a crash that will hit when an image asset is truncated in storage 2009-04-29 20:32:40 +00:00
Dr Scofield 84701701ef fixes exception thrown when client session is shutdown while
packethandler still active
2009-04-29 12:31:43 +00:00
Dahlia Trimble 4792e6139a Thanks Bluewall for Mantis #3519: a patch that adds simulator uptime and version to REST/json statistics reporting 2009-04-25 05:06:01 +00:00
Dr Scofield 458f7eb9b3 cleaning up, fixing warnings 2009-04-22 09:42:44 +00:00
Jeff Ames 6aa5d3904d Add copyright headers. Formatting cleanup. 2009-04-22 00:48:56 +00:00
Melanie Thielker 01a22d940f Change a bad use of a type name as a variable. Thanks, Fly-Man
Fixes Mantis #3497
2009-04-20 21:58:32 +00:00
Melanie Thielker d91330ea35 Add PlacesQuery packet 2009-04-20 20:43:48 +00:00
Melanie Thielker dd0fa5745e It is possible that apacket is recieved before the clint stack is fully ready.
This causes a nullref we need to catch here.
2009-04-20 17:24:09 +00:00
Charles Krinke 2578db3dfa Thank you kindly, RemedyTomm for a patch that:
Following feedback from 0003440, i've made some changes to the new texture pipeline to optimise
 performance. The changes are:
 - Fixed a math issue where a small percentage of images with a certain size (on the packet boundary) would not have their final data delivered. This issue has been present since pre- 0003440
 - It was suggested that a discardlevel of -1 and a prioriy of 0 meant to abandon the transfer, this is incorrect and caused some textures to clog.
 - The texture throttle blocking queue is now only filled in relation to the actual throttle amount.. i.e, on a connection throttled to 300k, only twenty packets will be placed in the queue at a time, on a larger connection it will be much more. This is to balance responsiveness to requests and speed, and to minimise wasted packets.
 - The engine now keeps track of the number of pending textures, and the stack will not be walked if there's no textures pending, saving CPU. Textures are only considered "pending" when they've already been decoded.
 - As part of the above, some textures may receive twice as much data per cycle if the number of pending textures is below the cycle threshold, this should prevent loading from slowing down when there are fewer textures in the queue.
2009-04-18 18:35:03 +00:00
Charles Krinke b4cb45bb79 Fixes Mantis # 3469. Thank you kindly, BlueWall, for a patch that:
This patch adds extended status reporting with the url 
http://server:port/simstatusx/ [^] . The data is returned 
in json format as "text/plain" type.
2009-04-17 21:48:48 +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
Justin Clarke Casey 9f6b8ec9b0 minor: Remove some mono compiler warnings. Uncomment code when it's actually being used. 2009-04-15 19:46:37 +00:00
Johan Berntsson 119aeeed7d Another cleanup: Region_Status renamed to RegionStatus, and a usage comment added 2009-04-15 04:15:47 +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
Teravus Ovares c2e75aecd1 * Commit a variety of fixes to bugs discovered while trying to fix the NaN singularity.
* WebStatsModule doesn't crash on restart.   GodsModule doesn't crash when there is no Dialog Module.  LLUDPServer doesn't crash when the Operation was Aborted.  
* ODEPlugin does 'Almost NaN' sanity checks.
* ODEPlugin sacrifices NaN avatars to the NaN black hole to appease it and keep it from sucking the rest of the world in.
2009-04-14 01:57:35 +00:00
Teravus Ovares ab83af0341 * Set eol-style: native on J2KImage.cs 2009-04-13 23:06:29 +00:00
Teravus Ovares 9371df52cb *Bypass J2kDecoder when asset is null 2009-04-13 15:18:38 +00:00
Sean Dague 532ae6d925 if Data is null, shortcut to client.SendImageNotFound, as any other
option at this point is going to give us a NullReferenceException
2009-04-13 15:08:06 +00:00
Sean Dague 15d39f33ca scream out a bit warning if we failed to set default image 2009-04-13 14:52:29 +00:00
Sean Dague b2e5f03942 catch for a null asset so we don't get an exception here, though this
probably just makes the decoder break somewhere else.
2009-04-13 14:52:23 +00:00
Sean Dague 58fd013929 put J2KImage into it's own file, please no doubling up on classes in
files
2009-04-13 14:52:14 +00:00
Teravus Ovares 515bf6d7dc * Patch from RemedyTomm Mantis 3440
* Revamps the server side texture pipeline
* Textures should load faster, get clogged less, and be less blurry
* Minor tweak to ensure the outgoing texture throttle stays private.
* Fixes mantis 3440
2009-04-10 08:30:21 +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 601fa22185 * minor: remove some mono compiler warnings 2009-04-09 20:06:30 +00:00
lbsa71 6af0751cc5 * Tagged long running tests with LongRunningAttribute.
* Now, the 144 unit tests takes roughly as long time to run (16s on my laptop) that the 10 long running takes. The database tests takes forever.
* Feel free to run the unit tests as you code, and the rest before commit.
2009-04-09 20:06:27 +00:00
Justin Clarke Casey f3c7298fc5 * Make it possible to store creator strings in user inventory items as well as UUIDs
* All existing functionality should be unaffected.
* Database schemas have not been changed.
2009-04-08 17:50:57 +00:00
Teravus Ovares 8d8c45b659 * Fix the remainder of the packets that require sessionId checks. 2009-04-08 16:31:56 +00:00
Adam Frisby 5118f88bc4 * [SECURITY] Implements additional packet security checks for Object related packets.
* Note: as with the last commit, this requires additional testing.
* This represents 2/8ths of packets now being checked appropriately.
2009-04-08 06:41:52 +00:00
Adam Frisby 2bd6a915a0 * [SECURITY] Implements a large number of new security checks into Scene/Avatar packet processing within ProcessInPacket.
* Notes: this requires heavy testing, it may cause new issues where LL have recycled agent block data for non-security purposes. It can be disabled on Line 4421 of LLClientView.cs by changing m_checkPackets to false.
* This represents approx 1/8th of the packets being checked.
2009-04-08 06:31:19 +00:00
Justin Clarke Casey 0752dd65cc * Ooops, really put this on the task queue and not texture 2009-04-07 19:30:10 +00:00
Justin Clarke Casey 952960e375 * Put AgentTextureCached? response packet on the task queue rather than the wind queue
* Thanks to rtomita for pointing this out.
2009-04-07 19:23:17 +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
nlin 449bebf16e Preliminary work to support ObjectSpin* packets when user invokes CTRL / SHIFT / MOUSE DRAG on a physical object
Addresses Mantis #3381
2009-04-04 13:13:14 +00:00
lbsa71 7f4bf5871d * Proactively fixed bug-potential concerning the fact that m_httpServer property was differently referred to between RegionApplicationBase and all other grid services. 2009-04-03 20:56:36 +00:00
Melanie Thielker a4ba587df7 Adding the Length override to the KillPacket 2009-03-31 21:34:29 +00:00
Jeff Ames 20e1a8d7f6 Thanks rtomita for a patch to add a handler for the RemoveInventoryObjects packet. (bug #3304) 2009-03-31 05:47:53 +00:00
Justin Clarke Casey 176f263d23 * minor: remove mono compiler warnings 2009-03-30 18:34:43 +00:00
Melanie Thielker f88d755f96 Add PickInfoReply packet.
Fixes Mantis #3324
2009-03-30 11:51:34 +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
lbsa71 3cb06cc4cc * Changed a recursive BeginRobustReceive loop to a flat while loop to avoid lethal stack overflows. 2009-03-25 19:30:36 +00:00
Melanie Thielker f86c13f48e Send proper creation date on item gives, so objects will appear at the top of
"Objects", not at the bottom
2009-03-22 20:05:11 +00:00
Jeff Ames fec8aef03a Thanks rtomita for a patch to add handlers for prim scale updates from libomv-based clients. (#3291) 2009-03-14 22:55:17 +00:00
Melanie Thielker ddbf81fa07 Thank you, mcortez, for a patch that fixes a number of long standing
issues with the sun module.
Fixes Mantis #3295
2009-03-13 23:45:02 +00:00
Jeff Ames 6462014250 Thanks rtomita for a patch to fix inventory listings for clients using libomv. (#3285) 2009-03-11 18:46:52 +00:00
idb aab1601642 Limit the message length from llInstantMessage to 1024 characters http://wiki.secondlife.com/wiki/LlInstantMessage
Also truncate messages that may exceed the limit set by the packet size. The limit in OpenMetaverse is 1100 bytes including a zero byte terminator.
Fixes Mantis #3244
2009-03-07 14:16:26 +00:00
Justin Clarke Casey 6c735e0828 * Replace some string to byte conversions for object/item name/description fields with the LLUtil function that prevents the max string size from being breached 2009-03-05 19:32:27 +00:00
MW 3c46ee9326 Moved the SetupScene methods from RegionApplicationBase to OpenSimBase [Do we really still need RegionApplicationBase?]
Added a flag (bool m_autoCreateLindenStack = true) which says if the ClientStack will be autocreated and initialised when creating regions. This helps with moving ClientStacks to Region modules. 
Currently this flag is hardcoded to true, as it is only for testing at the moment, so you need to change the value in the code if you want to turn off auto creating.
2009-03-02 16:33:11 +00:00
MW ff76102644 Changed IClientNetworkServer.AddScene method from void AddScene(Scene x) to void AddScene(IScene x). As there should be no need for the client view to have a reference to Scene. IScene should be all it needs. 2009-03-02 14:42:01 +00:00
Melanie Thielker ed2de7ac82 Plumb in the RetrieveInstantMessages event that is sent by the viewer
when it is ready to receive offline IM
2009-02-26 20:11:55 +00:00
MW 33e7c09b7b Added IRegistryCore and RegistryCore to OpenSim.Framework.
Added a ApplicationRegistry to OpenSimBase.
Changed LoadRegionsPlugin so it registers itself to that application registry.
Added a event to LoadRegionsPlugin, that is triggered when it creates a new scene ,although maybe this event should actually be in opensimBase incase other plugins are creating regions (like the RemoteAdminPlugin).
2009-02-26 20:01:20 +00:00
Justin Clarke Casey 36e648a37a * minor: Remove most mono compiler warnings 2009-02-25 20:53:02 +00:00
Charles Krinke 6515d8be0e Fixes Mantis #3220. Thank you kindly, MPallari, for a patch that:
This patch changes InformClientOfNeighbour, CrossRegion and 
SendRegionTeleport methods to virtual.
2009-02-25 04:38:06 +00:00
Mike Mazur bdf95e54a2 A few updates necessary for load balancer.
- handle GetUser request for nonexistent user gracefully
- include throttle levels in ClientInfo
- code to save/restore throttles in client stack
- only update/send updates to active clients
- make animation classes serializable
2009-02-25 00:32:26 +00:00
Charles Krinke 8f55b9d735 Mantis#3218. Thank you kindly, TLaukkan (Tommil) for a patch that:
* Added log4net dependency to physxplugin in prebuild.xml.
* Added missing m_log fields to classes.
* Replaced Console.WriteLine with appropriate m_log.Xxxx
* Tested that nant test target runs succesfully.
* Tested that local opensim sandbox starts up without errors.
2009-02-22 20:52:55 +00:00
MW 89006da793 Added a check to LLClientView.RegisterInterface<T>(T iface), so that it can't try to add duplicate interfaces and cause a exception. 2009-02-21 14:30:17 +00:00
lbsa71 1cadad9ec6 * Applied a patch that: Added estate ban table to migration scripts and nhibernate mapping. Refactored property getters and setters for estate ban object to support NHibernate.
* Added estate ban table to migration scripts of all supported databases.
* Added nhibernate mapping for EstateBans property of EstateSettings
* Refactored property accessors for EstateBan object.
* Added comments for EstateBan properties.
* Ensured that NHibernate tests pass with NUnitGUI.
* Ensured that nant test target passes.  

This fixes mantis #3210. Thank you, tlaukkan!
2009-02-21 09:39:33 +00:00
Melanie Thielker 863556f2cc Thank you, Snowdrop, for a patch that makes the callback ID parameter
usable. Applied with formatting changes, please don't introduce
K&R style indentations into OpenSim
Fixes Mantis #3190
2009-02-19 03:09:56 +00:00
Melanie Thielker 3130784934 Re-add the objectID field to the anim pack, that was deemed unneccessary
and dropped nonths ago, because it is required to get smooth region
crossings with AO running. Without it, in some corner cases, anims will
continue to run in an unstoppable state.
2009-02-17 04:16:42 +00:00
Mike Mazur 76c0935ec7 - remove the Metadata property from AssetBase and return all previous
properties as before
- prefix private variables with m_ in AssetBase.cs
- related to Mantis #3122, as mentioned in
  https://lists.berlios.de/pipermail/opensim-dev/2009-February/005088.html
- all services will likely need to be upgraded after this commit
2009-02-17 01:36:44 +00:00
Justin Clarke Casey 42bd38960c * Apply http://opensimulator.org/mantis/view.php?id=3149
* If the texture does not contain any discard levels the last image packet was not sent
* Thanks Snowdrop
2009-02-13 17:02:26 +00:00
Justin Clarke Casey 88b273bc71 * refactor: Move export map function to world map module from scene 2009-02-13 16:43:20 +00:00
lbsa71 801da4346a * optimized usings. 2009-02-12 09:53:12 +00:00
diva 5dae1ddb5a Fixes mantis #3121. 2009-02-12 01:09:51 +00:00
diva b6e7e5ed42 Enforce estate bans on Teleports. 2009-02-11 21:07:41 +00:00
Justin Clarke Casey 8645c7482d * Change SendBulkUpdateInventory from two methods to one which accepts an InventoryNode 2009-02-11 19:57:45 +00:00
Dr Scofield 180be7de07 this is step 2 of 2 of the OpenSim.Region.Environment refactor.
NOTHING has been deleted or moved off to forge at this point.  what
has happened is that OpenSim.Region.Environment.Modules has been split
in two:

- OpenSim.Region.CoreModules: all those modules that are either
  directly or indirectly referenced from  other  OpenSim packages, or
  that provide functionality that the OpenSim developer community
  considers core functionality:

      CoreModules/Agent/AssetTransaction
      CoreModules/Agent/Capabilities
      CoreModules/Agent/TextureDownload
      CoreModules/Agent/TextureSender
      CoreModules/Agent/TextureSender/Tests
      CoreModules/Agent/Xfer
      CoreModules/Avatar/AvatarFactory
      CoreModules/Avatar/Chat/ChatModule
      CoreModules/Avatar/Combat
      CoreModules/Avatar/Currency/SampleMoney
      CoreModules/Avatar/Dialog
      CoreModules/Avatar/Friends
      CoreModules/Avatar/Gestures
      CoreModules/Avatar/Groups
      CoreModules/Avatar/InstantMessage
      CoreModules/Avatar/Inventory
      CoreModules/Avatar/Inventory/Archiver
      CoreModules/Avatar/Inventory/Transfer
      CoreModules/Avatar/Lure
      CoreModules/Avatar/ObjectCaps
      CoreModules/Avatar/Profiles
      CoreModules/Communications/Local
      CoreModules/Communications/REST
      CoreModules/Framework/EventQueue
      CoreModules/Framework/InterfaceCommander
      CoreModules/Hypergrid
      CoreModules/InterGrid
      CoreModules/Scripting/DynamicTexture
      CoreModules/Scripting/EMailModules
      CoreModules/Scripting/HttpRequest
      CoreModules/Scripting/LoadImageURL
      CoreModules/Scripting/VectorRender
      CoreModules/Scripting/WorldComm
      CoreModules/Scripting/XMLRPC
      CoreModules/World/Archiver
      CoreModules/World/Archiver/Tests
      CoreModules/World/Estate
      CoreModules/World/Land
      CoreModules/World/Permissions
      CoreModules/World/Serialiser
      CoreModules/World/Sound
      CoreModules/World/Sun
      CoreModules/World/Terrain
      CoreModules/World/Terrain/DefaultEffects
      CoreModules/World/Terrain/DefaultEffects/bin
      CoreModules/World/Terrain/DefaultEffects/bin/Debug
      CoreModules/World/Terrain/Effects
      CoreModules/World/Terrain/FileLoaders
      CoreModules/World/Terrain/FloodBrushes
      CoreModules/World/Terrain/PaintBrushes
      CoreModules/World/Terrain/Tests
      CoreModules/World/Vegetation
      CoreModules/World/Wind
      CoreModules/World/WorldMap

- OpenSim.Region.OptionalModules: all those modules that are not core
  modules:

      OptionalModules/Avatar/Chat/IRC-stuff
      OptionalModules/Avatar/Concierge
      OptionalModules/Avatar/Voice/AsterixVoice
      OptionalModules/Avatar/Voice/SIPVoice
      OptionalModules/ContentManagementSystem
      OptionalModules/Grid/Interregion
      OptionalModules/Python
      OptionalModules/SvnSerialiser
      OptionalModules/World/NPC
      OptionalModules/World/TreePopulator
2009-02-10 13:10:57 +00:00
Sean Dague 8088802c21 From Alan Webb <awebb@linux.vnet.ibm.com>
These changes replace all direct references to the AssetCache with
IAssetCache. There is no change to functionality. Everything works as
before.

This is laying the groundwork for making it possible to register
alternative asset caching mechanisms without disrupting other parts of
OpenSim or their dependencies upon AssetCache functionality.
2009-02-09 21:47:55 +00:00
Dahlia Trimble 8cc327cfa3 send group name in binary bucket in chatterbox invitation eventqueue message 2009-02-08 10:50:22 +00:00
Melanie Thielker 54c6a920ba Replace the console for all OpenSim apps with a new console featuring command
line editing, context sensitive help (press ? at any time), command line
history, a new plugin command system and new appender features thet let you
type while the console is scrolling. Seamlessly integrates the ICommander
interfaces.
2009-02-07 12:25:39 +00:00
Dr Scofield 9b66108081 This changeset is the step 1 of 2 in refactoring
OpenSim.Region.Environment into a "framework" part and a modules only
part. This first changeset refactors OpenSim.Region.Environment.Scenes,
OpenSim.Region.Environment.Interfaces, and OpenSim.Region.Interfaces
into OpenSim.Region.Framework.{Interfaces,Scenes} leaving only region
modules in OpenSim.Region.Environment.

The next step will be to move region modules up from
OpenSim.Region.Environment.Modules to OpenSim.Region.CoreModules and
then sort out which modules are really core modules and which should
move out to forge.

I've been very careful to NOT BREAK anything. i hope i've
succeeded. as this is the work of a whole week i hope i managed to
keep track with the applied patches of the last week --- could any of
you that did check in stuff have a look at whether it survived? thx!
2009-02-06 16:55:34 +00:00
Mike Mazur 0c03a48fb2 - add OpenSim.Framework.AssetMetadata class. AssetBase is now composed of it
- trim trailing whitespace
2009-02-04 00:01:36 +00:00
diva 360eb239b3 Hopefully fixes mantis #3063. 2009-01-31 00:15:13 +00:00
Dahlia Trimble c747990187 Send groups list via event queue 2009-01-27 06:14:11 +00:00
Dahlia Trimble 4dace03696 add a definition for a parcel properties CAP
send parcel properties via eventqueue rather than UDP to facilitate libomv clients - see Mantis #3040
2009-01-26 10:42:24 +00:00
Dahlia Trimble fa99f01378 more eventqueue IM nonsense 2009-01-26 08:04:12 +00:00
Teravus Ovares 76206543e8 * Adds console command, 'predecode-j2k <number of threads>' to load all of the texture assets from the scene and decode the j2k layer data to cache. The work is split between the number of threads you specify. A good number of threads value is the number of cores on your machine minus 1.
* Increases the number of ImageDataPackets we send per PriorityQueue pop and tweak it so that the number of packets is ( (2 * decode level) + 1 ) * 2, and (((2 * (5-decode level)) + 1) * 2).  The first one sends more data for low quality textures, the second one sends more data for high quality textures.
2009-01-25 04:34:00 +00:00
Justin Clarke Casey c277440e73 * minor: remove mono compiler warning 2009-01-23 20:44:35 +00:00
Dahlia Trimble 68978e6e2a add event queue code for sending group IM for future group support 2009-01-23 01:49:32 +00:00
Teravus Ovares 178fd97bd0 * Fixing a group title 2009-01-23 00:08:35 +00:00
Teravus Ovares 28ddc38deb * Remove a few unnecessary locks to try and prevent lock contention in LLImageManager 2009-01-22 18:28:32 +00:00
Teravus Ovares 9ebba37a7c * discovered! darn! Removing I <3 OpenSimulator from firstname 2009-01-22 10:04:15 +00:00
Teravus Ovares a7ccbb3de0 * Added some more comments
* Fixed up an outgoing packet
* I <3 OpenSimulator
2009-01-22 09:31:01 +00:00
Justin Clarke Casey 37fa677548 * refactor: Extract caps related code from scene and put into a region module
* No functional changes in this revision
2009-01-21 21:14:17 +00:00
Justin Clarke Casey d2d273aebe * minor: move connection success log message so that it doesn't get printed again if a duplicate use circuit code packet comes in 2009-01-21 18:46:44 +00:00
Justin Clarke Casey 22aeda3ba1 minor: find in existing senderUUID field for chat messages originating from a client 2009-01-21 17:56:25 +00:00
Teravus Ovares 68baf9096a * Another image packet edge case. Thanks nebadon for printing a log of it 2009-01-19 21:29:44 +00:00
Teravus Ovares 4823f2ae8e * Set SVN Properties 2009-01-19 18:33:25 +00:00
Teravus Ovares 8e01f75784 * Progressive texture patch + PriorityQueue put into the LLClient namespace.
* Updates LibOMV to r2362
2009-01-19 17:11:57 +00:00
Justin Clarke Casey eca6442bae * Rig up enough infrastructure to actually perform a successful 'standalone' teleport unit test with checks that the scene presence disappeared from sceneA and appeared in
sceneB
* However, I'm not convinced that the actual process in the test completely reflects reality, and a lot of stuff had to be rigged up (which should get resolved over time)
2009-01-16 21:56:13 +00:00
Justin Clarke Casey 093adb2113 * Add new unit test for simple teleport in a standalone.
* Does not yet check results.
2009-01-15 21:27:55 +00:00
Justin Clarke Casey 75ea84f3d2 * minor: Change around more debugging messages 2009-01-14 18:46:33 +00:00
Justin Clarke Casey 6ae1b80d20 * Do some log tweaking to better see incoming connection success (and failure) 2009-01-14 17:34:04 +00:00
Justin Clarke Casey 1e365df495 * minor: Stop friendship termination crashing the client thread if the friend to be terminated could not be found 2009-01-13 16:49:01 +00:00
Justin Clarke Casey efcf6ff095 * Extend current stub packet handler test into a really basic one that checks that a sent in packet ends up on the client queue ready for processing 2009-01-12 20:42:44 +00:00
Justin Clarke Casey ade107f04f * Separate starting a client thread into a separate Start() method (which matches the existing Stop() and Restart() methods) 2009-01-12 19:37:56 +00:00
Justin Clarke Casey d4d2c19594 * Extend PacketHandlerTest to fire in a packet.
* Can't test result yet since the Client thread handles it with unpredictable timing
2009-01-12 18:45:03 +00:00
Justin Clarke Casey 6e9d5e4ea7 * refactor: move packet handler interface into a separate class 2009-01-12 17:31:30 +00:00
MW e1eb1b2cfa a little bit more work on LLFileTransfer.cs, from over the christmas/new year period. Still not working/in use but hopefully I can finish it soon. 2009-01-12 10:16:33 +00:00
Justin Clarke Casey 7cd8748096 * minor: Put in stub LLPacketHandler testing code 2009-01-09 21:05:53 +00:00
Melanie Thielker 7c7ea57c5c Finish dwell sending, adding the forgotten method body.
Add UserInfo and a dummy reply to enable Hippo Viewer users to
disable IM logging (option was greyed out in OpenSim before)
2009-01-09 02:59:56 +00:00
Justin Clarke Casey 17f783457b * refactor: move code for sending a message to all users in a region to the DialogModule 2009-01-08 18:50:46 +00:00
Justin Clarke Casey a31792ee5c * prune and regrade log messages relating to client login and logout 2009-01-06 21:39:55 +00:00
Adam Frisby 3b0eb958a8 * Another minor GenericMessage fix - If we assume the method names are case-insensitive, we should process them as such. 2009-01-04 19:41:55 +00:00
Adam Frisby 00a0f4a286 * Added some information to HandleGenericMessage to indicate that it's not the packet that isnt being processed, but instead the method-type. 2009-01-04 19:39:17 +00:00
Adam Frisby f0864b5154 * Minor tweak to crash logger to copy ini with log if save-to-dir is on.
* Added BinaryGenericMessage handler for cases where GenericMessage isnt transmitting pure-utf8 characters.
2009-01-04 19:09:22 +00:00
Melanie Thielker 7beb8a5abb Plumb the remaining dwell packets 2009-01-03 20:45:33 +00:00
Teravus Ovares e9cef70f89 * Updates the sim stats module. Cleans out some of the rot.
* Adds a prototype web stats module which is disabled by default.  It's functional with one report right now, however, the database structure may change, so I don't recommend enabling this to keep actual stats right now.  I'll let you know when it's safe.
* Adds Prototype for ajaxy web content
* removed a warning or two.
2009-01-03 03:30:03 +00:00
Melanie Thielker a7708413ee Plumb in dwell in a couple of places 2009-01-03 00:03:41 +00:00
Justin Clarke Casey a3af0e61eb * Add Nini.Config and System.Xml references to MockScene for Windows compilers 2009-01-02 20:11:20 +00:00
Jeff Ames 2be0f7a6f0 Update svn properties, minor formatting cleanup. 2008-12-30 01:08:07 +00:00
Melanie Thielker 23844a9073 Plumb the profile reply packets for picks, classifieds and notes 2008-12-25 20:28:13 +00:00
Melanie Thielker 3b6ffd9e41 Plumb yet another groups packet 2008-12-25 18:22:50 +00:00
Melanie Thielker 318de200bd Plumb in EventNotification* and EventGodDelete 2008-12-23 23:41:46 +00:00
Melanie Thielker fc053a6af8 Plumb in the 4 missing classified events and the 3 packet methods 2008-12-23 18:16:30 +00:00
Justin Clarke Casey cce1b096db * refactor: Replace part of SceneObjectPart with the identical sound playing code in the SoundModule 2008-12-23 17:54:13 +00:00
Teravus Ovares 119104e35b * Re-implement packet tracking in IClientAPI so we can see what's going on in the client network in the simstats manager. This makes packets in per second, packets out per second, and unacked bytes work again in the simulator stats section. 2008-12-21 00:11:54 +00:00
Justin Clarke Casey 899f2a80d7 minor: remove mono compiler warning 2008-12-19 19:50:46 +00:00
lbsa71 56f1b03cd0 * Added "show queues" command that shows throttling queues for all clients.
*** This only works for LLCLientView at the moment ***
2008-12-18 13:16:41 +00:00
Melanie Thielker a9e38bcafc Reapply the packet optimization patch, with changes 2008-12-17 21:00:18 +00:00
Melanie Thielker 2bcf315ea2 Revert 7754 and 7755 pending a rework 2008-12-17 20:34:37 +00:00
Melanie Thielker 5320f0f33c Stop packets that may be resent from being returned to the packet pool.
FWIW
2008-12-17 20:21:48 +00:00
Justin Clarke Casey 2108d328df * revert r7724 so that PresenceChildStatus() starts throwing NRE's again
* apparantly logout code relies on this happening in certain circumstances.  Really, the root issue needs to be investigated.
2008-12-17 19:12:56 +00:00
Melanie Thielker 7ef5a79fef Change the PacketQueue to use the stored size as well 2008-12-17 19:01:47 +00:00
Melanie Thielker 0d3a9b45ae Marry AckData to LLQueItem, and store packet data and length there for
use everywhere. Each packet gets serialized only once now in PacketHandler
2008-12-17 18:56:47 +00:00
Justin Clarke Casey ab77b22f0f * Only serialize packets once for the length calculation for throttle queues rather than twice 2008-12-17 17:33:57 +00:00
Melanie Thielker 35ec496f98 Revamp packet handler to smooth out the stream of resent packets.
Eliminates the bursting in resends observed in the prior implementation
2008-12-17 17:19:14 +00:00
Justin Clarke Casey 72ff5322f5 * Replace manually zeroing with Array.Clear(). Thanks cmickeyb 2008-12-17 17:18:52 +00:00
Melanie Thielker 8e5fe0257c Mantis #2850
Applying the patch to reduce the load caused by the throttle loop even more
2008-12-17 17:05:12 +00:00
Justin Clarke Casey 2e79fd0f0c * minor: Minor documentation and small minor change on LLPacketThrottle to remove some unnecessary lines 2008-12-17 17:01:02 +00:00
Justin Clarke Casey b4680f653d * Implement 'Save Object Back to My Inventory'. On the Linden client this is in the Tools menu available when editing an object
* This facility allows you to save changes to an object that you've rezzed into a region back into their original inventory item without having to take a copy of the rezzed 
object.
2008-12-17 16:11:03 +00:00
Melanie Thielker a5343c5404 Add repecting the min and max values back in 2008-12-17 09:55:10 +00:00
Melanie Thielker e394e1c06f Remove a major bottleneck in throttling code. 2008-12-17 09:52:52 +00:00
Melanie Thielker 02a28a6992 Avoid checking the throttle limit for empty queues 2008-12-17 09:30:56 +00:00
MW 1110ee877f More work on moving Xfer file transfer handling code to the Client stack from the various region modules that it is currently in.
Still not enabled yet.
2008-12-15 21:46:57 +00:00
Justin Clarke Casey 41ad030a5a * minor: method documentation and miscellaneous tidy 2008-12-15 20:32:49 +00:00
Justin Clarke Casey 3b0db66b92 * Apply http://opensimulator.org/mantis/view.php?id=2775 with small tweaks
* This pushes an identifier for the OpenSim scene to the physics scene.  This allows log messages from the physics scene to identify which OpenSim scene they relate to.
* Thanks Gerhard
2008-12-15 18:39:54 +00:00
Melanie Thielker 008e1fe8df Plumb the TP-Sending packets 2008-12-14 05:49:07 +00:00
Charles Krinke e6eb571c1d Mantis#2725. Thank you kindly, Diva, for a patch that:
Adds missing protocol pieces for EstablishAgentCommunication
event which allows the client to activate CAPS and the EQ for 
child agents.
2008-12-14 02:17:12 +00:00
MW 40bbf886f2 more work on moving FileTransfer code to the clientstack.
Still not enabled.
2008-12-13 15:04:24 +00:00
Jeff Ames 8929bfc369 Add copyright headers. 2008-12-13 12:30:46 +00:00
Jeff Ames 4f9d5d955b Update svn properties. 2008-12-13 12:22:52 +00:00
MW e0765fa6c8 more work on moving FileTransfer code to the clientstack.
Although its still not enabled.
2008-12-12 22:20:13 +00:00
MW 6e07ef9cb9 Add OpenSim.Framework.IClientFileTransfer. 2008-12-12 21:17:49 +00:00
MW e9d905f48c Started to move xfer file transfer code to the LLClientStack, rather than having it in a region module (like it was).
Note:None of this is enabled yet.
2008-12-12 21:08:23 +00:00
Justin Clarke Casey 557567dcf8 * minor: remove some old logging messages 2008-12-09 16:16:16 +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
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
Justin Clarke Casey 23ea8f5221 * refactor: remove unnecessary packet null check in LLClientView
* if a packet was really null it would be caught by the general exception handler at the top of the client thread, which would also provide more information and attempt a clean 
shutdown
2008-09-20 19:05:00 +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
Dr Scofield e3a3ce7628 code formatting cleanup. 2008-09-18 15:54:27 +00:00
Teravus Ovares dbbbec48df * This update makes configuring SSL a little easier on Windows XP. It also makes it possible to run a HTTPS server on the region. It also has a junk Certification authority for test purposes.
* There are still a lot of things that are hard coded to use http.   They need to be fixed.
* Also includes directions
* A standard junk PEM file to append to app_settings/CA.pem in the client so SSL will work
2008-09-14 18:39:17 +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
Adam Frisby e946b40fdd * Minor fixes and cleanups around code being used for Rex Module work. 2008-09-14 01:49:47 +00:00
Jeff Ames b4141f9e56 Formatting cleanup. 2008-09-13 22:07:07 +00:00
Melanie Thielker 8830b8b72c Mantis #2018
Read animation data from avataranimations.xml to allow default animations
to be started and stopped by name from scripts.
2008-09-13 19:51:56 +00:00
Justin Clarke Casey 62d1eba3b2 * Patch http://opensimulator.org/mantis/view.php?id=2167
* Force ClickAction persistence even if other object properties are not edited 
* Thanks nlin!
2008-09-12 20:42:04 +00:00
Melanie Thielker ecc24c3c63 Revert 6242 because of a possible licensing issue 2008-09-12 00:33:24 +00:00
Melanie Thielker 7a63fe7c07 Add the UUIDs of the standard animations. Thanks, Ewe Loon! 2008-09-12 00:23:41 +00:00
Justin Clarke Casey f3497d9f57 * Start loading prims after region module configuration rather than before
* In some circumstances, loading prims can invoke region modules
2008-09-11 13:56:25 +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
Mike Mazur e0d092ec53 Thanks, nlin, for a patch implementing persistence for "When Left Clicked"
object property. Fix issue 2149.
2008-09-10 00:19:36 +00:00
Adam Frisby c95bdb83c0 * Adds OnGenericMessage and SendGenericMessage functionality to IClientAPI.
* Please don't break the build. *fingers crossed*
2008-09-09 05:25:29 +00:00
Jeff Ames fae34bb10c Update svn properties, formatting cleanup. 2008-09-09 01:26:48 +00:00
lbsa71 8388fe0669 * some if inversions and added {}'s for readability 2008-09-08 14:30:35 +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
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 78f831ef52 * minor: Clean up of logging messages to make following the client login process easier
* documentation
2008-09-07 03:22:33 +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
Melanie Thielker a7e2d14454 Rolling back #6139 because there is no consensus on it's application.
Reverted pending further discussion.
2008-09-06 04:35:33 +00:00
Melanie Thielker b6b1e9e214 Mantis #624
Thank you, openlifegrid, for a patch to move new user connections to
thread pool threads.
Reworked by me to fit current trunk.
I believe that that patch may be beneficial in reducing the cases
in which regions become unresponsive and will no longer accept
new logins.
2008-09-06 04:21:36 +00:00
Charles Krinke 24a95507d4 Mantis#2104. Thank you kindly, Godfrey for a patch that:
If the parcel pointed to by the landmark has nothing in the 
Description field (of the General tab in About Land...), a 
NullReferenceException is thrown and the client is logged out.
I added a check to the calls to Helpers.StringToField() in OpenSim.Region.ClientStack.LindenUDP.SendParcelInfo to avoid 
this issue.
2008-09-05 23:04:20 +00:00
Melanie Thielker dba779862d Mantis #2107
Thank you, lulurun, for a patch to fix a possible crash when a received
packet contains a quaternion with all members zeroed.
2008-09-03 11:25:11 +00:00
Charles Krinke e044d83679 Mantis#2106. Thank you kindly, HomerHorwitz for a patch that:
The attached patch fixes connectivety checking of root- and
child-agents. If an agent's client isn't sending any packets 
for some time (not even to StartPingCheck packets), we assume 
that we lost connection and try to log them out.
2008-09-03 03:35:54 +00:00
Justin Clarke Casey c713ec8223 * Committed patch in mantis 623
* Unpatched code certainly looks bizarre - attempts to add a new client if we encountered a failure in processing a packet.  No apparant ill effects on a sniff test.
* Thanks openlifegrid
2008-08-30 21:33:55 +00:00
Justin Clarke Casey 8f31c47f2f * Apply patch in mantis 2083
* TimeStamp field of the AgentMovementCompletePacket in LLClientView.MoveAgentIntoRegion contained a fixed number. The attached patch changes this to a current 
timestamp.
* Thanks HomerHorwitz
2008-08-30 17:51:12 +00:00
Jeff Ames 3bf8858727 Update svn properties, formatting cleanup. 2008-08-28 14:41:54 +00:00
Teravus Ovares 43ab833be0 Documentation, headers and all the normal stuff 2008-08-25 23:31:50 +00:00
Justin Clarke Casey 4a475ca2be * minor: refactor thread report into a method that returns a string rather than displays information directly 2008-08-25 23:21:07 +00:00
Justin Clarke Casey ba2130046f * minor: Comment out the remaining unhandled packet messages in LLClientView, except for unidentified packets
* These make it more difficult to read the logs, and I don't think they help all that much
2008-08-25 22:01:51 +00:00
Justin Clarke Casey 3d2069f3d9 * zap compilation warnings 2008-08-25 21:35:22 +00:00
Justin Clarke Casey 7402c2d288 * Deal with a WebException thrown if a grid server cannot be contacted for region information 2008-08-25 21:26:58 +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
Melanie Thielker 63b6ab467a Implements 80% of object buy (prim vendor). You can't buy the object yet,
and the for sale setting doesn't survive a sim restart, but this is most
of the plumbing.
2008-08-24 00:51:21 +00:00
Justin Clarke Casey f0ffbf5b38 * Allow an exception generated in ProcessOutPacket to travel up the stack
* It is dealt with correctly further up, at which point the user is also notified and the failure recorded as a statistic
2008-08-22 21:41:05 +00:00
Melanie Thielker f206ffd5a8 Mantis #2003 - thank you, SachaMagne, for a patch that implements
the first part of gesture persistence.
----------------------------------------------------------
Attachments no longer vanish on walking crossing. Teleport is still
problematic, but will now be blocked with message "Inconsistent
attachment state" rather than losing the attachment. Detach to be
able to TP in that case.
2008-08-20 01:48:51 +00:00
Melanie Thielker 5cb0d4fcac Packet type exclusion (Mantis #2004)
Exclude SimStats packets from ack appending.
2008-08-19 19:44:49 +00:00
Jeff Ames bea7d4d81a Update svn properties, formatting cleanup. 2008-08-19 02:59:27 +00:00
Justin Clarke Casey 9650632cd1 * It appears that sometimes some IClientAPI reference is not being released, resulting in continual execution of the CheckConnectivity timer method
* For now, just turn off this timer when we close the connection
* Also some minor help refactoring creeps in to this revision.
2008-08-18 21:14:38 +00:00
Melanie Thielker 6614eee4d4 Change LowpriorityTask to be ThrottleType.Task | ThrottleType.LowPriority to make the flag nature of this value more clear. 2008-08-18 18:59:06 +00:00
Jeff Ames 6ef9d4da90 Formatting cleanup. 2008-08-18 00:39:10 +00:00
Justin Clarke Casey c602d76b79 * Insert a new 'set log level [level] command on the console'
* The primary immediate use is to provide a means of temporarily reducing log output on the console when executing console commands
* Changing the log level on the console is not permanent and does not affect the log information being put into OpenSim.log
* This could have been done by putting in a threshold level on the Console appeneder in OpenSim.exe.config and implementing config watching in the code.
* But I think that it's a little more user friendly to make this doable via the console.
2008-08-16 20:24:08 +00:00
Charles Krinke 7a90385f1c Mantis#1970. Thank you kindly, HomerHorwitz for a patch that:
This patch improves fetching of inventory from several minutes 
to a few seconds.
2008-08-16 19:37:30 +00:00
Charles Krinke d9cc908471 Mantis#1965. Thank you kindly, HomerHorwitz for a patch that:
Places touched:
- Added two events for in-packets to LLCLientView: RegionHandleRequest and
  ParcelInfoRequest
- Added sending of two out-packets to LLCLientView: RegionIDAndHandleReply and
  ParcelInfoReply.
- Scene handles the RegionHandleRequest, LandManagementModule the
  ParcelInfoRequest
- Added inter-region request for LandData by RegionHandle and local position.
  This was implemented as XML-RPC request. The returned LandData isn't
  complete, it only contains the data necessary for answering the
  ParcelInfoRequest
- Added new CAPS (0009) for RemoteParcelRequest and some methods for LandData
  handling to LandManagementModule
- Added methods for fake parcelID creation and parsing to Util
- Fixed missing implementation of interface methods.
- Added new file:
    OpenSim/Framework/Communications/Capabilities/LLSDRemoteParcelResponse.cs
  NOTE: This is part of the patch, too.
Due to the many places touched, I would consider this patch as experimental.
2008-08-16 19:20:14 +00:00
Jeff Ames 6fa26f5b41 Update svn properties, minor formatting cleanup. 2008-08-16 17:26:25 +00:00
Melanie Thielker 72b8c1af1c Plumb the user flags all the way through to the profile. userFlags in
the database is now intepreted as follows: low byte = user flags.
Next byte, low nibble: Deternines the text (Resident, Lifetime, etc)
shown. No customn text support yet.
2008-08-15 19:19:24 +00:00
Melanie Thielker dfc553d0a4 Fix up master avatar handling for estate owners. Introduces a new
hierarchical rights structure. MasterAvatar: Owner of the region server
(may be null), net gods (users with GodLevel 200), Estate owner
(from database). Look at Opensim.ini.example to enable net gods.
Estate owner will default to master avatar.
2008-08-15 13:13:39 +00:00
Jeff Ames dde21314e7 Update svn properties, formatting cleanup, fix a couple compiler warnings. 2008-08-15 10:24:04 +00:00
Melanie Thielker c2f1771c63 Make the estate owner work. Changes permissions checks to allow the
estate owner user the ability to add and remove estate managers,
and have EM rights outside of that.
2008-08-14 18:08:22 +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
Justin Clarke Casey fb4eb05ae1 * minor: make it clear on the console when a client is being logged out because that client has not responded to pings 2008-08-13 21:45:17 +00:00
Melanie Thielker fa9afd4c91 Fix data format for last commit 2008-08-12 23:15:51 +00:00
Melanie Thielker b0fbef81d0 Minor patch: fix an instance where the estate name, as displayed on the
Covenant page of the estate dialog, could be shown as the master avatar's
name, or even as Test User
2008-08-12 22:55:47 +00:00
Justin Clarke Casey 4e555b87f3 * Stop warnings about non existent scene presences/entities being removed on client log off
* This is being done by preventing close from being called twice on child agent closure (nres which would have been thrown are being swallowed).  
* However, it should be possible to do much better cleanup on this code in the future
2008-08-12 19:00:13 +00:00
Jeff Ames f894f5d87b Minor formatting cleanup. 2008-08-12 00:08:41 +00:00
Melanie Thielker 9b7e66ceda Attempt to address Mantis #1905, #1909
Prevent re-sequencing of resent packets. Thanks, ckrinke, for
catching that, it is what was happening.
2008-08-10 16:37:45 +00:00
Justin Clarke Casey d0480a87c3 * Remove warnings 2008-08-09 21:24:27 +00:00
lbsa71 d4b8e06d55 * Added a little more log info in LLUDPServer 2008-08-09 18:37:20 +00:00
lbsa71 6849f45660 * Shielded against various forms of Malformed data crashes - if there is an error in packet creation, we just log and ignore it
* If there's a Socket.AlreadyInProgress, just silently ignore this one
* Tried to refactor the Reset and BeginRecieve logic into something a little more readable, little less duplicated
2008-08-09 05:26:33 +00:00
Melanie Thielker eaff580abe Patch #9160
Refactor proxy encode/decode methods out of the PacketPool into
their own class.
2008-08-08 11:04:24 +00:00
Mike Mazur 97d5b5a1eb De-coupling the IClientAPI interface and ClientManager class from the
libsl/libomv Packet, as other client stacks could use other data types to pass
packets around. Starting with InPacket() here, more to come.
2008-08-08 09:19:23 +00:00
Jeff Ames 657af5e611 Update svn properties, minor formatting cleanup. 2008-08-08 06:39:35 +00:00
Mike Mazur 1040f3f454 Remove FunSL client stack as it's under development and often won't compile.
This effectively undoes commits 5771 and 5769 as well as parts of the
formatting cleanup commits 5774 and 5775.
2008-08-08 05:57:14 +00:00
Melanie Thielker 39e68833b2 Patch #9159
Complete the support for dupe tracking. Eliminate one of the "Eternal
caches".
2008-08-07 15:32:39 +00:00
Melanie Thielker 51f90af4b7 Patch #9158
Refactor packet sending into LLPacketHandler. Change packet sequencing
and ack lists to ensure packet sequences conform to wire order.
2008-08-07 14:48:45 +00:00
Jeff Ames 0718aa0b7f Minor formatting cleanup. 2008-08-07 12:55:46 +00:00
Mike Mazur 548bcc265f Rename namespace to FunSL. 2008-08-06 01:38:25 +00:00
Mike Mazur f180fa57e7 Create FunSLUDP client stack. At the moment it's only a copy of the LindenUDP
client stack.
2008-08-06 01:34:50 +00:00
Justin Clarke Casey 6b1a5c33af * Fix probable cause of one of the bugs seen in the osgrid office hours today
* If a text string is too long we actually need to truncate to 254 chars rather than 255, since the Helpers.StringToField conversion will stick a \0 on the end
2008-08-05 20:34:34 +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
Justin Clarke Casey 3fc942558e * start tracking viewer session threads 2008-08-01 20:16:28 +00:00
Justin Clarke Casey 5350cec0b3 * minor: log message twiddling 2008-08-01 20:05:26 +00:00
Melanie Thielker c441a03ea3 Thank you, HomerHorwitz, for a patch that implements llSetCameraParams/llClearCameraParams.
Fixes Mantis #1867
2008-07-31 12:31:31 +00:00
Melanie Thielker c80493ed4d Prevent acks from being appended to viewer effect packets, since
that has been known to cause an exception in libomv ^^
2008-07-29 22:40:23 +00:00
Melanie Thielker 839e9c94e8 Prevents Mantis #1829
Add array size check to packet from viewer to prevent OOB exception
2008-07-27 19:12:40 +00:00
Dr Scofield 24e15088ea renaming the increasingly ill-named ChatFromViewerArgs to OSChatMessage 2008-07-25 10:05:50 +00:00
Melanie Thielker 06e0e513cf Add GetGroupPowers() and a dictionary to hold them to ClientView and
IClientAPI. No user functionality
2008-07-25 03:45:17 +00:00
Justin Clarke Casey 11385c53e6 * minor: eliminate warnings from LindenUDP 2008-07-24 16:03:17 +00:00
Melanie Thielker 740a9a7374 Thank you, Neopallium, for a patch that addresses ack issues in the
client stack. Committed with changes, see Mantis #1810 for details.
2008-07-24 15:52:36 +00:00
Jeff Ames a4ad6a67b7 Update svn properties. Minor formatting cleanup. 2008-07-24 15:20:47 +00:00
Melanie Thielker cc5d49d9c1 Addresses Mantis #1810
Collapses two locks into one to avoid a situation were a List is
cloned under two different locks, resulting in a bad index in
.NET code.
2008-07-24 01:38:58 +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
Melanie Thielker 76d8cceb92 Fix a race causing a buffer overflow under moderate load 2008-07-23 14:26:08 +00:00
Jeff Ames 80d8e2889e Update svn properties. Formatting cleanup. Remove a compiler warning. 2008-07-23 13:24:25 +00:00
MW 9b51bb545e Changed it so the avatar's rotation is now sent as part of a full avatar update.
This should fix the wrong rotation on existing sitting avatar when logging in bug.
2008-07-23 11:07:59 +00:00
Melanie Thielker e1c6563174 Guard against wrong packet types being passed into AddNewClient.
Actually, the exception handler seems to be a valid execution
path here, this needs some love.
2008-07-23 01:16:01 +00:00
Melanie Thielker e09ff343fb Make QueuePacket() lock free. Eliminates an unneeded lock() 2008-07-22 22:49:13 +00:00
Melanie Thielker 7fb103d374 Change one packet optimization to cover a case where the resend
queue may block indefinitely when a single packet is not acked
by the viewer and no others cwfromfor that region are pending.
2008-07-22 22:21:20 +00:00
Melanie Thielker f112cebde2 Refactor the packet scheduling out of ClientView. Add intelligent
resending, timeouts, packet discarding. Add notification event for
packet discarding. Add priority scheduling for packet queues.
Add outgoing duplicate detection facility. Correct packet sequencing.
Make provisions for automatic server side throttle adjustments (comes
in next installment)
2008-07-22 17:58:42 +00:00
Jeff Ames 186f83692c Update svn properties. Squash a couple of warnings. 2008-07-22 15:01:04 +00:00
MW 6784cebf57 added support so that the packet tracker can resend packets itself as well as triggering a event. Next step to change the terrain packet resending to use these feature. 2008-07-21 16:21:59 +00:00
MW fb096dfbd5 added experimental packet tracker (LLPacketTracker.cs), which can be told to track a packet and if it hasn't been acked within a set time, trigger a IClientAPI event, that the application/scene can handle. Currently only terrain packet tracking is finished, Tracking for initial Prim packets (first full update for a prim) is being worked on. Future improvements would be to make it a more generic packet tracker with callback delegates instead of events.
Add a test event handler (which would fire after a minute if a terrain packet hadn't been acked) to scene to handle the OnUnackedTerrain event, which currently just resends the terrain patch.
The idea of this packet tracking is for the region level application to be able to know if the client stack gave up on sending a packet.
2008-07-21 15:13:34 +00:00
lbsa71 9dbb6f28bc * eliminated some warnings and added some const and readonlies
* refactored some member names for readability and ccc (code convention conformance)
* took away two refs from Rest.Inventory since
   * System.IO is part of System
   * System.Xml.Serialization is part of System.Xml
2008-07-21 10:02:55 +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 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 07bd749ac5 Patch #9150
Patch 7 of the region patches. Finish off the region parts of the estate dialog. Full user functionality. Terrain textures, heights, water, avatar counts, prim bonus, debug settings and region toggles can now be set from the dialog on a per-region basis. Estate stuff defaults to sane values where there are no defaults, to estate_settings.xml otherwise. Sun still b0rked :(
2008-07-14 01:39:36 +00:00
Melanie Thielker e712678689 Patch #9147
Patch #4 of the region settings series. Partial functionality of the new
storage system. More patches to follow.
2008-07-14 01:27:47 +00:00
Charles Krinke d0fb5e8c90 Mantis#1638. Thank you kindly, Salahzar for a patch that:
Addresses an unused field in the asset server but never get filled up. 
It also makes working the recent items tab in inventory :))))
2008-07-13 18:57:13 +00:00
Melanie Thielker 9e20318667 Patch #9145 (Mantis #1723)
Allows direct viewing of library scripts from inventory again
2008-07-12 13:42:32 +00:00
Melanie Thielker f629fdb88d Patches #9143 and #9144 (Mantis #1723)
Changes the permissions module to make scripts permissive only when intended
Adds security checks to asset transfers to prevent hacked clients fron
requesting script sources.
Adds security checks to llClientView to verify all aspects of ownership
and permissions for inventory based script retrieval.
2008-07-12 06:24:43 +00:00
Justin Clarke Casey da68f18a6b * Guard against a null point passed to RemoveClientCircuit (odd that this happens at all)
* Patch from Kurt Taylor (IBM) in http://opensimulator.org/mantis/view.php?id=1720
* Thanks Kurt!
2008-07-11 17:58:26 +00:00
Charles Krinke 1472cee72f Mantis#1005. Thank you kindly, Mircea for a two patches that:
Addresses both locale issues and setting the waterHeight correctly.
2008-07-11 15:40:56 +00:00
MW 7db2e19500 corrected the params types on IClientAPI.SendParcelMediaCommand. the command parameter should be set to the the ParcelMediaCommandEnum value. While flags seems to need to be set to (uint)(1<<[value of the command enum]) 2008-07-09 11:01:26 +00:00
lbsa71 b7fc172254 * Added experimental SendParcelMediaCommand and SendParcelMediaUpdate to IClientAPI. These methods have not been tested, but feel free to start wiring them to llParcelMediaCommandList. 2008-07-08 14:17:59 +00:00
lbsa71 6c13d68489 * Changed casing of some archaic methods to conform with code standards 2008-07-08 11:30:08 +00:00
lbsa71 b1b529f94e * Moved script packet handlers from 'unimplemented' to 'Script Packets' 2008-07-08 11:02:53 +00:00
Dr Scofield 2dadbc2f70 mini-warnings-safari, plus cleanup of IUserServices method naming. 2008-07-04 10:19:58 +00:00
Justin Clarke Casey 8251508412 * On client login, send only one terrain patch at a time (with pauses) instead of 4 at a time
* Certain terrains which are fine went patches are sent singly cause a libsecondlife failure when patches are sent in batches
* See http://opensimulator.org/mantis/view.php?id=1662 for more details
2008-07-03 23:04:12 +00:00
Charles Krinke 9a0ef22ed9 Mantis#1616. Applied Melanie's patch. This may or may
not break trunk.
2008-06-28 16:08:12 +00:00
Teravus Ovares e5649e0dd5 * Various documentation to some black magic parts of LLClientView
* Added IClientAPI.SendTexture stub.
2008-06-28 00:33:17 +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 a58a47a759 Mantis#1597. Thank you, Melanie for a patch that:
Adds handlers for the reclaim land functionality, 
plus all needed permissions checks.
2008-06-26 13:45:36 +00:00
MW cf1cf73839 added the flag param to IClientAPI.SendMapBlock 2008-06-25 20:14:47 +00:00
MW 35e1a2fdfc first part of Requestmapblocks fixes: Adds uint flags param to the OnRequestMapBlocks event (and handler), as when a client sends a map block request it also sends what layer it wants it for 0,1,2. It will always send two requests, one of them being for layer 2 (the overlay layer) and the other one either 0 or 1 depending on the tab that is selected in the client worldmap window. We should also be sending what layer the reply is for in IClientAPI.SendMapBlock (current always set to 0). That will come in next part (most likely at the weekend). 2008-06-25 20:03:16 +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
Johan Berntsson 20e4036853 Implemented plugin support for ClientStack, with LindenUDP as the default plugin. This makes it easy for developers to experiment with alternative communication protocols 2008-06-20 01:35:54 +00:00
Charles Krinke 838ffd7792 Mantis#1543. Thank you kindly, Jonc for a patch that:
Implements terrain bake from Region/Estate dialog and 
respects estate settings during terraforming
2008-06-19 20:57:00 +00:00
Teravus Ovares cb29926e3c * Refactors call to OutPacket out of AssetCache and into LLClientView 2008-06-18 23:04:15 +00:00
Justin Clarke Casey c9a983a85e * minor: A few miscellaneous doc comments before I break and start on something else 2008-06-14 20:52:42 +00:00
Teravus Ovares 6bea792436 * Enables maptile display in grid mode for simulators that are not on the same instance.
* Only generates a new maptile after a refresh interval
* Maptile names have the UnixTimeSinceEpoch that they were generated and the regionUUID they're from, so you can know which ones are no longer necessary.
* Updates RegionInfo, so backup your /bin/Region/*.xml files.
2008-06-14 02:39:27 +00:00
Teravus Ovares 5219eb7420 * Split the World Map code into a module.
* Implemented a hack so regions beyond the 10,000m range will show the map without having to click on the map before they'll start to show.   The hack shows regions around the one you're in, but it won't show the one you're in..  you still need to click on the map to get that (not sure why yet).   Additionally, the map still only shows pictures for regions that are hosted on the same instance (no change).
2008-06-12 20:19:42 +00:00
mingchen 0896cb53d4 *Parcel Prim Count Maximums moved to their own functions so modules can override the default method of calculating how many prims a parcel can have. 2008-06-11 17:31:43 +00:00
Jeff Ames 5910a49da6 Update svn properties. Formatting cleanup. 2008-06-10 08:35:46 +00:00
Teravus Ovares c892ddcd20 * This wraps the autopilot request to the client's sit response. An interesting, but successful way to do it.
* This also takes care of a few error situations that were previously never seen.
2008-06-06 12:51:20 +00:00
Jeff Ames fbd37c420f Minor formatting cleanup. 2008-06-06 01:19:15 +00:00
Charles Krinke e2d87b04e3 Mantis#1455. Thank you kindly, Mikem for a patch that addresses
the client thread terminating when creating a new script.
2008-06-05 14:03:08 +00:00
Justin Clarke Casey 78d7d6edb0 * minor: Yet another minor logging message tweak following on from the last commit 2008-06-05 02:12:44 +00:00
Justin Clarke Casey 7f10e5f338 * minor: Increase verbosity of "new user request denied" incoming session warning for debugging purposes 2008-06-05 01:55:45 +00:00
Justin Clarke Casey 1f605da761 * If a client thread crashes, make an attempt to notify the client and clean up the resources 2008-06-05 01:20:17 +00:00
Justin Clarke Casey 1d745cca17 * Start writing out assets metadata file for archiver
* Ignoring it on reload as of yet
2008-06-04 18:50:58 +00:00
Sean Dague 0cacdd370c change clientCircuits_reverse to a synchronized hash table. This
removes a lock on every SendPacketTo call, which was shown to have 
good performance benefits by the IBM China Research Lab.
2008-06-04 17:43:07 +00:00
Justin Clarke Casey 6e2f3bd3fb * Start recording abnormal client thread terminations 2008-06-04 16:30:44 +00:00
Justin Clarke Casey 0a2d399cad * If a ThreadAbortException reaches AuthUser() then let it pass through unmolested
* These are only thrown on client shutdown anyway
* This stops the console (harmlessly) spewing stack traces when a client logs off
2008-06-04 01:25:31 +00:00
Justin Clarke Casey 8983877664 * minor: Remove my own stupidity in the last doc comment - it wouldn't actually be all that tricky to try better clean up on a client thread crash. Haven't actually implemented
this, though
2008-06-03 21:00:37 +00:00
Justin Clarke Casey 723c9eccad * minor: Change comment on last commit. My English - not so good. 2008-06-03 20:55:56 +00:00
Justin Clarke Casey a987840191 * Stop the crash to bash of the entire region server when a client thread fails by catching the exception in AuthUser() instead of letting it propogate out of the thread 2008-06-03 20:27:52 +00:00
Sean Dague afd59e862e temporarily disable the last bit of code as it prevents startup on
mono.  Need to sort that out with DJ shortly.
2008-06-03 13:58:54 +00:00
Sean Dague e713a3c62a From: Dong Jun Lan <landj@cn.ibm.com>
Set udp flags correctly to prevent "Socket forcibly closed by host"
errors.
2008-06-03 13:49:58 +00:00
Teravus Ovares 61e2254be2 * This should fix presence issues. 2008-06-03 07:12:09 +00:00
Teravus Ovares 52491d4fca * It's probably safe to remove the 'Warning Duplicate packet detected Packet Dropping.' message 2008-06-03 05:44:28 +00:00
Justin Clarke Casey 15d41c2fc2 * Fix build break by eliminating remaining IScenePermissions references - must remember to nant clean
* Hook all server startups into base opensim server startup method
2008-06-01 01:34:46 +00:00
Justin Clarke Casey 45fef8589d * Move log version printing up into BaseOpenSimServer 2008-06-01 01:22:19 +00:00
Justin Clarke Casey 8cb5ec5fdd * Make version information common to all servers
* Now all servers respond to the "show version" command on the console
2008-05-31 20:35:12 +00:00
Charles Krinke 48d0084e53 Mantis#1422. Thank you kindly, Xantor for a patch that :
- volume doesn't change with a new llLoopSound(same sound, new volume);
- SendFullUpdateToClients sends 0's in all sound related fields when 
there's no sound on the prim, thereby improving the amount of data being 
sent out on these prims (fixes zeropack)
- Removed some code duplication between llStartSound, llLoopSound and llParticleSystem() calls
2008-05-30 15:34:54 +00:00
Jeff Ames 0462510956 Update svn properties. Formatting cleanup. 2008-05-30 08:35:57 +00:00
Charles Krinke 06147d0492 Mantis#1406. Thank you kindly, Xantor for a patch that:
llLoopSound sends out one packet to clients in view, so it doesn't work anymore 
when clients enter later on, or the prim is modified in any way.
Solution: Stored sound data on prim, send full update instead.
llStartSound and llLoopSound now accept both LLUUIDs to a sound as well as object 
inventory sound names. llStopSound clears prim data and sends full update.
2008-05-28 14:03:08 +00:00
Teravus Ovares 715fbecd79 * Implements duplicate packet tracking. This virtually eliminates object duplication causing 2-3 duplicates depending on the UDP connection quality. This also eliminates duplicated chat, etc.
* It's verbose currently since this is new.  You'll see: [CLIENT]: Warning Duplicate packet detected X Dropping.  After this is sufficiently tested we'll remove that m_log.info line.
2008-05-28 08:40:22 +00:00
Charles Krinke ed717ec181 Thank you kindly, Melanie for a patch for script reset
that creates the event handler chain ready to hook by script engines
2008-05-26 16:16:48 +00:00
Justin Clarke Casey 5c8a93c426 * Extract and boil down necessary texture UUIDs for an archive of the scene prims
* no user functionality yet
2008-05-26 01:50:40 +00:00
Jeff Ames 5d77625e9a Update svn properties. Formatting cleanup. 2008-05-25 23:27:38 +00:00
Teravus Ovares c20f7d6171 * A hacky Top Scripts display. It isn't accurate as far as ms accounting, however you can use it to help find out what scripts are causing your simulator to cry.
* Access it from the Estate tools/Debug tab.
2008-05-25 20:50:45 +00:00
Teravus Ovares 042c9ed4d8 * Adds Top Colliders when using ODE. Access it from the estate tools/debug tab. 2008-05-25 11:22:05 +00:00
Justin Clarke Casey 0b7f82153b * Temporary fix for mantis 1374
* If the agent throttle byte array is unexpectedly empty, then log a warning and drop the packet
2008-05-24 18:17:31 +00:00
Teravus Ovares 375673ec90 This enables return from the parcel object owner display.
There's some oddness with the parcel counts, but if you can get past the oddness, you can return objects under an owner that you have permission to return.
2008-05-24 11:10:21 +00:00
Teravus Ovares 3965fa2ff3 * Implements selected object return.
* If user is in the same sim with you, they'll get an inventory update, if not....  oh well, they'll have to clear their cache potentially before they'll see it.
2008-05-24 09:40:14 +00:00
Dr Scofield 09188d5d10 IRCBridgeModule (and ChatModule before the refactoring) didn't succeed in
finding out which region a new avatar was logging in to; the same problem
occurred when the client/avatar logged out. the reason was mani-fold:

- Scene.AddNewClient(...) would call SubscribeToClientEvents(client)
  which would subscribe to all client events and then call 
  TriggerOnNewClient(...) BEFORE the ScenePresence object had even been
  created and added. i've moved the TriggerOnNewClient() call to the
  end of Scene.AddNewClient()
- Scene.AddNewClient(...) is called with child == true; a later call
  to ScenePresence.MakeRootAgent() will turn child to false. When
  OnNewClient is triggered, child is still true, causing IRCBridgeModule's
  FindClientRegion to ignore the ScenePresence of the new avatar.

i've changed IRCBridgeModule to still use OnNewClient and also OnLogout
and OnConnectionClosed but only to signal that the avatar has logged on
(logged off respectively). to track whether an avatar has actually entered
a region i've added EventManager.OnMakeRootAgent (complementing 
OnMakeChildAgent). 

also, i've cleaned up the internal IRCModule code a bit. currently it 
still uses IClientAPI.SendChatMessage() which replicates the code in
ChatModule, that needs to be changed to use TriggerOnChatFromWorld().
2008-05-23 16:07:47 +00:00
Charles Krinke 066b350d20 Thank you kindly, Melanie, for:
Nothing huge, but the new button code for producing 
a new script does well, but the script will not allow 
for name change once created. It reverts back to new script.
2008-05-23 02:45:52 +00:00
MW 811cd3e0bf change to how initial terrain data is sent. Instead of sending the 64 packets in rapid fire as quickly as possible. The terrain data sending is now done in a threadpool worker thread over ~10 seconds with a thread.sleep between each packet sending. this hasn't been tested thoroughly, so it might not actually help with the atom bomb terrain (missing patches) but its a simple thing to revert if it makes things worse for anyone.
10 seconds is roughly the time between the region handshake completing and you being in world where you can see your avatar. So normally the terrain still should have loaded by time you get in the region, although it is possible that sometimes you might see the very end of the terrain load just after you arrive.
2008-05-22 19:44:57 +00:00
Teravus Ovares c124bb58ec * Limiting the Quaternion reset to x=y=z=w=0 2008-05-22 19:09:51 +00:00
Justin Clarke Casey 203017f554 * Refactor: Move enhancement of version string with operating system information from Scene to OpenSimMain
* This also means the operating system info will show up in the region console (and hence the logs)
2008-05-22 00:32:04 +00:00
Teravus Ovares 0b719286a4 IZ QUATERNION NORMALIZE TO 0? NOWAI! KTHXBYE 2008-05-21 17:29:03 +00:00
Jeff Ames 535d64b66b Add copyright notices.
Fix spelling typo (Thanks ChrisDown for pointing this out)
2008-05-20 15:38:49 +00:00
Justin Clarke Casey 682fc23e32 * minor: Just a few documentation odds and ends 2008-05-18 19:51:58 +00:00
Teravus Ovares 2bd03b7c8c * Group type stuff. Nothing spectacular. two packets, sorta almost semi half tiny amount implemented. 2008-05-18 03:21:22 +00:00
Teravus Ovares 349a17f664 * Tweaked patch mantis 1302 and committing it. 2008-05-17 00:16:16 +00:00
Jeff Ames a5f08b430d Formatting cleanup. 2008-05-17 00:06:35 +00:00
Teravus Ovares aa5197304e * Committing patch from mantis 0001297: [PATCH] Fix behavior of child prim inventories. Also enables 'New Script' button. from Melanie. Thanks Melanie! 2008-05-16 23:11:00 +00:00
Jeff Ames 65c5efe43b Formatting cleanup. 2008-05-16 01:22:11 +00:00
Teravus Ovares d60e457463 Committing patch from Melanie. 0001290: [PATCH] implement permissions propagation and script module hooks. Thanks Melanie!
* Implements quite a few inventory related perms.
* (from Teravus) Fixes Take Copy
2008-05-15 19:28:10 +00:00
Teravus Ovares 2a988f187e * Refactored IConfigSource into Physics plug-ins and Scene. We can get rid of some of the parameters we pass to it's constructor now like, 'm_allowPhysicalPrim', 'seeIntoOtherRegions', etc.. so on
* The main purpose of this is to provide configuration options for ODE and other physics plug-ins that are advanced enough to be able to be configured.
2008-05-14 23:15:25 +00:00
Teravus Ovares 5b4d7922ea * Adding the very bare minimum for the client to register user as having the group OpenSimulator Tester. This allows us to start examining and implementing the vary many unhandled group packets. 2008-05-14 06:58:32 +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
Teravus Ovares 9e8dd941f1 * Refactored OutPacket out of ScenePresence
* Down to 65 warnings.
2008-05-14 04:57:32 +00:00
Teravus Ovares 9e1cc72c6e * Refactored OutPacket and FirstName/LastName out of Friends Module. 2008-05-14 03:57:30 +00:00
mingchen 32785921d0 *Complete redo of the permissions module
*Removed hardcoded permissions checks
*Added permissions checks where needed
2008-05-13 16:22:57 +00:00
Justin Clarke Casey d3fb6039ca * If a region running in grid mode fails to login to the grid service, startup will now terminate instead of carrying on (and thus burying the error message) 2008-05-12 16:57:56 +00:00
Jeff Ames 2382342c65 Formatting cleanup. 2008-05-12 01:23:03 +00:00
Teravus Ovares a01b415d6c 0001199: [PATCH] Add support for default animations
From Melanie...   Thanks Melanie!  











































.
2008-05-11 21:27:12 +00:00
Adam Frisby 0c831a0c2e * Mantis #1127 - Patch to implement depreciated patches. Thanks middlelink! 2008-05-11 04:38:02 +00:00
Teravus Ovares 05de723e51 * Refactored two more OutPackets. ObjectPropertiesFamily, and Object Properties. 2008-05-10 20:25:40 +00:00
Teravus Ovares 1ba51dd2fd * More OutPacket refactors.
* Added back a sleep to the kick routine so users get a 'you have been logged off message' when they get kicked from the simulator for various reasons (like 'the simulator is going down')
2008-05-10 13:11:09 +00:00
Teravus Ovares b67f88a3a2 * Two more OutPacket refactors. TextureSender.
* The split image packet sender doesn't like to be refactored (images don't load after it's been refactored), so left that as is for the moment.
2008-05-10 12:45:41 +00:00
Teravus Ovares 536a92ca84 Refactored out a few warnings related to Adam's bane OutPacket 2008-05-10 12:01:36 +00:00
Teravus Ovares e8478dadc8 * Experiment in Zerocoding. 2008-05-10 10:28:49 +00:00
Teravus Ovares 646df0dc2c * remove 2 warnings. 2008-05-08 20:45:50 +00:00
mingchen 6c71a04da8 *Added all the permission checks to the sceneexternalchecks and modified permission module to follow this.
*This makes permission checking much more modular; allows restrictive and granting module to be made without modifying the existing permission module
2008-05-08 19:37:57 +00:00
Adam Frisby afd08c7477 * Proper fix for 1191 - Missing TypeData in ViewerEffectEventHandlerArg. 2008-05-08 14:09:12 +00:00
Adam Frisby 4fa0cbdfbb * You can haz more spring cleaning.
* Eventually this codebase will be clean. >_>
2008-05-08 05:35:01 +00:00
Adam Frisby 80cbd468ea * Some refactorings.
* Added shell of new Python scripting engine. Similar in design to the one used by Rex, but will be structured at a region rather than object level, also is a region module.
2008-05-08 04:34:02 +00:00
Adam Frisby 95fbf63b3b * Temporary fix for Mantis 1177. 2008-05-07 22:19:30 +00:00
Adam Frisby a95f13a646 * Removes references to libsecondlife.Packets from IClientAPI. BAD PROGRAMMERS. NAUGHTY.
* Thanks to Andrew (DeepThink) for working on this one.
2008-05-07 20:31:48 +00:00
Sean Dague 02b1d908e8 enable velocity on our full update, as I think I know why
this didn't previously work
2008-05-07 19:48:34 +00:00
Sean Dague 0574355b4b seriously hope this gives us rotation and rotational velocity 2008-05-07 19:44:22 +00:00