File: DnsSrv.java

package info (click to toggle)
jcifs 1.3.17-1
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 2,860 kB
  • ctags: 3,997
  • sloc: java: 23,131; xml: 3,672; ansic: 386; sh: 171; makefile: 27
file content (36 lines) | stat: -rw-r--r-- 1,004 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import java.util.*;
import javax.naming.*;
import javax.naming.directory.*;

public class DnsSrv {

    String getDomain(String name) throws NamingException {
        DirContext context;
        NameNotFoundException ret = null;

        context = new InitialDirContext();
        for ( ;; ) {
            try {
                Attributes attributes = context.getAttributes(
                    "dns:/_ldap._tcp.dc._msdcs." + name,
                    new String[] { "SRV" }
                );
                return name;
            } catch (NameNotFoundException nnfe) {
                ret = nnfe;
            }
            int dot = name.indexOf('.');
            if (dot == -1)
                break;
            name = name.substring(dot + 1);
        }

        throw ret != null ? ret : new NamingException("invalid name");
    }

    public static void main(String argv[]) throws Exception {
        DnsSrv dnsSrv = new DnsSrv();
        System.out.println(dnsSrv.getDomain(argv[0]));
    }
}