rec = new DNSRecord.Service(domain, recordClass, unique, ttl, priority, weight, port, target); break; case TYPE_HINFO:
@Override boolean handleQuery(JmDNSImpl dns, long expirationTime) { ServiceInfoImpl info = (ServiceInfoImpl) dns.getServices().get(this.getKey()); if (info != null && (info.isAnnouncing() || info.isAnnounced()) && (_port != info.getPort() || !_server.equalsIgnoreCase(dns.getLocalHost().getName()))) { logger1.finer("handleQuery() Conflicting probe detected from: " + getRecordSource()); DNSRecord.Service localService = new DNSRecord.Service(info.getQualifiedName(), DNSRecordClass.CLASS_IN, DNSRecordClass.UNIQUE, DNSConstants.DNS_TTL, info.getPriority(), info.getWeight(), info.getPort(), dns.getLocalHost().getName()); if (dns.getInterface().equals(getRecordSource())) { logger1.warning("Got conflicting probe from ourselves\n" + "incoming: " + this.toString() + "\n" + "local : " + localService.toString()); int comparison = this.compareTo(localService);
if (rec.getName().equalsIgnoreCase(this.getQualifiedName())) { DNSRecord.Service srv = (DNSRecord.Service) rec; boolean serverChanged = (_server == null) || !_server.equalsIgnoreCase(srv.getServer()); _server = srv.getServer(); _port = srv.getPort(); _weight = srv.getWeight(); _priority = srv.getPriority(); if (serverChanged) { _ipv4Addresses.clear();
rec = new DNSRecord.Service(domain, recordClass, unique, ttl, priority, weight, port, target); break; case TYPE_HINFO:
rec = new DNSRecord.Service(domain, recordClass, unique, ttl, priority, weight, port, target); break; case TYPE_HINFO:
rec = new DNSRecord.Service(domain, recordClass, unique, ttl, priority, weight, port, target); break; case TYPE_HINFO:
if (rec.getName().equalsIgnoreCase(this.getQualifiedName())) { DNSRecord.Service srv = (DNSRecord.Service) rec; boolean serverChanged = (_server == null) || !_server.equalsIgnoreCase(srv.getServer()); _server = srv.getServer(); _port = srv.getPort(); _weight = srv.getWeight(); _priority = srv.getPriority(); if (serverChanged) { _ipv4Addresses.clear();
if (record.getName().equalsIgnoreCase(this.getQualifiedName())) { final DNSRecord.Service srv = (DNSRecord.Service) record; final boolean serverChanged = (_server == null) || !_server.equalsIgnoreCase(srv.getServer()); _server = srv.getServer(); _port = srv.getPort(); _weight = srv.getWeight(); _priority = srv.getPriority(); if (serverChanged) { _ipv4Addresses.clear();
if (rec.getName().equalsIgnoreCase(this.getQualifiedName())) { DNSRecord.Service srv = (DNSRecord.Service) rec; boolean serverChanged = (_server == null) || !_server.equalsIgnoreCase(srv.getServer()); _server = srv.getServer(); _port = srv.getPort(); _weight = srv.getWeight(); _priority = srv.getPriority(); if (serverChanged) { _ipv4Addresses.clear();
if (DNSRecordType.TYPE_SRV.equals(dnsEntry.getRecordType()) && !dnsEntry.isExpired(now)) { final DNSRecord.Service s = (DNSRecord.Service) dnsEntry; if (s.getPort() != info.getPort() || !s.getServer().equals(_localHost.getName())) { if (logger.isLoggable(Level.FINER)) { logger.finer("makeServiceNameUnique() JmDNS.makeServiceNameUnique srv collision:" + dnsEntry + " s.server=" + s.getServer() + " " + _localHost.getName() + " equals:" + (s.getServer().equals(_localHost.getName())));
if (DNSRecordType.TYPE_SRV.equals(dnsEntry.getRecordType()) && !dnsEntry.isExpired(now)) { final DNSRecord.Service s = (DNSRecord.Service) dnsEntry; if (s.getPort() != info.getPort() || !s.getServer().equals(_localHost.getName())) { logger.debug("makeServiceNameUnique() JmDNS.makeServiceNameUnique srv collision:{} s.server={} {} equals:{}", dnsEntry, s.getServer(), _localHost.getName(), s.getServer().equals(_localHost.getName()) ); info.setName(NameRegister.Factory.getRegistry().incrementName(_localHost.getInetAddress(), info.getName(), NameRegister.NameType.SERVICE));
@Override boolean handleQuery(JmDNSImpl dns, long expirationTime) { ServiceInfoImpl info = (ServiceInfoImpl) dns.getServices().get(this.getKey()); if (info != null && (info.isAnnouncing() || info.isAnnounced()) && (_port != info.getPort() || !_server.equalsIgnoreCase(dns.getLocalHost().getName()))) { logger1.finer("handleQuery() Conflicting probe detected from: " + getRecordSource()); DNSRecord.Service localService = new DNSRecord.Service(info.getQualifiedName(), DNSRecordClass.CLASS_IN, DNSRecordClass.UNIQUE, DNSConstants.DNS_TTL, info.getPriority(), info.getWeight(), info.getPort(), dns.getLocalHost().getName()); if (dns.getInterface().equals(getRecordSource())) { logger1.warning("Got conflicting probe from ourselves\n" + "incoming: " + this.toString() + "\n" + "local : " + localService.toString()); int comparison = this.compareTo(localService);
@Override boolean handleQuery(JmDNSImpl dns, long expirationTime) { ServiceInfoImpl info = (ServiceInfoImpl) dns.getServices().get(this.getKey()); if (info != null && (info.isAnnouncing() || info.isAnnounced()) && (_port != info.getPort() || !_server.equalsIgnoreCase(dns.getLocalHost().getName()))) { logger1.debug("handleQuery() Conflicting probe detected from: {}", getRecordSource()); DNSRecord.Service localService = new DNSRecord.Service(info.getQualifiedName(), DNSRecordClass.CLASS_IN, DNSRecordClass.UNIQUE, DNSConstants.DNS_TTL, info.getPriority(), info.getWeight(), info.getPort(), dns.getLocalHost().getName()); if (dns.getInetAddress().equals(getRecordSource())) { logger1.warn("Got conflicting probe from ourselves\nincoming: {}\nlocal : {}", this.toString(), localService.toString()); int comparison = this.compareTo(localService);
@Override boolean handleQuery(JmDNSImpl dns, long expirationTime) { ServiceInfoImpl info = (ServiceInfoImpl) dns.getServices().get(this.getKey()); if (info != null && (info.isAnnouncing() || info.isAnnounced()) && (_port != info.getPort() || !_server.equalsIgnoreCase(dns.getLocalHost().getName()))) { logger1.finer("handleQuery() Conflicting probe detected from: " + getRecordSource()); DNSRecord.Service localService = new DNSRecord.Service(info.getQualifiedName(), DNSRecordClass.CLASS_IN, DNSRecordClass.UNIQUE, DNSConstants.DNS_TTL, info.getPriority(), info.getWeight(), info.getPort(), dns.getLocalHost().getName()); if (dns.getInterface().equals(getRecordSource())) { logger1.warning("Got conflicting probe from ourselves\n" + "incoming: " + this.toString() + "\n" + "local : " + localService.toString()); int comparison = this.compareTo(localService);
if (DNSRecordType.TYPE_SRV.equals(dnsEntry.getRecordType()) && !dnsEntry.isExpired(now)) { final DNSRecord.Service s = (DNSRecord.Service) dnsEntry; if (s.getPort() != info.getPort() || !s.getServer().equals(_localHost.getName())) { if (logger.isLoggable(Level.FINER)) { logger.finer("makeServiceNameUnique() JmDNS.makeServiceNameUnique srv collision:" + dnsEntry + " s.server=" + s.getServer() + " " + _localHost.getName() + " equals:" + (s.getServer().equals(_localHost.getName())));
if (DNSRecordType.TYPE_SRV.equals(dnsEntry.getRecordType()) && !dnsEntry.isExpired(now)) { final DNSRecord.Service s = (DNSRecord.Service) dnsEntry; if (s.getPort() != info.getPort() || !s.getServer().equals(_localHost.getName())) { if (logger.isLoggable(Level.FINER)) { logger.finer("makeServiceNameUnique() JmDNS.makeServiceNameUnique srv collision:" + dnsEntry + " s.server=" + s.getServer() + " " + _localHost.getName() + " equals:" + (s.getServer().equals(_localHost.getName())));
/** * Create a series of answer that correspond with the give service info. * * @param recordClass * record class of the query * @param unique * @param ttl * @param localHost * @return collection of answers */ public Collection<DNSRecord> answers(DNSRecordClass recordClass, boolean unique, int ttl, HostInfo localHost) { List<DNSRecord> list = new ArrayList<DNSRecord>(); // [PJYF Dec 6 2011] This is bad hack as I don't know what the spec should really means in this case. i.e. what is the class of our registered services. if ((recordClass == DNSRecordClass.CLASS_ANY) || (recordClass == DNSRecordClass.CLASS_IN)) { if (this.getSubtype().length() > 0) { list.add(new Pointer(this.getTypeWithSubtype(), DNSRecordClass.CLASS_IN, DNSRecordClass.NOT_UNIQUE, ttl, this.getQualifiedName())); } list.add(new Pointer(this.getType(), DNSRecordClass.CLASS_IN, DNSRecordClass.NOT_UNIQUE, ttl, this.getQualifiedName())); list.add(new Service(this.getQualifiedName(), DNSRecordClass.CLASS_IN, unique, ttl, _priority, _weight, _port, localHost.getName())); list.add(new Text(this.getQualifiedName(), DNSRecordClass.CLASS_IN, unique, ttl, this.getTextBytes())); } return list; }
@Override boolean handleResponse(JmDNSImpl dns) { ServiceInfoImpl info = (ServiceInfoImpl) dns.getServices().get(this.getKey()); if (info != null && (_port != info.getPort() || !_server.equalsIgnoreCase(dns.getLocalHost().getName()))) { logger1.finer("handleResponse() Denial detected"); if (info.isProbing()) { String oldName = info.getQualifiedName().toLowerCase(); info.setName(dns.incrementName(info.getName())); dns.getServices().remove(oldName); dns.getServices().put(info.getQualifiedName().toLowerCase(), info); logger1.finer("handleResponse() New unique name chose:" + info.getName()); } info.revertState(); return true; } return false; }
@Override boolean handleResponse(JmDNSImpl dns) { ServiceInfoImpl info = (ServiceInfoImpl) dns.getServices().get(this.getKey()); if (info != null && (_port != info.getPort() || !_server.equalsIgnoreCase(dns.getLocalHost().getName()))) { logger1.finer("handleResponse() Denial detected"); if (info.isProbing()) { String oldName = info.getQualifiedName().toLowerCase(); info.setName(dns.incrementName(info.getName())); dns.getServices().remove(oldName); dns.getServices().put(info.getQualifiedName().toLowerCase(), info); logger1.finer("handleResponse() New unique name chose:" + info.getName()); } info.revertState(); return true; } return false; }
@Override public ServiceEvent getServiceEvent(JmDNSImpl dns) { ServiceInfo info = this.getServiceInfo(false); ((ServiceInfoImpl) info).setDns(dns); // String domainName = ""; // String serviceName = this.getServer(); // int index = serviceName.indexOf('.'); // if (index > 0) // { // serviceName = this.getServer().substring(0, index); // if (index + 1 < this.getServer().length()) // domainName = this.getServer().substring(index + 1); // } // return new ServiceEventImpl(dns, domainName, serviceName, info); return new ServiceEventImpl(dns, info.getType(), info.getName(), info); }