From b5864fdc4462d1f329ebe852754c7877846d8bfa Mon Sep 17 00:00:00 2001 From: Robert Bays Date: Fri, 14 Mar 2008 13:38:07 -0700 Subject: fix for bugs 2725 2999 --- scripts/vyatta-check-typeless-node.pl | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 scripts/vyatta-check-typeless-node.pl (limited to 'scripts') diff --git a/scripts/vyatta-check-typeless-node.pl b/scripts/vyatta-check-typeless-node.pl new file mode 100644 index 0000000..65a7408 --- /dev/null +++ b/scripts/vyatta-check-typeless-node.pl @@ -0,0 +1,21 @@ +#!/usr/bin/perl +use lib "/opt/vyatta/share/perl5/"; +use VyattaConfig; +use VyattaMisc; +use Getopt::Long; + +## Check if a typeless node exists +# this is a lame little script to get around bug 2525 not being fixed. +# i.e. $VAR(./node/) always expands to true. Once bug 2525 is properly +# fixed, this can go away +my $node = shift; +my $config = new VyattaConfig; + +if ($config->exists("$node")) { + exit 0; +} +else { + exit 1; +} + +exit 0; -- cgit v1.2.3 From 1b22d8e098abf1f2cf4f479dab158c7a93805d11 Mon Sep 17 00:00:00 2001 From: Bob Gilligan Date: Mon, 17 Mar 2008 16:53:30 -0700 Subject: Bugfix: 2885 Place the "changes only" directory that is used by the configuration subsystem in its union mount into /tmp. We see kernel panics in unionfs at umount time in some cases when the "changes only" directory is located in a tmpfs filesystem. --- etc/default/vyatta-cfg | 2 +- scripts/vyatta-cfg-cmd-wrapper | 2 +- src/commit.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) (limited to 'scripts') diff --git a/etc/default/vyatta-cfg b/etc/default/vyatta-cfg index 7d189d8..b07440f 100644 --- a/etc/default/vyatta-cfg +++ b/etc/default/vyatta-cfg @@ -3,7 +3,7 @@ { declare -x -r VYATTA_ACTIVE_CONFIGURATION_DIR=${vyatta_configdir}/active -declare -x -r VYATTA_CHANGES_ONLY_DIR=${vyatta_configdir}/tmp/changes_only_$$ +declare -x -r VYATTA_CHANGES_ONLY_DIR=/tmp/changes_only_$$ declare -x -r VYATTA_TEMP_CONFIG_DIR=${vyatta_configdir}/tmp/new_config_$$ declare -x -r VYATTA_CONFIG_TMP=${vyatta_configdir}/tmp/tmp_$$ declare -x -r VYATTA_CONFIG_TEMPLATE=$vyatta_cfg_templates diff --git a/scripts/vyatta-cfg-cmd-wrapper b/scripts/vyatta-cfg-cmd-wrapper index a1a573e..518147d 100755 --- a/scripts/vyatta-cfg-cmd-wrapper +++ b/scripts/vyatta-cfg-cmd-wrapper @@ -32,7 +32,7 @@ export VYATTA_EDIT_LEVEL=/; export VYATTA_TEMPLATE_LEVEL=/; export VYATTA_ACTIVE_CONFIGURATION_DIR=/opt/vyatta/config/active; -export VYATTA_CHANGES_ONLY_DIR=/opt/vyatta/config/tmp/changes_only_$PPID; +export VYATTA_CHANGES_ONLY_DIR=/tmp/changes_only_$PPID; export VYATTA_TEMP_CONFIG_DIR=/opt/vyatta/config/tmp/new_config_$PPID; export VYATTA_CONFIG_TMP=/opt/vyatta/config/tmp/tmp_$PPID; diff --git a/src/commit.c b/src/commit.c index c3219e5..980a98b 100644 --- a/src/commit.c +++ b/src/commit.c @@ -1359,7 +1359,7 @@ static int fin_commit(boolean ok) system(command); my_free(command); - command = my_malloc(strlen(format3) + c_len, ""); + command = my_malloc(strlen(format3) + t_len, ""); sprintf(command, format3, get_tmpp()); system(command); my_free(command); -- cgit v1.2.3