--- /dev/null
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit php-pear-r2
+
+DESCRIPTION="Generating CHAP packets"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+IUSE="test"
+RDEPEND="dev-lang/php:*[crypt,hash]"
+DEPEND="test? ( ${RDEPEND} dev-php/PEAR-PEAR )"
+PATCHES=( "${FILESDIR}/CHAP-1.5.0-constructor.patch" )
+
+src_install() {
+ php-pear-r2_src_install
+ insinto /usr/share/php/Crypt
+ doins CHAP.php
+}
+
+src_test() {
+ pear run-tests tests/Crypt_CHAP.phpt || die
+}
--- /dev/null
+diff -aurN a/CHAP.php b/CHAP.php
+--- a/CHAP.php 1970-01-01 04:13:08.000000000 -0500
++++ b/CHAP.php 2018-02-13 13:04:49.812389739 -0500
+@@ -78,7 +78,19 @@
+ * @var integer
+ */
+ var $chapid = 1;
+-
++
++ /**
++ * Constructor
++ *
++ * Generates a random challenge
++ * @return void
++ */
++ function __construct()
++ {
++ parent::__construct();
++ $this->generateChallenge();
++ }
++
+ /**
+ * Constructor
+ *
+@@ -160,7 +172,19 @@
+ * @var bool
+ */
+ var $flags = 1;
+-
++
++ /**
++ * Constructor
++ *
++ * Loads the hash extension
++ * @return void
++ */
++ function __construct()
++ {
++ parent::__construct();
++ $this->loadExtension('hash');
++ }
++
+ /**
+ * Constructor
+ *
+@@ -412,6 +436,19 @@
+ /**
+ * Constructor
+ *
++ * Generates the 16 Bytes peer and authentication challenge
++ * @return void
++ */
++ function __construct()
++ {
++ parent::__construct();
++ $this->generateChallenge('peerChallenge', 16);
++ $this->generateChallenge('authChallenge', 16);
++ }
++
++ /**
++ * Constructor
++ *
+ * Generates the 16 Bytes peer and authentication challenge
+ * @return void
+ */