1 /*
2 * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation. Oracle designates this
8 * particular file as subject to the "Classpath" exception as provided
9 * by Oracle in the LICENSE file that accompanied this code.
10 *
11 * This code is distributed in the hope that it will be useful, but WITHOUT
12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 * version 2 for more details (a copy is included in the LICENSE file that
15 * accompanied this code).
16 *
17 * You should have received a copy of the GNU General Public License version
18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 * or visit www.oracle.com if you need additional information or have any
59 && (domainName = ServiceLocator.mapDnToDomainName(dn)) != null
60 && (hostports = ServiceLocator.getLdapService(domainName, env)) != null) {
61 // Generate new URLs that include the discovered hostports.
62 // Reuse the original URL scheme.
63 String scheme = ldapUrl.getScheme() + "://";
64 String query = ldapUrl.getQuery();
65 String urlSuffix = ldapUrl.getPath() + (query != null ? query : "");
66 for (String hostPort : hostports) {
67 // the hostports come from the DNS SRV records
68 // we assume the SRV record is scheme aware
69 endpoints.add(scheme + hostPort + urlSuffix);
70 }
71 } else {
72 // we don't have enough information to set the domain name
73 // correctly
74 domainName = "";
75 endpoints.add(url);
76 }
77
78 LdapDnsProviderResult res = new LdapDnsProviderResult(domainName, endpoints);
79 if (res.getEndpoints().size() == 0 && res.getDomainName().isEmpty()) {
80 return Optional.empty();
81 } else {
82 return Optional.of(res);
83 }
84 }
85
86 }
|
1 /*
2 * Copyright (c) 2018, 2019, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation. Oracle designates this
8 * particular file as subject to the "Classpath" exception as provided
9 * by Oracle in the LICENSE file that accompanied this code.
10 *
11 * This code is distributed in the hope that it will be useful, but WITHOUT
12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 * version 2 for more details (a copy is included in the LICENSE file that
15 * accompanied this code).
16 *
17 * You should have received a copy of the GNU General Public License version
18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 * or visit www.oracle.com if you need additional information or have any
59 && (domainName = ServiceLocator.mapDnToDomainName(dn)) != null
60 && (hostports = ServiceLocator.getLdapService(domainName, env)) != null) {
61 // Generate new URLs that include the discovered hostports.
62 // Reuse the original URL scheme.
63 String scheme = ldapUrl.getScheme() + "://";
64 String query = ldapUrl.getQuery();
65 String urlSuffix = ldapUrl.getPath() + (query != null ? query : "");
66 for (String hostPort : hostports) {
67 // the hostports come from the DNS SRV records
68 // we assume the SRV record is scheme aware
69 endpoints.add(scheme + hostPort + urlSuffix);
70 }
71 } else {
72 // we don't have enough information to set the domain name
73 // correctly
74 domainName = "";
75 endpoints.add(url);
76 }
77
78 LdapDnsProviderResult res = new LdapDnsProviderResult(domainName, endpoints);
79 if (res.getEndpoints().isEmpty() && res.getDomainName().isEmpty()) {
80 return Optional.empty();
81 } else {
82 return Optional.of(res);
83 }
84 }
85
86 }
|