Sisyphus repository
Last update: 1 october 2023 | SRPMs: 18631 | Visits: 37497510
en ru br
ALT Linux repos
S:0.10.5-alt1
5.0: 0.8-alt2
4.1: 0.6-alt3.M41.4
4.0: 0.5.10-alt1.M40.1
+updates:0.5.2-alt1

Group :: System/Configuration/Other
RPM: alterator-net-pptp

 Main   Changelog   Spec   Patches   Sources   Download   Gear   Bugs and FR  Repocop 

alterator-net-pptp-0.8/000075500000000000000000000000001117070357400151265ustar00rootroot00000000000000alterator-net-pptp-0.8/Makefile000064400000000000000000000001651117070357400165700ustar00rootroot00000000000000NAME=net-pptp

INSTALL=/usr/bin/install

all:
install: install-module

include /usr/share/alterator/build/module.mak
alterator-net-pptp-0.8/applications/000075500000000000000000000000001117070357400176145ustar00rootroot00000000000000alterator-net-pptp-0.8/applications/net-pptp.desktop000064400000000000000000000004371117070357400227620ustar00rootroot00000000000000[Desktop Entry]
Type=Application
Categories=X-Alterator-Network
Icon=net-pptp
Terminal=false
Name=PPTP connections
X-Alterator-URI=/net-pptp
X-Alterator-Help=net-pptp
Name[ru]=PPTP-соединения
Name[uk]=PPTP-з'єднання
Name[pt_BR]=PPTP conexões
Name[es]=PPTP conecciones
alterator-net-pptp-0.8/backend3/000075500000000000000000000000001117070357400166005ustar00rootroot00000000000000alterator-net-pptp-0.8/backend3/net-pptp000075500000000000000000000140021117070357400202720ustar00rootroot00000000000000#!/bin/sh -f

wait_time=3
alterator_api_version=1

. alterator-sh-functions
. alterator-net-functions
. alterator-hw-functions

# do our best so that $1 is working
# FIXME: this should become redundant when etcnet gets fixed
# (https://bugzilla.altlinux.org/show_bug.cgi?id=14021)
bring_up()
{
[ -n "$1" ] || return
write_debug 'bring_up[%s]\n' "$1"

local iface="$(read_iface_option "/etc/net/ifaces/$1" REQUIRES)"
# ensure underlying iface is up
[ -z "$iface" ] || iface_up "$iface" "$wait_time"

# workaround: etcnet might try to bring up ppp too early
# when underlying eth is configured via dhcp and is down
sleep 1

# try to wait until ppp0 might go down (otherwise
# additional static route might not appear)
iface_down "$1" "$wait_time"
iface_up "$1" "$wait_time" 3>/dev/null
}

################### interface modificators

ppp0_if_there()
{
# FIXME: it's a kluge // mike on 20080422
# if ppp0 is dialer-initiated, not static iface (pptp/pppoe)
# then echo it too
netdev_list|grep -qs ppp0 &&
[ ! -d /etc/net/ifaces/ppp0 ] &&
write_enum_item 'ppp0'
}

read_connection()
{
local name="/etc/net/ifaces/$1"

# mppe is off by default with pppd
write_bool_param 'mppe' "$(read_ppp_option1 "$name" 'require-mppe' 'nomppe')"

# we prefer it to work by default, at least when already configured
# and for just created interfaces
! [ -x "$name/ifup-pre" -a -x "$name/ifdown-post" ]
write_bool_param 'save_route' "$?"
local SAVE_GW="#t"
[ -x "$name/ifup-pre" -a -x "$name/ifdown-post" ] || SAVE_GW="#f"

# usually default route needs to be replaced
# /etc/ppp/options should hold "replacedeaultroute",
# $name/pppoptions should hold "defaultroute" then; see pppd(8)
write_bool_param def_via_vpn "$(read_ppp_option1 "$name" 'defaultroute' 'nodefaultroute' 'yes')"

write_bool_param persist "$(read_ppp_option1 "$name" 'persist' 'nopersist')"

local info=
netdev_is_up "$1" && info="`_ "connection established"`" || info="`_ "connection down"`"
write_string_param info "$info"

write_string_param server "$(read_iface_option "$name" PPTP_SERVER)"
write_string_param iface "$(read_iface_option "$name" REQUIRES)"
write_string_param login "$(read_ppp_option "$name" user)"
write_bool_param onboot "$(read_iface_option "$name" ONBOOT)"
}

write_save_route()
{
if test_bool "$in_save_route";then
DEF_GW="`/sbin/ip ro | awk '/^default via/ { print $3; exit; }'`"

[ -n "$DEF_GW" ] || return
[ "$DEF_GW" != "$in_server" ] || return

printf "#!/bin/sh\n/sbin/ip route add %s via %s\n" "$in_server" "$DEF_GW" > "$name/ifup-pre"
printf "#!/bin/sh\n/sbin/ip route del %s via %s\n" "$in_server" "$DEF_GW" > "$name/ifdown-post"
chmod +x "$name/ifup-pre" "$name/ifdown-post"
else
[ -x "$name/ifdown-post" ] && "$name/ifdown-post"
rm -f "$name/ifup-pre" "$name/ifdown-post"
fi
}

write_connection()
{
[ "$1" = "/" ] && return

local name="/etc/net/ifaces/$1"

[ "$in_onboot" = "#t" ] && in_onboot="yes" || in_onboot="no"

[ -d "$name" ] || mkdir -- "$name"

[ -n "$in_server" ] && write_iface_option "$name" PPTP_SERVER "$in_server"

# e.g. ppp0 might be a dynamic dial-up interface
[ -f "/etc/net/ifaces/$in_iface/options" ] && write_iface_option "$name" REQUIRES "$in_iface"
[ -n "$in_iface" ] && write_iface_option "$name" ONBOOT "$in_onboot"

[ -n "$in_login" ] && write_ppp_option "$name" user "$in_login"
[ -n "$in_password" ] && write_ppp_option "$name" password $(echo "$in_password"|sed -e 's/["]/\\\\&/g')

test_bool "$in_mppe"
write_ppp_option1 "$name" 'require-mppe' 'nomppe' "$?"
test_bool "$in_def_via_vpn"
write_ppp_option1 "$name" 'defaultroute' 'nodefaultroute' "$?"
test_bool "$in_persist"
write_ppp_option1 "$name" 'persist' 'nopersist' "$?"
write_save_route

[ "$in_onboot" = "yes" ] && bring_up "$1"
return 0
}

new_connection()
{
local name="/etc/net/ifaces/$1"

mkdir -p -- "$name"

write_iface_option "$name" TYPE ppp
write_iface_option "$name" PPPTYPE pptp

# vsu@ proposed that nodeflate, nobsdcomp be disabled
# by default after debugging a problem in community@
# ...and that mtu be clamped at 1460 or 1400
# usepeerdns https://bugzilla.altlinux.org/show_bug.cgi?id=14116
cat>"$name/pppoptions"<<EOF
nodeflate
nobsdcomp
mtu 1400
usepeerdns
EOF
chmod o-rw "$name/pppoptions" # deny others reading the password
}

delete_connection()
{
[ "$1" = "/" ] && return
local name="/etc/net/ifaces/$1"

iface_down "$1"
rm -rf -- "$name"
}

start_connection()
{
write_debug 'start_connection: [%s]\n' "$1"
[ -z "$1" -o "$1" = "/" ] && return
bring_up "$1"
}

stop_connection()
{
write_debug 'stop_connection: [%s]\n' "$1"
[ -z "$1" -o "$1" = "/" ] && return
iface_down "$1" "$wait_time"
}

on_message()
{
case "$in_action" in
type)
write_type_item server hostname
;;
list)
case "$in__objects" in
avail_connection)
list_ppp 'pptp'|write_enum
;;
avail_iface)
list_eth|write_enum
# FIXME: add ppp0 in case it's active: customer needs PPTP over PPP
ppp0_if_there
;;
avail_state)
write_enum_item "ignore" "`_ "don't change"`" #'
write_enum_item "start" "`_ "start"`"
write_enum_item "stop" "`_ "stop"`"
write_enum_item "restart" "`_ "restart"`"
;;
esac
;;
read)
local name="$in_name"
[ -n "$in_new" ] && name="$in_new_name"
[ -n "$name" ] || name="$(list_ppp 'pptp'|head -n1)"

write_string_param new_name "$(next_ppp)"
write_string_param name "$name"
write_string_param status "ignore"
[ -n "$name" ] && read_connection "$name"
;;
write)
if [ -n "$in_new" -a -n "$in_new_name" ]; then
new_connection "$in_new_name"
elif [ -n "$in_delete" -a -n "$in_name" ];then
delete_connection "$in_name"
elif [ -n "$in_commit" -a -n "$in_name" ];then
write_connection "$in_name"
case "$in_status" in
start) start_connection "$in_name";;
stop) stop_connection "$in_name";;
restart)
stop_connection "$in_name"
start_connection "$in_name"
;;
esac
fi
;;
esac
}

message_loop
alterator-net-pptp-0.8/ui/000075500000000000000000000000001117070357400155435ustar00rootroot00000000000000alterator-net-pptp-0.8/ui/net-pptp/000075500000000000000000000000001117070357400173125ustar00rootroot00000000000000alterator-net-pptp-0.8/ui/net-pptp/ajax.scm000064400000000000000000000031671117070357400207500ustar00rootroot00000000000000(define-module (ui net-pptp ajax)
:use-module (alterator ajax)
:use-module (alterator woo)
:export (init))

(define (init-iface)
(form-update-enum "iface" (woo-list "/net-pptp/avail_iface"))
(form-update-enum "status" (woo-list "/net-pptp/avail_state" 'language (form-value "language"))))

(define (read-current-iface)
(read-iface (or (form-value "name") "")))

(define (read-iface name)
(catch/message
(lambda()
(let ((data (woo-read-first "/net-pptp/" 'name name 'language (form-value "language"))))

(form-update-enum "name" (woo-list "/net-pptp/avail_connection"))
(form-update-value "password" "")
(form-update-value-list '("name"
"new_name"
"info"
"status"
"server"
"login"
"iface"
"def_via_vpn"
"save_route"
"mppe"
"persist"
"onboot")
data)))))

(define (write-iface)
(catch/message
(lambda()
(apply woo-write "/net-pptp" 'commit #t (form-value-list))
(read-iface (form-value "name")))))

(define (new-iface)
(catch/message
(lambda()
(let ((new_name (form-value "new_name")))
(woo-write "/net-pptp" 'new #t 'new_name new_name)
(read-iface new_name)))))

(define (delete-iface)
(catch/message
(lambda()
(woo-write "/net-pptp/" 'delete #t 'name (or (form-value "name") ""))
(read-iface ""))))

(define (init)
(form-bind "new_button" "click" new-iface)
(form-bind "del_button" "click" delete-iface)

(form-bind "apply_button" "click" write-iface)
(form-bind "reset_button" "click" read-current-iface)
(form-bind "name" "change" read-current-iface)

(init-iface)
(read-current-iface))
alterator-net-pptp-0.8/ui/net-pptp/index.html000064400000000000000000000046051117070357400213140ustar00rootroot00000000000000<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
<html wf="none">
<body>
<form method="POST">
<table>
<tr>
<input type="hidden" name="new_name"/>
<input type="button" name="new_button" value="New connection..." class="btn"/>
<br/>
<hr/>
</tr>
<tr>
<td>
<select name="name" size="17" style="width:100px"/>
</td>
<td>
<table class="form-table">
<tr>
<td><span translate="_">Status:</span></td>
<td>
<span class="alterator-label" name="info"/>
<select name="status"/>
</td>
</tr>
<tr>
<td><span translate="_" name="server">Server:</span></td>
<td><input type="text" class="text" name="server"/></td>
</tr>
<tr>
<td><span translate="_">Account:</span></td>
<td><input type="text" class="text" name="login"/></td>
</tr>
<tr>
<td><span translate="_">Password:</span></td>
<td><input type="password" class="text" name="password"/></td>
</tr>
<tr>
<td><span translate="_">Walk through interface:</span></td>
<td><select name="iface"/></td>
</tr>
<tr>
<td>&nbsp;</td>
<td>
<input type="checkbox" name="def_via_vpn" value="#t"/>
<span translate="_">Default route via VPN</span>
</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>
<input type="checkbox" name="save_route" value="#t"/>
<span translate="_">Save route to VPN gateway</span>
</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>
<input type="checkbox" name="mppe" value="#t"/>
<span translate="_">MPPE encryption</span>
</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>
<input type="checkbox" name="persist" value="#t"/>
<span translate="_">Redial on hangup</span>
</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>
<input type="checkbox" name="onboot" value="#t"/>
<span translate="_">Start at boot</span>
</td>
</tr>
<tr>
<td colspan="2">&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>
<input type="button" name="apply_button" value="Apply" class="btn"/>
<input type="button" name="reset_button" value="Reset" class="btn"/>
&nbsp;&nbsp;
<input type="button" name="del_button" value="Delete connection" class="btn"/>
</td>
</tr>
</table>
</td>
</tr>
</table>
</form>
</body>
</html>
alterator-net-pptp-0.8/ui/net-pptp/index.scm000064400000000000000000000057611117070357400211360ustar00rootroot00000000000000(document:surround "/std/frame")

;;; Functions
(define (init-iface)
(form-update-enum "iface" (woo-list "/net-pptp/avail_iface"))
(form-update-enum "status" (woo-list "/net-pptp/avail_state")))

(define (read-current-iface)
(read-iface (or (form-value "name") "")))

(define (read-iface name)
(catch/message
(lambda()
(let ((data (woo-read-first "/net-pptp/" 'name name)))

(form-update-enum "name" (woo-list "/net-pptp/avail_connection"))
(form-update-value "password" "")
(form-update-value-list '("name"
"new_name"
"info"
"status"
"server"
"login"
"iface"
"def_via_vpn"
"save_route"
"mppe"
"persist"
"onboot")
data)))))

(define (write-iface)
(catch/message
(lambda()
(apply woo-write "/net-pptp" 'commit #t (form-value-list))
(read-iface (form-value "name")))))

(define (new-iface)
(catch/message
(lambda()
(let ((new_name (form-value "new_name")))
(woo-write "/net-pptp" 'new #t 'new_name new_name)
(read-iface new_name)))))

(define (delete-iface)
(catch/message
(lambda()
(woo-write "/net-pptp/" 'delete #t 'name (or (form-value "name") ""))
(read-iface ""))))

;;; UI

(edit visibility #f name "new_name")
(gridbox
columns "100"
margin 10

(button text (_ "New connection...") align "left" name "new_button")
(separator)

(splitbox
columns "30;70"
(listbox name "name")
(gridbox
columns "0;100"
;;
(label text (_ "Status:") align "right")
(hbox align "left"
(label name "info")
(combobox name "status"))
;;
(label text (_ "Server:") align "right" name "server")
(edit name "server")
;;
(label text (_ "Account:") align "right" name "login")
(edit name "login")
;;
(label text (_ "Password:") align "right" name "password")
(edit echo "stars" name "password")
;;
(label text (_ "Walk through interface:") align "right")
(combobox name "iface")
;;
(spacer)
(checkbox text (_ "Default route via VPN") name "def_via_vpn")
;;
(spacer)
(checkbox text (_ "Save route to VPN gateway") name "save_route")
;;
(spacer)
(checkbox text (_ "MPPE encryption") name "mppe")
;;
(spacer)
(checkbox text (_ "Redial on hangup") name "persist")
;;
(spacer)
(checkbox text (_ "Start at boot") name "onboot")
;;
(label colspan 2)
;;
(spacer)
(hbox
align "left"
(button text (_ "Apply") name "apply_button")
(button text (_ "Reset") name "reset_button")
(label text " ")
(button text (_ "Delete connection") name "del_button")))))

;;; Logic
(document:root (when loaded
(form-bind "new_button" "click" new-iface)
(form-bind "del_button" "click" delete-iface)

(form-bind "apply_button" "click" write-iface)
(form-bind "reset_button" "click" read-current-iface)
(form-bind "name" "change" read-current-iface)

(init-iface)
(read-current-iface)))

 
design & coding: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
current maintainer: Michael Shigorin