aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden
diff options
context:
space:
mode:
Diffstat (limited to 'linden')
-rw-r--r--linden/indra/lib/python/indra/base/lluuid.py5
-rw-r--r--linden/indra/lib/python/indra/ipc/llmessage.py6
-rw-r--r--linden/indra/llcharacter/llkeyframemotion.cpp37
-rw-r--r--linden/install.xml2
-rwxr-xr-xlinden/scripts/install.py6
5 files changed, 43 insertions, 13 deletions
diff --git a/linden/indra/lib/python/indra/base/lluuid.py b/linden/indra/lib/python/indra/base/lluuid.py
index aceea29..40ce818 100644
--- a/linden/indra/lib/python/indra/base/lluuid.py
+++ b/linden/indra/lib/python/indra/base/lluuid.py
@@ -26,7 +26,8 @@ THE SOFTWARE.
26$/LicenseInfo$ 26$/LicenseInfo$
27""" 27"""
28 28
29import md5, random, socket, string, time, re 29import random, socket, string, time, re
30from hashlib import md5
30import uuid 31import uuid
31 32
32def _int2binstr(i,l): 33def _int2binstr(i,l):
@@ -196,7 +197,7 @@ class UUID(object):
196 from c++ implementation for portability reasons. 197 from c++ implementation for portability reasons.
197 Returns self. 198 Returns self.
198 """ 199 """
199 m = md5.new() 200 m = md5()
200 m.update(uuid.uuid1().bytes) 201 m.update(uuid.uuid1().bytes)
201 self._bits = m.digest() 202 self._bits = m.digest()
202 return self 203 return self
diff --git a/linden/indra/lib/python/indra/ipc/llmessage.py b/linden/indra/lib/python/indra/ipc/llmessage.py
index 6161bad..91fb36b 100644
--- a/linden/indra/lib/python/indra/ipc/llmessage.py
+++ b/linden/indra/lib/python/indra/ipc/llmessage.py
@@ -26,8 +26,6 @@ THE SOFTWARE.
26$/LicenseInfo$ 26$/LicenseInfo$
27""" 27"""
28 28
29from sets import Set, ImmutableSet
30
31from compatibility import Incompatible, Older, Newer, Same 29from compatibility import Incompatible, Older, Newer, Same
32from tokenstream import TokenStream 30from tokenstream import TokenStream
33 31
@@ -44,8 +42,8 @@ class Template:
44 42
45 def compatibleWithBase(self, base): 43 def compatibleWithBase(self, base):
46 messagenames = ( 44 messagenames = (
47 ImmutableSet(self.messages.keys()) 45 frozenset(self.messages.keys())
48 | ImmutableSet(base.messages.keys()) 46 | frozenset(base.messages.keys())
49 ) 47 )
50 48
51 compatibility = Same() 49 compatibility = Same()
diff --git a/linden/indra/llcharacter/llkeyframemotion.cpp b/linden/indra/llcharacter/llkeyframemotion.cpp
index 212020b..4b138b1 100644
--- a/linden/indra/llcharacter/llkeyframemotion.cpp
+++ b/linden/indra/llcharacter/llkeyframemotion.cpp
@@ -1560,6 +1560,13 @@ BOOL LLKeyframeMotion::deserialize(LLDataPacker& dp)
1560 } 1560 }
1561 constraintp->mChainLength = (S32) byte; 1561 constraintp->mChainLength = (S32) byte;
1562 1562
1563 if((U32)constraintp->mChainLength > mJointMotionList->getNumJointMotions())
1564 {
1565 llwarns << "invalid constraint chain length" << llendl;
1566 delete constraintp;
1567 return FALSE;
1568 }
1569
1563 if (!dp.unpackU8(byte, "constraint_type")) 1570 if (!dp.unpackU8(byte, "constraint_type"))
1564 { 1571 {
1565 llwarns << "can't read constraint type" << llendl; 1572 llwarns << "can't read constraint type" << llendl;
@@ -1587,7 +1594,14 @@ BOOL LLKeyframeMotion::deserialize(LLDataPacker& dp)
1587 delete constraintp; 1594 delete constraintp;
1588 return FALSE; 1595 return FALSE;
1589 } 1596 }
1590 1597
1598 if( !(constraintp->mSourceConstraintOffset.isFinite()) )
1599 {
1600 llwarns << "non-finite constraint source offset" << llendl;
1601 delete constraintp;
1602 return FALSE;
1603 }
1604
1591 if (!dp.unpackBinaryDataFixed(bin_data, BIN_DATA_LENGTH, "target_volume")) 1605 if (!dp.unpackBinaryDataFixed(bin_data, BIN_DATA_LENGTH, "target_volume"))
1592 { 1606 {
1593 llwarns << "can't read target volume name" << llendl; 1607 llwarns << "can't read target volume name" << llendl;
@@ -1615,6 +1629,13 @@ BOOL LLKeyframeMotion::deserialize(LLDataPacker& dp)
1615 return FALSE; 1629 return FALSE;
1616 } 1630 }
1617 1631
1632 if( !(constraintp->mTargetConstraintOffset.isFinite()) )
1633 {
1634 llwarns << "non-finite constraint target offset" << llendl;
1635 delete constraintp;
1636 return FALSE;
1637 }
1638
1618 if (!dp.unpackVector3(constraintp->mTargetConstraintDir, "target_dir")) 1639 if (!dp.unpackVector3(constraintp->mTargetConstraintDir, "target_dir"))
1619 { 1640 {
1620 llwarns << "can't read constraint target direction" << llendl; 1641 llwarns << "can't read constraint target direction" << llendl;
@@ -1622,6 +1643,13 @@ BOOL LLKeyframeMotion::deserialize(LLDataPacker& dp)
1622 return FALSE; 1643 return FALSE;
1623 } 1644 }
1624 1645
1646 if( !(constraintp->mTargetConstraintDir.isFinite()) )
1647 {
1648 llwarns << "non-finite constraint target direction" << llendl;
1649 delete constraintp;
1650 return FALSE;
1651 }
1652
1625 if (!constraintp->mTargetConstraintDir.isExactlyZero()) 1653 if (!constraintp->mTargetConstraintDir.isExactlyZero())
1626 { 1654 {
1627 constraintp->mUseTargetOffset = TRUE; 1655 constraintp->mUseTargetOffset = TRUE;
@@ -1685,8 +1713,13 @@ BOOL LLKeyframeMotion::deserialize(LLDataPacker& dp)
1685 break; 1713 break;
1686 } 1714 }
1687 } 1715 }
1716 if (constraintp->mJointStateIndices[i] < 0 )
1717 {
1718 llwarns << "No joint index for constraint " << i << llendl;
1719 delete constraintp;
1720 return FALSE;
1721 }
1688 } 1722 }
1689
1690 } 1723 }
1691 } 1724 }
1692 1725
diff --git a/linden/install.xml b/linden/install.xml
index 224cd65..b213b94 100644
--- a/linden/install.xml
+++ b/linden/install.xml
@@ -1128,7 +1128,7 @@ anguage Infrstructure (CLI) international standard</string>
1128 <key>md5sum</key> 1128 <key>md5sum</key>
1129 <string>f30b851e089108978c8218295a405159</string> 1129 <string>f30b851e089108978c8218295a405159</string>
1130 <key>url</key> 1130 <key>url</key>
1131 <uri>http://thomas.shikami.mooo.com/install_pkgs/openal-darwin-20090418.tar.bz2</uri> 1131 <uri>http://imprudenceviewer.org/download/libs/openal-darwin-20090418.tar.bz2</uri>
1132 </map> 1132 </map>
1133 <key>linux</key> 1133 <key>linux</key>
1134 <map> 1134 <map>
diff --git a/linden/scripts/install.py b/linden/scripts/install.py
index f886a6e..3843c83 100755
--- a/linden/scripts/install.py
+++ b/linden/scripts/install.py
@@ -34,7 +34,7 @@ $/LicenseInfo$
34""" 34"""
35 35
36import copy 36import copy
37import md5 37from hashlib import md5
38import optparse 38import optparse
39import os 39import os
40import platform 40import platform
@@ -46,8 +46,6 @@ import tempfile
46import urllib2 46import urllib2
47import urlparse 47import urlparse
48 48
49from sets import Set as set, ImmutableSet as frozenset
50
51# Locate -our- python library relative to our install location. 49# Locate -our- python library relative to our install location.
52from os.path import realpath, dirname, join 50from os.path import realpath, dirname, join
53 51
@@ -76,7 +74,7 @@ class InstallFile(object):
76 return "ifile{%s:%s}" % (self.pkgname, self.url) 74 return "ifile{%s:%s}" % (self.pkgname, self.url)
77 75
78 def _is_md5sum_match(self): 76 def _is_md5sum_match(self):
79 hasher = md5.new(file(self.filename, 'rb').read()) 77 hasher = md5(file(self.filename, 'rb').read())
80 if hasher.hexdigest() == self.md5sum: 78 if hasher.hexdigest() == self.md5sum:
81 return True 79 return True
82 return False 80 return False