Thomas Brierley
e8ace81449
Use 'in' on root prototype checks
...
Because on NodeJS <= v0.10 hasOwnProperty returns false for __proto__ on
Object.prototype. Function.prototype and Object.prototype are roots so
it should be safe to use 'in' instead.
2017-07-04 19:43:01 +01:00
Thomas Brierley
cc8b7a2f6d
Remove redundant conditions and comments
2017-06-29 15:07:38 +01:00
Thomas Brierley
7951ae221e
Use isSafeProperty in set/getSafeProperty
2017-06-29 15:00:40 +01:00
Thomas Brierley
955c72bebf
Update isSafeProperty interface
2017-06-29 14:56:47 +01:00
Thomas Brierley
c4951c2143
Refactor isSafe checks to restore inheritance
...
To safely restore inherited properties and methods on plain objects e.g
with Object.create, some overly broad conditions need to be removed and
others added to more explicitly exclude unsafe properties.
isSafeMethod() has been modified as bellow, roughly the same conditions
are also now used in isSafeProperty() for get/setSafeProperty() which
previously restricted all inherited properties.
- Require __proto__ to have own-method
Intended to prevent ghosting of class methods, but also prevents
access to properties from further up the chain.
+ Require any own-method to not be in __proto__
Explicitly prevents ghosting but not inheritance. Possible to
defeat only if proto chaining through Object.create is allowed.
- Require object to not be function
Intended to prevent unsafe function methods like 'bind', but
also restricts function own-properties.
+ Require method not be in Function.prototype
Explicitly prevents unsafe function methods like 'bind',
without restricting function own properties.
Other conditions should be equivalent. The overall affect should be
that inherited properties and methods that are safe and not ghosted
should be allowed.
2017-06-29 14:53:46 +01:00
jos
4e1142a126
Released v3.13.3
2017-05-27 20:56:16 +02:00
jos
bc3febca89
Merge branch 'security' into develop
2017-05-27 20:52:24 +02:00
Jos de Jong
b1afd923b7
Merge pull request #862 from viclai/patch-1
...
Fixed Bug in Equation For Intersection of Line and Plane
2017-05-27 20:13:18 +02:00
jos
ed5f2cebaf
Security fixes in isSafeMethod and some others
2017-05-27 19:51:12 +02:00
jos
5fbc8edce6
Released v3.13.2
2017-05-26 20:28:59 +02:00
jos
627bb2a79d
Disabled function chain
2017-05-26 17:11:52 +02:00
jos
959b010242
Simplified isSafeMethod
2017-05-26 16:43:03 +02:00
jos
64498eddd6
Fixed #861 : physical constants not available in the expression parser
2017-05-25 16:13:42 +02:00
Victor
1313abe4ce
Fixed Bug in Equation For Intersection of Line and Plane
...
The equation to find the value of ’t' for the intersection of a line and a plane does not appear to be entirely correct. Please double-check.
2017-05-23 20:40:47 -07:00
jos
f61bb6cf94
Fixed #856 : function subset not returning non-primitive scalars from Arrays correctly
2017-05-16 21:41:03 +02:00
jos
e105f60ab7
Released v3.13.1
2017-05-12 20:52:02 +02:00
jos
04ceed6c75
Merge branch 'security' into develop
2017-05-12 20:47:54 +02:00
jos
29d632f1d9
Fixed creating units with an alias not working within the expression parser
2017-05-12 13:28:13 +02:00
jos
51507e2f10
Released v3.13.0
2017-05-12 09:18:46 +02:00
jos
11eda850da
Fixed security vulnerabilities
2017-05-12 09:01:31 +02:00
Jos de Jong
b36d45af0b
Merge pull request #850 from tetslee/absderivative
...
Added derivative of abs
2017-05-11 19:59:22 +02:00
Jos de Jong
3f890c9a1a
Merge pull request #848 from tetslee/simplifyTerminate
...
Fix terminate condition of simplify to avoid endless loops
2017-05-11 19:56:28 +02:00
Timothy Lee
8c92deb1c3
Added derivative of abs
2017-05-10 17:24:15 +09:30
Timothy Lee
4762493861
Typo
2017-05-10 10:24:47 +09:30
jos
de10818546
Merge branch 'redundantwildcard' of https://github.com/tetslee/mathjs into tetslee-redundantwildcard
...
# Conflicts:
# lib/function/algebra/simplify.js
2017-05-09 20:24:04 +02:00
Jos de Jong
71221b75df
Merge pull request #840 from tetslee/fix838
...
Fixed simplify to recognize named constants
2017-05-09 20:12:28 +02:00
Jos de Jong
3ea3eb7273
Merge pull request #841 from tetslee/fix813
...
Stop simplify converting numbers to inexact Fractions
2017-05-09 20:07:57 +02:00
Timothy Lee
aaeb2ebc28
Fix terminate condition of simplify to avoid endless loops
2017-05-09 17:59:58 +09:30
Timothy Lee
89c32b84bf
Remove redundant rule wildcard variable 'C' from simplify
2017-05-09 16:01:28 +09:30
Timothy Lee
02f01adf3c
Added support for BigNumbers to simplify
2017-05-09 13:20:32 +09:30
Jos de Jong
dc37aa3c49
Merge pull request #845 from tetslee/docsimplify
...
Added some more documentation for simplify rules
2017-05-08 20:01:47 +02:00
jos
41b0f5138b
Expose BASE_DIMENSIONS on Unit
2017-05-08 20:00:43 +02:00
Timothy Lee
6f2b5efaac
Disallow implicitly converting a number to a fraction that is not an exact representation
2017-05-08 15:58:06 +09:30
Timothy Lee
82095ebc19
Revert "Changed multiply to only output Fractions when both arguments can be exactly represented as Fractions"
...
This reverts commit f3cb41864582b2dc8b07c07d4c22d6c313bcc114.
2017-05-08 15:57:19 +09:30
Timothy Lee
6792ab5974
Added some more documentation for simplify rules
2017-05-08 13:32:53 +09:30
Timothy Lee
158adc1861
Added support for more constants in simplify
2017-05-08 12:56:56 +09:30
jos
150e5bd42a
Released v3.12.3
2017-05-05 21:09:59 +02:00
jos
27660d8c00
Some more security measures
2017-05-05 21:08:23 +02:00
jos
85ac1a0aa4
Some more security measures
2017-05-05 20:53:20 +02:00
jos
aef6203049
Use safe function arguments internally
2017-05-05 17:25:21 +02:00
jos
73b774a51b
Use safe map, forEach, join
2017-05-05 12:32:21 +02:00
Timothy Lee
f3cb418645
Changed multiply to only output Fractions when both arguments can be exactly represented as Fractions
2017-05-05 16:30:37 +09:30
Timothy Lee
c47dee1d01
Stopped simplify from explicitly converting numbers to Fractions when they can't be expressed exactly.
...
It still will implicitly convert to inexact Fractions because of the conversions to Fractions in the typed-functions of binary operators.
2017-05-05 14:54:04 +09:30
Timothy Lee
9e2491e96f
Fixed simplify to recognize named constants
2017-05-05 13:44:21 +09:30
jos
088c612cd6
Released v3.12.2
2017-04-30 14:02:25 +02:00
jos
f1e2c2e391
Released v3.12.1
2017-04-24 21:45:53 +02:00
jos
933f1bbb5d
Released v3.12.1
2017-04-24 21:41:09 +02:00
jos
b90305992f
Merge remote-tracking branch 'origin/develop' into develop
2017-04-24 21:38:12 +02:00
jos
4f9fd81fbd
Merge branch 'develop' into security
2017-04-24 21:36:05 +02:00
jos
19faeac16c
Escape function names and properties
2017-04-24 21:36:00 +02:00