cvs commit: ports/security/vpnc Makefile ports/security/vpnc/files vpnc.in vpnc.sh

Gabor Kovesdan gabor at FreeBSD.org
Wed Feb 28 18:27:45 UTC 2007


Doug Barton schrieb:
> Gabor Kovesdan wrote:
>   
>> gabor       2007-02-26 18:57:31 UTC
>>
>>   FreeBSD ports repository
>>
>>   Modified files:
>>     security/vpnc        Makefile 
>>   Added files:
>>     security/vpnc/files  vpnc.in 
>>   Log:
>>   - Update rc.d script
>>   - Use USE_RC_SUBR instead of direct patching
>>   - Bump PORTREVISION
>>   
>>   PR:             ports/107675  http://www.FreeBSD.org/cgi/query-pr.cgi?pr=107675
>>   Submitted by:   Dominic Fandrey <lon_kamikaze at gmx.de> (with fixes from maintainer)
>>   Approved by:    Christian Lackas <delta at lackas.net> (maintainer),
>>                   erwin (mentor, implicit)
>>   
>>   Revision  Changes    Path
>>   1.21      +4 -6      ports/security/vpnc/Makefile
>>   1.1       +95 -0     ports/security/vpnc/files/vpnc.in (new)
>>
>> http://www.FreeBSD.org/cgi/cvsweb.cgi/ports/security/vpnc/Makefile.diff?&r1=1.20&r2=1.21&f=h
>> http://www.FreeBSD.org/cgi/cvsweb.cgi/ports/security/vpnc/files/vpnc.in
>>     
>
> First off I'd like to say that I always appreciate when people convert
> their ports to the new rc.d framework, so please don't take any of
> these comments as critical. They are meant to be constructive,
> especially given that there are so many people involved in this one
> commit. :)
>
> The Makefile changes look good, but there are a few problems with the
> new rc.d script. If you have any questions don't hesitate to ask for
> clarification.
>
> 1. Please remove the FreeBSD KEYWORD. We have ignored that keyword for
> a long time now, and yet somehow it keeps creeping back in. You might
> also consider changing the REQUIRE to LOGIN, unless there is a
> compelling reason to have it where it is.
>
> 2. In your default variable assignments, it's not necessary (and
> probably not a good idea) to add empty assignments for _conf and
> _flags. Rather you should document those flags in the comments as you
> do the _conf variable.
>
> 3. In vpnc_start(), you don't want to use a bare 'if [ "$variable" ]'.
> That's not good style, and it opens you up to problems. I would write
> that section like this:
>
> if [ -z "$vpnc_conf" ]; then
> 	# No configuration files given, run unmanaged.
> 	$command $vpnc_flags
> 	return $?
> fi
>
> # A list of configurations is present. Connect managing
> ....
>
> 4. In both functions, you use the following style:
> for foo in $bar; (
> 	...
> )
>
> It's probably better to use:
> for foo in $bar; do
> 	...
> done
>
> That way you avoid the subshell, and any possible related problems.
>
> 5. In vpnc_start() you could simplify the code by doing:
>
> if ! $command $current $vpnc_flags; then
> 	status=$?
> 	echo "Running 'vpnc $current $vpnc_flags' failed."
> 	return $status
> fi
>
> # Move files to allow a clean shutdown
> ...
>
>
> 6. For simplicity, I'd make the same change in vpnc_stop() that I
> suggested in _start, namely to do:
>
> if [ ! -e "$vpnc_record" ]; then
> 	/bin/sleep 1
> 	# There's no record of connections, assume unmanaged shutdown.
> 	$command-disconnect
> 	return $?
> fi
>
> # A record of vpnc connections is present. Attempt a
> ...
>   
Hello,

thanks for pointing these out. Could you check the patch at 
http://gabor.t-hosting.hu/patches/security-vpnc.diff to make sure I got 
all your points correctly? While here, I changed the wrapping a bit to 
make it easier to read.
Christian, do you approve these changes suggested by Doug?

Regards,
Gabor


More information about the cvs-ports mailing list