summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO43
-rw-r--r--PKGBUILD92
-rw-r--r--accel-ppp-default4
-rw-r--r--accel-ppp.install22
-rw-r--r--accel-ppp.logrotate7
-rw-r--r--accel-ppp.lua31
-rw-r--r--accel-ppp.tmpfiles2
-rw-r--r--accel-pppd.service14
-rw-r--r--dictionary.accel_ipoe6
-rw-r--r--dictionary.ppp13
10 files changed, 234 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..58170bade438
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,43 @@
+pkgbase = accel-ppp-git
+ pkgdesc = High performance PPTP/L2TP/PPPoE/IPoE server
+ pkgver = r1179.b8b91d8
+ pkgrel = 1
+ url = http://sourceforge.net/apps/trac/accel-ppp/
+ install = accel-ppp.install
+ arch = i686
+ arch = x86_64
+ license = GPL
+ makedepends = git
+ makedepends = cmake>=2.6
+ makedepends = libnl1
+ makedepends = net-snmp>=5.x
+ makedepends = lua51
+ depends = openssl>=1.0.0
+ depends = pcre>=8.30
+ depends = libnl
+ optdepends = accel-ppp-ipoe-module-git
+ optdepends = logrotate
+ conflicts = accel-ppp
+ options = docs
+ backup = etc/accel-ppp.conf
+ backup = etc/accel-ppp.lua
+ backup = etc/snmp/accel-ppp.conf
+ source = accel-ppp::git+git://git.code.sf.net/p/accel-ppp/code
+ source = accel-ppp-default
+ source = accel-ppp.logrotate
+ source = accel-ppp.lua
+ source = accel-ppp.tmpfiles
+ source = accel-pppd.service
+ source = dictionary.accel_ipoe
+ source = dictionary.ppp
+ md5sums = SKIP
+ md5sums = bb3e20c8808000f4efe52230c13a13f3
+ md5sums = 0536dd60960e76cf5a6cdbf0518782d8
+ md5sums = 816dd5ea9534a077dfd63b6cd529738a
+ md5sums = 5be7d42b434b74d7e692b19a9e3c4297
+ md5sums = e5dec17bd405052fc647a805db5dd449
+ md5sums = 7b94e1ab23db6c849dac3cb86246007d
+ md5sums = 4e0d4fc5975ea8794ea286e8fbfa56cd
+
+pkgname = accel-ppp-git
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..621ef16a53b7
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,92 @@
+# Maintainer: Alexandr Boiko <brdcom@ya.ru>
+pkgname=accel-ppp-git
+pkgver=r1179.b8b91d8
+pkgrel=1
+pkgdesc="High performance PPTP/L2TP/PPPoE/IPoE server"
+arch=('i686' 'x86_64')
+url="http://sourceforge.net/apps/trac/accel-ppp/"
+license=('GPL')
+depends=('openssl>=1.0.0' 'pcre>=8.30' 'libnl')
+makedepends=('git' 'cmake>=2.6' 'libnl1' 'net-snmp>=5.x' 'lua51')
+optdepends=('accel-ppp-ipoe-module-git' 'logrotate')
+conflicts=('accel-ppp')
+install='accel-ppp.install'
+options=('docs')
+backup=('etc/accel-ppp.conf' 'etc/accel-ppp.lua' 'etc/snmp/accel-ppp.conf')
+source=('accel-ppp::git+git://git.code.sf.net/p/accel-ppp/code'
+ 'accel-ppp-default'
+ 'accel-ppp.logrotate'
+ 'accel-ppp.lua'
+ 'accel-ppp.tmpfiles'
+ 'accel-pppd.service'
+ 'dictionary.accel_ipoe'
+ 'dictionary.ppp')
+
+md5sums=('SKIP'
+ 'bb3e20c8808000f4efe52230c13a13f3'
+ '0536dd60960e76cf5a6cdbf0518782d8'
+ '816dd5ea9534a077dfd63b6cd529738a'
+ '5be7d42b434b74d7e692b19a9e3c4297'
+ 'e5dec17bd405052fc647a805db5dd449'
+ '7b94e1ab23db6c849dac3cb86246007d'
+ '4e0d4fc5975ea8794ea286e8fbfa56cd')
+
+_pkgname=accel-ppp
+
+pkgver() {
+ cd "$srcdir/${pkgname%-git}"
+ printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
+}
+
+prepare() {
+ cd "$srcdir/${pkgname%-git}"
+
+ sed -i 's|RUNTIME DESTINATION sbin|RUNTIME DESTINATION bin|' \
+ "accel-pppd/CMakeLists.txt"
+
+ if [ -d "build" ]; then
+ rm -fr "build"
+ mkdir "build"
+ else
+ mkdir "build"
+ fi
+}
+
+build() {
+ cd "$srcdir/${pkgname%-git}/build/"
+ cmake \
+ -DCMAKE_SYSTEM_NAME=Linux \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_BUILD_TYPE=Debug \
+ -DLOG_FILE=TRUE \
+ -DLOG_PGSQL=FALSE \
+ -DSHAPER=TRUE \
+ -DRADIUS=TRUE \
+ -DNETSNMP=TRUE \
+ -DLUA=TRUE \
+ -DLUA_INCLUDE_DIR="/usr/include/lua5.1" \
+ "$srcdir/${pkgname%-git}"
+ make || return 1
+}
+package() {
+ cd "$srcdir/${pkgname%-git}/build/"
+ make DESTDIR="$pkgdir/" install || return 1
+
+ [ -d "$pkgdir/usr/lib64" ] && mv "$pkgdir/usr/lib64" "$pkgdir/usr/lib"
+ install -dm0755 "$pkgdir/etc/logrotate.d"
+ install -dm0755 "$pkgdir/etc/snmp"
+ install -dm0755 "$pkgdir/var/lib/accel-ppp"
+ touch "$pkgdir/etc/snmp/$_pkgname.conf"
+ install -Dm0644 "$srcdir/$_pkgname-default" "$pkgdir/etc/conf.d/accel-pppd"
+ install -Dm0644 "$srcdir/$_pkgname/README" "$pkgdir/usr/share/doc/$_pkgname/README"
+ install -Dm0644 "$srcdir/accel-pppd.service" "$pkgdir/usr/lib/systemd/system/accel-pppd.service"
+ install -Dm0644 "$srcdir/$_pkgname.tmpfiles" "$pkgdir/usr/lib/tmpfiles.d/$_pkgname.conf"
+ install -Dm0644 "$srcdir/$_pkgname.lua" "$pkgdir/etc/$_pkgname.lua"
+ install -Dm0644 "$srcdir/$_pkgname.logrotate" "$pkgdir/etc/logrotate.d/$_pkgname"
+ install -Dm0644 "$srcdir/dictionary.accel_ipoe" "$pkgdir/usr/share/accel-ppp/radius/dictionary.accel_ipoe"
+ install -Dm0644 "$srcdir/dictionary.ppp" "$pkgdir/usr/share/accel-ppp/radius/dictionary.ppp"
+ install -Dm0644 "$pkgdir/etc/$_pkgname.conf.dist" "$pkgdir/etc/$_pkgname.conf"
+ install -Dm0644 "$srcdir/$_pkgname/accel-pppd/extra/net-snmp/ACCEL-PPP-MIB.txt" "$pkgdir/usr/share/snmp/mibs/ACCEL-PPP-MIB.txt"
+ install -Dm0644 "$srcdir/$_pkgname/COPYING" "$pkgdir/usr/share/licenses/$_pkgname/LICENSE"
+}
+
diff --git a/accel-ppp-default b/accel-ppp-default
new file mode 100644
index 000000000000..01ce1571b4ce
--- /dev/null
+++ b/accel-ppp-default
@@ -0,0 +1,4 @@
+# Any extra options you want to pass to aceel-pppd
+# on start-up should be put here.
+ARGS="-c /etc/accel-ppp.conf"
+PIDFILE="/run/accel-pppd.pid"
diff --git a/accel-ppp.install b/accel-ppp.install
new file mode 100644
index 000000000000..2a4cfdd03479
--- /dev/null
+++ b/accel-ppp.install
@@ -0,0 +1,22 @@
+# vim:set ts=2 sw=2 et:
+
+# Colors
+note() {
+ printf "${BLUE}==>${ALL_OFF}${BOLD} NOTE:${ALL_OFF} ${1}\n"
+}
+
+ALL_OFF="$(tput sgr0)"
+BOLD="$(tput bold)"
+BLUE="${BOLD}$(tput setaf 4)"
+GREEN="${BOLD}$(tput setaf 2)"
+
+post_install() {
+ echo
+ note "For more information, see the /usr/share/doc/accel-ppp/README";
+}
+
+post_upgrade() {
+ echo
+ note "For more information, see the /usr/share/doc/accel-ppp/README"
+}
+
diff --git a/accel-ppp.logrotate b/accel-ppp.logrotate
new file mode 100644
index 000000000000..3c4e32b8f12f
--- /dev/null
+++ b/accel-ppp.logrotate
@@ -0,0 +1,7 @@
+/var/log/accel-ppp/*.log {
+ missingok
+ sharedscripts
+ postrotate
+ test -r /run/accel-pppd.pid && kill -HUP `cat /run/accel-pppd.pid`
+ endscript
+}
diff --git a/accel-ppp.lua b/accel-ppp.lua
new file mode 100644
index 000000000000..959ea74150d2
--- /dev/null
+++ b/accel-ppp.lua
@@ -0,0 +1,31 @@
+function opt82_dlink(pkt)
+ v,b1,b2,b3,b4=string.unpack(pkt:agent_remote_id():sub(-4),'bbbb')
+ ip=b1..'.'..b2..'.'..b3..'.'..b4
+ v,port=string.unpack(string.sub(pkt:agent_circuit_id(),'-1'),'b')
+ local opt82=ip..'-'..port
+-- print(opt82)
+ return opt82
+end
+function example(ses)
+-- print('xid='..ses:hdr('xid'))
+-- print('ciaddr='..ses:hdr('ciaddr'))
+-- print('giaddr='..ses:hdr('giaddr'))
+-- print('chaddr='..ses:hdr('chaddr'))
+-- print('ifname='..ses:ifname())
+-- options=ses:options()
+-- for k,opt in ipairs(options) do print(opt) end
+ return '1234'
+end
+function ifname(pkt)
+ local ifname=pkt:ifname()
+ return ifname
+end
+function mac(pkt)
+ local mac=pkt:hdr("chaddr")
+ return mac
+end
+function username(pkt)
+ local username = string.sub(pkt:ifname(), string.find(pkt:ifname(), ".", 1, true)+1, 32)
+ return username
+end
+
diff --git a/accel-ppp.tmpfiles b/accel-ppp.tmpfiles
new file mode 100644
index 000000000000..720d87e0b4f8
--- /dev/null
+++ b/accel-ppp.tmpfiles
@@ -0,0 +1,2 @@
+d /run/accel-ppp 0755 root root -
+d /var/log/accel-ppp 0755 root root -
diff --git a/accel-pppd.service b/accel-pppd.service
new file mode 100644
index 000000000000..bce17574b79a
--- /dev/null
+++ b/accel-pppd.service
@@ -0,0 +1,14 @@
+[Unit]
+Description=Accel-PPPD Daemon
+Conflicts=pptpd.service
+After=network.target
+
+[Service]
+EnvironmentFile=/etc/conf.d/accel-pppd
+ExecStart=/usr/bin/accel-pppd -d -p $PIDFILE $ARGS
+ExecReload=/usr/bin/kill -SIGUSR1 $MAINPID
+PIDFile=/run/accel-pppd.pid
+Type=forking
+
+[Install]
+WantedBy=multi-user.target
diff --git a/dictionary.accel_ipoe b/dictionary.accel_ipoe
new file mode 100644
index 000000000000..8981eb4b2967
--- /dev/null
+++ b/dictionary.accel_ipoe
@@ -0,0 +1,6 @@
+ATTRIBUTE DHCP-Client-IP-Address 240 ipaddr
+ATTRIBUTE DHCP-Router-IP-Address 241 ipaddr
+ATTRIBUTE DHCP-Mask 242 ipaddr
+ATTRIBUTE DHCP-Lease-Time 242 integer
+ATTRIBUTE L4-Redirect 242 integer
+
diff --git a/dictionary.ppp b/dictionary.ppp
new file mode 100644
index 000000000000..d1dea6a0d14f
--- /dev/null
+++ b/dictionary.ppp
@@ -0,0 +1,13 @@
+# Limit session traffic
+ATTRIBUTE Session-Octets-Limit 227 integer
+# What to assume as limit - 0 in+out, 1 in, 2 out, 3 max(in,out)
+ATTRIBUTE Octets-Direction 228 integer
+# Connection Speed Limit
+ATTRIBUTE PPPD-Upstream-Speed-Limit 230 integer
+ATTRIBUTE PPPD-Downstream-Speed-Limit 231 integer
+ATTRIBUTE PPPD-Upstream-Speed-Limit-1 232 integer
+ATTRIBUTE PPPD-Downstream-Speed-Limit-1 233 integer
+ATTRIBUTE PPPD-Upstream-Speed-Limit-2 234 integer
+ATTRIBUTE PPPD-Downstream-Speed-Limit-2 235 integer
+ATTRIBUTE PPPD-Upstream-Speed-Limit-3 236 integer
+ATTRIBUTE PPPD-Downstream-Speed-Limit-3 237 integer