Commit Graph

114 Commits

Author SHA1 Message Date
Farhad Safarov
9f5b7a1596
error message update (#145) 2021-02-14 11:54:10 +03:00
Faizan Akram Dar
a971c4c020
[property access] add stub file for PropertyPathInterface (#134) 2021-02-11 08:39:56 +03:00
Adrien LUCAS
a7e1b5559f
[tainting] Allow to configure a different root directory for the twig templates. (#135) 2021-01-26 12:13:10 +03:00
Adrien LUCAS
4ec19385d4
[tainting] Twig print should not be an actual taint sink (#123)
* Twig print should not be a sink

* Add links to the test cases for tainting twig

* Update psalm

* Force typing of Request:: to ensure taint detection

* Fix test using old hooks mechanism.
2021-01-16 16:03:43 +03:00
Farhad Safarov
eafbe69aa9
[security] voter - suppress MoreSpecificImplementedParamType on voteOnAttribute (#127) 2020-12-25 08:55:02 +03:00
Farhad Safarov
c3ec6040b5
[routing] add RouteCollection stub (#125) 2020-12-23 20:49:57 +03:00
Adrien LUCAS
a7d3a76ca0
[tainting] improve twig template names resolving (#122) 2020-12-15 10:52:58 +03:00
Farhad Safarov
2dd4b18a81
[internal] allow development on php8 (#114) 2020-12-08 12:45:11 +03:00
Farhad Safarov
aef28735fd
[test] skip failing test temporarily (#115) 2020-12-08 10:59:52 +03:00
Valentin Udaltsov
20fbfcfa7d
Add mixed type to serializer $data parameter (#112) 2020-12-08 00:23:29 +03:00
Valentin Udaltsov
85529f3c5f
Improved DenormalizerInterface and SerializerInterface stubs (#111) 2020-12-05 19:44:15 +03:00
Michel Hunziker
fb77c49200
Allow psalm 4.2 and later (#110) 2020-12-05 19:42:43 +03:00
Michel Hunziker
9117ebb759
[tainting] stub ParameterBag to provide taint information for Symfony 3/4/5.0 (#103) 2020-12-05 17:23:27 +03:00
Farhad Safarov
2aa06e6609
[console] option name with -- prefix (#106) 2020-11-29 15:14:05 +03:00
Farhad Safarov
9dc1c34e88
[container] support subscribed services in child classes (#102) 2020-11-15 21:52:47 +03:00
Farhad Safarov
e750732ee2
[container] support service subscriber & locator (#101)
* [container] support service subscriber

* no message
2020-11-14 13:18:54 +03:00
Adrien LUCAS
0397c581db
[tainting] Allow Twig\Environment::render to be tainted even with a variable as template name (#97)
Allow Twig\Environment::render to be tainted even with a variable as template parameters

Allow using a variable as template name for CachedTemplatesTainter too

Add TwigUtils::extractTemplateNameFromExpression tests
2020-11-10 13:23:21 +03:00
Adrien LUCAS
f75effe9dd
[tainting] Fix the precedence of the CachedTemplatesMapping (#89)
Allow alternatives template name notation

Isolate template naming in a CachedTemplatesRegistry

Allow `render` calls with no second arguments

Allow twig template name old notation alternatives
2020-11-10 12:57:01 +03:00
Adrien LUCAS
01b5dcb771
[container] read the DI required annotation (#100) 2020-11-10 10:34:20 +03:00
Farhad Safarov
5cd3df193f
[console] nullable & bool default values (#92)
* [console] nullable & bool default values

* no message
2020-09-26 13:40:51 +03:00
Adrien LUCAS
4a523e7aba Refactor twig analyzer 2020-09-24 19:43:50 +02:00
Farhad Safarov
ac32e62977
[console] argument return type infer improvements (#87) 2020-09-24 13:37:51 +03:00
Maarten de Boer
c1535e05e1
Detect return type for denormalize and deserialize for the Serializer component (#83)
* Detect return type for denormalize and deserialize

* Fix typo

* Remove empty docblock
2020-09-21 09:08:39 +03:00
Farhad Safarov
cb7eb847bb
psalm update fixes (#85) 2020-09-18 08:52:49 +03:00
Farhad Safarov
dd0f54f41b
Testing no service naming convention violation when using FQCN (#78) 2020-09-14 08:06:07 +03:00
Wouter J
00bae73943
Added stub for PropertyAccessorInterface::setValue() (#76)
* Added stub for PropertyAccessorInterface::setValue()

* Update src/Stubs/common/PropertyAccessorInterface.stubphp

Co-authored-by: Farhad Safarov <farhad.safarov@gmail.com>
2020-09-13 20:03:33 +03:00
Adrien LUCAS
4eb4dae6ea
Tainting twig (#61)
* Taint Request::get and Response::__construct

* Taint Request::request, Request::query & Request::cookies

* Taint Request::headers (only for the user-agent header)

* Taint HeaderBag::__toString (and a fix of psalm taint api usage)

* Taint InputBag::all

* Fix type resolving

* Bump psalm requirement

* refactoring first scenario outline

* Refactor RequestTaint

* no message

* Taint HeaderBag using the MethodReturnTypeProviderInterface

* Skip tests when dependencies too low

* Taint Request::get and Response::__construct

* Taint Request::headers (only for the user-agent header)

* wip

* Try using MethodReturnTypeProviderInterface

* Compiling templates

* Make it work using fake call

* Explicitely load compliled twig files

* wip

* Add more direct way of tainting output

* wip

* Add real twig template analyzer

* Refactor

* Little fixes

* Change namespace from Taint to Twig

* Refactoring

* Some type fixing

* Fix CS

* Guess template-to-cache mapping instead of using the twig env.

* Fix typing

* Last minutes changes

* Change test group

* Update README

* fix TemplateFileAnalyzer path in readme

Co-authored-by: Farhad Safarov <farhad.safarov@gmail.com>
Co-authored-by: Brown <github@muglug.com>
2020-09-13 19:37:26 +03:00
Damien Debin
b1bfd5fac1
Better null handling for getOption. (#75) 2020-08-24 09:57:30 +03:00
Adrien LUCAS
51d363960f
Taint analysis (#54)
* Taint Request::get and Response::__construct

* Taint Request::request, Request::query & Request::cookies

* Taint Request::headers (only for the user-agent header)

* Taint HeaderBag::__toString (and a fix of psalm taint api usage)

* Taint InputBag::all

* Fix type resolving

* Bump psalm requirement

* refactoring first scenario outline

* Refactor RequestTaint

* no message

* Taint HeaderBag using the MethodReturnTypeProviderInterface

* Skip tests when dependencies too low

* Fix CS

Co-authored-by: Farhad Safarov <farhad.safarov@gmail.com>
2020-08-22 21:04:30 +03:00
Valentin Udaltsov
9fb76499f9
Added CacheInterface.stubphp from symfony contracts (#74) 2020-08-18 14:38:35 +03:00
Valentin Udaltsov
898d580c13
Added Guard AuthenticatorInterface.stubphp (#72) 2020-08-18 13:18:10 +03:00
Valentin Udaltsov
da8d170c78
Made Messenger Envelope aware of the message class (#71) 2020-08-18 09:24:21 +03:00
Valentin Udaltsov
d27cd2fc1b
Added LockableTrait.stubphp (#70) 2020-08-18 09:06:54 +03:00
Farhad Safarov
798b72f40c
InputBag get stub for return type (#69) 2020-08-04 07:14:56 +03:00
Farhad Safarov
37912ba88f
test container support (#66)
* test container support

* no message

* no message
2020-08-03 17:14:55 +03:00
Farhad Safarov
25c91fd99a
PropertyNotSetInConstructor error is not raised when class is an Annotation (#65) 2020-08-01 18:07:39 +03:00
Farhad Safarov
750e7b9e8f
PropertyNotSetInConstructor error about $context is not raised in ConstraintValidator (#63) 2020-07-30 16:07:38 +03:00
Farhad Safarov
d13b6aa27a
Default service visibility for different Symfony versions (#62)
* Default service visibility for different Symfony versions

* no message

* test fix
2020-07-28 21:21:03 +03:00
Anton Zagorskii
1c68a1529a
Suppress PropertyNotSetInConstructor error in AbstractController::$container (managed by Symfony DI) (#57)
Co-authored-by: Anton Zagorskii <anton@paytronix.io>
2020-07-20 06:40:55 +03:00
Anton Zagorskii
7fb4a082cf
totallyTyped is deprecated, changed to errorLevel="1" (#56)
Co-authored-by: Anton Zagorskii <anton@paytronix.io>
2020-07-19 11:28:57 +03:00
Michel Hunziker
e6ae163a54
Add envelope stub to provide the correct argument and return types (#53)
* Add envelope stub to provide the correct argument and return types

* Use a custom test stamp
2020-07-06 06:29:10 +03:00
Adrien LUCAS
4b826dc432
Taint Request::get and Response::__construct (#50)
* Taint Request::get and Response::__construct

* no message

Co-authored-by: Farhad Safarov <farhad.safarov@gmail.com>
2020-07-02 14:27:48 +03:00
Farhad Safarov
fb2eb766e4
naming convention for parameters (#52) 2020-06-28 09:04:40 +03:00
Farhad Safarov
b9f4745e28
HeaderBag get default value return type (#49) 2020-06-26 14:58:43 +03:00
Farhad Safarov
3b5b7016fc
container dependency handler attribute fix (#48)
* container dependency handler attribute fix

* no message

* no message

* no message
2020-06-23 23:42:21 +03:00
Farhad Safarov
8d062cf97d
cleanup & inline suppressible plugin issue (#46)
* cleanup & inline suppressible plugin issue

* no message
2020-06-22 11:15:12 +03:00
Farhad Safarov
76ff9a0f8e
[container] multiple container xml file support (#45) 2020-06-19 16:18:31 +03:00
Farhad Safarov
7769787a86
[console] input definition (#44)
* [console] input definition

* no message
2020-06-19 14:19:17 +03:00
Farhad Safarov
f0b6ffab06
[console] argument and option name using const (#36)
* [console] argument and option name using const

* no message
2020-06-09 12:15:09 +03:00
Farhad Safarov
d1f2fbab84
fix crash when using self::class in container get (#34)
* fix crash when using self::class in container get

* no message

* no message
2020-05-27 16:58:32 +03:00
Farhad Safarov
7a628c6fda
[RepositoryStringShortcut] complain when argument is string only (#33) 2020-05-26 18:53:50 +03:00
Farhad Safarov
55aa860581
Detect naming violations & container handler refactor (#29)
* refactor container handler

* readme
2020-05-16 06:06:51 +03:00
Farhad Safarov
95e6128cfa
[console] skip dynamic argument and option names (#27) 2020-04-27 08:38:20 +03:00
Farhad Safarov
d567d3116b
HeaderBag get return type (#24)
* header bag stub

* no message

* no message
2020-04-14 17:21:05 +03:00
Farhad Safarov
b81d92542e
conditional returns & request stub (#23) 2020-04-14 11:58:44 +03:00
Farhad Safarov
446a6fb2d0
console handler (#22)
* console handler - fixes #17

* no message

* no message
2020-04-12 17:56:21 +03:00
Farhad Safarov
c2b2dd4ae7
assume service as public if public attribute is missing (#15) 2020-03-15 13:38:16 +03:00
Matthew Brown
d21ccc2307 Migrate Seferov => Psalm 2020-03-13 10:51:18 -04:00
Farhad Safarov
d2f0447add
add class to codebase if service is used by id (#10)
* add class to codebase if service is used by id

* fix doc
2020-03-11 16:43:52 +03:00
Farhad Safarov
268c1cd67d
add container unit tests (#9) 2020-03-10 19:00:55 +03:00
Farhad Safarov
247647254d
refactor container check (#8)
* refactor container check

* no message

* no message

* no message
2020-03-09 15:24:39 +03:00
Farhad Safarov
4e45a9d033
Detect ContainerInterface::get() result type (#6) 2020-01-03 07:45:29 +03:00
Farhad Safarov
c2924cb89a
[feature] request getContent return type fix (#5) 2019-12-06 12:25:16 +03:00
Farhad Safarov
d1f94392cf
acceptance tests (#3) 2019-11-14 10:27:50 +03:00