Blame configure.d/config_modules_security_modules

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