[logback] 02/02: Import Debian changes 1:1.1.2-1+deb8u1

Markus Koschany apo at moszumanska.debian.org
Fri Apr 7 14:27:36 UTC 2017


This is an automated email from the git hooks/post-receive script.

apo pushed a commit to branch jessie
in repository logback.

commit d88f6cd125cb5e9f7965f29b27ec05b5239ca40b
Merge: 0183e8d 2aba0b0
Author: Markus Koschany <apo at debian.org>
Date:   Fri Apr 7 15:48:29 2017 +0200

    Import Debian changes 1:1.1.2-1+deb8u1
    
    logback (1:1.1.2-1+deb8u1) jessie; urgency=high
    
      * Team upload.
      * Fix CVE-2017-5929:
        It was discovered that logback, a flexible logging library for Java, would
        deserialize data from untrusted sockets. This issue has been resolved by
        adding a whitelist to use only trusted classes. (Closes: #857343)

 LICENSE.txt                                        |   15 +
 README.txt                                         |   21 +
 debian/changelog                                   |   10 +
 debian/patches/CVE-2017-5929.patch                 |  364 ++
 debian/patches/series                              |    1 +
 docs/.htaccess                                     |    3 +
 docs/access.html                                   |  607 +++
 docs/beagle/images/beagleFeature.png               |  Bin 0 -> 16874 bytes
 docs/beagle/images/beagleSample.png                |  Bin 0 -> 37986 bytes
 docs/beagle/images/beagleView0.png                 |  Bin 0 -> 2093 bytes
 docs/beagle/images/callerData-jump.png             |  Bin 0 -> 15024 bytes
 docs/beagle/images/callerData.png                  |  Bin 0 -> 10848 bytes
 docs/beagle/images/font.png                        |  Bin 0 -> 57302 bytes
 docs/beagle/images/menu.png                        |  Bin 0 -> 6263 bytes
 docs/beagle/images/nebulaFeature.png               |  Bin 0 -> 44392 bytes
 docs/beagle/images/play_doc.gif                    |  Bin 0 -> 598 bytes
 docs/beagle/images/preferences.png                 |  Bin 0 -> 38884 bytes
 docs/beagle/images/sailing-ship-128x128.png        |  Bin 0 -> 18587 bytes
 docs/beagle/images/sailing-ship-16x16.png          |  Bin 0 -> 498 bytes
 docs/beagle/images/sailing-ship-32x32.png          |  Bin 0 -> 2276 bytes
 docs/beagle/images/sailing-ship-48x48.png          |  Bin 0 -> 4073 bytes
 docs/beagle/index.html                             |  193 +
 docs/bridge.html                                   |   38 +
 docs/bugreport.html                                |   91 +
 docs/cla.txt                                       |  124 +
 docs/codes.html                                    |  690 +++
 docs/css/_print.css                                |   30 +
 docs/css/anchor12.png                              |  Bin 0 -> 624 bytes
 docs/css/anchor16.png                              |  Bin 0 -> 945 bytes
 docs/css/anchor20.png                              |  Bin 0 -> 1212 bytes
 docs/css/anchor24.png                              |  Bin 0 -> 1630 bytes
 docs/css/common.css                                |  311 ++
 docs/css/maven-base.css                            |  151 +
 docs/css/maven-theme.css                           |  141 +
 docs/css/popup.css                                 |   67 +
 docs/css/prettify.css                              |   27 +
 docs/css/print.css                                 |    7 +
 docs/css/screen.css                                |  220 +
 docs/css/site.css                                  |    1 +
 docs/deadlock.html                                 |   79 +
 docs/demo.html                                     |  490 +++
 docs/dependencies.html                             |  220 +
 docs/documentation.html                            |  170 +
 docs/download.html                                 |  171 +
 docs/faq.html                                      |  359 ++
 docs/images/collapsed.gif                          |  Bin 0 -> 53 bytes
 docs/images/cyclicView.png                         |  Bin 0 -> 37943 bytes
 docs/images/expanded.gif                           |  Bin 0 -> 52 bytes
 docs/images/external.png                           |  Bin 0 -> 230 bytes
 docs/images/helpEMAIL.gif                          |  Bin 0 -> 1359 bytes
 docs/images/icon_error_sml.gif                     |  Bin 0 -> 1010 bytes
 docs/images/icon_info_sml.gif                      |  Bin 0 -> 606 bytes
 docs/images/icon_success_sml.gif                   |  Bin 0 -> 990 bytes
 docs/images/icon_warning_sml.gif                   |  Bin 0 -> 576 bytes
 docs/images/lbAccessStatus.jpg                     |  Bin 0 -> 145740 bytes
 docs/images/logos/build-by-maven-black.png         |  Bin 0 -> 2294 bytes
 docs/images/logos/build-by-maven-white.png         |  Bin 0 -> 2260 bytes
 docs/images/logos/lblogo-150.jpg                   |  Bin 0 -> 16605 bytes
 docs/images/logos/lblogo-200.jpg                   |  Bin 0 -> 20874 bytes
 docs/images/logos/lblogo-40.jpg                    |  Bin 0 -> 8716 bytes
 docs/images/logos/lblogo.jpg                       |  Bin 0 -> 45331 bytes
 docs/images/logos/maven-feather.png                |  Bin 0 -> 3330 bytes
 docs/images/logos/qosLogo.png                      |  Bin 0 -> 3370 bytes
 docs/images/myjob.png                              |  Bin 0 -> 2468 bytes
 docs/images/newwindow.png                          |  Bin 0 -> 220 bytes
 docs/images/plugin/buttons.gif                     |  Bin 0 -> 1318 bytes
 docs/images/plugin/createFilter.gif                |  Bin 0 -> 12785 bytes
 docs/images/plugin/filterWindow.gif                |  Bin 0 -> 11623 bytes
 docs/images/plugin/prefs.gif                       |  Bin 0 -> 8762 bytes
 docs/images/plugin/sampleLogs.gif                  |  Bin 0 -> 11397 bytes
 docs/images/plugin/stackTrace.gif                  |  Bin 0 -> 8562 bytes
 docs/images/qoslogo.gif                            |  Bin 0 -> 1633 bytes
 docs/images/turboFilterForMDC.png                  |  Bin 0 -> 26505 bytes
 docs/index.html                                    |  138 +
 docs/job.html                                      |   77 +
 docs/js/decorator.js                               |  100 +
 docs/js/dsl.js                                     |   39 +
 docs/js/jquery.cookies.2.2.0.js                    |  450 ++
 docs/js/popup.js                                   |  102 +
 docs/js/prettify.js                                | 1478 +++++++
 docs/license.html                                  |   81 +
 docs/logback-2011.ppt                              |  Bin 0 -> 281600 bytes
 docs/logback.ppt                                   |  Bin 0 -> 236032 bytes
 docs/mailinglist.html                              |  175 +
 docs/manual/.htaccess                              |    2 +
 docs/manual/appenders.html                         | 4454 ++++++++++++++++++++
 docs/manual/architecture.html                      |  934 ++++
 docs/manual/configuration.html                     | 1980 +++++++++
 docs/manual/encoders.html                          |  261 ++
 docs/manual/filters.html                           | 1198 ++++++
 docs/manual/groovy.html                            |  544 +++
 docs/manual/images/chapters/appenders/appender.uml | 1179 ++++++
 docs/manual/images/chapters/appenders/appender.~ml |  865 ++++
 .../chapters/appenders/appenderClassDiagram.jpg    |  Bin 0 -> 71199 bytes
 .../images/chapters/appenders/dbAppenderLE.gif     |  Bin 0 -> 31272 bytes
 .../chapters/appenders/dbAppenderLEException.gif   |  Bin 0 -> 3861 bytes
 .../chapters/appenders/dbAppenderLEProperty.gif    |  Bin 0 -> 3820 bytes
 .../images/chapters/appenders/fileAppenderUML.png  |  Bin 0 -> 6684 bytes
 .../images/chapters/appenders/smtpAppender1.jpg    |  Bin 0 -> 226207 bytes
 .../images/chapters/appenders/smtpAppender2.jpg    |  Bin 0 -> 244223 bytes
 .../architecture/underTheHoodSequence2.gif         |  Bin 0 -> 71138 bytes
 .../architecture/underTheHoodSequence2_small.gif   |  Bin 0 -> 23063 bytes
 .../chapters/configuration/appenderSyntax.png      |  Bin 0 -> 4541 bytes
 .../images/chapters/configuration/basicSyntax.png  |  Bin 0 -> 2950 bytes
 .../chapters/configuration/lbClassicStatus.jpg     |  Bin 0 -> 176313 bytes
 .../images/chapters/filters/countingFilter.png     |  Bin 0 -> 89406 bytes
 .../manual/images/chapters/filters/filterChain.gif |  Bin 0 -> 1226 bytes
 .../chapters/jmxConfigurator/jconsole15_jetty.gif  |  Bin 0 -> 9796 bytes
 .../chapters/jmxConfigurator/jconsole15_tomcat.gif |  Bin 0 -> 9741 bytes
 .../chapters/jmxConfigurator/jmxConfigurator.gif   |  Bin 0 -> 33445 bytes
 .../images/chapters/jmxConfigurator/multiple.gif   |  Bin 0 -> 22501 bytes
 .../images/chapters/jmxConfigurator/mx4j_jetty.gif |  Bin 0 -> 26973 bytes
 .../chapters/jmxConfigurator/mx4j_tomcat.gif       |  Bin 0 -> 27657 bytes
 .../images/chapters/jmxConfigurator/statusList.gif |  Bin 0 -> 36223 bytes
 .../manual/images/chapters/layouts/htmlLayout0.gif |  Bin 0 -> 9841 bytes
 .../manual/images/chapters/layouts/htmlLayout1.png |  Bin 0 -> 21825 bytes
 .../images/chapters/layouts/htmlLayoutAccess.gif   |  Bin 0 -> 148822 bytes
 .../chapters/receivers/serverSocketReceiver.png    |  Bin 0 -> 13715 bytes
 .../images/chapters/receivers/socketReceiver.png   |  Bin 0 -> 14043 bytes
 docs/manual/index.html                             |  129 +
 docs/manual/introduction.html                      |  252 ++
 docs/manual/jmxConfig.html                         |  403 ++
 docs/manual/layouts.html                           | 2269 ++++++++++
 docs/manual/loggingSeparation.html                 |  506 +++
 docs/manual/mdc.html                               |  748 ++++
 docs/manual/menu.js                                |   17 +
 docs/manual/migrationFromLog4j.html                |  219 +
 docs/manual/onJoran.html                           |  784 ++++
 docs/manual/receivers.html                         |  541 +++
 docs/manual/underTheHood.html                      |   15 +
 docs/manual/usingSSL.html                          | 1294 ++++++
 docs/news.html                                     | 2619 ++++++++++++
 docs/project-reports.html                          |  110 +
 docs/reasonsToSwitch.html                          |  279 ++
 docs/recipes/captureHttp.html                      |  260 ++
 docs/recipes/emailPerTransaction.html              |  445 ++
 docs/recipes/images/factorEmail0.png               |  Bin 0 -> 51648 bytes
 docs/recipes/index.html                            |   43 +
 docs/repos.html                                    |   47 +
 docs/setup.html                                    |  289 ++
 docs/slf4j-slides.vsd                              |  Bin 0 -> 108032 bytes
 docs/support.html                                  |   56 +
 docs/templates/creative.js                         |   33 +
 docs/templates/footer.js                           |   27 +
 docs/templates/header.js                           |   13 +
 docs/templates/left.js                             |   31 +
 docs/templates/right.js                            |   19 +
 docs/templates/setup.js                            |    8 +
 docs/volunteer.html                                |  137 +
 logback-access/pom.xml                             |  209 +
 .../ch/qos/logback/access/AccessConstants.java     |   32 +
 .../java/ch/qos/logback/access/PatternLayout.java  |  215 +
 .../qos/logback/access/PatternLayoutEncoder.java   |   32 +
 .../logback/access/ViewStatusMessagesServlet.java  |   51 +
 .../access/boolex/JaninoEventEvaluator.java        |   81 +
 .../java/ch/qos/logback/access/db/DBAppender.java  |  146 +
 .../java/ch/qos/logback/access/db/package.html     |   23 +
 .../java/ch/qos/logback/access/db/script/db2.sql   |   42 +
 .../java/ch/qos/logback/access/db/script/db2l.sql  |   32 +
 .../ch/qos/logback/access/db/script/hsqldb.sql     |   34 +
 .../qos/logback/access/db/script/msSQLServer.sql   |   37 +
 .../java/ch/qos/logback/access/db/script/mysql.sql |   44 +
 .../ch/qos/logback/access/db/script/oracle.sql     |   56 +
 .../ch/qos/logback/access/db/script/postgresql.sql |   39 +
 .../qos/logback/access/filter/CountingFilter.java  |   83 +
 .../qos/logback/access/filter/PeriodicStats.java   |   65 +
 .../qos/logback/access/filter/StatisticalView.java |   39 +
 .../logback/access/filter/StatisticalViewImpl.java |  116 +
 .../ch/qos/logback/access/filter/StatsByDay.java   |   33 +
 .../ch/qos/logback/access/filter/StatsByHour.java  |   33 +
 .../qos/logback/access/filter/StatsByMinute.java   |   33 +
 .../ch/qos/logback/access/filter/StatsByMonth.java |   33 +
 .../ch/qos/logback/access/filter/StatsByWeek.java  |   32 +
 .../qos/logback/access/html/DefaultCssBuilder.java |   80 +
 .../ch/qos/logback/access/html/HTMLLayout.java     |   99 +
 .../ch/qos/logback/access/html/UrlCssBuilder.java  |   43 +
 .../java/ch/qos/logback/access/html/package.html   |   13 +
 .../logback/access/jetty/JettyServerAdapter.java   |   65 +
 .../qos/logback/access/jetty/RequestLogImpl.java   |  304 ++
 .../logback/access/jetty/RequestLogRegistry.java   |   32 +
 .../java/ch/qos/logback/access/jetty/package.html  |   13 +
 .../logback/access/joran/JoranConfigurator.java    |   81 +
 .../access/joran/action/ConfigurationAction.java   |   56 +
 .../access/joran/action/EvaluatorAction.java       |   25 +
 .../java/ch/qos/logback/access/joran/package.html  |   13 +
 .../AccessEventPreSerializationTransformer.java    |   33 +
 .../ch/qos/logback/access/net/SMTPAppender.java    |   93 +
 .../qos/logback/access/net/SSLSocketAppender.java  |   47 +
 .../qos/logback/access/net/SimpleSocketServer.java |  101 +
 .../ch/qos/logback/access/net/SocketAppender.java  |   50 +
 .../java/ch/qos/logback/access/net/SocketNode.java |   89 +
 .../ch/qos/logback/access/net/URLEvaluator.java    |   69 +
 .../access/net/server/SSLServerSocketAppender.java |   44 +
 .../access/net/server/ServerSocketAppender.java    |   44 +
 .../ch/qos/logback/access/net/server/package.html  |   14 +
 .../main/java/ch/qos/logback/access/package.html   |   13 +
 .../logback/access/pattern/AccessConverter.java    |   67 +
 .../access/pattern/ContentLengthConverter.java     |   29 +
 .../qos/logback/access/pattern/DateConverter.java  |   63 +
 .../access/pattern/ElapsedTimeConverter.java       |   24 +
 .../access/pattern/EnsureLineSeparation.java       |   38 +
 .../access/pattern/FullRequestConverter.java       |   51 +
 .../access/pattern/FullResponseConverter.java      |   91 +
 .../access/pattern/LineSeparatorConverter.java     |   25 +
 .../access/pattern/LocalIPAddressConverter.java    |   37 +
 .../logback/access/pattern/LocalPortConverter.java |   24 +
 .../ch/qos/logback/access/pattern/NAConverter.java |   30 +
 .../access/pattern/RemoteHostConverter.java        |   25 +
 .../access/pattern/RemoteIPAddressConverter.java   |   24 +
 .../access/pattern/RemoteUserConverter.java        |   31 +
 .../access/pattern/RequestAttributeConverter.java  |   41 +
 .../access/pattern/RequestContentConverter.java    |   34 +
 .../access/pattern/RequestCookieConverter.java     |   40 +
 .../access/pattern/RequestHeaderConverter.java     |   45 +
 .../access/pattern/RequestMethodConverter.java     |   24 +
 .../access/pattern/RequestParameterConverter.java  |   49 +
 .../access/pattern/RequestProtocolConverter.java   |   24 +
 .../access/pattern/RequestURIConverter.java        |   29 +
 .../access/pattern/RequestURLConverter.java        |   28 +
 .../access/pattern/ResponseContentConverter.java   |   34 +
 .../access/pattern/ResponseHeaderConverter.java    |   51 +
 .../access/pattern/ServerNameConverter.java        |   23 +
 .../access/pattern/StatusCodeConverter.java        |   24 +
 .../ch/qos/logback/access/pattern/package.html     |   13 +
 .../ch/qos/logback/access/servlet/TeeFilter.java   |  139 +
 .../access/servlet/TeeHttpServletRequest.java      |   82 +
 .../access/servlet/TeeHttpServletResponse.java     |   75 +
 .../access/servlet/TeeServletInputStream.java      |   75 +
 .../access/servlet/TeeServletOutputStream.java     |   88 +
 .../java/ch/qos/logback/access/servlet/Util.java   |   45 +
 .../access/sift/AccessEventDiscriminator.java      |  190 +
 .../access/sift/AppenderFactoryUsingJoran.java     |   35 +
 .../ch/qos/logback/access/sift/SiftAction.java     |   61 +
 .../qos/logback/access/sift/SiftingAppender.java   |   53 +
 .../access/sift/SiftingJoranConfigurator.java      |   73 +
 .../ch/qos/logback/access/spi/AccessContext.java   |   87 +
 .../ch/qos/logback/access/spi/AccessEvent.java     |  504 +++
 .../ch/qos/logback/access/spi/IAccessEvent.java    |  123 +
 .../ch/qos/logback/access/spi/ServerAdapter.java   |   31 +
 .../main/java/ch/qos/logback/access/spi/Util.java  |   35 +
 .../java/ch/qos/logback/access/spi/package.html    |   13 +
 .../ch/qos/logback/access/tomcat/LogbackValve.java |  335 ++
 .../logback/access/tomcat/TomcatServerAdapter.java |   58 +
 .../java/ch/qos/logback/access/tomcat/package.html |   13 +
 .../input/integration/db/mysql-with-driver.xml     |   17 +
 .../input/integration/db/oracle10g-with-driver.xml |   17 +
 .../input/integration/db/oracle11g-with-driver.xml |   17 +
 .../integration/db/postgresql-with-driver.xml      |   16 +
 .../input/integration/db/sqlserver-with-driver.xml |   16 +
 logback-access/src/test/input/jetty/sifting.xml    |   17 +
 .../input/joran/conditional/conditionalConsole.xml |   17 +
 .../joran/conditional/conditionalConsole_ELSE.xml  |   20 +
 .../src/test/input/joran/defaultLayout.xml         |   13 +
 logback-access/src/test/input/joran/smoke.xml      |    5 +
 .../java/ch/qos/logback/access/AllAccessTest.java  |   33 +
 .../java/ch/qos/logback/access/TeztConstants.java  |   19 +
 .../access/boolex/JaninoEventEvaluatorTest.java    |   79 +
 .../ch/qos/logback/access/boolex/PackageTest.java  |   24 +
 .../qos/logback/access/db/DBAppenderHSQLTest.java  |  224 +
 .../access/db/DBAppenderHSQLTestFixture.java       |  128 +
 .../access/db/DBAppenderIntegrationTest.java       |  138 +
 .../java/ch/qos/logback/access/db/PackageTest.java |   23 +
 .../access/dummy/DummyAccessEventBuilder.java      |   30 +
 .../ch/qos/logback/access/dummy/DummyRequest.java  |  319 ++
 .../ch/qos/logback/access/dummy/DummyResponse.java |  176 +
 .../logback/access/dummy/DummyServerAdapter.java   |   46 +
 .../ch/qos/logback/access/filter/PackageTest.java  |   25 +
 .../qos/logback/access/filter/StatsByDayTest.java  |   76 +
 .../qos/logback/access/jetty/JettyBasicTest.java   |  128 +
 .../qos/logback/access/jetty/JettyFixtureBase.java |  101 +
 .../JettyFixtureWithListAndConsoleAppenders.java   |   59 +
 .../ch/qos/logback/access/jetty/PackageTest.java   |   24 +
 .../qos/logback/access/joran/ConditionalTest.java  |   95 +
 .../access/joran/JoranConfiguratorTest.java        |   77 +
 .../ch/qos/logback/access/joran/PackageTest.java   |   25 +
 .../ch/qos/logback/access/net/NOPOutputStream.java |   27 +
 .../ch/qos/logback/access/net/PackageTest.java     |   25 +
 .../logback/access/net/SerializationPerfTest.java  |  108 +
 .../qos/logback/access/net/URLEvaluatorTest.java   |   83 +
 .../qos/logback/access/pattern/ConverterTest.java  |  200 +
 .../ch/qos/logback/access/pattern/PackageTest.java |   25 +
 .../ch/qos/logback/access/servlet/PackageTest.java |   24 +
 .../qos/logback/access/servlet/TeeFilterTest.java  |   68 +
 .../ch/qos/logback/access/sift/PackageTest.java    |   24 +
 .../logback/access/sift/SiftingAppenderTest.java   |   93 +
 .../access/spi/AccessEventSerializationTest.java   |   76 +
 .../ch/qos/logback/access/spi/PackageTest.java     |   25 +
 .../access/testUtil/NotifyingListAppender.java     |   32 +
 logback-classic/integration.xml                    |   52 +
 logback-classic/osgi-build.xml                     |   97 +
 logback-classic/pom.xml                            |  405 ++
 logback-classic/src/IBUNDLE-META-INF/MANIFEST.MF   |   15 +
 .../classic/boolex/EvaluatorTemplate.groovy        |   39 +
 .../logback/classic/gaffer/AppenderDelegate.groovy |   29 +
 .../classic/gaffer/AsyncAppenderDelegate.groovy    |   30 +
 .../classic/gaffer/ComponentDelegate.groovy        |  152 +
 .../classic/gaffer/ConfigurationContributor.groovy |   31 +
 .../classic/gaffer/ConfigurationDelegate.groovy    |  246 ++
 .../classic/gaffer/GafferConfigurator.groovy       |  103 +
 .../qos/logback/classic/gaffer/NestedType.groovy   |   23 +
 .../qos/logback/classic/gaffer/PropertyUtil.groovy |   72 +
 .../java/ch/qos/logback/classic/AsyncAppender.java |   58 +
 .../ch/qos/logback/classic/BasicConfigurator.java  |   62 +
 .../ch/qos/logback/classic/ClassicConstants.java   |   50 +
 .../main/java/ch/qos/logback/classic/Level.java    |  298 ++
 .../main/java/ch/qos/logback/classic/Logger.java   |  802 ++++
 .../java/ch/qos/logback/classic/LoggerContext.java |  367 ++
 .../java/ch/qos/logback/classic/PatternLayout.java |  156 +
 .../logback/classic/ViewStatusMessagesServlet.java |   42 +
 .../logback/classic/boolex/GEventEvaluator.java    |   90 +
 .../ch/qos/logback/classic/boolex/IEvaluator.java  |   26 +
 .../classic/boolex/JaninoEventEvaluator.java       |  154 +
 .../logback/classic/boolex/OnErrorEvaluator.java   |   38 +
 .../logback/classic/boolex/OnMarkerEvaluator.java  |   58 +
 .../java/ch/qos/logback/classic/db/DBAppender.java |  313 ++
 .../java/ch/qos/logback/classic/db/DBHelper.java   |   47 +
 .../java/ch/qos/logback/classic/db/SQLBuilder.java |   64 +
 .../qos/logback/classic/db/names/ColumnName.java   |   41 +
 .../logback/classic/db/names/DBNameResolver.java   |   32 +
 .../classic/db/names/DefaultDBNameResolver.java    |   34 +
 .../classic/db/names/SimpleDBNameResolver.java     |   55 +
 .../ch/qos/logback/classic/db/names/TableName.java |   26 +
 .../java/ch/qos/logback/classic/db/package.html    |   23 +
 .../java/ch/qos/logback/classic/db/script/db2.sql  |   56 +
 .../java/ch/qos/logback/classic/db/script/h2.sql   |   46 +
 .../ch/qos/logback/classic/db/script/hsqldb.sql    |   46 +
 .../ch/qos/logback/classic/db/script/mssql.sql     |   53 +
 .../ch/qos/logback/classic/db/script/mysql.sql     |   61 +
 .../ch/qos/logback/classic/db/script/oracle.sql    |   80 +
 .../qos/logback/classic/db/script/postgresql.sql   |   55 +
 .../ch/qos/logback/classic/db/script/sqllite.sql   |   61 +
 .../classic/db/script/sybaseSqlAnywhere.sql        |   48 +
 .../classic/encoder/PatternLayoutEncoder.java      |   33 +
 .../ch/qos/logback/classic/filter/LevelFilter.java |   57 +
 .../logback/classic/filter/ThresholdFilter.java    |   61 +
 .../ch/qos/logback/classic/gaffer/GafferUtil.java  |   80 +
 .../classic/helpers/MDCInsertingServletFilter.java |   92 +
 .../ch/qos/logback/classic/helpers/package.html    |   13 +
 .../logback/classic/html/DefaultCssBuilder.java    |   75 +
 .../classic/html/DefaultThrowableRenderer.java     |   68 +
 .../ch/qos/logback/classic/html/HTMLLayout.java    |  142 +
 .../ch/qos/logback/classic/html/UrlCssBuilder.java |   43 +
 .../java/ch/qos/logback/classic/html/package.html  |   13 +
 .../qos/logback/classic/jmx/JMXConfigurator.java   |  300 ++
 .../logback/classic/jmx/JMXConfiguratorMBean.java  |   39 +
 .../java/ch/qos/logback/classic/jmx/MBeanUtil.java |   90 +
 .../logback/classic/joran/JoranConfigurator.java   |   96 +
 .../classic/joran/action/ConfigurationAction.java  |  109 +
 .../classic/joran/action/ConsolePluginAction.java  |   64 +
 .../classic/joran/action/ContextNameAction.java    |   40 +
 .../classic/joran/action/EvaluatorAction.java      |   23 +
 .../classic/joran/action/InsertFromJNDIAction.java |   84 +
 .../joran/action/JMXConfiguratorAction.java        |   89 +
 .../logback/classic/joran/action/LevelAction.java  |   67 +
 .../logback/classic/joran/action/LoggerAction.java |   95 +
 .../joran/action/LoggerContextListenerAction.java  |   82 +
 .../classic/joran/action/ReceiverAction.java       |   81 +
 .../classic/joran/action/RootLoggerAction.java     |   61 +
 .../java/ch/qos/logback/classic/joran/package.html |   13 +
 .../java/ch/qos/logback/classic/jul/JULHelper.java |   76 +
 .../logback/classic/jul/LevelChangePropagator.java |  110 +
 .../java/ch/qos/logback/classic/jul/package.html   |    9 +
 .../ch/qos/logback/classic/log4j/XMLLayout.java    |  189 +
 .../java/ch/qos/logback/classic/log4j/package.html |   13 +
 .../qos/logback/classic/net/JMSQueueAppender.java  |  211 +
 .../ch/qos/logback/classic/net/JMSQueueSink.java   |  152 +
 .../qos/logback/classic/net/JMSTopicAppender.java  |  211 +
 .../ch/qos/logback/classic/net/JMSTopicSink.java   |  152 +
 .../LoggingEventPreSerializationTransformer.java   |   39 +
 .../ch/qos/logback/classic/net/ReceiverBase.java   |   87 +
 .../ch/qos/logback/classic/net/SMTPAppender.java   |  135 +
 .../qos/logback/classic/net/SSLSocketAppender.java |   55 +
 .../qos/logback/classic/net/SSLSocketReceiver.java |   84 +
 .../logback/classic/net/SimpleSSLSocketServer.java |  101 +
 .../logback/classic/net/SimpleSocketServer.java    |  239 ++
 .../ch/qos/logback/classic/net/SocketAcceptor.java |   23 +
 .../ch/qos/logback/classic/net/SocketAppender.java |   60 +
 .../ch/qos/logback/classic/net/SocketNode.java     |  129 +
 .../ch/qos/logback/classic/net/SocketReceiver.java |  225 +
 .../ch/qos/logback/classic/net/SyslogAppender.java |  183 +
 .../java/ch/qos/logback/classic/net/package.html   |   12 +
 .../classic/net/server/RemoteAppenderClient.java   |   41 +
 .../net/server/RemoteAppenderServerListener.java   |   49 +
 .../net/server/RemoteAppenderServerRunner.java     |   53 +
 .../net/server/RemoteAppenderStreamClient.java     |  142 +
 .../net/server/SSLServerSocketAppender.java        |   54 +
 .../net/server/SSLServerSocketReceiver.java        |   70 +
 .../classic/net/server/ServerSocketAppender.java   |   56 +
 .../classic/net/server/ServerSocketReceiver.java   |  178 +
 .../ch/qos/logback/classic/net/server/package.html |   14 +
 .../main/java/ch/qos/logback/classic/package.html  |   13 +
 .../qos/logback/classic/pattern/Abbreviator.java   |   24 +
 .../classic/pattern/CallerDataConverter.java       |  139 +
 .../classic/pattern/ClassNameOnlyAbbreviator.java  |   37 +
 .../classic/pattern/ClassOfCallerConverter.java    |   30 +
 .../logback/classic/pattern/ClassicConverter.java  |   27 +
 .../classic/pattern/ContextNameConverter.java      |   32 +
 .../qos/logback/classic/pattern/DateConverter.java |   65 +
 .../classic/pattern/EnsureExceptionHandling.java   |   69 +
 .../pattern/ExtendedThrowableProxyConverter.java   |   31 +
 .../classic/pattern/FileOfCallerConverter.java     |   30 +
 .../logback/classic/pattern/LevelConverter.java    |   29 +
 .../classic/pattern/LineOfCallerConverter.java     |   30 +
 .../classic/pattern/LineSeparatorConverter.java    |   25 +
 .../pattern/LocalSequenceNumberConverter.java      |   36 +
 .../logback/classic/pattern/LoggerConverter.java   |   23 +
 .../qos/logback/classic/pattern/MDCConverter.java  |   81 +
 .../logback/classic/pattern/MarkerConverter.java   |   38 +
 .../logback/classic/pattern/MessageConverter.java  |   29 +
 .../classic/pattern/MethodOfCallerConverter.java   |   30 +
 .../logback/classic/pattern/NamedConverter.java    |   56 +
 .../pattern/NopThrowableInformationConverter.java  |   43 +
 .../logback/classic/pattern/PropertyConverter.java |   47 +
 .../classic/pattern/RelativeTimeConverter.java     |   35 +
 .../RootCauseFirstThrowableProxyConverter.java     |   52 +
 .../classic/pattern/SyslogStartConverter.java      |  110 +
 .../TargetLengthBasedClassNameAbbreviator.java     |  128 +
 .../logback/classic/pattern/ThreadConverter.java   |   29 +
 .../pattern/ThrowableHandlingConverter.java        |   27 +
 .../classic/pattern/ThrowableProxyConverter.java   |  201 +
 .../java/ch/qos/logback/classic/pattern/Util.java  |   50 +
 .../color/HighlightingCompositeConverter.java      |   39 +
 .../ch/qos/logback/classic/pattern/package.html    |   13 +
 .../classic/selector/ContextJNDISelector.java      |  205 +
 .../logback/classic/selector/ContextSelector.java  |   40 +
 .../classic/selector/DefaultContextSelector.java   |   52 +
 .../selector/servlet/ContextDetachingSCL.java      |   66 +
 .../selector/servlet/LoggerContextFilter.java      |   81 +
 .../classic/sift/AppenderFactoryUsingJoran.java    |   38 +
 .../classic/sift/ContextBasedDiscriminator.java    |   73 +
 .../sift/JNDIBasedContextDiscriminator.java        |   82 +
 .../classic/sift/MDCBasedDiscriminator.java        |   99 +
 .../ch/qos/logback/classic/sift/SiftAction.java    |   59 +
 .../qos/logback/classic/sift/SiftingAppender.java  |   54 +
 .../classic/sift/SiftingJoranConfigurator.java     |   79 +
 .../ch/qos/logback/classic/spi/CallerData.java     |  131 +
 .../logback/classic/spi/ClassPackagingData.java    |   81 +
 .../ch/qos/logback/classic/spi/EventArgUtil.java   |   54 +
 .../ch/qos/logback/classic/spi/ILoggingEvent.java  |   86 +
 .../qos/logback/classic/spi/IThrowableProxy.java   |   23 +
 .../qos/logback/classic/spi/LoggerComparator.java  |   35 +
 .../logback/classic/spi/LoggerContextAware.java    |   33 +
 .../classic/spi/LoggerContextAwareBase.java        |   50 +
 .../logback/classic/spi/LoggerContextListener.java |   33 +
 .../qos/logback/classic/spi/LoggerContextVO.java   |   99 +
 .../qos/logback/classic/spi/LoggerRemoteView.java  |   51 +
 .../ch/qos/logback/classic/spi/LoggingEvent.java   |  367 ++
 .../ch/qos/logback/classic/spi/LoggingEventVO.java |  249 ++
 .../classic/spi/PackagingDataCalculator.java       |  250 ++
 .../ch/qos/logback/classic/spi/PlatformInfo.java   |   38 +
 .../java/ch/qos/logback/classic/spi/STEUtil.java   |   61 +
 .../classic/spi/StackTraceElementProxy.java        |   90 +
 .../ch/qos/logback/classic/spi/ThrowableProxy.java |  165 +
 .../logback/classic/spi/ThrowableProxyUtil.java    |  189 +
 .../qos/logback/classic/spi/ThrowableProxyVO.java  |  117 +
 .../qos/logback/classic/spi/TurboFilterList.java   |   82 +
 .../java/ch/qos/logback/classic/spi/package.html   |   13 +
 .../classic/turbo/DuplicateMessageFilter.java      |   91 +
 .../classic/turbo/DynamicThresholdFilter.java      |  257 ++
 .../qos/logback/classic/turbo/LRUMessageCache.java |   66 +
 .../ch/qos/logback/classic/turbo/MDCFilter.java    |   72 +
 .../logback/classic/turbo/MDCValueLevelPair.java   |   44 +
 .../ch/qos/logback/classic/turbo/MarkerFilter.java |   67 +
 .../qos/logback/classic/turbo/MatchingFilter.java  |   48 +
 .../classic/turbo/ReconfigureOnChangeFilter.java   |  244 ++
 .../ch/qos/logback/classic/turbo/TurboFilter.java  |   76 +
 .../logback/classic/util/ContextInitializer.java   |  187 +
 .../classic/util/ContextSelectorStaticBinder.java  |  107 +
 .../classic/util/CopyOnInheritThreadLocal.java     |   40 +
 .../classic/util/DefaultNestedComponentRules.java  |   48 +
 .../java/ch/qos/logback/classic/util/EnvUtil.java  |   34 +
 .../java/ch/qos/logback/classic/util/JNDIUtil.java |   44 +
 .../classic/util/LevelToSyslogSeverity.java        |   46 +
 .../logback/classic/util/LogbackMDCAdapter.java    |  203 +
 .../qos/logback/classic/util/LoggerNameUtil.java   |   65 +
 .../classic/util/StatusListenerConfigHelper.java   |   64 +
 .../java/ch/qos/logback/classic/util/package.html  |   13 +
 .../java/org/slf4j/impl/StaticLoggerBinder.java    |  118 +
 .../main/java/org/slf4j/impl/StaticMDCBinder.java  |   48 +
 .../java/org/slf4j/impl/StaticMarkerBinder.java    |   57 +
 .../src/main/java/org/slf4j/package.html           |   14 +
 logback-classic/src/test/allInOneSafeMode.sh       |   51 +
 logback-classic/src/test/checkResults.sh           |   20 +
 logback-classic/src/test/generateLogsInSafeMode.sh |   40 +
 .../src/test/generateRollingLogsInSafeMode.sh      |   40 +
 .../gaffer/ConfigurationDelegateTest.groovy        |  307 ++
 .../classic/gaffer/GafferConfiguratorTest.groovy   |  183 +
 .../logback/classic/gaffer/PropertyUtilTest.groovy |   39 +
 .../groovy/issues/logback811/LineNumTest.groovy    |   30 +
 .../test/groovy/issues/logback811/logback._groovy  |   12 +
 logback-classic/src/test/input/autoConfig.xml      |   15 +
 .../src/test/input/gaffer/asyncAppender.groovy     |   31 +
 .../src/test/input/gaffer/conversionRule.groovy    |   13 +
 .../test/input/gaffer/evaluatorWithMatcher.groovy  |   37 +
 .../src/test/input/gaffer/onTheFly.groovy          |    9 +
 .../test/input/gaffer/propertyCascading0.groovy    |   22 +
 .../test/input/gaffer/propertyCascading1.groovy    |   24 +
 .../test/input/gaffer/propertyCascading2.groovy    |   22 +
 .../test/input/gaffer/sift/noDiscriminator.groovy  |   22 +
 .../src/test/input/gaffer/sift/sample0.groovy      |   26 +
 .../src/test/input/gaffer/sift/sample1.groovy      |   30 +
 logback-classic/src/test/input/gaffer/smoke.groovy |   15 +
 logback-classic/src/test/input/gaffer/x.groovy     |   62 +
 .../test/input/integration/autoInit/logback.xml    |    8 +
 .../input/integration/db/mysql-with-driver.xml     |   18 +
 .../input/integration/db/oracle10g-with-driver.xml |   18 +
 .../input/integration/db/oracle11g-with-driver.xml |   18 +
 .../integration/db/postgresql-with-driver.xml      |   18 +
 .../input/integration/db/sqlserver-with-driver.xml |   18 +
 logback-classic/src/test/input/issue/lbcore26.xml  |   18 +
 logback-classic/src/test/input/issue/lbcore63.xml  |   34 +
 .../src/test/input/issue/logback292.xml            |    3 +
 .../src/test/input/joran/additivity.xml            |    6 +
 .../src/test/input/joran/appenderRefByProperty.xml |   17 +
 .../src/test/input/joran/callerData.xml            |   29 +
 .../joran/compatibility/layoutInsteadOfEncoder.xml |   15 +
 .../joran/conditional/conditionalConsoleApp.xml    |   29 +
 .../conditional/conditionalConsoleApp_ELSE.xml     |   41 +
 .../conditional/conditionalIncludeExistingFile.xml |   14 +
 .../conditionalIncludeInexistentFile.xml           |   14 +
 .../test/input/joran/conditional/includedFile.xml  |   10 +
 .../test/input/joran/conditional/withoutJanino.xml |   18 +
 .../src/test/input/joran/contextRename.xml         |    3 +
 .../input/joran/conversionRule/htmlLayout0.xml     |   15 +
 .../input/joran/conversionRule/patternLayout0.xml  |   15 +
 .../src/test/input/joran/encoderCharset.xml        |   18 +
 .../src/test/input/joran/evaluatorFilter.xml       |   19 +
 logback-classic/src/test/input/joran/ignore.xml    |   20 +
 .../src/test/input/joran/issues/lbcore193.xml      |   16 +
 .../test/input/joran/issues/lbcore254.properties   |    1 +
 .../src/test/input/joran/issues/lbcore254.xml      |    4 +
 .../input/joran/jul/levelChangePropagator0.xml     |    9 +
 .../input/joran/jul/levelChangePropagator1.xml     |    8 +
 .../src/test/input/joran/levelFilter.xml           |   14 +
 .../src/test/input/joran/loggerLevelByProperty.xml |   14 +
 .../src/test/input/joran/onConsoleRetro.xml        |   14 +
 .../src/test/input/joran/pattern/replace0.xml      |   15 +
 .../src/test/input/joran/properties.xml            |    8 +
 .../src/test/input/joran/rolling/basic.xml         |   23 +
 .../src/test/input/joran/rolling/timeAndSize.xml   |   27 +
 .../src/test/input/joran/rootLevelByProperty.xml   |   13 +
 logback-classic/src/test/input/joran/scan1.xml     |   10 +
 .../src/test/input/joran/sift/completeCycle.xml    |   22 +
 .../test/input/joran/sift/compositeProperty.xml    |   27 +
 .../test/input/joran/sift/defaultLayoutRule.xml    |   22 +
 .../src/test/input/joran/sift/hoard0.xml           |   25 +
 .../src/test/input/joran/sift/lbclassic203.xml     |   25 +
 .../src/test/input/joran/sift/lingering.xml        |   22 +
 .../src/test/input/joran/sift/maxAppenderCount.xml |   22 +
 .../src/test/input/joran/sift/multipleNesting.xml  |   22 +
 .../joran/sift/propertyDefinedInSiftElement.xml    |   24 +
 .../test/input/joran/sift/propertyPropagation.xml  |   25 +
 .../src/test/input/joran/sift/smoke.xml            |   22 +
 .../src/test/input/joran/sift/timeout.xml          |   23 +
 .../input/joran/sift/unsetDefaultValueProperty.xml |   21 +
 .../src/test/input/joran/sift/zeroNesting.xml      |   20 +
 logback-classic/src/test/input/joran/simple2.xml   |   17 +
 .../src/test/input/joran/simpleEvaluator.xml       |   10 +
 .../src/test/input/joran/simpleLevel.xml           |   14 +
 .../src/test/input/joran/simpleList.xml            |   14 +
 .../src/test/input/joran/smtp/customBufferSize.xml |   23 +
 .../src/test/input/joran/smtp/customEvaluator.xml  |   21 +
 .../src/test/input/joran/statusListener.xml        |   20 +
 .../src/test/input/joran/syslog_LBCLASSIC_50.xml   |   14 +
 .../src/test/input/joran/timestamp-context.xml     |    4 +
 .../src/test/input/joran/timestamp-local.xml       |    7 +
 logback-classic/src/test/input/joran/turbo.xml     |   18 +
 logback-classic/src/test/input/joran/turbo2.xml    |   21 +
 .../src/test/input/joran/turboDynamicThreshold.xml |   29 +
 .../test/input/joran/turboDynamicThreshold2.xml    |   32 +
 logback-classic/src/test/input/joran/unique.xml    |   15 +
 logback-classic/src/test/input/osgi/simple.xml     |   19 +
 .../test/input/serialization/logger_v1.0.11.ser    |  Bin 0 -> 1181 bytes
 .../test/input/serialization/logger_v1.0.12.ser    |  Bin 0 -> 82 bytes
 .../src/test/input/socket/clientConfig.xml         |   24 +
 .../src/test/input/socket/serverConfig.xml         |   17 +
 .../src/test/input/turbo/inclusion/inner0.xml      |    3 +
 .../test/input/turbo/inclusion/topByResource.xml   |    8 +
 .../src/test/input/turbo/inclusion/topLevel0.xml   |    9 +
 logback-classic/src/test/input/turbo/scan 1.groovy |    6 +
 logback-classic/src/test/input/turbo/scan 1.xml    |    9 +
 .../src/test/input/turbo/scan_logback_474.xml      |   14 +
 logback-classic/src/test/input/turbo/scan_perf.xml |   22 +
 .../ch/qos/logback/classic/AllClassicTest.java     |   42 +
 .../ch/qos/logback/classic/AsyncAppenderTest.java  |   94 +
 .../qos/logback/classic/ClassicTestConstants.java  |   30 +
 .../src/test/java/ch/qos/logback/classic/Foo.java  |   30 +
 .../test/java/ch/qos/logback/classic/HLogger.java  |  408 ++
 .../ch/qos/logback/classic/HLoggerContext.java     |  118 +
 .../logback/classic/LoggerContextDeadlockTest.java |   74 +
 .../qos/logback/classic/LoggerContextPerfTest.java |   91 +
 .../ch/qos/logback/classic/LoggerContextTest.java  |  250 ++
 .../classic/LoggerMessageFormattingTest.java       |   86 +
 .../ch/qos/logback/classic/LoggerPerfTest.java     |  261 ++
 .../logback/classic/LoggerSerializationTest.java   |  154 +
 .../java/ch/qos/logback/classic/LoggerTest.java    |  227 +
 .../ch/qos/logback/classic/LoggerTestHelper.java   |   35 +
 .../test/java/ch/qos/logback/classic/MDCTest.java  |   52 +
 .../java/ch/qos/logback/classic/MDCTestThread.java |   39 +
 .../java/ch/qos/logback/classic/PackageTest.java   |   28 +
 .../ch/qos/logback/classic/PatternLayoutTest.java  |  224 +
 .../classic/ScenarioBasedLoggerContextTest.java    |  115 +
 .../classic/TurboFilteringInLoggerTest.java        |  183 +
 .../classic/boolex/ConditionalWithoutJanino.java   |   61 +
 .../classic/boolex/GEventEvaluatorTest.java        |  176 +
 .../classic/boolex/JaninoEventEvaluatorTest.java   |  273 ++
 .../classic/boolex/OnMarkerEvaluatorTest.java      |   68 +
 .../ch/qos/logback/classic/boolex/PackageTest.java |   23 +
 .../ch/qos/logback/classic/control/CLCTest.java    |   56 +
 .../qos/logback/classic/control/ControlLogger.java |  185 +
 .../classic/control/ControlLoggerContext.java      |  110 +
 .../qos/logback/classic/control/CreateLogger.java  |   32 +
 .../qos/logback/classic/control/PackageTest.java   |   24 +
 .../ch/qos/logback/classic/control/Scenario.java   |   39 +
 .../logback/classic/control/ScenarioAction.java    |   18 +
 .../qos/logback/classic/control/ScenarioMaker.java |  103 +
 .../classic/control/ScenarioRandomUtil.java        |  135 +
 .../ch/qos/logback/classic/control/SetLevel.java   |   37 +
 .../java/ch/qos/logback/classic/corpus/Corpus.java |  118 +
 .../ch/qos/logback/classic/corpus/CorpusModel.java |  323 ++
 .../logback/classic/corpus/ExceptionBuilder.java   |   47 +
 .../qos/logback/classic/corpus/LogStatement.java   |   46 +
 .../classic/corpus/MessageArgumentTuple.java       |   30 +
 .../ch/qos/logback/classic/corpus/RandomUtil.java  |   46 +
 .../qos/logback/classic/corpus/TextFileUtil.java   |   61 +
 .../logback/classic/corpusTest/RandomUtilTest.java |   61 +
 .../classic/corpusTest/TextFileUtilTest.java       |   45 +
 .../qos/logback/classic/db/DBAppenderH2Test.java   |  225 +
 .../classic/db/DBAppenderH2TestFixture.java        |  142 +
 .../qos/logback/classic/db/DBAppenderHSQLTest.java |  206 +
 .../classic/db/DBAppenderHSQLTestFixture.java      |  177 +
 .../classic/db/DBAppenderIntegrationTest.java      |  243 ++
 .../ch/qos/logback/classic/db/PackageTest.java     |   25 +
 .../ch/qos/logback/classic/db/SQLBuilderTest.java  |  118 +
 .../db/names/DefaultDBNameResolverTest.java        |   70 +
 .../qos/logback/classic/db/names/PackageTest.java  |   24 +
 .../classic/db/names/SimpleDBNameResolverTest.java |  141 +
 .../encoder/LayoutInsteadOfEncoderTest.java        |   62 +
 .../qos/logback/classic/encoder/PackageTest.java   |   23 +
 .../classic/encoder/PatternLayoutEncoderTest.java  |   77 +
 .../qos/logback/classic/html/HTMLLayoutTest.java   |  251 ++
 .../ch/qos/logback/classic/html/PackageTest.java   |   23 +
 .../logback/classic/html/XHTMLEntityResolver.java  |   56 +
 .../logback/classic/issue/DarioCampagna/Main.java  |   44 +
 .../classic/issue/DarioCampagna/logback-marker.xml |   19 +
 .../ch/qos/logback/classic/issue/LBCORE63.java     |  100 +
 .../ch/qos/logback/classic/issue/PackageTest.java  |   27 +
 .../issue/lbclassic135/LoggingRunnable.java        |   49 +
 .../lbclassic135/LoggingToFileThroughput.java      |  116 +
 .../issue/lbclassic135/lbclassic139/Accessor.java  |   51 +
 .../lbclassic139/LB139_DeadlockTest.java           |   54 +
 .../lbclassic135/lbclassic139/PackageTest.java     |   23 +
 .../issue/lbclassic135/lbclassic139/Worker.java    |   75 +
 .../lbclassic180/HtmlEscapedMessageConverter.java  |   25 +
 .../logback/classic/issue/lbclassic180/Main.java   |   41 +
 .../logback/classic/issue/lbclassic180/logback.xml |   16 +
 .../issue/lbclassic203/ConcurrentSiftingTest.java  |   61 +
 .../lbclassic203/InstanceCountingAppender.java     |   30 +
 .../classic/issue/lbclassic203/PackageTest.java    |   23 +
 .../classic/issue/lbclassic323/Barebones.java      |   45 +
 .../logback/classic/issue/lbclassic323/Simple.java |   49 +
 .../classic/issue/lbclassic323/logback_smtp.xml    |   19 +
 .../logback/classic/issue/lbclassic330/Main.java   |   41 +
 .../logback/classic/issue/lbclassic330/logback.xml |   35 +
 .../lbclassic36/DateFormatOriginal_tzest.java      |  252 ++
 .../issue/lbclassic36/DateFormatPerf_Tapp.java     |   62 +
 ...DateFormattingThreadedThroughputCalculator.java |   58 +
 .../SelectiveDateFormattingRunnable.java           |   99 +
 .../logback/classic/issue/lbcore211/Lbcore211.java |   47 +
 .../logback/classic/issue/lbcore224/Reduce.java    |  173 +
 .../classic/issue/lbcore224/WithZookeperTest._ava  |   53 +
 .../logback/classic/issue/lbcore243/Common.java    |   21 +
 .../lbcore243/PerformanceComparatorLog4j.java      |   62 +
 .../lbcore243/PerformanceComparatorLogback.java    |   74 +
 .../issue/lbcore243/log4j_with_immediateFlush.xml  |   17 +
 .../lbcore243/log4j_without_immediateFlush.xml     |   17 +
 .../lbcore243/logback_with_immediateFlush.xml      |   22 +
 .../lbcore243/logback_without_immediateFlush.xml   |   23 +
 .../qos/logback/classic/issue/lbcore26/Main.java   |   45 +
 .../qos/logback/classic/issue/lbcore_155/Main.java |   39 +
 .../logback/classic/issue/lbcore_155/OThread.java  |   54 +
 .../classic/issue/logback474/LoggingAppender.java  |   40 +
 .../logback/classic/jmx/JMXConfiguratorTest.java   |  158 +
 .../ch/qos/logback/classic/jmx/PackageTest.java    |   25 +
 .../logback/classic/joran/EvaluatorJoranTest.java  |  106 +
 .../classic/joran/JoranConfiguratorTest.java       |  465 ++
 .../ch/qos/logback/classic/joran/PackageTest.java  |   24 +
 .../classic/joran/conditional/ConditionalTest.java |  155 +
 .../classic/joran/conditional/PackageTest.java     |   24 +
 .../classic/jul/LevelChangePropagatorTest.java     |   97 +
 .../ch/qos/logback/classic/jul/PackageTest.java    |   23 +
 .../ch/qos/logback/classic/multiJVM/Checker.java   |   88 +
 .../logback/classic/multiJVM/FileAppenderPerf.java |   97 +
 .../logback/classic/multiJVM/LoggingThread.java    |   48 +
 .../classic/multiJVM/SafeModeFileAppender.java     |   96 +
 .../multiJVM/SafeModeRollingFileAppender.java      |  111 +
 .../logback/classic/net/CounterBasedEvaluator.java |   75 +
 .../classic/net/DilutedSMTPAppenderTest.java       |  134 +
 .../classic/net/ExternalMockSocketServer.java      |   93 +
 .../logback/classic/net/JMSQueueAppenderTest.java  |  143 +
 .../classic/net/JMSQueueAppenderTestApp.java       |   61 +
 .../logback/classic/net/JMSTopicAppenderTest.java  |  248 ++
 .../classic/net/JMSTopicAppenderTestApp.java       |   62 +
 .../qos/logback/classic/net/NOPOutputStream.java   |   42 +
 .../ch/qos/logback/classic/net/PackageTest.java    |   26 +
 .../classic/net/SMTPAppender_GreenTest.java        |  372 ++
 .../classic/net/SMTPAppender_SubethaSMTPTest.java  |  370 ++
 .../logback/classic/net/SSLSocketReceiverTest.java |   51 +
 .../logback/classic/net/SerializationPerfTest.java |  203 +
 .../classic/net/SocketAppenderMessageLossTest.java |  116 +
 .../java/ch/qos/logback/classic/net/SocketMin.java |  109 +
 .../logback/classic/net/SocketReceiverTest.java    |  289 ++
 .../logback/classic/net/SyslogAppenderTest.java    |  245 ++
 .../qos/logback/classic/net/mock/MockAppender.java |   58 +
 .../classic/net/mock/MockObjectMessage.java        |  260 ++
 .../ch/qos/logback/classic/net/mock/MockQueue.java |   31 +
 .../classic/net/mock/MockQueueConnection.java      |   96 +
 .../net/mock/MockQueueConnectionFactory.java       |   42 +
 .../logback/classic/net/mock/MockQueueSender.java  |  134 +
 .../logback/classic/net/mock/MockQueueSession.java |  208 +
 .../logback/classic/net/mock/MockSyslogServer.java |   71 +
 .../ch/qos/logback/classic/net/mock/MockTopic.java |   31 +
 .../classic/net/mock/MockTopicConnection.java      |   95 +
 .../net/mock/MockTopicConnectionFactory.java       |   42 +
 .../classic/net/mock/MockTopicPublisher.java       |  140 +
 .../logback/classic/net/mock/MockTopicSession.java |  198 +
 .../server/InstrumentedServerSocketReceiver.java   |   96 +
 .../classic/net/server/MockSSLConfiguration.java   |   50 +
 .../net/server/MockSSLParametersConfiguration.java |   39 +
 .../net/server/RemoteAppenderStreamClientTest.java |   92 +
 .../net/server/SSLServerSocketReceiverTest.java    |   57 +
 .../server/ServerSocketReceiverFunctionalTest.java |  114 +
 .../net/server/ServerSocketReceiverTest.java       |  105 +
 .../classic/net/testObjectBuilders/Builder.java    |   24 +
 .../LoggingEventBuilderInContext.java              |   41 +
 .../LoggingEventWithParametersBuilder.java         |   49 +
 .../net/testObjectBuilders/MinimalSerBuilder.java  |   36 +
 .../TrivialLoggingEventBuilder.java                |   37 +
 .../TrivialLoggingEventVOBuilder.java              |   31 +
 .../qos/logback/classic/pattern/ConverterTest.java |  387 ++
 .../ExtendedThrowableProxyConverterTest.java       |  106 +
 .../logback/classic/pattern/MDCConverterTest.java  |   80 +
 .../classic/pattern/MarkerConverterTest.java       |   94 +
 .../qos/logback/classic/pattern/PackageTest.java   |   28 +
 .../RootCauseFirstThrowableProxyConverterTest.java |  117 +
 .../classic/pattern/SyslogStartConverterTest.java  |  135 +
 .../TargetLengthBasedClassNameAbbreviatorTest.java |  149 +
 .../pattern/ThrowableProxyConverterTest.java       |  174 +
 .../qos/logback/classic/rolling/PackageTest.java   |   23 +
 .../TimeBasedRollingWithConfigFileTest.java        |  191 +
 .../logback/classic/rolling/UniqueFileTest.java    |   64 +
 .../classic/selector/ContextDetachingSCLTest.java  |   89 +
 .../classic/selector/ContextJNDISelectorTest.java  |   88 +
 .../qos/logback/classic/selector/PackageTest.java  |   23 +
 .../classic/sift/MDCBasedDiscriminatorTest.java    |   79 +
 .../ch/qos/logback/classic/sift/PackageTest.java   |   23 +
 .../logback/classic/sift/SiftingAppenderTest.java  |  272 ++
 .../logback/classic/spi/BasicContextListener.java  |   60 +
 .../qos/logback/classic/spi/BogusClassLoader.java  |   52 +
 .../ch/qos/logback/classic/spi/CPDCSpecial.java    |   24 +
 .../ch/qos/logback/classic/spi/CallerDataTest.java |   48 +
 .../logback/classic/spi/ContextListenerTest.java   |   83 +
 .../logback/classic/spi/DummyThrowableProxy.java   |   65 +
 .../logback/classic/spi/LocalFirstClassLoader.java |   79 +
 .../logback/classic/spi/LoggerComparatorTest.java  |   51 +
 .../spi/LoggingEventSerializationPerfTest.java     |  141 +
 .../classic/spi/LoggingEventSerializationTest.java |  216 +
 .../qos/logback/classic/spi/LoggingEventTest.java  |   65 +
 .../ch/qos/logback/classic/spi/LuckyCharms.java    |   28 +
 .../ch/qos/logback/classic/spi/PackageTest.java    |   26 +
 .../classic/spi/PackagingDataCalculatorTest.java   |  126 +
 .../qos/logback/classic/spi/PubLoggingEventVO.java |  239 ++
 .../logback/classic/spi/ThrowableProxyTest.java    |  182 +
 .../classic/spi/special/CPDCSpecialImpl.java       |   45 +
 .../logback/classic/testUtil/SampleConverter.java  |   28 +
 .../classic/turbo/DebugUsersTurboFilter.java       |   63 +
 .../classic/turbo/DuplicateMessageFilterTest.java  |   89 +
 .../logback/classic/turbo/LRUMessageCacheTest.java |   41 +
 .../logback/classic/turbo/MarkerFilterTest.java    |   77 +
 .../qos/logback/classic/turbo/NOPTurboFilter.java  |   31 +
 .../ch/qos/logback/classic/turbo/PackageTest.java  |   24 +
 .../classic/turbo/ReconfigureOnChangeTest.java     |  448 ++
 .../qos/logback/classic/turbo/ReconfigurePerf.java |   96 +
 .../ch/qos/logback/classic/turbo/lru/Event.java    |   33 +
 .../ch/qos/logback/classic/turbo/lru/LRUCache.java |   51 +
 .../logback/classic/turbo/lru/LRUCacheTest.java    |  122 +
 .../qos/logback/classic/turbo/lru/Simulator.java   |   89 +
 .../ch/qos/logback/classic/turbo/lru/T_Entry.java  |   45 +
 .../qos/logback/classic/turbo/lru/T_LRUCache.java  |   94 +
 .../qos/logback/classic/turbo/lru/X_LRUCache.java  |   51 +
 .../util/ContextInitializerAutoConfigTest.java     |   58 +
 .../classic/util/ContextInitializerTest.java       |  159 +
 .../util/InitializationIntegrationTest.java        |   37 +
 .../classic/util/LevelToSyslogSeverityTest.java    |   53 +
 .../classic/util/LogbackMDCAdapterTest.java        |  244 ++
 .../logback/classic/util/LoggerNameUtilTest.java   |  102 +
 .../logback/classic/util/MockInitialContext.java   |   39 +
 .../classic/util/MockInitialContextFactory.java    |   48 +
 .../ch/qos/logback/classic/util/PackageTest.java   |   26 +
 .../ch/qos/logback/classic/util/TeztHelper.java    |   81 +
 .../src/test/java/integrator/Activator.java        |   69 +
 .../src/test/java/org/dummy/DummyLBAppender.java   |   45 +
 .../src/test/java/org/dummy/Log4jInvocation.java   |   91 +
 .../test/java/org/slf4j/LoggerFactoryFriend.java   |   20 +
 .../org/slf4j/impl/InitializationOutputTest.java   |   71 +
 .../src/test/java/org/slf4j/impl/PackageTest.java  |   26 +
 .../slf4j/impl/RecursiveInitializationTest.java    |   63 +
 .../java/org/slf4j/impl/RecursiveLBAppender.java   |   57 +
 .../org/slf4j/impl/StaticLoggerBinderFriend.java   |   29 +
 .../test/java/org/slf4j/test_osgi/BundleTest.java  |   48 +
 .../slf4j/test_osgi/CheckingBundleListener.java    |   57 +
 .../test/java/org/slf4j/test_osgi/FelixHost.java   |  119 +
 .../slf4j/test_osgi/FrameworkErrorListener.java    |   52 +
 .../src/test/resources/BOO_logback-test.xml        |   15 +
 logback-classic/src/test/resources/README.txt      |    5 +
 .../src/test/resources/TWO_DATE_logback-test.xml   |   21 +
 .../src/test/resources/asResource/inner1.xml       |    3 +
 .../src/test/resources/autoConfigAsResource.xml    |   15 +
 .../test/resources/corpus/origin_of_species.txt    | 1276 ++++++
 .../src/test/resources/dtd/xhtml-lat1.ent          |  196 +
 .../src/test/resources/dtd/xhtml-special.ent       |   80 +
 .../src/test/resources/dtd/xhtml-symbol.ent        |  237 ++
 .../src/test/resources/dtd/xhtml1-strict.dtd       |  978 +++++
 .../src/test/resources/recursiveInit.xml           |   17 +
 logback-classic/src/test/resources/test.groovy     |   15 +
 logback-core/pom.xml                               |  163 +
 .../main/java/ch/qos/logback/core/Appender.java    |   42 +
 .../java/ch/qos/logback/core/AppenderBase.java     |  137 +
 .../ch/qos/logback/core/AsyncAppenderBase.java     |  240 ++
 .../ch/qos/logback/core/BasicStatusManager.java    |  126 +
 .../java/ch/qos/logback/core/ConsoleAppender.java  |  120 +
 .../src/main/java/ch/qos/logback/core/Context.java |  128 +
 .../main/java/ch/qos/logback/core/ContextBase.java |  201 +
 .../java/ch/qos/logback/core/CoreConstants.java    |  178 +
 .../java/ch/qos/logback/core/FileAppender.java     |  212 +
 .../src/main/java/ch/qos/logback/core/Layout.java  |   70 +
 .../main/java/ch/qos/logback/core/LayoutBase.java  |   82 +
 .../java/ch/qos/logback/core/LifeCycleManager.java |   56 +
 .../java/ch/qos/logback/core/LogbackException.java |   29 +
 .../ch/qos/logback/core/OutputStreamAppender.java  |  239 ++
 .../ch/qos/logback/core/PropertyDefinerBase.java   |   30 +
 .../logback/core/UnsynchronizedAppenderBase.java   |  139 +
 .../logback/core/boolex/EvaluationException.java   |   37 +
 .../ch/qos/logback/core/boolex/EventEvaluator.java |   60 +
 .../logback/core/boolex/EventEvaluatorBase.java    |   47 +
 .../core/boolex/JaninoEventEvaluatorBase.java      |   99 +
 .../java/ch/qos/logback/core/boolex/Matcher.java   |  125 +
 .../java/ch/qos/logback/core/boolex/package.html   |   17 +
 .../core/db/BindDataSourceToJNDIAction.java        |   89 +
 .../ch/qos/logback/core/db/ConnectionSource.java   |   61 +
 .../qos/logback/core/db/ConnectionSourceBase.java  |  131 +
 .../ch/qos/logback/core/db/DBAppenderBase.java     |  179 +
 .../main/java/ch/qos/logback/core/db/DBHelper.java |   45 +
 .../core/db/DataSourceConnectionSource.java        |   76 +
 .../core/db/DriverManagerConnectionSource.java     |   95 +
 .../qos/logback/core/db/JNDIConnectionSource.java  |  113 +
 .../ch/qos/logback/core/db/dialect/DBUtil.java     |  141 +
 .../ch/qos/logback/core/db/dialect/H2Dialect.java  |   28 +
 .../qos/logback/core/db/dialect/HSQLDBDialect.java |   28 +
 .../qos/logback/core/db/dialect/MsSQLDialect.java  |   30 +
 .../qos/logback/core/db/dialect/MySQLDialect.java  |   28 +
 .../qos/logback/core/db/dialect/OracleDialect.java |   29 +
 .../logback/core/db/dialect/PostgreSQLDialect.java |   29 +
 .../ch/qos/logback/core/db/dialect/SQLDialect.java |   22 +
 .../logback/core/db/dialect/SQLDialectCode.java    |   26 +
 .../qos/logback/core/db/dialect/SQLiteDialect.java |   31 +
 .../core/db/dialect/SybaseSqlAnywhereDialect.java  |   33 +
 .../ch/qos/logback/core/db/dialect/package.html    |   14 +
 .../main/java/ch/qos/logback/core/db/package.html  |   22 +
 .../ch/qos/logback/core/encoder/ByteArrayUtil.java |   69 +
 .../ch/qos/logback/core/encoder/EchoEncoder.java   |   47 +
 .../java/ch/qos/logback/core/encoder/Encoder.java  |   68 +
 .../ch/qos/logback/core/encoder/EncoderBase.java   |   43 +
 .../core/encoder/EventObjectInputStream.java       |  159 +
 .../core/encoder/LayoutWrappingEncoder.java        |  164 +
 .../core/encoder/NonClosableInputStream.java       |   38 +
 .../logback/core/encoder/ObjectStreamEncoder.java  |   94 +
 .../logback/core/filter/AbstractMatcherFilter.java |   38 +
 .../qos/logback/core/filter/EvaluatorFilter.java   |   76 +
 .../java/ch/qos/logback/core/filter/Filter.java    |   68 +
 .../java/ch/qos/logback/core/filter/package.html   |   13 +
 .../ch/qos/logback/core/helpers/CyclicBuffer.java  |  175 +
 .../ch/qos/logback/core/helpers/NOPAppender.java   |   23 +
 .../core/helpers/ThrowableToStringArray.java       |   86 +
 .../ch/qos/logback/core/helpers/Transform.java     |  110 +
 .../java/ch/qos/logback/core/helpers/package.html  |   14 +
 .../java/ch/qos/logback/core/html/CssBuilder.java  |   20 +
 .../ch/qos/logback/core/html/HTMLLayoutBase.java   |  262 ++
 .../qos/logback/core/html/IThrowableRenderer.java  |   21 +
 .../logback/core/html/NOPThrowableRenderer.java    |   25 +
 .../java/ch/qos/logback/core/html/package.html     |   13 +
 .../logback/core/joran/GenericConfigurator.java    |  169 +
 .../logback/core/joran/JoranConfiguratorBase.java  |  113 +
 .../joran/action/AbstractEventEvaluatorAction.java |  122 +
 .../ch/qos/logback/core/joran/action/Action.java   |  102 +
 .../qos/logback/core/joran/action/ActionConst.java |   41 +
 .../qos/logback/core/joran/action/ActionUtil.java  |   74 +
 .../logback/core/joran/action/AppenderAction.java  |  108 +
 .../core/joran/action/AppenderRefAction.java       |   82 +
 .../core/joran/action/ContextPropertyAction.java   |   36 +
 .../core/joran/action/ConversionRuleAction.java    |   87 +
 .../core/joran/action/DefinePropertyAction.java    |  114 +
 .../core/joran/action/IADataForBasicProperty.java  |   35 +
 .../joran/action/IADataForComplexProperty.java     |   54 +
 .../logback/core/joran/action/ImplicitAction.java  |   47 +
 .../logback/core/joran/action/IncludeAction.java   |  247 ++
 .../qos/logback/core/joran/action/NOPAction.java   |   37 +
 .../core/joran/action/NestedBasicPropertyIA.java   |  104 +
 .../core/joran/action/NestedComplexPropertyIA.java |  192 +
 .../logback/core/joran/action/NewRuleAction.java   |   72 +
 .../qos/logback/core/joran/action/ParamAction.java |   67 +
 .../logback/core/joran/action/PropertyAction.java  |  150 +
 .../core/joran/action/StatusListenerAction.java    |   77 +
 .../logback/core/joran/action/TimestampAction.java |   83 +
 .../logback/core/joran/conditional/Condition.java  |   18 +
 .../logback/core/joran/conditional/ElseAction.java |   28 +
 .../logback/core/joran/conditional/IfAction.java   |  155 +
 .../conditional/PropertyEvalScriptBuilder.java     |   61 +
 .../conditional/PropertyWrapperForScripts.java     |   51 +
 .../logback/core/joran/conditional/ThenAction.java |   27 +
 .../joran/conditional/ThenOrElseActionBase.java    |   88 +
 .../ch/qos/logback/core/joran/event/BodyEvent.java |   50 +
 .../ch/qos/logback/core/joran/event/EndEvent.java  |   31 +
 .../logback/core/joran/event/InPlayListener.java   |   19 +
 .../ch/qos/logback/core/joran/event/SaxEvent.java  |   49 +
 .../logback/core/joran/event/SaxEventRecorder.java |  209 +
 .../qos/logback/core/joran/event/StartEvent.java   |   44 +
 .../logback/core/joran/event/stax/BodyEvent.java   |   28 +
 .../logback/core/joran/event/stax/EndEvent.java    |   24 +
 .../logback/core/joran/event/stax/StartEvent.java  |   54 +
 .../logback/core/joran/event/stax/StaxEvent.java   |   25 +
 .../core/joran/event/stax/StaxEventRecorder.java   |  103 +
 .../qos/logback/core/joran/node/ComponentNode.java |    8 +
 .../java/ch/qos/logback/core/joran/package.html    |   13 +
 .../logback/core/joran/spi/ActionException.java    |   36 +
 .../core/joran/spi/ConfigurationWatchList.java     |   95 +
 .../qos/logback/core/joran/spi/ConsoleTarget.java  |   91 +
 .../qos/logback/core/joran/spi/DefaultClass.java   |   25 +
 .../joran/spi/DefaultNestedComponentRegistry.java  |   53 +
 .../ch/qos/logback/core/joran/spi/ElementPath.java |  122 +
 .../logback/core/joran/spi/ElementSelector.java    |  183 +
 .../ch/qos/logback/core/joran/spi/EventPlayer.java |   71 +
 .../core/joran/spi/HostClassAndPropertyDouble.java |   76 +
 .../core/joran/spi/InterpretationContext.java      |  186 +
 .../ch/qos/logback/core/joran/spi/Interpreter.java |  358 ++
 .../qos/logback/core/joran/spi/JoranException.java |   27 +
 .../ch/qos/logback/core/joran/spi/NoAutoStart.java |   31 +
 .../logback/core/joran/spi/NoAutoStartUtil.java    |   34 +
 .../ch/qos/logback/core/joran/spi/RuleStore.java   |   59 +
 .../logback/core/joran/spi/SimpleRuleStore.java    |  210 +
 .../ch/qos/logback/core/joran/spi/XMLUtil.java     |   30 +
 .../joran/util/ConfigurationWatchListUtil.java     |  102 +
 .../logback/core/joran/util/PropertySetter.java    |  494 +++
 .../core/joran/util/StringToObjectConverter.java   |  137 +
 .../ch/qos/logback/core/layout/EchoLayout.java     |   30 +
 .../core/net/AbstractSSLSocketAppender.java        |   90 +
 .../logback/core/net/AbstractSocketAppender.java   |  451 ++
 .../logback/core/net/DefaultSocketConnector.java   |  125 +
 .../ch/qos/logback/core/net/JMSAppenderBase.java   |  177 +
 .../qos/logback/core/net/LoginAuthenticator.java   |   36 +
 .../ch/qos/logback/core/net/SMTPAppenderBase.java  |  700 +++
 .../ch/qos/logback/core/net/SocketConnector.java   |   65 +
 .../qos/logback/core/net/SyslogAppenderBase.java   |  288 ++
 .../ch/qos/logback/core/net/SyslogConstants.java   |   96 +
 .../qos/logback/core/net/SyslogOutputStream.java   |   93 +
 .../main/java/ch/qos/logback/core/net/package.html |   17 +
 .../net/server/AbstractServerSocketAppender.java   |  218 +
 .../ch/qos/logback/core/net/server/Client.java     |   57 +
 .../qos/logback/core/net/server/ClientVisitor.java |   25 +
 .../core/net/server/ConcurrentServerRunner.java    |  231 +
 .../core/net/server/RemoteReceiverClient.java      |   46 +
 .../net/server/RemoteReceiverServerListener.java   |   47 +
 .../net/server/RemoteReceiverServerRunner.java     |   57 +
 .../net/server/RemoteReceiverStreamClient.java     |  145 +
 .../net/server/SSLServerSocketAppenderBase.java    |   80 +
 .../logback/core/net/server/ServerListener.java    |   67 +
 .../qos/logback/core/net/server/ServerRunner.java  |   53 +
 .../core/net/server/ServerSocketListener.java      |   89 +
 .../ch/qos/logback/core/net/server/package.html    |   10 +
 .../ssl/ConfigurableSSLServerSocketFactory.java    |   89 +
 .../core/net/ssl/ConfigurableSSLSocketFactory.java |  100 +
 .../core/net/ssl/KeyManagerFactoryFactoryBean.java |   91 +
 .../logback/core/net/ssl/KeyStoreFactoryBean.java  |  186 +
 .../main/java/ch/qos/logback/core/net/ssl/SSL.java |   36 +
 .../ch/qos/logback/core/net/ssl/SSLComponent.java  |   27 +
 .../qos/logback/core/net/ssl/SSLConfigurable.java  |   85 +
 .../core/net/ssl/SSLConfigurableServerSocket.java  |   63 +
 .../core/net/ssl/SSLConfigurableSocket.java        |   63 +
 .../qos/logback/core/net/ssl/SSLConfiguration.java |   48 +
 .../core/net/ssl/SSLContextFactoryBean.java        |  341 ++
 .../net/ssl/SSLNestedComponentRegistryRules.java   |   43 +
 .../core/net/ssl/SSLParametersConfiguration.java   |  256 ++
 .../core/net/ssl/SecureRandomFactoryBean.java      |  101 +
 .../net/ssl/TrustManagerFactoryFactoryBean.java    |   91 +
 .../java/ch/qos/logback/core/net/ssl/package.html  |   16 +
 .../src/main/java/ch/qos/logback/core/package.html |   13 +
 .../logback/core/pattern/CompositeConverter.java   |   53 +
 .../ch/qos/logback/core/pattern/Converter.java     |   55 +
 .../ch/qos/logback/core/pattern/ConverterUtil.java |   66 +
 .../qos/logback/core/pattern/DynamicConverter.java |  112 +
 .../ch/qos/logback/core/pattern/FormatInfo.java    |  155 +
 .../logback/core/pattern/FormattingConverter.java  |   72 +
 .../core/pattern/IdentityCompositeConverter.java   |   22 +
 .../qos/logback/core/pattern/LiteralConverter.java |   29 +
 .../logback/core/pattern/PatternLayoutBase.java    |  161 +
 .../core/pattern/PatternLayoutEncoderBase.java     |   68 +
 .../logback/core/pattern/PostCompileProcessor.java |   34 +
 .../core/pattern/ReplacingCompositeConverter.java  |   50 +
 .../ch/qos/logback/core/pattern/SpacePadder.java   |   64 +
 .../logback/core/pattern/color/ANSIConstants.java  |   33 +
 .../pattern/color/BlackCompositeConverter.java     |   28 +
 .../core/pattern/color/BlueCompositeConverter.java |   28 +
 .../pattern/color/BoldBlueCompositeConverter.java  |   32 +
 .../pattern/color/BoldCyanCompositeConverter.java  |   32 +
 .../pattern/color/BoldGreenCompositeConverter.java |   32 +
 .../color/BoldMagentaCompositeConverter.java       |   32 +
 .../pattern/color/BoldRedCompositeConverter.java   |   30 +
 .../pattern/color/BoldWhiteCompositeConverter.java |   32 +
 .../color/BoldYellowCompositeConverter.java        |   32 +
 .../core/pattern/color/CyanCompositeConverter.java |   28 +
 .../color/ForegroundCompositeConverterBase.java    |   45 +
 .../core/pattern/color/GrayCompositeConverter.java |   32 +
 .../pattern/color/GreenCompositeConverter.java     |   28 +
 .../pattern/color/MagentaCompositeConverter.java   |   28 +
 .../core/pattern/color/RedCompositeConverter.java  |   28 +
 .../pattern/color/WhiteCompositeConverter.java     |   28 +
 .../pattern/color/YellowCompositeConverter.java    |   28 +
 .../java/ch/qos/logback/core/pattern/package.html  |   17 +
 .../qos/logback/core/pattern/parser/Compiler.java  |  159 +
 .../logback/core/pattern/parser/CompositeNode.java |   60 +
 .../core/pattern/parser/FormattingNode.java        |   58 +
 .../ch/qos/logback/core/pattern/parser/Node.java   |   99 +
 .../core/pattern/parser/OptionTokenizer.java       |  148 +
 .../ch/qos/logback/core/pattern/parser/Parser.java |  239 ++
 .../core/pattern/parser/SimpleKeywordNode.java     |   68 +
 .../ch/qos/logback/core/pattern/parser/Token.java  |  117 +
 .../logback/core/pattern/parser/TokenStream.java   |  237 ++
 .../core/pattern/util/AlmostAsIsEscapeUtil.java    |   45 +
 .../logback/core/pattern/util/AsIsEscapeUtil.java  |   35 +
 .../qos/logback/core/pattern/util/IEscapeUtil.java |   19 +
 .../core/pattern/util/RegularEscapeUtil.java       |   92 +
 .../core/pattern/util/RestrictedEscapeUtil.java    |   37 +
 .../core/property/FileExistsPropertyDefiner.java   |   62 +
 .../property/ResourceExistsPropertyDefiner.java    |   53 +
 .../logback/core/read/CyclicBufferAppender.java    |   80 +
 .../ch/qos/logback/core/read/ListAppender.java     |   28 +
 .../logback/core/recovery/RecoveryCoordinator.java |   55 +
 .../core/recovery/ResilientFileOutputStream.java   |   62 +
 .../core/recovery/ResilientOutputStreamBase.java   |  168 +
 .../core/recovery/ResilientSyslogOutputStream.java |   53 +
 ...aultTimeBasedFileNamingAndTriggeringPolicy.java |   57 +
 .../core/rolling/FixedWindowRollingPolicy.java     |  185 +
 .../logback/core/rolling/RollingFileAppender.java  |  215 +
 .../ch/qos/logback/core/rolling/RollingPolicy.java |   67 +
 .../logback/core/rolling/RollingPolicyBase.java    |   96 +
 .../qos/logback/core/rolling/RolloverFailure.java  |   35 +
 .../core/rolling/SizeAndTimeBasedFNATP.java        |  138 +
 .../core/rolling/SizeBasedTriggeringPolicy.java    |  100 +
 .../TimeBasedFileNamingAndTriggeringPolicy.java    |   84 +
 ...TimeBasedFileNamingAndTriggeringPolicyBase.java |  118 +
 .../core/rolling/TimeBasedRollingPolicy.java       |  254 ++
 .../qos/logback/core/rolling/TriggeringPolicy.java |   39 +
 .../logback/core/rolling/TriggeringPolicyBase.java |   44 +
 .../core/rolling/helper/ArchiveRemover.java        |   28 +
 .../rolling/helper/AsynchronousCompressor.java     |   36 +
 .../core/rolling/helper/CompressionMode.java       |   18 +
 .../core/rolling/helper/CompressionRunnable.java   |   35 +
 .../logback/core/rolling/helper/Compressor.java    |  277 ++
 .../core/rolling/helper/DateTokenConverter.java    |   92 +
 .../core/rolling/helper/DefaultArchiveRemover.java |  138 +
 .../core/rolling/helper/FileFilterUtil.java        |  129 +
 .../core/rolling/helper/FileNamePattern.java       |  199 +
 .../logback/core/rolling/helper/FileStoreUtil.java |   75 +
 .../core/rolling/helper/IntegerTokenConverter.java |   46 +
 .../core/rolling/helper/MonoTypedConverter.java    |   24 +
 .../core/rolling/helper/PeriodicityType.java       |   28 +
 .../logback/core/rolling/helper/RenameUtil.java    |  135 +
 .../core/rolling/helper/RollingCalendar.java       |  243 ++
 .../helper/SizeAndTimeBasedArchiveRemover.java     |   51 +
 .../rolling/helper/TimeBasedArchiveRemover.java    |   42 +
 .../core/rolling/helper/TokenConverter.java        |   56 +
 .../qos/logback/core/rolling/helper/package.html   |   11 +
 .../java/ch/qos/logback/core/rolling/package.html  |   20 +
 .../sift/AbstractAppenderFactoryUsingJoran.java    |   59 +
 .../logback/core/sift/AbstractDiscriminator.java   |   26 +
 .../ch/qos/logback/core/sift/AppenderFactory.java  |   16 +
 .../ch/qos/logback/core/sift/AppenderTracker.java  |   84 +
 .../logback/core/sift/DefaultDiscriminator.java    |   32 +
 .../ch/qos/logback/core/sift/Discriminator.java    |   46 +
 .../qos/logback/core/sift/SiftingAppenderBase.java |  145 +
 .../core/sift/SiftingJoranConfiguratorBase.java    |   92 +
 .../logback/core/spi/AbstractComponentTracker.java |  310 ++
 .../qos/logback/core/spi/AppenderAttachable.java   |   62 +
 .../logback/core/spi/AppenderAttachableImpl.java   |  141 +
 .../ch/qos/logback/core/spi/ComponentTracker.java  |  110 +
 .../java/ch/qos/logback/core/spi/ContextAware.java |   43 +
 .../ch/qos/logback/core/spi/ContextAwareBase.java  |  106 +
 .../ch/qos/logback/core/spi/ContextAwareImpl.java  |  102 +
 .../qos/logback/core/spi/CyclicBufferTracker.java  |   71 +
 .../logback/core/spi/DeferredProcessingAware.java  |   19 +
 .../ch/qos/logback/core/spi/FilterAttachable.java  |   47 +
 .../qos/logback/core/spi/FilterAttachableImpl.java |   63 +
 .../java/ch/qos/logback/core/spi/FilterReply.java  |   34 +
 .../java/ch/qos/logback/core/spi/LifeCycle.java    |   22 +
 .../java/ch/qos/logback/core/spi/LogbackLock.java  |   25 +
 .../core/spi/PreSerializationTransformer.java      |   28 +
 .../ch/qos/logback/core/spi/PropertyContainer.java |   23 +
 .../ch/qos/logback/core/spi/PropertyDefiner.java   |   24 +
 .../ch/qos/logback/core/spi/ScanException.java     |   35 +
 .../main/java/ch/qos/logback/core/spi/package.html |   15 +
 .../ch/qos/logback/core/status/ErrorStatus.java    |   28 +
 .../ch/qos/logback/core/status/InfoStatus.java     |   27 +
 .../qos/logback/core/status/NopStatusListener.java |   27 +
 .../core/status/OnConsoleStatusListener.java       |   47 +
 .../core/status/OnErrorConsoleStatusListener.java  |   30 +
 .../status/OnPrintStreamStatusListenerBase.java    |   93 +
 .../java/ch/qos/logback/core/status/Status.java    |   37 +
 .../ch/qos/logback/core/status/StatusBase.java     |  175 +
 .../ch/qos/logback/core/status/StatusListener.java |   24 +
 .../logback/core/status/StatusListenerAsList.java  |   38 +
 .../ch/qos/logback/core/status/StatusManager.java  |   80 +
 .../ch/qos/logback/core/status/StatusUtil.java     |  185 +
 .../core/status/ViewStatusMessagesServletBase.java |  195 +
 .../ch/qos/logback/core/status/WarnStatus.java     |   29 +
 .../java/ch/qos/logback/core/status/package.html   |   13 +
 .../main/java/ch/qos/logback/core/subst/Node.java  |  124 +
 .../core/subst/NodeToStringTransformer.java        |  183 +
 .../java/ch/qos/logback/core/subst/Parser.java     |  163 +
 .../main/java/ch/qos/logback/core/subst/Token.java |   63 +
 .../java/ch/qos/logback/core/subst/Tokenizer.java  |  128 +
 .../ch/qos/logback/core/util/AggregationType.java  |   36 +
 .../logback/core/util/CachingDateFormatter.java    |   58 +
 .../qos/logback/core/util/CharSequenceState.java   |   32 +
 .../core/util/CharSequenceToRegexMapper.java       |   79 +
 .../java/ch/qos/logback/core/util/CloseUtil.java   |   71 +
 .../ch/qos/logback/core/util/ContentTypeUtil.java  |   47 +
 .../java/ch/qos/logback/core/util/ContextUtil.java |  109 +
 .../logback/core/util/DatePatternToRegexUtil.java  |   62 +
 .../ch/qos/logback/core/util/DelayStrategy.java    |   28 +
 .../java/ch/qos/logback/core/util/Duration.java    |  126 +
 .../core/util/DynamicClassLoadingException.java    |   23 +
 .../java/ch/qos/logback/core/util/EnvUtil.java     |   71 +
 .../qos/logback/core/util/ExecutorServiceUtil.java |   51 +
 .../java/ch/qos/logback/core/util/FileSize.java    |   84 +
 .../java/ch/qos/logback/core/util/FileUtil.java    |  133 +
 .../java/ch/qos/logback/core/util/FixedDelay.java  |   59 +
 .../core/util/IncompatibleClassException.java      |   28 +
 .../ch/qos/logback/core/util/InvocationGate.java   |   61 +
 .../main/java/ch/qos/logback/core/util/Loader.java |  197 +
 .../ch/qos/logback/core/util/LocationUtil.java     |   75 +
 .../ch/qos/logback/core/util/OptionHelper.java     |  272 ++
 .../logback/core/util/PropertySetterException.java |   37 +
 .../ch/qos/logback/core/util/StatusPrinter.java    |  195 +
 .../logback/core/util/StringCollectionUtil.java    |  112 +
 .../java/ch/qos/logback/core/util/SystemInfo.java  |   24 +
 .../java/ch/qos/logback/core/util/TimeUtil.java    |   89 +
 .../java/ch/qos/logback/core/util/package.html     |   13 +
 logback-core/src/test/input/.gitignore             |    1 +
 logback-core/src/test/input/compress1.copy         |    8 +
 logback-core/src/test/input/compress1.txt          |    8 +
 logback-core/src/test/input/compress2.copy         |   34 +
 logback-core/src/test/input/compress2.txt          |   34 +
 logback-core/src/test/input/compress3.copy         |   42 +
 logback-core/src/test/input/joran/ampEvent.xml     |    3 +
 .../src/test/input/joran/attributesEvent.xml       |    3 +
 .../src/test/input/joran/conditional/if0.xml       |   14 +
 .../src/test/input/joran/conditional/ifSystem.xml  |   12 +
 .../test/input/joran/conditional/ifWithoutElse.xml |   11 +
 .../input/joran/conditional/if_localProperty.xml   |   15 +
 .../src/test/input/joran/conditional/includedA.xml |    7 +
 .../src/test/input/joran/conditional/includedB.xml |    6 +
 .../src/test/input/joran/conditional/nestedIf.xml  |   26 +
 .../test/input/joran/conditional/nestedInclude.xml |   22 +
 .../src/test/input/joran/define/badclass.xml       |    1 +
 logback-core/src/test/input/joran/define/good.xml  |    3 +
 .../src/test/input/joran/define/noclass.xml        |    3 +
 .../src/test/input/joran/define/noname.xml         |    3 +
 logback-core/src/test/input/joran/event1.xml       |   14 +
 logback-core/src/test/input/joran/fire1.xml        |    5 +
 logback-core/src/test/input/joran/illformed.xml    |    5 +
 .../input/joran/implicitAction/nestedComplex.xml   |    9 +
 .../implicitAction/nestedComplexCollection.xml     |   17 +
 ...estedComplexCollectionWithoutClassAtrribute.xml |   17 +
 .../nestedComplexWithoutClassAtrribute.xml         |    9 +
 logback-core/src/test/input/joran/inc.xml          |    5 +
 .../src/test/input/joran/inclusion/included.xml    |    9 +
 .../input/joran/inclusion/intermediaryByFile.xml   |    8 +
 .../src/test/input/joran/inclusion/invalid.xml     |    1 +
 .../input/joran/inclusion/multiIncludeByFile.xml   |    7 +
 .../src/test/input/joran/inclusion/second.xml      |    8 +
 .../src/test/input/joran/inclusion/subByFile.xml   |    3 +
 .../src/test/input/joran/inclusion/topByFile.xml   |    6 +
 .../test/input/joran/inclusion/topByResource.xml   |    8 +
 .../src/test/input/joran/inclusion/topByUrl.xml    |    6 +
 .../src/test/input/joran/inclusion/topOptional.xml |    9 +
 .../input/joran/inclusion/topOptionalResource.xml  |    9 +
 .../test/input/joran/propertyActionTest.properties |    2 +
 .../src/test/input/joran/replay/fruit1.xml         |    9 +
 .../src/test/input/joran/replay/fruit2.xml         |   16 +
 .../src/test/input/joran/replay/fruitWithSubst.xml |   10 +
 .../src/test/input/joran/skip/badBegin1.xml        |   14 +
 .../src/test/input/joran/skip/badBegin2.xml        |   14 +
 logback-core/src/test/input/joran/skip/badEnd1.xml |   15 +
 logback-core/src/test/input/joran/skip/badEnd2.xml |   17 +
 .../src/test/input/joran/spacesAndQuotes.xml       |    6 +
 .../test/java/ch/qos/logback/core/AllCoreTest.java |   37 +
 .../ch/qos/logback/core/AsyncAppenderBaseTest.java |  175 +
 .../qos/logback/core/BasicStatusManagerTest.java   |   66 +
 .../java/ch/qos/logback/core/ContextBaseTest.java  |  126 +
 .../logback/core/FileAppenderResilienceTest.java   |  122 +
 .../core/FileAppenderResilience_AS_ROOT_Test.java  |  137 +
 .../ch/qos/logback/core/LifeCycleManagerTest.java  |   40 +
 .../qos/logback/core/MockLifeCycleComponent.java   |   21 +
 .../qos/logback/core/OutputStreamAppenderTest.java |  122 +
 .../test/java/ch/qos/logback/core/PackageTest.java |   27 +
 .../core/appender/AbstractAppenderTest.java        |   68 +
 .../logback/core/appender/ConsoleAppenderTest.java |  159 +
 .../logback/core/appender/DummyAppenderTest.java   |   54 +
 .../logback/core/appender/DummyWriterAppender.java |   26 +
 .../logback/core/appender/FileAppenderTest.java    |  129 +
 .../ch/qos/logback/core/appender/PackageTest.java  |   26 +
 .../logback/core/appender/XTeeOutputStream.java    |   38 +
 .../ch/qos/logback/core/boolex/MatcherTest.java    |   77 +
 .../contention/AbstractMultiThreadedHarness.java   |   42 +
 .../core/contention/MultiThreadedHarness.java      |   49 +
 .../contention/RunnableWithCounterAndDone.java     |   39 +
 .../contention/ThreadedThroughputCalculator.java   |   48 +
 .../WaitOnExecutionMultiThreadedHarness.java       |   33 +
 .../logback/core/encoder/ByteArrayUtilTest.java    |   53 +
 .../ch/qos/logback/core/encoder/DummyEncoder.java  |  106 +
 .../ch/qos/logback/core/encoder/NopEncoder.java    |   29 +
 .../core/encoder/ObjectEncodeDecodeTest.java       |   94 +
 .../ch/qos/logback/core/encoder/PackageTest.java   |   22 +
 .../qos/logback/core/helpers/CyclicBufferTest.java |   61 +
 .../logback/core/helpers/FileFilterUtilTest.java   |   56 +
 .../ch/qos/logback/core/helpers/PackageTest.java   |   25 +
 .../core/helpers/ThrowableToStringArrayTest.java   |   93 +
 .../java/ch/qos/logback/core/issue/LBCORE97.java   |  191 +
 .../qos/logback/core/issue/LOGBACK_849/Basic.java  |   62 +
 .../ch/qos/logback/core/issue/LockThroughput.java  |   60 +
 .../ch/qos/logback/core/issue/LockingInJava.java   |   94 +
 .../qos/logback/core/issue/NoLockThroughput.java   |   52 +
 .../ch/qos/logback/core/issue/NoLockingInJava.java |   87 +
 .../logback/core/issue/SelectiveLockRunnable.java  |  106 +
 .../core/issue/lbcore258/FileLockSimulator.java    |  102 +
 .../ch/qos/logback/core/joran/PackageTest.java     |   33 +
 .../qos/logback/core/joran/SimpleConfigurator.java |   56 +
 .../core/joran/SkippingInInterpreterTest.java      |  115 +
 .../logback/core/joran/TrivialConfigurator.java    |   43 +
 .../core/joran/TrivialConfiguratorTest.java        |  177 +
 .../joran/action/AsLowerCasePropertyDefiner.java   |   33 +
 .../joran/action/DefinePropertyActionTest.java     |  108 +
 .../logback/core/joran/action/DummyAttributes.java |   76 +
 .../core/joran/action/IncludeActionTest.java       |  234 +
 .../qos/logback/core/joran/action/PackageTest.java |   23 +
 .../core/joran/action/PropertyActionTest.java      |  161 +
 .../core/joran/action/ext/BadBeginAction.java      |   52 +
 .../core/joran/action/ext/BadEndAction.java        |   51 +
 .../logback/core/joran/action/ext/HelloAction.java |   43 +
 .../logback/core/joran/action/ext/IncAction.java   |   56 +
 .../logback/core/joran/action/ext/StackAction.java |   44 +
 .../logback/core/joran/action/ext/TouchAction.java |   47 +
 .../IfThenElseAndIncludeCompositionTest.java       |   95 +
 .../core/joran/conditional/IfThenElseTest.java     |  145 +
 .../core/joran/conditional/PackageTest.java        |   25 +
 .../conditional/PropertyEvalScriptBuilderTest.java |  122 +
 .../logback/core/joran/event/InPlayFireTest.java   |   79 +
 .../qos/logback/core/joran/event/ListenAction.java |   49 +
 .../qos/logback/core/joran/event/PackageTest.java  |   23 +
 .../core/joran/event/SaxEventRecorderTest.java     |  109 +
 .../joran/event/stax/StaxEventRecorderTest.java    |   84 +
 .../logback/core/joran/implicitAction/Cake.java    |   35 +
 .../logback/core/joran/implicitAction/Fruit.java   |   40 +
 .../core/joran/implicitAction/FruitContext.java    |   36 +
 .../joran/implicitAction/FruitContextAction.java   |   64 +
 .../joran/implicitAction/ImplicitActionTest.java   |  126 +
 .../core/joran/implicitAction/PackageTest.java     |   23 +
 .../ch/qos/logback/core/joran/replay/Fruit.java    |   46 +
 .../core/joran/replay/FruitConfigurationTest.java  |  114 +
 .../core/joran/replay/FruitConfigurator.java       |   62 +
 .../logback/core/joran/replay/FruitContext.java    |   36 +
 .../logback/core/joran/replay/FruitFactory.java    |   69 +
 .../core/joran/replay/FruitFactoryAction.java      |   58 +
 .../qos/logback/core/joran/replay/FruitShell.java  |   62 +
 .../core/joran/replay/FruitShellAction.java        |   87 +
 .../qos/logback/core/joran/replay/PackageTest.java |   24 +
 .../logback/core/joran/replay/WeightytFruit.java   |   29 +
 .../qos/logback/core/joran/spi/CaseCombinator.java |  101 +
 .../logback/core/joran/spi/CaseCombinatorTest.java |   53 +
 .../core/joran/spi/ConfigurationWatchListTest.java |   38 +
 .../spi/DefaultNestedComponentRegistryTest.java    |   54 +
 .../qos/logback/core/joran/spi/DoNotAutoStart.java |   34 +
 .../core/joran/spi/ElementSelectorTest.java        |  179 +
 .../core/joran/spi/NoAutoStartUtilTest.java        |   36 +
 .../ch/qos/logback/core/joran/spi/PackageTest.java |   25 +
 .../core/joran/spi/SimpleRuleStoreTest.java        |  266 ++
 .../java/ch/qos/logback/core/joran/util/House.java |  182 +
 .../qos/logback/core/joran/util/PackageTest.java   |   23 +
 .../core/joran/util/PropertySetterTest.java        |  247 ++
 .../ch/qos/logback/core/layout/DummyLayout.java    |   36 +
 .../java/ch/qos/logback/core/layout/NopLayout.java |   23 +
 .../core/net/AbstractSSLSocketAppenderTest.java    |   64 +
 .../core/net/AbstractSocketAppenderTest.java       |  255 ++
 .../core/net/DefaultSocketConnectorTest.java       |  172 +
 .../java/ch/qos/logback/core/net/PackageTest.java  |   28 +
 .../logback/core/net/SyslogAppenderBaseTest.java   |   50 +
 .../ch/qos/logback/core/net/mock/MockContext.java  |   90 +
 .../logback/core/net/mock/MockExecutorService.java |   61 +
 .../server/AbstractServerSocketAppenderTest.java   |  103 +
 .../net/server/ConcurrentServerRunnerTest.java     |  173 +
 .../InstrumentedServerSocketAppenderBase.java      |  105 +
 .../ch/qos/logback/core/net/server/MockClient.java |   63 +
 .../logback/core/net/server/MockClientVisitor.java |   36 +
 .../logback/core/net/server/MockEventQueue.java    |   36 +
 .../core/net/server/MockServerListener.java        |   81 +
 .../logback/core/net/server/MockServerRunner.java  |   70 +
 .../qos/logback/core/net/server/PackageTest.java   |   27 +
 .../net/server/RemoteReceiverStreamClientTest.java |   88 +
 .../server/SSLServerSocketAppenderBaseTest.java    |   66 +
 .../ServerSocketAppenderBaseFunctionalTest.java    |   83 +
 .../core/net/server/ServerSocketListenerTest.java  |  155 +
 .../logback/core/net/server/ServerSocketUtil.java  |   69 +
 .../net/ssl/KeyManagerFactoryFactoryBeanTest.java  |   54 +
 .../core/net/ssl/KeyStoreFactoryBeanTest.java      |   70 +
 .../ch/qos/logback/core/net/ssl/PackageTest.java   |   32 +
 .../logback/core/net/ssl/SSLConfigurationTest.java |   34 +
 .../core/net/ssl/SSLContextFactoryBeanTest.java    |  113 +
 .../net/ssl/SSLParametersConfigurationTest.java    |  145 +
 .../qos/logback/core/net/ssl/SSLTestConstants.java |   33 +
 .../core/net/ssl/SecureRandomFactoryBeanTest.java  |   76 +
 .../ssl/TrustManagerFactoryFactoryBeanTest.java    |   54 +
 .../core/net/ssl/mock/MockContextAware.java        |   68 +
 .../ssl/mock/MockKeyManagerFactoryFactoryBean.java |   44 +
 .../core/net/ssl/mock/MockKeyStoreFactoryBean.java |   43 +
 .../core/net/ssl/mock/MockSSLConfigurable.java     |   95 +
 .../net/ssl/mock/MockSecureRandomFactoryBean.java  |   42 +
 .../mock/MockTrustManagerFactoryFactoryBean.java   |   45 +
 .../ch/qos/logback/core/pattern/Converter123.java  |   24 +
 .../qos/logback/core/pattern/ConverterHello.java   |   24 +
 .../logback/core/pattern/ExceptionalConverter.java |   27 +
 .../ch/qos/logback/core/pattern/PackageTest.java   |   23 +
 .../qos/logback/core/pattern/SpacePadderTest.java  |  107 +
 .../parser/AbstractPatternLayoutBaseTest.java      |  106 +
 .../logback/core/pattern/parser/CompilerTest.java  |  256 ++
 .../core/pattern/parser/FormatInfoTest.java        |  120 +
 .../core/pattern/parser/OptionTokenizerTest.java   |  140 +
 .../logback/core/pattern/parser/PackageTest.java   |   28 +
 .../logback/core/pattern/parser/ParserTest.java    |  291 ++
 .../core/pattern/parser/SamplePatternLayout.java   |   42 +
 .../pattern/parser/SamplePatternLayoutTest.java    |   90 +
 .../core/pattern/parser/TokenStreamTest.java       |  421 ++
 .../core/read/CyclicBufferAppenderTest.java        |   49 +
 .../ch/qos/logback/core/recovery/PackageTest.java  |   23 +
 .../core/recovery/RecoveryCoordinatorTest.java     |   79 +
 .../core/recovery/ResilientOutputStreamTest.java   |   65 +
 .../core/rolling/DefaultRolloverChecker.java       |   55 +
 .../logback/core/rolling/FileMatchFunction.java    |   28 +
 .../ch/qos/logback/core/rolling/FileOpener.java    |   33 +
 .../core/rolling/MultiThreadedRollingTest.java     |  292 ++
 .../ch/qos/logback/core/rolling/PackageTest.java   |   27 +
 .../qos/logback/core/rolling/RenameUtilTest.java   |  108 +
 .../core/rolling/RollingFileAppenderTest.java      |  210 +
 .../qos/logback/core/rolling/RolloverChecker.java  |   23 +
 .../core/rolling/ScaffoldingForRollingTests.java   |  283 ++
 .../core/rolling/SizeAndTimeBasedFNATP_Test.java   |  196 +
 .../logback/core/rolling/SizeBasedRollingTest.java |  118 +
 .../rolling/SizeBasedTriggeringPolicyTest.java     |   58 +
 ...BasedFileNamingAndTriggeringPolicyBaseTest.java |   84 +
 .../logback/core/rolling/TimeBasedRollingTest.java |  285 ++
 .../TimeBasedRollingWithArchiveRemoval_Test.java   |  401 ++
 .../qos/logback/core/rolling/ZRolloverChecker.java |   39 +
 .../logback/core/rolling/helper/CompressTest.java  |  140 +
 .../core/rolling/helper/FileNamePatternTest.java   |  150 +
 .../core/rolling/helper/FileStoreUtilTest.java     |   61 +
 .../logback/core/rolling/helper/PackageTest.java   |   27 +
 .../core/rolling/helper/RollingCalendarTest.java   |   95 +
 .../qos/logback/core/sift/AppenderTrackerTest.java |  153 +
 .../java/ch/qos/logback/core/sift/PackageTest.java |   23 +
 .../core/spi/AppenderAttachableImplLockTest.java   |   98 +
 .../core/spi/AppenderAttachableImplTest.java       |  170 +
 .../core/spi/CyclicBufferTrackerSimulator.java     |  134 +
 .../qos/logback/core/spi/CyclicBufferTrackerT.java |  246 ++
 .../logback/core/spi/CyclicBufferTrackerTest.java  |   79 +
 .../java/ch/qos/logback/core/spi/PackageTest.java  |   25 +
 .../spi/ScenarioBasedCyclicBufferTrackerTest.java  |   73 +
 .../ch/qos/logback/core/status/PackageTest.java    |   24 +
 .../ch/qos/logback/core/status/StatusBaseTest.java |   93 +
 .../ch/qos/logback/core/status/StatusChecker.java  |   51 +
 .../ch/qos/logback/core/status/StatusUtilTest.java |   53 +
 .../logback/core/status/TrivialStatusListener.java |   45 +
 .../core/subst/NodeToStringTransformerTest.java    |  136 +
 .../ch/qos/logback/core/subst/PackageTest.java     |   24 +
 .../java/ch/qos/logback/core/subst/ParserTest.java |  199 +
 .../ch/qos/logback/core/subst/TokenizerTest.java   |  148 +
 .../core/testUtil/DelayingListAppender.java        |   35 +
 .../qos/logback/core/testUtil/EnvUtilForTests.java |   76 +
 .../ch/qos/logback/core/testUtil/FileTestUtil.java |   37 +
 .../logback/core/testUtil/FileToBufferUtil.java    |   75 +
 .../ch/qos/logback/core/testUtil/NPEAppender.java  |   23 +
 .../ch/qos/logback/core/testUtil/RandomUtil.java   |   35 +
 .../logback/core/testUtil/StringListAppender.java  |   53 +
 .../java/ch/qos/logback/core/util/Compare.java     |  179 +
 .../qos/logback/core/util/ContentTypeUtilTest.java |   44 +
 .../qos/logback/core/util/CoreTestConstants.java   |   34 +
 .../logback/core/util/DatePatternToRegexTest.java  |  117 +
 .../ch/qos/logback/core/util/DurationTest.java     |  104 +
 .../ch/qos/logback/core/util/FileSizeTest.java     |   56 +
 .../ch/qos/logback/core/util/FileUtilTest.java     |   94 +
 .../ch/qos/logback/core/util/LocationUtilTest.java |  100 +
 .../ch/qos/logback/core/util/OptionHelperTest.java |  259 ++
 .../java/ch/qos/logback/core/util/PackageTest.java |   30 +
 .../ch/qos/logback/core/util/ResilienceUtil.java   |   58 +
 .../qos/logback/core/util/StatusPrinterTest.java   |  120 +
 .../core/util/StringCollectionUtilTest.java        |   82 +
 .../ch/qos/logback/core/util/TeeOutputStream.java  |   52 +
 .../ch/qos/logback/core/util/TimeUtilTest.java     |  123 +
 logback-core/src/test/loopfs.sh                    |   62 +
 .../joran/inclusion/includedAsResource.xml         |    9 +
 .../asResource/joran/propertyActionTest.properties |    2 +
 logback-core/src/test/resources/net/ssl/README     |   11 +
 logback-core/src/test/resources/net/ssl/cert.pem   |   19 +
 logback-core/src/test/resources/net/ssl/key.pem    |   27 +
 .../src/test/resources/net/ssl/keystore.jks        |  Bin 0 -> 2168 bytes
 .../src/test/resources/net/ssl/keystore.p12        |  Bin 0 -> 2534 bytes
 logback-core/src/test/resources/util/README        |    2 +
 .../src/test/resources/util/testResource.txt       |    1 +
 .../logback/core/rolling/RollingScaffolding.scala  |  189 +
 .../core/rolling/SizeAndTimeBasedFNATP_STest.scala |  188 +
 .../core/rolling/SizeBasedRolling_STest.scala      |  117 +
 .../TimeBasedRollingWithArchiveRemoval_STest.scala |  328 ++
 .../core/rolling/TimeBasedRolling_STest.scala      |  209 +
 logback-core/src/test/witness/compress1.txt.gz     |  Bin 0 -> 239 bytes
 logback-core/src/test/witness/compress2.txt.gz     |  Bin 0 -> 546 bytes
 logback-core/src/test/witness/rolling/renaming.0   |    1 +
 logback-core/src/test/witness/rolling/renaming.1   |    1 +
 logback-core/src/test/witness/rolling/sbr-test2.0  |    1 +
 logback-core/src/test/witness/rolling/sbr-test2.1  |    1 +
 logback-core/src/test/witness/rolling/sbr-test2.l  |    1 +
 .../src/test/witness/rolling/sbr-test3.0.gz        |  Bin 0 -> 33 bytes
 .../src/test/witness/rolling/sbr-test3.1.gz        |  Bin 0 -> 33 bytes
 logback-core/src/test/witness/rolling/sbr-test3.l  |    1 +
 .../src/test/witness/rolling/tbr-failed_rename     |    3 +
 logback-core/src/test/witness/rolling/tbr-test1.0  |    0
 logback-core/src/test/witness/rolling/tbr-test1.1  |    2 +
 logback-core/src/test/witness/rolling/tbr-test1.2  |    1 +
 .../src/test/witness/rolling/tbr-test2.0.gz        |  Bin 0 -> 20 bytes
 .../src/test/witness/rolling/tbr-test2.1.gz        |  Bin 0 -> 34 bytes
 logback-core/src/test/witness/rolling/tbr-test2.2  |    1 +
 logback-core/src/test/witness/rolling/tbr-test3.0  |    0
 logback-core/src/test/witness/rolling/tbr-test3.1  |    2 +
 logback-core/src/test/witness/rolling/tbr-test3.2  |    2 +
 logback-core/src/test/witness/rolling/tbr-test3.3  |    2 +
 logback-core/src/test/witness/rolling/tbr-test4.0  |    0
 logback-core/src/test/witness/rolling/tbr-test4.1  |    2 +
 logback-core/src/test/witness/rolling/tbr-test4.2  |    2 +
 logback-core/src/test/witness/rolling/tbr-test4.3  |    2 +
 logback-core/src/test/witness/rolling/tbr-test4B.0 |    0
 logback-core/src/test/witness/rolling/tbr-test4B.1 |    2 +
 logback-core/src/test/witness/rolling/tbr-test4B.2 |    1 +
 logback-core/src/test/witness/rolling/tbr-test4B.3 |    1 +
 logback-core/src/test/witness/rolling/tbr-test4B.4 |    2 +
 logback-core/src/test/witness/rolling/tbr-test5.0  |    0
 logback-core/src/test/witness/rolling/tbr-test5.1  |    2 +
 logback-core/src/test/witness/rolling/tbr-test5.2  |    1 +
 .../src/test/witness/rolling/tbr-test6.0.gz        |  Bin 0 -> 20 bytes
 .../src/test/witness/rolling/tbr-test6.1.gz        |  Bin 0 -> 34 bytes
 logback-core/src/test/witness/rolling/tbr-test6.2  |    1 +
 .../src/test/witness/rolling/tbr-test7.0.gz        |  Bin 0 -> 20 bytes
 .../src/test/witness/rolling/tbr-test7.1.gz        |  Bin 0 -> 36 bytes
 logback-core/src/test/witness/rolling/tbr-test7.2  |    1 +
 .../src/test/witness/rolling/tbr-test8.0.zip       |  Bin 0 -> 156 bytes
 .../src/test/witness/rolling/tbr-test8.1.zip       |  Bin 0 -> 172 bytes
 logback-core/src/test/witness/rolling/tbr-test8.2  |    1 +
 logback-examples/pom.xml                           |  120 +
 logback-examples/setClasspath.cmd                  |   13 +
 logback-examples/setClasspath.sh                   |   16 +
 .../chapters/appenders/ConfigurationTester.java    |   60 +
 .../appenders/CountingConsoleAppender.java         |   73 +
 .../src/main/java/chapters/appenders/IO.java       |  181 +
 .../java/chapters/appenders/IOPerformance.java     |  165 +
 .../chapters/appenders/conf/access/logback-DB.xml  |   14 +
 .../appenders/conf/access/logback-SMTP.xml         |   21 +
 .../chapters/appenders/conf/logback-Console.xml    |   15 +
 .../appenders/conf/logback-HtmlToConsole.xml       |   18 +
 .../chapters/appenders/conf/logback-JMSQueue.xml   |   17 +
 .../chapters/appenders/conf/logback-JMSTopic.xml   |   17 +
 .../java/chapters/appenders/conf/logback-MDC.xml   |   13 +
 .../conf/logback-PrudentTimeBasedRolling.xml       |   19 +
 .../appenders/conf/logback-RollingFixedWindow.xml  |   22 +
 .../appenders/conf/logback-RollingSizeBased.xml    |   23 +
 .../appenders/conf/logback-RollingTimeBased.xml    |   21 +
 .../java/chapters/appenders/conf/logback-SMTP.xml  |   19 +
 .../appenders/conf/logback-SMTPWithHtml.xml        |   20 +
 .../java/chapters/appenders/conf/logback-async.xml |   16 +
 .../appenders/conf/logback-fileAppender.xml        |   17 +
 .../appenders/conf/logback-sizeAndTime.xml         |   25 +
 .../chapters/appenders/conf/logback-syslog.xml     |   13 +
 .../conf/logback-timestamp-contextBirth.xml        |   22 +
 .../chapters/appenders/conf/logback-timestamp.xml  |   20 +
 .../java/chapters/appenders/countingConsole.xml    |   19 +
 .../appenders/db/append-and-share-with-jndi.xml    |   39 +
 .../append-toMySQL-with-datasource-and-pooling.xml |   17 +
 .../db/append-toMySQL-with-datasource.xml          |   21 +
 .../db/append-toMySQL-with-driverManager.xml       |   17 +
 .../java/chapters/appenders/db/append-via-jndi.xml |   11 +
 .../chapters/appenders/db/append-with-c3p0.xml     |   25 +
 .../appenders/db/append-with-datasource.xml        |   29 +
 .../appenders/db/append-with-drivermanager.xml     |   19 +
 .../appenders/db/append-with-pooled-datasource.xml |   30 +
 .../appenders/mail/CounterBasedEvaluator.java      |   63 +
 .../main/java/chapters/appenders/mail/EMail.java   |   67 +
 .../java/chapters/appenders/mail/Marked_EMail.java |   70 +
 .../chapters/appenders/mail/customBufferSize.xml   |   20 +
 .../main/java/chapters/appenders/mail/gmailSSL.xml |   22 +
 .../java/chapters/appenders/mail/gmailSTARTTLS.xml |   21 +
 .../main/java/chapters/appenders/mail/mail1.xml    |   17 +
 .../main/java/chapters/appenders/mail/mail2.xml    |   18 +
 .../main/java/chapters/appenders/mail/mail3.xml    |   24 +
 .../mail/mailWithMDCBasedDiscriminator.xml         |   27 +
 .../chapters/appenders/mail/mailWithMarker.xml     |   24 +
 .../mail/mailWithMarker_GEventEvaluator.xml        |   24 +
 .../appenders/mail/mailWithMarker_Janino.xml       |   25 +
 .../java/chapters/appenders/sift/SiftExample.java  |   55 +
 .../chapters/appenders/sift/access-siftingFile.xml |   22 +
 .../main/java/chapters/appenders/sift/byUserid.xml |   21 +
 .../appenders/socket/ConsolePluginClient.java      |  123 +
 .../chapters/appenders/socket/SocketClient1.java   |   81 +
 .../chapters/appenders/socket/SocketClient2.java   |   73 +
 .../java/chapters/appenders/socket/client1.xml     |   23 +
 .../java/chapters/appenders/socket/client2.xml     |   28 +
 .../java/chapters/appenders/socket/server1.xml     |   47 +
 .../java/chapters/appenders/socket/server2.xml     |   25 +
 .../java/chapters/appenders/socket/ssl/client.xml  |   28 +
 .../chapters/appenders/socket/ssl/keystore.jks     |  Bin 0 -> 2168 bytes
 .../java/chapters/appenders/socket/ssl/server.xml  |   22 +
 .../chapters/appenders/socket/ssl/truststore.jks   |  Bin 0 -> 861 bytes
 .../java/chapters/appenders/sub/sample/Bar.java    |   34 +
 .../src/main/java/chapters/architecture/Bar.java   |   25 +
 .../chapters/architecture/MyAppWithConfigFile.java |   45 +
 .../java/chapters/architecture/SelectionRule.java  |   51 +
 .../java/chapters/architecture/sample-config-1.xml |   15 +
 .../java/chapters/architecture/sample-config-2.xml |   24 +
 .../java/chapters/architecture/sample-config-3.xml |   26 +
 .../configuration/AddStatusListenerApp.java        |   41 +
 .../src/main/java/chapters/configuration/Foo.java  |   26 +
 .../main/java/chapters/configuration/MyApp1.java   |   30 +
 .../main/java/chapters/configuration/MyApp2.java   |   36 +
 .../main/java/chapters/configuration/MyApp3.java   |   53 +
 .../java/chapters/configuration/additivityFlag.xml |   26 +
 .../chapters/configuration/containingConfig.xml    |   12 +
 .../java/chapters/configuration/contextName.xml    |   15 +
 .../configuration/contextScopedVariable.xml        |   15 +
 .../main/java/chapters/configuration/duplicate.xml |   19 +
 .../java/chapters/configuration/includedConfig.xml |   13 +
 .../java/chapters/configuration/insertFromJNDI.xml |   18 +
 .../main/java/chapters/configuration/multiple.xml  |   21 +
 .../configuration/onConsoleStatusListener.xml      |   21 +
 .../java/chapters/configuration/restricted.xml     |   25 +
 .../main/java/chapters/configuration/sample0.xml   |   17 +
 .../main/java/chapters/configuration/sample1.xml   |   17 +
 .../main/java/chapters/configuration/sample2.xml   |   23 +
 .../main/java/chapters/configuration/sample3.xml   |   24 +
 .../main/java/chapters/configuration/sample4.xml   |   21 +
 .../src/main/java/chapters/configuration/scan1.xml |   17 +
 .../src/main/java/chapters/configuration/scan2.xml |   15 +
 .../configuration/variableSubstitution1.xml        |   15 +
 .../configuration/variableSubstitution2.xml        |   13 +
 .../configuration/variableSubstitution3.xml        |   15 +
 .../configuration/variableSubstitution4.xml        |   15 +
 .../chapters/configuration/variables1.properties   |    1 +
 .../chapters/configuration/variables2.properties   |    3 +
 .../main/java/chapters/filters/FilterEvents.java   |   59 +
 .../src/main/java/chapters/filters/GoMDC.java      |   48 +
 .../main/java/chapters/filters/SampleFilter.java   |   30 +
 .../java/chapters/filters/SampleTurboFilter.java   |   59 +
 .../java/chapters/filters/accessEventEvaluator.xml |   17 +
 .../chapters/filters/accessEventEvaluator2.xml     |   21 +
 .../java/chapters/filters/basicConfiguration.xml   |   12 +
 .../java/chapters/filters/basicEventEvaluator.xml  |   19 +
 .../java/chapters/filters/duplicateMessage.xml     |   16 +
 .../java/chapters/filters/evaluatorWithMatcher.xml |   25 +
 .../java/chapters/filters/levelFilterConfig.xml    |   17 +
 .../src/main/java/chapters/filters/mdcfilter.xml   |   23 +
 .../java/chapters/filters/sampleFilterConfig.xml   |   16 +
 .../chapters/filters/sampleTurboFilterConfig.xml   |   16 +
 .../chapters/filters/thresholdFilterConfig.xml     |   20 +
 .../main/java/chapters/filters/turboFilters.xml    |   25 +
 .../java/chapters/introduction/HelloWorld1.java    |   26 +
 .../java/chapters/introduction/HelloWorld2.java    |   31 +
 .../chapters/layouts/CallerEvaluatorExample.java   |   48 +
 .../layouts/ExceptionEvaluatorExample.java         |   49 +
 .../java/chapters/layouts/MySampleConverter.java   |   29 +
 .../main/java/chapters/layouts/MySampleLayout.java |   36 +
 .../java/chapters/layouts/MySampleLayout2.java     |   54 +
 .../main/java/chapters/layouts/PatternSample.java  |   46 +
 .../main/java/chapters/layouts/SampleLogging.java  |   45 +
 .../main/java/chapters/layouts/TestException.java  |   23 +
 .../main/java/chapters/layouts/TrivialMain.java    |   50 +
 .../chapters/layouts/callerEvaluatorConfig.xml     |   18 +
 .../chapters/layouts/exceptionEvaluatorConfig.xml  |   16 +
 .../src/main/java/chapters/layouts/highlighted.xml |   16 +
 .../java/chapters/layouts/htmlLayoutConfig1.xml    |   14 +
 .../main/java/chapters/layouts/log4jXMLLayout.xml  |   14 +
 .../chapters/layouts/mySampleConverterConfig.xml   |   15 +
 .../java/chapters/layouts/sampleLayoutConfig.xml   |   12 +
 .../java/chapters/layouts/sampleLayoutConfig2.xml  |   16 +
 .../src/main/java/chapters/mdc/NumberCruncher.java |   29 +
 .../java/chapters/mdc/NumberCruncherClient.java    |   86 +
 .../java/chapters/mdc/NumberCruncherServer.java    |  162 +
 .../src/main/java/chapters/mdc/SimpleMDC.java      |   94 +
 .../main/java/chapters/mdc/UserServletFilter.java  |   85 +
 .../src/main/java/chapters/mdc/mdc1.xml            |   16 +
 .../src/main/java/chapters/mdc/simpleMDC.xml       |   15 +
 .../chapters/migrationFromLog4j/Log4jMain.java     |   34 +
 .../chapters/migrationFromLog4j/LogbackMain.java   |   48 +
 .../migrationFromLog4j/TrivialLog4jAppender.java   |   34 +
 .../migrationFromLog4j/TrivialLog4jLayout.java     |   43 +
 .../migrationFromLog4j/TrivialLogbackAppender.java |   60 +
 .../migrationFromLog4j/TrivialLogbackLayout.java   |   33 +
 .../migrationFromLog4j/log4jTrivial.properties     |    3 +
 .../migrationFromLog4j/logback-trivial.xml         |   10 +
 .../java/chapters/onJoran/SimpleConfigurator.java  |   64 +
 .../chapters/onJoran/calculator/AddAction.java     |   69 +
 .../chapters/onJoran/calculator/Calculator1.java   |   55 +
 .../chapters/onJoran/calculator/Calculator2.java   |   64 +
 .../onJoran/calculator/ComputationAction1.java     |   61 +
 .../onJoran/calculator/ComputationAction2.java     |   86 +
 .../chapters/onJoran/calculator/LiteralAction.java |   58 +
 .../onJoran/calculator/MultiplyAction.java         |   66 +
 .../chapters/onJoran/calculator/calculator1.xml    |    3 +
 .../chapters/onJoran/calculator/calculator2.xml    |   10 +
 .../chapters/onJoran/calculator/calculator3.xml    |   15 +
 .../java/chapters/onJoran/calculator/readme.txt    |    7 +
 .../chapters/onJoran/helloWorld/HelloWorld.java    |   48 +
 .../onJoran/helloWorld/HelloWorldAction.java       |   35 +
 .../java/chapters/onJoran/helloWorld/hello.xml     |    2 +
 .../java/chapters/onJoran/helloWorld/readme.txt    |    6 +
 .../java/chapters/onJoran/implicit/NOPAction.java  |   34 +
 .../java/chapters/onJoran/implicit/PrintMe.java    |   61 +
 .../onJoran/implicit/PrintMeImplicitAction.java    |   44 +
 .../java/chapters/onJoran/implicit/implicit1.xml   |   21 +
 .../main/java/chapters/onJoran/implicit/readme.txt |    7 +
 .../onJoran/newRule/NewRuleCalculator.java         |   63 +
 .../main/java/chapters/onJoran/newRule/newRule.xml |   23 +
 .../main/java/chapters/onJoran/newRule/readme.txt  |    8 +
 .../chapters/receivers/socket/AppenderExample.java |   76 +
 .../chapters/receivers/socket/ReceiverExample.java |   55 +
 .../java/chapters/receivers/socket/appender1.xml   |   22 +
 .../java/chapters/receivers/socket/appender2.xml   |   28 +
 .../java/chapters/receivers/socket/appender3.xml   |   21 +
 .../java/chapters/receivers/socket/appender4.xml   |   27 +
 .../java/chapters/receivers/socket/receiver1.xml   |   26 +
 .../java/chapters/receivers/socket/receiver2.xml   |   32 +
 .../java/chapters/receivers/socket/receiver3.xml   |   28 +
 .../java/chapters/receivers/socket/receiver4.xml   |   34 +
 logback-site/pom.xml                               |   63 +
 .../src/site/images.src/serverSocketReceiver.odg   |  Bin 0 -> 11152 bytes
 .../src/site/images.src/socketReceiver.odg         |  Bin 0 -> 11118 bytes
 logback-site/src/site/pages/.htaccess              |    3 +
 logback-site/src/site/pages/access.html            |  607 +++
 logback-site/src/site/pages/beagle/index.html      |  193 +
 logback-site/src/site/pages/bridge.html            |   38 +
 logback-site/src/site/pages/bugreport.html         |   91 +
 logback-site/src/site/pages/cla.txt                |  124 +
 logback-site/src/site/pages/codes.html             |  690 +++
 logback-site/src/site/pages/css/_print.css         |   30 +
 logback-site/src/site/pages/css/common.css         |  311 ++
 logback-site/src/site/pages/css/popup.css          |   67 +
 logback-site/src/site/pages/css/prettify.css       |   27 +
 logback-site/src/site/pages/css/screen.css         |  220 +
 logback-site/src/site/pages/deadlock.html          |   79 +
 logback-site/src/site/pages/demo.html              |  490 +++
 logback-site/src/site/pages/dependencies.html      |  220 +
 logback-site/src/site/pages/documentation.html     |  170 +
 logback-site/src/site/pages/download.html          |  171 +
 logback-site/src/site/pages/faq.html               |  359 ++
 logback-site/src/site/pages/images/qoslogo.gif     |  Bin 0 -> 1633 bytes
 logback-site/src/site/pages/index.html             |  138 +
 logback-site/src/site/pages/job.html               |   77 +
 logback-site/src/site/pages/js/decorator.js        |  100 +
 logback-site/src/site/pages/js/dsl.js              |   39 +
 .../src/site/pages/js/jquery.cookies.2.2.0.js      |  450 ++
 logback-site/src/site/pages/js/popup.js            |  102 +
 logback-site/src/site/pages/js/prettify.js         | 1478 +++++++
 logback-site/src/site/pages/license.html           |   81 +
 logback-site/src/site/pages/mailinglist.html       |  175 +
 logback-site/src/site/pages/manual/.htaccess       |    2 +
 logback-site/src/site/pages/manual/appenders.html  | 4454 ++++++++++++++++++++
 .../src/site/pages/manual/architecture.html        |  934 ++++
 .../src/site/pages/manual/configuration.html       | 1980 +++++++++
 logback-site/src/site/pages/manual/encoders.html   |  261 ++
 logback-site/src/site/pages/manual/filters.html    | 1198 ++++++
 logback-site/src/site/pages/manual/groovy.html     |  544 +++
 logback-site/src/site/pages/manual/index.html      |  129 +
 .../src/site/pages/manual/introduction.html        |  252 ++
 logback-site/src/site/pages/manual/jmxConfig.html  |  403 ++
 logback-site/src/site/pages/manual/layouts.html    | 2269 ++++++++++
 .../src/site/pages/manual/loggingSeparation.html   |  506 +++
 logback-site/src/site/pages/manual/mdc.html        |  748 ++++
 logback-site/src/site/pages/manual/menu.js         |   17 +
 .../src/site/pages/manual/migrationFromLog4j.html  |  219 +
 logback-site/src/site/pages/manual/onJoran.html    |  784 ++++
 logback-site/src/site/pages/manual/receivers.html  |  541 +++
 .../src/site/pages/manual/underTheHood.html        |   15 +
 logback-site/src/site/pages/manual/usingSSL.html   | 1294 ++++++
 logback-site/src/site/pages/news.html              | 2619 ++++++++++++
 logback-site/src/site/pages/reasonsToSwitch.html   |  279 ++
 .../src/site/pages/recipes/captureHttp.html        |  260 ++
 .../site/pages/recipes/emailPerTransaction.html    |  445 ++
 logback-site/src/site/pages/recipes/index.html     |   43 +
 logback-site/src/site/pages/repos.html             |   47 +
 logback-site/src/site/pages/setup.html             |  289 ++
 logback-site/src/site/pages/support.html           |   56 +
 logback-site/src/site/pages/templates/creative.js  |   33 +
 logback-site/src/site/pages/templates/footer.js    |   27 +
 logback-site/src/site/pages/templates/header.js    |   13 +
 logback-site/src/site/pages/templates/left.js      |   31 +
 logback-site/src/site/pages/templates/right.js     |   19 +
 logback-site/src/site/pages/templates/setup.js     |    8 +
 logback-site/src/site/pages/volunteer.html         |  137 +
 .../site/resources/beagle/images/beagleFeature.png |  Bin 0 -> 16874 bytes
 .../site/resources/beagle/images/beagleSample.png  |  Bin 0 -> 37986 bytes
 .../site/resources/beagle/images/beagleView0.png   |  Bin 0 -> 2093 bytes
 .../resources/beagle/images/callerData-jump.png    |  Bin 0 -> 15024 bytes
 .../site/resources/beagle/images/callerData.png    |  Bin 0 -> 10848 bytes
 .../src/site/resources/beagle/images/font.png      |  Bin 0 -> 57302 bytes
 .../src/site/resources/beagle/images/menu.png      |  Bin 0 -> 6263 bytes
 .../site/resources/beagle/images/nebulaFeature.png |  Bin 0 -> 44392 bytes
 .../src/site/resources/beagle/images/play_doc.gif  |  Bin 0 -> 598 bytes
 .../site/resources/beagle/images/preferences.png   |  Bin 0 -> 38884 bytes
 .../beagle/images/sailing-ship-128x128.png         |  Bin 0 -> 18587 bytes
 .../resources/beagle/images/sailing-ship-16x16.png |  Bin 0 -> 498 bytes
 .../resources/beagle/images/sailing-ship-32x32.png |  Bin 0 -> 2276 bytes
 .../resources/beagle/images/sailing-ship-48x48.png |  Bin 0 -> 4073 bytes
 logback-site/src/site/resources/css/anchor12.png   |  Bin 0 -> 624 bytes
 logback-site/src/site/resources/css/anchor16.png   |  Bin 0 -> 945 bytes
 logback-site/src/site/resources/css/anchor20.png   |  Bin 0 -> 1212 bytes
 logback-site/src/site/resources/css/anchor24.png   |  Bin 0 -> 1630 bytes
 .../src/site/resources/images/cyclicView.png       |  Bin 0 -> 37943 bytes
 .../src/site/resources/images/helpEMAIL.gif        |  Bin 0 -> 1359 bytes
 .../src/site/resources/images/lbAccessStatus.jpg   |  Bin 0 -> 145740 bytes
 .../src/site/resources/images/logos/lblogo-150.jpg |  Bin 0 -> 16605 bytes
 .../src/site/resources/images/logos/lblogo-200.jpg |  Bin 0 -> 20874 bytes
 .../src/site/resources/images/logos/lblogo-40.jpg  |  Bin 0 -> 8716 bytes
 .../src/site/resources/images/logos/lblogo.jpg     |  Bin 0 -> 45331 bytes
 .../src/site/resources/images/logos/qosLogo.png    |  Bin 0 -> 3370 bytes
 logback-site/src/site/resources/images/myjob.png   |  Bin 0 -> 2468 bytes
 .../src/site/resources/images/plugin/buttons.gif   |  Bin 0 -> 1318 bytes
 .../site/resources/images/plugin/createFilter.gif  |  Bin 0 -> 12785 bytes
 .../site/resources/images/plugin/filterWindow.gif  |  Bin 0 -> 11623 bytes
 .../src/site/resources/images/plugin/prefs.gif     |  Bin 0 -> 8762 bytes
 .../site/resources/images/plugin/sampleLogs.gif    |  Bin 0 -> 11397 bytes
 .../site/resources/images/plugin/stackTrace.gif    |  Bin 0 -> 8562 bytes
 .../site/resources/images/turboFilterForMDC.png    |  Bin 0 -> 26505 bytes
 logback-site/src/site/resources/logback-2011.ppt   |  Bin 0 -> 281600 bytes
 logback-site/src/site/resources/logback.ppt        |  Bin 0 -> 236032 bytes
 .../manual/images/chapters/appenders/appender.uml  | 1179 ++++++
 .../manual/images/chapters/appenders/appender.~ml  |  865 ++++
 .../chapters/appenders/appenderClassDiagram.jpg    |  Bin 0 -> 71199 bytes
 .../images/chapters/appenders/dbAppenderLE.gif     |  Bin 0 -> 31272 bytes
 .../chapters/appenders/dbAppenderLEException.gif   |  Bin 0 -> 3861 bytes
 .../chapters/appenders/dbAppenderLEProperty.gif    |  Bin 0 -> 3820 bytes
 .../images/chapters/appenders/fileAppenderUML.png  |  Bin 0 -> 6684 bytes
 .../images/chapters/appenders/smtpAppender1.jpg    |  Bin 0 -> 226207 bytes
 .../images/chapters/appenders/smtpAppender2.jpg    |  Bin 0 -> 244223 bytes
 .../architecture/underTheHoodSequence2.gif         |  Bin 0 -> 71138 bytes
 .../architecture/underTheHoodSequence2_small.gif   |  Bin 0 -> 23063 bytes
 .../chapters/configuration/appenderSyntax.png      |  Bin 0 -> 4541 bytes
 .../images/chapters/configuration/basicSyntax.png  |  Bin 0 -> 2950 bytes
 .../chapters/configuration/lbClassicStatus.jpg     |  Bin 0 -> 176313 bytes
 .../images/chapters/filters/countingFilter.png     |  Bin 0 -> 89406 bytes
 .../manual/images/chapters/filters/filterChain.gif |  Bin 0 -> 1226 bytes
 .../chapters/jmxConfigurator/jconsole15_jetty.gif  |  Bin 0 -> 9796 bytes
 .../chapters/jmxConfigurator/jconsole15_tomcat.gif |  Bin 0 -> 9741 bytes
 .../chapters/jmxConfigurator/jmxConfigurator.gif   |  Bin 0 -> 33445 bytes
 .../images/chapters/jmxConfigurator/multiple.gif   |  Bin 0 -> 22501 bytes
 .../images/chapters/jmxConfigurator/mx4j_jetty.gif |  Bin 0 -> 26973 bytes
 .../chapters/jmxConfigurator/mx4j_tomcat.gif       |  Bin 0 -> 27657 bytes
 .../images/chapters/jmxConfigurator/statusList.gif |  Bin 0 -> 36223 bytes
 .../manual/images/chapters/layouts/htmlLayout0.gif |  Bin 0 -> 9841 bytes
 .../manual/images/chapters/layouts/htmlLayout1.png |  Bin 0 -> 21825 bytes
 .../images/chapters/layouts/htmlLayoutAccess.gif   |  Bin 0 -> 148822 bytes
 .../chapters/receivers/serverSocketReceiver.png    |  Bin 0 -> 13715 bytes
 .../images/chapters/receivers/socketReceiver.png   |  Bin 0 -> 14043 bytes
 .../site/resources/recipes/images/factorEmail0.png |  Bin 0 -> 51648 bytes
 logback-site/src/site/resources/slf4j-slides.vsd   |  Bin 0 -> 108032 bytes
 pom.xml                                            |  481 +++
 src/main/assembly/dist.xml                         |  219 +
 src/main/clas/signed-clas.txt                      |   67 +
 src/main/javadocHeaders.xml                        |   11 +
 src/main/licenseHeader.txt                         |   11 +
 1791 files changed, 167264 insertions(+)

diff --cc debian/changelog
index 4108efe,0000000..edb3f3a
mode 100644,000000..100644
--- a/debian/changelog
+++ b/debian/changelog
@@@ -1,115 -1,0 +1,125 @@@
++logback (1:1.1.2-1+deb8u1) jessie; urgency=high
++
++  * Team upload.
++  * Fix CVE-2017-5929:
++    It was discovered that logback, a flexible logging library for Java, would
++    deserialize data from untrusted sockets. This issue has been resolved by
++    adding a whitelist to use only trusted classes. (Closes: #857343)
++
++ -- Markus Koschany <apo at debian.org>  Fri, 07 Apr 2017 15:48:29 +0200
++
 +logback (1:1.1.2-1) unstable; urgency=medium
 +
 +  * Team upload.
 +  * New upstream release
 +  * debian/orig-tar.sh: Remove the non repacked tarball
 +
 + -- Emmanuel Bourg <ebourg at apache.org>  Mon, 28 Apr 2014 12:25:36 +0200
 +
 +logback (1:1.1.1-1) unstable; urgency=medium
 +
 +  * Team upload.
 +  * New upstream release
 +  * Use XZ compression for the upstream tarball
 +  * Standards-Version updated to 3.9.5 (no changes)
 +  * debian/watch: Match all the upstream releases
 +  * debian/rules: Improved the clean target
 +
 + -- Emmanuel Bourg <ebourg at apache.org>  Mon, 17 Feb 2014 09:04:05 +0100
 +
 +logback (1:1.0.13-1) unstable; urgency=low
 +
 +  * New upstream release.
 +  * d/control: Bump Standards-Version to 3.9.4 (no changes needed).
 +  * d/control: Use canonical URL for Vcs-* fields.
 +  * d/control: Tighten dependencies to libjanino-java (>= 2.6.0).
 +  * d/control: Add Build-Depends on libjansi-java
 +    no need to Depends, because it's windows only runtime dependency.
 +
 + -- Damien Raude-Morvan <drazzib at debian.org>  Fri, 16 Aug 2013 10:08:55 +0200
 +
 +logback (1:1.0.4-1) unstable; urgency=low
 +
 +  * New upstream release.
 +  * d/control: Update Standards-Version to 3.9.3: no changes needed.
 +  * d/copyright: Upgrade to copyright-format 1.0.
 +
 + -- Damien Raude-Morvan <drazzib at debian.org>  Tue, 05 Jun 2012 00:11:13 +0200
 +
 +logback (1:1.0.0-1) unstable; urgency=low
 +
 +  * New upstream release.
 +
 + -- Damien Raude-Morvan <drazzib at debian.org>  Tue, 01 Nov 2011 23:33:55 +0100
 +
 +logback (1:0.9.30-1) unstable; urgency=low
 +
 +  * New upstream release.
 +  * Wrap and sort Build-Depends and Depends.
 +  * Update Standards-Version: 3.9.2 (no changes needed).
 +  * d/copyright: Update to latest DEP-5 format.
 +
 + -- Damien Raude-Morvan <drazzib at debian.org>  Thu, 22 Sep 2011 13:59:23 +0200
 +
 +logback (1:0.9.28-1) unstable; urgency=low
 +
 +  * New upstream release.
 +  * Update Standards-Version: 3.9.1 (no changes needed).
 +  * d/control: Add Build-Depends on groovy.
 +  * d/rules: Add groovy to DEB_JARS.
 +
 + -- Damien Raude-Morvan <drazzib at debian.org>  Fri, 04 Mar 2011 23:09:14 +0100
 +
 +logback (1:0.9.18+dak1-1) unstable; urgency=low
 +
 +  * Revert to 0.9.18 release.
 +    - 0.9.20 as incompatible API changes:
 +      upstream removed methods in StaticLoggerBinder
 +      which cause FTBFS on red5 package (See: #577859).
 +
 + -- Damien Raude-Morvan <drazzib at debian.org>  Mon, 26 Apr 2010 22:03:01 +0200
 +
 +logback (0.9.20-1) unstable; urgency=low
 +
 +  * Team upload
 +  * New upstream release
 +  * Change 'maintainers' into 'Maintainers'.
 +  * Switch to source format 3.0.
 +  * Update Standards-Version: 3.8.4
 +
 + -- Torsten Werner <twerner at debian.org>  Sun, 11 Apr 2010 21:12:47 +0200
 +
 +logback (0.9.18-1) unstable; urgency=low
 +
 +  * New upstream release.
 +    - Now dual-licensed under the EPL 1.0 and LGPL 2.1
 +    - Update debian/copyright
 +  * Bump debhelper version to >= 7
 +  * Extract debian/rules get-orig-source script into debian/orig-tar.sh
 +    and debian/orig-tar.exclude
 +
 + -- Damien Raude-Morvan <drazzib at debian.org>  Thu, 03 Dec 2009 23:24:54 +0100
 +
 +logback (0.9.17-1) unstable; urgency=low
 +
 +  * New upstream release.
 +  * Set Maintainer field to Debian Java Team
 +  * Add myself as Uploaders
 +  * Build-Depends on default-jdk instead of default-jdk-builddep
 +    because we don't build a native GCJ package.
 +  * Bump Standards-Version to 3.8.3 (no changes needed)
 +  * Documentation:
 +    - Move api documentation to /usr/share/doc/liblogback-java/api/
 +    - Register Logback manual with doc-base
 +  * Maven POMs:
 +    - Add a Build-Depends-Indep dependency on maven-repo-helper
 +    - Use mh_installpoms and mh_installjar to install the POM and the jar to the
 +     Maven repository
 +
 + -- Damien Raude-Morvan <drazzib at debian.org>  Fri, 25 Sep 2009 00:19:01 +0200
 +
 +logback (0.9.15-1) unstable; urgency=low
 +
 +  * Initial release. (Closes: #506569)
 +
 + -- Damien Raude-Morvan <drazzib at drazzib.com>  Sun, 15 Mar 2009 20:43:52 +0100
diff --cc debian/patches/CVE-2017-5929.patch
index 0000000,0000000..1244974
new file mode 100644
--- /dev/null
+++ b/debian/patches/CVE-2017-5929.patch
@@@ -1,0 -1,0 +1,364 @@@
++From: Markus Koschany <apo at debian.org>
++Date: Fri, 7 Apr 2017 14:35:27 +0200
++Subject: CVE-2017-5929
++
++Bug-Debian: https://bugs.debian.org/857343
++Origin: https://github.com/qos-ch/logback/commit/f46044b805bca91efe5fd6afe52257cd02f775f8
++Origin: https://github.com/qos-ch/logback/commit/979b042cb1f0b4c1e5869ccc8912e68c39f769f9
++Origin: https://github.com/qos-ch/logback/commit/7fbea6127fa98fc48368ca5e8540eefe0e60cec5
++Origin: https://github.com/qos-ch/logback/commit/3b4f605454534b304770eeee3cb343521fcd6968
++---
++ .../access/net/HardenedAccessEventInputStream.java | 15 +++++
++ .../java/ch/qos/logback/access/net/SocketNode.java | 12 ++--
++ .../logback/classic/net/SimpleSocketServer.java    |  1 -
++ .../ch/qos/logback/classic/net/SocketAppender.java |  2 -
++ .../ch/qos/logback/classic/net/SocketNode.java     | 15 +++--
++ .../server/HardenedLoggingEventInputStream.java    | 56 +++++++++++++++++
++ .../net/server/RemoteAppenderStreamClient.java     | 10 +--
++ .../core/net/HardenedObjectInputStream.java        | 71 ++++++++++++++++++++++
++ 8 files changed, 159 insertions(+), 23 deletions(-)
++ create mode 100644 logback-access/src/main/java/ch/qos/logback/access/net/HardenedAccessEventInputStream.java
++ create mode 100644 logback-classic/src/main/java/ch/qos/logback/classic/net/server/HardenedLoggingEventInputStream.java
++ create mode 100644 logback-core/src/main/java/ch/qos/logback/core/net/HardenedObjectInputStream.java
++
++diff --git a/logback-access/src/main/java/ch/qos/logback/access/net/HardenedAccessEventInputStream.java b/logback-access/src/main/java/ch/qos/logback/access/net/HardenedAccessEventInputStream.java
++new file mode 100644
++index 0000000..c0ba6b0
++--- /dev/null
+++++ b/logback-access/src/main/java/ch/qos/logback/access/net/HardenedAccessEventInputStream.java
++@@ -0,0 +1,15 @@
+++package ch.qos.logback.access.net;
+++
+++import java.io.IOException;
+++import java.io.InputStream;
+++
+++import ch.qos.logback.access.spi.AccessEvent;
+++import ch.qos.logback.core.net.HardenedObjectInputStream;
+++
+++public class HardenedAccessEventInputStream extends HardenedObjectInputStream {
+++
+++    public HardenedAccessEventInputStream(InputStream in) throws IOException {
+++        super(in, new String[] {AccessEvent.class.getName(), String[].class.getName()});
+++    }
+++
+++}
++diff --git a/logback-access/src/main/java/ch/qos/logback/access/net/SocketNode.java b/logback-access/src/main/java/ch/qos/logback/access/net/SocketNode.java
++index 32c6654..7db96a3 100644
++--- a/logback-access/src/main/java/ch/qos/logback/access/net/SocketNode.java
+++++ b/logback-access/src/main/java/ch/qos/logback/access/net/SocketNode.java
++@@ -15,7 +15,6 @@ package ch.qos.logback.access.net;
++ 
++ import java.io.BufferedInputStream;
++ import java.io.IOException;
++-import java.io.ObjectInputStream;
++ import java.net.Socket;
++ 
++ import ch.qos.logback.access.spi.AccessContext;
++@@ -42,16 +41,15 @@ public class SocketNode implements Runnable {
++ 
++   Socket socket;
++   AccessContext context;
++-  ObjectInputStream ois;
+++  HardenedAccessEventInputStream hardenedOIS;
++ 
++   public SocketNode(Socket socket, AccessContext context) {
++     this.socket = socket;
++     this.context = context;
++     try {
++-      ois = new ObjectInputStream(new BufferedInputStream(socket
++-          .getInputStream()));
+++            hardenedOIS = new HardenedAccessEventInputStream(new BufferedInputStream(socket.getInputStream()));
++     } catch (Exception e) {
++-      System.out.println("Could not open ObjectInputStream to " + socket + e);
+++      System.out.println("Could not open HardenedObjectInputStream to " + socket + e);
++     }
++   }
++ 
++@@ -61,7 +59,7 @@ public class SocketNode implements Runnable {
++     try {
++       while (true) {
++         // read an event from the wire
++-        event = (IAccessEvent) ois.readObject();
+++        event = (IAccessEvent) hardenedOIS.readObject();
++         //check that the event should be logged
++         if (context.getFilterChainDecision(event) == FilterReply.DENY) {
++           break;
++@@ -81,7 +79,7 @@ public class SocketNode implements Runnable {
++     }
++ 
++     try {
++-      ois.close();
+++      hardenedOIS.close();
++     } catch (Exception e) {
++       System.out.println("Could not close connection." + e);
++     }
++diff --git a/logback-classic/src/main/java/ch/qos/logback/classic/net/SimpleSocketServer.java b/logback-classic/src/main/java/ch/qos/logback/classic/net/SimpleSocketServer.java
++index e450fff..a0fd7d8 100644
++--- a/logback-classic/src/main/java/ch/qos/logback/classic/net/SimpleSocketServer.java
+++++ b/logback-classic/src/main/java/ch/qos/logback/classic/net/SimpleSocketServer.java
++@@ -14,7 +14,6 @@
++ package ch.qos.logback.classic.net;
++ 
++ import java.io.IOException;
++-import java.lang.reflect.Constructor;
++ import java.net.ServerSocket;
++ import java.net.Socket;
++ import java.util.ArrayList;
++diff --git a/logback-classic/src/main/java/ch/qos/logback/classic/net/SocketAppender.java b/logback-classic/src/main/java/ch/qos/logback/classic/net/SocketAppender.java
++index 1bc74a4..9f2ebef 100644
++--- a/logback-classic/src/main/java/ch/qos/logback/classic/net/SocketAppender.java
+++++ b/logback-classic/src/main/java/ch/qos/logback/classic/net/SocketAppender.java
++@@ -14,8 +14,6 @@
++ // Contributors: Dan MacDonald <dan at redknee.com>
++ package ch.qos.logback.classic.net;
++ 
++-import java.net.InetAddress;
++-
++ import ch.qos.logback.classic.spi.ILoggingEvent;
++ import ch.qos.logback.core.net.AbstractSocketAppender;
++ import ch.qos.logback.core.spi.PreSerializationTransformer;
++diff --git a/logback-classic/src/main/java/ch/qos/logback/classic/net/SocketNode.java b/logback-classic/src/main/java/ch/qos/logback/classic/net/SocketNode.java
++index 98023e8..dcd967c 100644
++--- a/logback-classic/src/main/java/ch/qos/logback/classic/net/SocketNode.java
+++++ b/logback-classic/src/main/java/ch/qos/logback/classic/net/SocketNode.java
++@@ -15,13 +15,13 @@ package ch.qos.logback.classic.net;
++ 
++ import java.io.BufferedInputStream;
++ import java.io.IOException;
++-import java.io.ObjectInputStream;
++ import java.net.Socket;
++ import java.net.SocketAddress;
++ 
++ import ch.qos.logback.classic.Logger;
++ 
++ import ch.qos.logback.classic.LoggerContext;
+++import ch.qos.logback.classic.net.server.HardenedLoggingEventInputStream;
++ import ch.qos.logback.classic.spi.ILoggingEvent;
++ 
++ // Contributors: Moses Hohman <mmhohman at rainbow.uchicago.edu>
++@@ -44,7 +44,7 @@ public class SocketNode implements Runnable {
++ 
++   Socket socket;
++   LoggerContext context;
++-  ObjectInputStream ois;
+++  HardenedLoggingEventInputStream hardenedLoggingEventInputStream;
++   SocketAddress remoteSocketAddress;
++   
++   Logger logger;
++@@ -68,8 +68,7 @@ public class SocketNode implements Runnable {
++   public void run() {
++ 
++     try {
++-      ois = new ObjectInputStream(new BufferedInputStream(socket
++-          .getInputStream()));
+++      hardenedLoggingEventInputStream = new HardenedLoggingEventInputStream(new BufferedInputStream(socket.getInputStream()));
++     } catch (Exception e) {
++       logger.error("Could not open ObjectInputStream to " + socket, e);
++       closed = true;
++@@ -81,7 +80,7 @@ public class SocketNode implements Runnable {
++     try {
++       while (!closed) {
++         // read an event from the wire
++-        event = (ILoggingEvent) ois.readObject();
+++        event = (ILoggingEvent) hardenedLoggingEventInputStream.readObject();
++         // get a logger from the hierarchy. The name of the logger is taken to
++         // be the name contained in the event.
++         remoteLogger = context.getLogger(event.getLoggerName());
++@@ -111,13 +110,13 @@ public class SocketNode implements Runnable {
++       return;
++     }
++     closed = true;
++-    if (ois != null) {
+++    if (hardenedLoggingEventInputStream != null) {
++       try {
++-        ois.close();
+++        hardenedLoggingEventInputStream.close();
++       } catch (IOException e) {
++         logger.warn("Could not close connection.", e);
++       } finally {
++-        ois = null;
+++        hardenedLoggingEventInputStream = null;
++       }
++     }
++   }
++diff --git a/logback-classic/src/main/java/ch/qos/logback/classic/net/server/HardenedLoggingEventInputStream.java b/logback-classic/src/main/java/ch/qos/logback/classic/net/server/HardenedLoggingEventInputStream.java
++new file mode 100644
++index 0000000..522a30f
++--- /dev/null
+++++ b/logback-classic/src/main/java/ch/qos/logback/classic/net/server/HardenedLoggingEventInputStream.java
++@@ -0,0 +1,56 @@
+++package ch.qos.logback.classic.net.server;
+++
+++import java.io.IOException;
+++import java.io.InputStream;
+++import java.util.ArrayList;
+++import java.util.List;
+++
+++import org.slf4j.helpers.BasicMarker;
+++
+++import ch.qos.logback.classic.Level;
+++import ch.qos.logback.classic.Logger;
+++import ch.qos.logback.classic.spi.ClassPackagingData;
+++import ch.qos.logback.classic.spi.IThrowableProxy;
+++import ch.qos.logback.classic.spi.LoggerContextVO;
+++import ch.qos.logback.classic.spi.LoggerRemoteView;
+++import ch.qos.logback.classic.spi.LoggingEventVO;
+++import ch.qos.logback.classic.spi.StackTraceElementProxy;
+++import ch.qos.logback.classic.spi.ThrowableProxy;
+++import ch.qos.logback.classic.spi.ThrowableProxyVO;
+++import ch.qos.logback.core.net.HardenedObjectInputStream;
+++
+++public class HardenedLoggingEventInputStream extends HardenedObjectInputStream {
+++
+++    static final String ARRAY_PREFIX = "[L";
+++    
+++    static public List<String> getWhilelist() {
+++        List<String> whitelist = new ArrayList<String>();
+++        whitelist.add(LoggingEventVO.class.getName());
+++        whitelist.add(LoggerContextVO.class.getName());
+++        whitelist.add(LoggerRemoteView.class.getName());
+++        whitelist.add(ThrowableProxyVO.class.getName());
+++        whitelist.add(BasicMarker.class.getName());
+++        whitelist.add(Level.class.getName());
+++        whitelist.add(Logger.class.getName());
+++        whitelist.add(StackTraceElement.class.getName());
+++        whitelist.add(StackTraceElement[].class.getName());
+++        whitelist.add(ThrowableProxy.class.getName());
+++        whitelist.add(ThrowableProxy[].class.getName());
+++        whitelist.add(IThrowableProxy.class.getName());
+++        whitelist.add(IThrowableProxy[].class.getName());
+++        whitelist.add(StackTraceElementProxy.class.getName());
+++        whitelist.add(StackTraceElementProxy[].class.getName());
+++        whitelist.add(ClassPackagingData.class.getName());
+++
+++        return whitelist;
+++    }
+++   
+++    public HardenedLoggingEventInputStream(InputStream is) throws IOException {
+++        super(is, getWhilelist());
+++    }
+++    
+++    public HardenedLoggingEventInputStream(InputStream is, List<String> additionalAuthorizedClasses) throws IOException {
+++        this(is);
+++        super.addToWhitelist(additionalAuthorizedClasses);
+++    }
+++}
++diff --git a/logback-classic/src/main/java/ch/qos/logback/classic/net/server/RemoteAppenderStreamClient.java b/logback-classic/src/main/java/ch/qos/logback/classic/net/server/RemoteAppenderStreamClient.java
++index a4b34a9..3901dad 100644
++--- a/logback-classic/src/main/java/ch/qos/logback/classic/net/server/RemoteAppenderStreamClient.java
+++++ b/logback-classic/src/main/java/ch/qos/logback/classic/net/server/RemoteAppenderStreamClient.java
++@@ -16,12 +16,12 @@ package ch.qos.logback.classic.net.server;
++ import java.io.EOFException;
++ import java.io.IOException;
++ import java.io.InputStream;
++-import java.io.ObjectInputStream;
++ import java.net.Socket;
++ 
++ import ch.qos.logback.classic.Logger;
++ import ch.qos.logback.classic.LoggerContext;
++ import ch.qos.logback.classic.spi.ILoggingEvent;
+++import ch.qos.logback.core.net.HardenedObjectInputStream;
++ import ch.qos.logback.core.util.CloseUtil;
++ 
++ /**
++@@ -86,7 +86,7 @@ class RemoteAppenderStreamClient implements RemoteAppenderClient {
++    */
++   public void run() {
++     logger.info(this + ": connected"); 
++-    ObjectInputStream ois = null;
+++    HardenedObjectInputStream ois = null;
++     try {
++       ois = createObjectInputStream();
++       while (true) {
++@@ -124,11 +124,11 @@ class RemoteAppenderStreamClient implements RemoteAppenderClient {
++     }
++   }
++ 
++-  private ObjectInputStream createObjectInputStream() throws IOException {
+++  private HardenedObjectInputStream createObjectInputStream() throws IOException {
++     if (inputStream != null) {
++-      return new ObjectInputStream(inputStream);
+++      return new HardenedLoggingEventInputStream(inputStream);
++     }
++-    return new ObjectInputStream(socket.getInputStream());
+++    return new HardenedLoggingEventInputStream(socket.getInputStream());
++   }
++   
++   /**
++diff --git a/logback-core/src/main/java/ch/qos/logback/core/net/HardenedObjectInputStream.java b/logback-core/src/main/java/ch/qos/logback/core/net/HardenedObjectInputStream.java
++new file mode 100644
++index 0000000..d1b7301
++--- /dev/null
+++++ b/logback-core/src/main/java/ch/qos/logback/core/net/HardenedObjectInputStream.java
++@@ -0,0 +1,71 @@
+++package ch.qos.logback.core.net;
+++
+++import java.io.IOException;
+++import java.io.InputStream;
+++import java.io.InvalidClassException;
+++import java.io.ObjectInputStream;
+++import java.io.ObjectStreamClass;
+++import java.util.ArrayList;
+++import java.util.List;
+++
+++/**
+++ * HardenedObjectInputStream restricts the set of classes that can be deserialized to a set of 
+++ * explicitly whitelisted classes. This prevents certain type of attacks from being successful.
+++ * 
+++ * <p>It is assumed that classes in the "java.lang" and  "java.util" packages are 
+++ * always authorized.</p>
+++ * 
+++ * @author Ceki Gülcü
+++ * @since 1.2.0
+++ */
+++public class HardenedObjectInputStream extends ObjectInputStream {
+++
+++    final List<String> whitelistedClassNames;
+++    final static String[] JAVA_PACKAGES = new String[] { "java.lang", "java.util" };
+++
+++    public HardenedObjectInputStream(InputStream in, String[] whilelist) throws IOException {
+++        super(in);
+++
+++        this.whitelistedClassNames = new ArrayList<String>();
+++        if (whilelist != null) {
+++            for (int i = 0; i < whilelist.length; i++) {
+++                this.whitelistedClassNames.add(whilelist[i]);
+++            }
+++        }
+++    }
+++
+++    public HardenedObjectInputStream(InputStream in, List<String> whitelist) throws IOException {
+++        super(in);
+++
+++        this.whitelistedClassNames = new ArrayList<String>();
+++        this.whitelistedClassNames.addAll(whitelist);
+++    }
+++
+++    @Override
+++    protected Class<?> resolveClass(ObjectStreamClass anObjectStreamClass) throws IOException, ClassNotFoundException {
+++        
+++        String incomingClassName = anObjectStreamClass.getName();
+++        
+++        if (!isWhitelisted(incomingClassName)) {
+++            throw new InvalidClassException("Unauthorized deserialization attempt", anObjectStreamClass.getName());
+++        }
+++
+++        return super.resolveClass(anObjectStreamClass);
+++    }
+++
+++    private boolean isWhitelisted(String incomingClassName) {
+++        for (int i = 0; i < JAVA_PACKAGES.length; i++) {
+++            if (incomingClassName.startsWith(JAVA_PACKAGES[i]))
+++                return true;
+++        }
+++        for (String whiteListed : whitelistedClassNames) {
+++            if (incomingClassName.equals(whiteListed))
+++                return true;
+++        }
+++        return false;
+++    }
+++
+++    protected void addToWhitelist(List<String> additionalAuthorizedClasses) {
+++        whitelistedClassNames.addAll(additionalAuthorizedClasses);
+++    }
+++}
diff --cc debian/patches/series
index 0000000,0000000..9aa2648
new file mode 100644
--- /dev/null
+++ b/debian/patches/series
@@@ -1,0 -1,0 +1,1 @@@
++CVE-2017-5929.patch

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-java/logback.git



More information about the pkg-java-commits mailing list