|
Packit Service |
b38f0b |
# -*- sh -*-
|
|
Packit Service |
b38f0b |
security_def_list="usm"
|
|
Packit Service |
b38f0b |
security_src_list=""
|
|
Packit Service |
b38f0b |
security_obj_list=""
|
|
Packit Service |
b38f0b |
security_lobj_list=""
|
|
Packit Service |
b38f0b |
security_ftobj_list=""
|
|
Packit Service |
b38f0b |
security_mod_list=" "
|
|
Packit Service |
b38f0b |
|
|
Packit Service |
b38f0b |
new_with_security=
|
|
Packit Service |
b38f0b |
new_with_out_security=`echo $with_out_security_modules | tr , ' '`
|
|
Packit Service |
b38f0b |
|
|
Packit Service |
b38f0b |
# Assign additional security modules
|
|
Packit Service |
b38f0b |
for i in `echo $with_security_modules | tr , ' '`; do
|
|
Packit Service |
b38f0b |
if echo " $new_with_out_security " | $GREP " $i " > /dev/null; then
|
|
Packit Service |
b38f0b |
echo
|
|
Packit Service |
b38f0b |
AC_MSG_ERROR([security module conflict - $i both included and excluded])
|
|
Packit Service |
b38f0b |
elif echo " $new_with_security " | $GREP " $i " > /dev/null ; then
|
|
Packit Service |
b38f0b |
: # Double define, ignore
|
|
Packit Service |
b38f0b |
else
|
|
Packit Service |
b38f0b |
new_with_security="$new_with_security $i"
|
|
Packit Service |
b38f0b |
fi
|
|
Packit Service |
b38f0b |
done
|
|
Packit Service |
b38f0b |
|
|
Packit Service |
b38f0b |
# Add default security modules
|
|
Packit Service |
b38f0b |
for i in $security_def_list; do
|
|
Packit Service |
b38f0b |
if echo " $new_with_out_security " | $GREP " $i " > /dev/null; then
|
|
Packit Service |
b38f0b |
: # Excluded, ignore
|
|
Packit Service |
b38f0b |
elif echo " $new_with_security " | $GREP " $i " > /dev/null ; then
|
|
Packit Service |
b38f0b |
: # Double define, ignore
|
|
Packit Service |
b38f0b |
else
|
|
Packit Service |
b38f0b |
new_with_security="$new_with_security $i"
|
|
Packit Service |
b38f0b |
fi
|
|
Packit Service |
b38f0b |
done
|
|
Packit Service |
b38f0b |
|
|
Packit Service |
b38f0b |
# Generate output files
|
|
Packit Service |
b38f0b |
: ${security_init_file:='snmplib/snmpsm_init.h'}
|
|
Packit Service |
b38f0b |
: ${security_shutdown_file:='snmplib/snmpsm_shutdown.h'}
|
|
Packit Service |
b38f0b |
: ${security_incl_file:='include/net-snmp/library/snmpv3-security-includes.h'}
|
|
Packit Service |
b38f0b |
|
|
Packit Service |
b38f0b |
echo "/* This file is automatically generated by configure. Do not modify by hand. */" > $security_init_file
|
|
Packit Service |
b38f0b |
echo "/* This file is automatically generated by configure. Do not modify by hand. */" > $security_shutdown_file
|
|
Packit Service |
b38f0b |
echo "/* This file is automatically generated by configure. Do not modify by hand. */" > $security_incl_file
|
|
Packit Service |
b38f0b |
|
|
Packit Service |
b38f0b |
for i in $new_with_security; do
|
|
Packit Service |
b38f0b |
cfile="snmp"$i".c"
|
|
Packit Service |
b38f0b |
hfile="snmp"$i".h"
|
|
Packit Service |
b38f0b |
|
|
Packit Service |
b38f0b |
# make sure support exists for it
|
|
Packit Service |
b38f0b |
if test -f $srcdir"/snmplib/"$cfile -a -f $srcdir"/include/net-snmp/library/"$hfile; then
|
|
Packit Service |
b38f0b |
:
|
|
Packit Service |
b38f0b |
else
|
|
Packit Service |
b38f0b |
echo
|
|
Packit Service |
b38f0b |
AC_MSG_ERROR(No such security module: $i / $cfile / $hfile)
|
|
Packit Service |
b38f0b |
fi
|
|
Packit Service |
b38f0b |
|
|
Packit Service |
b38f0b |
# define a bunch of stuff to enable it
|
|
Packit Service |
b38f0b |
security_mod_list="${security_mod_list} $i"
|
|
Packit Service |
b38f0b |
security_src_list="$security_src_list $cfile"
|
|
Packit Service |
b38f0b |
security_src_list="$security_src_list $cfile"
|
|
Packit Service |
b38f0b |
security_hdr_list="$security_hdr_list $hfile"
|
|
Packit Service |
b38f0b |
security_obj_list="$security_obj_list snmp"$i".o"
|
|
Packit Service |
b38f0b |
security_lobj_list="$security_lobj_list snmp"$i".lo"
|
|
Packit Service |
b38f0b |
security_ftobj_list="$security_ftobj_list snmp"$i".ft"
|
|
Packit Service |
b38f0b |
echo "init_"$i"();" >> $security_init_file
|
|
Packit Service |
b38f0b |
echo "shutdown_"$i"();" >> $security_shutdown_file
|
|
Packit Service |
b38f0b |
echo "#include <net-snmp/library/$hfile>" >> $security_incl_file
|
|
Packit Service |
b38f0b |
def_name="AS_TR_CPP([NETSNMP_SECMOD_$i])"
|
|
Packit Service |
b38f0b |
AC_DEFINE_UNQUOTED($def_name)
|
|
Packit Service |
b38f0b |
done
|
|
Packit Service |
b38f0b |
|