|
From: <abe...@us...> - 2012-04-15 06:25:10
|
Revision: 5514
http://astlinux.svn.sourceforge.net/astlinux/?rev=5514&view=rev
Author: abelbeck
Date: 2012-04-15 05:25:23 +0000 (Sun, 15 Apr 2012)
Log Message:
-----------
ipsec mobile, add patch to racoon to allow XAuth user/pass from a text file, generated from IPSECM_XAUTH_USER_PASS variable
The patch was submitted to OpenWRT by birnenschnitzel:
https://dev.openwrt.org/ticket/10291
Modified Paths:
--------------
branches/1.0/package/ipsec-tools/racoon-ipsec
branches/1.0/project/astlinux/target_skeleton/etc/group
branches/1.0/project/astlinux/target_skeleton/etc/gshadow
branches/1.0/project/astlinux/target_skeleton/etc/passwd
branches/1.0/project/astlinux/target_skeleton/etc/shadow
branches/1.0/project/astlinux/target_skeleton/etc/shadow-
branches/1.0/project/astlinux/target_skeleton/stat/etc/rc.conf
Added Paths:
-----------
branches/1.0/package/ipsec-tools/ipsec-tools-xauth-user-pass.patch
Added: branches/1.0/package/ipsec-tools/ipsec-tools-xauth-user-pass.patch
===================================================================
--- branches/1.0/package/ipsec-tools/ipsec-tools-xauth-user-pass.patch (rev 0)
+++ branches/1.0/package/ipsec-tools/ipsec-tools-xauth-user-pass.patch 2012-04-15 05:25:23 UTC (rev 5514)
@@ -0,0 +1,42 @@
+--- ipsec-tools-0.8.0/src/racoon/isakmp_xauth.c.orig 2011-03-14 16:50:36.000000000 +0100
++++ ipsec-tools-0.8.0/src/racoon/isakmp_xauth.c 2011-10-27 09:45:08.000000000 +0200
+@@ -1261,6 +1261,39 @@
+ char *usr;
+ char *pwd;
+ {
++ /* OpenWrt fix: if possible check user from password file */
++ FILE *fp;
++ char line[256];
++ char *linecut;
++ char filename[80];
++ int found;
++ char *fusr;
++ char *fpwd;
++
++ strcpy(filename,"/tmp/etc/xauthuser.txt");
++ if ((fp = fopen(filename, "r")) != NULL) {
++ plog(LLV_INFO, LOCATION, NULL,
++ "verifying user from %s\n",filename);
++
++ found = -1;
++ while ( fgets(line, 255, fp) != NULL && found == -1) {
++ if (line[0] != '#') {
++ linecut = strtok(line,"#\n");
++ fusr = strtok(linecut," \t");
++ fpwd = strtok(NULL," \t");
++
++ if ( fusr && fpwd
++ && strcmp(fusr,"")!=0 && strcmp(fpwd,"")!=0
++ && strcmp(fusr,usr)==0 && strcmp(fpwd,pwd)==0)
++ found = 0;
++ }
++ }
++ fclose(fp);
++
++ return found;
++ }
++ /* OpenWrt fix */
++
+ struct passwd *pw;
+ char *cryptpwd;
+ char *syscryptpwd;
Modified: branches/1.0/package/ipsec-tools/racoon-ipsec
===================================================================
--- branches/1.0/package/ipsec-tools/racoon-ipsec 2012-04-14 22:19:25 UTC (rev 5513)
+++ branches/1.0/package/ipsec-tools/racoon-ipsec 2012-04-15 05:25:23 UTC (rev 5514)
@@ -241,7 +241,7 @@
gen_ipsecmobile()
{
- local auth method IFS
+ local user pass auth method IFS
p1_encrypt="$IPSECM_P1_CYPHER"
p1_hash="$IPSECM_P1_HASH"
@@ -268,6 +268,20 @@
if [ "$IPSECM_AUTH_METHOD" = "xauth_rsa_server" ]; then
method="xauth_rsa_server"
+
+ echo "# Secrets for authenticating XAuth
+# Automatically generated by $prog; do not edit!
+#" > /tmp/etc/xauthuser.txt
+ IFS=$'\n'
+ for i in $IPSECM_XAUTH_USER_PASS; do
+ user="$(echo "$i" | awk -F' ' '{ print $1; }')"
+ pass="$(echo "$i" | awk -F' ' '{ print $2; }')"
+ if [ -n "$user" -a -n "$pass" ]; then
+ echo "$user $pass" >> /tmp/etc/xauthuser.txt
+ fi
+ done
+ chmod 600 /tmp/etc/xauthuser.txt
+
IFS=' '
for name in IPSECM_XAUTH_POOLBASE IPSECM_XAUTH_POOLMASK IPSECM_XAUTH_POOLSIZE; do
if [ -z "${!name}" ]; then
@@ -275,6 +289,7 @@
return 1
fi
done
+ unset IFS
else
method="rsasig"
fi
@@ -631,7 +646,7 @@
if [ -f /tmp/etc/racoon_bad_config ]; then
echo "$prog failed to start due to configuration errors." 1>&2
- rm -f /tmp/etc/racoon.conf /tmp/etc/psk.txt /tmp/etc/tunnel.sh /tmp/etc/racoon_bad_config
+ rm -f /tmp/etc/racoon.conf /tmp/etc/psk.txt /tmp/etc/tunnel.sh /tmp/etc/xauthuser.txt /tmp/etc/racoon_bad_config
rm -rf /tmp/etc/certificate
exit 1
@@ -686,7 +701,7 @@
setkey -F
setkey -FP
- rm -f /tmp/etc/psk.txt /tmp/etc/racoon.conf /tmp/etc/tunnel.sh
+ rm -f /tmp/etc/psk.txt /tmp/etc/racoon.conf /tmp/etc/tunnel.sh /tmp/etc/xauthuser.txt
rm -rf /tmp/etc/certificate
## Hangs with linux 2.6.35
Modified: branches/1.0/project/astlinux/target_skeleton/etc/group
===================================================================
--- branches/1.0/project/astlinux/target_skeleton/etc/group 2012-04-14 22:19:25 UTC (rev 5513)
+++ branches/1.0/project/astlinux/target_skeleton/etc/group 2012-04-15 05:25:23 UTC (rev 5514)
@@ -12,6 +12,5 @@
audio:x:29:
video:x:44:
users:x:100:
-ipsec:x:901:
zabbix:x:906:
nobody:x:65535:
Modified: branches/1.0/project/astlinux/target_skeleton/etc/gshadow
===================================================================
--- branches/1.0/project/astlinux/target_skeleton/etc/gshadow 2012-04-14 22:19:25 UTC (rev 5513)
+++ branches/1.0/project/astlinux/target_skeleton/etc/gshadow 2012-04-15 05:25:23 UTC (rev 5514)
@@ -1,4 +1,3 @@
root:*::
users:*::
ftp:*::
-ipsec:!::
Modified: branches/1.0/project/astlinux/target_skeleton/etc/passwd
===================================================================
--- branches/1.0/project/astlinux/target_skeleton/etc/passwd 2012-04-14 22:19:25 UTC (rev 5513)
+++ branches/1.0/project/astlinux/target_skeleton/etc/passwd 2012-04-15 05:25:23 UTC (rev 5514)
@@ -1,6 +1,5 @@
root:x:0:0:root:/root:/bin/sh
sshd:x:22:22:sshd:/dev/null:/bin/false
ftp:x:21:21:ftp user:/home/ftp:/bin/false
-ipsec:x:901:901:IPsec XAuth:/dev/null:/bin/false
zabbix:x:906:906:Zabbix User:/dev/null:/bin/false
nobody:x:1000:1000:no one:/dev/null:/bin/false
Modified: branches/1.0/project/astlinux/target_skeleton/etc/shadow
===================================================================
--- branches/1.0/project/astlinux/target_skeleton/etc/shadow 2012-04-14 22:19:25 UTC (rev 5513)
+++ branches/1.0/project/astlinux/target_skeleton/etc/shadow 2012-04-15 05:25:23 UTC (rev 5514)
@@ -1,6 +1,5 @@
root:$1$$axJeFIpwicqOTwFpuoUAs1:12215:0:99999:7:::
sshd:!:0:0:99999:7:::
ftp:!:0:0:99999:7:::
-ipsec:!:0:0:99999:7:::
zabbix:!:0:0:99999:7:::
nobody:!:0:0:99999:7:::
Modified: branches/1.0/project/astlinux/target_skeleton/etc/shadow-
===================================================================
--- branches/1.0/project/astlinux/target_skeleton/etc/shadow- 2012-04-14 22:19:25 UTC (rev 5513)
+++ branches/1.0/project/astlinux/target_skeleton/etc/shadow- 2012-04-15 05:25:23 UTC (rev 5514)
@@ -1,5 +1,5 @@
root:$1$$axJeFIpwicqOTwFpuoUAs1:12215:0:99999:7:::
sshd:!:0:0:99999:7:::
ftp:!:0:0:99999:7:::
-zabbix:!:0:99999:7:::
-nobody:!:0:99999:7:::
+zabbix:!:0:0:99999:7:::
+nobody:!:0:0:99999:7:::
Modified: branches/1.0/project/astlinux/target_skeleton/stat/etc/rc.conf
===================================================================
--- branches/1.0/project/astlinux/target_skeleton/stat/etc/rc.conf 2012-04-14 22:19:25 UTC (rev 5513)
+++ branches/1.0/project/astlinux/target_skeleton/stat/etc/rc.conf 2012-04-15 05:25:23 UTC (rev 5514)
@@ -590,6 +590,11 @@
#IPSECM_XAUTH_WINS="" # space separated list of local MS WINS servers, rarely needed
#IPSECM_XAUTH_DOMAIN="" # Default DNS domain pushed to client
#IPSECM_XAUTH_SAVE_PASSWD="no" # "no" or "yes", defaults to "no"
+## Authentication - multi-line, space separated
+#IPSECM_XAUTH_USER_PASS="
+#username1 password1
+#username2 password2
+#"
##
#IPSECM_CERT_KEYSIZE="1024" # "1024" or "2048", defaults to "1024"
#IPSECM_CERT_DNSNAME="" # DNS name (or IP address) of public interface, required by iOS devices
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|