Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: apache/shiro
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: shiro-root-1.4.2
Choose a base ref
...
head repository: apache/shiro
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: shiro-root-1.5.2
Choose a head ref

Commits on May 30, 2017

  1. Copy the full SHA
    d7214d8 View commit details

Commits on Jan 24, 2018

  1. Copy the full SHA
    610219a View commit details

Commits on Jan 25, 2018

  1. Copy the full SHA
    77ab27d View commit details

Commits on May 6, 2019

  1. Copy the full SHA
    9598e8c View commit details
  2. Copy the full SHA
    2ba194f View commit details
  3. Adds BearerToken support

    Abstracts the HTTP header processing out of BasicHttpAuthenticationFilter into HttpAuthenticationFilter (to support both BASIC and Bearer tokens)
    
    Adds `authcBearer` to DefaultFilter (to match `authcBasic`)
    bdemers committed May 6, 2019
    Copy the full SHA
    efcbf77 View commit details
  4. fix license headers

    bdemers committed May 6, 2019
    Copy the full SHA
    fb2f1b1 View commit details

Commits on May 8, 2019

  1. Copy the full SHA
    b691c5d View commit details
  2. Merge pull request #130 from fpapon/SHIRO-681

    [SHIRO-681] Upgrade to compiler Java 8
    fpapon authored May 8, 2019

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    6891aaf View commit details
  3. Copy the full SHA
    e917869 View commit details
  4. Merge pull request #131 from fpapon/SHIRO-688

    [SHIRO-688] Upgrade to commons-cli 1.4
    fpapon authored May 8, 2019

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    483b958 View commit details

Commits on May 9, 2019

  1. Copy the full SHA
    d7d33bf View commit details
  2. Merge pull request #132 from fpapon/SHIRO-685

    [SHIRO-685] Potential NullPointerException if PermissionResolver retu…
    fpapon authored May 9, 2019

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    9d2908e View commit details

Commits on May 11, 2019

  1. Copy the full SHA
    49b5625 View commit details
  2. Merge pull request #133 from fpapon/SHIRO-689

    [SHIRO-689] Upgrade to commons-codec 1.12
    fpapon authored May 11, 2019

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    68f7b35 View commit details

Commits on May 12, 2019

  1. Copy the full SHA
    b7ff8e7 View commit details
  2. Copy the full SHA
    fbe3037 View commit details
  3. Copy the full SHA
    22a2612 View commit details

Commits on May 16, 2019

  1. Copy the full SHA
    148eeb7 View commit details

Commits on May 17, 2019

  1. Merge pull request #90 from plx927/feature/fix-formAuthenticationFilter

    [SHIRO-661] Add check for the principal of subject whether is null
    fpapon authored May 17, 2019

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    cf8f43f View commit details

Commits on May 21, 2019

  1. Update pom links to use https

    bdemers committed May 21, 2019
    Copy the full SHA
    42c5c43 View commit details

Commits on May 22, 2019

  1. Revert license headers to fix apache-rat issue

    rat is checking for http://www.apache.org/licenses/LICENSE-2.0, and doesn't like 'https'
    bdemers committed May 22, 2019
    Copy the full SHA
    1a03ef1 View commit details

Commits on May 25, 2019

  1. Copy the full SHA
    fe961c7 View commit details
  2. Merge pull request #134 from fpapon/SHIRO-691

    [SHIRO-691] Upgrade to maven-jar-plugin 3.1.1
    fpapon authored May 25, 2019

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    942d364 View commit details
  3. Copy the full SHA
    a067af5 View commit details
  4. Merge pull request #135 from fpapon/MVN-BUILD

    Fix maven warning for exec-maven-plugin and upgrade to 1.6.0
    fpapon authored May 25, 2019

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    6cfd985 View commit details

Commits on May 26, 2019

  1. Copy the full SHA
    d677288 View commit details
  2. Copy the full SHA
    8909bee View commit details
  3. Merge pull request #136 from fpapon/SHIRO-692

    [SHIRO-692] Upgrade and enforce min buid maven version to 3.5.0
    fpapon authored May 26, 2019

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    1608927 View commit details

Commits on May 28, 2019

  1. Copy the full SHA
    848d581 View commit details

Commits on May 29, 2019

  1. Merge pull request #129 from bdemers/bearer-token

    Adds BearerToken support
    bdemers authored May 29, 2019

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    8893f15 View commit details

Commits on May 30, 2019

  1. SHIRO-693 - Update plugins

    coheigea committed May 30, 2019
    Copy the full SHA
    dc6812c View commit details
  2. Merge pull request #139 from coheigea/SHIRO-693

    SHIRO-693 - Update plugins
    bdemers authored May 30, 2019

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    7c74b98 View commit details
  3. Merge pull request #78 from bdemers/wildcard-mailing-list-chat

    Adding another WildcardPermission test case
    bdemers authored May 30, 2019

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    c63855f View commit details

Commits on May 31, 2019

  1. Copy the full SHA
    bc5240d View commit details
  2. Copy the full SHA
    ad2a77f View commit details

Commits on Jun 1, 2019

  1. Merge pull request #137 from fpapon/BUILD

    Build
    fpapon authored Jun 1, 2019

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    415e259 View commit details

Commits on Jun 4, 2019

  1. SHIRO-695 - Update Hazelcast

    coheigea committed Jun 4, 2019
    Copy the full SHA
    deb4939 View commit details
  2. Merge pull request #141 from coheigea/SHIRO-695

    SHIRO-695 - Update Hazelcast
    fpapon authored Jun 4, 2019

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    76cbc22 View commit details

Commits on Jun 6, 2019

  1. SHIRO-696 - Upgrade Jetty

    coheigea committed Jun 6, 2019
    Copy the full SHA
    c690b79 View commit details
  2. Merge pull request #142 from coheigea/jetty_upgrade

    SHIRO-696 - Upgrade Jetty
    fpapon authored Jun 6, 2019

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    876c853 View commit details
  3. Merge pull request #140 from bdemers/reduce-test-log

    Reduce shiro test logging level to INFO
    fpapon authored Jun 6, 2019

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    95fd2dc View commit details
  4. Copy the full SHA
    025095f View commit details

Commits on Jun 7, 2019

  1. Merge pull request #143 from fpapon/SHIRO-696

    [SHIRO-696] Use root pom Jetty version in Jaxrs sample
    fpapon authored Jun 7, 2019

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    ac1cc60 View commit details
  2. Copy the full SHA
    b8c8e24 View commit details

Commits on Jun 8, 2019

  1. Merge pull request #144 from coheigea/spring_minor

    SHIRO-700 - Minor version updates to Spring, Spring Boot + SLF4J
    fpapon authored Jun 8, 2019

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    af440fa View commit details

Commits on Jun 10, 2019

  1. SHIRO-701 - Update logback

    coheigea committed Jun 10, 2019
    Copy the full SHA
    641e663 View commit details
  2. Merge pull request #145 from coheigea/logback

    SHIRO-701 - Update logback
    fpapon authored Jun 10, 2019

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    f9fecba View commit details
  3. Copy the full SHA
    c524d13 View commit details
  4. Merge pull request #146 from fpapon/SHIRO-702

    [SHIRO-702] Upgrade to jacoco-maven-plugin 0.8.4
    fpapon authored Jun 10, 2019

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    b230ea9 View commit details
Showing with 3,135 additions and 1,438 deletions.
  1. +33 −0 .travis.yml
  2. +2 −2 NOTICE
  3. +2 −1 README.md
  4. +7 −3 all/pom.xml
  5. +2 −2 cache/pom.xml
  6. +2 −2 cache/src/main/java/org/apache/shiro/cache/MapCache.java
  7. +2 −2 config/core/pom.xml
  8. +3 −3 config/core/src/main/java/org/apache/shiro/config/Ini.java
  9. +20 −0 config/core/src/test/groovy/org/apache/shiro/config/IniTest.groovy
  10. +2 −2 config/ogdl/pom.xml
  11. +22 −12 config/ogdl/src/main/java/org/apache/shiro/config/ReflectionBuilder.java
  12. +20 −0 config/ogdl/src/test/groovy/org/apache/shiro/config/ReflectionBuilderTest.groovy
  13. +1 −0 config/ogdl/src/test/groovy/org/apache/shiro/config/SimpleBean.groovy
  14. +24 −0 config/ogdl/src/test/groovy/org/apache/shiro/config/SimpleEnum.groovy
  15. +2 −2 config/pom.xml
  16. +6 −3 core/pom.xml
  17. +69 −0 core/src/main/java/org/apache/shiro/authc/BearerToken.java
  18. +12 −2 core/src/main/java/org/apache/shiro/authc/credential/DefaultPasswordService.java
  19. +27 −0 core/src/main/java/org/apache/shiro/authc/pam/FirstSuccessfulStrategy.java
  20. +7 −1 core/src/main/java/org/apache/shiro/authc/pam/ModularRealmAuthenticator.java
  21. +72 −0 core/src/main/java/org/apache/shiro/authc/pam/ShortCircuitIterationException.java
  22. +17 −12 .../spring/ui/WebStartDriver.java → core/src/main/java/org/apache/shiro/env/BasicIniEnvironment.java
  23. +5 −2 core/src/main/java/org/apache/shiro/realm/AuthorizingRealm.java
  24. +21 −3 core/src/main/java/org/apache/shiro/realm/jdbc/JdbcRealm.java
  25. +10 −1 core/src/main/java/org/apache/shiro/session/mgt/ExecutorServiceSessionValidationScheduler.java
  26. +1 −1 core/src/main/java/org/apache/shiro/subject/support/DelegatingSubject.java
  27. +2 −0 core/src/main/java/org/apache/shiro/util/JavaEnvironment.java
  28. +12 −1 core/src/test/groovy/org/apache/shiro/authc/pam/ModularRealmAuthenticatorTest.groovy
  29. +5 −3 core/src/test/groovy/org/apache/shiro/codec/H64Test.groovy
  30. +20 −1 core/src/test/groovy/org/apache/shiro/mgt/DefaultSubjectDAOTest.groovy
  31. +5 −1 core/src/test/groovy/org/apache/shiro/realm/AuthenticatingRealmIntegrationTest.groovy
  32. +17 −1 core/src/test/groovy/org/apache/shiro/realm/AuthenticatingRealmTest.groovy
  33. +9 −1 core/src/test/groovy/org/apache/shiro/realm/CachingRealmTest.groovy
  34. +43 −18 core/src/test/java/org/apache/shiro/authc/pam/FirstSuccessfulStrategyTest.java
  35. +5 −6 core/src/test/java/org/apache/shiro/authz/ModularRealmAuthorizerTest.java
  36. +41 −1 core/src/test/java/org/apache/shiro/authz/permission/WildcardPermissionTest.java
  37. +52 −4 core/src/test/java/org/apache/shiro/realm/AuthorizingRealmTest.java
  38. +48 −9 core/src/test/java/org/apache/shiro/realm/jdbc/JDBCRealmTest.java
  39. +0 −4 core/src/test/java/org/apache/shiro/realm/ldap/DefaultLdapContextFactoryTest.java
  40. +3 −1 core/src/test/java/org/apache/shiro/realm/ldap/JndiLdapContextFactoryTest.java
  41. +104 −0 core/src/test/java/org/apache/shiro/session/mgt/ExecutorServiceSessionValidationSchedulerTest.java
  42. +2 −2 core/src/test/resources/log4j.properties
  43. +9 −2 crypto/cipher/pom.xml
  44. +25 −5 crypto/cipher/src/main/java/org/apache/shiro/crypto/AesCipherService.java
  45. +9 −4 crypto/cipher/src/main/java/org/apache/shiro/crypto/JcaCipherService.java
  46. +132 −28 crypto/cipher/src/test/groovy/org/apache/shiro/crypto/AesCipherServiceTest.groovy
  47. +1 −1 crypto/cipher/src/test/groovy/org/apache/shiro/crypto/BlowfishCipherServiceTest.groovy
  48. +2 −2 crypto/core/pom.xml
  49. +2 −2 crypto/hash/pom.xml
  50. +2 −2 crypto/pom.xml
  51. +2 −2 event/pom.xml
  52. +8 −1 event/src/test/groovy/org/apache/shiro/event/support/AnnotationEventListenerResolverTest.groovy
  53. +19 −3 event/src/test/groovy/org/apache/shiro/event/support/DefaultEventBusTest.groovy
  54. +16 −4 event/src/test/groovy/org/apache/shiro/event/support/EventClassComparatorTest.groovy
  55. +14 −3 event/src/test/groovy/org/apache/shiro/event/support/EventListenerComparatorTest.groovy
  56. +14 −5 integration-tests/guice3/pom.xml
  57. +3 −2 integration-tests/guice3/src/main/resources/log4j.properties
  58. +3 −3 integration-tests/guice3/src/main/webapp/WEB-INF/web.xml
  59. +10 −9 integration-tests/guice4/pom.xml
  60. +3 −2 integration-tests/guice4/src/main/resources/log4j.properties
  61. +3 −3 integration-tests/guice4/src/main/webapp/WEB-INF/web.xml
  62. +6 −2 integration-tests/pom.xml
  63. +43 −5 integration-tests/support/pom.xml
  64. +2 −2 lang/pom.xml
  65. +262 −151 pom.xml
  66. +9 −9 samples/aspectj/pom.xml
  67. +2 −2 samples/aspectj/src/main/java/org/apache/shiro/samples/aspectj/bank/Account.java
  68. +2 −2 samples/aspectj/src/main/java/org/apache/shiro/samples/aspectj/bank/AccountTransaction.java
  69. +36 −36 samples/aspectj/src/test/java/org/apache/shiro/samples/aspectj/bank/SecureBankServiceTest.java
  70. +2 −2 samples/aspectj/src/test/resources/log4j.properties
  71. +10 −5 samples/guice/pom.xml
  72. +3 −2 samples/guice/src/main/resources/log4j.properties
  73. +3 −3 samples/guice/src/main/webapp/WEB-INF/web.xml
  74. +26 −10 samples/jaxrs/pom.xml
  75. +10 −0 samples/jaxrs/src/main/java/org/apache/shiro/samples/jaxrs/resources/HelloResource.java
  76. +2 −1 samples/jaxrs/src/main/resources/logback.xml
  77. +10 −0 samples/jaxrs/src/test/groovy/org/apache/shiro/web/jaxrs/ContainerIntegrationIT.groovy
  78. +6 −3 samples/pom.xml
  79. +2 −2 samples/quickstart-guice/pom.xml
  80. +1 −1 samples/quickstart-guice/src/main/resources/log4j.properties
  81. +3 −3 samples/quickstart/pom.xml
  82. +1 −1 samples/quickstart/src/main/resources/log4j.properties
  83. +32 −10 samples/servlet-plugin/pom.xml
  84. +2 −3 samples/servlet-plugin/src/main/resources/log4j.properties
  85. +3 −3 samples/spring-boot-web/pom.xml
  86. +4 −4 samples/spring-boot-web/src/main/java/org/apache/shiro/samples/RestrictedErrorController.java
  87. +6 −2 samples/spring-boot/pom.xml
  88. +1 −1 samples/spring-boot/src/main/resources/application.properties
  89. +0 −153 samples/spring-client/pom.xml
  90. +0 −158 samples/spring-client/src/main/java/org/apache/shiro/samples/spring/ui/WebStartView.java
  91. BIN samples/spring-client/src/main/jnlp/resources/jsecurity-sample.jks
  92. +0 −53 samples/spring-client/src/main/jnlp/template.vm
  93. BIN samples/spring-client/src/main/resources/logo.png
  94. +0 −49 samples/spring-client/src/main/resources/webstart.spring.xml
  95. +10 −5 samples/spring-hibernate/pom.xml
  96. +1 −1 samples/spring-hibernate/src/main/java/org/apache/shiro/samples/sprhib/model/User.java
  97. +1 −1 samples/spring-hibernate/src/main/resources/log4j.properties
  98. +2 −2 samples/spring-hibernate/src/main/webapp/WEB-INF/applicationContext.xml
  99. +5 −5 samples/spring-hibernate/src/main/webapp/WEB-INF/sprhib-servlet.xml
  100. +3 −5 samples/spring-hibernate/src/main/webapp/WEB-INF/web.xml
  101. +14 −48 samples/spring-mvc/pom.xml
  102. +1 −1 ...les/{spring-client → spring-mvc}/src/main/java/org/apache/shiro/samples/spring/SampleManager.java
  103. +0 −3 ...pring-mvc/src/main/java/org/apache/shiro/samples/spring/config/ServletApplicationInitializer.java
  104. +1 −1 samples/spring-mvc/src/main/resources/log4j.properties
  105. +0 −8 samples/spring-mvc/src/main/webapp/WEB-INF/resources/sampleIndex.jsp
  106. +7 −2 samples/spring/pom.xml
  107. +9 −8 samples/web/pom.xml
  108. +2 −2 samples/web/src/main/resources/log4j.properties
  109. +5 −1 samples/web/src/main/webapp/WEB-INF/shiro.ini
  110. +3 −3 samples/web/src/main/webapp/WEB-INF/web.xml
  111. +6 −8 support/aspectj/pom.xml
  112. +3 −3 support/cas/pom.xml
  113. +13 −1 support/cas/src/test/groovy/org/apache/shiro/cas/CasRealmTest.groovy
  114. +8 −1 support/cas/src/test/groovy/org/apache/shiro/cas/CasTokenTest.groovy
  115. +2 −2 support/ehcache/pom.xml
  116. +123 −0 support/ehcache/src/test/java/org/apache/shiro/cache/ehcache/EhCacheManagerTest.java
  117. +2 −2 support/ehcache/src/test/resources/log4j.properties
  118. +39 −38 support/features/pom.xml
  119. +4 −1 support/features/src/main/resources/features.xml
  120. +10 −2 support/guice/pom.xml
  121. +3 −0 support/guice/src/main/java/org/apache/shiro/guice/web/ShiroWebModule.java
  122. +1 −1 support/guice/src/test/java/org/apache/shiro/guice/BeanTypeListenerTest.java
  123. +1 −1 support/guice/src/test/java/org/apache/shiro/guice/web/FilterConfigTest.java
  124. +2 −2 support/guice/src/test/java/org/apache/shiro/guice/web/SimpleFilterChainTest.java
  125. +1 −1 support/guice/src/test/java/org/apache/shiro/guice/web/WebGuiceEnvironmentTest.java
  126. +2 −2 support/guice/src/test/resources/log4j.properties
  127. +3 −3 support/hazelcast/pom.xml
  128. +2 −2 support/hazelcast/src/test/resources/log4j.properties
  129. +3 −3 support/jaxrs/pom.xml
  130. +2 −2 support/pom.xml
  131. +4 −4 support/quartz/pom.xml
  132. +17 −8 ...rt/quartz/src/main/java/org/apache/shiro/session/mgt/quartz/QuartzSessionValidationScheduler.java
  133. +3 −3 support/servlet-plugin/pom.xml
  134. +3 −1 support/servlet-plugin/src/main/resources/META-INF/web-fragment.xml
  135. +2 −2 support/spring-boot/pom.xml
  136. +3 −3 support/spring-boot/spring-boot-starter/pom.xml
  137. +3 −2 ...rc/test/groovy/org/apache/shiro/spring/boot/autoconfigure/ShiroSpringAutoConfigurationTest.groovy
  138. +1 −1 ...pache/shiro/spring/boot/autoconfigure/{ → application}/ShiroAutoConfigurationTestApplication.java
  139. +2 −2 support/spring-boot/spring-boot-web-starter/pom.xml
  140. +3 −2 .../groovy/org/apache/shiro/spring/boot/autoconfigure/web/ShiroWebSpringAutoConfigurationTest.groovy
  141. +1 −1 ...hiro/spring/boot/autoconfigure/web/{ → application}/ShiroWebAutoConfigurationTestApplication.java
  142. +8 −3 support/spring/pom.xml
  143. +7 −0 .../spring/src/main/java/org/apache/shiro/spring/web/config/AbstractShiroWebFilterConfiguration.java
  144. +1 −0 support/spring/src/test/groovy/org/apache/shiro/spring/config/ShiroBeanConfigurationTest.groovy
  145. +1 −0 support/spring/src/test/groovy/org/apache/shiro/spring/config/ShiroConfigurationTest.groovy
  146. +2 −0 ...rc/test/groovy/org/apache/shiro/spring/config/ShiroConfigurationWithOptionalComponentsTest.groovy
  147. +100 −0 support/spring/src/test/groovy/org/apache/shiro/spring/config/ShiroWebFilterConfigurationTest.groovy
  148. +2 −0 support/spring/src/test/groovy/org/apache/shiro/spring/web/config/ShiroWebConfigurationTest.groovy
  149. +4 −0 ...ring/src/test/groovy/org/apache/shiro/spring/web/config/ShiroWebConfigurationWithCacheTest.groovy
  150. +1 −1 ...c/test/java/org/apache/shiro/spring/{config → testconfig}/EventBusConsumersTestConfiguration.java
  151. +1 −1 ...spring/src/test/java/org/apache/shiro/spring/{config → testconfig}/EventBusTestConfiguration.java
  152. +1 −1 .../test/java/org/apache/shiro/spring/{config → testconfig}/OptionalComponentsTestConfiguration.java
  153. +1 −1 ...rt/spring/src/test/java/org/apache/shiro/spring/{config → testconfig}/RealmTestConfiguration.java
  154. +1 −1 ...ng/src/test/java/org/apache/shiro/spring/web/{config → testconfig}/CacheManagerConfiguration.java
  155. +1 −1 support/spring/src/test/resources/log4j.properties
  156. +2 −2 test-coverage/pom.xml
  157. +3 −3 tools/hasher/pom.xml
  158. +0 −6 tools/hasher/src/main/java/org/apache/shiro/tools/hasher/Hasher.java
  159. +2 −2 tools/pom.xml
  160. +12 −4 web/pom.xml
  161. +12 −1 web/src/main/java/org/apache/shiro/web/filter/PathMatchingFilter.java
  162. +1 −1 web/src/main/java/org/apache/shiro/web/filter/authc/AuthenticationFilter.java
  163. +5 −289 web/src/main/java/org/apache/shiro/web/filter/authc/BasicHttpAuthenticationFilter.java
  164. +101 −0 web/src/main/java/org/apache/shiro/web/filter/authc/BearerHttpAuthenticationFilter.java
  165. +395 −0 web/src/main/java/org/apache/shiro/web/filter/authc/HttpAuthenticationFilter.java
  166. +1 −0 web/src/main/java/org/apache/shiro/web/filter/mgt/DefaultFilter.java
  167. +18 −1 web/src/main/java/org/apache/shiro/web/filter/mgt/PathMatchingFilterChainResolver.java
  168. +1 −1 web/src/main/java/org/apache/shiro/web/servlet/AbstractShiroFilter.java
  169. +10 −0 web/src/main/java/org/apache/shiro/web/servlet/Cookie.java
  170. +1 −1 web/src/main/java/org/apache/shiro/web/servlet/ShiroHttpSession.java
  171. +37 −6 web/src/main/java/org/apache/shiro/web/servlet/SimpleCookie.java
  172. +3 −3 web/src/main/java/org/apache/shiro/web/util/RedirectView.java
  173. +12 −2 web/src/main/java/org/apache/shiro/web/util/WebUtils.java
  174. +17 −1 web/src/test/groovy/org/apache/shiro/web/config/IniFilterChainResolverFactoryTest.groovy
  175. +213 −0 web/src/test/groovy/org/apache/shiro/web/filter/authc/BearerHttpFilterAuthenticationTest.groovy
  176. +24 −1 web/src/test/groovy/org/apache/shiro/web/filter/mgt/DefaultFilterChainManagerTest.groovy
  177. +5 −1 web/src/test/groovy/org/apache/shiro/web/filter/session/NoSessionCreationFilterTest.groovy
  178. +10 −1 web/src/test/groovy/org/apache/shiro/web/mgt/DefaultWebSessionStorageEvaluatorTest.groovy
  179. +6 −1 web/src/test/groovy/org/apache/shiro/web/servlet/AbstractShiroFilterTest.groovy
  180. +9 −2 web/src/test/groovy/org/apache/shiro/web/servlet/IniShiroFilterTest.groovy
  181. +5 −1 web/src/test/groovy/org/apache/shiro/web/servlet/ShiroFilterTest.groovy
  182. +1 −0 web/src/test/groovy/org/apache/shiro/web/session/mgt/DefaultWebSessionManagerTest.groovy
  183. +10 −1 web/src/test/groovy/org/apache/shiro/web/session/mgt/ServletContainerSessionManagerTest.groovy
  184. +34 −0 web/src/test/groovy/org/apache/shiro/web/util/WebUtilsTest.groovy
  185. +2 −2 web/src/test/java/org/apache/shiro/web/config/WebIniSecurityManagerFactoryTest.java
  186. +66 −0 web/src/test/java/org/apache/shiro/web/filter/PathMatchingFilterTest.java
  187. +1 −1 web/src/test/java/org/apache/shiro/web/filter/authz/HttpMethodPermissionFilterTest.java
  188. +100 −4 web/src/test/java/org/apache/shiro/web/filter/mgt/PathMatchingFilterChainResolverTest.java
  189. +16 −17 web/src/test/java/org/apache/shiro/web/mgt/CookieRememberMeManagerTest.java
  190. +5 −1 web/src/test/java/org/apache/shiro/web/servlet/SimpleCookieTest.java
  191. +1 −1 web/src/test/java/org/apache/shiro/web/session/HttpServletSessionTest.java
  192. +2 −2 web/src/test/resources/log4j.properties
33 changes: 33 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.

language: java

jdk:
- openjdk8
#- openjdk11
# Running into a problem with junit-servers-jetty with Java 11

# skip the Travis-CI install phase because Maven handles that directly
install:
- 'true'

script:
- "mvn -e -Pci,docs install apache-rat:check -B -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn"

after_success:
- bash <(curl -s https://codecov.io/bash) -f test-coverage/target/site/jacoco-aggregate/jacoco.xml
4 changes: 2 additions & 2 deletions NOTICE
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
Apache Shiro
Copyright 2008-2012 The Apache Software Foundation
Copyright 2008-2020 The Apache Software Foundation

This product includes software developed at
The Apache Software Foundation (http://www.apache.org/).
@@ -12,4 +12,4 @@ with continued modifications.
Certain parts (StringUtils etc.) of the source code for this
product was copied for simplicity and to reduce dependencies
from the source code developed by the Spring Framework Project
(http://www.springframework.org).
(http://www.springframework.org).
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
[<img src="http://shiro.apache.org/assets/images/apache-shiro-logo.png" align="right" />](http://shiro.apache.org)

[![Build Status](https://builds.apache.org/job/Shiro-master/badge/icon)](https://builds.apache.org/job/Shiro-master)
[![Maven Central](https://img.shields.io/maven-central/v/org.apache.shiro/shiro-core.svg)]()
[![Build Status](https://builds.apache.org/job/Shiro-master/badge/icon)](https://builds.apache.org/job/Shiro-master)
[![Jenkins tests](https://img.shields.io/jenkins/tests/https/builds.apache.org/view/S-Z/view/Shiro/job/Shiro-master.svg?compact_message)](https://builds.apache.org/view/S-Z/view/Shiro/job/Shiro-master/test_results_analyzer/)

Apache Shiro
============
10 changes: 7 additions & 3 deletions all/pom.xml
Original file line number Diff line number Diff line change
@@ -17,12 +17,12 @@
~ specific language governing permissions and limitations
~ under the License.
-->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/maven-v4_0_0.xsd">

<parent>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-root</artifactId>
<version>1.4.2-SNAPSHOT</version>
<version>1.5.2</version>
<relativePath>../pom.xml</relativePath>
</parent>

@@ -73,6 +73,10 @@
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-aspectj</artifactId>
</dependency>
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-cache</artifactId>
</dependency>
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-ehcache</artifactId>
@@ -99,7 +103,7 @@
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.6</version>
<version>3.1.0</version>
<configuration>
<descriptors>
<descriptor>src/main/assembly/assembly.xml</descriptor>
4 changes: 2 additions & 2 deletions cache/pom.xml
Original file line number Diff line number Diff line change
@@ -17,12 +17,12 @@
~ specific language governing permissions and limitations
~ under the License.
-->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/maven-v4_0_0.xsd">

<parent>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-root</artifactId>
<version>1.4.2-SNAPSHOT</version>
<version>1.5.2</version>
<relativePath>../pom.xml</relativePath>
</parent>

4 changes: 2 additions & 2 deletions cache/src/main/java/org/apache/shiro/cache/MapCache.java
Original file line number Diff line number Diff line change
@@ -82,10 +82,10 @@ public Set<K> keys() {

public Collection<V> values() {
Collection<V> values = map.values();
if (!map.isEmpty()) {
if (!values.isEmpty()) {
return Collections.unmodifiableCollection(values);
}
return Collections.emptySet();
return Collections.emptyList();
}

public String toString() {
4 changes: 2 additions & 2 deletions config/core/pom.xml
Original file line number Diff line number Diff line change
@@ -17,12 +17,12 @@
~ specific language governing permissions and limitations
~ under the License.
-->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/maven-v4_0_0.xsd">

<parent>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-config</artifactId>
<version>1.4.2-SNAPSHOT</version>
<version>1.5.2</version>
<relativePath>../pom.xml</relativePath>
</parent>

6 changes: 3 additions & 3 deletions config/core/src/main/java/org/apache/shiro/config/Ini.java
Original file line number Diff line number Diff line change
@@ -561,7 +561,7 @@ private static boolean isKeyValueSeparatorChar(char c) {
}

private static boolean isCharEscaped(CharSequence s, int index) {
return index > 0 && s.charAt(index - 1) == ESCAPE_TOKEN;
return index > 0 && s.charAt(index) == ESCAPE_TOKEN;
}

//Protected to access in a test case - NOT considered part of Shiro's public API
@@ -581,13 +581,13 @@ protected static String[] splitKeyValue(String keyValueLine) {
if (buildingKey) {
if (isKeyValueSeparatorChar(c) && !isCharEscaped(line, i)) {
buildingKey = false;//now start building the value
} else {
} else if (!isCharEscaped(line, i)){
keyBuffer.append(c);
}
} else {
if (valueBuffer.length() == 0 && isKeyValueSeparatorChar(c) && !isCharEscaped(line, i)) {
//swallow the separator chars before we start building the value
} else {
} else if (!isCharEscaped(line, i)){
valueBuffer.append(c);
}
}
20 changes: 20 additions & 0 deletions config/core/src/test/groovy/org/apache/shiro/config/IniTest.groovy
Original file line number Diff line number Diff line change
@@ -118,6 +118,26 @@ public class IniTest {
kv = Ini.Section.splitKeyValue(test);
assertEquals("Truth", kv[0]);
assertEquals("Beauty", kv[1]);

test = "Tru\\th=Beauty";
kv = Ini.Section.splitKeyValue(test);
assertEquals("Truth", kv[0]);
assertEquals("Beauty", kv[1]);

test = "Truth\\=Beauty";
kv = Ini.Section.splitKeyValue(test);
assertEquals("Truth", kv[0]);
assertEquals("Beauty", kv[1]);

test = "Truth=Beau\\ty";
kv = Ini.Section.splitKeyValue(test);
assertEquals("Truth", kv[0]);
assertEquals("Beauty", kv[1]);

test = "Truth=Beauty\\";
kv = Ini.Section.splitKeyValue(test);
assertEquals("Truth", kv[0]);
assertEquals("Beauty", kv[1]);
}

@Test(expected = IllegalArgumentException.class)
4 changes: 2 additions & 2 deletions config/ogdl/pom.xml
Original file line number Diff line number Diff line change
@@ -17,12 +17,12 @@
~ specific language governing permissions and limitations
~ under the License.
-->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/maven-v4_0_0.xsd">

<parent>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-config</artifactId>
<version>1.4.2-SNAPSHOT</version>
<version>1.5.2</version>
<relativePath>../pom.xml</relativePath>
</parent>

Original file line number Diff line number Diff line change
@@ -18,7 +18,18 @@
*/
package org.apache.shiro.config;

import java.beans.PropertyDescriptor;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.LinkedHashMap;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import org.apache.commons.beanutils.BeanUtilsBean;
import org.apache.commons.beanutils.ConvertUtilsBean;
import org.apache.commons.beanutils.SuppressPropertiesBeanIntrospector;
import org.apache.shiro.codec.Base64;
import org.apache.shiro.codec.Hex;
@@ -41,17 +52,6 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.beans.PropertyDescriptor;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.LinkedHashMap;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;


/**
* Object builder that uses reflection and Apache Commons BeanUtils to build objects given a
@@ -123,7 +123,17 @@ public ReflectionBuilder() {
public ReflectionBuilder(Map<String, ?> defaults) {

// SHIRO-619
beanUtilsBean = new BeanUtilsBean();
// SHIRO-739
beanUtilsBean = new BeanUtilsBean(new ConvertUtilsBean() {
@Override
public Object convert(String value, Class clazz) {
if (clazz.isEnum()){
return Enum.valueOf(clazz, value);
}else{
return super.convert(value, clazz);
}
}
});
beanUtilsBean.getPropertyUtils().addBeanIntrospector(SuppressPropertiesBeanIntrospector.SUPPRESS_CLASS);

this.interpolator = createInterpolator();
Original file line number Diff line number Diff line change
@@ -561,6 +561,26 @@ class ReflectionBuilderTest {
assertDestroyedEvents("listenerTwo", objects, 3); //2 beans defined after it + its own destroyed event
}

/**
* SHIRO-739
*/
@Test
void testEnum() {
def ini = new Ini()
ini.load '''
simpleBean = org.apache.shiro.config.SimpleBean
simpleBean.name = testEnum
simpleBean.simpleEnum = FOO
'''

ReflectionBuilder builder = new ReflectionBuilder();
Map<String, ?> objects = builder.buildObjects(ini.getSections().iterator().next());
assertThat(objects, aMapWithSize(greaterThan(0)))

SimpleBean bean = objects.get("simpleBean")
assertThat(bean.name, is("testEnum"))
assertThat(bean.simpleEnum, is(SimpleEnum.FOO))
}

/**
* @since 1.4
Original file line number Diff line number Diff line change
@@ -27,6 +27,7 @@ class SimpleBean {
List<SimpleBean> simpleBeans;
List<String> stringList;
Map<String,Object> mapProp = new LinkedHashMap<String,Object>();
SimpleEnum simpleEnum;

public SimpleBean(){}
public SimpleBean(String name) {
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.shiro.config

enum SimpleEnum {
FOO,
BAR
}
4 changes: 2 additions & 2 deletions config/pom.xml
Original file line number Diff line number Diff line change
@@ -17,14 +17,14 @@
~ specific language governing permissions and limitations
~ under the License.
-->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/maven-v4_0_0.xsd">

<modelVersion>4.0.0</modelVersion>

<parent>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-root</artifactId>
<version>1.4.2-SNAPSHOT</version>
<version>1.5.2</version>
<relativePath>../pom.xml</relativePath>
</parent>

9 changes: 6 additions & 3 deletions core/pom.xml
Original file line number Diff line number Diff line change
@@ -17,12 +17,12 @@
~ specific language governing permissions and limitations
~ under the License.
-->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/maven-v4_0_0.xsd">

<parent>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-root</artifactId>
<version>1.4.2-SNAPSHOT</version>
<version>1.5.2</version>
<relativePath>../pom.xml</relativePath>
</parent>

@@ -59,6 +59,9 @@
org.apache.commons.configuration2*;resolution:=optional,
*
</Import-Package>
<DynamicImport-Package>
org.apache.shiro.*
</DynamicImport-Package>
</instructions>
</configuration>
</plugin>
@@ -110,7 +113,7 @@
</dependency>
<!-- JDBC Realm tests: -->
<dependency>
<groupId>hsqldb</groupId>
<groupId>org.hsqldb</groupId>
<artifactId>hsqldb</artifactId>
<scope>test</scope>
</dependency>
Loading