HEX
Server: Apache/2.4.41 (Ubuntu)
System: Linux ip-172-31-42-149 5.15.0-1084-aws #91~20.04.1-Ubuntu SMP Fri May 2 07:00:04 UTC 2025 aarch64
User: ubuntu (1000)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/lib/dpkg/info/libnss-mdns:arm64.postinst
#!/bin/sh
set -e


log() {
    echo "$*"
}

# try to insert mdns entries to the "hosts" line in /etc/nsswitch.conf to
# automatically enable nss-mdns support; do not change the configuration if the
# "hosts" line already references some mdns lookups
insert_mdns() {
    log "Checking NSS setup..."
    # abort if /etc/nsswitch.conf does not exist
    if ! [ -e /etc/nsswitch.conf ]; then
        log "Could not find /etc/nsswitch.conf."
        return
    fi
    perl -i -pe '
        sub insert {
            # this also splits on tab
            my @bits=split(" ", shift);
            # do not break configuration if the "hosts" line already references
            # mdns
            if (grep { $_ eq "mdns4_minimal" || $_ eq "mdns4"
                || $_ eq "mdns" || $_ eq "mdns_minimal" 
                || $_ eq "mdns6" || $_ eq "mdns6_minimal"} @bits) {
                return join " ", @bits;
            }
            # change "dns" or "resolve", whichever comes first, into
            # "mdns4_minimal [NOTFOUND=return] dns|resolve"
            foreach my $bit (@bits) {
                if ($bit eq "dns" || $bit eq "resolve") {
                    $bit = "mdns4_minimal [NOTFOUND=return] $bit";
                    last;
                }
            }
            return join " ", @bits;
        }
        s/^(hosts:\s+)(.*)/$1.insert($2)/e;
    ' /etc/nsswitch.conf
}

action="$1"

if [ configure = "$action" ]; then
    if [ -z "$2" ]; then
        log "First installation detected..."
        # first install: setup the recommended configuration (unless
        # nsswitch.conf already contains mdns entries)
        insert_mdns
    else
        # upgrade
        version="$2"

        if dpkg --compare-versions "$version" lt 0.10-8~; then
            log "Re-ordering libnss-mdns before libnss-resolve if necessary (#846944)."
            perl -i -pe \
                's/(resolve \[!?[A-Za-z=]+\]) (mdns4_minimal \[!?[A-Za-z=]+\])/$2 $1/ if /^hosts:/' \
                /etc/nsswitch.conf
        fi
    fi
fi