msys2 / MSYS2-packages

Package scripts for MSYS2.
https://packages.msys2.org
BSD 3-Clause "New" or "Revised" License
1.29k stars 485 forks source link

Is there a dig (DNS client) or alternative in msys2? #1799

Open AlekseyMelikov opened 4 years ago

AlekseyMelikov commented 4 years ago

Hi. Is there a dig (DNS client) or alternative in msys2?

SirToffski commented 4 years ago

You can get BIND 9 directly from ISC.

From the archive, extract dig.exe and all *.dll files to /msys64/usr/bin/. Enjoy.

diggit

zoobab commented 3 years ago

I have some DLL errors with the Win10 binaries linked here...

thibaultmeyer commented 1 year ago

Any news about a up-to-date bind package or dig packaged separately?

ipaqmaster commented 1 year ago

Also here to ask this question. Changed to MSYS2 due to its use of a package manager as it's nice compared to other leading solutions such as Cygwin which doesn't - but the project doesn't build a bind package for dig and pacman -Fy dig turns up nothing.

Was going to build the package myself from the latest xz but it refuses without pkg-config which I cannot seem to resolve via the available pacman packages.

For now, I've just visited https://downloads.isc.org/isc/bind9/ and grabbed the latest (Right now that appears to be bind-9.19.13.tar.xz and extracted it to /usr/local/bin, away from regular package managed dirs. Will have to remember to update them manually for now.

thibaultmeyer commented 1 year ago

tar.xz only contains source

sskras commented 1 year ago

@thibaultmeyer commented 4 days ago:

Any news about a up-to-date bind package or dig packaged separately?

I guess no because of this BIND9 commit from Jun 9, 2021: https://github.com/isc-projects/bind9/commit/440fb3d225b0350f7ed8b2916172a2ead3bc14f9

The Windows support has been completely removed from the source tree and BIND 9 now no longer supports native compilation on Windows.

We might consider reviewing mingw-w64 port if contributed by external party, but no development efforts will be put into making BIND 9 compile and run on Windows again.

So, MINGW64 port is non-existent while MSYS2 port isn't appropriate.

@thibaultmeyer, @ipaqmaster, I see three ways to get it running:

  1. Someone fixes your build (from outside of MSYS2 team, most probably)
  2. You build it on Cygwin which is seemingly supported: \ https://github.com/isc-projects/bind9/commit/a938db2)
  3. Use the older native Windows builds like BIND9.14.8.x64 mentioned in https://github.com/msys2/MSYS2-packages/issues/1799#issuecomment-566371867 by @SirToffski:
    $ ldd dig | sort -k3 | column -tR1
    ADVAPI32.dll  =>  /c/Windows/System32/ADVAPI32.dll           (0x7ffb9f100000)
     CRYPT32.dll  =>  /c/Windows/System32/CRYPT32.dll            (0x7ffb9ded0000)
       GDI32.dll  =>  /c/Windows/System32/GDI32.dll              (0x7ffba02a0000)
    gdi32full.dll  =>  /c/Windows/System32/gdi32full.dll          (0x7ffb9e5f0000)
    IPHLPAPI.DLL  =>  /c/Windows/SYSTEM32/IPHLPAPI.DLL           (0x7ffb9d2a0000)
    KERNEL32.DLL  =>  /c/Windows/System32/KERNEL32.DLL           (0x7ffb9ecd0000)
    KERNELBASE.dll  =>  /c/Windows/System32/KERNELBASE.dll         (0x7ffb9e030000)
    msvcp_win.dll  =>  /c/Windows/System32/msvcp_win.dll          (0x7ffb9e7b0000)
    MSVCR110.dll  =>  /c/Windows/SYSTEM32/MSVCR110.dll           (0x7ffb5bcc0000)
      msvcrt.dll  =>  /c/Windows/System32/msvcrt.dll             (0x7ffba0410000)
       ntdll.dll  =>  /c/Windows/SYSTEM32/ntdll.dll              (0x7ffba07f0000)
      RPCRT4.dll  =>  /c/Windows/System32/RPCRT4.dll             (0x7ffb9fc70000)
     sechost.dll  =>  /c/Windows/System32/sechost.dll            (0x7ffb9f3d0000)
    ucrtbase.dll  =>  /c/Windows/System32/ucrtbase.dll           (0x7ffb9e330000)
      USER32.dll  =>  /c/Windows/System32/USER32.dll             (0x7ffba0520000)
    VCRUNTIME140.dll  =>  /c/Windows/SYSTEM32/VCRUNTIME140.dll       (0x7ffb82130000)
      win32u.dll  =>  /c/Windows/System32/win32u.dll             (0x7ffb9e780000)
      WS2_32.dll  =>  /c/Windows/System32/WS2_32.dll             (0x7ffba0740000)
     WSOCK32.dll  =>  /c/Windows/SYSTEM32/WSOCK32.dll            (0x7ffb962c0000)
    libbind9.dll  =>  /d/Downloads/BIND9.14.8.x64/libbind9.dll   (0x7ffb96330000)
      libdns.dll  =>  /d/Downloads/BIND9.14.8.x64/libdns.dll     (0x7ffb548d0000)
    LIBEAY32.dll  =>  /d/Downloads/BIND9.14.8.x64/LIBEAY32.dll   (0x7ffb54240000)
      libirs.dll  =>  /d/Downloads/BIND9.14.8.x64/libirs.dll     (0x7ffb96350000)
      libisc.dll  =>  /d/Downloads/BIND9.14.8.x64/libisc.dll     (0x20293020000)
      libisc.dll  =>  /d/Downloads/BIND9.14.8.x64/libisc.dll     (0x7ffb89030000)
    libisccfg.dll  =>  /d/Downloads/BIND9.14.8.x64/libisccfg.dll  (0x7ffb962e0000)
     libxml2.dll  =>  /d/Downloads/BIND9.14.8.x64/libxml2.dll    (0x7ffb69090000)

I checked, and it works on current MSYS2:

saukrs@DESKTOP-O7JE7JE MSYS /D/Downloads/BIND9.14.8.x64
$ ./dig -v
DiG 9.14.8

saukrs@DESKTOP-O7JE7JE MSYS /D/Downloads/BIND9.14.8.x64
$ ./dig day.lt @1.1.1.1

; <<>> DiG 9.14.8 <<>> day.lt @1.1.1.1
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 11238
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
;; QUESTION SECTION:
;day.lt.                                IN      A

;; ANSWER SECTION:
day.lt.                 300     IN      A       104.21.0.189
day.lt.                 300     IN      A       172.67.128.53

;; Query time: 32 msec
;; SERVER: 1.1.1.1#53(1.1.1.1)
;; WHEN: Mon Jun 05 09:40:34 FLE Daylight Time 2023
;; MSG SIZE  rcvd: 67
liudonghua123 commented 2 weeks ago

You can get BIND 9 directly from ISC.

From the archive, extract dig.exe and all *.dll files to /msys64/usr/bin/. Enjoy.

diggit

I found that the latest prebuild binary for windows is 9.17.15, from 9.17.16 onwords, no prebuild binary provided. See also https://downloads.isc.org/isc/bind9/9.17.16/CHANGES