aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorDiva Canto2010-08-18 16:22:50 -0700
committerDiva Canto2010-08-18 16:22:50 -0700
commite47608fc62647a28be91dd9caf6e446826fdb54c (patch)
tree367a2773accb017e9a6c328558a3281d7754cdb5
parentMerge branch 'master' of ssh://opensimulator.org/var/git/opensim (diff)
downloadopensim-SC-e47608fc62647a28be91dd9caf6e446826fdb54c.zip
opensim-SC-e47608fc62647a28be91dd9caf6e446826fdb54c.tar.gz
opensim-SC-e47608fc62647a28be91dd9caf6e446826fdb54c.tar.bz2
opensim-SC-e47608fc62647a28be91dd9caf6e446826fdb54c.tar.xz
One more go at GetExternalIpOf(user). Addresses mantis #4955 and #4943.
(Files .xml and .txt also want to be committed)
-rw-r--r--OpenSim/Framework/NetworkUtil.cs68
-rw-r--r--bin/assets/TexturesAssetSet/TexturesAssetSet.xml614
-rw-r--r--bin/assets/TexturesAssetSet/licenses.txt40
3 files changed, 367 insertions, 355 deletions
diff --git a/OpenSim/Framework/NetworkUtil.cs b/OpenSim/Framework/NetworkUtil.cs
index 831ff70..5649131 100644
--- a/OpenSim/Framework/NetworkUtil.cs
+++ b/OpenSim/Framework/NetworkUtil.cs
@@ -274,37 +274,49 @@ namespace OpenSim.Framework
274 } 274 }
275 } 275 }
276 276
277 // Check for same LAN segment 277 // Check for private networks
278 foreach (KeyValuePair<IPAddress, IPAddress> subnet in m_subnets) 278 if (user.ToString().StartsWith("192.168"))
279 { 279 {
280 byte[] subnetBytes = subnet.Value.GetAddressBytes(); 280 m_log.Info("[NetworkUtil] Private network user detected, sending '" + externalIPAddress + "' instead of '" + user + "'");
281 byte[] localBytes = subnet.Key.GetAddressBytes(); 281 return externalIPAddress;
282 byte[] destBytes = user.GetAddressBytes();
283
284 if (subnetBytes.Length != destBytes.Length || subnetBytes.Length != localBytes.Length)
285 return user;
286
287 bool valid = true;
288
289 for (int i = 0; i < subnetBytes.Length; i++)
290 {
291 if ((localBytes[i] & subnetBytes[i]) != (destBytes[i] & subnetBytes[i]))
292 {
293 valid = false;
294 break;
295 }
296 }
297
298 if (subnet.Key.AddressFamily != AddressFamily.InterNetwork)
299 valid = false;
300
301 if (valid)
302 {
303 m_log.Info("[NetworkUtil] Local LAN user detected, sending '" + externalIPAddress + "' instead of '" + user + "'");
304 return externalIPAddress;
305 }
306 } 282 }
307 283
284 // We may need to do more fancy configuration-based checks... I'm not entirely sure there is
285 // a 100% algorithmic manner of dealing with all the network setups out there. This code
286 // will evolve as people bump into problems.
287
288 //// Check for same LAN segment -- I don't think we want to do this in general. Leaving it here
289 //// for now as a reminder
290 //foreach (KeyValuePair<IPAddress, IPAddress> subnet in m_subnets)
291 //{
292 // byte[] subnetBytes = subnet.Value.GetAddressBytes();
293 // byte[] localBytes = subnet.Key.GetAddressBytes();
294 // byte[] destBytes = user.GetAddressBytes();
295
296 // if (subnetBytes.Length != destBytes.Length || subnetBytes.Length != localBytes.Length)
297 // return user;
298
299 // bool valid = true;
300
301 // for (int i = 0; i < subnetBytes.Length; i++)
302 // {
303 // if ((localBytes[i] & subnetBytes[i]) != (destBytes[i] & subnetBytes[i]))
304 // {
305 // valid = false;
306 // break;
307 // }
308 // }
309
310 // if (subnet.Key.AddressFamily != AddressFamily.InterNetwork)
311 // valid = false;
312
313 // if (valid)
314 // {
315 // m_log.Info("[NetworkUtil] Local LAN user detected, sending '" + externalIPAddress + "' instead of '" + user + "'");
316 // return externalIPAddress;
317 // }
318 //}
319
308 // Otherwise, return user address 320 // Otherwise, return user address
309 return user; 321 return user;
310 } 322 }
diff --git a/bin/assets/TexturesAssetSet/TexturesAssetSet.xml b/bin/assets/TexturesAssetSet/TexturesAssetSet.xml
index 54f61bd..c5cafa7 100644
--- a/bin/assets/TexturesAssetSet/TexturesAssetSet.xml
+++ b/bin/assets/TexturesAssetSet/TexturesAssetSet.xml
@@ -422,312 +422,312 @@
422 <Key Name="fileName" Value="fb2ae204-3fd1-df33-594f-c9f882830e66.j2c" /> 422 <Key Name="fileName" Value="fb2ae204-3fd1-df33-594f-c9f882830e66.j2c" />
423 </Section> 423 </Section>
424 424
425 <Section Name="Beach Grass 1"> 425 <Section Name="Beach Grass 1">
426 <Key Name="assetID" Value="18fb888b-e8f1-dce7-7da7-321d651ea6b0"/> 426 <Key Name="assetID" Value="18fb888b-e8f1-dce7-7da7-321d651ea6b0"/>
427 <Key Name="name" Value="Beach Grass 1"/> 427 <Key Name="name" Value="Beach Grass 1"/>
428 <Key Name="assetType" Value="0" /> 428 <Key Name="assetType" Value="0" />
429 <Key Name="fileName" Value="18fb888b-e8f1-dce7-7da7-321d651ea6b0.j2c" /> 429 <Key Name="fileName" Value="18fb888b-e8f1-dce7-7da7-321d651ea6b0.j2c" />
430 </Section> 430 </Section>
431 431
432 <Section Name="Cypress 1"> 432 <Section Name="Cypress 1">
433 <Key Name="assetID" Value="fb2ae204-3fd1-df33-594f-c9f882830e66"/> 433 <Key Name="assetID" Value="fb2ae204-3fd1-df33-594f-c9f882830e66"/>
434 <Key Name="name" Value="Cypress 1"/> 434 <Key Name="name" Value="Cypress 1"/>
435 <Key Name="assetType" Value="0" /> 435 <Key Name="assetType" Value="0" />
436 <Key Name="fileName" Value="fb2ae204-3fd1-df33-594f-c9f882830e66.j2c" /> 436 <Key Name="fileName" Value="fb2ae204-3fd1-df33-594f-c9f882830e66.j2c" />
437 </Section> 437 </Section>
438 438
439 <Section Name="Cypress 2"> 439 <Section Name="Cypress 2">
440 <Key Name="assetID" Value="30047cec-269d-408e-0c30-b2603b887268"/> 440 <Key Name="assetID" Value="30047cec-269d-408e-0c30-b2603b887268"/>
441 <Key Name="name" Value="Cypress 2"/> 441 <Key Name="name" Value="Cypress 2"/>
442 <Key Name="assetType" Value="0" /> 442 <Key Name="assetType" Value="0" />
443 <Key Name="fileName" Value="30047cec-269d-408e-0c30-b2603b887268.j2c" /> 443 <Key Name="fileName" Value="30047cec-269d-408e-0c30-b2603b887268.j2c" />
444 </Section> 444 </Section>
445 445
446 <Section Name="Dogwood"> 446 <Section Name="Dogwood">
447 <Key Name="assetID" Value="64367bd1-697e-b3e6-0b65-3f862a577366"/> 447 <Key Name="assetID" Value="64367bd1-697e-b3e6-0b65-3f862a577366"/>
448 <Key Name="name" Value="Dogwood"/> 448 <Key Name="name" Value="Dogwood"/>
449 <Key Name="assetType" Value="0" /> 449 <Key Name="assetType" Value="0" />
450 <Key Name="fileName" Value="64367bd1-697e-b3e6-0b65-3f862a577366.j2c" /> 450 <Key Name="fileName" Value="64367bd1-697e-b3e6-0b65-3f862a577366.j2c" />
451 </Section> 451 </Section>
452 452
453 <Section Name="Eelgrass"> 453 <Section Name="Eelgrass">
454 <Key Name="assetID" Value="96b4de31-f4fa-337d-ec78-451e3609769e"/> 454 <Key Name="assetID" Value="96b4de31-f4fa-337d-ec78-451e3609769e"/>
455 <Key Name="name" Value="Eelgrass"/> 455 <Key Name="name" Value="Eelgrass"/>
456 <Key Name="assetType" Value="0" /> 456 <Key Name="assetType" Value="0" />
457 <Key Name="fileName" Value="96b4de31-f4fa-337d-ec78-451e3609769e.j2c" /> 457 <Key Name="fileName" Value="96b4de31-f4fa-337d-ec78-451e3609769e.j2c" />
458 </Section> 458 </Section>
459 459
460 <Section Name="Eucalyptus"> 460 <Section Name="Eucalyptus">
461 <Key Name="assetID" Value="a6162133-724b-54df-a12f-51cd070ad6f3"/> 461 <Key Name="assetID" Value="a6162133-724b-54df-a12f-51cd070ad6f3"/>
462 <Key Name="name" Value="Eucalyptus"/> 462 <Key Name="name" Value="Eucalyptus"/>
463 <Key Name="assetType" Value="0" /> 463 <Key Name="assetType" Value="0" />
464 <Key Name="fileName" Value="a6162133-724b-54df-a12f-51cd070ad6f3.j2c" /> 464 <Key Name="fileName" Value="a6162133-724b-54df-a12f-51cd070ad6f3.j2c" />
465 </Section> 465 </Section>
466 466
467 <Section Name="Fern"> 467 <Section Name="Fern">
468 <Key Name="assetID" Value="8872f2b8-31db-42d8-580a-b3e4a91262de"/> 468 <Key Name="assetID" Value="8872f2b8-31db-42d8-580a-b3e4a91262de"/>
469 <Key Name="name" Value="Fern"/> 469 <Key Name="name" Value="Fern"/>
470 <Key Name="assetType" Value="0" /> 470 <Key Name="assetType" Value="0" />
471 <Key Name="fileName" Value="8872f2b8-31db-42d8-580a-b3e4a91262de.j2c" /> 471 <Key Name="fileName" Value="8872f2b8-31db-42d8-580a-b3e4a91262de.j2c" />
472 </Section> 472 </Section>
473 473
474 <Section Name="Kelp 1"> 474 <Section Name="Kelp 1">
475 <Key Name="assetID" Value="2caf1179-7861-6ff3-4b7d-46e17780bdfa"/> 475 <Key Name="assetID" Value="2caf1179-7861-6ff3-4b7d-46e17780bdfa"/>
476 <Key Name="name" Value="Kelp 1"/> 476 <Key Name="name" Value="Kelp 1"/>
477 <Key Name="assetType" Value="0" /> 477 <Key Name="assetType" Value="0" />
478 <Key Name="fileName" Value="2caf1179-7861-6ff3-4b7d-46e17780bdfa.j2c" /> 478 <Key Name="fileName" Value="2caf1179-7861-6ff3-4b7d-46e17780bdfa.j2c" />
479 </Section> 479 </Section>
480 480
481 <Section Name="Kelp 2"> 481 <Section Name="Kelp 2">
482 <Key Name="assetID" Value="2a4880b6-b7a3-690a-2049-bfbe38eafb9f"/> 482 <Key Name="assetID" Value="2a4880b6-b7a3-690a-2049-bfbe38eafb9f"/>
483 <Key Name="name" Value="Kelp 2"/> 483 <Key Name="name" Value="Kelp 2"/>
484 <Key Name="assetType" Value="0" /> 484 <Key Name="assetType" Value="0" />
485 <Key Name="fileName" Value="2a4880b6-b7a3-690a-2049-bfbe38eafb9f.j2c" /> 485 <Key Name="fileName" Value="2a4880b6-b7a3-690a-2049-bfbe38eafb9f.j2c" />
486 </Section> 486 </Section>
487 487
488 <Section Name="Oak"> 488 <Section Name="Oak">
489 <Key Name="assetID" Value="8a515889-eac9-fb55-8eba-d2dc09eb32c8"/> 489 <Key Name="assetID" Value="8a515889-eac9-fb55-8eba-d2dc09eb32c8"/>
490 <Key Name="name" Value="Oak"/> 490 <Key Name="name" Value="Oak"/>
491 <Key Name="assetType" Value="0" /> 491 <Key Name="assetType" Value="0" />
492 <Key Name="fileName" Value="8a515889-eac9-fb55-8eba-d2dc09eb32c8.j2c" /> 492 <Key Name="fileName" Value="8a515889-eac9-fb55-8eba-d2dc09eb32c8.j2c" />
493 </Section> 493 </Section>
494 494
495 <Section Name="Palm 1"> 495 <Section Name="Palm 1">
496 <Key Name="assetID" Value="ca4e8c27-473c-eb1c-2f5d-50ee3f07d85c"/> 496 <Key Name="assetID" Value="ca4e8c27-473c-eb1c-2f5d-50ee3f07d85c"/>
497 <Key Name="name" Value="Palm 1"/> 497 <Key Name="name" Value="Palm 1"/>
498 <Key Name="assetType" Value="0" /> 498 <Key Name="assetType" Value="0" />
499 <Key Name="fileName" Value="ca4e8c27-473c-eb1c-2f5d-50ee3f07d85c.j2c" /> 499 <Key Name="fileName" Value="ca4e8c27-473c-eb1c-2f5d-50ee3f07d85c.j2c" />
500 </Section> 500 </Section>
501 501
502 <Section Name="Palm 2"> 502 <Section Name="Palm 2">
503 <Key Name="assetID" Value="2d784476-d0db-9979-0cff-9408745a7cf3"/> 503 <Key Name="assetID" Value="2d784476-d0db-9979-0cff-9408745a7cf3"/>
504 <Key Name="name" Value="Palm 2"/> 504 <Key Name="name" Value="Palm 2"/>
505 <Key Name="assetType" Value="0" /> 505 <Key Name="assetType" Value="0" />
506 <Key Name="fileName" Value="2d784476-d0db-9979-0cff-9408745a7cf3.j2c" /> 506 <Key Name="fileName" Value="2d784476-d0db-9979-0cff-9408745a7cf3.j2c" />
507 </Section> 507 </Section>
508 508
509 <Section Name="Pine 1"> 509 <Section Name="Pine 1">
510 <Key Name="assetID" Value="0187babf-6c0d-5891-ebed-4ecab1426683"/> 510 <Key Name="assetID" Value="0187babf-6c0d-5891-ebed-4ecab1426683"/>
511 <Key Name="name" Value="Pine 1"/> 511 <Key Name="name" Value="Pine 1"/>
512 <Key Name="assetType" Value="0" /> 512 <Key Name="assetType" Value="0" />
513 <Key Name="fileName" Value="0187babf-6c0d-5891-ebed-4ecab1426683.j2c" /> 513 <Key Name="fileName" Value="0187babf-6c0d-5891-ebed-4ecab1426683.j2c" />
514 </Section> 514 </Section>
515 515
516 <Section Name="Pine 2"> 516 <Section Name="Pine 2">
517 <Key Name="assetID" Value="d691a01c-13b7-578d-57c0-5caef0b4e7e1"/> 517 <Key Name="assetID" Value="d691a01c-13b7-578d-57c0-5caef0b4e7e1"/>
518 <Key Name="name" Value="Pine 2"/> 518 <Key Name="name" Value="Pine 2"/>
519 <Key Name="assetType" Value="0" /> 519 <Key Name="assetType" Value="0" />
520 <Key Name="fileName" Value="d691a01c-13b7-578d-57c0-5caef0b4e7e1.j2c" /> 520 <Key Name="fileName" Value="d691a01c-13b7-578d-57c0-5caef0b4e7e1.j2c" />
521 </Section> 521 </Section>
522 522
523 <Section Name="Plumeria"> 523 <Section Name="Plumeria">
524 <Key Name="assetID" Value="6de37e4e-7029-61f5-54b8-f5e63f983f58"/> 524 <Key Name="assetID" Value="6de37e4e-7029-61f5-54b8-f5e63f983f58"/>
525 <Key Name="name" Value="Plumeria"/> 525 <Key Name="name" Value="Plumeria"/>
526 <Key Name="assetType" Value="0" /> 526 <Key Name="assetType" Value="0" />
527 <Key Name="fileName" Value="6de37e4e-7029-61f5-54b8-f5e63f983f58.j2c" /> 527 <Key Name="fileName" Value="6de37e4e-7029-61f5-54b8-f5e63f983f58.j2c" />
528 </Section> 528 </Section>
529 529
530 <Section Name="Sea Sword"> 530 <Section Name="Sea Sword">
531 <Key Name="assetID" Value="5894e2e7-ab8d-edfa-e61c-18cf16854ba3"/> 531 <Key Name="assetID" Value="5894e2e7-ab8d-edfa-e61c-18cf16854ba3"/>
532 <Key Name="name" Value="Sea Sword"/> 532 <Key Name="name" Value="Sea Sword"/>
533 <Key Name="assetType" Value="0" /> 533 <Key Name="assetType" Value="0" />
534 <Key Name="fileName" Value="5894e2e7-ab8d-edfa-e61c-18cf16854ba3.j2c" /> 534 <Key Name="fileName" Value="5894e2e7-ab8d-edfa-e61c-18cf16854ba3.j2c" />
535 </Section> 535 </Section>
536 536
537 <Section Name="Tropical Bush 1"> 537 <Section Name="Tropical Bush 1">
538 <Key Name="assetID" Value="5bc11cd6-2f40-071e-a8da-0903394204f9"/> 538 <Key Name="assetID" Value="5bc11cd6-2f40-071e-a8da-0903394204f9"/>
539 <Key Name="name" Value="Tropical Bush 1"/> 539 <Key Name="name" Value="Tropical Bush 1"/>
540 <Key Name="assetType" Value="0" /> 540 <Key Name="assetType" Value="0" />
541 <Key Name="fileName" Value="5bc11cd6-2f40-071e-a8da-0903394204f9.j2c" /> 541 <Key Name="fileName" Value="5bc11cd6-2f40-071e-a8da-0903394204f9.j2c" />
542 </Section> 542 </Section>
543 543
544 <Section Name="Tropical Bush 2"> 544 <Section Name="Tropical Bush 2">
545 <Key Name="assetID" Value="cdd9a9fc-6d0b-f90d-8416-c72b6019bca8"/> 545 <Key Name="assetID" Value="cdd9a9fc-6d0b-f90d-8416-c72b6019bca8"/>
546 <Key Name="name" Value="Tropical Bush 2"/> 546 <Key Name="name" Value="Tropical Bush 2"/>
547 <Key Name="assetType" Value="0" /> 547 <Key Name="assetType" Value="0" />
548 <Key Name="fileName" Value="cdd9a9fc-6d0b-f90d-8416-c72b6019bca8.j2c" /> 548 <Key Name="fileName" Value="cdd9a9fc-6d0b-f90d-8416-c72b6019bca8.j2c" />
549 </Section> 549 </Section>
550 550
551 <Section Name="Winter Pine 1"> 551 <Section Name="Winter Pine 1">
552 <Key Name="assetID" Value="10d2a01a-0818-84b9-4b96-c2eb63256519"/> 552 <Key Name="assetID" Value="10d2a01a-0818-84b9-4b96-c2eb63256519"/>
553 <Key Name="name" Value="Winter Pine 1"/> 553 <Key Name="name" Value="Winter Pine 1"/>
554 <Key Name="assetType" Value="0" /> 554 <Key Name="assetType" Value="0" />
555 <Key Name="fileName" Value="10d2a01a-0818-84b9-4b96-c2eb63256519.j2c" /> 555 <Key Name="fileName" Value="10d2a01a-0818-84b9-4b96-c2eb63256519.j2c" />
556 </Section> 556 </Section>
557 557
558 <Section Name="Winter Pine 2"> 558 <Section Name="Winter Pine 2">
559 <Key Name="assetID" Value="67931331-0c02-4876-1255-28770896c6a2"/> 559 <Key Name="assetID" Value="67931331-0c02-4876-1255-28770896c6a2"/>
560 <Key Name="name" Value="Winter Pine 2"/> 560 <Key Name="name" Value="Winter Pine 2"/>
561 <Key Name="assetType" Value="0" /> 561 <Key Name="assetType" Value="0" />
562 <Key Name="fileName" Value="67931331-0c02-4876-1255-28770896c6a2.j2c" /> 562 <Key Name="fileName" Value="67931331-0c02-4876-1255-28770896c6a2.j2c" />
563 </Section> 563 </Section>
564 564
565 <Section Name="Winter Aspen"> 565 <Section Name="Winter Aspen">
566 <Key Name="assetID" Value="7c0cf89b-44b1-1ce2-dd74-07102a98ac2a"/> 566 <Key Name="assetID" Value="7c0cf89b-44b1-1ce2-dd74-07102a98ac2a"/>
567 <Key Name="name" Value="Winter Aspen"/> 567 <Key Name="name" Value="Winter Aspen"/>
568 <Key Name="assetType" Value="0" /> 568 <Key Name="assetType" Value="0" />
569 <Key Name="fileName" Value="7c0cf89b-44b1-1ce2-dd74-07102a98ac2a.j2c" /> 569 <Key Name="fileName" Value="7c0cf89b-44b1-1ce2-dd74-07102a98ac2a.j2c" />
570 </Section> 570 </Section>
571 571
572 <Section Name="Grass 0"> 572 <Section Name="Grass 0">
573 <Key Name="assetID" Value="6c4727b8-ac79-ba44-3b81-f9aa887b47eb"/> 573 <Key Name="assetID" Value="6c4727b8-ac79-ba44-3b81-f9aa887b47eb"/>
574 <Key Name="name" Value="Grass 0"/> 574 <Key Name="name" Value="Grass 0"/>
575 <Key Name="assetType" Value="0" /> 575 <Key Name="assetType" Value="0" />
576 <Key Name="fileName" Value="6c4727b8-ac79-ba44-3b81-f9aa887b47eb.j2c" /> 576 <Key Name="fileName" Value="6c4727b8-ac79-ba44-3b81-f9aa887b47eb.j2c" />
577 </Section> 577 </Section>
578 578
579 <Section Name="Grass 1"> 579 <Section Name="Grass 1">
580 <Key Name="assetID" Value="79504bf5-c3ec-0763-6563-d843de66d0a1"/> 580 <Key Name="assetID" Value="79504bf5-c3ec-0763-6563-d843de66d0a1"/>
581 <Key Name="name" Value="Grass 1"/> 581 <Key Name="name" Value="Grass 1"/>
582 <Key Name="assetType" Value="0" /> 582 <Key Name="assetType" Value="0" />
583 <Key Name="fileName" Value="79504bf5-c3ec-0763-6563-d843de66d0a1.j2c" /> 583 <Key Name="fileName" Value="79504bf5-c3ec-0763-6563-d843de66d0a1.j2c" />
584 </Section> 584 </Section>
585 585
586 <Section Name="Grass 2"> 586 <Section Name="Grass 2">
587 <Key Name="assetID" Value="6c4727b8-ac79-ba44-3b81-f9aa887b47eb"/> 587 <Key Name="assetID" Value="6c4727b8-ac79-ba44-3b81-f9aa887b47eb"/>
588 <Key Name="name" Value="Grass 2"/> 588 <Key Name="name" Value="Grass 2"/>
589 <Key Name="assetType" Value="0" /> 589 <Key Name="assetType" Value="0" />
590 <Key Name="fileName" Value="6c4727b8-ac79-ba44-3b81-f9aa887b47eb.j2c" /> 590 <Key Name="fileName" Value="6c4727b8-ac79-ba44-3b81-f9aa887b47eb.j2c" />
591 </Section> 591 </Section>
592 592
593 <Section Name="Grass 3"> 593 <Section Name="Grass 3">
594 <Key Name="assetID" Value="99bd60a2-3250-efc9-2e39-2fbcadefbecc"/> 594 <Key Name="assetID" Value="99bd60a2-3250-efc9-2e39-2fbcadefbecc"/>
595 <Key Name="name" Value="Grass 3"/> 595 <Key Name="name" Value="Grass 3"/>
596 <Key Name="assetType" Value="0" /> 596 <Key Name="assetType" Value="0" />
597 <Key Name="fileName" Value="99bd60a2-3250-efc9-2e39-2fbcadefbecc.j2c" /> 597 <Key Name="fileName" Value="99bd60a2-3250-efc9-2e39-2fbcadefbecc.j2c" />
598 </Section> 598 </Section>
599 599
600 <Section Name="Grass 4"> 600 <Section Name="Grass 4">
601 <Key Name="assetID" Value="7a2b3a4a-53c2-53ac-5716-aac7d743c020"/> 601 <Key Name="assetID" Value="7a2b3a4a-53c2-53ac-5716-aac7d743c020"/>
602 <Key Name="name" Value="Grass 4"/> 602 <Key Name="name" Value="Grass 4"/>
603 <Key Name="assetType" Value="0" /> 603 <Key Name="assetType" Value="0" />
604 <Key Name="fileName" Value="7a2b3a4a-53c2-53ac-5716-aac7d743c020.j2c" /> 604 <Key Name="fileName" Value="7a2b3a4a-53c2-53ac-5716-aac7d743c020.j2c" />
605 </Section> 605 </Section>
606 606
607 <Section Name="undergrowth_1"> 607 <Section Name="undergrowth_1">
608 <Key Name="assetID" Value="8f458549-173b-23ff-d4ff-bfaa5ea2371b"/> 608 <Key Name="assetID" Value="8f458549-173b-23ff-d4ff-bfaa5ea2371b"/>
609 <Key Name="name" Value="undergrowth_1"/> 609 <Key Name="name" Value="undergrowth_1"/>
610 <Key Name="assetType" Value="0" /> 610 <Key Name="assetType" Value="0" />
611 <Key Name="fileName" Value="8f458549-173b-23ff-d4ff-bfaa5ea2371b.j2c" /> 611 <Key Name="fileName" Value="8f458549-173b-23ff-d4ff-bfaa5ea2371b.j2c" />
612 </Section> 612 </Section>
613 613
614 <Section Name="texture_crosshair"> 614 <Section Name="texture_crosshair">
615 <Key Name="assetID" Value="a85ac674-cb75-4af6-9499-df7c5aaf7a28"/> 615 <Key Name="assetID" Value="a85ac674-cb75-4af6-9499-df7c5aaf7a28"/>
616 <Key Name="name" Value="texture_crosshair"/> 616 <Key Name="name" Value="texture_crosshair"/>
617 <Key Name="assetType" Value="0" /> 617 <Key Name="assetType" Value="0" />
618 <Key Name="fileName" Value="a85ac674-cb75-4af6-9499-df7c5aaf7a28.j2c" /> 618 <Key Name="fileName" Value="a85ac674-cb75-4af6-9499-df7c5aaf7a28.j2c" />
619 </Section> 619 </Section>
620 620
621 <Section Name="viewer_water"> 621 <Section Name="viewer_water">
622 <Key Name="assetID" Value="822ded49-9a6c-f61c-cb89-6df54f42cdf4"/> 622 <Key Name="assetID" Value="822ded49-9a6c-f61c-cb89-6df54f42cdf4"/>
623 <Key Name="name" Value="viewer_water"/> 623 <Key Name="name" Value="viewer_water"/>
624 <Key Name="assetType" Value="0" /> 624 <Key Name="assetType" Value="0" />
625 <Key Name="fileName" Value="822ded49-9a6c-f61c-cb89-6df54f42cdf4.j2c" /> 625 <Key Name="fileName" Value="822ded49-9a6c-f61c-cb89-6df54f42cdf4.j2c" />
626 </Section> 626 </Section>
627 627
628 <Section Name="woodgrain_bumpmap"> 628 <Section Name="woodgrain_bumpmap">
629 <Key Name="assetID" Value="058c75c0-a0d5-f2f8-43f3-e9699a89c2fc"/> 629 <Key Name="assetID" Value="058c75c0-a0d5-f2f8-43f3-e9699a89c2fc"/>
630 <Key Name="name" Value="woodgrain_bumpmap"/> 630 <Key Name="name" Value="woodgrain_bumpmap"/>
631 <Key Name="assetType" Value="0" /> 631 <Key Name="assetType" Value="0" />
632 <Key Name="fileName" Value="058c75c0-a0d5-f2f8-43f3-e9699a89c2fc.j2c" /> 632 <Key Name="fileName" Value="058c75c0-a0d5-f2f8-43f3-e9699a89c2fc.j2c" />
633 </Section> 633 </Section>
634 634
635 <Section Name="bark_bumpmap"> 635 <Section Name="bark_bumpmap">
636 <Key Name="assetID" Value="6c9fa78a-1c69-2168-325b-3e03ffa348ce"/> 636 <Key Name="assetID" Value="6c9fa78a-1c69-2168-325b-3e03ffa348ce"/>
637 <Key Name="name" Value="bark_bumpmap"/> 637 <Key Name="name" Value="bark_bumpmap"/>
638 <Key Name="assetType" Value="0" /> 638 <Key Name="assetType" Value="0" />
639 <Key Name="fileName" Value="6c9fa78a-1c69-2168-325b-3e03ffa348ce.j2c" /> 639 <Key Name="fileName" Value="6c9fa78a-1c69-2168-325b-3e03ffa348ce.j2c" />
640 </Section> 640 </Section>
641 641
642 <Section Name="bricks_bumpmap"> 642 <Section Name="bricks_bumpmap">
643 <Key Name="assetID" Value="b8eed5f0-64b7-6e12-b67f-43fa8e773440"/> 643 <Key Name="assetID" Value="b8eed5f0-64b7-6e12-b67f-43fa8e773440"/>
644 <Key Name="name" Value="bricks_bumpmap"/> 644 <Key Name="name" Value="bricks_bumpmap"/>
645 <Key Name="assetType" Value="0" /> 645 <Key Name="assetType" Value="0" />
646 <Key Name="fileName" Value="b8eed5f0-64b7-6e12-b67f-43fa8e773440.j2c" /> 646 <Key Name="fileName" Value="b8eed5f0-64b7-6e12-b67f-43fa8e773440.j2c" />
647 </Section> 647 </Section>
648 648
649 <Section Name="checker_bumpmap"> 649 <Section Name="checker_bumpmap">
650 <Key Name="assetID" Value="9deab416-9c63-78d6-d558-9a156f12044c"/> 650 <Key Name="assetID" Value="9deab416-9c63-78d6-d558-9a156f12044c"/>
651 <Key Name="name" Value="checker_bumpmap"/> 651 <Key Name="name" Value="checker_bumpmap"/>
652 <Key Name="assetType" Value="0" /> 652 <Key Name="assetType" Value="0" />
653 <Key Name="fileName" Value="9deab416-9c63-78d6-d558-9a156f12044c.j2c" /> 653 <Key Name="fileName" Value="9deab416-9c63-78d6-d558-9a156f12044c.j2c" />
654 </Section> 654 </Section>
655 655
656 <Section Name="concrete_bumpmap"> 656 <Section Name="concrete_bumpmap">
657 <Key Name="assetID" Value="db9d39ec-a896-c287-1ced-64566217021e"/> 657 <Key Name="assetID" Value="db9d39ec-a896-c287-1ced-64566217021e"/>
658 <Key Name="name" Value="concrete_bumpmap"/> 658 <Key Name="name" Value="concrete_bumpmap"/>
659 <Key Name="assetType" Value="0" /> 659 <Key Name="assetType" Value="0" />
660 <Key Name="fileName" Value="db9d39ec-a896-c287-1ced-64566217021e.j2c" /> 660 <Key Name="fileName" Value="db9d39ec-a896-c287-1ced-64566217021e.j2c" />
661 </Section> 661 </Section>
662 662
663 <Section Name="crustytile_bumpmap"> 663 <Section Name="crustytile_bumpmap">
664 <Key Name="assetID" Value="f2d7b6f6-4200-1e9a-fd5b-96459e950f94"/> 664 <Key Name="assetID" Value="f2d7b6f6-4200-1e9a-fd5b-96459e950f94"/>
665 <Key Name="name" Value="crustytile_bumpmap"/> 665 <Key Name="name" Value="crustytile_bumpmap"/>
666 <Key Name="assetType" Value="0" /> 666 <Key Name="assetType" Value="0" />
667 <Key Name="fileName" Value="f2d7b6f6-4200-1e9a-fd5b-96459e950f94.j2c" /> 667 <Key Name="fileName" Value="f2d7b6f6-4200-1e9a-fd5b-96459e950f94.j2c" />
668 </Section> 668 </Section>
669 669
670 <Section Name="cutstone_bumpmap"> 670 <Section Name="cutstone_bumpmap">
671 <Key Name="assetID" Value="d9258671-868f-7511-c321-7baef9e948a4"/> 671 <Key Name="assetID" Value="d9258671-868f-7511-c321-7baef9e948a4"/>
672 <Key Name="name" Value="cutstone_bumpmap"/> 672 <Key Name="name" Value="cutstone_bumpmap"/>
673 <Key Name="assetType" Value="0" /> 673 <Key Name="assetType" Value="0" />
674 <Key Name="fileName" Value="d9258671-868f-7511-c321-7baef9e948a4.j2c" /> 674 <Key Name="fileName" Value="d9258671-868f-7511-c321-7baef9e948a4.j2c" />
675 </Section> 675 </Section>
676 676
677 <Section Name="discs_bumpmap"> 677 <Section Name="discs_bumpmap">
678 <Key Name="assetID" Value="d21e44ca-ff1c-a96e-b2ef-c0753426b7d9"/> 678 <Key Name="assetID" Value="d21e44ca-ff1c-a96e-b2ef-c0753426b7d9"/>
679 <Key Name="name" Value="discs_bumpmap"/> 679 <Key Name="name" Value="discs_bumpmap"/>
680 <Key Name="assetType" Value="0" /> 680 <Key Name="assetType" Value="0" />
681 <Key Name="fileName" Value="d21e44ca-ff1c-a96e-b2ef-c0753426b7d9.j2c" /> 681 <Key Name="fileName" Value="d21e44ca-ff1c-a96e-b2ef-c0753426b7d9.j2c" />
682 </Section> 682 </Section>
683 683
684 <Section Name="gravel_bumpmap"> 684 <Section Name="gravel_bumpmap">
685 <Key Name="assetID" Value="4726f13e-bd07-f2fb-feb0-bfa2ac58ab61"/> 685 <Key Name="assetID" Value="4726f13e-bd07-f2fb-feb0-bfa2ac58ab61"/>
686 <Key Name="name" Value="gravel_bumpmap"/> 686 <Key Name="name" Value="gravel_bumpmap"/>
687 <Key Name="assetType" Value="0" /> 687 <Key Name="assetType" Value="0" />
688 <Key Name="fileName" Value="4726f13e-bd07-f2fb-feb0-bfa2ac58ab61.j2c" /> 688 <Key Name="fileName" Value="4726f13e-bd07-f2fb-feb0-bfa2ac58ab61.j2c" />
689 </Section> 689 </Section>
690 690
691 <Section Name="petridish_bumpmap"> 691 <Section Name="petridish_bumpmap">
692 <Key Name="assetID" Value="e569711a-27c2-aad4-9246-0c910239a179"/> 692 <Key Name="assetID" Value="e569711a-27c2-aad4-9246-0c910239a179"/>
693 <Key Name="name" Value="petridish_bumpmap"/> 693 <Key Name="name" Value="petridish_bumpmap"/>
694 <Key Name="assetType" Value="0" /> 694 <Key Name="assetType" Value="0" />
695 <Key Name="fileName" Value="e569711a-27c2-aad4-9246-0c910239a179.j2c" /> 695 <Key Name="fileName" Value="e569711a-27c2-aad4-9246-0c910239a179.j2c" />
696 </Section> 696 </Section>
697 697
698 <Section Name="siding_bumpmap"> 698 <Section Name="siding_bumpmap">
699 <Key Name="assetID" Value="073c9723-540c-5449-cdd4-0e87fdc159e3"/> 699 <Key Name="assetID" Value="073c9723-540c-5449-cdd4-0e87fdc159e3"/>
700 <Key Name="name" Value="siding_bumpmap"/> 700 <Key Name="name" Value="siding_bumpmap"/>
701 <Key Name="assetType" Value="0" /> 701 <Key Name="assetType" Value="0" />
702 <Key Name="fileName" Value="073c9723-540c-5449-cdd4-0e87fdc159e3.j2c" /> 702 <Key Name="fileName" Value="073c9723-540c-5449-cdd4-0e87fdc159e3.j2c" />
703 </Section> 703 </Section>
704 704
705 <Section Name="stonetile_bumpmap"> 705 <Section Name="stonetile_bumpmap">
706 <Key Name="assetID" Value="ae874d1a-93ef-54fb-5fd3-eb0cb156afc0"/> 706 <Key Name="assetID" Value="ae874d1a-93ef-54fb-5fd3-eb0cb156afc0"/>
707 <Key Name="name" Value="stonetile_bumpmap"/> 707 <Key Name="name" Value="stonetile_bumpmap"/>
708 <Key Name="assetType" Value="0" /> 708 <Key Name="assetType" Value="0" />
709 <Key Name="fileName" Value="ae874d1a-93ef-54fb-5fd3-eb0cb156afc0.j2c" /> 709 <Key Name="fileName" Value="ae874d1a-93ef-54fb-5fd3-eb0cb156afc0.j2c" />
710 </Section> 710 </Section>
711 711
712 <Section Name="stucco_bumpmap"> 712 <Section Name="stucco_bumpmap">
713 <Key Name="assetID" Value="92e66e00-f56f-598a-7997-048aa64cde18"/> 713 <Key Name="assetID" Value="92e66e00-f56f-598a-7997-048aa64cde18"/>
714 <Key Name="name" Value="stucco_bumpmap"/> 714 <Key Name="name" Value="stucco_bumpmap"/>
715 <Key Name="assetType" Value="0" /> 715 <Key Name="assetType" Value="0" />
716 <Key Name="fileName" Value="92e66e00-f56f-598a-7997-048aa64cde18.j2c" /> 716 <Key Name="fileName" Value="92e66e00-f56f-598a-7997-048aa64cde18.j2c" />
717 </Section> 717 </Section>
718 718
719 719
720 <Section Name="suction_bumpmap"> 720 <Section Name="suction_bumpmap">
721 <Key Name="assetID" Value="83b77fc6-10b4-63ec-4de7-f40629f238c5"/> 721 <Key Name="assetID" Value="83b77fc6-10b4-63ec-4de7-f40629f238c5"/>
722 <Key Name="name" Value="suction_bumpmap"/> 722 <Key Name="name" Value="suction_bumpmap"/>
723 <Key Name="assetType" Value="0" /> 723 <Key Name="assetType" Value="0" />
724 <Key Name="fileName" Value="83b77fc6-10b4-63ec-4de7-f40629f238c5.j2c" /> 724 <Key Name="fileName" Value="83b77fc6-10b4-63ec-4de7-f40629f238c5.j2c" />
725 </Section> 725 </Section>
726 726
727 <Section Name="weave_bumpmap"> 727 <Section Name="weave_bumpmap">
728 <Key Name="assetID" Value="735198cf-6ea0-2550-e222-21d3c6a341ae"/> 728 <Key Name="assetID" Value="735198cf-6ea0-2550-e222-21d3c6a341ae"/>
729 <Key Name="name" Value="weave_bumpmap"/> 729 <Key Name="name" Value="weave_bumpmap"/>
730 <Key Name="assetType" Value="0" /> 730 <Key Name="assetType" Value="0" />
731 <Key Name="fileName" Value="735198cf-6ea0-2550-e222-21d3c6a341ae.j2c" /> 731 <Key Name="fileName" Value="735198cf-6ea0-2550-e222-21d3c6a341ae.j2c" />
732 </Section> 732 </Section>
733</Nini> 733</Nini>
diff --git a/bin/assets/TexturesAssetSet/licenses.txt b/bin/assets/TexturesAssetSet/licenses.txt
index 4c1364e..f34d26f 100644
--- a/bin/assets/TexturesAssetSet/licenses.txt
+++ b/bin/assets/TexturesAssetSet/licenses.txt
@@ -36,24 +36,24 @@ A few of the wood textures were created by me using Wood Workshop. These I donat
36 36
37 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 37 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
38 38
396. From Second Life(TM) Viewer Artwork. Copyright (C) 2008 Linden Research, Inc. 396. From Second Life(TM) Viewer Artwork. Copyright (C) 2008 Linden Research, Inc.
40 40
41Linden Research, Inc. ("Linden Lab") licenses the Second Life viewer 41Linden Research, Inc. ("Linden Lab") licenses the Second Life viewer
42artwork and other works in the files distributed with this Notice under 42artwork and other works in the files distributed with this Notice under
43the Creative Commons Attribution-Share Alike 3.0 License, available at 43the Creative Commons Attribution-Share Alike 3.0 License, available at
44http://creativecommons.org/licenses/by- sa/3.0/legalcode. For the license 44http://creativecommons.org/licenses/by- sa/3.0/legalcode. For the license
45summary, see http://creativecommons.org/licenses/by-sa/3.0/. 45summary, see http://creativecommons.org/licenses/by-sa/3.0/.
46 46
47Notwithstanding the foregoing, all of Linden Lab's trademarks, including 47Notwithstanding the foregoing, all of Linden Lab's trademarks, including
48but not limited to the Second Life brand name and Second Life Eye-in-Hand 48but not limited to the Second Life brand name and Second Life Eye-in-Hand
49logo, are subject to our trademark policy at 49logo, are subject to our trademark policy at
50http://secondlife.com/corporate/trademark/. 50http://secondlife.com/corporate/trademark/.
51 51
52If you distribute any copies or adaptations of the Second Life viewer 52If you distribute any copies or adaptations of the Second Life viewer
53artwork or any other works in these files, you must include this Notice 53artwork or any other works in these files, you must include this Notice
54and clearly identify any changes made to the original works. Include 54and clearly identify any changes made to the original works. Include
55this Notice and information where copyright notices are usually included, 55this Notice and information where copyright notices are usually included,
56for example, after your own copyright notice acknowledging your use of 56for example, after your own copyright notice acknowledging your use of
57the Second Life viewer artwork, in a text file distributed with your 57the Second Life viewer artwork, in a text file distributed with your
58program, in your application's About window, or on a credits page for 58program, in your application's About window, or on a credits page for
59your work. 59your work.