summaryrefslogtreecommitdiff
path: root/configure.d/config_modules_security_modules
diff options
context:
space:
mode:
Diffstat (limited to 'configure.d/config_modules_security_modules')
-rw-r--r--configure.d/config_modules_security_modules70
1 files changed, 70 insertions, 0 deletions
diff --git a/configure.d/config_modules_security_modules b/configure.d/config_modules_security_modules
new file mode 100644
index 0000000..823ca7d
--- /dev/null
+++ b/configure.d/config_modules_security_modules
@@ -0,0 +1,70 @@
+# -*- sh -*-
+security_def_list="usm"
+security_src_list=""
+security_obj_list=""
+security_lobj_list=""
+security_ftobj_list=""
+security_mod_list=" "
+
+new_with_security=
+new_with_out_security=`echo $with_out_security_modules | tr , ' '`
+
+# Assign additional security modules
+for i in `echo $with_security_modules | tr , ' '`; do
+ if echo " $new_with_out_security " | $GREP " $i " > /dev/null; then
+ echo
+ AC_MSG_ERROR([security module conflict - $i both included and excluded])
+ elif echo " $new_with_security " | $GREP " $i " > /dev/null ; then
+ : # Double define, ignore
+ else
+ new_with_security="$new_with_security $i"
+ fi
+done
+
+# Add default security modules
+for i in $security_def_list; do
+ if echo " $new_with_out_security " | $GREP " $i " > /dev/null; then
+ : # Excluded, ignore
+ elif echo " $new_with_security " | $GREP " $i " > /dev/null ; then
+ : # Double define, ignore
+ else
+ new_with_security="$new_with_security $i"
+ fi
+done
+
+# Generate output files
+: ${security_init_file:='snmplib/snmpsm_init.h'}
+: ${security_shutdown_file:='snmplib/snmpsm_shutdown.h'}
+: ${security_incl_file:='include/net-snmp/library/snmpv3-security-includes.h'}
+
+echo "/* This file is automatically generated by configure. Do not modify by hand. */" > $security_init_file
+echo "/* This file is automatically generated by configure. Do not modify by hand. */" > $security_shutdown_file
+echo "/* This file is automatically generated by configure. Do not modify by hand. */" > $security_incl_file
+
+for i in $new_with_security; do
+ cfile="snmp"$i".c"
+ hfile="snmp"$i".h"
+
+ # make sure support exists for it
+ if test -f $srcdir"/snmplib/"$cfile -a -f $srcdir"/include/net-snmp/library/"$hfile; then
+ :
+ else
+ echo
+ AC_MSG_ERROR(No such security module: $i / $cfile / $hfile)
+ fi
+
+ # define a bunch of stuff to enable it
+ security_mod_list="${security_mod_list} $i"
+ security_src_list="$security_src_list $cfile"
+ security_src_list="$security_src_list $cfile"
+ security_hdr_list="$security_hdr_list $hfile"
+ security_obj_list="$security_obj_list snmp"$i".o"
+ security_lobj_list="$security_lobj_list snmp"$i".lo"
+ security_ftobj_list="$security_ftobj_list snmp"$i".ft"
+ echo "init_"$i"();" >> $security_init_file
+ echo "shutdown_"$i"();" >> $security_shutdown_file
+ echo "#include <net-snmp/library/$hfile>" >> $security_incl_file
+ def_name="AS_TR_CPP([NETSNMP_SECMOD_$i])"
+ AC_DEFINE_UNQUOTED($def_name)
+done
+