From 3f39255f841e2ee612bffba9633b3d71b7729626 Mon Sep 17 00:00:00 2001
From: hwdsl2 <hwdsl2@users.noreply.github.com>
Date: Mon, 20 Nov 2017 00:33:36 -0600
Subject: [PATCH] Bug fix for RHEL 6/7

- Fix compatibility with Red Hat Enterprise Linux (RHEL) 6 and 7
- Ref: #273
---
 extras/vpnupgrade_centos.sh | 12 ++++++++----
 vpnsetup_centos.sh          | 13 ++++++++-----
 2 files changed, 16 insertions(+), 9 deletions(-)

diff --git a/extras/vpnupgrade_centos.sh b/extras/vpnupgrade_centos.sh
index ee2ad84..76692d0 100644
--- a/extras/vpnupgrade_centos.sh
+++ b/extras/vpnupgrade_centos.sh
@@ -115,18 +115,22 @@ cd /opt/src || exiterr "Cannot enter /opt/src."
 yum -y install wget || exiterr2
 
 # Add the EPEL repository
-yum -y install epel-release || exiterr2
+epel_url="https://dl.fedoraproject.org/pub/epel/epel-release-latest-$(rpm -E '%{rhel}').noarch.rpm"
+yum -y install epel-release || yum -y install "$epel_url" || exiterr2
 
 # Install necessary packages
 yum -y install nss-devel nspr-devel pkgconfig pam-devel \
   libcap-ng-devel libselinux-devel curl-devel \
-  flex bison gcc make fipscheck-devel || exiterr2
+  flex bison gcc make || exiterr2
 
+OPT1='--enablerepo=*server-optional*'
+OPT2='--enablerepo=*releases-optional*'
 if grep -qs "release 6" /etc/redhat-release; then
   yum -y remove libevent-devel
-  yum -y install libevent2-devel || exiterr2
+  yum "$OPT1" "$OPT2" -y install libevent2-devel fipscheck-devel || exiterr2
 else
-  yum -y install libevent-devel systemd-devel || exiterr2
+  yum -y install systemd-devel || exiterr2
+  yum "$OPT1" "$OPT2" -y install libevent-devel fipscheck-devel || exiterr2
 fi
 
 # Compile and install Libreswan
diff --git a/vpnsetup_centos.sh b/vpnsetup_centos.sh
index 8c6513b..405fc09 100755
--- a/vpnsetup_centos.sh
+++ b/vpnsetup_centos.sh
@@ -143,20 +143,23 @@ check_ip "$PUBLIC_IP" || exiterr "Cannot detect this server's public IP. Edit th
 
 bigecho "Adding the EPEL repository..."
 
-yum -y install epel-release || exiterr2
+epel_url="https://dl.fedoraproject.org/pub/epel/epel-release-latest-$(rpm -E '%{rhel}').noarch.rpm"
+yum -y install epel-release || yum -y install "$epel_url" || exiterr2
 
 bigecho "Installing packages required for the VPN..."
 
 yum -y install nss-devel nspr-devel pkgconfig pam-devel \
   libcap-ng-devel libselinux-devel curl-devel \
-  flex bison gcc make fipscheck-devel \
-  ppp xl2tpd || exiterr2
+  flex bison gcc make ppp xl2tpd || exiterr2
 
+OPT1='--enablerepo=*server-optional*'
+OPT2='--enablerepo=*releases-optional*'
 if grep -qs "release 6" /etc/redhat-release; then
   yum -y remove libevent-devel
-  yum -y install libevent2-devel || exiterr2
+  yum "$OPT1" "$OPT2" -y install libevent2-devel fipscheck-devel || exiterr2
 else
-  yum -y install libevent-devel systemd-devel iptables-services || exiterr2
+  yum -y install systemd-devel iptables-services || exiterr2
+  yum "$OPT1" "$OPT2" -y install libevent-devel fipscheck-devel || exiterr2
 fi
 
 bigecho "Installing Fail2Ban to protect SSH..."