diff --git a/Dockerfile b/Dockerfile index ccd2346..6bdf7f8 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,18 +1,17 @@ - FROM debian:buster-slim +FROM ubuntu:latest as smartdns-builder - RUN apt update && \ - apt install -y git make gcc libssl-dev && \ - git clone https://github.com/pymumu/smartdns.git --depth 1 && \ +COPY . /smartdns/ +RUN apt update && \ + apt install -y make gcc libssl-dev && \ cd smartdns && \ - sh ./package/build-pkg.sh --platform debian --arch `dpkg --print-architecture` && \ - dpkg -i package/*.deb && \ - cd / && \ - rm -rf smartdns/ && \ - apt autoremove -y git make gcc libssl-dev && \ - apt clean && \ - rm -rf /var/lib/apt/lists/* + sh ./package/build-pkg.sh --platform debian --arch `dpkg --print-architecture` - EXPOSE 53/udp - VOLUME "/etc/smartdns/" +FROM ubuntu:latest +COPY --from=smartdns-builder /smartdns/package/*.deb /opt/ +RUN dpkg -i /opt/*.deb && \ + rm /opt/*deb -fr - CMD ["/usr/sbin/smartdns", "-f"] +EXPOSE 53/udp +VOLUME "/etc/smartdns/" + +CMD ["/usr/sbin/smartdns", "-f", "-x"] diff --git a/src/dns_conf.c b/src/dns_conf.c index 513b8d2..f715da5 100644 --- a/src/dns_conf.c +++ b/src/dns_conf.c @@ -1458,7 +1458,7 @@ static struct dns_ptr *_dns_conf_get_ptr(const char *ptr_domain) key = hash_string(ptr_domain); hash_for_each_possible(dns_ptr_table.ptr, ptr, node, key) { - if (strncmp(ptr->ptr_domain, ptr_domain, DNS_MAX_CNAME_LEN) != 0) { + if (strncmp(ptr->ptr_domain, ptr_domain, DNS_MAX_PTR_LEN) != 0) { continue; }