/hg/icedtea7: 4 new changesets

andrew at icedtea.classpath.org andrew at icedtea.classpath.org
Thu Jul 28 15:01:10 UTC 2016


changeset 68a76bb89920 in /hg/icedtea7
details: http://icedtea.classpath.org/hg/icedtea7?cmd=changeset;node=68a76bb89920
author: Andrew John Hughes <gnu_andrew at member.fsf.org>
date: Thu Jul 28 03:09:17 2016 +0100

	PR3114: Don't assume system mime.types supports text/x-java-source

	2016-07-27  Andrew John Hughes  <gnu.andrew at member.fsf.org>

		PR3114: Don't assume system mime.types
		supports text/x-java-source
		* Makefile.am:
		(check-mimetype): Make second test depend
		on JAVA_SOURCE_SUPPORTED conditional,
		not MIME_TYPES_FILE_FOUND.
		* NEWS: Updated.
		* acinclude.m4:
		(IT_CHECK_FOR_MIME_TYPES): Check if the
		system mime types file supports text/x-java-source.


changeset 2fbb359cc3c7 in /hg/icedtea7
details: http://icedtea.classpath.org/hg/icedtea7?cmd=changeset;node=2fbb359cc3c7
author: Andrew John Hughes <gnu_andrew at member.fsf.org>
date: Thu Jul 28 03:46:39 2016 +0100

	PR3115: Add check for elliptic curve cryptography implementation.

	2015-05-20  Andrew John Hughes  <gnu_andrew at member.fsf.org>

		PR3115: Add check for elliptic curve
		cryptography implementation.
		* TestCryptoLevel.java: Moved to
		test/standalone.
		* rewriter/agpl-3.0.txt: Moved to
		root directory.
		* test/RH1195203.java: Likewise.
		* Makefile.am:
		(ECC_CHECK_BUILD_DIR): Added.
		(CRYPTO_CHECK_SRCS): Update TestCryptoLevel.java
		path.
		(ECC_CHECK_SRCS): Added.
		(MIME_TYPE_CHECK_SRCS): Update path.
		(EXTRA_DIST): Add ECC_CHECK_SRCS.
		(check-local): Add check-ecc.
		(clean-tests): Add clean-check-ecc.
		(clean-local): Add clean-ecccheck.
		(ecccheck): Build ECC check test.
		(clean-ecccheck): Cleanup ECC check test.
		(check-ecc): Run ECC check test.
		(clean-check-ecc): Cleanup run of ECC check test.
		* NEWS: Updated.
		* agpl-3.0.txt: Moved from rewriter as also
		applies to tests.
		* test/standalone/RH1195203.java: Moved from test.
		* test/standalone/TestCryptoLevel.java: Moved from
		root directory.
		* test/standalone/TestEllipticCurveCryptoSupport.java:
		Add check for elliptic curve cryptography support.


changeset 0c5b97b56309 in /hg/icedtea7
details: http://icedtea.classpath.org/hg/icedtea7?cmd=changeset;node=0c5b97b56309
author: Andrew John Hughes <gnu_andrew at member.fsf.org>
date: Thu Jul 28 03:55:52 2016 +0100

	PR2900: Don't use WithSeed versions of NSS functions as they don't fully process the seed

	2016-04-23  Andrew John Hughes  <gnu_andrew at member.fsf.org>

		PR2900: Don't use WithSeed versions of NSS
		functions as they don't fully process the seed
		* Makefile.am:
		(ECC_CHECK_SRCS): Add TestECDSA.java
		(ecccheck): Only compile tests if SunEC is enabled.
		(clean-ecccheck): Only remove build directory if
		SunEC is enabled.
		(check-ecc): Only run tests if SunEC is enabled.
		Add running of TestECDSA. Call set -e so rule
		fails if any test fails.
		* test/standalone/TestECDSA.java:
		New test to make sure SunEC can produce ECDSA
		signatures.


changeset e374840aec78 in /hg/icedtea7
details: http://icedtea.classpath.org/hg/icedtea7?cmd=changeset;node=e374840aec78
author: Andrew John Hughes <gnu_andrew at member.fsf.org>
date: Thu Jul 28 16:04:20 2016 +0100

	S7175845, PR1437, RH1207129: 'jar uf' changes file permissions unexpectedly

	2016-07-28  Andrew John Hughes  <gnu.andrew at member.fsf.org>

		S7175845, PR1437, RH1207129: 'jar uf' changes file
		permissions unexpectedly
		* Makefile.am:
		(icedtea): Correct permissions of sa-jdi.jar and
		resources.jar if PR1437 was present in the bootstrap
		JDK.
		(icedtea-debug): Likewise.
		(icedtea-boot): Likewise.
		* acinclude.m4:
		(IT_FIND_JAR): Check for PR1437 in the bootstrap
		jar program and define PR1437_PRESENT if it exhibits.


diffstat:

 ChangeLog                                           |   75 ++
 Makefile.am                                         |   75 ++-
 NEWS                                                |    2 +
 TestCryptoLevel.java                                |   78 --
 acinclude.m4                                        |   27 +-
 agpl-3.0.txt                                        |  661 ++++++++++++++++++++
 rewriter/agpl-3.0.txt                               |  661 --------------------
 test/RH1195203.java                                 |   32 -
 test/standalone/RH1195203.java                      |   32 +
 test/standalone/TestCryptoLevel.java                |   78 ++
 test/standalone/TestECDSA.java                      |   49 +
 test/standalone/TestEllipticCurveCryptoSupport.java |  190 +++++
 12 files changed, 1181 insertions(+), 779 deletions(-)

diffs (truncated from 2123 to 500 lines):

diff -r 9f713d6ccf2a -r e374840aec78 ChangeLog
--- a/ChangeLog	Wed Jul 27 05:41:48 2016 +0100
+++ b/ChangeLog	Thu Jul 28 16:04:20 2016 +0100
@@ -1,3 +1,78 @@
+2016-07-28  Andrew John Hughes  <gnu.andrew at member.fsf.org>
+
+	S7175845, PR1437, RH1207129: 'jar uf' changes file
+	permissions unexpectedly
+	* Makefile.am:
+	(icedtea): Correct permissions of sa-jdi.jar and
+	resources.jar if PR1437 was present in the bootstrap
+	JDK.
+	(icedtea-debug): Likewise.
+	(icedtea-boot): Likewise.
+	* acinclude.m4:
+	(IT_FIND_JAR): Check for PR1437 in the bootstrap
+	jar program and define PR1437_PRESENT if it exhibits.
+
+2016-04-23  Andrew John Hughes  <gnu_andrew at member.fsf.org>
+
+	PR2900: Don't use WithSeed versions of NSS
+	functions as they don't fully process the seed
+	* Makefile.am:
+	(ECC_CHECK_SRCS): Add TestECDSA.java
+	(ecccheck): Only compile tests if SunEC is enabled.
+	(clean-ecccheck): Only remove build directory if
+	SunEC is enabled.
+	(check-ecc): Only run tests if SunEC is enabled.
+	Add running of TestECDSA. Call set -e so rule
+	fails if any test fails.
+	* test/standalone/TestECDSA.java:
+	New test to make sure SunEC can produce ECDSA
+	signatures.
+
+2015-05-20  Andrew John Hughes  <gnu_andrew at member.fsf.org>
+
+	PR3115: Add check for elliptic curve
+	cryptography implementation.
+	* TestCryptoLevel.java: Moved to
+	test/standalone.
+	* rewriter/agpl-3.0.txt: Moved to
+	root directory.
+	* test/RH1195203.java: Likewise.
+	* Makefile.am:
+	(ECC_CHECK_BUILD_DIR): Added.
+	(CRYPTO_CHECK_SRCS): Update TestCryptoLevel.java
+	path.
+	(ECC_CHECK_SRCS): Added.
+	(MIME_TYPE_CHECK_SRCS): Update path.
+	(EXTRA_DIST): Add ECC_CHECK_SRCS.
+	(check-local): Add check-ecc.
+	(clean-tests): Add clean-check-ecc.
+	(clean-local): Add clean-ecccheck.
+	(ecccheck): Build ECC check test.
+	(clean-ecccheck): Cleanup ECC check test.
+	(check-ecc): Run ECC check test.
+	(clean-check-ecc): Cleanup run of ECC check test.
+	* NEWS: Updated.
+	* agpl-3.0.txt: Moved from rewriter as also
+	applies to tests.
+	* test/standalone/RH1195203.java: Moved from test.
+	* test/standalone/TestCryptoLevel.java: Moved from
+	root directory.
+	* test/standalone/TestEllipticCurveCryptoSupport.java:
+	Add check for elliptic curve cryptography support.
+
+2016-07-27  Andrew John Hughes  <gnu.andrew at member.fsf.org>
+
+	PR3114: Don't assume system mime.types
+	supports text/x-java-source
+	* Makefile.am:
+	(check-mimetype): Make second test depend
+	on JAVA_SOURCE_SUPPORTED conditional,
+	not MIME_TYPES_FILE_FOUND.
+	* NEWS: Updated.
+	* acinclude.m4:
+	(IT_CHECK_FOR_MIME_TYPES): Check if the
+	system mime types file supports text/x-java-source.
+
 2016-03-04  Andrew John Hughes  <gnu.andrew at member.fsf.org>
 
 	PR3111: Provide option to disable SystemTap tests
diff -r 9f713d6ccf2a -r e374840aec78 Makefile.am
--- a/Makefile.am	Wed Jul 27 05:41:48 2016 +0100
+++ b/Makefile.am	Thu Jul 28 16:04:20 2016 +0100
@@ -69,6 +69,7 @@
 STAGE2_BOOT_DIR = $(abs_top_builddir)/bootstrap/icedtea
 JAMVM_IMPORT_PATH = $(abs_top_builddir)/jamvm/install/hotspot
 CRYPTO_CHECK_BUILD_DIR = $(abs_top_builddir)/test/cryptocheck.build
+ECC_CHECK_BUILD_DIR = $(abs_top_builddir)/ecccheck.build
 MIME_TYPE_CHECK_BUILD_DIR = $(abs_top_builddir)/test/mimetypecheck.build
 STAGE1_BOOT_RUNTIME = $(STAGE1_BOOT_DIR)/jre/lib/rt.jar
 STAGE2_BOOT_RUNTIME = $(STAGE2_BOOT_DIR)/jre/lib/rt.jar
@@ -366,8 +367,10 @@
 # Sources list
 
 REWRITER_SRCS = $(top_srcdir)/rewriter/com/redhat/rewriter/ClassRewriter.java
-CRYPTO_CHECK_SRCS = $(top_srcdir)/TestCryptoLevel.java
-MIME_TYPE_CHECK_SRCS = $(top_srcdir)/test/RH1195203.java
+CRYPTO_CHECK_SRCS = $(top_srcdir)/test/standalone/TestCryptoLevel.java
+ECC_CHECK_SRCS = $(top_srcdir)/test/standalone/TestEllipticCurveCryptoSupport.java \
+	$(top_srcdir)/test/standalone/TestECDSA.java
+MIME_TYPE_CHECK_SRCS = $(top_srcdir)/test/standalone/RH1195203.java
 
 # Patch list
 
@@ -923,6 +926,7 @@
 	$(REWRITER_SRCS) \
 	test/tapset \
 	$(CRYPTO_CHECK_SRCS) \
+	$(ECC_CHECK_SRCS) \
 	$(MIME_TYPE_CHECK_SRCS)
 
 # Top-Level Targets
@@ -930,10 +934,10 @@
 
 all-local: icedtea-stage2 $(DESKTOP_FILES)
 
-check-local: jtregcheck $(SYSTEMTAP_TEST_SUITE) check-mimetype
+check-local: jtregcheck $(SYSTEMTAP_TEST_SUITE) check-ecc check-mimetype
 
 clean-tests: clean-jtreg clean-tapset-report clean-jtreg-reports \
-  clean-check-mimetype
+  clean-check-ecc clean-check-mimetype
 	if [ $(abs_top_srcdir) != $(abs_top_builddir) ] ; then \
 	  if [ -e test ] ; then \
 	    rmdir test ; \
@@ -949,7 +953,7 @@
  clean-add-cacao clean-add-cacao-debug clean-rt clean-rewrite-rhino clean-rewriter \
  clean-add-systemtap clean-add-systemtap-debug clean-add-nss clean-add-tzdata-support \
  clean-add-tzdata-support-debug clean-cryptocheck clean-policytool- at JAVA_VER@.desktop \
- clean-jconsole- at JAVA_VER@.desktop clean-mimetypecheck
+ clean-jconsole- at JAVA_VER@.desktop clean-ecccheck clean-mimetypecheck
 	if [ -e bootstrap ]; then \
 	  rmdir bootstrap ; \
 	fi
@@ -2046,6 +2050,14 @@
 if ENABLE_JAMVM
 	printf -- '-jamvm ALIASED_TO -server\n' >> $(BUILD_JRE_ARCH_DIR)/jvm.cfg
 endif
+# Fix permissions on JARs updated during build if PR1437 bug is present
+if PR1437_PRESENT
+	if [ -e $(BUILD_SDK_DIR)/lib/sa-jdi.jar ] ; then \
+	  chmod g+r,o+r $(BUILD_SDK_DIR)/lib/sa-jdi.jar ; \
+	fi
+	chmod g+r,o+r $(BUILD_JRE_DIR)/lib/resources.jar
+	chmod g+r,o+r $(BUILD_SDK_DIR)/jre/lib/resources.jar
+endif
 	@echo "IcedTea is served:" $(BUILD_SDK_DIR)
 	mkdir -p stamps
 	touch $@
@@ -2190,6 +2202,14 @@
 if ENABLE_JAMVM
 	printf -- '-jamvm ALIASED_TO -server\n' >> $(BUILD_DEBUG_JRE_ARCH_DIR)/jvm.cfg
 endif
+# Fix permissions on JARs updated during build if PR1437 bug is present
+if PR1437_PRESENT
+	if [ -e $(BUILD_DEBUG_SDK_DIR)/lib/sa-jdi.jar ] ; then \
+	  chmod g+r,o+r $(BUILD_DEBUG_SDK_DIR)/lib/sa-jdi.jar ; \
+	fi
+	chmod g+r,o+r $(BUILD_DEBUG_JRE_DIR)/lib/resources.jar
+	chmod g+r,o+r $(BUILD_DEBUG_SDK_DIR)/jre/lib/resources.jar
+endif
 	@echo "IcedTea (debug build) is served:" $(BUILD_DEBUG_SDK_DIR)
 	mkdir -p stamps
 	touch $@
@@ -2340,6 +2360,14 @@
 	  -C openjdk-boot \
 	  $(ICEDTEA_BUILD_TARGET)
 	$(abs_top_builddir)/pax-mark-vm $(BUILD_BOOT_SDK_DIR)
+# Fix permissions on JARs updated during build if PR1437 bug is present
+if PR1437_PRESENT
+	if [ -e $(BUILD_BOOT_SDK_DIR)/lib/sa-jdi.jar ] ; then \
+	  chmod g+r,o+r $(BUILD_BOOT_SDK_DIR)/lib/sa-jdi.jar ; \
+	fi
+	chmod g+r,o+r $(BUILD_BOOT_JRE_DIR)/lib/resources.jar
+	chmod g+r,o+r $(BUILD_BOOT_SDK_DIR)/jre/lib/resources.jar
+endif
 	@echo "Bootstrapped IcedTea is served:" $(BUILD_BOOT_SDK_DIR)
 	mkdir -p stamps
 	touch $@
@@ -2948,7 +2976,7 @@
 	    exit -1; \
 	  fi ; \
 	fi
-if MIME_TYPES_FILE_FOUND
+if JAVA_SOURCE_SUPPORTED
 	if [ -e $(BUILD_SDK_DIR)/bin/java ] ; then \
 	  expected="text/x-java-source" ; \
 	  java=$$($(BUILD_SDK_DIR)/bin/java -cp $(MIME_TYPE_CHECK_BUILD_DIR) RH1195203 \
@@ -3053,6 +3081,37 @@
 clean-jconsole- at JAVA_VER@.desktop:
 	rm -f jconsole- at JAVA_VER@.desktop
 
+# ECC Availability Check
+
+stamps/ecccheck.stamp: $(INITIAL_BOOTSTRAP_LINK_STAMP)
+if ENABLE_SUNEC
+	mkdir -p $(ECC_CHECK_BUILD_DIR)
+	$(BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) \
+	  -d $(ECC_CHECK_BUILD_DIR) $(ECC_CHECK_SRCS)
+endif
+	mkdir -p stamps
+	touch $@
+
+clean-ecccheck:
+if ENABLE_SUNEC
+	rm -rf $(ECC_CHECK_BUILD_DIR)
+endif
+	rm -f stamps/ecccheck.stamp
+
+stamps/check-ecc.stamp: stamps/ecccheck.stamp stamps/icedtea.stamp
+if ENABLE_SUNEC
+	set -e ; \
+	if [ -e $(BUILD_SDK_DIR)/bin/java ] ; then \
+	  $(BUILD_SDK_DIR)/bin/java -cp $(ECC_CHECK_BUILD_DIR) TestEllipticCurveCryptoSupport yes ; \
+	  $(BUILD_SDK_DIR)/bin/java -cp $(ECC_CHECK_BUILD_DIR) TestECDSA ; \
+	fi
+endif
+	mkdir -p stamps
+	touch $@
+
+clean-check-ecc:
+	rm -f stamps/check-ecc.stamp
+
 # Installation Targets
 # ====================
 
@@ -3343,6 +3402,8 @@
 
 check-mimetype: stamps/check-mimetype.stamp
 
+check-ecc: stamps/check-ecc.stamp
+
 clone-boot: stamps/clone-boot.stamp
 
 cryptocheck: stamps/cryptocheck.stamp
@@ -3367,6 +3428,8 @@
 
 download-openjdk: stamps/download-openjdk.stamp
 
+ecccheck: stamps/ecccheck.stamp
+
 extract: stamps/extract.stamp
 
 extract-cacao: stamps/extract-cacao.stamp
diff -r 9f713d6ccf2a -r e374840aec78 NEWS
--- a/NEWS	Wed Jul 27 05:41:48 2016 +0100
+++ b/NEWS	Thu Jul 28 16:04:20 2016 +0100
@@ -49,6 +49,8 @@
   - PR3091: SystemTap is heavily confused by multiple JDKs
   - PR3103: Handle case in clean-fonts where linux.fontconfig.Gentoo.properties.old has not been created
   - PR3111: Provide option to disable SystemTap tests
+  - PR3114: Don't assume system mime.types supports text/x-java-source
+  - PR3115: Add check for elliptic curve cryptography implementation
 * AArch64 port
   - S8148328: aarch64: redundant lsr instructions in stub code.
   - S8148783: aarch64: SEGV running SpecJBB2013
diff -r 9f713d6ccf2a -r e374840aec78 TestCryptoLevel.java
--- a/TestCryptoLevel.java	Wed Jul 27 05:41:48 2016 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,78 +0,0 @@
-/* TestCryptoLevel -- Ensure unlimited crypto policy is in use.
-   Copyright (C) 2012 Red Hat, Inc.
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU Affero General Public License as
-published by the Free Software Foundation, either version 3 of the
-License, or (at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU Affero General Public License for more details.
-
-You should have received a copy of the GNU Affero General Public License
-along with this program.  If not, see <http://www.gnu.org/licenses/>.
-*/
-
-import java.lang.reflect.Field;
-import java.lang.reflect.Method;
-import java.lang.reflect.InvocationTargetException;
-
-import java.security.Permission;
-import java.security.PermissionCollection;
-
-public class TestCryptoLevel
-{
-  public static void main(String[] args)
-    throws NoSuchFieldException, ClassNotFoundException,
-           IllegalAccessException, InvocationTargetException
-  {
-    Class<?> cls = null;
-    Method def = null, exempt = null;
-
-    try
-      {
-        cls = Class.forName("javax.crypto.JceSecurity");
-      }
-    catch (ClassNotFoundException ex)
-      {
-        System.err.println("Running a non-Sun JDK.");
-        System.exit(0);
-      }
-    catch (ExceptionInInitializerError err)
-      {
-        System.err.println("Failed to initialise JceSecurity: "
-                           + err.getCause().getCause().getMessage());
-        System.exit(-2);
-      }
-    try
-      {
-        def = cls.getDeclaredMethod("getDefaultPolicy");
-        exempt = cls.getDeclaredMethod("getExemptPolicy");
-      }
-    catch (NoSuchMethodException ex)
-      {
-        System.err.println("Running IcedTea with the original crypto patch.");
-        System.exit(0);
-      }
-    def.setAccessible(true);
-    exempt.setAccessible(true);
-    PermissionCollection defPerms = (PermissionCollection) def.invoke(null);
-    PermissionCollection exemptPerms = (PermissionCollection) exempt.invoke(null);
-    Class<?> apCls = Class.forName("javax.crypto.CryptoAllPermission");
-    Field apField = apCls.getDeclaredField("INSTANCE");
-    apField.setAccessible(true);
-    Permission allPerms = (Permission) apField.get(null);
-    if (defPerms.implies(allPerms) && (exemptPerms == null || exemptPerms.implies(allPerms)))
-      {
-        System.err.println("Running with the unlimited policy.");
-        System.exit(0);
-      }
-    else
-      {
-        System.err.println("WARNING: Running with a restricted crypto policy.");
-        System.exit(-1);
-      }
-  }
-}
diff -r 9f713d6ccf2a -r e374840aec78 acinclude.m4
--- a/acinclude.m4	Wed Jul 27 05:41:48 2016 +0100
+++ b/acinclude.m4	Thu Jul 28 16:04:20 2016 +0100
@@ -475,11 +475,25 @@
     JAR_KNOWS_J_OPTIONS=
     AC_MSG_RESULT(no)
   fi
-  rm -f _config.txt _config.jar
+  AC_MSG_CHECKING([whether jar uf fails to retain permissions (PR1437)])
+  origperms=$(ls -l _config.jar | cut -d ' ' -f 1)
+  echo "Original permissions: ${origperms}" >&AS_MESSAGE_LOG_FD
+  touch _config2.txt
+  $JAR uf _config.jar _config2.txt >&AS_MESSAGE_LOG_FD 2>&1
+  newperms=$(ls -l _config.jar | cut -d ' ' -f 1)
+  echo "New permissions: ${newperms}" >&AS_MESSAGE_LOG_FD
+  if test "x$origperms" != "x$newperms"; then
+    pr1437_present=yes
+  else
+    pr1437_present=no
+  fi
+  AC_MSG_RESULT([$pr1437_present])
+  rm -f _config.txt _config2.txt _config.jar
   AC_SUBST(JAR)
   AC_SUBST(JAR_KNOWS_ATFILE)
   AC_SUBST(JAR_ACCEPTS_STDIN_LIST)
   AC_SUBST(JAR_KNOWS_J_OPTIONS)
+  AM_CONDITIONAL(PR1437_PRESENT, test "x${pr1437_present}" = "xyes")
 ])
 
 AC_DEFUN([IT_FIND_RMIC],
@@ -3397,11 +3411,20 @@
      mime_types_file_found=no
   fi
   AC_MSG_RESULT([$mime_types_file_found])
-  if test "x${mime_types_file_found}" = "xno"; then
+  if test "x${mime_types_file_found}" = "xyes"; then
+    AC_MSG_CHECKING([if ${MIME_TYPES_FILE} has text/x-java-source])
+    if grep '^text/x-java-source' ${MIME_TYPES_FILE} >&AS_MESSAGE_LOG_FD ; then
+      java_source_supported=yes
+    else
+      java_source_supported=no
+    fi
+    AC_MSG_RESULT([$java_source_supported])
+  else
     AC_MSG_WARN([No system MIME types file found.])
   fi
   AC_SUBST([MIME_TYPES_FILE])
   AM_CONDITIONAL(MIME_TYPES_FILE_FOUND, test "x${mime_types_file_found}" = "xyes")
+  AM_CONDITIONAL(JAVA_SOURCE_SUPPORTED, test "x${java_source_supported}" = "xyes")    
 ])
 
 AC_DEFUN_ONCE([IT_DISABLE_SYSTEMTAP_TESTS],
diff -r 9f713d6ccf2a -r e374840aec78 agpl-3.0.txt
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/agpl-3.0.txt	Thu Jul 28 16:04:20 2016 +0100
@@ -0,0 +1,661 @@
+                    GNU AFFERO GENERAL PUBLIC LICENSE
+                       Version 3, 19 November 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+                            Preamble
+
+  The GNU Affero General Public License is a free, copyleft license for
+software and other kinds of works, specifically designed to ensure
+cooperation with the community in the case of network server software.
+
+  The licenses for most software and other practical works are designed
+to take away your freedom to share and change the works.  By contrast,
+our General Public Licenses are intended to guarantee your freedom to
+share and change all versions of a program--to make sure it remains free
+software for all its users.
+
+  When we speak of free software, we are referring to freedom, not
+price.  Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+them if you wish), that you receive source code or can get it if you
+want it, that you can change the software or use pieces of it in new
+free programs, and that you know you can do these things.
+
+  Developers that use our General Public Licenses protect your rights
+with two steps: (1) assert copyright on the software, and (2) offer
+you this License which gives you legal permission to copy, distribute
+and/or modify the software.
+
+  A secondary benefit of defending all users' freedom is that
+improvements made in alternate versions of the program, if they
+receive widespread use, become available for other developers to
+incorporate.  Many developers of free software are heartened and
+encouraged by the resulting cooperation.  However, in the case of
+software used on network servers, this result may fail to come about.
+The GNU General Public License permits making a modified version and
+letting the public access it on a server without ever releasing its
+source code to the public.
+
+  The GNU Affero General Public License is designed specifically to
+ensure that, in such cases, the modified source code becomes available
+to the community.  It requires the operator of a network server to
+provide the source code of the modified version running there to the
+users of that server.  Therefore, public use of a modified version, on
+a publicly accessible server, gives the public access to the source
+code of the modified version.
+
+  An older license, called the Affero General Public License and
+published by Affero, was designed to accomplish similar goals.  This is
+a different license, not a version of the Affero GPL, but Affero has
+released a new version of the Affero GPL which permits relicensing under
+this license.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.
+
+                       TERMS AND CONDITIONS
+
+  0. Definitions.
+
+  "This License" refers to version 3 of the GNU Affero General Public License.
+
+  "Copyright" also means copyright-like laws that apply to other kinds of
+works, such as semiconductor masks.
+
+  "The Program" refers to any copyrightable work licensed under this
+License.  Each licensee is addressed as "you".  "Licensees" and
+"recipients" may be individuals or organizations.
+
+  To "modify" a work means to copy from or adapt all or part of the work
+in a fashion requiring copyright permission, other than the making of an
+exact copy.  The resulting work is called a "modified version" of the
+earlier work or a work "based on" the earlier work.
+
+  A "covered work" means either the unmodified Program or a work based
+on the Program.
+
+  To "propagate" a work means to do anything with it that, without
+permission, would make you directly or secondarily liable for
+infringement under applicable copyright law, except executing it on a
+computer or modifying a private copy.  Propagation includes copying,
+distribution (with or without modification), making available to the
+public, and in some countries other activities as well.
+
+  To "convey" a work means any kind of propagation that enables other
+parties to make or receive copies.  Mere interaction with a user through
+a computer network, with no transfer of a copy, is not conveying.
+
+  An interactive user interface displays "Appropriate Legal Notices"
+to the extent that it includes a convenient and prominently visible
+feature that (1) displays an appropriate copyright notice, and (2)
+tells the user that there is no warranty for the work (except to the
+extent that warranties are provided), that licensees may convey the
+work under this License, and how to view a copy of this License.  If
+the interface presents a list of user commands or options, such as a
+menu, a prominent item in the list meets this criterion.
+
+  1. Source Code.
+
+  The "source code" for a work means the preferred form of the work
+for making modifications to it.  "Object code" means any non-source
+form of a work.


More information about the distro-pkg-dev mailing list