From b279863acb9ae3ade833ea00bcb17f22001e20db Mon Sep 17 00:00:00 2001 From: Robby Date: Sat, 10 Nov 2018 15:15:05 +0100 Subject: [PATCH] Update most URLs to use HTTPS if available, and fix some dead ones too. --- .BANNER | 5 +++-- CMakeLists.txt | 4 ++-- Config | 2 +- data/example.conf | 2 +- data/modules.example.conf | 2 +- docs/BUGS | 2 +- docs/C++CASTING | 10 +++++----- docs/CODING | 2 +- docs/FAQ | 2 +- docs/INSTALL | 8 ++++---- docs/INSTALL.fr | 8 ++++---- docs/LANGUAGE | 4 ++-- docs/MODULES | 6 +++--- docs/README | 6 +++--- docs/REDIS | 6 +++--- docs/WIN32.txt | 4 ++-- extras | 4 ++-- modules/encryption/enc_bcrypt.cpp | 6 +++--- modules/encryption/enc_sha256.cpp | 4 ++-- modules/webcpanel/templates/default/confirm.html | 4 ++-- modules/webcpanel/templates/default/footer.html | 2 +- modules/webcpanel/templates/default/login.html | 4 ++-- modules/webcpanel/templates/default/register.html | 4 ++-- src/init.cpp | 6 +++--- src/modulemanager.cpp | 2 +- src/tools/anoperc.in | 6 +++--- src/tools/geoipupdate.sh | 6 +++--- src/win32/win32_memory.cpp | 2 +- 28 files changed, 62 insertions(+), 61 deletions(-) diff --git a/.BANNER b/.BANNER index f6a9f89a55..bae644cd00 100644 --- a/.BANNER +++ b/.BANNER @@ -1,5 +1,5 @@ ___ - / _ \ http://www.anope.org + / _ \ https://www.anope.org/ | /_\ | _ __ _ _ _ _ ___ | _ || '_ \/ _ \/ _ \ / _ \ | | | || | | |_| |_| | __/ @@ -15,4 +15,5 @@ Anope is a set of Services for IRC networks that allows users to manage their nicks and channels in a secure and efficient way, and administrators to manage their network with powerful tools. -For all your Anope needs please visit our portal at www.anope.org +For all your Anope needs please visit our portal at +https://www.anope.org/ diff --git a/CMakeLists.txt b/CMakeLists.txt index dc3bbde9e3..518c198988 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -541,14 +541,14 @@ if(EXISTS "${CMAKE_ROOT}/Modules/CPack.cmake") "bin\\\\anope.bat\\\" \\\"-debug -nofork" "Anope IRC Services (Debug and Window Logging)" "bin\\\\anope.bat\\\" \\\"-nofork" "Anope IRC Services (Window Logging)" "bin\\\\anope.bat\\\" \\\"-nothird" "Anope IRC Services (No Third Party Modules)" - "http://www.anope.org/" "Anope Web Site" + "https://www.anope.org/" "Anope Web Site" ) # The following doesn't work, but a bug report has been filed about it #set(CPACK_CREATE_DESKTOP_LINK_${SERVICES_BINARY} TRUE) set(CPACK_NSIS_MUI_ICON "${Anope_SOURCE_DIR}/src\\\\win32\\\\anope-icon.ico") set(CPACK_NSIS_MUI_UNIICON "${Anope_SOURCE_DIR}/src\\\\win32\\\\anope-icon.ico") set(CPACK_NSIS_INSTALLED_ICON_NAME "${SERVICES_BINARY}") - set(CPACK_NSIS_URL_INFO_ABOUT "http://www.anope.org/") + set(CPACK_NSIS_URL_INFO_ABOUT "https://www.anope.org/") set(CPACK_NSIS_COMPRESSOR "/SOLID lzma") endif(WIN32) set(CPACK_SOURCE_PACKAGE_FILE_NAME "anope-${VERSION_FULL_NOBUILD}-source") diff --git a/Config b/Config index 77f32f462a..9f7f08ff25 100755 --- a/Config +++ b/Config @@ -173,7 +173,7 @@ done cmake --version 2>&1 > /dev/null if [ $? -ne 0 ] ; then clear - echo "Anope requires CMake 2.4 or newer, which can be downloaded at http://cmake.org or through your system's package manager." + echo "Anope requires CMake 2.4 or newer, which can be downloaded at https://cmake.org/ or through your system's package manager." echo "If you have installed CMake already, ensure it is in your PATH environment variable." exit 0 fi diff --git a/data/example.conf b/data/example.conf index 9f86004db6..56efe06bfd 100644 --- a/data/example.conf +++ b/data/example.conf @@ -1192,7 +1192,7 @@ module /* * db_redis. * - * This module allows using Redis (http://redis.io) as a database backend. + * This module allows using Redis (https://redis.io/) as a database backend. * This module requires that m_redis is loaded and configured properly. * * Redis 2.8 supports keyspace notifications which allows Redis to push notifications diff --git a/data/modules.example.conf b/data/modules.example.conf index 461e455e28..6dd7d5d85c 100644 --- a/data/modules.example.conf +++ b/data/modules.example.conf @@ -171,7 +171,7 @@ module { name = "help" } { name = "dnsbl.dronebl.org" time = 4h - reason = "You have a host listed in the DroneBL. For more information, visit http://dronebl.org/lookup_branded?ip=%i&network=%N" + reason = "You have a host listed in the DroneBL. For more information, visit https://dronebl.org/lookup_branded?ip=%i&network=%N" } /* Exempt localhost from DNSBL checks */ diff --git a/docs/BUGS b/docs/BUGS index 4c5bf2de9e..d805dd78f4 100644 --- a/docs/BUGS +++ b/docs/BUGS @@ -1 +1 @@ -For all bug reports / updates please see http://bugs.anope.org +For all bug reports / updates please see https://bugs.anope.org/ diff --git a/docs/C++CASTING b/docs/C++CASTING index e1beb8f063..eed640becd 100644 --- a/docs/C++CASTING +++ b/docs/C++CASTING @@ -100,12 +100,12 @@ Links The following links are web sites I've used to get this information, and might describe some of the above a bit better than I have. :P -http://www.acm.org/crossroads/xrds3-1/ovp3-1.html +https://www.acm.org/crossroads/xrds3-1/ovp3-1.html http://www.cplusplus.com/doc/tutorial/typecasting.html http://www.codeguru.com/forum/showthread.php?t=312456 -http://www.cs.umd.edu/class/sum2003/cmsc311/Notes/BitOp/cast.html -http://msdn.microsoft.com/en-us/library/5f6c9f8h(VS.80).aspx -http://en.wikibooks.org/wiki/C%2B%2B_Programming/Type_Casting -http://www.informit.com/guides/content.aspx?g=cplusplus&seqNum=134 +https://web.archive.org/web/20170810222238/http://www.cs.umd.edu/class/sum2003/cmsc311/Notes/BitOp/cast.html +https://www.microsoft.com/en-us/download/details.aspx?id=55984 +https://en.wikibooks.org/wiki/C%2B%2B_Programming/Type_Casting +https://web.archive.org/web/20160510114447/http://www.informit.com/guides/content.aspx?g=cplusplus&seqNum=134 -- CyberBotX, Nov 23, 2008 diff --git a/docs/CODING b/docs/CODING index 7dbd5afb3a..31fa4e847d 100644 --- a/docs/CODING +++ b/docs/CODING @@ -1,4 +1,4 @@ -Originally pulled from: http://www.inspircd.org/wiki/Coding_Guidelines +Originally pulled from: https://wiki.inspircd.org/Coding_Guidelines --- diff --git a/docs/FAQ b/docs/FAQ index a64603ff31..c066158f6e 100644 --- a/docs/FAQ +++ b/docs/FAQ @@ -7,4 +7,4 @@ for the most up to date information. An updated version of the FAQ can be found here: -http://wiki.anope.org/index.php/FAQ +https://wiki.anope.org/index.php/2.0/FAQ diff --git a/docs/INSTALL b/docs/INSTALL index 41196f4229..21ca16e19c 100644 --- a/docs/INSTALL +++ b/docs/INSTALL @@ -19,7 +19,7 @@ Note: You should also read the README and FAQ files! The very first thing you need to do is to get the Anope package (if not already done). You can find it at: - http://www.anope.org/ + https://www.anope.org/ Anope requires cmake to build. You can check if CMake is already installed on your system using the command: @@ -32,7 +32,7 @@ Note: You should also read the README and FAQ files! CMake unless you install it yourself into your home directory. CMake can be downloaded from: - http://www.cmake.org/cmake/resources/software.html + https://cmake.org/download/ Next, unpack the package in your home directory, and go into the created directory. @@ -59,7 +59,7 @@ Note: You should also read the README and FAQ files! the file carefully. Using the default values is NOT a good idea, and will most likely not work! - If you need help, you should visit http://forum.anope.org/ or #anope on + If you need help, you should visit https://forum.anope.org/ or #anope on irc.anope.org. Provide *complete* error output, along with other relevant information eg. OS, compiler and C++ library versions. See the README file for more information. @@ -90,7 +90,7 @@ Note: You should also read the README and FAQ files! You may also try our interactive link maker, which is located at: - http://anope.org/ilm.php + https://www.anope.org/ilm.php 4) Starting Anope diff --git a/docs/INSTALL.fr b/docs/INSTALL.fr index 14f4375004..245af3e572 100644 --- a/docs/INSTALL.fr +++ b/docs/INSTALL.fr @@ -19,7 +19,7 @@ Note : Vous devrez également lire les fichiers README et FAQ ! La première chose que vous devez faire est d'obtenir le package Anope (si ce n'est déjà fait). Vous pouvez le trouver ici : - http://www.anope.org/ + https://www.anope.org/ Anope nécessite cmake pour être compilé. Vous pouvez vérifier si CMake est déjà installé sur votre système avec la commande : @@ -32,7 +32,7 @@ Note : Vous devrez également lire les fichiers README et FAQ ! pourrez pas utiliser CMake à moins de l'installer vous-même dans votre répertoire home. CMake peut être téléchargé ici : - http://www.cmake.org/cmake/resources/software.html + https://cmake.org/download/ Ensuite, décompressez le package dans votre répertoire home, et allez dans le répértoire qui vient d'être créé. @@ -64,7 +64,7 @@ Note : Vous devrez également lire les fichiers README et FAQ ! recommandée, et Anope ne fonctionnera probablement pas ! Si vous avez besoin d'aide, vous pouvez aller sur le site - http://forum.anope.org/ ou le canal #anope sur irc.anope.org. + https://forum.anope.org/ ou le canal #anope sur irc.anope.org. Fournissez *l'essemble* des erreurs qui apparaîssent, en plus de toutes informations utiles, comme les versions de votre OS, du compilateur utilisé et de la librairie C++. Lisez le fichier README @@ -99,7 +99,7 @@ Note : Vous devrez également lire les fichiers README et FAQ ! Vous pouvez également essayer notre créateur de bloc link interactif situé ici : - http://anope.org/ilm.php + https://www.anope.org/ilm.php 4) Mettre en route Anope diff --git a/docs/LANGUAGE b/docs/LANGUAGE index 33fa240fd6..bf73178643 100644 --- a/docs/LANGUAGE +++ b/docs/LANGUAGE @@ -22,13 +22,13 @@ Anope Mutli Language Support 2) Adding a new language - Anope uses gettext (http://www.gnu.org/software/gettext/) to translate messages for users. To add a new language + Anope uses gettext (https://www.gnu.org/software/gettext/) to translate messages for users. To add a new language install gettext and run `msginit -l language -o anope.language.po -i anope.pot`. For example if I was translating to Spanish I could run `msginit -l es_ES -o anope.es_ES.po -i anope.pot`. Open the newly generating .po file and start translating. Once you are done simply rerun ./Config; make && make install and add the language to your services.conf. Note that on Windows it is not quite this simple, windows.cpp must be edited and Anope recompiled and restarted. - Poedit (http://www.poedit.net/) is a popular po file editor, and we recommend using it or another editor designed to edit + Poedit (https://poedit.net/) is a popular po file editor, and we recommend using it or another editor designed to edit po files (especially on Windows). If you have finished a language file translation and you want others to use it, please send it to team@anope.org diff --git a/docs/MODULES b/docs/MODULES index 34b3e84140..52cb3b25c9 100644 --- a/docs/MODULES +++ b/docs/MODULES @@ -87,7 +87,7 @@ Anope Modules 5) More Modules - You can download more useful modules from http://modules.anope.org/. Just + You can download more useful modules from https://modules.anope.org/. Just grab the module file (usually with a .cpp extension). Place the module file in your modules (anope-1.9.x/modules/third) folder; although any of the other folders within the modules directory will work. @@ -118,11 +118,11 @@ Anope Modules There are a number of useful documents on the Anope Wiki. The Anope Wiki can be reached at: - * http://wiki.anope.org/ + * https://wiki.anope.org/ 8) Modules Repository - You can find modules at http://modules.anope.org + You can find modules at https://modules.anope.org/ These modules are 3rd party and as such are not supported by the Anope Team. Contact the Module Author directly with problems, not the Anope Team. diff --git a/docs/README b/docs/README index 56eb8a462d..2390ce44d0 100644 --- a/docs/README +++ b/docs/README @@ -8,7 +8,7 @@ Based on Services 1996-1999 Andrew Church . This program is free but copyrighted software; see the file COPYING for details. -Information about Anope may be found at http://www.anope.org/ +Information about Anope may be found at https://www.anope.org/ Table of Contents ----------------- @@ -240,7 +240,7 @@ Table of Contents 6) Contact For announcements and discussions about Anope, please visit our - Portal and Forums at http://www.anope.org/ -- make sure you register + Portal and Forums at https://www.anope.org/ -- make sure you register yourself to get full benefits. If you read the documentation carefully, and didn't find the answer to @@ -252,7 +252,7 @@ Table of Contents The more precise you are the sooner you'll be likely to get an answer. If you think you found a bug, add it to the bug tracking system - (http://bugs.anope.org) and - again - be as precise as possible. Also say + (https://bugs.anope.org/) and - again - be as precise as possible. Also say whether the bug happens always or under what circumstances, and anything that could be useful to track your bug down. If you wrote a patch, send it over. :) diff --git a/docs/REDIS b/docs/REDIS index 5e74dad428..d185859796 100644 --- a/docs/REDIS +++ b/docs/REDIS @@ -1,8 +1,8 @@ -Starting in Anope 1.9.9, Anope has Redis database support (http://redis.io/). +Starting in Anope 1.9.9, Anope has Redis database support (https://redis.io/). This document explains the data structure used by Anope, and explains how keyspace notification works. -This is not a tutorial on how to use Redis, see http://redis.io/documentation +This is not a tutorial on how to use Redis, see https://redis.io/documentation for that. Table of Contents @@ -70,7 +70,7 @@ Table of Contents 2) Keyspace notifications Redis 2.7 (unstable) and 2.8 (stable) and newer support keyspace notifications - (http://redis.io/topics/notifications). This allows Redis to notify Anope of + (https://redis.io/topics/notifications). This allows Redis to notify Anope of any external changes to objects in the database. Once notified, Anope will immediately update the object. Otherwise, Anope keeps all objects in memory and will not regularly read from the databaes once started. diff --git a/docs/WIN32.txt b/docs/WIN32.txt index 1abb1b0612..2880cb0e0b 100644 --- a/docs/WIN32.txt +++ b/docs/WIN32.txt @@ -18,10 +18,10 @@ Anope for Windows 1) Download the required files: * Current Anope source: - http://sourceforge.net/project/showfiles.php?group_id=94081 + https://github.com/anope/anope/releases * CMake: - http://www.cmake.org/cmake/resources/software.html + https://cmake.org/download/ (NOTE: When installing, tell CMake to add itself to the PATH.) diff --git a/extras b/extras index c1b1fba67e..b411a06bc3 100755 --- a/extras +++ b/extras @@ -1,7 +1,7 @@ #!/usr/bin/env perl # -# Script taken from InspIRCd, www.inspircd.org +# Script taken from InspIRCd, https://www.inspircd.org/ # # 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 @@ -9,7 +9,7 @@ # details. # # You should have received a copy of the GNU General Public License -# along with this program. If not, see . +# along with this program. If not, see . # diff --git a/modules/encryption/enc_bcrypt.cpp b/modules/encryption/enc_bcrypt.cpp index de92535eab..57707e1e22 100644 --- a/modules/encryption/enc_bcrypt.cpp +++ b/modules/encryption/enc_bcrypt.cpp @@ -7,13 +7,13 @@ * details. * * Most of the code in this file is taken from - * http://openwall.com/crypt/crypt_blowfish-1.2.tar.gz + * https://www.openwall.com/crypt/crypt_blowfish-1.2.tar.gz */ /* * The crypt_blowfish homepage is: * - * http://www.openwall.com/crypt/ + * https://www.openwall.com/crypt/ * * This code comes from John the Ripper password cracker, with reentrant * and crypt(3) interfaces added, but optimizations specific to password @@ -48,7 +48,7 @@ * * There's a paper on the algorithm that explains its design decisions: * - * http://www.usenix.org/events/usenix99/provos.html + * https://www.usenix.org/legacy/events/usenix99/provos.html * * Some of the tricks in BF_ROUND might be inspired by Eric Young's * Blowfish library (I can't be sure if I would think of something if I diff --git a/modules/encryption/enc_sha256.cpp b/modules/encryption/enc_sha256.cpp index 2df022437a..13bfe54c01 100644 --- a/modules/encryption/enc_sha256.cpp +++ b/modules/encryption/enc_sha256.cpp @@ -8,8 +8,8 @@ * (C) 2003-2018 Anope Team * Contact us at team@anope.org * - * Taken from InspIRCd ( www.inspircd.org ) - * see http://wiki.inspircd.org/Credits + * Taken from InspIRCd (https://www.inspircd.org/), + * see https://wiki.inspircd.org/Credits * * This program is free but copyrighted software; see * the file COPYING for details. diff --git a/modules/webcpanel/templates/default/confirm.html b/modules/webcpanel/templates/default/confirm.html index 10a9b4b5c5..970c8802d4 100644 --- a/modules/webcpanel/templates/default/confirm.html +++ b/modules/webcpanel/templates/default/confirm.html @@ -8,7 +8,7 @@ - + {TITLE} @@ -39,7 +39,7 @@

Register

diff --git a/modules/webcpanel/templates/default/footer.html b/modules/webcpanel/templates/default/footer.html index 28d23f3ba7..7a0e7c3748 100644 --- a/modules/webcpanel/templates/default/footer.html +++ b/modules/webcpanel/templates/default/footer.html @@ -5,7 +5,7 @@
diff --git a/modules/webcpanel/templates/default/login.html b/modules/webcpanel/templates/default/login.html index 3e3b6e9d6f..2a3e730a91 100644 --- a/modules/webcpanel/templates/default/login.html +++ b/modules/webcpanel/templates/default/login.html @@ -8,7 +8,7 @@ - + {TITLE} @@ -43,7 +43,7 @@

Login to continue

diff --git a/modules/webcpanel/templates/default/register.html b/modules/webcpanel/templates/default/register.html index 7a23721ca4..54ba5fcc09 100644 --- a/modules/webcpanel/templates/default/register.html +++ b/modules/webcpanel/templates/default/register.html @@ -8,7 +8,7 @@ - + {TITLE} @@ -53,7 +53,7 @@

Optional

diff --git a/src/init.cpp b/src/init.cpp index 82bb4e5ff7..c7c4818168 100644 --- a/src/init.cpp +++ b/src/init.cpp @@ -305,7 +305,7 @@ void Anope::Init(int ac, char **av) if (GetCommandLineArgument("help", 'h')) { Log(LOG_TERMINAL) << "Anope-" << Anope::Version() << " -- " << Anope::VersionBuildString(); - Log(LOG_TERMINAL) << "Anope IRC Services (http://www.anope.org)"; + Log(LOG_TERMINAL) << "Anope IRC Services (https://www.anope.org/)"; Log(LOG_TERMINAL) << "Usage ./" << Anope::ServicesBin << " [options] ..."; Log(LOG_TERMINAL) << "-c, --config=filename.conf"; Log(LOG_TERMINAL) << " --confdir=conf file direcory"; @@ -323,7 +323,7 @@ void Anope::Init(int ac, char **av) Log(LOG_TERMINAL) << "-s, --support"; Log(LOG_TERMINAL) << "-v, --version"; Log(LOG_TERMINAL) << ""; - Log(LOG_TERMINAL) << "Further support is available from http://www.anope.org"; + Log(LOG_TERMINAL) << "Further support is available from https://www.anope.org/"; Log(LOG_TERMINAL) << "Or visit us on IRC at irc.anope.org #anope"; throw CoreException(); } @@ -490,7 +490,7 @@ void Anope::Init(int ac, char **av) Log(LOG_TERMINAL) << ex.GetReason(); Log(LOG_TERMINAL) << "*** Support resources: Read through the services.conf self-contained"; Log(LOG_TERMINAL) << "*** documentation. Read the documentation files found in the 'docs'"; - Log(LOG_TERMINAL) << "*** folder. Visit our portal located at http://www.anope.org/. Join"; + Log(LOG_TERMINAL) << "*** folder. Visit our portal located at https://www.anope.org/. Join"; Log(LOG_TERMINAL) << "*** our support channel on /server irc.anope.org channel #anope."; throw CoreException("Configuration file failed to validate"); } diff --git a/src/modulemanager.cpp b/src/modulemanager.cpp index 6756024aa2..40cdc308ce 100644 --- a/src/modulemanager.cpp +++ b/src/modulemanager.cpp @@ -111,7 +111,7 @@ static ModuleReturn moduleCopyFile(const Anope::string &name, Anope::string &out } #endif -/* This code was found online at http://www.linuxjournal.com/article/3687#comment-26593 +/* This code was found online at https://web.archive.org/web/20180318184211/https://www.linuxjournal.com/article/3687#comment-26593 * * This function will take a pointer from either dlsym or GetProcAddress and cast it in * a way that won't cause C++ warnings/errors to come up. diff --git a/src/tools/anoperc.in b/src/tools/anoperc.in index 421f93a360..c332e3c4e1 100644 --- a/src/tools/anoperc.in +++ b/src/tools/anoperc.in @@ -65,7 +65,7 @@ if [ "$1" = "start" ] ; then echo "This error has been logged in your Anope Log file" echo "Located in "$LOG"" echo "This may help you diagnose the problem" - echo "Further help may be available from http://www.anope.org/" + echo "Further help may be available from https://www.anope.org/" exit 1 fi @@ -101,7 +101,7 @@ elif [ "$1" = "restart" ] ; then echo "This error has been logged in your Anope Log file" echo "Located in "$LOG"" echo "This may help you diagnose the problem" - echo "Further help may be available from http://www.anope.org/" + echo "Further help may be available from https://www.anope.org/" exit 1 fi @@ -128,7 +128,7 @@ elif [ "$1" = "help" ] ; then echo "$0 help Show this help menu" echo "If you need further help please check the /docs/" echo "folder or make use of our extensive online support at" - echo "http://www.anope.org/" + echo "https://www.anope.org/" fi else diff --git a/src/tools/geoipupdate.sh b/src/tools/geoipupdate.sh index 641ac3259c..4e76d493cb 100644 --- a/src/tools/geoipupdate.sh +++ b/src/tools/geoipupdate.sh @@ -24,9 +24,9 @@ die="yes" ########################### # The GeoIP data is created by MaxMind, available from www.maxmind.com. -geoip_country_source="http://geolite.maxmind.com/download/geoip/database/GeoIPCountryCSV.zip" -geoip_city_source="http://geolite.maxmind.com/download/geoip/database/GeoLiteCity_CSV/GeoLiteCity-latest.zip" -geoip_region_source="http://dev.maxmind.com/static/csv/codes/maxmind/region.csv" +geoip_country_source="https://geolite.maxmind.com/download/geoip/database/GeoIPCountryCSV.zip" +geoip_city_source="https://geolite.maxmind.com/download/geoip/database/GeoLiteCity_CSV/GeoLiteCity-latest.zip" +geoip_region_source="https://www.maxmind.com/download/geoip/misc/region_codes.csv" ########################### LOGIN="--host=$mysql_host --user=$mysql_user --password=$mysql_password $mysql_database" diff --git a/src/win32/win32_memory.cpp b/src/win32/win32_memory.cpp index 872d5b76e2..db7a46eb80 100644 --- a/src/win32/win32_memory.cpp +++ b/src/win32/win32_memory.cpp @@ -3,7 +3,7 @@ * +------------------------------------+ * * InspIRCd: (C) 2002-2011 InspIRCd Development Team - * See: http://www.inspircd.org/wiki/index.php/Credits + * See: https://wiki.inspircd.org/Credits * * This program is free but copyrighted software; see * the file COPYING for details.