Rat (Release Audit Tool) results

The following document contains the results of Rat (Release Audit Tool).

*****************************************************
Summary
-------
Generated at: 2021-08-04T09:05:18+02:00

Notes: 2
Binaries: 2
Archives: 1
Standards: 43

Apache Licensed: 38
Generated Documents: 0

JavaDocs are generated, thus a license header is optional.
Generated files do not require license headers.

5 Unknown Licenses

*****************************************************

Files with unapproved licenses:

  src/ant/integration-test-build-pw.xml
  src/site/resources/announcements/announcement-1.0.6.txt
  src/test/data/empty.txt
  src/test/data/plain-simple.txt
  src/test/org/apache/fulcrum/jce/crypto/extended/CryptoUtilJ8ParameterizedTest.java

*****************************************************

Archives:

 + src/test/data/plain.zip
 
*****************************************************
  Files with Apache License headers will be marked AL
  Binary files (which do not require any license headers) will be marked B
  Compressed archives will be marked A
  Notices, licenses etc. will be marked N
  N     LICENSE.txt
  N     NOTICE.txt
  AL    pom.xml
 !????? src/ant/integration-test-build-pw.xml
  AL    src/changes/changes.xml
  AL    src/java/org/apache/fulcrum/jce/crypto/algo/CryptoStreamGCMImpl.java
  AL    src/java/org/apache/fulcrum/jce/crypto/algo/CryptoStreamPBEImpl.java
  AL    src/java/org/apache/fulcrum/jce/crypto/cli/CLI.java
  AL    src/java/org/apache/fulcrum/jce/crypto/cli/CLI2.java
  AL    src/java/org/apache/fulcrum/jce/crypto/CryptoParameters.java
  AL    src/java/org/apache/fulcrum/jce/crypto/CryptoStreamFactory.java
  AL    src/java/org/apache/fulcrum/jce/crypto/CryptoStreamFactoryImpl.java
  AL    src/java/org/apache/fulcrum/jce/crypto/CryptoStreamFactoryTemplate.java
  AL    src/java/org/apache/fulcrum/jce/crypto/CryptoUtil.java
  AL    src/java/org/apache/fulcrum/jce/crypto/extended/CryptoParametersJ8.java
  AL    src/java/org/apache/fulcrum/jce/crypto/extended/CryptoStreamFactoryJ8.java
  AL    src/java/org/apache/fulcrum/jce/crypto/extended/CryptoStreamFactoryJ8Template.java
  AL    src/java/org/apache/fulcrum/jce/crypto/extended/CryptoUtilJ8.java
  AL    src/java/org/apache/fulcrum/jce/crypto/HexConverter.java
  AL    src/java/org/apache/fulcrum/jce/crypto/PasswordFactory.java
  AL    src/java/org/apache/fulcrum/jce/crypto/PasswordParameters.java
  AL    src/java/org/apache/fulcrum/jce/crypto/SmartDecryptingInputStream.java
  AL    src/java/org/apache/fulcrum/jce/crypto/StreamUtil.java
 !????? src/site/resources/announcements/announcement-1.0.6.txt
  AL    src/site/site.xml
 !????? src/test/data/empty.txt
  AL    src/test/data/plain-iso-8859-1.xml
 !????? src/test/data/plain-simple.txt
  B     src/test/data/plain-utf16.xml
  AL    src/test/data/plain-utf8.xml
  AL    src/test/data/plain.groovy
  B     src/test/data/plain.pdf
  AL    src/test/data/plain.txt
  AL    src/test/data/plain.xml
  A     src/test/data/plain.zip
  AL    src/test/log4j2.xml
  AL    src/test/org/apache/fulcrum/jce/crypto/CryptoUtilExplicitParamsTest.java
  AL    src/test/org/apache/fulcrum/jce/crypto/CryptoUtilTest.java
  AL    src/test/org/apache/fulcrum/jce/crypto/extended/CryptoUtilJ8ExplicitParamsTest.java
 !????? src/test/org/apache/fulcrum/jce/crypto/extended/CryptoUtilJ8ParameterizedTest.java
  AL    src/test/org/apache/fulcrum/jce/crypto/extended/CryptoUtilJ8Test.java
  AL    src/test/org/apache/fulcrum/jce/crypto/extended/Main8Test.java
  AL    src/test/org/apache/fulcrum/jce/crypto/MainTest.java
  AL    src/test/org/apache/fulcrum/jce/crypto/SmartDecryptingInputStreamTest.java
  AL    src/test/org/apache/fulcrum/jce/junit5/extension/SupportedTypeArguments.java
  AL    xdocs/downloads.xml
  AL    xdocs/examples.xml
  AL    xdocs/index.xml
 
*****************************************************

 Printing headers for text files without a valid license header...
 
=====================================================
== File: src/ant/integration-test-build-pw.xml
=====================================================
<project basedir="."  default="build" name="build">
  <property environment="env"/>
   <property file=".build"/>  
   <!-- reading from the file properties: password_encrypted or password -->
   <property file="${source.property.path}"/>
   <property name="meta.pw" value="${env.meta.pw}"/>

   <target name="testjava">
      <echo>Ant Java/JVM  version: ${java.version}</echo> 
    </target>
   
   <target name="decrypt">
      <echo message="executing java -jar target/${jarname}.jar string dec &quot;${meta.pw}&quot; &quot;${password_encrypted}&quot;."/>
      <java jar="target/${jarname}.jar" fork="true" failonerror="true" maxmemory="128m" dir="${build.path}/../" outputproperty="decoded.pw" inputstring="">
         <arg value="string"/>
         <arg value="dec"/>
         <arg value="${meta.pw}"/>
         <arg value="${password_encrypted}"/>
         <classpath>
            <pathelement location="target/${jarname}.jar"/>
            <pathelement path="${java.class.path}"/>
        </classpath>
      </java>
    </target>
    
     <target name="encrypt">
      <echo message="executing java -jar target/${jarname}.jar string enc &quot;${meta.pw}&quot; &quot;${password}&quot;"/>
      <java jar="target/${jarname}.jar" fork="true" failonerror="true" maxmemory="128m" dir="${build.path}/../" outputproperty="encoded.pw" inputstring="">
         <arg value="string"/>
         <arg value="enc"/>
         <arg value="${meta.pw}"/>
         <arg value="${password}"/>
         <classpath>
            <pathelement location="target/${jarname}.jar"/>
            <pathelement path="${java.class.path}"/>
        </classpath>
      </java>
    </target>
  
   <target name="update">
       <echo message="updating password in property file: ${target.property.path}."/>
       <propertyfile file="${target.property.path}" >
          <entry  key="password" value="${decoded.pw}"/>
        </propertyfile>
    </target>
    
    <target name="init-update">
       <echo message="updating password_encrypted in property file: ${target.property.path}."/>
       <propertyfile file="${target.property.path}" >
          <entry  key="password_encrypted" value="${encoded.pw}"/>

=====================================================
== File: src/site/resources/announcements/announcement-1.0.6.txt
=====================================================
The fulcrum-yaafi-crypto-team is pleased to announce the fulcrum-yaafi-crypto-1.0.6.jar release!

Fulcrum YAAFI Crypto Library

Changes in this version include:

New features:
o Moving the code out of YAAFI and make a standalone library. 


Changes:
o Using the official fulcrum-parent-1 pom. 


Have fun!
-fulcrum-yaafi-crypto-team


=====================================================
== File: src/test/data/empty.txt
=====================================================

=====================================================
== File: src/test/data/plain-simple.txt
=====================================================
mysecretpassword

=====================================================
== File: src/test/org/apache/fulcrum/jce/crypto/extended/CryptoUtilJ8ParameterizedTest.java
=====================================================
package org.apache.fulcrum.jce.crypto.extended;

import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.junit.jupiter.api.Assertions.fail;

import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.security.GeneralSecurityException;
import java.util.ArrayList;
import java.util.List;

import org.apache.fulcrum.jce.crypto.PasswordFactory;
import org.apache.fulcrum.jce.crypto.extended.CryptoParametersJ8.TYPES;
import org.apache.fulcrum.jce.junit5.extension.SupportedTypeArguments;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.ArgumentsSource;

/**
 * Test suite for crypto functionality
 * 
 * Could still not access arguments of parameterized tests in lifecycle callback methods
 * 
 * - https://github.com/junit-team/junit5/issues/944
 * - https://github.com/junit-team/junit5/issues/1139#issuecomment-341683075
 *
 * e.g. with ExtendWith(SupportedTypeArguments.class)
 * */
public class CryptoUtilJ8ParameterizedTest {
	/** the password to be used */
	private String password;

	/** the test data directory */
	private File testDataDirectory;

	/** the temp data director */
	private File tempDataDirectory;

	private List<CryptoUtilJ8> cryptoUtilJ8s = new ArrayList<>();

	private static Logger log = LogManager.getLogger(CryptoUtilJ8ParameterizedTest.class);