CasperSecurity

Current Path : /snap/core20/2769/etc/dhcp/dhclient-enter-hooks.d/
Upload File :
Current File : //snap/core20/2769/etc/dhcp/dhclient-enter-hooks.d/resolved

#
# Script fragment to make dhclient supply nameserver information to resolvconf
#

# Tips:
# * Be careful about changing the environment since this is sourced
# * This script fragment uses bash features
# * As of isc-dhcp-client 4.2 the "reason" (for running the script) can be one of the following.
#   (Listed on man page:) MEDIUM(0) PREINIT(0)  BOUND(M)  RENEW(M)  REBIND(M)  REBOOT(M)         EXPIRE(D)  FAIL(D) RELEASE(D)  STOP(D) NBI(-) TIMEOUT(M)
#   (Also used in master script:)                                                                                                                         ARPCHECK(0), ARPSEND(0)
#   (Also used in master script:)   PREINIT6(0) BOUND6(M) RENEW6(M) REBIND6(M)        DEPREF6(0) EXPIRE6(D)         RELEASE6(D) STOP6(D)
#   (0) = master script does not run make_resolv_conf
#   (M) = master script runs make_resolv_conf
#   (D) = master script downs interface
#   (-) = master script does nothing with this

if systemctl is-enabled systemd-resolved > /dev/null 2>&1; then
        # For safety, first undefine the nasty default make_resolv_conf()
        make_resolv_conf() { : ; }
        case "$reason" in
          BOUND|RENEW|REBIND|REBOOT|TIMEOUT|BOUND6|RENEW6|REBIND6)
                # Define a resolvconf-compatible m_r_c() function
                # It gets run later (or, in the TIMEOUT case, MAY get run later)
          make_resolv_conf() {
              local statedir
              if [ ! "$interface" ] ; then
                  return
              fi
              statedir="/run/systemd/resolved.conf.d"
              mkdir -p $statedir

              oldstate="$(mktemp)"
              md5sum $statedir/isc-dhcp-v4-$interface.conf $statedir/isc-dhcp-v6-$interface.conf > $oldstate 2> /dev/null
              if [ -n "$new_domain_name_servers" ] ; then
                  cat <<EOF >$statedir/isc-dhcp-v4-$interface.conf
[Resolve]
DNS=$new_domain_name_servers
EOF
                  if [ -n "$new_domain_name" ] || [ -n "$new_domain_search" ] ; then
                      cat <<EOF >>$statedir/isc-dhcp-v4-$interface.conf
Domains=$new_domain_search $new_domain_name
EOF
                  fi
              fi
              if [ -n "$new_dhcp6_name_servers" ] ; then
                  cat <<EOF >$statedir/isc-dhcp-v6-$interface.conf
[Resolve]
DNS=$new_dhcp6_name_servers
EOF
                  if [ -n "$new_dhcp6_domain_search" ] ; then
                      cat <<EOF >>$statedir/isc-dhcp-v6-$interface.conf
Domains=$new_dhcp6_domain_search
EOF
                  fi
              fi

              newstate="$(mktemp)"
              md5sum $statedir/isc-dhcp-v4-$interface.conf $statedir/isc-dhcp-v6-$interface.conf > $newstate 2> /dev/null
              if ! cmp --quiet $oldstate $newstate; then
                  # We need to reset-failed to reset the start limit counter,
                  # in case we're processing more than StartLimitBurst interfaces
                  # LP: #1939255
                  systemctl reset-failed systemd-resolved.service
                  systemctl try-reload-or-restart systemd-resolved.service
              fi

              rm $oldstate
              rm $newstate
          }
                ;;

          EXPIRE|FAIL|RELEASE|STOP)
              if [ ! "$interface" ] ; then
                  return
              fi
              rm -f /run/systemd/resolved.conf.d/isc-dhcp-v4-$interface.conf
              systemctl try-reload-or-restart systemd-resolved.service
              ;;
          EXPIRE6|RELEASE6|STOP6)
              if [ ! "$interface" ] ; then
                  return
              fi
              rm -f /run/systemd/resolved.conf.d/isc-dhcp-v6-$interface.conf
              systemctl try-reload-or-restart systemd-resolved.service
              ;;
        esac
fi
Hacker Blog, Shell İndir, Sql İnjection, XSS Attacks, LFI Attacks, Social Hacking, Exploit Bot, Proxy Tools, Web Shell, PHP Shell, Alfa Shell İndir, Hacking Training Set, DDoS Script, Denial Of Service, Botnet, RFI Attacks, Encryption
Telegram @BIBIL_0DAY