diff options
Diffstat (limited to 'bin/named')
32 files changed, 3175 insertions, 2395 deletions
diff --git a/bin/named/Makefile.in b/bin/named/Makefile.in index 68941357..1d4a365d 100644 --- a/bin/named/Makefile.in +++ b/bin/named/Makefile.in @@ -1,4 +1,4 @@ -# Copyright (C) 2004-2013 Internet Systems Consortium, Inc. ("ISC") +# Copyright (C) 2004-2014 Internet Systems Consortium, Inc. ("ISC") # Copyright (C) 1998-2002 Internet Software Consortium. # # Permission to use, copy, modify, and/or distribute this software for any @@ -102,7 +102,7 @@ SYMOBJS = symtbl.@O@ SRCS = builtin.c client.c config.c control.c \ controlconf.c interfacemgr.c \ listenlist.c log.c logconf.c main.c notify.c \ - query.c server.c sortlist.c statschannel.c symtbl.c symtbl-empty.c \ + query.c server.c sortlist.c statschannel.c \ tkeyconf.c tsigconf.c update.c xfrout.c \ zoneconf.c \ lwaddr.c lwresd.c lwdclient.c lwderror.c lwdgabn.c \ @@ -124,6 +124,7 @@ main.@O@: main.c -DDESCRIPTION=\"${DESCRIPTION}\" \ -DSRCID=\"${SRCID}\" \ -DCONFIGARGS="\"${CONFIGARGS}\"" \ + -DBUILDER="\"make\"" \ -DNS_LOCALSTATEDIR=\"${localstatedir}\" \ -DNS_SYSCONFDIR=\"${sysconfdir}\" -c ${srcdir}/main.c diff --git a/bin/named/bind9.ver3.xsl b/bin/named/bind9.ver3.xsl index 22e5c45f..699bcb48 100644 --- a/bin/named/bind9.ver3.xsl +++ b/bin/named/bind9.ver3.xsl @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <!-- - - Copyright (C) 2012, 2013 Internet Systems Consortium, Inc. ("ISC") + - Copyright (C) 2012-2014 Internet Systems Consortium, Inc. ("ISC") - - Permission to use, copy, modify, and/or distribute this software for any - purpose with or without fee is hereby granted, provided that the above @@ -20,60 +20,61 @@ <!-- %Id: bind9.xsl,v 1.21 2009/01/27 23:47:54 tbox Exp % --> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml" version="1.0"> <xsl:output method="html" indent="yes" version="4.0"/> - <xsl:template match="statistics[@version="3.0"]"> + <xsl:template match="statistics[@version="3.3"]"> <html> <head> <xsl:if test="system-property('xsl:vendor')!='Transformiix'"> <!-- Non Mozilla specific markup --> <script type="text/javascript" src="https://www.google.com/jsapi"/> <script type="text/javascript"> - + google.load("visualization", "1", {packages:["corechart"]}); google.setOnLoadCallback(loadGraphs); var graphs=[]; - - function drawChart(chart_title,target,data) { + + function drawChart(chart_title,target,style,data) { var data = google.visualization.arrayToDataTable(data); var options = { title: chart_title }; - - var chart = new google.visualization.BarChart(document.getElementById(target)); - chart.draw(data, options); + + var chart; + if (style == "barchart") { + chart = new google.visualization.BarChart(document.getElementById(target)); + chart.draw(data, options); + } else if (style == "piechart") { + chart = new google.visualization.PieChart(document.getElementById(target)); + chart.draw(data, options); + } } - + function loadGraphs(){ - //alert("here we are!"); var g; - - // Server Incoming query Types + while(g = graphs.shift()){ // alert("going for: " + g.target); if(g.data.length > 1){ - drawChart(g.title,g.target,g.data); + drawChart(g.title,g.target,g.style,g.data); } } } - - // Server Incoming Queries Types - graphs.push({ - 'title' : "Server Incoming Query Types", - 'target': 'chart_incoming_qtypes', - 'data': [['Type','Counter'],<xsl:for-each select="server/counters[@type="qtype"]/counter">['<xsl:value-of select="@name"/>',<xsl:value-of select="."/>],</xsl:for-each>] - }); - - - // Server Incoming Requests - graphs.push({ - 'title' : "Server Incoming Requests", - 'target': 'chart_incoming_requests', - 'data': [['Requests','Counter'],<xsl:for-each select="server/counters[@type="opcode"]/counter">['<xsl:value-of select="@name"/>',<xsl:value-of select="."/>],</xsl:for-each>]}); - - - - + + // Server Incoming Query Types + graphs.push({ + 'title' : "Server Incoming Query Types", + 'target': 'chart_incoming_qtypes', + 'style': 'barchart', + 'data': [['Type','Counter'],<xsl:for-each select="server/counters[@type="qtype"]/counter">['<xsl:value-of select="@name"/>',<xsl:value-of select="."/>],</xsl:for-each>] + }); + + // Server Incoming Requests by opcode + graphs.push({ + 'title' : "Server Incoming Requests by DNS Opcode", + 'target': 'chart_incoming_opcodes', + 'style': 'barchart', + 'data': [['Opcode','Counter'],<xsl:for-each select="server/counters[@type="opcode"]/counter[. > 0 or substring(@name,1,3) != 'RES']">['<xsl:value-of select="@name"/>',<xsl:value-of select="."/>],</xsl:for-each>]}); </script> </xsl:if> <style type="text/css"> @@ -83,15 +84,15 @@ color: #000000; font-size: 10pt; } - + .odd{ background-color: #f0f0f0; } - + .even{ background-color: #ffffff; } - + p.footer{ font-style:italic; color: grey; @@ -106,21 +107,101 @@ border: 1px solid grey; width: 500px; } - table.counters th { + text-align: right; + border: 1px solid grey; + width: 150px; + } + table.counters td { + text-align: right; + font-family: monospace; + } + table.counters tr:hover{ + background-color: #99ddff; + } + + table.info { + border: 1px solid grey; + width: 500px; + } + table.info th { text-align: center; border: 1px solid grey; - width: 120px; - } - table.counters td{ - text-align:center; - - } - - table.counters tr:hover{ + width: 150px; + } + table.info td { + text-align: center; + } + table.info tr:hover{ background-color: #99ddff; - } - + } + + table.tasks { + border: 1px solid grey; + width: 500px; + } + table.tasks th { + text-align: center; + border: 1px solid grey; + width: 150px; + } + table.tasks td { + text-align: right; + font-family: monospace; + } + table.tasks td:nth-child(2) { + text-align: center; + } + table.tasks td:nth-child(4) { + text-align: center; + } + table.tasks tr:hover{ + background-color: #99ddff; + } + + table.netstat { + border: 1px solid grey; + width: 500px; + } + table.netstat th { + text-align: center; + border: 1px solid grey; + width: 150px; + } + table.netstat td { + text-align: center; + } + table.netstat td:nth-child(4) { + text-align: right; + font-family: monospace; + } + table.netstat td:nth-child(7) { + text-align: left; + } + table.netstat tr:hover{ + background-color: #99ddff; + } + + table.mctx { + border: 1px solid grey; + width: 500px; + } + table.mctx th { + text-align: center; + border: 1px solid grey; + } + table.mctx td { + text-align: right; + font-family: monospace; + } + table.mctx td:nth-child(-n+2) { + text-align: left; + width: 100px; + } + table.mctx tr:hover{ + background-color: #99ddff; + } + .totals { background-color: rgb(1,169,206); color: #ffffff; @@ -160,20 +241,18 @@ width:500px; text-align:center; } - + h3 { color: #444444; font-size: 12pt; width:500px; text-align:center; - } h4 { color: rgb(1,169,206); font-size: 10pt; width:500px; text-align:center; - } .pie { @@ -190,7 +269,7 @@ </div> <hr/> <h2>Server Times</h2> - <table class="counters"> + <table class="info"> <tr> <th>Boot time:</th> <td> @@ -198,97 +277,142 @@ </td> </tr> <tr> - <th>Sample time:</th> + <th>Current time:</th> <td> <xsl:value-of select="server/current-time"/> </td> </tr> </table> <br/> - <h2>Incoming Requests</h2> - <xsl:if test="system-property('xsl:vendor')!='Transformiix'"> - <!-- Non Mozilla specific markup --> - <div class="pie" id="chart_incoming_requests">[no incoming requests]</div> - </xsl:if> - <table class="counters"> - <xsl:for-each select="server/counters[@type="opcode"]/counter"> - <xsl:sort select="." data-type="number" order="descending"/> + <xsl:if test="server/counters[@type="opcode"]/counter[. > 0]"> + <xsl:if test="system-property('xsl:vendor')!='Transformiix'"> + <h2>Incoming Requests by DNS Opcode</h2> + <!-- Non Mozilla specific markup --> + <div class="pie" id="chart_incoming_opcodes"> + [cannot display chart] + </div> + </xsl:if> + <table class="counters"> + <xsl:for-each select="server/counters[@type="opcode"]/counter[. > 0 or substring(@name,1,3) != 'RES']"> + <xsl:sort select="." data-type="number" order="descending"/> + <tr> + <th> + <xsl:value-of select="@name"/> + </th> + <td> + <xsl:value-of select="."/> + </td> + </tr> + </xsl:for-each> <tr> - <th> - <xsl:value-of select="@name"/> - </th> - <td> - <xsl:value-of select="."/> + <th class="totals">Total:</th> + <td class="totals"> + <xsl:value-of select="sum(server/counters[@type="opcode"]/counter)"/> </td> </tr> - </xsl:for-each> - <tr> - <th class="totals">Total:</th> - <td class="totals"> - <xsl:value-of select="sum(server/counters[@type="opcode"]/counter)"/> - </td> - </tr> - </table> - <br/> - <h3>Incoming Queries by Type</h3> - <xsl:if test="system-property('xsl:vendor')!='Transformiix'"> - <!-- Non Mozilla specific markup --> - <div class="pie" id="chart_incoming_qtypes">[no incoming queries]</div> + </table> + <br/> </xsl:if> - <table class="counters"> - <xsl:for-each select="server/counters[@type="qtype"]/counter"> - <xsl:sort select="." data-type="number" order="descending"/> - <xsl:variable name="css-class"> - <xsl:choose> - <xsl:when test="position() mod 2 = 0">even</xsl:when> - <xsl:otherwise>odd</xsl:otherwise> - </xsl:choose> - </xsl:variable> - <tr class="{$css-class}"> - <th> - <xsl:value-of select="@name"/> - </th> - <td> - <xsl:value-of select="."/> + <xsl:if test="server/counters[@type="qtype"]/counter"> + <xsl:if test="system-property('xsl:vendor')!='Transformiix'"> + <!-- Non Mozilla specific markup --> + <h3>Incoming Queries by Query Type</h3> + <div class="pie" id="chart_incoming_qtypes"> + [cannot display chart] + </div> + </xsl:if> + <table class="counters"> + <xsl:for-each select="server/counters[@type="qtype"]/counter"> + <xsl:sort select="." data-type="number" order="descending"/> + <xsl:variable name="css-class"> + <xsl:choose> + <xsl:when test="position() mod 2 = 0">even</xsl:when> + <xsl:otherwise>odd</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <tr class="{$css-class}"> + <th> + <xsl:value-of select="@name"/> + </th> + <td> + <xsl:value-of select="."/> + </td> + </tr> + </xsl:for-each> + <tr> + <th class="totals">Total:</th> + <td class="totals"> + <xsl:value-of select="sum(server/counters[@type="qtype"]/counter)"/> </td> </tr> + </table> + <br/> + </xsl:if> + <xsl:if test="views/view[count(counters[@type="resqtype"]/counter) > 0]"> + <h2>Outgoing Queries per view</h2> + <xsl:for-each select="views/view[count(counters[@type="resqtype"]/counter) > 0]"> + <h3>View <xsl:value-of select="@name"/></h3> + <xsl:if test="system-property('xsl:vendor')!='Transformiix'"> + <!-- Non Mozilla specific markup --> + <script type="text/javascript"> + graphs.push({ + 'title': "Outgoing Queries for view: <xsl:value-of select="@name"/>", + 'target': 'chart_outgoing_queries_view_<xsl:value-of select="@name"/>', + 'style': 'barchart', + 'data': [['Type','Counter'],<xsl:for-each select="counters[@type="resqtype"]/counter">['<xsl:value-of select="@name"/>',<xsl:value-of select="."/>],</xsl:for-each>] + }); + </script> + <xsl:variable name="target"> + <xsl:value-of select="@name"/> + </xsl:variable> + <div class="pie" id="chart_outgoing_queries_view_{$target}">[no data to display]</div> + </xsl:if> + <table class="counters"> + <xsl:for-each select="counters[@type="resqtype"]/counter"> + <xsl:sort select="." data-type="number" order="descending"/> + <xsl:variable name="css-class1"> + <xsl:choose> + <xsl:when test="position() mod 2 = 0">even</xsl:when> + <xsl:otherwise>odd</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <tr class="{$css-class1}"> + <th> + <xsl:value-of select="@name"/> + </th> + <td> + <xsl:value-of select="."/> + </td> + </tr> + </xsl:for-each> + </table> + <br/> </xsl:for-each> - <tr> - <th class="totals">Total:</th> - <td class="totals"> - <xsl:value-of select="sum(server/counters[@type="qtype"]/counter)"/> - </td> - </tr> - </table> - <br/> - <h2>Outgoing Queries per view</h2> - <xsl:for-each select="views/view[count(counters[@type="resqtype"]/counter) > 0]"> - <h3>View <xsl:value-of select="@name"/></h3> + </xsl:if> + <xsl:if test="server/counters[@type="nsstat"]/counter[.>0]"> + <h2>Server Statistics</h2> <xsl:if test="system-property('xsl:vendor')!='Transformiix'"> <!-- Non Mozilla specific markup --> <script type="text/javascript"> - graphs.push({ - 'title': "Outgoing queries for view: <xsl:value-of select="@name"/>", - 'target': 'chart_outgoing_queries_view_<xsl:value-of select="@name"/>', - 'data': [['Type','Counter'],<xsl:for-each select="counters[@type="resqtype"]/counter">['<xsl:value-of select="@name"/>',<xsl:value-of select="."/>],</xsl:for-each>] - }); - - </script> - <xsl:variable name="target"> - <xsl:value-of select="@name"/> - </xsl:variable> - <div class="pie" id="chart_outgoing_queries_view_{$target}"/> + graphs.push({ + 'title' : "Server Counters", + 'target': 'chart_server_nsstat_restype', + 'style': 'barchart', + 'data': [['Type','Counter'],<xsl:for-each select="server/counters[@type="nsstat"]/counter[.>0]">['<xsl:value-of select="@name"/>',<xsl:value-of select="."/>],</xsl:for-each>] + }); + </script> + <div class="pie" id="chart_server_nsstat_restype">[no data to display]</div> </xsl:if> <table class="counters"> - <xsl:for-each select="counters[@type="resqtype"]/counter"> + <xsl:for-each select="server/counters[@type="nsstat"]/counter[.>0]"> <xsl:sort select="." data-type="number" order="descending"/> - <xsl:variable name="css-class1"> + <xsl:variable name="css-class2"> <xsl:choose> <xsl:when test="position() mod 2 = 0">even</xsl:when> <xsl:otherwise>odd</xsl:otherwise> </xsl:choose> </xsl:variable> - <tr class="{$css-class1}"> + <tr class="{$css-class2}"> <th> <xsl:value-of select="@name"/> </th> @@ -299,104 +423,53 @@ </xsl:for-each> </table> <br/> - </xsl:for-each> - <h2>Server Statistics</h2> - <xsl:if test="system-property('xsl:vendor')!='Transformiix'"> - <!-- Non Mozilla specific markup --> - <script type="text/javascript"> - graphs.push({ - 'title' : "Server Counters", - 'target': 'chart_server_nsstat_restype', - 'data': [['Type','Counter'],<xsl:for-each select="server/counters[@type="nsstat"]/counter[.>0]">['<xsl:value-of select="@name"/>',<xsl:value-of select="."/>],</xsl:for-each>] - }); - - </script> - <div class="pie" id="chart_server_nsstat_restype"/> </xsl:if> - <table class="counters"> - <xsl:for-each select="server/counters[@type="nsstat"]/counter[.>0]"> - <xsl:sort select="." data-type="number" order="descending"/> - <xsl:variable name="css-class2"> - <xsl:choose> - <xsl:when test="position() mod 2 = 0">even</xsl:when> - <xsl:otherwise>odd</xsl:otherwise> - </xsl:choose> - </xsl:variable> - <tr class="{$css-class2}"> - <th> - <xsl:value-of select="@name"/> - </th> - <td> - <xsl:value-of select="."/> - </td> - </tr> - </xsl:for-each> - </table> - <br/> - <h2>Zone Maintenance Statistics</h2> - <xsl:if test="system-property('xsl:vendor')!='Transformiix'"> - <script type="text/javascript"> - graphs.push({ - 'title' : "Zone Maintenance Stats", - 'target': 'chart_server_zone_maint', - 'data': [['Type','Counter'],<xsl:for-each select="server/counters[@type="zonestat"]/counter">['<xsl:value-of select="@name"/>',<xsl:value-of select="."/>],</xsl:for-each>] - }); - - </script> - <!-- Non Mozilla specific markup --> - <div class="pie" id="chart_server_zone_maint"/> + <xsl:if test="server/counters[@type="zonestat"]/counter[.>0]"> + <xsl:if test="system-property('xsl:vendor')!='Transformiix'"> + <h2>Zone Maintenance Statistics</h2> + <script type="text/javascript"> + graphs.push({ + 'title' : "Zone Maintenance Stats", + 'target': 'chart_server_zone_maint', + 'style': 'barchart', + 'data': [['Type','Counter'],<xsl:for-each select="server/counters[@type="zonestat"]/counter[.>0]">['<xsl:value-of select="@name"/>',<xsl:value-of select="."/>],</xsl:for-each>] + }); + </script> + <!-- Non Mozilla specific markup --> + <div class="pie" id="chart_server_zone_maint">[no data to display]</div> + </xsl:if> + <table class="counters"> + <xsl:for-each select="server/counters[@type="zonestat"]/counter"> + <xsl:sort select="." data-type="number" order="descending"/> + <xsl:variable name="css-class3"> + <xsl:choose> + <xsl:when test="position() mod 2 = 0">even</xsl:when> + <xsl:otherwise>odd</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <tr class="{$css-class3}"> + <th> + <xsl:value-of select="@name"/> + </th> + <td> + <xsl:value-of select="."/> + </td> + </tr> + </xsl:for-each> + </table> </xsl:if> - <table class="counters"> - <xsl:for-each select="server/counters[@type="zonestat"]/counter"> - <xsl:sort select="." data-type="number" order="descending"/> - <xsl:variable name="css-class3"> - <xsl:choose> - <xsl:when test="position() mod 2 = 0">even</xsl:when> - <xsl:otherwise>odd</xsl:otherwise> - </xsl:choose> - </xsl:variable> - <tr class="{$css-class3}"> - <th> - <xsl:value-of select="@name"/> - </th> - <td> - <xsl:value-of select="."/> - </td> - </tr> - </xsl:for-each> - </table> - <h2>Resolver Statistics (Common)</h2> - <table class="counters"> - <xsl:for-each select="server/counters[@type="restat"]/counter"> - <xsl:sort select="." data-type="number" order="descending"/> - <xsl:variable name="css-class4"> - <xsl:choose> - <xsl:when test="position() mod 2 = 0">even</xsl:when> - <xsl:otherwise>odd</xsl:otherwise> - </xsl:choose> - </xsl:variable> - <tr class="{$css-class4}"> - <th> - <xsl:value-of select="@name"/> - </th> - <td> - <xsl:value-of select="."/> - </td> - </tr> - </xsl:for-each> - </table> - <xsl:for-each select="views/view"> - <h3>Resolver Statistics for View <xsl:value-of select="@name"/></h3> + <xsl:if test="server/counters[@type="resstat"]/counter[.>0]"> + <h2>Resolver Statistics (Common)</h2> <table class="counters"> - <xsl:for-each select="counters[@type="resstats"]/counter[.>0]"> + <xsl:for-each select="server/counters[@type="resstat"]/counter"> <xsl:sort select="." data-type="number" order="descending"/> - <xsl:variable name="css-class5"> + <xsl:variable name="css-class4"> <xsl:choose> <xsl:when test="position() mod 2 = 0">even</xsl:when> <xsl:otherwise>odd</xsl:otherwise> </xsl:choose> </xsl:variable> - <tr class="{$css-class5}"> + <tr class="{$css-class4}"> <th> <xsl:value-of select="@name"/> </th> @@ -406,330 +479,375 @@ </tr> </xsl:for-each> </table> + </xsl:if> + <xsl:for-each select="views/view"> + <xsl:if test="counters[@type="resstats"]/counter[.>0]"> + <h3>Resolver Statistics for View <xsl:value-of select="@name"/></h3> + <table class="counters"> + <xsl:for-each select="counters[@type="resstats"]/counter[.>0]"> + <xsl:sort select="." data-type="number" order="descending"/> + <xsl:variable name="css-class5"> + <xsl:choose> + <xsl:when test="position() mod 2 = 0">even</xsl:when> + <xsl:otherwise>odd</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <tr class="{$css-class5}"> + <th> + <xsl:value-of select="@name"/> + </th> + <td> + <xsl:value-of select="."/> + </td> + </tr> + </xsl:for-each> + </table> + </xsl:if> </xsl:for-each> - <h3>Cache DB RRsets for View <xsl:value-of select="@name"/></h3> + <xsl:for-each select="views/view"> + <xsl:if test="cache/rrset"> + <h3>Cache DB RRsets for View <xsl:value-of select="@name"/></h3> + <table class="counters"> + <xsl:for-each select="cache/rrset"> + <xsl:variable name="css-class6"> + <xsl:choose> + <xsl:when test="position() mod 2 = 0">even</xsl:when> + <xsl:otherwise>odd</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <tr class="{$css-class6}"> + <th> + <xsl:value-of select="name"/> + </th> + <td> + <xsl:value-of select="counter"/> + </td> + </tr> + </xsl:for-each> + </table> + <br/> + </xsl:if> + </xsl:for-each> + + <xsl:if test="server/counters[@type="sockstat"]/counter[.>0]"> + <h2>Socket I/O Statistics</h2> <table class="counters"> - <xsl:for-each select="cache/rrset"> - <xsl:variable name="css-class6"> + <xsl:for-each select="server/counters[@type="sockstat"]/counter[.>0]"> + <xsl:variable name="css-class7"> <xsl:choose> <xsl:when test="position() mod 2 = 0">even</xsl:when> <xsl:otherwise>odd</xsl:otherwise> </xsl:choose> </xsl:variable> - <tr class="{$css-class6}"> + <tr class="{$css-class7}"> <th> - <xsl:value-of select="name"/> + <xsl:value-of select="@name"/> </th> <td> - <xsl:value-of select="counter"/> + <xsl:value-of select="."/> </td> </tr> </xsl:for-each> </table> <br/> - </xsl:for-each> - <h2>Socket I/O Statistics</h2> - <table class="counters"> - <xsl:for-each select="server/counters[@type="sockstat"]/counter[.>0]"> - <xsl:variable name="css-class7"> - <xsl:choose> - <xsl:when test="position() mod 2 = 0">even</xsl:when> - <xsl:otherwise>odd</xsl:otherwise> - </xsl:choose> + </xsl:if> + <xsl:if test="views/view[zones/zone/counters[@type="rcode"]/counter >0]"> + <h2>Response Codes per view/zone</h2> + <xsl:for-each select="views/view[zones/zone/counters[@type="rcode"]/counter >0]"> + <h3>View <xsl:value-of select="@name"/></h3> + <xsl:variable name="thisview"> + <xsl:value-of select="@name"/> </xsl:variable> - <tr class="{$css-class7}"> - <th> - <xsl:value-of select="@name"/> - </th> - <td> - <xsl:value-of select="."/> - </td> - </tr> - </xsl:for-each> - </table> - <br/> - <br/> - <h2>Response Codes per view/zone</h2> - <xsl:for-each select="views/view[zones/zone/counters[@type="rcode"]/counter >0]"> - <h3>View <xsl:value-of select="@name"/></h3> - <xsl:variable name="thisview"> - <xsl:value-of select="@name"/> - </xsl:variable> - <xsl:for-each select="zones/zone"> - <xsl:if test="counters[@type="rcode"]/counter[. > 0]"> - <h4>Zone <xsl:value-of select="@name"/></h4> - <xsl:if test="system-property('xsl:vendor')!='Transformiix'"> - <!-- Non Mozilla specific markup --> - <script type="text/javascript"> - graphs.push({ - 'title': "Response Codes for zone <xsl:value-of select="@name"/>", - 'target': 'chart_rescode_<xsl:value-of select="../../@name"/>_<xsl:value-of select="@name"/>', - 'data': [['Type','Counter'],<xsl:for-each select="counters[@type="rcode"]/counter[.>0 and @name != "QryAuthAns"]">['<xsl:value-of select="@name"/>',<xsl:value-of select="."/>],</xsl:for-each>] - }); - - </script> - <xsl:variable name="target"> - <xsl:value-of select="@name"/> - </xsl:variable> - <div class="pie" id="chart_rescode_{$thisview}_{$target}"/> + <xsl:for-each select="zones/zone"> + <xsl:if test="counters[@type="rcode"]/counter[. > 0]"> + <h4>Zone <xsl:value-of select="@name"/></h4> + <xsl:if test="system-property('xsl:vendor')!='Transformiix'"> + <!-- Non Mozilla specific markup --> + <script type="text/javascript"> + graphs.push({ + 'title': "Response Codes for zone <xsl:value-of select="@name"/>", + 'target': 'chart_rescode_<xsl:value-of select="../../@name"/>_<xsl:value-of select="@name"/>', + 'style': 'barchart', + 'data': [['Type','Counter'],<xsl:for-each select="counters[@type="rcode"]/counter[.>0 and @name != "QryAuthAns"]">['<xsl:value-of select="@name"/>',<xsl:value-of select="."/>],</xsl:for-each>] + }); + + </script> + <xsl:variable name="target"> + <xsl:value-of select="@name"/> + </xsl:variable> + <div class="pie" id="chart_rescode_{$thisview}_{$target}">[no data to display]</div> + </xsl:if> + <table class="counters"> + <xsl:for-each select="counters[@type="rcode"]/counter[.>0 and @name != "QryAuthAns"]"> + <xsl:sort select="."/> + <xsl:variable name="css-class10"> + <xsl:choose> + <xsl:when test="position() mod 2 = 0">even</xsl:when> + <xsl:otherwise>odd</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <tr class="{$css-class10}"> + <th> + <xsl:value-of select="@name"/> + </th> + <td> + <xsl:value-of select="."/> + </td> + </tr> + </xsl:for-each> + </table> </xsl:if> - <table class="counters"> - <xsl:for-each select="counters[@type="rcode"]/counter[.>0 and @name != "QryAuthAns"]"> - <xsl:sort select="."/> - <xsl:variable name="css-class10"> - <xsl:choose> - <xsl:when test="position() mod 2 = 0">even</xsl:when> - <xsl:otherwise>odd</xsl:otherwise> - </xsl:choose> - </xsl:variable> - <tr class="{$css-class10}"> - <th> - <xsl:value-of select="@name"/> - </th> - <td> - <xsl:value-of select="."/> - </td> - </tr> - </xsl:for-each> - </table> - </xsl:if> + </xsl:for-each> </xsl:for-each> - </xsl:for-each> - <h2>Received QTYPES per view/zone</h2> - <xsl:for-each select="views/view[zones/zone/counters[@type="qtype"]/counter >0]"> - <h3>View <xsl:value-of select="@name"/></h3> - <xsl:variable name="thisview2"> - <xsl:value-of select="@name"/> - </xsl:variable> - <xsl:for-each select="zones/zone"> - <xsl:if test="counters[@type="qtype"]/counter[count(.) > 0]"> - <h4>Zone <xsl:value-of select="@name"/></h4> - <xsl:if test="system-property('xsl:vendor')!='Transformiix'"> - <!-- Non Mozilla specific markup --> - <script type="text/javascript"> - graphs.push({ - 'title': "Query Types for zone <xsl:value-of select="@name"/>", - 'target': 'chart_qtype_<xsl:value-of select="../../@name"/>_<xsl:value-of select="@name"/>', - 'data': [['Type','Counter'],<xsl:for-each select="counters[@type="qtype"]/counter[.>0 and @name != "QryAuthAns"]">['<xsl:value-of select="@name"/>',<xsl:value-of select="."/>],</xsl:for-each>] - }); - - </script> - <xsl:variable name="target"> - <xsl:value-of select="@name"/> - </xsl:variable> - <div class="pie" id="chart_qtype_{$thisview2}_{$target}"/> + </xsl:if> + <xsl:if test="views/view[zones/zone/counters[@type="qtype"]/counter >0]"> + <h2>Received QTYPES per view/zone</h2> + <xsl:for-each select="views/view[zones/zone/counters[@type="qtype"]/counter >0]"> + <h3>View <xsl:value-of select="@name"/></h3> + <xsl:variable name="thisview2"> + <xsl:value-of select="@name"/> + </xsl:variable> + <xsl:for-each select="zones/zone"> + <xsl:if test="counters[@type="qtype"]/counter[count(.) > 0]"> + <h4>Zone <xsl:value-of select="@name"/></h4> + <xsl:if test="system-property('xsl:vendor')!='Transformiix'"> + <!-- Non Mozilla specific markup --> + <script type="text/javascript"> + graphs.push({ + 'title': "Query Types for zone <xsl:value-of select="@name"/>", + 'target': 'chart_qtype_<xsl:value-of select="../../@name"/>_<xsl:value-of select="@name"/>', + 'style': 'barchart', + 'data': [['Type','Counter'],<xsl:for-each select="counters[@type="qtype"]/counter[.>0 and @name != "QryAuthAns"]">['<xsl:value-of select="@name"/>',<xsl:value-of select="."/>],</xsl:for-each>] + }); + + </script> + <xsl:variable name="target"> + <xsl:value-of select="@name"/> + </xsl:variable> + <div class="pie" id="chart_qtype_{$thisview2}_{$target}">[no data to display]</div> + </xsl:if> + <table class="counters"> + <xsl:for-each select="counters[@type="qtype"]/counter"> + <xsl:sort select="."/> + <xsl:variable name="css-class11"> + <xsl:choose> + <xsl:when test="position() mod 2 = 0">even</xsl:when> + <xsl:otherwise>odd</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <tr class="{$css-class11}"> + <th> + <xsl:value-of select="@name"/> + </th> + <td> + <xsl:value-of select="."/> + </td> + </tr> + </xsl:for-each> + </table> </xsl:if> - <table class="counters"> - <xsl:for-each select="counters[@type="qtype"]/counter"> - <xsl:sort select="."/> - <xsl:variable name="css-class11"> - <xsl:choose> - <xsl:when test="position() mod 2 = 0">even</xsl:when> - <xsl:otherwise>odd</xsl:otherwise> - </xsl:choose> - </xsl:variable> - <tr class="{$css-class11}"> - <th> - <xsl:value-of select="@name"/> - </th> - <td> - <xsl:value-of select="."/> - </td> - </tr> - </xsl:for-each> - </table> - </xsl:if> + </xsl:for-each> </xsl:for-each> - </xsl:for-each> - <h2>Network Status</h2> - <table class="counters"> - <tr> - <th>ID</th> - <th>Name</th> - <th>Type</th> - <th>References</th> - <th>LocalAddress</th> - <th>PeerAddress</th> - <th>State</th> - </tr> - <xsl:for-each select="socketmgr/sockets/socket"> - <xsl:sort select="id"/> - <xsl:variable name="css-class12"> - <xsl:choose> - <xsl:when test="position() mod 2 = 0">even</xsl:when> - <xsl:otherwise>odd</xsl:otherwise> - </xsl:choose> - </xsl:variable> - <tr class="{$css-class12}"> - <td> - <xsl:value-of select="id"/> - </td> - <td> - <xsl:value-of select="name"/> - </td> - <td> - <xsl:value-of select="type"/> - </td> - <td> - <xsl:value-of select="references"/> - </td> - <td> - <xsl:value-of select="local-address"/> - </td> - <td> - <xsl:value-of select="peer-address"/> - </td> - <td> - <xsl:for-each select="states"> - <xsl:value-of select="."/> - </xsl:for-each> - </td> + </xsl:if> + <xsl:if test="socketmgr/sockets/socket"> + <h2>Network Status</h2> + <table class="netstat"> + <tr> + <th>ID</th> + <th>Name</th> + <th>Type</th> + <th>References</th> + <th>LocalAddress</th> + <th>PeerAddress</th> + <th>State</th> </tr> - </xsl:for-each> - </table> - <br/> - <h2>Task Manager Configuration</h2> - <table class="counters"> - <tr> - <th class="even">Thread-Model</th> - <td> - <xsl:value-of select="taskmgr/thread-model/type"/> - </td> - </tr> - <tr class="odd"> - <th>Worker Threads</th> - <td> - <xsl:value-of select="taskmgr/thread-model/worker-threads"/> - </td> - </tr> - <tr class="even"> - <th>Default Quantum</th> - <td> - <xsl:value-of select="taskmgr/thread-model/default-quantum"/> - </td> - </tr> - <tr class="odd"> - <th>Tasks Running</th> - <td> - <xsl:value-of select="taskmgr/thread-model/tasks-running"/> - </td> - </tr> - </table> - <br/> - <h2>Tasks</h2> - <table class="counters"> - <tr> - <th>ID</th> - <th>Name</th> - <th>References</th> - <th>State</th> - <th>Quantum</th> - </tr> - <xsl:for-each select="taskmgr/tasks/task"> - <xsl:sort select="name"/> - <xsl:variable name="css-class14"> - <xsl:choose> - <xsl:when test="position() mod 2 = 0">even</xsl:when> - <xsl:otherwise>odd</xsl:otherwise> - </xsl:choose> - </xsl:variable> - <tr class="{$css-class14}"> - <td> - <xsl:value-of select="id"/> - </td> - <td> - <xsl:value-of select="name"/> - </td> - <td> - <xsl:value-of select="references"/> - </td> - <td> - <xsl:value-of select="state"/> - </td> + <xsl:for-each select="socketmgr/sockets/socket"> + <xsl:sort select="id"/> + <xsl:variable name="css-class12"> + <xsl:choose> + <xsl:when test="position() mod 2 = 0">even</xsl:when> + <xsl:otherwise>odd</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <tr class="{$css-class12}"> + <td> + <xsl:value-of select="id"/> + </td> + <td> + <xsl:value-of select="name"/> + </td> + <td> + <xsl:value-of select="type"/> + </td> + <td> + <xsl:value-of select="references"/> + </td> + <td> + <xsl:value-of select="local-address"/> + </td> + <td> + <xsl:value-of select="peer-address"/> + </td> + <td> + <xsl:for-each select="states"> + <xsl:value-of select="."/> + </xsl:for-each> + </td> + </tr> + </xsl:for-each> + </table> + <br/> + </xsl:if> + <xsl:if test="taskmgr/thread-model/type"> + <h2>Task Manager Configuration</h2> + <table class="counters"> + <tr> + <th class="even">Thread-Model</th> <td> - <xsl:value-of select="quantum"/> + <xsl:value-of select="taskmgr/thread-model/type"/> </td> </tr> - </xsl:for-each> - </table> - <br/> - <h2>Memory Usage Summary</h2> - <table class="counters"> - <xsl:for-each select="memory/summary/*"> - <xsl:variable name="css-class13"> - <xsl:choose> - <xsl:when test="position() mod 2 = 0">even</xsl:when> - <xsl:otherwise>odd</xsl:otherwise> - </xsl:choose> - </xsl:variable> - <tr class="{$css-class13}"> - <th> - <xsl:value-of select="name()"/> - </th> + <tr class="odd"> + <th>Worker Threads</th> <td> - <xsl:value-of select="."/> + <xsl:value-of select="taskmgr/thread-model/worker-threads"/> </td> </tr> - </xsl:for-each> - </table> - <br/> - <h2>Memory Contexts</h2> - <table class="counters"> - <tr> - <th>ID</th> - <th>Name</th> - <th>References</th> - <th>TotalUse</th> - <th>InUse</th> - <th>MaxUse</th> - <th>BlockSize</th> - <th>Pools</th> - <th>HiWater</th> - <th>LoWater</th> - </tr> - <xsl:for-each select="memory/contexts/context"> - <xsl:sort select="total" data-type="number" order="descending"/> - <xsl:variable name="css-class14"> - <xsl:choose> - <xsl:when test="position() mod 2 = 0">even</xsl:when> - <xsl:otherwise>odd</xsl:otherwise> - </xsl:choose> - </xsl:variable> - <tr class="{$css-class14}"> - <td> - <xsl:value-of select="id"/> - </td> - <td> - <xsl:value-of select="name"/> - </td> - <td> - <xsl:value-of select="references"/> - </td> - <td> - <xsl:value-of select="total"/> - </td> - <td> - <xsl:value-of select="inuse"/> - </td> - <td> - <xsl:value-of select="maxinuse"/> - </td> - <td> - <xsl:value-of select="blocksize"/> - </td> - <td> - <xsl:value-of select="pools"/> - </td> + <tr class="even"> + <th>Default Quantum</th> <td> - <xsl:value-of select="hiwater"/> + <xsl:value-of select="taskmgr/thread-model/default-quantum"/> </td> + </tr> + <tr class="odd"> + <th>Tasks Running</th> <td> - <xsl:value-of select="lowater"/> + <xsl:value-of select="taskmgr/thread-model/tasks-running"/> </td> </tr> - </xsl:for-each> - </table> + </table> + <br/> + </xsl:if> + <xsl:if test="taskmgr/tasks/task"> + <h2>Tasks</h2> + <table class="tasks"> + <tr> + <th>ID</th> + <th>Name</th> + <th>References</th> + <th>State</th> + <th>Quantum</th> + </tr> + <xsl:for-each select="taskmgr/tasks/task"> + <xsl:sort select="name"/> + <xsl:variable name="css-class14"> + <xsl:choose> + <xsl:when test="position() mod 2 = 0">even</xsl:when> + <xsl:otherwise>odd</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <tr class="{$css-class14}"> + <td> + <xsl:value-of select="id"/> + </td> + <td> + <xsl:value-of select="name"/> + </td> + <td> + <xsl:value-of select="references"/> + </td> + <td> + <xsl:value-of select="state"/> + </td> + <td> + <xsl:value-of select="quantum"/> + </td> + </tr> + </xsl:for-each> + </table> + <br/> + </xsl:if> + <xsl:if test="memory/summary"> + <h2>Memory Usage Summary</h2> + <table class="counters"> + <xsl:for-each select="memory/summary/*"> + <xsl:variable name="css-class13"> + <xsl:choose> + <xsl:when test="position() mod 2 = 0">even</xsl:when> + <xsl:otherwise>odd</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <tr class="{$css-class13}"> + <th> + <xsl:value-of select="name()"/> + </th> + <td> + <xsl:value-of select="."/> + </td> + </tr> + </xsl:for-each> + </table> + <br/> + </xsl:if> + <xsl:if test="memory/contexts/context"> + <h2>Memory Contexts</h2> + <table class="mctx"> + <tr> + <th>ID</th> + <th>Name</th> + <th>References</th> + <th>TotalUse</th> + <th>InUse</th> + <th>MaxUse</th> + <th>BlockSize</th> + <th>Pools</th> + <th>HiWater</th> + <th>LoWater</th> + </tr> + <xsl:for-each select="memory/contexts/context"> + <xsl:sort select="total" data-type="number" order="descending"/> + <xsl:variable name="css-class14"> + <xsl:choose> + <xsl:when test="position() mod 2 = 0">even</xsl:when> + <xsl:otherwise>odd</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <tr class="{$css-class14}"> + <td> + <xsl:value-of select="id"/> + </td> + <td> + <xsl:value-of select="name"/> + </td> + <td> + <xsl:value-of select="references"/> + </td> + <td> + <xsl:value-of select="total"/> + </td> + <td> + <xsl:value-of select="inuse"/> + </td> + <td> + <xsl:value-of select="maxinuse"/> + </td> + <td> + <xsl:value-of select="blocksize"/> + </td> + <td> + <xsl:value-of select="pools"/> + </td> + <td> + <xsl:value-of select="hiwater"/> + </td> + <td> + <xsl:value-of select="lowater"/> + </td> + </tr> + </xsl:for-each> + </table> + </xsl:if> <hr/> <p class="footer">Internet Systems Consortium Inc.<br/><a href="http://www.isc.org">http://www.isc.org</a></p> </body> diff --git a/bin/named/bind9.ver3.xsl.h b/bin/named/bind9.ver3.xsl.h index c55714a6..371e69c7 100644 --- a/bin/named/bind9.ver3.xsl.h +++ b/bin/named/bind9.ver3.xsl.h @@ -5,7 +5,7 @@ static char xslmsg[] = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" "<!--\n" - " - Copyright (C) 2006-2009 Internet Systems Consortium, Inc. (\"ISC\")\n" + " - Copyright (C) 2012-2014 Internet Systems Consortium, Inc. (\"ISC\")\n" " -\n" " - Permission to use, copy, modify, and/or distribute this software for any\n" " - purpose with or without fee is hereby granted, provided that the above\n" @@ -19,63 +19,67 @@ static char xslmsg[] = " - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\n" " - PERFORMANCE OF THIS SOFTWARE.\n" "-->\n" + "\n" + "<!-- $Id$ -->\n" + "\n" "<!-- \045Id: bind9.xsl,v 1.21 2009/01/27 23:47:54 tbox Exp \045 -->\n" "<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" xmlns=\"http://www.w3.org/1999/xhtml\" version=\"1.0\">\n" " <xsl:output method=\"html\" indent=\"yes\" version=\"4.0\"/>\n" - " <xsl:template match=\"statistics[@version="3.0"]\">\n" + " <xsl:template match=\"statistics[@version="3.3"]\">\n" " <html>\n" " <head>\n" " <xsl:if test=\"system-property('xsl:vendor')!='Transformiix'\">\n" " <!-- Non Mozilla specific markup -->\n" " <script type=\"text/javascript\" src=\"https://www.google.com/jsapi\"/>\n" " <script type=\"text/javascript\">\n" - " \n" + "\n" " google.load(\"visualization\", \"1\", {packages:[\"corechart\"]});\n" " google.setOnLoadCallback(loadGraphs);\n" "\n" " var graphs=[];\n" - " \n" - " function drawChart(chart_title,target,data) {\n" + "\n" + " function drawChart(chart_title,target,style,data) {\n" " var data = google.visualization.arrayToDataTable(data);\n" "\n" " var options = {\n" " title: chart_title\n" " };\n" - " \n" - " var chart = new google.visualization.BarChart(document.getElementById(target));\n" + "\n" + " var chart;\n" + " if (style == \"barchart\") {\n" + " chart = new google.visualization.BarChart(document.getElementById(target));\n" + " chart.draw(data, options);\n" + " } else if (style == \"piechart\") {\n" + " chart = new google.visualization.PieChart(document.getElementById(target));\n" " chart.draw(data, options);\n" " }\n" - " \n" + " }\n" + "\n" " function loadGraphs(){\n" - " //alert(\"here we are!\");\n" " var g;\n" - " \n" - " // Server Incoming query Types\n" + "\n" " while(g = graphs.shift()){\n" " // alert(\"going for: \" + g.target);\n" " if(g.data.length > 1){\n" - " drawChart(g.title,g.target,g.data);\n" + " drawChart(g.title,g.target,g.style,g.data);\n" " }\n" " }\n" " }\n" - " \n" - " // Server Incoming Queries Types \n" + "\n" + " // Server Incoming Query Types \n" " graphs.push({\n" " 'title' : \"Server Incoming Query Types\",\n" " 'target': 'chart_incoming_qtypes',\n" + " 'style': 'barchart',\n" " 'data': [['Type','Counter'],<xsl:for-each select=\"server/counters[@type="qtype"]/counter\">['<xsl:value-of select=\"@name\"/>',<xsl:value-of select=\".\"/>],</xsl:for-each>]\n" " });\n" "\n" - "\n" - " // Server Incoming Requests \n" + " // Server Incoming Requests by opcode\n" " graphs.push({\n" - " 'title' : \"Server Incoming Requests\",\n" - " 'target': 'chart_incoming_requests',\n" - " 'data': [['Requests','Counter'],<xsl:for-each select=\"server/counters[@type="opcode"]/counter\">['<xsl:value-of select=\"@name\"/>',<xsl:value-of select=\".\"/>],</xsl:for-each>]});\n" - " \n" - " \n" - " \n" - " \n" + " 'title' : \"Server Incoming Requests by DNS Opcode\",\n" + " 'target': 'chart_incoming_opcodes',\n" + " 'style': 'barchart',\n" + " 'data': [['Opcode','Counter'],<xsl:for-each select=\"server/counters[@type="opcode"]/counter[. > 0 or substring(@name,1,3) != 'RES']\">['<xsl:value-of select=\"@name\"/>',<xsl:value-of select=\".\"/>],</xsl:for-each>]});\n" " </script>\n" " </xsl:if>\n" " <style type=\"text/css\">\n" @@ -85,15 +89,15 @@ static char xslmsg[] = " color: #000000;\n" " font-size: 10pt;\n" " }\n" - " \n" + "\n" " .odd{\n" " background-color: #f0f0f0;\n" " }\n" - " \n" + "\n" " .even{\n" " background-color: #ffffff;\n" " }\n" - " \n" + "\n" " p.footer{\n" " font-style:italic;\n" " color: grey;\n" @@ -108,21 +112,101 @@ static char xslmsg[] = " border: 1px solid grey;\n" " width: 500px;\n" " }\n" - " \n" " table.counters th {\n" - " text-align: center;\n" + " text-align: right;\n" " border: 1px solid grey;\n" - " width: 120px;\n" + " width: 150px;\n" " }\n" - " table.counters td{\n" - " text-align:center;\n" - " \n" + " table.counters td {\n" + " text-align: right;\n" + " font-family: monospace;\n" " }\n" - " \n" " table.counters tr:hover{\n" " background-color: #99ddff;\n" " }\n" - " \n" + "\n" + " table.info {\n" + " border: 1px solid grey;\n" + " width: 500px;\n" + " }\n" + " table.info th {\n" + " text-align: center;\n" + " border: 1px solid grey;\n" + " width: 150px;\n" + " }\n" + " table.info td {\n" + " text-align: center;\n" + " }\n" + " table.info tr:hover{\n" + " background-color: #99ddff;\n" + " }\n" + "\n" + " table.tasks {\n" + " border: 1px solid grey;\n" + " width: 500px;\n" + " }\n" + " table.tasks th {\n" + " text-align: center;\n" + " border: 1px solid grey;\n" + " width: 150px;\n" + " }\n" + " table.tasks td {\n" + " text-align: right;\n" + " font-family: monospace;\n" + " }\n" + " table.tasks td:nth-child(2) {\n" + " text-align: center;\n" + " }\n" + " table.tasks td:nth-child(4) {\n" + " text-align: center;\n" + " }\n" + " table.tasks tr:hover{\n" + " background-color: #99ddff;\n" + " }\n" + "\n" + " table.netstat {\n" + " border: 1px solid grey;\n" + " width: 500px;\n" + " }\n" + " table.netstat th {\n" + " text-align: center;\n" + " border: 1px solid grey;\n" + " width: 150px;\n" + " }\n" + " table.netstat td {\n" + " text-align: center;\n" + " }\n" + " table.netstat td:nth-child(4) {\n" + " text-align: right;\n" + " font-family: monospace;\n" + " }\n" + " table.netstat td:nth-child(7) {\n" + " text-align: left;\n" + " }\n" + " table.netstat tr:hover{\n" + " background-color: #99ddff;\n" + " }\n" + "\n" + " table.mctx {\n" + " border: 1px solid grey;\n" + " width: 500px;\n" + " }\n" + " table.mctx th {\n" + " text-align: center;\n" + " border: 1px solid grey;\n" + " }\n" + " table.mctx td {\n" + " text-align: right;\n" + " font-family: monospace;\n" + " }\n" + " table.mctx td:nth-child(-n+2) {\n" + " text-align: left;\n" + " width: 100px;\n" + " }\n" + " table.mctx tr:hover{\n" + " background-color: #99ddff;\n" + " }\n" + "\n" " .totals {\n" " background-color: rgb(1,169,206);\n" " color: #ffffff;\n" @@ -162,20 +246,18 @@ static char xslmsg[] = " width:500px;\n" " text-align:center;\n" " }\n" - " \n" + "\n" " h3 {\n" " color: #444444;\n" " font-size: 12pt;\n" " width:500px;\n" " text-align:center;\n" - " \n" " }\n" " h4 {\n" " color: rgb(1,169,206);\n" " font-size: 10pt;\n" " width:500px;\n" " text-align:center;\n" - " \n" " }\n" "\n" " .pie {\n" @@ -192,7 +274,7 @@ static char xslmsg[] = " </div>\n" " <hr/>\n" " <h2>Server Times</h2>\n" - " <table class=\"counters\">\n" + " <table class=\"info\">\n" " <tr>\n" " <th>Boot time:</th>\n" " <td>\n" @@ -200,20 +282,23 @@ static char xslmsg[] = " </td>\n" " </tr>\n" " <tr>\n" - " <th>Sample time:</th>\n" + " <th>Current time:</th>\n" " <td>\n" " <xsl:value-of select=\"server/current-time\"/>\n" " </td>\n" " </tr>\n" " </table>\n" " <br/>\n" - " <h2>Incoming Requests</h2>\n" + " <xsl:if test=\"server/counters[@type="opcode"]/counter[. > 0]\">\n" " <xsl:if test=\"system-property('xsl:vendor')!='Transformiix'\">\n" + " <h2>Incoming Requests by DNS Opcode</h2>\n" " <!-- Non Mozilla specific markup -->\n" - " <div class=\"pie\" id=\"chart_incoming_requests\">[graph incoming requests]</div>\n" + " <div class=\"pie\" id=\"chart_incoming_opcodes\">\n" + " [cannot display chart]\n" + " </div>\n" " </xsl:if>\n" " <table class=\"counters\">\n" - " <xsl:for-each select=\"server/counters[@type="opcode"]/counter\">\n" + " <xsl:for-each select=\"server/counters[@type="opcode"]/counter[. > 0 or substring(@name,1,3) != 'RES']\">\n" " <xsl:sort select=\".\" data-type=\"number\" order=\"descending\"/>\n" " <tr>\n" " <th>\n" @@ -232,10 +317,14 @@ static char xslmsg[] = " </tr>\n" " </table>\n" " <br/>\n" - " <h3>Incoming Queries by Type</h3>\n" + " </xsl:if>\n" + " <xsl:if test=\"server/counters[@type="qtype"]/counter\">\n" " <xsl:if test=\"system-property('xsl:vendor')!='Transformiix'\">\n" " <!-- Non Mozilla specific markup -->\n" - " <div class=\"pie\" id=\"chart_incoming_qtypes\">[graph incoming qtypes]</div>\n" + " <h3>Incoming Queries by Query Type</h3>\n" + " <div class=\"pie\" id=\"chart_incoming_qtypes\">\n" + " [cannot display chart]\n" + " </div>\n" " </xsl:if>\n" " <table class=\"counters\">\n" " <xsl:for-each select=\"server/counters[@type="qtype"]/counter\">\n" @@ -263,6 +352,8 @@ static char xslmsg[] = " </tr>\n" " </table>\n" " <br/>\n" + " </xsl:if>\n" + " <xsl:if test=\"views/view[count(counters[@type="resqtype"]/counter) > 0]\">\n" " <h2>Outgoing Queries per view</h2>\n" " <xsl:for-each select=\"views/view[count(counters[@type="resqtype"]/counter) > 0]\">\n" " <h3>View <xsl:value-of select=\"@name\"/></h3>\n" @@ -270,16 +361,16 @@ static char xslmsg[] = " <!-- Non Mozilla specific markup -->\n" " <script type=\"text/javascript\">\n" " graphs.push({\n" - " 'title': \"Outgoing queries for view: <xsl:value-of select=\"@name\"/>\",\n" + " 'title': \"Outgoing Queries for view: <xsl:value-of select=\"@name\"/>\",\n" " 'target': 'chart_outgoing_queries_view_<xsl:value-of select=\"@name\"/>',\n" + " 'style': 'barchart',\n" " 'data': [['Type','Counter'],<xsl:for-each select=\"counters[@type="resqtype"]/counter\">['<xsl:value-of select=\"@name\"/>',<xsl:value-of select=\".\"/>],</xsl:for-each>]\n" " });\n" - " \n" " </script>\n" " <xsl:variable name=\"target\">\n" " <xsl:value-of select=\"@name\"/>\n" " </xsl:variable>\n" - " <div class=\"pie\" id=\"chart_outgoing_queries_view_{$target}\"/>\n" + " <div class=\"pie\" id=\"chart_outgoing_queries_view_{$target}\">[no data to display]</div>\n" " </xsl:if>\n" " <table class=\"counters\">\n" " <xsl:for-each select=\"counters[@type="resqtype"]/counter\">\n" @@ -302,18 +393,20 @@ static char xslmsg[] = " </table>\n" " <br/>\n" " </xsl:for-each>\n" + " </xsl:if>\n" + " <xsl:if test=\"server/counters[@type="nsstat"]/counter[.>0]\">\n" " <h2>Server Statistics</h2>\n" " <xsl:if test=\"system-property('xsl:vendor')!='Transformiix'\">\n" " <!-- Non Mozilla specific markup -->\n" " <script type=\"text/javascript\">\n" " graphs.push({\n" - " 'title' : \"Server Response Types\",\n" + " 'title' : \"Server Counters\",\n" " 'target': 'chart_server_nsstat_restype',\n" + " 'style': 'barchart',\n" " 'data': [['Type','Counter'],<xsl:for-each select=\"server/counters[@type="nsstat"]/counter[.>0]\">['<xsl:value-of select=\"@name\"/>',<xsl:value-of select=\".\"/>],</xsl:for-each>]\n" " });\n" - " \n" " </script>\n" - " <div class=\"pie\" id=\"chart_server_nsstat_restype\"/>\n" + " <div class=\"pie\" id=\"chart_server_nsstat_restype\">[no data to display]</div>\n" " </xsl:if>\n" " <table class=\"counters\">\n" " <xsl:for-each select=\"server/counters[@type="nsstat"]/counter[.>0]\">\n" @@ -335,18 +428,20 @@ static char xslmsg[] = " </xsl:for-each>\n" " </table>\n" " <br/>\n" - " <h2>Zone Maintenance Statistics</h2>\n" + " </xsl:if>\n" + " <xsl:if test=\"server/counters[@type="zonestat"]/counter[.>0]\">\n" " <xsl:if test=\"system-property('xsl:vendor')!='Transformiix'\">\n" + " <h2>Zone Maintenance Statistics</h2>\n" " <script type=\"text/javascript\">\n" " graphs.push({\n" " 'title' : \"Zone Maintenance Stats\",\n" " 'target': 'chart_server_zone_maint',\n" - " 'data': [['Type','Counter'],<xsl:for-each select=\"server/counters[@type="zonestat"]/counter\">['<xsl:value-of select=\"@name\"/>',<xsl:value-of select=\".\"/>],</xsl:for-each>]\n" + " 'style': 'barchart',\n" + " 'data': [['Type','Counter'],<xsl:for-each select=\"server/counters[@type="zonestat"]/counter[.>0]\">['<xsl:value-of select=\"@name\"/>',<xsl:value-of select=\".\"/>],</xsl:for-each>]\n" " });\n" - "\n" " </script>\n" " <!-- Non Mozilla specific markup -->\n" - " <div class=\"pie\" id=\"chart_server_zone_maint\"/>\n" + " <div class=\"pie\" id=\"chart_server_zone_maint\">[no data to display]</div>\n" " </xsl:if>\n" " <table class=\"counters\">\n" " <xsl:for-each select=\"server/counters[@type="zonestat"]/counter\">\n" @@ -367,9 +462,11 @@ static char xslmsg[] = " </tr>\n" " </xsl:for-each>\n" " </table>\n" + " </xsl:if>\n" + " <xsl:if test=\"server/counters[@type="resstat"]/counter[.>0]\">\n" " <h2>Resolver Statistics (Common)</h2>\n" " <table class=\"counters\">\n" - " <xsl:for-each select=\"server/counters[@type="restat"]/counter\">\n" + " <xsl:for-each select=\"server/counters[@type="resstat"]/counter\">\n" " <xsl:sort select=\".\" data-type=\"number\" order=\"descending\"/>\n" " <xsl:variable name=\"css-class4\">\n" " <xsl:choose>\n" @@ -387,7 +484,9 @@ static char xslmsg[] = " </tr>\n" " </xsl:for-each>\n" " </table>\n" + " </xsl:if>\n" " <xsl:for-each select=\"views/view\">\n" + " <xsl:if test=\"counters[@type="resstats"]/counter[.>0]\">\n" " <h3>Resolver Statistics for View <xsl:value-of select=\"@name\"/></h3>\n" " <table class=\"counters\">\n" " <xsl:for-each select=\"counters[@type="resstats"]/counter[.>0]\">\n" @@ -408,9 +507,12 @@ static char xslmsg[] = " </tr>\n" " </xsl:for-each>\n" " </table>\n" + " </xsl:if>\n" " </xsl:for-each>\n" - " <h3>Cache DB RRsets for View <xsl:value-of select=\"@name\"/></h3>\n" + "\n" " <xsl:for-each select=\"views/view\">\n" + " <xsl:if test=\"cache/rrset\">\n" + " <h3>Cache DB RRsets for View <xsl:value-of select=\"@name\"/></h3>\n" " <table class=\"counters\">\n" " <xsl:for-each select=\"cache/rrset\">\n" " <xsl:variable name=\"css-class6\">\n" @@ -430,7 +532,10 @@ static char xslmsg[] = " </xsl:for-each>\n" " </table>\n" " <br/>\n" + " </xsl:if>\n" " </xsl:for-each>\n" + "\n" + " <xsl:if test=\"server/counters[@type="sockstat"]/counter[.>0]\">\n" " <h2>Socket I/O Statistics</h2>\n" " <table class=\"counters\">\n" " <xsl:for-each select=\"server/counters[@type="sockstat"]/counter[.>0]\">\n" @@ -451,7 +556,8 @@ static char xslmsg[] = " </xsl:for-each>\n" " </table>\n" " <br/>\n" - " <br/>\n" + " </xsl:if>\n" + " <xsl:if test=\"views/view[zones/zone/counters[@type="rcode"]/counter >0]\">\n" " <h2>Response Codes per view/zone</h2>\n" " <xsl:for-each select=\"views/view[zones/zone/counters[@type="rcode"]/counter >0]\">\n" " <h3>View <xsl:value-of select=\"@name\"/></h3>\n" @@ -467,6 +573,7 @@ static char xslmsg[] = " graphs.push({\n" " 'title': \"Response Codes for zone <xsl:value-of select=\"@name\"/>\",\n" " 'target': 'chart_rescode_<xsl:value-of select=\"../../@name\"/>_<xsl:value-of select=\"@name\"/>',\n" + " 'style': 'barchart',\n" " 'data': [['Type','Counter'],<xsl:for-each select=\"counters[@type="rcode"]/counter[.>0 and @name != "QryAuthAns"]\">['<xsl:value-of select=\"@name\"/>',<xsl:value-of select=\".\"/>],</xsl:for-each>]\n" " });\n" "\n" @@ -474,7 +581,7 @@ static char xslmsg[] = " <xsl:variable name=\"target\">\n" " <xsl:value-of select=\"@name\"/>\n" " </xsl:variable>\n" - " <div class=\"pie\" id=\"chart_rescode_{$thisview}_{$target}\"/>\n" + " <div class=\"pie\" id=\"chart_rescode_{$thisview}_{$target}\">[no data to display]</div>\n" " </xsl:if>\n" " <table class=\"counters\">\n" " <xsl:for-each select=\"counters[@type="rcode"]/counter[.>0 and @name != "QryAuthAns"]\">\n" @@ -498,6 +605,8 @@ static char xslmsg[] = " </xsl:if>\n" " </xsl:for-each>\n" " </xsl:for-each>\n" + " </xsl:if>\n" + " <xsl:if test=\"views/view[zones/zone/counters[@type="qtype"]/counter >0]\">\n" " <h2>Received QTYPES per view/zone</h2>\n" " <xsl:for-each select=\"views/view[zones/zone/counters[@type="qtype"]/counter >0]\">\n" " <h3>View <xsl:value-of select=\"@name\"/></h3>\n" @@ -513,6 +622,7 @@ static char xslmsg[] = " graphs.push({\n" " 'title': \"Query Types for zone <xsl:value-of select=\"@name\"/>\",\n" " 'target': 'chart_qtype_<xsl:value-of select=\"../../@name\"/>_<xsl:value-of select=\"@name\"/>',\n" + " 'style': 'barchart',\n" " 'data': [['Type','Counter'],<xsl:for-each select=\"counters[@type="qtype"]/counter[.>0 and @name != "QryAuthAns"]\">['<xsl:value-of select=\"@name\"/>',<xsl:value-of select=\".\"/>],</xsl:for-each>]\n" " });\n" "\n" @@ -520,7 +630,7 @@ static char xslmsg[] = " <xsl:variable name=\"target\">\n" " <xsl:value-of select=\"@name\"/>\n" " </xsl:variable>\n" - " <div class=\"pie\" id=\"chart_qtype_{$thisview2}_{$target}\"/>\n" + " <div class=\"pie\" id=\"chart_qtype_{$thisview2}_{$target}\">[no data to display]</div>\n" " </xsl:if>\n" " <table class=\"counters\">\n" " <xsl:for-each select=\"counters[@type="qtype"]/counter\">\n" @@ -544,8 +654,10 @@ static char xslmsg[] = " </xsl:if>\n" " </xsl:for-each>\n" " </xsl:for-each>\n" + " </xsl:if>\n" + " <xsl:if test=\"socketmgr/sockets/socket\">\n" " <h2>Network Status</h2>\n" - " <table class=\"counters\">\n" + " <table class=\"netstat\">\n" " <tr>\n" " <th>ID</th>\n" " <th>Name</th>\n" @@ -591,6 +703,8 @@ static char xslmsg[] = " </xsl:for-each>\n" " </table>\n" " <br/>\n" + " </xsl:if>\n" + " <xsl:if test=\"taskmgr/thread-model/type\">\n" " <h2>Task Manager Configuration</h2>\n" " <table class=\"counters\">\n" " <tr>\n" @@ -619,8 +733,10 @@ static char xslmsg[] = " </tr>\n" " </table>\n" " <br/>\n" + " </xsl:if>\n" + " <xsl:if test=\"taskmgr/tasks/task\">\n" " <h2>Tasks</h2>\n" - " <table class=\"counters\">\n" + " <table class=\"tasks\">\n" " <tr>\n" " <th>ID</th>\n" " <th>Name</th>\n" @@ -656,6 +772,8 @@ static char xslmsg[] = " </xsl:for-each>\n" " </table>\n" " <br/>\n" + " </xsl:if>\n" + " <xsl:if test=\"memory/summary\">\n" " <h2>Memory Usage Summary</h2>\n" " <table class=\"counters\">\n" " <xsl:for-each select=\"memory/summary/*\">\n" @@ -676,8 +794,10 @@ static char xslmsg[] = " </xsl:for-each>\n" " </table>\n" " <br/>\n" + " </xsl:if>\n" + " <xsl:if test=\"memory/contexts/context\">\n" " <h2>Memory Contexts</h2>\n" - " <table class=\"counters\">\n" + " <table class=\"mctx\">\n" " <tr>\n" " <th>ID</th>\n" " <th>Name</th>\n" @@ -732,6 +852,7 @@ static char xslmsg[] = " </tr>\n" " </xsl:for-each>\n" " </table>\n" + " </xsl:if>\n" " <hr/>\n" " <p class=\"footer\">Internet Systems Consortium Inc.<br/><a href=\"http://www.isc.org\">http://www.isc.org</a></p>\n" " </body>\n" diff --git a/bin/named/builtin.c b/bin/named/builtin.c index 4604cb3c..e55e9542 100644 --- a/bin/named/builtin.c +++ b/bin/named/builtin.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2004, 2005, 2007, 2009-2012 Internet Systems Consortium, Inc. ("ISC") + * Copyright (C) 2004, 2005, 2007, 2009-2014 Internet Systems Consortium, Inc. ("ISC") * Copyright (C) 2001-2003 Internet Software Consortium. * * Permission to use, copy, modify, and/or distribute this software for any @@ -117,7 +117,7 @@ dns64_rdata(unsigned char *v, size_t start, unsigned char *rdata) { rdata[j++] = decimal[c]; } } - memcpy(&rdata[j], "\07in-addr\04arpa", 14); + memmove(&rdata[j], "\07in-addr\04arpa", 14); return (j + 14); } @@ -276,7 +276,8 @@ dns64_cname(const dns_name_t *zone, const dns_name_t *name, */ return (ISC_R_NOTFOUND); } - return (dns_sdb_putrdata(lookup, dns_rdatatype_cname, 600, rdata, len)); + return (dns_sdb_putrdata(lookup, dns_rdatatype_cname, 600, + rdata, (unsigned int)len)); } static isc_result_t @@ -319,7 +320,7 @@ put_txt(dns_sdblookup_t *lookup, const char *text) { if (len > 255) len = 255; /* Silently truncate */ buf[0] = len; - memcpy(&buf[1], text, len); + memmove(&buf[1], text, len); return (dns_sdb_putrdata(lookup, dns_rdatatype_txt, 0, buf, len + 1)); } @@ -501,11 +502,11 @@ builtin_create(const char *zone, int argc, char **argv, isc_mem_put(ns_g_mctx, empty, sizeof (*empty)); } else { if (strcmp(argv[0], "empty") == 0) - memcpy(empty, &empty_builtin, - sizeof (empty_builtin)); + memmove(empty, &empty_builtin, + sizeof (empty_builtin)); else - memcpy(empty, &dns64_builtin, - sizeof (empty_builtin)); + memmove(empty, &dns64_builtin, + sizeof (empty_builtin)); empty->server = server; empty->contact = contact; *dbdata = empty; diff --git a/bin/named/client.c b/bin/named/client.c index 9adf36b5..e68f96de 100644 --- a/bin/named/client.c +++ b/bin/named/client.c @@ -973,6 +973,7 @@ ns_client_send(ns_client_t *client) { result = dns_compress_init(&cctx, -1, client->mctx); if (result != ISC_R_SUCCESS) goto done; + dns_compress_setsensitive(&cctx, ISC_TRUE); cleanup_cctx = ISC_TRUE; result = dns_message_renderbegin(client->message, &cctx, &buffer); @@ -2734,7 +2735,8 @@ ns_client_checkacl(ns_client_t *client, isc_sockaddr_t *sockaddr, static void ns_client_name(ns_client_t *client, char *peerbuf, size_t len) { if (client->peeraddr_valid) - isc_sockaddr_format(&client->peeraddr, peerbuf, len); + isc_sockaddr_format(&client->peeraddr, peerbuf, + (unsigned int)len); else snprintf(peerbuf, len, "@%p", client); } diff --git a/bin/named/config.c b/bin/named/config.c index d69c5868..786dfb7f 100644 --- a/bin/named/config.c +++ b/bin/named/config.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2004-2013 Internet Systems Consortium, Inc. ("ISC") + * Copyright (C) 2004-2014 Internet Systems Consortium, Inc. ("ISC") * Copyright (C) 2001-2003 Internet Software Consortium. * * Permission to use, copy, modify, and/or distribute this software for any @@ -575,7 +575,7 @@ ns_config_getipandkeylist(const cfg_obj_t *config, const cfg_obj_t *list, if (new == NULL) goto cleanup; if (listcount != 0) { - memcpy(new, lists, oldsize); + memmove(new, lists, oldsize); isc_mem_put(mctx, lists, oldsize); } lists = new; @@ -610,7 +610,7 @@ ns_config_getipandkeylist(const cfg_obj_t *config, const cfg_obj_t *list, if (new == NULL) goto cleanup; if (stackcount != 0) { - memcpy(new, stack, oldsize); + memmove(new, stack, oldsize); isc_mem_put(mctx, stack, oldsize); } stack = new; @@ -637,7 +637,7 @@ ns_config_getipandkeylist(const cfg_obj_t *config, const cfg_obj_t *list, if (new == NULL) goto cleanup; if (addrcount != 0) { - memcpy(new, addrs, oldsize); + memmove(new, addrs, oldsize); isc_mem_put(mctx, addrs, oldsize); } addrs = new; @@ -649,7 +649,7 @@ ns_config_getipandkeylist(const cfg_obj_t *config, const cfg_obj_t *list, if (new == NULL) goto cleanup; if (keycount != 0) { - memcpy(new, keys, oldsize); + memmove(new, keys, oldsize); isc_mem_put(mctx, keys, oldsize); } keys = new; @@ -697,7 +697,7 @@ ns_config_getipandkeylist(const cfg_obj_t *config, const cfg_obj_t *list, new = isc_mem_get(mctx, newsize); if (new == NULL) goto cleanup; - memcpy(new, addrs, newsize); + memmove(new, addrs, newsize); } else new = NULL; isc_mem_put(mctx, addrs, oldsize); @@ -710,7 +710,7 @@ ns_config_getipandkeylist(const cfg_obj_t *config, const cfg_obj_t *list, new = isc_mem_get(mctx, newsize); if (new == NULL) goto cleanup; - memcpy(new, keys, newsize); + memmove(new, keys, newsize); } else new = NULL; isc_mem_put(mctx, keys, oldsize); diff --git a/bin/named/control.c b/bin/named/control.c index fabe442a..35312fee 100644 --- a/bin/named/control.c +++ b/bin/named/control.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2004-2007, 2009-2012 Internet Systems Consortium, Inc. ("ISC") + * Copyright (C) 2004-2007, 2009-2013 Internet Systems Consortium, Inc. ("ISC") * Copyright (C) 2001-2003 Internet Software Consortium. * * Permission to use, copy, modify, and/or distribute this software for any @@ -105,7 +105,8 @@ ns_control_docommand(isccc_sexpr_t *message, isc_buffer_t *text) { } else if (command_compare(command, NS_COMMAND_REFRESH)) { result = ns_server_refreshcommand(ns_g_server, command, text); } else if (command_compare(command, NS_COMMAND_RETRANSFER)) { - result = ns_server_retransfercommand(ns_g_server, command); + result = ns_server_retransfercommand(ns_g_server, + command, text); } else if (command_compare(command, NS_COMMAND_HALT)) { #ifdef HAVE_LIBSCF /* @@ -200,11 +201,11 @@ ns_control_docommand(isccc_sexpr_t *message, isc_buffer_t *text) { result = ns_server_validation(ns_g_server, command); } else if (command_compare(command, NS_COMMAND_SIGN) || command_compare(command, NS_COMMAND_LOADKEYS)) { - result = ns_server_rekey(ns_g_server, command); + result = ns_server_rekey(ns_g_server, command, text); } else if (command_compare(command, NS_COMMAND_ADDZONE)) { result = ns_server_add_zone(ns_g_server, command); } else if (command_compare(command, NS_COMMAND_DELZONE)) { - result = ns_server_del_zone(ns_g_server, command); + result = ns_server_del_zone(ns_g_server, command, text); } else if (command_compare(command, NS_COMMAND_SIGNING)) { result = ns_server_signing(ns_g_server, command, text); } else { diff --git a/bin/named/controlconf.c b/bin/named/controlconf.c index c46a6e15..509a113b 100644 --- a/bin/named/controlconf.c +++ b/bin/named/controlconf.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2004-2008, 2011-2013 Internet Systems Consortium, Inc. ("ISC") + * Copyright (C) 2004-2008, 2011-2014 Internet Systems Consortium, Inc. ("ISC") * Copyright (C) 2001-2003 Internet Software Consortium. * * Permission to use, copy, modify, and/or distribute this software for any @@ -367,7 +367,7 @@ control_recvmessage(isc_task_t *task, isc_event_t *event) { secret.rstart = isc_mem_get(listener->mctx, key->secret.length); if (secret.rstart == NULL) goto cleanup; - memcpy(secret.rstart, key->secret.base, key->secret.length); + memmove(secret.rstart, key->secret.base, key->secret.length); secret.rend = secret.rstart + key->secret.length; result = isccc_cc_fromwire(&ccregion, &request, &secret); if (result == ISC_R_SUCCESS) @@ -784,8 +784,8 @@ register_keys(const cfg_obj_t *control, const cfg_obj_t *keylist, free_controlkey(keyid, mctx); break; } - memcpy(keyid->secret.base, isc_buffer_base(&b), - keyid->secret.length); + memmove(keyid->secret.base, isc_buffer_base(&b), + keyid->secret.length); } } } @@ -864,8 +864,8 @@ get_rndckey(isc_mem_t *mctx, controlkeylist_t *keyids) { "out of memory", keyid->keyname); CHECK(ISC_R_NOMEMORY); } - memcpy(keyid->secret.base, isc_buffer_base(&b), - keyid->secret.length); + memmove(keyid->secret.base, isc_buffer_base(&b), + keyid->secret.length); ISC_LIST_APPEND(*keyids, keyid, link); keyid = NULL; result = ISC_R_SUCCESS; diff --git a/bin/named/include/named/globals.h b/bin/named/include/named/globals.h index cbc14d8b..a9174f3e 100644 --- a/bin/named/include/named/globals.h +++ b/bin/named/include/named/globals.h @@ -71,6 +71,7 @@ EXTERN const char * ns_g_product INIT(PRODUCT); EXTERN const char * ns_g_description INIT(DESCRIPTION); EXTERN const char * ns_g_srcid INIT(SRCID); EXTERN const char * ns_g_configargs INIT(CONFIGARGS); +EXTERN const char * ns_g_builder INIT(BUILDER); EXTERN in_port_t ns_g_port INIT(0); EXTERN in_port_t lwresd_g_listenport INIT(0); diff --git a/bin/named/include/named/main.h b/bin/named/include/named/main.h index 44251fa8..1537fb64 100644 --- a/bin/named/include/named/main.h +++ b/bin/named/include/named/main.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2004, 2005, 2007, 2009 Internet Systems Consortium, Inc. ("ISC") + * Copyright (C) 2004, 2005, 2007, 2009, 2013 Internet Systems Consortium, Inc. ("ISC") * Copyright (C) 1999-2002 Internet Software Consortium. * * Permission to use, copy, modify, and/or distribute this software for any @@ -22,6 +22,10 @@ /*! \file */ +#ifdef ISC_MAIN_HOOK +#define main(argc, argv) bindmain(argc, argv) +#endif + ISC_PLATFORM_NORETURN_PRE void ns_main_earlyfatal(const char *format, ...) ISC_FORMAT_PRINTF(1, 2) ISC_PLATFORM_NORETURN_POST; diff --git a/bin/named/include/named/server.h b/bin/named/include/named/server.h index ff0bfd3b..52ba94d2 100644 --- a/bin/named/include/named/server.h +++ b/bin/named/include/named/server.h @@ -231,7 +231,8 @@ ns_server_refreshcommand(ns_server_t *server, char *args, isc_buffer_t *text); */ isc_result_t -ns_server_retransfercommand(ns_server_t *server, char *args); +ns_server_retransfercommand(ns_server_t *server, char *args, + isc_buffer_t *text); /*%< * Act on a "retransfer" command from the command channel. */ @@ -320,7 +321,7 @@ ns_server_sync(ns_server_t *server, char *args, isc_buffer_t *text); * take place incrementally. */ isc_result_t -ns_server_rekey(ns_server_t *server, char *args); +ns_server_rekey(ns_server_t *server, char *args, isc_buffer_t *text); /*% * Dump the current recursive queries. @@ -350,7 +351,7 @@ ns_server_add_zone(ns_server_t *server, char *args); * Deletes a zone from a running process */ isc_result_t -ns_server_del_zone(ns_server_t *server, char *args); +ns_server_del_zone(ns_server_t *server, char *args, isc_buffer_t *text); /*% * Lists the status of the signing records for a given zone. diff --git a/bin/named/interfacemgr.c b/bin/named/interfacemgr.c index 84bf21d7..514d7029 100644 --- a/bin/named/interfacemgr.c +++ b/bin/named/interfacemgr.c @@ -553,15 +553,22 @@ setup_locals(ns_interfacemgr_t *mgr, isc_interface_t *interface) { return (result); if (result != ISC_R_SUCCESS) { - isc_log_write(IFMGR_COMMON_LOGARGS, - ISC_LOG_WARNING, + isc_log_write(IFMGR_COMMON_LOGARGS, ISC_LOG_WARNING, "omitting IPv4 interface %s from " - "localnets ACL: %s", - interface->name, + "localnets ACL: %s", interface->name, isc_result_totext(result)); return (ISC_R_SUCCESS); } + if (prefixlen == 0U) { + isc_log_write(IFMGR_COMMON_LOGARGS, ISC_LOG_WARNING, + "omitting %s interface %s from localnets ACL: " + "zero prefix length detected", + (netaddr->family == AF_INET) ? "IPv4" : "IPv6", + interface->name); + return (ISC_R_SUCCESS); + } + result = dns_iptable_addprefix(mgr->aclenv.localnets->iptable, netaddr, prefixlen, ISC_TRUE); if (result != ISC_R_SUCCESS) diff --git a/bin/named/lwaddr.c b/bin/named/lwaddr.c index ed7880ac..aecccce2 100644 --- a/bin/named/lwaddr.c +++ b/bin/named/lwaddr.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2004, 2005, 2007, 2008 Internet Systems Consortium, Inc. ("ISC") + * Copyright (C) 2004, 2005, 2007, 2008, 2014 Internet Systems Consortium, Inc. ("ISC") * Copyright (C) 2000, 2001 Internet Software Consortium. * * Permission to use, copy, modify, and/or distribute this software for any @@ -41,11 +41,11 @@ lwaddr_netaddr_fromlwresaddr(isc_netaddr_t *na, lwres_addr_t *la) { if (la->family == LWRES_ADDRTYPE_V4) { struct in_addr ina; - memcpy(&ina.s_addr, la->address, 4); + memmove(&ina.s_addr, la->address, 4); isc_netaddr_fromin(na, &ina); } else { struct in6_addr ina6; - memcpy(&ina6.s6_addr, la->address, 16); + memmove(&ina6.s6_addr, la->address, 16); isc_netaddr_fromin6(na, &ina6); } return (ISC_R_SUCCESS); @@ -77,11 +77,11 @@ lwaddr_lwresaddr_fromnetaddr(lwres_addr_t *la, isc_netaddr_t *na) { if (na->family == AF_INET) { la->family = LWRES_ADDRTYPE_V4; la->length = 4; - memcpy(la->address, &na->type.in, 4); + memmove(la->address, &na->type.in, 4); } else { la->family = LWRES_ADDRTYPE_V6; la->length = 16; - memcpy(la->address, &na->type.in6, 16); + memmove(la->address, &na->type.in6, 16); } return (ISC_R_SUCCESS); } diff --git a/bin/named/lwdgnba.c b/bin/named/lwdgnba.c index dfc2ad65..2de5287d 100644 --- a/bin/named/lwdgnba.c +++ b/bin/named/lwdgnba.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2004, 2005, 2007, 2008 Internet Systems Consortium, Inc. ("ISC") + * Copyright (C) 2004, 2005, 2007, 2008, 2014 Internet Systems Consortium, Inc. ("ISC") * Copyright (C) 2000-2002 Internet Software Consortium. * * Permission to use, copy, modify, and/or distribute this software for any @@ -226,12 +226,12 @@ ns_lwdclient_processgnba(ns_lwdclient_t *client, lwres_buffer_t *b) { client->na.family = AF_INET; if (req->addr.length != 4) goto out; - memcpy(&client->na.type.in, req->addr.address, 4); + memmove(&client->na.type.in, req->addr.address, 4); } else if (req->addr.family == LWRES_ADDRTYPE_V6) { client->na.family = AF_INET6; if (req->addr.length != 16) goto out; - memcpy(&client->na.type.in6, req->addr.address, 16); + memmove(&client->na.type.in6, req->addr.address, 16); } else { goto out; } diff --git a/bin/named/lwdgrbn.c b/bin/named/lwdgrbn.c index 5c858cbe..3e7b15bb 100644 --- a/bin/named/lwdgrbn.c +++ b/bin/named/lwdgrbn.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2004-2007, 2009 Internet Systems Consortium, Inc. ("ISC") + * Copyright (C) 2004-2007, 2009, 2013, 2014 Internet Systems Consortium, Inc. ("ISC") * Copyright (C) 2000, 2001, 2003 Internet Software Consortium. * * Permission to use, copy, modify, and/or distribute this software for any @@ -124,8 +124,8 @@ iterate_node(lwres_grbnresponse_t *grbn, dns_db_t *db, dns_dbnode_t *node, lens = isc_mem_get(mctx, size * sizeof(*lens)); if (lens == NULL) goto out; - memcpy(rdatas, oldrdatas, used * sizeof(*rdatas)); - memcpy(lens, oldlens, used * sizeof(*lens)); + memmove(rdatas, oldrdatas, used * sizeof(*rdatas)); + memmove(lens, oldlens, used * sizeof(*lens)); isc_mem_put(mctx, oldrdatas, oldsize * sizeof(*oldrdatas)); isc_mem_put(mctx, oldlens, oldsize * sizeof(*oldlens)); @@ -158,8 +158,8 @@ iterate_node(lwres_grbnresponse_t *grbn, dns_db_t *db, dns_dbnode_t *node, newlens = isc_mem_get(mctx, used * sizeof(*lens)); if (newlens == NULL) goto out; - memcpy(newrdatas, rdatas, used * sizeof(*rdatas)); - memcpy(newlens, lens, used * sizeof(*lens)); + memmove(newrdatas, rdatas, used * sizeof(*rdatas)); + memmove(newlens, lens, used * sizeof(*lens)); isc_mem_put(mctx, rdatas, size * sizeof(*rdatas)); isc_mem_put(mctx, lens, size * sizeof(*lens)); grbn->rdatas = newrdatas; @@ -204,6 +204,8 @@ lookup_done(isc_task_t *task, isc_event_t *event) { lwres_grbnresponse_t *grbn; int i; + REQUIRE(event != NULL); + UNUSED(task); lwb.base = NULL; @@ -324,9 +326,6 @@ lookup_done(isc_task_t *task, isc_event_t *event) { (grbn->nsigs == 1) ? "" : "s"); } - dns_lookup_destroy(&client->lookup); - isc_event_free(&event); - /* * Render the packet. */ @@ -362,6 +361,9 @@ lookup_done(isc_task_t *task, isc_event_t *event) { NS_LWDCLIENT_SETSEND(client); + dns_lookup_destroy(&client->lookup); + isc_event_free(&event); + return; out: @@ -384,8 +386,7 @@ lookup_done(isc_task_t *task, isc_event_t *event) { if (lwb.base != NULL) lwres_context_freemem(cm->lwctx, lwb.base, lwb.length); - if (event != NULL) - isc_event_free(&event); + isc_event_free(&event); ns_lwdclient_log(50, "error constructing getrrsetbyname response"); ns_lwdclient_errorpktsend(client, LWRES_R_FAILURE); diff --git a/bin/named/main.c b/bin/named/main.c index ec5838ca..8e82ee97 100644 --- a/bin/named/main.c +++ b/bin/named/main.c @@ -391,7 +391,7 @@ set_flags(const char *arg, struct flag_def *defs, unsigned int *ret) { int arglen; if (end == NULL) end = arg + strlen(arg); - arglen = end - arg; + arglen = (int)(end - arg); for (def = defs; def->name != NULL; def++) { if (arglen == (int)strlen(def->name) && memcmp(arg, def->name, arglen) == 0) { @@ -416,6 +416,7 @@ parse_command_line(int argc, char *argv[]) { save_command_line(argc, argv); + /* PLEASE keep options synchronized when main is hooked! */ isc_commandline_errprint = ISC_FALSE; while ((ch = isc_commandline_parse(argc, argv, "46c:C:d:E:fFgi:lm:n:N:p:P:" @@ -550,8 +551,25 @@ parse_command_line(int argc, char *argv[]) { printf("%s %s", ns_g_product, ns_g_version); if (*ns_g_description != 0) printf(" %s", ns_g_description); - printf(" <id:%s> built with %s\n", ns_g_srcid, - ns_g_configargs); + printf(" <id:%s> built by %s with %s\n", ns_g_srcid, + ns_g_builder, ns_g_configargs); +#ifdef __clang__ + printf("compiled by CLANG %s\n", __VERSION__); +#else +#if defined(__ICC) || defined(__INTEL_COMPILER) + printf("compiled by ICC %s\n", __VERSION__); +#else +#ifdef __GNUC__ + printf("compiled by GCC %s\n", __VERSION__); +#endif +#endif +#endif +#ifdef _MSC_VER + printf("compiled by MSVC %d\n", _MSC_VER); +#endif +#ifdef __SUNPRO_C + printf("compiled by Solaris Studio %x\n", __SUNPRO_C); +#endif #ifdef OPENSSL printf("using OpenSSL version: %s\n", OPENSSL_VERSION_TEXT); @@ -1053,6 +1071,8 @@ ns_smf_get_instance(char **ins_name, int debug, isc_mem_t *mctx) { } #endif /* HAVE_LIBSCF */ +/* main entry point, possibly hooked */ + int main(int argc, char *argv[]) { isc_result_t result; diff --git a/bin/named/named.conf.5 b/bin/named/named.conf.5 index 26edc4a6..0f5662c3 100644 --- a/bin/named/named.conf.5 +++ b/bin/named/named.conf.5 @@ -1,4 +1,4 @@ -.\" Copyright (C) 2004-2011, 2013 Internet Systems Consortium, Inc. ("ISC") +.\" Copyright (C) 2004-2011, 2013, 2014 Internet Systems Consortium, Inc. ("ISC") .\" .\" Permission to use, copy, modify, and/or distribute this software for any .\" purpose with or without fee is hereby granted, provided that the above @@ -323,7 +323,7 @@ options { zone\-statistics \fIboolean\fR; key\-directory \fIquoted_string\fR; managed\-keys\-directory \fIquoted_string\fR; - auto\-dnssec \fBallow\fR|\fBmaintain\fR|\fBcreate\fR|\fBoff\fR; + auto\-dnssec \fBallow\fR|\fBmaintain\fR|\fBoff\fR; try\-tcp\-refresh \fIboolean\fR; zero\-no\-soa\-ttl \fIboolean\fR; zero\-no\-soa\-ttl\-cache \fIboolean\fR; @@ -596,5 +596,5 @@ zone \fIstring\fR \fIoptional_class\fR { \fBrndc\fR(8), BIND 9 Administrator Reference Manual. .SH "COPYRIGHT" -Copyright \(co 2004\-2011, 2013 Internet Systems Consortium, Inc. ("ISC") +Copyright \(co 2004\-2011, 2013, 2014 Internet Systems Consortium, Inc. ("ISC") .br diff --git a/bin/named/named.conf.docbook b/bin/named/named.conf.docbook index 35cd6276..b4d0c38e 100644 --- a/bin/named/named.conf.docbook +++ b/bin/named/named.conf.docbook @@ -2,7 +2,7 @@ "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [<!ENTITY mdash "—">]> <!-- - - Copyright (C) 2004-2011, 2013 Internet Systems Consortium, Inc. ("ISC") + - Copyright (C) 2004-2011, 2013, 2014 Internet Systems Consortium, Inc. ("ISC") - - Permission to use, copy, modify, and/or distribute this software for any - purpose with or without fee is hereby granted, provided that the above @@ -45,6 +45,7 @@ <year>2010</year> <year>2011</year> <year>2013</year> + <year>2014</year> <holder>Internet Systems Consortium, Inc. ("ISC")</holder> </copyright> </docinfo> @@ -366,7 +367,7 @@ options { zone-statistics <replaceable>boolean</replaceable>; key-directory <replaceable>quoted_string</replaceable>; managed-keys-directory <replaceable>quoted_string</replaceable>; - auto-dnssec <constant>allow</constant>|<constant>maintain</constant>|<constant>create</constant>|<constant>off</constant>; + auto-dnssec <constant>allow</constant>|<constant>maintain</constant>|<constant>off</constant>; try-tcp-refresh <replaceable>boolean</replaceable>; zero-no-soa-ttl <replaceable>boolean</replaceable>; zero-no-soa-ttl-cache <replaceable>boolean</replaceable>; diff --git a/bin/named/named.conf.html b/bin/named/named.conf.html index b8b1247b..58474667 100644 --- a/bin/named/named.conf.html +++ b/bin/named/named.conf.html @@ -1,5 +1,5 @@ <!-- - - Copyright (C) 2004-2011, 2013 Internet Systems Consortium, Inc. ("ISC") + - Copyright (C) 2004-2011, 2013, 2014 Internet Systems Consortium, Inc. ("ISC") - - Permission to use, copy, modify, and/or distribute this software for any - purpose with or without fee is hereby granted, provided that the above @@ -31,7 +31,7 @@ <div class="cmdsynopsis"><p><code class="command">named.conf</code> </p></div> </div> <div class="refsect1" lang="en"> -<a name="id2543357"></a><h2>DESCRIPTION</h2> +<a name="id2543361"></a><h2>DESCRIPTION</h2> <p><code class="filename">named.conf</code> is the configuration file for <span><strong class="command">named</strong></span>. Statements are enclosed @@ -50,14 +50,14 @@ </p> </div> <div class="refsect1" lang="en"> -<a name="id2543385"></a><h2>ACL</h2> +<a name="id2543388"></a><h2>ACL</h2> <div class="literallayout"><p><br> acl <em class="replaceable"><code>string</code></em> { <em class="replaceable"><code>address_match_element</code></em>; ... };<br> <br> </p></div> </div> <div class="refsect1" lang="en"> -<a name="id2543401"></a><h2>KEY</h2> +<a name="id2543404"></a><h2>KEY</h2> <div class="literallayout"><p><br> key <em class="replaceable"><code>domain_name</code></em> {<br> algorithm <em class="replaceable"><code>string</code></em>;<br> @@ -66,7 +66,7 @@ key <em class="replaceable"><code>domain_name</code></em> {<br> </p></div> </div> <div class="refsect1" lang="en"> -<a name="id2543420"></a><h2>MASTERS</h2> +<a name="id2543424"></a><h2>MASTERS</h2> <div class="literallayout"><p><br> masters <em class="replaceable"><code>string</code></em> [<span class="optional"> port <em class="replaceable"><code>integer</code></em> </span>] {<br> ( <em class="replaceable"><code>masters</code></em> | <em class="replaceable"><code>ipv4_address</code></em> [<span class="optional">port <em class="replaceable"><code>integer</code></em></span>] |<br> @@ -75,7 +75,7 @@ masters <em class="replaceable"><code>string</code></em> [<span class="optional" </p></div> </div> <div class="refsect1" lang="en"> -<a name="id2543466"></a><h2>SERVER</h2> +<a name="id2543469"></a><h2>SERVER</h2> <div class="literallayout"><p><br> server ( <em class="replaceable"><code>ipv4_address[<span class="optional">/prefixlen</span>]</code></em> | <em class="replaceable"><code>ipv6_address[<span class="optional">/prefixlen</span>]</code></em> ) {<br> bogus <em class="replaceable"><code>boolean</code></em>;<br> @@ -97,7 +97,7 @@ server ( <em class="replaceable"><code>ipv4_address[<span class="optional">/pref </p></div> </div> <div class="refsect1" lang="en"> -<a name="id2543534"></a><h2>TRUSTED-KEYS</h2> +<a name="id2543538"></a><h2>TRUSTED-KEYS</h2> <div class="literallayout"><p><br> trusted-keys {<br> <em class="replaceable"><code>domain_name</code></em> <em class="replaceable"><code>flags</code></em> <em class="replaceable"><code>protocol</code></em> <em class="replaceable"><code>algorithm</code></em> <em class="replaceable"><code>key</code></em>; ... <br> @@ -105,7 +105,7 @@ trusted-keys {<br> </p></div> </div> <div class="refsect1" lang="en"> -<a name="id2543560"></a><h2>MANAGED-KEYS</h2> +<a name="id2543563"></a><h2>MANAGED-KEYS</h2> <div class="literallayout"><p><br> managed-keys {<br> <em class="replaceable"><code>domain_name</code></em> <code class="constant">initial-key</code> <em class="replaceable"><code>flags</code></em> <em class="replaceable"><code>protocol</code></em> <em class="replaceable"><code>algorithm</code></em> <em class="replaceable"><code>key</code></em>; ... <br> @@ -113,7 +113,7 @@ managed-keys {<br> </p></div> </div> <div class="refsect1" lang="en"> -<a name="id2543589"></a><h2>CONTROLS</h2> +<a name="id2543592"></a><h2>CONTROLS</h2> <div class="literallayout"><p><br> controls {<br> inet ( <em class="replaceable"><code>ipv4_address</code></em> | <em class="replaceable"><code>ipv6_address</code></em> | * )<br> @@ -125,7 +125,7 @@ controls {<br> </p></div> </div> <div class="refsect1" lang="en"> -<a name="id2543624"></a><h2>LOGGING</h2> +<a name="id2543627"></a><h2>LOGGING</h2> <div class="literallayout"><p><br> logging {<br> channel <em class="replaceable"><code>string</code></em> {<br> @@ -143,7 +143,7 @@ logging {<br> </p></div> </div> <div class="refsect1" lang="en"> -<a name="id2543662"></a><h2>LWRES</h2> +<a name="id2543666"></a><h2>LWRES</h2> <div class="literallayout"><p><br> lwres {<br> listen-on [<span class="optional"> port <em class="replaceable"><code>integer</code></em> </span>] {<br> @@ -156,7 +156,7 @@ lwres {<br> </p></div> </div> <div class="refsect1" lang="en"> -<a name="id2543704"></a><h2>OPTIONS</h2> +<a name="id2543707"></a><h2>OPTIONS</h2> <div class="literallayout"><p><br> options {<br> avoid-v4-udp-ports { <em class="replaceable"><code>port</code></em>; ... };<br> @@ -331,7 +331,7 @@ options {<br> zone-statistics <em class="replaceable"><code>boolean</code></em>;<br> key-directory <em class="replaceable"><code>quoted_string</code></em>;<br> managed-keys-directory <em class="replaceable"><code>quoted_string</code></em>;<br> - auto-dnssec <code class="constant">allow</code>|<code class="constant">maintain</code>|<code class="constant">create</code>|<code class="constant">off</code>;<br> + auto-dnssec <code class="constant">allow</code>|<code class="constant">maintain</code>|<code class="constant">off</code>;<br> try-tcp-refresh <em class="replaceable"><code>boolean</code></em>;<br> zero-no-soa-ttl <em class="replaceable"><code>boolean</code></em>;<br> zero-no-soa-ttl-cache <em class="replaceable"><code>boolean</code></em>;<br> diff --git a/bin/named/query.c b/bin/named/query.c index 3e3b8778..c357f83e 100644 --- a/bin/named/query.c +++ b/bin/named/query.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2004-2013 Internet Systems Consortium, Inc. ("ISC") + * Copyright (C) 2004-2014 Internet Systems Consortium, Inc. ("ISC") * Copyright (C) 1999-2003 Internet Software Consortium. * * Permission to use, copy, modify, and/or distribute this software for any @@ -4601,6 +4601,7 @@ rpz_rewrite(ns_client_t *client, dns_rdatatype_t qtype, isc_result_t qresult, memset(&st->m, 0, sizeof(st->m)); st->m.type = DNS_RPZ_TYPE_BAD; st->m.policy = DNS_RPZ_POLICY_MISS; + st->m.ttl = ~0; memset(&st->r, 0, sizeof(st->r)); memset(&st->q, 0, sizeof(st->q)); dns_fixedname_init(&st->_qnamef); @@ -4982,12 +4983,12 @@ rdata_tonetaddr(const dns_rdata_t *rdata, isc_netaddr_t *netaddr) { switch (rdata->type) { case dns_rdatatype_a: INSIST(rdata->length == 4); - memcpy(&ina.s_addr, rdata->data, 4); + memmove(&ina.s_addr, rdata->data, 4); isc_netaddr_fromin(netaddr, &ina); return (ISC_R_SUCCESS); case dns_rdatatype_aaaa: INSIST(rdata->length == 16); - memcpy(in6a.s6_addr, rdata->data, 16); + memmove(in6a.s6_addr, rdata->data, 16); isc_netaddr_fromin6(netaddr, &in6a); return (ISC_R_SUCCESS); default: @@ -5260,8 +5261,7 @@ query_findclosestnsec3(dns_name_t *qname, dns_db_t *db, dns_fixedname_t fixed; dns_hash_t hash; dns_name_t name; - int order; - unsigned int count; + unsigned int skip = 0, labels; dns_rdata_nsec3_t nsec3; dns_rdata_t rdata = DNS_RDATA_INIT; isc_boolean_t optout; @@ -5276,6 +5276,7 @@ query_findclosestnsec3(dns_name_t *qname, dns_db_t *db, dns_name_init(&name, NULL); dns_name_clone(qname, &name); + labels = dns_name_countlabels(&name); dns_clientinfomethods_init(&cm, ns_client_sourceip); dns_clientinfo_init(&ci, client); @@ -5309,13 +5310,14 @@ query_findclosestnsec3(dns_name_t *qname, dns_db_t *db, dns_rdata_reset(&rdata); optout = ISC_TF((nsec3.flags & DNS_NSEC3FLAG_OPTOUT) != 0); if (found != NULL && optout && - dns_name_fullcompare(&name, dns_db_origin(db), &order, - &count) == dns_namereln_subdomain) { + dns_name_issubdomain(&name, dns_db_origin(db))) + { dns_rdataset_disassociate(rdataset); if (dns_rdataset_isassociated(sigrdataset)) dns_rdataset_disassociate(sigrdataset); - count = dns_name_countlabels(&name) - 1; - dns_name_getlabelsequence(&name, 1, count, &name); + skip++; + dns_name_getlabelsequence(qname, skip, labels - skip, + &name); ns_client_log(client, DNS_LOGCATEGORY_DNSSEC, NS_LOGMODULE_QUERY, ISC_LOG_DEBUG(3), "looking for closest provable encloser"); @@ -5333,7 +5335,11 @@ query_findclosestnsec3(dns_name_t *qname, dns_db_t *db, ns_client_log(client, DNS_LOGCATEGORY_DNSSEC, NS_LOGMODULE_QUERY, ISC_LOG_WARNING, "expected covering NSEC3, got an exact match"); - if (found != NULL) + if (found == qname) { + if (skip != 0U) + dns_name_getlabelsequence(qname, skip, labels - skip, + found); + } else if (found != NULL) dns_name_copy(&name, found, NULL); return; } diff --git a/bin/named/server.c b/bin/named/server.c index bbc85c30..1777cb88 100644 --- a/bin/named/server.c +++ b/bin/named/server.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2004-2013 Internet Systems Consortium, Inc. ("ISC") + * Copyright (C) 2004-2014 Internet Systems Consortium, Inc. ("ISC") * Copyright (C) 1999-2003 Internet Software Consortium. * * Permission to use, copy, modify, and/or distribute this software for any @@ -387,6 +387,12 @@ end_reserved_dispatches(ns_server_t *server, isc_boolean_t all); static void newzone_cfgctx_destroy(void **cfgp); +static isc_result_t +putstr(isc_buffer_t *b, const char *str); + +isc_result_t +add_comment(FILE *fp, const char *viewname); + /*% * Configure a single view ACL at '*aclp'. Get its configuration from * 'vconfig' (for per-view configuration) and maybe from 'config' @@ -1387,26 +1393,22 @@ on_disable_list(const cfg_obj_t *disablelist, dns_name_t *zonename) { return (ISC_FALSE); } -static void -check_dbtype(dns_zone_t **zonep, unsigned int dbtypec, const char **dbargv, +static isc_result_t +check_dbtype(dns_zone_t *zone, unsigned int dbtypec, const char **dbargv, isc_mem_t *mctx) { char **argv = NULL; unsigned int i; - isc_result_t result; + isc_result_t result = ISC_R_SUCCESS; - result = dns_zone_getdbtype(*zonep, &argv, mctx); - if (result != ISC_R_SUCCESS) { - dns_zone_detach(zonep); - return; - } + CHECK(dns_zone_getdbtype(zone, &argv, mctx)); /* * Check that all the arguments match. */ for (i = 0; i < dbtypec; i++) if (argv[i] == NULL || strcmp(argv[i], dbargv[i]) != 0) { - dns_zone_detach(zonep); + CHECK(ISC_R_FAILURE); break; } @@ -1414,8 +1416,11 @@ check_dbtype(dns_zone_t **zonep, unsigned int dbtypec, const char **dbargv, * Check that there are not extra arguments. */ if (i == dbtypec && argv[i] != NULL) - dns_zone_detach(zonep); + result = ISC_R_FAILURE; + + cleanup: isc_mem_free(mctx, argv); + return (result); } static isc_result_t @@ -1997,15 +2002,14 @@ create_empty_zone(dns_zone_t *zone, dns_name_t *name, dns_view_t *view, obj = NULL; (void)cfg_map_get(zoptions, "type", &obj); INSIST(obj != NULL); - if (strcasecmp(cfg_obj_asstring(obj), "forward") != 0) - continue; - - obj = NULL; - (void)cfg_map_get(zoptions, "forward", &obj); - if (obj == NULL) - continue; - if (strcasecmp(cfg_obj_asstring(obj), "only") != 0) - continue; + if (strcasecmp(cfg_obj_asstring(obj), "forward") == 0) { + obj = NULL; + (void)cfg_map_get(zoptions, "forward", &obj); + if (obj == NULL) + continue; + if (strcasecmp(cfg_obj_asstring(obj), "only") != 0) + continue; + } if (db == NULL) { CHECK(dns_db_create(view->mctx, "rbt", name, dns_dbtype_zone, view->rdclass, @@ -2028,12 +2032,21 @@ create_empty_zone(dns_zone_t *zone, dns_name_t *name, dns_view_t *view, * Is the existing zone the ok to use? */ if (zone != NULL) { - if (db != NULL) - check_dbtype(&zone, rbt_dbtypec, rbt_dbtype, - view->mctx); - else - check_dbtype(&zone, empty_dbtypec, empty_dbtype, - view->mctx); + unsigned int typec; + const char **dbargv; + + if (db != NULL) { + typec = rbt_dbtypec; + dbargv = rbt_dbtype; + } else { + typec = empty_dbtypec; + dbargv = empty_dbtype; + } + + result = check_dbtype(zone, typec, dbargv, view->mctx); + if (result != ISC_R_SUCCESS) + zone = NULL; + if (zone != NULL && dns_zone_gettype(zone) != dns_zone_master) zone = NULL; if (zone != NULL && dns_zone_getfile(zone) != NULL) @@ -6611,16 +6624,18 @@ next_token(char **stringp, const char *delim) { */ static isc_result_t zone_from_args(ns_server_t *server, char *args, const char *zonetxt, - dns_zone_t **zonep, const char **zonename, isc_boolean_t skip) + dns_zone_t **zonep, const char **zonename, + isc_buffer_t *text, isc_boolean_t skip) { char *input, *ptr; char *classtxt; const char *viewtxt = NULL; - dns_fixedname_t name; + dns_fixedname_t fname; + dns_name_t *name; isc_result_t result; - isc_buffer_t buf; dns_view_t *view = NULL; dns_rdataclass_t rdclass; + char problem[DNS_NAME_FORMATSIZE + 500] = ""; REQUIRE(zonep != NULL && *zonep == NULL); REQUIRE(zonename == NULL || *zonename == NULL); @@ -6649,38 +6664,40 @@ zone_from_args(ns_server_t *server, char *args, const char *zonetxt, viewtxt = next_token(&input, " \t"); } - isc_buffer_constinit(&buf, zonetxt, strlen(zonetxt)); - isc_buffer_add(&buf, strlen(zonetxt)); - dns_fixedname_init(&name); - result = dns_name_fromtext(dns_fixedname_name(&name), - &buf, dns_rootname, 0, NULL); - if (result != ISC_R_SUCCESS) - goto fail1; + dns_fixedname_init(&fname); + name = dns_fixedname_name(&fname); + CHECK(dns_name_fromstring(name, zonetxt, 0, NULL)); if (classtxt != NULL) { isc_textregion_t r; r.base = classtxt; r.length = strlen(classtxt); - result = dns_rdataclass_fromtext(&rdclass, &r); - if (result != ISC_R_SUCCESS) - goto fail1; + CHECK(dns_rdataclass_fromtext(&rdclass, &r)); } else rdclass = dns_rdataclass_in; if (viewtxt == NULL) { - result = dns_viewlist_findzone(&server->viewlist, - dns_fixedname_name(&name), + result = dns_viewlist_findzone(&server->viewlist, name, ISC_TF(classtxt == NULL), rdclass, zonep); + if (result == ISC_R_NOTFOUND) + snprintf(problem, sizeof(problem), + "no matching zone '%s' in any view", + zonetxt); } else { result = dns_viewlist_find(&server->viewlist, viewtxt, rdclass, &view); - if (result != ISC_R_SUCCESS) - goto fail1; + if (result != ISC_R_SUCCESS) { + snprintf(problem, sizeof(problem), + "no matching view '%s'", viewtxt); + goto report; + } - result = dns_zt_find(view->zonetable, dns_fixedname_name(&name), - 0, NULL, zonep); - dns_view_detach(&view); + result = dns_zt_find(view->zonetable, name, 0, NULL, zonep); + if (result != ISC_R_SUCCESS) + snprintf(problem, sizeof(problem), + "no matching zone '%s' in view '%s'", + zonetxt, viewtxt); } /* Partial match? */ @@ -6688,7 +6705,20 @@ zone_from_args(ns_server_t *server, char *args, const char *zonetxt, dns_zone_detach(zonep); if (result == DNS_R_PARTIALMATCH) result = ISC_R_NOTFOUND; - fail1: + report: + if (result != ISC_R_SUCCESS) { + isc_result_t tresult; + + tresult = putstr(text, problem); + if (tresult == ISC_R_SUCCESS && + isc_buffer_availablelength(text) > 0U) + isc_buffer_putuint8(text, 0); + } + + cleanup: + if (view != NULL) + dns_view_detach(&view); + return (result); } @@ -6696,13 +6726,16 @@ zone_from_args(ns_server_t *server, char *args, const char *zonetxt, * Act on a "retransfer" command from the command channel. */ isc_result_t -ns_server_retransfercommand(ns_server_t *server, char *args) { +ns_server_retransfercommand(ns_server_t *server, char *args, + isc_buffer_t *text) +{ isc_result_t result; dns_zone_t *zone = NULL; dns_zone_t *raw = NULL; dns_zonetype_t type; - result = zone_from_args(server, args, NULL, &zone, NULL, ISC_TRUE); + result = zone_from_args(server, args, NULL, &zone, NULL, + text, ISC_TRUE); if (result != ISC_R_SUCCESS) return (result); if (zone == NULL) @@ -6732,7 +6765,8 @@ ns_server_reloadcommand(ns_server_t *server, char *args, isc_buffer_t *text) { dns_zonetype_t type; const char *msg = NULL; - result = zone_from_args(server, args, NULL, &zone, NULL, ISC_TRUE); + result = zone_from_args(server, args, NULL, &zone, NULL, + text, ISC_TRUE); if (result != ISC_R_SUCCESS) return (result); if (zone == NULL) { @@ -6792,7 +6826,8 @@ ns_server_notifycommand(ns_server_t *server, char *args, isc_buffer_t *text) { dns_zone_t *zone = NULL; const unsigned char msg[] = "zone notify queued"; - result = zone_from_args(server, args, NULL, &zone, NULL, ISC_TRUE); + result = zone_from_args(server, args, NULL, &zone, NULL, + text, ISC_TRUE); if (result != ISC_R_SUCCESS) return (result); if (zone == NULL) @@ -6812,17 +6847,25 @@ ns_server_notifycommand(ns_server_t *server, char *args, isc_buffer_t *text) { isc_result_t ns_server_refreshcommand(ns_server_t *server, char *args, isc_buffer_t *text) { isc_result_t result; - dns_zone_t *zone = NULL; + dns_zone_t *zone = NULL, *raw = NULL; const unsigned char msg1[] = "zone refresh queued"; const unsigned char msg2[] = "not a slave or stub zone"; dns_zonetype_t type; - result = zone_from_args(server, args, NULL, &zone, NULL, ISC_TRUE); + result = zone_from_args(server, args, NULL, &zone, NULL, + text, ISC_TRUE); if (result != ISC_R_SUCCESS) return (result); if (zone == NULL) return (ISC_R_UNEXPECTEDEND); + dns_zone_getraw(zone, &raw); + if (raw != NULL) { + dns_zone_detach(&zone); + dns_zone_attach(raw, &zone); + dns_zone_detach(&raw); + } + type = dns_zone_gettype(zone); if (type == dns_zone_slave || type == dns_zone_stub) { dns_zone_refresh(zone); @@ -7938,7 +7981,7 @@ ns_server_tsiglist(ns_server_t *server, isc_buffer_t *text) { * Act on a "sign" or "loadkeys" command from the command channel. */ isc_result_t -ns_server_rekey(ns_server_t *server, char *args) { +ns_server_rekey(ns_server_t *server, char *args, isc_buffer_t *text) { isc_result_t result; dns_zone_t *zone = NULL; dns_zonetype_t type; @@ -7948,7 +7991,8 @@ ns_server_rekey(ns_server_t *server, char *args) { if (strncasecmp(args, NS_COMMAND_SIGN, strlen(NS_COMMAND_SIGN)) == 0) fullsign = ISC_TRUE; - result = zone_from_args(server, args, NULL, &zone, NULL, ISC_TRUE); + result = zone_from_args(server, args, NULL, &zone, NULL, + text, ISC_TRUE); if (result != ISC_R_SUCCESS) return (result); if (zone == NULL) @@ -8021,7 +8065,8 @@ ns_server_sync(ns_server_t *server, char *args, isc_buffer_t *text) { arg = next_token(&args, " \t"); } - result = zone_from_args(server, args, arg, &zone, NULL, ISC_FALSE); + result = zone_from_args(server, args, arg, &zone, NULL, + text, ISC_FALSE); if (result != ISC_R_SUCCESS) return (result); @@ -8097,7 +8142,8 @@ ns_server_freeze(ns_server_t *server, isc_boolean_t freeze, char *args, isc_boolean_t frozen; const char *msg = NULL; - result = zone_from_args(server, args, NULL, &zone, NULL, ISC_TRUE); + result = zone_from_args(server, args, NULL, &zone, NULL, + text, ISC_TRUE); if (result != ISC_R_SUCCESS) return (result); if (zone == NULL) { @@ -8223,6 +8269,23 @@ ns_smf_add_message(isc_buffer_t *text) { #endif /* HAVE_LIBSCF */ /* + * Emit a comment at the top of the nzf file containing the viewname + * Expects the fp to already be open for writing + */ +#define HEADER1 "# New zone file for view: " +#define HEADER2 "\n# This file contains configuration for zones added by\n" \ + "# the 'rndc addzone' command. DO NOT EDIT BY HAND.\n" +isc_result_t +add_comment(FILE *fp, const char *viewname) { + isc_result_t result; + CHECK(isc_stdio_write(HEADER1, sizeof(HEADER1) - 1, 1, fp, NULL)); + CHECK(isc_stdio_write(viewname, strlen(viewname), 1, fp, NULL)); + CHECK(isc_stdio_write(HEADER2, sizeof(HEADER2) - 1, 1, fp, NULL)); + cleanup: + return (result); +} + +/* * Act on an "addzone" command from the command channel. */ isc_result_t @@ -8250,10 +8313,11 @@ ns_server_add_zone(ns_server_t *server, char *args) { FILE *fp = NULL; struct cfg_context *cfg = NULL; char namebuf[DNS_NAME_FORMATSIZE]; + off_t offset; /* Try to parse the argument string */ arglen = strlen(args); - isc_buffer_init(&argbuf, args, arglen); + isc_buffer_init(&argbuf, args, (unsigned int)arglen); isc_buffer_add(&argbuf, strlen(args)); CHECK(cfg_parser_create(server->mctx, ns_g_lctx, &parser)); CHECK(cfg_parse_buffer(parser, &argbuf, &cfg_type_addzoneconf, @@ -8323,6 +8387,9 @@ ns_server_add_zone(ns_server_t *server, char *args) { /* Open save file for write configuration */ CHECK(isc_stdio_open(view->new_zone_file, "a", &fp)); + CHECK(isc_stdio_tell(fp, &offset)); + if (offset == 0) + CHECK(add_comment(fp, view->name)); /* Mark view unfrozen so that zone can be added */ result = isc_task_beginexclusive(server->task); @@ -8422,20 +8489,22 @@ ns_server_add_zone(ns_server_t *server, char *args) { * Act on a "delzone" command from the command channel. */ isc_result_t -ns_server_del_zone(ns_server_t *server, char *args) { - isc_result_t result; - dns_zone_t *zone = NULL; - dns_view_t *view = NULL; - dns_db_t *dbp = NULL; - const char *filename = NULL; - char *tmpname = NULL; - char buf[1024]; - const char *zonename = NULL; - size_t znamelen = 0; - FILE *ifp = NULL, *ofp = NULL; +ns_server_del_zone(ns_server_t *server, char *args, isc_buffer_t *text) { + isc_result_t result; + dns_zone_t *zone = NULL; + dns_view_t *view = NULL; + dns_db_t *dbp = NULL; + const char *filename = NULL; + char *tmpname = NULL; + char buf[1024]; + const char *zonename = NULL; + size_t znamelen = 0; + FILE *ifp = NULL, *ofp = NULL; + isc_boolean_t inheader = ISC_TRUE; /* Parse parameters */ - CHECK(zone_from_args(server, args, NULL, &zone, &zonename, ISC_TRUE)); + CHECK(zone_from_args(server, args, NULL, &zone, &zonename, + text, ISC_TRUE)); if (zone == NULL) { result = ISC_R_UNEXPECTEDEND; @@ -8477,28 +8546,44 @@ ns_server_del_zone(ns_server_t *server, char *args) { goto cleanup; } CHECK(isc_stdio_open(tmpname, "w", &ofp)); + CHECK(add_comment(ofp, view->name)); /* Look for the entry for that zone */ while (fgets(buf, 1024, ifp)) { - /* A 'zone' line */ - if (strncasecmp(buf, "zone", 4)) { + /* Skip initial comment, if any */ + if (inheader && *buf == '#') + continue; + if (*buf != '#') + inheader = ISC_FALSE; + + /* + * Any other lines not starting with zone, copy + * them out and continue. + */ + if (strncasecmp(buf, "zone", 4) != 0) { fputs(buf, ofp); continue; } p = buf+4; - /* Locate a name */ + /* This is a zone; find its name. */ while (*p && ((*p == '"') || isspace((unsigned char)*p))) p++; - /* Is that the zone we're looking for */ - if (strncasecmp(p, zonename, znamelen)) { + /* + * If it's not the zone we're looking for, copy + * it out and continue + */ + if (strncasecmp(p, zonename, znamelen) != 0) { fputs(buf, ofp); continue; } - /* And nothing else? */ + /* + * But if it is the zone we want, skip over it + * so it will be omitted from the new file + */ p += znamelen; if (isspace((unsigned char)*p) || *p == '"' || *p == '{') { @@ -8507,7 +8592,7 @@ ns_server_del_zone(ns_server_t *server, char *args) { break; } - /* Spit it out, keep looking */ + /* Copy the rest of the buffer out and continue */ fputs(buf, ofp); } @@ -8642,7 +8727,7 @@ ns_server_signing(ns_server_t *server, char *args, isc_buffer_t *text) { ptr = next_token(&args, " \t"); if (ptr == NULL) return (ISC_R_UNEXPECTEDEND); - memcpy(keystr, ptr, sizeof(keystr)); + memmove(keystr, ptr, sizeof(keystr)); } else if (strcasecmp(ptr, "-nsec3param") == 0) { const char *hashstr, *flagstr, *iterstr; char nbuf[512]; @@ -8685,7 +8770,8 @@ ns_server_signing(ns_server_t *server, char *args, isc_buffer_t *text) { } else CHECK(DNS_R_SYNTAX); - CHECK(zone_from_args(server, args, NULL, &zone, NULL, ISC_FALSE)); + CHECK(zone_from_args(server, args, NULL, &zone, NULL, + text, ISC_FALSE)); if (zone == NULL) CHECK(ISC_R_UNEXPECTEDEND); @@ -8740,7 +8826,7 @@ ns_server_signing(ns_server_t *server, char *args, isc_buffer_t *text) { if (n >= isc_buffer_availablelength(text)) CHECK(ISC_R_NOSPACE); - isc_buffer_add(text, n); + isc_buffer_add(text, (unsigned int)n); } if (!first && isc_buffer_availablelength(text) > 0) isc_buffer_putuint8(text, 0); @@ -8763,3 +8849,17 @@ ns_server_signing(ns_server_t *server, char *args, isc_buffer_t *text) { return (result); } + +static isc_result_t +putstr(isc_buffer_t *b, const char *str) { + size_t l = strlen(str); + + /* + * Use >= to leave space for NUL termination. + */ + if (l >= isc_buffer_availablelength(b)) + return (ISC_R_NOSPACE); + + isc_buffer_putmem(b, (const unsigned char *)str, l); + return (ISC_R_SUCCESS); +} diff --git a/bin/named/statschannel.c b/bin/named/statschannel.c index 37e98a8e..8ec08d7b 100644 --- a/bin/named/statschannel.c +++ b/bin/named/statschannel.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2008-2013 Internet Systems Consortium, Inc. ("ISC") + * Copyright (C) 2008-2014 Internet Systems Consortium, Inc. ("ISC") * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -27,6 +27,7 @@ #include <isc/print.h> #include <isc/socket.h> #include <isc/stats.h> +#include <isc/string.h> #include <isc/task.h> #include <dns/cache.h> @@ -1057,7 +1058,7 @@ generatexml(ns_server_t *server, int *buflen, xmlChar **buf) { ISC_XMLCHAR "type=\"text/xsl\" href=\"/bind9.ver3.xsl\"")); TRY0(xmlTextWriterStartElement(writer, ISC_XMLCHAR "statistics")); TRY0(xmlTextWriterWriteAttribute(writer, ISC_XMLCHAR "version", - ISC_XMLCHAR "3.0")); + ISC_XMLCHAR "3.3")); /* Set common fields for statistics dump */ dumparg.type = statsformat_xml; @@ -1093,9 +1094,9 @@ generatexml(ns_server_t *server, int *buflen, xmlChar **buf) { if (dumparg.result != ISC_R_SUCCESS) goto error; } +else fprintf(stderr, "WTF WHERE'S RESQUERYRSTATS\n"); TRY0(xmlTextWriterEndElement(writer)); - /* <resstats> */ TRY0(xmlTextWriterStartElement(writer, ISC_XMLCHAR "counters")); TRY0(xmlTextWriterWriteAttribute(writer, ISC_XMLCHAR "type", ISC_XMLCHAR "resstats")); @@ -1109,7 +1110,7 @@ generatexml(ns_server_t *server, int *buflen, xmlChar **buf) { if (result != ISC_R_SUCCESS) goto error; } - TRY0(xmlTextWriterEndElement(writer)); /* </resstats> */ + TRY0(xmlTextWriterEndElement(writer)); cacherrstats = dns_db_getrrsetstats(view->cachedb); if (cacherrstats != NULL) { @@ -1156,7 +1157,7 @@ generatexml(ns_server_t *server, int *buflen, xmlChar **buf) { ISC_XMLCHAR "opcode")); dns_opcodestats_dump(server->opcodestats, opcodestat_dump, &dumparg, - 0); + ISC_STATSDUMP_VERBOSE); if (dumparg.result != ISC_R_SUCCESS) goto error; @@ -1370,10 +1371,10 @@ generatexml(ns_server_t *server, int *buflen, xmlChar **buf) { TRY0(xmlTextWriterStartElement(writer, ISC_XMLCHAR "server")); TRY0(xmlTextWriterStartElement(writer, ISC_XMLCHAR "boot-time")); TRY0(xmlTextWriterWriteString(writer, ISC_XMLCHAR boottime)); - TRY0(xmlTextWriterEndElement(writer)); + TRY0(xmlTextWriterEndElement(writer)); /* boot-time */ TRY0(xmlTextWriterStartElement(writer, ISC_XMLCHAR "current-time")); TRY0(xmlTextWriterWriteString(writer, ISC_XMLCHAR nowstr)); - TRY0(xmlTextWriterEndElement(writer)); + TRY0(xmlTextWriterEndElement(writer)); /* current-time */ TRY0(xmlTextWriterStartElement(writer, ISC_XMLCHAR "requests")); dumparg.result = ISC_R_SUCCESS; @@ -1461,7 +1462,8 @@ wrap_xmlfree(isc_buffer_t *buffer, void *arg) { } static isc_result_t -render_index(const char *url, const char *querystring, void *arg, +render_index(const char *url, isc_httpdurl_t *urlinfo, + const char *querystring, const char *headers, void *arg, unsigned int *retcode, const char **retmsg, const char **mimetype, isc_buffer_t *b, isc_httpdfree_t **freecb, void **freecb_args) @@ -1472,7 +1474,9 @@ render_index(const char *url, const char *querystring, void *arg, isc_result_t result; UNUSED(url); + UNUSED(urlinfo); UNUSED(querystring); + UNUSED(headers); result = generatexml(server, &msglen, &msg); @@ -1495,22 +1499,56 @@ render_index(const char *url, const char *querystring, void *arg, #endif /* HAVE_LIBXML2 */ static isc_result_t -render_xsl(const char *url, const char *querystring, void *args, - unsigned int *retcode, const char **retmsg, const char **mimetype, - isc_buffer_t *b, isc_httpdfree_t **freecb, - void **freecb_args) +render_xsl(const char *url, isc_httpdurl_t *urlinfo, + const char *querystring, const char *headers, + void *args, unsigned int *retcode, const char **retmsg, + const char **mimetype, isc_buffer_t *b, + isc_httpdfree_t **freecb, void **freecb_args) { + isc_result_t result; + UNUSED(url); UNUSED(querystring); UNUSED(args); + *freecb = NULL; + *freecb_args = NULL; + *mimetype = "text/xslt+xml"; + + if (urlinfo->isstatic) { + isc_time_t when; + char *p = strcasestr(headers, "If-Modified-Since: "); + + if (p != NULL) { + time_t t1, t2; + p += strlen("If-Modified-Since: "); + result = isc_time_parsehttptimestamp(p, &when); + if (result != ISC_R_SUCCESS) + goto send; + + result = isc_time_secondsastimet(&when, &t1); + if (result != ISC_R_SUCCESS) + goto send; + + result = isc_time_secondsastimet(&urlinfo->loadtime, + &t2); + if (result != ISC_R_SUCCESS) + goto send; + + if (t1 < t2) + goto send; + + *retcode = 304; + *retmsg = "Not modified"; + return (ISC_R_SUCCESS); + } + } + + send: *retcode = 200; *retmsg = "OK"; - *mimetype = "text/xslt+xml"; isc_buffer_reinit(b, xslmsg, strlen(xslmsg)); isc_buffer_add(b, strlen(xslmsg)); - *freecb = NULL; - *freecb_args = NULL; return (ISC_R_SUCCESS); } @@ -1647,11 +1685,11 @@ add_listener(ns_server_t *server, ns_statschannel_t **listenerp, #endif /* NEWSTATS */ #endif #ifdef NEWSTATS - isc_httpdmgr_addurl(listener->httpdmgr, "/bind9.ver3.xsl", render_xsl, - server); + isc_httpdmgr_addurl2(listener->httpdmgr, "/bind9.ver3.xsl", ISC_TRUE, + render_xsl, server); #else /* OLDSTATS */ - isc_httpdmgr_addurl(listener->httpdmgr, "/bind9.xsl", render_xsl, - server); + isc_httpdmgr_addurl2(listener->httpdmgr, "/bind9.xsl", ISC_TRUE, + render_xsl, server); #endif /* NEWSTATS */ *listenerp = listener; isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL, diff --git a/bin/named/unix/os.c b/bin/named/unix/os.c index 1a0d4db7..d6c82a76 100644 --- a/bin/named/unix/os.c +++ b/bin/named/unix/os.c @@ -117,12 +117,12 @@ static int dfd[2] = { -1, -1 }; static isc_boolean_t non_root = ISC_FALSE; static isc_boolean_t non_root_caps = ISC_FALSE; -#ifdef HAVE_LINUX_TYPES_H -#include <linux/types.h> -#endif #ifdef HAVE_SYS_CAPABILITY_H #include <sys/capability.h> #else +#ifdef HAVE_LINUX_TYPES_H +#include <linux/types.h> +#endif /*% * We define _LINUX_FS_H to prevent it from being included. We don't need * anything from it, and the files it includes cause warnings with 2.2 diff --git a/bin/named/update.c b/bin/named/update.c index 2263382e..f3ad8387 100644 --- a/bin/named/update.c +++ b/bin/named/update.c @@ -404,7 +404,6 @@ do_one_tuple(dns_difftuple_t **tuple, dns_db_t *db, dns_dbversion_t *ver, * Create a singleton diff. */ dns_diff_init(diff->mctx, &temp_diff); - temp_diff.resign = diff->resign; ISC_LIST_APPEND(temp_diff.tuples, *tuple, link); /* diff --git a/bin/named/win32/named.dsp b/bin/named/win32/named.dsp.in index 23284831..f252528b 100644 --- a/bin/named/win32/named.dsp +++ b/bin/named/win32/named.dsp.in @@ -1,333 +1,337 @@ -# Microsoft Developer Studio Project File - Name="named" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=named - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "named.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "named.mak" CFG="named - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "named - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "named - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "named - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /MD /W3 /GX /O2 /I "../../../../openssl-0.9.8l/inc32" /I "./" /I "../../../" /I "../../../../libxml2-2.7.3/include" /I "../win32/include" /I "../include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isc/noatomic/include" /I "../../../lib/dns/win32/include" /I "../../../lib/dns/include" /I "../../../lib/isccc/include" /I "../../../lib/lwres/win32/include" /I "../../../lib/lwres/include" /I "../../../lib/isccfg/include" /I "../../../lib/bind9/include" /D "OPENSSL" /D "WIN32" /D "NDEBUG" /D "__STDC__" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 ../../../../libxml2-2.7.3/win32/bin.msvc/libxml2.lib
-# ADD LINK32 user32.lib advapi32.lib kernel32.lib ws2_32.lib ../../../lib/isc/win32/Release/libisc.lib ../../../lib/dns/win32/Release/libdns.lib ../../../lib/isccc/win32/Release/libisccc.lib ../../../lib/lwres/win32/Release/liblwres.lib ../../../lib/isccfg/win32/Release/libisccfg.lib ../../../lib/bind9/win32/Release/libbind9.lib /nologo /subsystem:console /machine:I386 /out:"../../../Build/Release/named.exe"
-
-!ELSEIF "$(CFG)" == "named - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../../../openssl-0.9.8l/inc32" /I "./" /I "../../../" /I "../../../../libxml2-2.7.3/include" /I "../win32/include" /I "../include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isc/noatomic/include" /I "../../../lib/dns/win32/include" /I "../../../lib/dns/include" /I "../../../lib/isccc/include" /I "../../../lib/lwres/win32/include" /I "../../../lib/lwres/include" /I "../../../lib/isccfg/include" /I "../../../lib/bind9/include" /D "OPENSSL" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "i386" /FR /FD /GZ /c
-# SUBTRACT CPP /X /YX
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 ../../../../libxml2-2.7.3/win32/bin.msvc/libxml2.lib
-# ADD LINK32 user32.lib advapi32.lib kernel32.lib ws2_32.lib ../../../lib/isc/win32/Debug/libisc.lib ../../../lib/dns/win32/Debug/libdns.lib ../../../lib/isccc/win32/Debug/libisccc.lib ../../../lib/lwres/win32/Debug/liblwres.lib ../../../lib/isccfg/win32/Debug/libisccfg.lib ../../../lib/bind9/win32/Debug/libbind9.lib /nologo /subsystem:console /map /debug /machine:I386 /out:"../../../Build/Debug/named.exe" /pdbtype:sept
-
-!ENDIF
-
-# Begin Target
-
-# Name "named - Win32 Release"
-# Name "named - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=..\builtin.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\client.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\config.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\control.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\controlconf.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\dlz_dlopen_driver.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\interfacemgr.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\listenlist.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\log.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\logconf.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\lwaddr.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\lwdclient.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\lwderror.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\lwdgabn.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\lwdgnba.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\lwdgrbn.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\lwdnoop.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\lwresd.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\lwsearch.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\main.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\notify.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\ntservice.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\os.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\query.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\server.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\sortlist.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\statschannel.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\tkeyconf.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\tsigconf.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\update.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\xfrout.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\zoneconf.c
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# Begin Source File
-
-SOURCE=..\include\named\client.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\include\named\config.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\include\named\globals.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\include\named\interfacemgr.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\include\named\listenlist.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\include\named\log.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\include\named\logconf.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\include\named\lwaddr.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\include\named\lwdclient.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\include\named\lwresd.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\include\named\lwsearch.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\include\named\main.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\include\named\notify.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\include\named\ntservice.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\include\named\omapi.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\include\named\os.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\include\named\query.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\include\named\server.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\include\named\sortlist.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\include\named\statschannel.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\include\named\tkeyconf.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\include\named\tsigconf.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\include\named\types.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\include\named\update.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\include\named\xfrout.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\include\named\zoneconf.h
-# End Source File
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
+# Microsoft Developer Studio Project File - Name="named" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "@PLATFORM@ (x86) Console Application" 0x0103 + +CFG=named - @PLATFORM@ Debug +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "named.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "named.mak" CFG="named - @PLATFORM@ Debug" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "named - @PLATFORM@ Release" (based on "@PLATFORM@ (x86) Console Application") +!MESSAGE "named - @PLATFORM@ Debug" (based on "@PLATFORM@ (x86) Console Application") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "named - @PLATFORM@ Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release" +# PROP BASE Intermediate_Dir "Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "Release" +# PROP Intermediate_Dir "Release" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 @COPTX@ @COPTI@ /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" @COPTY@ /FD /c +# ADD CPP /nologo /MD /W3 @COPTX@ @COPTI@ /O2 @OPENSSL_INC@ @GSSAPI_INC@ @GEOIP_INC@ /I "./" /I "../../../" @LIBXML2_INC@ /I "../win32/include" /I "../include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/win32/include" /I "../../../lib/dns/include" /I "../../../lib/isccc/include" /I "../../../lib/lwres/win32/include" /I "../../../lib/lwres/include" /I "../../../lib/isccfg/include" /I "../../../lib/bind9/include" @USE_OPENSSL@ @USE_GSSAPI@ /D "BUILDER=\"old Visual Studio\"" /D "WIN32" /D "NDEBUG" /D "__STDC__" /D "_CONSOLE" /D "_MBCS" @COPTY@ /FD /c +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console @MACHINE@ +# ADD LINK32 @LIBXML2_LIB@ @GSSAPI_LIB@ @GEOIP_LIB@ user32.lib advapi32.lib kernel32.lib ws2_32.lib ../../../lib/isc/win32/Release/libisc.lib ../../../lib/dns/win32/Release/libdns.lib ../../../lib/isccc/win32/Release/libisccc.lib ../../../lib/lwres/win32/Release/liblwres.lib ../../../lib/isccfg/win32/Release/libisccfg.lib ../../../lib/bind9/win32/Release/libbind9.lib /nologo /subsystem:console @MACHINE@ /out:"../../../Build/Release/named.exe" + +!ELSEIF "$(CFG)" == "named - @PLATFORM@ Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "Debug" +# PROP BASE Intermediate_Dir "Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "Debug" +# PROP Intermediate_Dir "Debug" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /Gm @COPTX@ @COPTI@ /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" @COPTY@ /FD /GZ /c +# ADD CPP /nologo /MDd /W3 /Gm @COPTX@ @COPTI@ /ZI /Od @OPENSSL_INC@ @GSSAPI_INC@ @GEOIP_INC@ /I "./" /I "../../../" @LIBXML2_INC@ /I "../win32/include" /I "../include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/win32/include" /I "../../../lib/dns/include" /I "../../../lib/isccc/include" /I "../../../lib/lwres/win32/include" /I "../../../lib/lwres/include" /I "../../../lib/isccfg/include" /I "../../../lib/bind9/include" @USE_OPENSSL@ @USE_GSSAPI@ /D "BUILDER=\"old Visual Studio\"" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "i386" /FR /FD /GZ /c +# SUBTRACT CPP /X @COPTY@ +# ADD BASE RSC /l 0x409 /d "_DEBUG" +# ADD RSC /l 0x409 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug @MACHINE@ /pdbtype:sept +# ADD LINK32 @LIBXML2_LIB@ @GSSAPI_LIB@ @GEOIP_LIB@ user32.lib advapi32.lib kernel32.lib ws2_32.lib ../../../lib/isc/win32/Debug/libisc.lib ../../../lib/dns/win32/Debug/libdns.lib ../../../lib/isccc/win32/Debug/libisccc.lib ../../../lib/lwres/win32/Debug/liblwres.lib ../../../lib/isccfg/win32/Debug/libisccfg.lib ../../../lib/bind9/win32/Debug/libbind9.lib /nologo /subsystem:console /map /debug @MACHINE@ /out:"../../../Build/Debug/named.exe" /pdbtype:sept + +!ENDIF + +# Begin Target + +# Name "named - @PLATFORM@ Release" +# Name "named - @PLATFORM@ Debug" +# Begin Group "Source Files" + +# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" +# Begin Source File + +SOURCE=..\builtin.c +# End Source File +# Begin Source File + +SOURCE=..\client.c +# End Source File +# Begin Source File + +SOURCE=..\config.c +# End Source File +# Begin Source File + +SOURCE=..\control.c +# End Source File +# Begin Source File + +SOURCE=..\controlconf.c +# End Source File +# Begin Source File + +SOURCE=.\dlz_dlopen_driver.c +# End Source File +@IF GEOIP +# Begin Source File + +SOURCE=..\geoip.c +# End Source File +@END GEOIP +# Begin Source File + +SOURCE=..\interfacemgr.c +# End Source File +# Begin Source File + +SOURCE=..\listenlist.c +# End Source File +# Begin Source File + +SOURCE=..\log.c +# End Source File +# Begin Source File + +SOURCE=..\logconf.c +# End Source File +# Begin Source File + +SOURCE=..\lwaddr.c +# End Source File +# Begin Source File + +SOURCE=..\lwdclient.c +# End Source File +# Begin Source File + +SOURCE=..\lwderror.c +# End Source File +# Begin Source File + +SOURCE=..\lwdgabn.c +# End Source File +# Begin Source File + +SOURCE=..\lwdgnba.c +# End Source File +# Begin Source File + +SOURCE=..\lwdgrbn.c +# End Source File +# Begin Source File + +SOURCE=..\lwdnoop.c +# End Source File +# Begin Source File + +SOURCE=..\lwresd.c +# End Source File +# Begin Source File + +SOURCE=..\lwsearch.c +# End Source File +# Begin Source File + +SOURCE=..\main.c +# End Source File +# Begin Source File + +SOURCE=..\notify.c +# End Source File +# Begin Source File + +SOURCE=.\ntservice.c +# End Source File +# Begin Source File + +SOURCE=.\os.c +# End Source File +# Begin Source File + +SOURCE=..\query.c +# End Source File +# Begin Source File + +SOURCE=..\server.c +# End Source File +# Begin Source File + +SOURCE=..\sortlist.c +# End Source File +# Begin Source File + +SOURCE=..\statschannel.c +# End Source File +# Begin Source File + +SOURCE=..\tkeyconf.c +# End Source File +# Begin Source File + +SOURCE=..\tsigconf.c +# End Source File +# Begin Source File + +SOURCE=..\update.c +# End Source File +# Begin Source File + +SOURCE=..\xfrout.c +# End Source File +# Begin Source File + +SOURCE=..\zoneconf.c +# End Source File +# End Group +# Begin Group "Header Files" + +# PROP Default_Filter "h;hpp;hxx;hm;inl" +# Begin Source File + +SOURCE=..\include\named\client.h +# End Source File +# Begin Source File + +SOURCE=..\include\named\config.h +# End Source File +# Begin Source File + +SOURCE=..\include\named\globals.h +# End Source File +# Begin Source File + +SOURCE=..\include\named\interfacemgr.h +# End Source File +# Begin Source File + +SOURCE=..\include\named\listenlist.h +# End Source File +# Begin Source File + +SOURCE=..\include\named\log.h +# End Source File +# Begin Source File + +SOURCE=..\include\named\logconf.h +# End Source File +# Begin Source File + +SOURCE=..\include\named\lwaddr.h +# End Source File +# Begin Source File + +SOURCE=..\include\named\lwdclient.h +# End Source File +# Begin Source File + +SOURCE=..\include\named\lwresd.h +# End Source File +# Begin Source File + +SOURCE=..\include\named\lwsearch.h +# End Source File +# Begin Source File + +SOURCE=..\include\named\main.h +# End Source File +# Begin Source File + +SOURCE=..\include\named\notify.h +# End Source File +# Begin Source File + +SOURCE=.\include\named\ntservice.h +# End Source File +# Begin Source File + +SOURCE=..\include\named\omapi.h +# End Source File +# Begin Source File + +SOURCE=.\include\named\os.h +# End Source File +# Begin Source File + +SOURCE=..\include\named\query.h +# End Source File +# Begin Source File + +SOURCE=..\include\named\server.h +# End Source File +# Begin Source File + +SOURCE=..\include\named\sortlist.h +# End Source File +# Begin Source File + +SOURCE=..\include\named\statschannel.h +# End Source File +# Begin Source File + +SOURCE=..\include\named\tkeyconf.h +# End Source File +# Begin Source File + +SOURCE=..\include\named\tsigconf.h +# End Source File +# Begin Source File + +SOURCE=..\include\named\types.h +# End Source File +# Begin Source File + +SOURCE=..\include\named\update.h +# End Source File +# Begin Source File + +SOURCE=..\include\named\xfrout.h +# End Source File +# Begin Source File + +SOURCE=..\include\named\zoneconf.h +# End Source File +# End Group +# Begin Group "Resource Files" + +# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" +# End Group +# End Target +# End Project diff --git a/bin/named/win32/named.mak b/bin/named/win32/named.mak.in index 7882bea5..735d5b70 100644 --- a/bin/named/win32/named.mak +++ b/bin/named/win32/named.mak.in @@ -1,1197 +1,1233 @@ -# Microsoft Developer Studio Generated NMAKE File, Based on named.dsp
-!IF "$(CFG)" == ""
-CFG=named - Win32 Debug
-!MESSAGE No configuration specified. Defaulting to named - Win32 Debug.
-!ENDIF
-
-!IF "$(CFG)" != "named - Win32 Release" && "$(CFG)" != "named - Win32 Debug"
-!MESSAGE Invalid configuration "$(CFG)" specified.
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "named.mak" CFG="named - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "named - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "named - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE
-!ERROR An invalid configuration is specified.
-!ENDIF
-
-!IF "$(OS)" == "Windows_NT"
-NULL=
-!ELSE
-NULL=nul
-!ENDIF
-
-CPP=cl.exe
-RSC=rc.exe
-LIBXML=../../../../libxml2-2.7.3/win32/bin.msvc/libxml2.lib
-
-!IF "$(CFG)" == "named - Win32 Release"
-_VC_MANIFEST_INC=0
-_VC_MANIFEST_BASENAME=__VC80
-!ELSE
-_VC_MANIFEST_INC=1
-_VC_MANIFEST_BASENAME=__VC80.Debug
-!ENDIF
-
-####################################################
-# Specifying name of temporary resource file used only in incremental builds:
-
-!if "$(_VC_MANIFEST_INC)" == "1"
-_VC_MANIFEST_AUTO_RES=$(_VC_MANIFEST_BASENAME).auto.res
-!else
-_VC_MANIFEST_AUTO_RES=
-!endif
-
-####################################################
-# _VC_MANIFEST_EMBED_EXE - command to embed manifest in EXE:
-
-!if "$(_VC_MANIFEST_INC)" == "1"
-
-#MT_SPECIAL_RETURN=1090650113
-#MT_SPECIAL_SWITCH=-notify_resource_update
-MT_SPECIAL_RETURN=0
-MT_SPECIAL_SWITCH=
-_VC_MANIFEST_EMBED_EXE= \
-if exist $@.manifest mt.exe -manifest $@.manifest -out:$(_VC_MANIFEST_BASENAME).auto.manifest $(MT_SPECIAL_SWITCH) & \
-if "%ERRORLEVEL%" == "$(MT_SPECIAL_RETURN)" \
-rc /r $(_VC_MANIFEST_BASENAME).auto.rc & \
-link $** /out:$@ $(LFLAGS)
-
-!else
-
-_VC_MANIFEST_EMBED_EXE= \
-if exist $@.manifest mt.exe -manifest $@.manifest -outputresource:$@;1
-
-!endif
-
-####################################################
-# _VC_MANIFEST_EMBED_DLL - command to embed manifest in DLL:
-
-!if "$(_VC_MANIFEST_INC)" == "1"
-
-#MT_SPECIAL_RETURN=1090650113
-#MT_SPECIAL_SWITCH=-notify_resource_update
-MT_SPECIAL_RETURN=0
-MT_SPECIAL_SWITCH=
-_VC_MANIFEST_EMBED_EXE= \
-if exist $@.manifest mt.exe -manifest $@.manifest -out:$(_VC_MANIFEST_BASENAME).auto.manifest $(MT_SPECIAL_SWITCH) & \
-if "%ERRORLEVEL%" == "$(MT_SPECIAL_RETURN)" \
-rc /r $(_VC_MANIFEST_BASENAME).auto.rc & \
-link $** /out:$@ $(LFLAGS)
-
-!else
-
-_VC_MANIFEST_EMBED_EXE= \
-if exist $@.manifest mt.exe -manifest $@.manifest -outputresource:$@;2
-
-!endif
-####################################################
-# _VC_MANIFEST_CLEAN - command to clean resources files generated temporarily:
-
-!if "$(_VC_MANIFEST_INC)" == "1"
-
-_VC_MANIFEST_CLEAN=-del $(_VC_MANIFEST_BASENAME).auto.res \
- $(_VC_MANIFEST_BASENAME).auto.rc \
- $(_VC_MANIFEST_BASENAME).auto.manifest
-
-!else
-
-_VC_MANIFEST_CLEAN=
-
-!endif
-
-!IF "$(CFG)" == "named - Win32 Release"
-
-OUTDIR=.\Release
-INTDIR=.\Release
-
-!IF "$(RECURSE)" == "0"
-
-ALL : "..\..\..\Build\Release\named.exe"
-
-!ELSE
-
-ALL : "libisccfg - Win32 Release" "libisccc - Win32 Release" "liblwres - Win32 Release" "libbind9 - Win32 Release" "libisc - Win32 Release" "libdns - Win32 Release" "..\..\..\Build\Release\named.exe"
-
-!ENDIF
-
-!IF "$(RECURSE)" == "1"
-CLEAN :"libdns - Win32 ReleaseCLEAN" "libisc - Win32 ReleaseCLEAN" "libbind9 - Win32 ReleaseCLEAN" "liblwres - Win32 ReleaseCLEAN" "libisccc - Win32 ReleaseCLEAN" "libisccfg - Win32 ReleaseCLEAN"
-!ELSE
-CLEAN :
-!ENDIF
- -@erase "$(INTDIR)\builtin.obj"
- -@erase "$(INTDIR)\client.obj"
- -@erase "$(INTDIR)\config.obj"
- -@erase "$(INTDIR)\control.obj"
- -@erase "$(INTDIR)\controlconf.obj"
- -@erase "$(INTDIR)\dlz_dlopen_driver.obj"
- -@erase "$(INTDIR)\interfacemgr.obj"
- -@erase "$(INTDIR)\listenlist.obj"
- -@erase "$(INTDIR)\log.obj"
- -@erase "$(INTDIR)\logconf.obj"
- -@erase "$(INTDIR)\lwaddr.obj"
- -@erase "$(INTDIR)\lwdclient.obj"
- -@erase "$(INTDIR)\lwderror.obj"
- -@erase "$(INTDIR)\lwdgabn.obj"
- -@erase "$(INTDIR)\lwdgnba.obj"
- -@erase "$(INTDIR)\lwdgrbn.obj"
- -@erase "$(INTDIR)\lwdnoop.obj"
- -@erase "$(INTDIR)\lwresd.obj"
- -@erase "$(INTDIR)\lwsearch.obj"
- -@erase "$(INTDIR)\main.obj"
- -@erase "$(INTDIR)\notify.obj"
- -@erase "$(INTDIR)\ntservice.obj"
- -@erase "$(INTDIR)\os.obj"
- -@erase "$(INTDIR)\query.obj"
- -@erase "$(INTDIR)\server.obj"
- -@erase "$(INTDIR)\sortlist.obj"
- -@erase "$(INTDIR)\statschannel.obj"
- -@erase "$(INTDIR)\tkeyconf.obj"
- -@erase "$(INTDIR)\tsigconf.obj"
- -@erase "$(INTDIR)\update.obj"
- -@erase "$(INTDIR)\vc60.idb"
- -@erase "$(INTDIR)\xfrout.obj"
- -@erase "$(INTDIR)\zoneconf.obj"
- -@erase "..\..\..\Build\Release\named.exe"
- -@$(_VC_MANIFEST_CLEAN)
-
-"$(OUTDIR)" :
- if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
-
-CPP_PROJ=/nologo /MD /W3 /GX /O2 /I "../../../../openssl-0.9.8l/inc32" /I "./" /I "../../../" /I "../../../../libxml2-2.7.3/include" /I "../win32/include" /I "../include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isc/noatomic/include" /I "../../../lib/dns/win32/include" /I "../../../lib/dns/include" /I "../../../lib/isccc/include" /I "../../../lib/lwres/win32/include" /I "../../../lib/lwres/include" /I "../../../lib/isccfg/include" /I "../../../lib/bind9/include" /D "OPENSSL" /D "WIN32" /D "NDEBUG" /D "__STDC__" /D "_CONSOLE" /D "_MBCS" /Fp"$(INTDIR)\named.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c
-BSC32=bscmake.exe
-BSC32_FLAGS=/nologo /o"$(OUTDIR)\named.bsc"
-BSC32_SBRS= \
-
-LINK32=link.exe
-LINK32_FLAGS=user32.lib advapi32.lib kernel32.lib ws2_32.lib ../../../lib/isc/win32/Release/libisc.lib ../../../lib/dns/win32/Release/libdns.lib ../../../lib/isccc/win32/Release/libisccc.lib ../../../lib/lwres/win32/Release/liblwres.lib ../../../lib/isccfg/win32/Release/libisccfg.lib ../../../lib/bind9/win32/Release/libbind9.lib $(LIBXML) /nologo /subsystem:console /incremental:no /pdb:"$(OUTDIR)\named.pdb" /machine:I386 /out:"../../../Build/Release/named.exe"
-LINK32_OBJS= \
- "$(INTDIR)\client.obj" \
- "$(INTDIR)\config.obj" \
- "$(INTDIR)\control.obj" \
- "$(INTDIR)\controlconf.obj" \
- "$(INTDIR)\dlz_dlopen_driver.obj" \
- "$(INTDIR)\interfacemgr.obj" \
- "$(INTDIR)\listenlist.obj" \
- "$(INTDIR)\log.obj" \
- "$(INTDIR)\logconf.obj" \
- "$(INTDIR)\lwaddr.obj" \
- "$(INTDIR)\lwdclient.obj" \
- "$(INTDIR)\lwderror.obj" \
- "$(INTDIR)\lwdgabn.obj" \
- "$(INTDIR)\lwdgnba.obj" \
- "$(INTDIR)\lwdgrbn.obj" \
- "$(INTDIR)\lwdnoop.obj" \
- "$(INTDIR)\lwresd.obj" \
- "$(INTDIR)\lwsearch.obj" \
- "$(INTDIR)\main.obj" \
- "$(INTDIR)\notify.obj" \
- "$(INTDIR)\ntservice.obj" \
- "$(INTDIR)\os.obj" \
- "$(INTDIR)\query.obj" \
- "$(INTDIR)\server.obj" \
- "$(INTDIR)\sortlist.obj" \
- "$(INTDIR)\statschannel.obj" \
- "$(INTDIR)\tkeyconf.obj" \
- "$(INTDIR)\tsigconf.obj" \
- "$(INTDIR)\update.obj" \
- "$(INTDIR)\xfrout.obj" \
- "$(INTDIR)\zoneconf.obj" \
- "$(INTDIR)\builtin.obj" \
- "..\..\..\lib\dns\win32\Release\libdns.lib" \
- "..\..\..\lib\isc\win32\Release\libisc.lib" \
- "..\..\..\lib\bind9\win32\Release\libbind9.lib" \
- "..\..\..\lib\lwres\win32\Release\liblwres.lib" \
- "..\..\..\lib\isccc\win32\Release\libisccc.lib" \
- "..\..\..\lib\isccfg\win32\Release\libisccfg.lib"
-
-"..\..\..\Build\Release\named.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
- $(LINK32) @<<
- $(LINK32_FLAGS) $(LINK32_OBJS)
-<<
- $(_VC_MANIFEST_EMBED_EXE)
-
-!ELSEIF "$(CFG)" == "named - Win32 Debug"
-
-OUTDIR=.\Debug
-INTDIR=.\Debug
-# Begin Custom Macros
-OutDir=.\Debug
-# End Custom Macros
-
-!IF "$(RECURSE)" == "0"
-
-ALL : "..\..\..\Build\Debug\named.exe" "$(OUTDIR)\named.bsc"
-
-!ELSE
-
-ALL : "libisccfg - Win32 Debug" "libisccc - Win32 Debug" "liblwres - Win32 Debug" "libbind9 - Win32 Debug" "libisc - Win32 Debug" "libdns - Win32 Debug" "..\..\..\Build\Debug\named.exe" "$(OUTDIR)\named.bsc"
-
-!ENDIF
-
-!IF "$(RECURSE)" == "1"
-CLEAN :"libdns - Win32 DebugCLEAN" "libisc - Win32 DebugCLEAN" "libbind9 - Win32 DebugCLEAN" "liblwres - Win32 DebugCLEAN" "libisccc - Win32 DebugCLEAN" "libisccfg - Win32 DebugCLEAN"
-!ELSE
-CLEAN :
-!ENDIF
- -@erase "$(INTDIR)\builtin.obj"
- -@erase "$(INTDIR)\builtin.sbr"
- -@erase "$(INTDIR)\client.obj"
- -@erase "$(INTDIR)\client.sbr"
- -@erase "$(INTDIR)\config.obj"
- -@erase "$(INTDIR)\config.sbr"
- -@erase "$(INTDIR)\control.obj"
- -@erase "$(INTDIR)\control.sbr"
- -@erase "$(INTDIR)\controlconf.obj"
- -@erase "$(INTDIR)\controlconf.sbr"
- -@erase "$(INTDIR)\dlz_dlopen_driver.obj"
- -@erase "$(INTDIR)\dlz_dlopen_driver.sbr"
- -@erase "$(INTDIR)\interfacemgr.obj"
- -@erase "$(INTDIR)\interfacemgr.sbr"
- -@erase "$(INTDIR)\listenlist.obj"
- -@erase "$(INTDIR)\listenlist.sbr"
- -@erase "$(INTDIR)\log.obj"
- -@erase "$(INTDIR)\log.sbr"
- -@erase "$(INTDIR)\logconf.obj"
- -@erase "$(INTDIR)\logconf.sbr"
- -@erase "$(INTDIR)\lwaddr.obj"
- -@erase "$(INTDIR)\lwaddr.sbr"
- -@erase "$(INTDIR)\lwdclient.obj"
- -@erase "$(INTDIR)\lwdclient.sbr"
- -@erase "$(INTDIR)\lwderror.obj"
- -@erase "$(INTDIR)\lwderror.sbr"
- -@erase "$(INTDIR)\lwdgabn.obj"
- -@erase "$(INTDIR)\lwdgabn.sbr"
- -@erase "$(INTDIR)\lwdgnba.obj"
- -@erase "$(INTDIR)\lwdgnba.sbr"
- -@erase "$(INTDIR)\lwdgrbn.obj"
- -@erase "$(INTDIR)\lwdgrbn.sbr"
- -@erase "$(INTDIR)\lwdnoop.obj"
- -@erase "$(INTDIR)\lwdnoop.sbr"
- -@erase "$(INTDIR)\lwresd.obj"
- -@erase "$(INTDIR)\lwresd.sbr"
- -@erase "$(INTDIR)\lwsearch.obj"
- -@erase "$(INTDIR)\lwsearch.sbr"
- -@erase "$(INTDIR)\main.obj"
- -@erase "$(INTDIR)\main.sbr"
- -@erase "$(INTDIR)\notify.obj"
- -@erase "$(INTDIR)\notify.sbr"
- -@erase "$(INTDIR)\ntservice.obj"
- -@erase "$(INTDIR)\ntservice.sbr"
- -@erase "$(INTDIR)\os.obj"
- -@erase "$(INTDIR)\os.sbr"
- -@erase "$(INTDIR)\query.obj"
- -@erase "$(INTDIR)\query.sbr"
- -@erase "$(INTDIR)\server.obj"
- -@erase "$(INTDIR)\server.sbr"
- -@erase "$(INTDIR)\sortlist.obj"
- -@erase "$(INTDIR)\sortlist.sbr"
- -@erase "$(INTDIR)\statschannel.obj"
- -@erase "$(INTDIR)\statschannel.sbr"
- -@erase "$(INTDIR)\tkeyconf.obj"
- -@erase "$(INTDIR)\tkeyconf.sbr"
- -@erase "$(INTDIR)\tsigconf.obj"
- -@erase "$(INTDIR)\tsigconf.sbr"
- -@erase "$(INTDIR)\update.obj"
- -@erase "$(INTDIR)\update.sbr"
- -@erase "$(INTDIR)\vc60.idb"
- -@erase "$(INTDIR)\vc60.pdb"
- -@erase "$(INTDIR)\xfrout.obj"
- -@erase "$(INTDIR)\xfrout.sbr"
- -@erase "$(INTDIR)\zoneconf.obj"
- -@erase "$(INTDIR)\zoneconf.sbr"
- -@erase "$(OUTDIR)\named.bsc"
- -@erase "$(OUTDIR)\named.map"
- -@erase "$(OUTDIR)\named.pdb"
- -@erase "..\..\..\Build\Debug\named.exe"
- -@erase "..\..\..\Build\Debug\named.ilk"
- -@$(_VC_MANIFEST_CLEAN)
-
-"$(OUTDIR)" :
- if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
-
-CPP_PROJ=/nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../../../openssl-0.9.8l/inc32" /I "./" /I "../../../" /I "../../../../libxml2-2.7.3/include" /I "../win32/include" /I "../include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isc/noatomic/include" /I "../../../lib/dns/win32/include" /I "../../../lib/dns/include" /I "../../../lib/isccc/include" /I "../../../lib/lwres/win32/include" /I "../../../lib/lwres/include" /I "../../../lib/isccfg/include" /I "../../../lib/bind9/include" /D "OPENSSL" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "i386" /FR"$(INTDIR)\\" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /GZ /c
-BSC32=bscmake.exe
-BSC32_FLAGS=/nologo /o"$(OUTDIR)\named.bsc"
-BSC32_SBRS= \
- "$(INTDIR)\client.sbr" \
- "$(INTDIR)\config.sbr" \
- "$(INTDIR)\control.sbr" \
- "$(INTDIR)\controlconf.sbr" \
- "$(INTDIR)\dlz_dlopen_driver.sbr" \
- "$(INTDIR)\interfacemgr.sbr" \
- "$(INTDIR)\listenlist.sbr" \
- "$(INTDIR)\log.sbr" \
- "$(INTDIR)\logconf.sbr" \
- "$(INTDIR)\lwaddr.sbr" \
- "$(INTDIR)\lwdclient.sbr" \
- "$(INTDIR)\lwderror.sbr" \
- "$(INTDIR)\lwdgabn.sbr" \
- "$(INTDIR)\lwdgnba.sbr" \
- "$(INTDIR)\lwdgrbn.sbr" \
- "$(INTDIR)\lwdnoop.sbr" \
- "$(INTDIR)\lwresd.sbr" \
- "$(INTDIR)\lwsearch.sbr" \
- "$(INTDIR)\main.sbr" \
- "$(INTDIR)\notify.sbr" \
- "$(INTDIR)\ntservice.sbr" \
- "$(INTDIR)\os.sbr" \
- "$(INTDIR)\query.sbr" \
- "$(INTDIR)\server.sbr" \
- "$(INTDIR)\sortlist.sbr" \
- "$(INTDIR)\statschannel.sbr" \
- "$(INTDIR)\tkeyconf.sbr" \
- "$(INTDIR)\tsigconf.sbr" \
- "$(INTDIR)\update.sbr" \
- "$(INTDIR)\xfrout.sbr" \
- "$(INTDIR)\zoneconf.sbr" \
- "$(INTDIR)\builtin.sbr"
-
-"$(OUTDIR)\named.bsc" : "$(OUTDIR)" $(BSC32_SBRS)
- $(BSC32) @<<
- $(BSC32_FLAGS) $(BSC32_SBRS)
-<<
-
-LINK32=link.exe
-LINK32_FLAGS=user32.lib advapi32.lib kernel32.lib ws2_32.lib ../../../lib/isc/win32/Debug/libisc.lib ../../../lib/dns/win32/Debug/libdns.lib ../../../lib/isccc/win32/Debug/libisccc.lib ../../../lib/lwres/win32/Debug/liblwres.lib ../../../lib/isccfg/win32/Debug/libisccfg.lib ../../../lib/bind9/win32/Debug/libbind9.lib $(LIBXML) /nologo /subsystem:console /incremental:yes /pdb:"$(OUTDIR)\named.pdb" /map:"$(INTDIR)\named.map" /debug /machine:I386 /out:"../../../Build/Debug/named.exe" /pdbtype:sept
-LINK32_OBJS= \
- "$(INTDIR)\client.obj" \
- "$(INTDIR)\config.obj" \
- "$(INTDIR)\control.obj" \
- "$(INTDIR)\controlconf.obj" \
- "$(INTDIR)\dlz_dlopen_driver.obj" \
- "$(INTDIR)\interfacemgr.obj" \
- "$(INTDIR)\listenlist.obj" \
- "$(INTDIR)\log.obj" \
- "$(INTDIR)\logconf.obj" \
- "$(INTDIR)\lwaddr.obj" \
- "$(INTDIR)\lwdclient.obj" \
- "$(INTDIR)\lwderror.obj" \
- "$(INTDIR)\lwdgabn.obj" \
- "$(INTDIR)\lwdgnba.obj" \
- "$(INTDIR)\lwdgrbn.obj" \
- "$(INTDIR)\lwdnoop.obj" \
- "$(INTDIR)\lwresd.obj" \
- "$(INTDIR)\lwsearch.obj" \
- "$(INTDIR)\main.obj" \
- "$(INTDIR)\notify.obj" \
- "$(INTDIR)\ntservice.obj" \
- "$(INTDIR)\os.obj" \
- "$(INTDIR)\query.obj" \
- "$(INTDIR)\server.obj" \
- "$(INTDIR)\sortlist.obj" \
- "$(INTDIR)\statschannel.obj" \
- "$(INTDIR)\tkeyconf.obj" \
- "$(INTDIR)\tsigconf.obj" \
- "$(INTDIR)\update.obj" \
- "$(INTDIR)\xfrout.obj" \
- "$(INTDIR)\zoneconf.obj" \
- "$(INTDIR)\builtin.obj" \
- "..\..\..\lib\dns\win32\Debug\libdns.lib" \
- "..\..\..\lib\isc\win32\Debug\libisc.lib" \
- "..\..\..\lib\bind9\win32\Debug\libbind9.lib" \
- "..\..\..\lib\lwres\win32\Debug\liblwres.lib" \
- "..\..\..\lib\isccc\win32\Debug\libisccc.lib" \
- "..\..\..\lib\isccfg\win32\Debug\libisccfg.lib"
-
-"..\..\..\Build\Debug\named.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
- $(LINK32) @<<
- $(LINK32_FLAGS) $(LINK32_OBJS)
-<<
- $(_VC_MANIFEST_EMBED_EXE)
-
-!ENDIF
-
-.c{$(INTDIR)}.obj::
- $(CPP) @<<
- $(CPP_PROJ) $<
-<<
-
-.cpp{$(INTDIR)}.obj::
- $(CPP) @<<
- $(CPP_PROJ) $<
-<<
-
-.cxx{$(INTDIR)}.obj::
- $(CPP) @<<
- $(CPP_PROJ) $<
-<<
-
-.c{$(INTDIR)}.sbr::
- $(CPP) @<<
- $(CPP_PROJ) $<
-<<
-
-.cpp{$(INTDIR)}.sbr::
- $(CPP) @<<
- $(CPP_PROJ) $<
-<<
-
-.cxx{$(INTDIR)}.sbr::
- $(CPP) @<<
- $(CPP_PROJ) $<
-<<
-
-
-!IF "$(NO_EXTERNAL_DEPS)" != "1"
-!IF EXISTS("named.dep")
-!INCLUDE "named.dep"
-!ELSE
-!MESSAGE Warning: cannot find "named.dep"
-!ENDIF
-!ENDIF
-
-
-!IF "$(CFG)" == "named - Win32 Release" || "$(CFG)" == "named - Win32 Debug"
-SOURCE=..\builtin.c
-
-!IF "$(CFG)" == "named - Win32 Release"
-
-
-"$(INTDIR)\builtin.obj" : $(SOURCE) "$(INTDIR)"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-!ELSEIF "$(CFG)" == "named - Win32 Debug"
-
-
-"$(INTDIR)\builtin.obj" "$(INTDIR)\builtin.sbr" : $(SOURCE) "$(INTDIR)"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-!ENDIF
-
-SOURCE=..\client.c
-
-!IF "$(CFG)" == "named - Win32 Release"
-
-
-"$(INTDIR)\client.obj" : $(SOURCE) "$(INTDIR)"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-!ELSEIF "$(CFG)" == "named - Win32 Debug"
-
-
-"$(INTDIR)\client.obj" "$(INTDIR)\client.sbr" : $(SOURCE) "$(INTDIR)"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-!ENDIF
-
-SOURCE=..\config.c
-
-!IF "$(CFG)" == "named - Win32 Release"
-
-
-"$(INTDIR)\config.obj" : $(SOURCE) "$(INTDIR)"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-!ELSEIF "$(CFG)" == "named - Win32 Debug"
-
-
-"$(INTDIR)\config.obj" "$(INTDIR)\config.sbr" : $(SOURCE) "$(INTDIR)"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-!ENDIF
-
-SOURCE=..\control.c
-
-!IF "$(CFG)" == "named - Win32 Release"
-
-
-"$(INTDIR)\control.obj" : $(SOURCE) "$(INTDIR)"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-!ELSEIF "$(CFG)" == "named - Win32 Debug"
-
-
-"$(INTDIR)\control.obj" "$(INTDIR)\control.sbr" : $(SOURCE) "$(INTDIR)"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-!ENDIF
-
-SOURCE=..\controlconf.c
-
-!IF "$(CFG)" == "named - Win32 Release"
-
-
-"$(INTDIR)\controlconf.obj" : $(SOURCE) "$(INTDIR)"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-!ELSEIF "$(CFG)" == "named - Win32 Debug"
-
-
-"$(INTDIR)\controlconf.obj" "$(INTDIR)\controlconf.sbr" : $(SOURCE) "$(INTDIR)"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-!ENDIF
-
-SOURCE=.\dlz_dlopen_driver.c
-
-!IF "$(CFG)" == "named - Win32 Release"
-
-
-"$(INTDIR)\dlz_dlopen_driver.obj" : $(SOURCE) "$(INTDIR)"
-
-
-!ELSEIF "$(CFG)" == "named - Win32 Debug"
-
-
-"$(INTDIR)\dlz_dlopen_driver.obj" "$(INTDIR)\dlz_dlopen_driver.sbr" : $(SOURCE) "$(INTDIR)"
-
-
-!ENDIF
-
-SOURCE=..\interfacemgr.c
-
-!IF "$(CFG)" == "named - Win32 Release"
-
-
-"$(INTDIR)\interfacemgr.obj" : $(SOURCE) "$(INTDIR)"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-!ELSEIF "$(CFG)" == "named - Win32 Debug"
-
-
-"$(INTDIR)\interfacemgr.obj" "$(INTDIR)\interfacemgr.sbr" : $(SOURCE) "$(INTDIR)"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-!ENDIF
-
-SOURCE=..\listenlist.c
-
-!IF "$(CFG)" == "named - Win32 Release"
-
-
-"$(INTDIR)\listenlist.obj" : $(SOURCE) "$(INTDIR)"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-!ELSEIF "$(CFG)" == "named - Win32 Debug"
-
-
-"$(INTDIR)\listenlist.obj" "$(INTDIR)\listenlist.sbr" : $(SOURCE) "$(INTDIR)"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-!ENDIF
-
-SOURCE=..\log.c
-
-!IF "$(CFG)" == "named - Win32 Release"
-
-
-"$(INTDIR)\log.obj" : $(SOURCE) "$(INTDIR)"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-!ELSEIF "$(CFG)" == "named - Win32 Debug"
-
-
-"$(INTDIR)\log.obj" "$(INTDIR)\log.sbr" : $(SOURCE) "$(INTDIR)"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-!ENDIF
-
-SOURCE=..\logconf.c
-
-!IF "$(CFG)" == "named - Win32 Release"
-
-
-"$(INTDIR)\logconf.obj" : $(SOURCE) "$(INTDIR)"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-!ELSEIF "$(CFG)" == "named - Win32 Debug"
-
-
-"$(INTDIR)\logconf.obj" "$(INTDIR)\logconf.sbr" : $(SOURCE) "$(INTDIR)"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-!ENDIF
-
-SOURCE=..\lwaddr.c
-
-!IF "$(CFG)" == "named - Win32 Release"
-
-
-"$(INTDIR)\lwaddr.obj" : $(SOURCE) "$(INTDIR)"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-!ELSEIF "$(CFG)" == "named - Win32 Debug"
-
-
-"$(INTDIR)\lwaddr.obj" "$(INTDIR)\lwaddr.sbr" : $(SOURCE) "$(INTDIR)"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-!ENDIF
-
-SOURCE=..\lwdclient.c
-
-!IF "$(CFG)" == "named - Win32 Release"
-
-
-"$(INTDIR)\lwdclient.obj" : $(SOURCE) "$(INTDIR)"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-!ELSEIF "$(CFG)" == "named - Win32 Debug"
-
-
-"$(INTDIR)\lwdclient.obj" "$(INTDIR)\lwdclient.sbr" : $(SOURCE) "$(INTDIR)"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-!ENDIF
-
-SOURCE=..\lwderror.c
-
-!IF "$(CFG)" == "named - Win32 Release"
-
-
-"$(INTDIR)\lwderror.obj" : $(SOURCE) "$(INTDIR)"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-!ELSEIF "$(CFG)" == "named - Win32 Debug"
-
-
-"$(INTDIR)\lwderror.obj" "$(INTDIR)\lwderror.sbr" : $(SOURCE) "$(INTDIR)"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-!ENDIF
-
-SOURCE=..\lwdgabn.c
-
-!IF "$(CFG)" == "named - Win32 Release"
-
-
-"$(INTDIR)\lwdgabn.obj" : $(SOURCE) "$(INTDIR)"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-!ELSEIF "$(CFG)" == "named - Win32 Debug"
-
-
-"$(INTDIR)\lwdgabn.obj" "$(INTDIR)\lwdgabn.sbr" : $(SOURCE) "$(INTDIR)"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-!ENDIF
-
-SOURCE=..\lwdgnba.c
-
-!IF "$(CFG)" == "named - Win32 Release"
-
-
-"$(INTDIR)\lwdgnba.obj" : $(SOURCE) "$(INTDIR)"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-!ELSEIF "$(CFG)" == "named - Win32 Debug"
-
-
-"$(INTDIR)\lwdgnba.obj" "$(INTDIR)\lwdgnba.sbr" : $(SOURCE) "$(INTDIR)"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-!ENDIF
-
-SOURCE=..\lwdgrbn.c
-
-!IF "$(CFG)" == "named - Win32 Release"
-
-
-"$(INTDIR)\lwdgrbn.obj" : $(SOURCE) "$(INTDIR)"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-!ELSEIF "$(CFG)" == "named - Win32 Debug"
-
-
-"$(INTDIR)\lwdgrbn.obj" "$(INTDIR)\lwdgrbn.sbr" : $(SOURCE) "$(INTDIR)"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-!ENDIF
-
-SOURCE=..\lwdnoop.c
-
-!IF "$(CFG)" == "named - Win32 Release"
-
-
-"$(INTDIR)\lwdnoop.obj" : $(SOURCE) "$(INTDIR)"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-!ELSEIF "$(CFG)" == "named - Win32 Debug"
-
-
-"$(INTDIR)\lwdnoop.obj" "$(INTDIR)\lwdnoop.sbr" : $(SOURCE) "$(INTDIR)"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-!ENDIF
-
-SOURCE=..\lwresd.c
-
-!IF "$(CFG)" == "named - Win32 Release"
-
-
-"$(INTDIR)\lwresd.obj" : $(SOURCE) "$(INTDIR)"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-!ELSEIF "$(CFG)" == "named - Win32 Debug"
-
-
-"$(INTDIR)\lwresd.obj" "$(INTDIR)\lwresd.sbr" : $(SOURCE) "$(INTDIR)"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-!ENDIF
-
-SOURCE=..\lwsearch.c
-
-!IF "$(CFG)" == "named - Win32 Release"
-
-
-"$(INTDIR)\lwsearch.obj" : $(SOURCE) "$(INTDIR)"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-!ELSEIF "$(CFG)" == "named - Win32 Debug"
-
-
-"$(INTDIR)\lwsearch.obj" "$(INTDIR)\lwsearch.sbr" : $(SOURCE) "$(INTDIR)"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-!ENDIF
-
-SOURCE=..\main.c
-
-!IF "$(CFG)" == "named - Win32 Release"
-
-
-"$(INTDIR)\main.obj" : $(SOURCE) "$(INTDIR)"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-!ELSEIF "$(CFG)" == "named - Win32 Debug"
-
-
-"$(INTDIR)\main.obj" "$(INTDIR)\main.sbr" : $(SOURCE) "$(INTDIR)"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-!ENDIF
-
-SOURCE=..\notify.c
-
-!IF "$(CFG)" == "named - Win32 Release"
-
-
-"$(INTDIR)\notify.obj" : $(SOURCE) "$(INTDIR)"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-!ELSEIF "$(CFG)" == "named - Win32 Debug"
-
-
-"$(INTDIR)\notify.obj" "$(INTDIR)\notify.sbr" : $(SOURCE) "$(INTDIR)"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-!ENDIF
-
-SOURCE=.\ntservice.c
-
-!IF "$(CFG)" == "named - Win32 Release"
-
-
-"$(INTDIR)\ntservice.obj" : $(SOURCE) "$(INTDIR)"
-
-
-!ELSEIF "$(CFG)" == "named - Win32 Debug"
-
-
-"$(INTDIR)\ntservice.obj" "$(INTDIR)\ntservice.sbr" : $(SOURCE) "$(INTDIR)"
-
-
-!ENDIF
-
-SOURCE=.\os.c
-
-!IF "$(CFG)" == "named - Win32 Release"
-
-
-"$(INTDIR)\os.obj" : $(SOURCE) "$(INTDIR)"
-
-
-!ELSEIF "$(CFG)" == "named - Win32 Debug"
-
-
-"$(INTDIR)\os.obj" "$(INTDIR)\os.sbr" : $(SOURCE) "$(INTDIR)"
-
-
-!ENDIF
-
-SOURCE=..\query.c
-
-!IF "$(CFG)" == "named - Win32 Release"
-
-
-"$(INTDIR)\query.obj" : $(SOURCE) "$(INTDIR)"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-!ELSEIF "$(CFG)" == "named - Win32 Debug"
-
-
-"$(INTDIR)\query.obj" "$(INTDIR)\query.sbr" : $(SOURCE) "$(INTDIR)"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-!ENDIF
-
-SOURCE=..\server.c
-
-!IF "$(CFG)" == "named - Win32 Release"
-
-
-"$(INTDIR)\server.obj" : $(SOURCE) "$(INTDIR)"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-!ELSEIF "$(CFG)" == "named - Win32 Debug"
-
-
-"$(INTDIR)\server.obj" "$(INTDIR)\server.sbr" : $(SOURCE) "$(INTDIR)"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-!ENDIF
-
-SOURCE=..\sortlist.c
-
-!IF "$(CFG)" == "named - Win32 Release"
-
-
-"$(INTDIR)\sortlist.obj" : $(SOURCE) "$(INTDIR)"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-!ELSEIF "$(CFG)" == "named - Win32 Debug"
-
-
-"$(INTDIR)\sortlist.obj" "$(INTDIR)\sortlist.sbr" : $(SOURCE) "$(INTDIR)"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-!ENDIF
-
-SOURCE=..\statschannel.c
-
-!IF "$(CFG)" == "named - Win32 Release"
-
-
-"$(INTDIR)\statschannel.obj" : $(SOURCE) "$(INTDIR)"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-!ELSEIF "$(CFG)" == "named - Win32 Debug"
-
-
-"$(INTDIR)\statschannel.obj" "$(INTDIR)\statschannel.sbr" : $(SOURCE) "$(INTDIR)"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-!ENDIF
-
-SOURCE=..\tkeyconf.c
-
-!IF "$(CFG)" == "named - Win32 Release"
-
-
-"$(INTDIR)\tkeyconf.obj" : $(SOURCE) "$(INTDIR)"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-!ELSEIF "$(CFG)" == "named - Win32 Debug"
-
-
-"$(INTDIR)\tkeyconf.obj" "$(INTDIR)\tkeyconf.sbr" : $(SOURCE) "$(INTDIR)"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-!ENDIF
-
-SOURCE=..\tsigconf.c
-
-!IF "$(CFG)" == "named - Win32 Release"
-
-
-"$(INTDIR)\tsigconf.obj" : $(SOURCE) "$(INTDIR)"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-!ELSEIF "$(CFG)" == "named - Win32 Debug"
-
-
-"$(INTDIR)\tsigconf.obj" "$(INTDIR)\tsigconf.sbr" : $(SOURCE) "$(INTDIR)"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-!ENDIF
-
-SOURCE=..\update.c
-
-!IF "$(CFG)" == "named - Win32 Release"
-
-
-"$(INTDIR)\update.obj" : $(SOURCE) "$(INTDIR)"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-!ELSEIF "$(CFG)" == "named - Win32 Debug"
-
-
-"$(INTDIR)\update.obj" "$(INTDIR)\update.sbr" : $(SOURCE) "$(INTDIR)"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-!ENDIF
-
-SOURCE=..\xfrout.c
-
-!IF "$(CFG)" == "named - Win32 Release"
-
-
-"$(INTDIR)\xfrout.obj" : $(SOURCE) "$(INTDIR)"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-!ELSEIF "$(CFG)" == "named - Win32 Debug"
-
-
-"$(INTDIR)\xfrout.obj" "$(INTDIR)\xfrout.sbr" : $(SOURCE) "$(INTDIR)"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-!ENDIF
-
-SOURCE=..\zoneconf.c
-
-!IF "$(CFG)" == "named - Win32 Release"
-
-
-"$(INTDIR)\zoneconf.obj" : $(SOURCE) "$(INTDIR)"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-!ELSEIF "$(CFG)" == "named - Win32 Debug"
-
-
-"$(INTDIR)\zoneconf.obj" "$(INTDIR)\zoneconf.sbr" : $(SOURCE) "$(INTDIR)"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-!ENDIF
-
-!IF "$(CFG)" == "named - Win32 Release"
-
-"libdns - Win32 Release" :
- cd "..\..\..\lib\dns\win32"
- $(MAKE) /$(MAKEFLAGS) /F ".\libdns.mak" CFG="libdns - Win32 Release"
- cd "..\..\..\bin\named\win32"
-
-"libdns - Win32 ReleaseCLEAN" :
- cd "..\..\..\lib\dns\win32"
- $(MAKE) /$(MAKEFLAGS) /F ".\libdns.mak" CFG="libdns - Win32 Release" RECURSE=1 CLEAN
- cd "..\..\..\bin\named\win32"
-
-!ELSEIF "$(CFG)" == "named - Win32 Debug"
-
-"libdns - Win32 Debug" :
- cd "..\..\..\lib\dns\win32"
- $(MAKE) /$(MAKEFLAGS) /F ".\libdns.mak" CFG="libdns - Win32 Debug"
- cd "..\..\..\bin\named\win32"
-
-"libdns - Win32 DebugCLEAN" :
- cd "..\..\..\lib\dns\win32"
- $(MAKE) /$(MAKEFLAGS) /F ".\libdns.mak" CFG="libdns - Win32 Debug" RECURSE=1 CLEAN
- cd "..\..\..\bin\named\win32"
-
-!ENDIF
-
-!IF "$(CFG)" == "named - Win32 Release"
-
-"libisc - Win32 Release" :
- cd "..\..\..\lib\isc\win32"
- $(MAKE) /$(MAKEFLAGS) /F ".\libisc.mak" CFG="libisc - Win32 Release"
- cd "..\..\..\bin\named\win32"
-
-"libisc - Win32 ReleaseCLEAN" :
- cd "..\..\..\lib\isc\win32"
- $(MAKE) /$(MAKEFLAGS) /F ".\libisc.mak" CFG="libisc - Win32 Release" RECURSE=1 CLEAN
- cd "..\..\..\bin\named\win32"
-
-!ELSEIF "$(CFG)" == "named - Win32 Debug"
-
-"libisc - Win32 Debug" :
- cd "..\..\..\lib\isc\win32"
- $(MAKE) /$(MAKEFLAGS) /F ".\libisc.mak" CFG="libisc - Win32 Debug"
- cd "..\..\..\bin\named\win32"
-
-"libisc - Win32 DebugCLEAN" :
- cd "..\..\..\lib\isc\win32"
- $(MAKE) /$(MAKEFLAGS) /F ".\libisc.mak" CFG="libisc - Win32 Debug" RECURSE=1 CLEAN
- cd "..\..\..\bin\named\win32"
-
-!ENDIF
-
-!IF "$(CFG)" == "named - Win32 Release"
-
-"libbind9 - Win32 Release" :
- cd "..\..\..\lib\bind9\win32"
- $(MAKE) /$(MAKEFLAGS) /F ".\libbind9.mak" CFG="libbind9 - Win32 Release"
- cd "..\..\..\bin\named\win32"
-
-"libbind9 - Win32 ReleaseCLEAN" :
- cd "..\..\..\lib\bind9\win32"
- $(MAKE) /$(MAKEFLAGS) /F ".\libbind9.mak" CFG="libbind9 - Win32 Release" RECURSE=1 CLEAN
- cd "..\..\..\bin\named\win32"
-
-!ELSEIF "$(CFG)" == "named - Win32 Debug"
-
-"libbind9 - Win32 Debug" :
- cd "..\..\..\lib\bind9\win32"
- $(MAKE) /$(MAKEFLAGS) /F ".\libbind9.mak" CFG="libbind9 - Win32 Debug"
- cd "..\..\..\bin\named\win32"
-
-"libbind9 - Win32 DebugCLEAN" :
- cd "..\..\..\lib\bind9\win32"
- $(MAKE) /$(MAKEFLAGS) /F ".\libbind9.mak" CFG="libbind9 - Win32 Debug" RECURSE=1 CLEAN
- cd "..\..\..\bin\named\win32"
-
-!ENDIF
-
-!IF "$(CFG)" == "named - Win32 Release"
-
-"liblwres - Win32 Release" :
- cd "..\..\..\lib\lwres\win32"
- $(MAKE) /$(MAKEFLAGS) /F ".\liblwres.mak" CFG="liblwres - Win32 Release"
- cd "..\..\..\bin\named\win32"
-
-"liblwres - Win32 ReleaseCLEAN" :
- cd "..\..\..\lib\lwres\win32"
- $(MAKE) /$(MAKEFLAGS) /F ".\liblwres.mak" CFG="liblwres - Win32 Release" RECURSE=1 CLEAN
- cd "..\..\..\bin\named\win32"
-
-!ELSEIF "$(CFG)" == "named - Win32 Debug"
-
-"liblwres - Win32 Debug" :
- cd "..\..\..\lib\lwres\win32"
- $(MAKE) /$(MAKEFLAGS) /F ".\liblwres.mak" CFG="liblwres - Win32 Debug"
- cd "..\..\..\bin\named\win32"
-
-"liblwres - Win32 DebugCLEAN" :
- cd "..\..\..\lib\lwres\win32"
- $(MAKE) /$(MAKEFLAGS) /F ".\liblwres.mak" CFG="liblwres - Win32 Debug" RECURSE=1 CLEAN
- cd "..\..\..\bin\named\win32"
-
-!ENDIF
-
-!IF "$(CFG)" == "named - Win32 Release"
-
-"libisccc - Win32 Release" :
- cd "..\..\..\lib\isccc\win32"
- $(MAKE) /$(MAKEFLAGS) /F ".\libisccc.mak" CFG="libisccc - Win32 Release"
- cd "..\..\..\bin\named\win32"
-
-"libisccc - Win32 ReleaseCLEAN" :
- cd "..\..\..\lib\isccc\win32"
- $(MAKE) /$(MAKEFLAGS) /F ".\libisccc.mak" CFG="libisccc - Win32 Release" RECURSE=1 CLEAN
- cd "..\..\..\bin\named\win32"
-
-!ELSEIF "$(CFG)" == "named - Win32 Debug"
-
-"libisccc - Win32 Debug" :
- cd "..\..\..\lib\isccc\win32"
- $(MAKE) /$(MAKEFLAGS) /F ".\libisccc.mak" CFG="libisccc - Win32 Debug"
- cd "..\..\..\bin\named\win32"
-
-"libisccc - Win32 DebugCLEAN" :
- cd "..\..\..\lib\isccc\win32"
- $(MAKE) /$(MAKEFLAGS) /F ".\libisccc.mak" CFG="libisccc - Win32 Debug" RECURSE=1 CLEAN
- cd "..\..\..\bin\named\win32"
-
-!ENDIF
-
-!IF "$(CFG)" == "named - Win32 Release"
-
-"libisccfg - Win32 Release" :
- cd "..\..\..\lib\isccfg\win32"
- $(MAKE) /$(MAKEFLAGS) /F ".\libisccfg.mak" CFG="libisccfg - Win32 Release"
- cd "..\..\..\bin\named\win32"
-
-"libisccfg - Win32 ReleaseCLEAN" :
- cd "..\..\..\lib\isccfg\win32"
- $(MAKE) /$(MAKEFLAGS) /F ".\libisccfg.mak" CFG="libisccfg - Win32 Release" RECURSE=1 CLEAN
- cd "..\..\..\bin\named\win32"
-
-!ELSEIF "$(CFG)" == "named - Win32 Debug"
-
-"libisccfg - Win32 Debug" :
- cd "..\..\..\lib\isccfg\win32"
- $(MAKE) /$(MAKEFLAGS) /F ".\libisccfg.mak" CFG="libisccfg - Win32 Debug"
- cd "..\..\..\bin\named\win32"
-
-"libisccfg - Win32 DebugCLEAN" :
- cd "..\..\..\lib\isccfg\win32"
- $(MAKE) /$(MAKEFLAGS) /F ".\libisccfg.mak" CFG="libisccfg - Win32 Debug" RECURSE=1 CLEAN
- cd "..\..\..\bin\named\win32"
-
-!ENDIF
-
-
-!ENDIF
-
-####################################################
-# Commands to generate initial empty manifest file and the RC file
-# that references it, and for generating the .res file:
-
-$(_VC_MANIFEST_BASENAME).auto.res : $(_VC_MANIFEST_BASENAME).auto.rc
-
-$(_VC_MANIFEST_BASENAME).auto.rc : $(_VC_MANIFEST_BASENAME).auto.manifest
- type <<$@
-#include <winuser.h>
-1RT_MANIFEST"$(_VC_MANIFEST_BASENAME).auto.manifest"
-<< KEEP
-
-$(_VC_MANIFEST_BASENAME).auto.manifest :
- type <<$@
-<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
-<assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'>
-</assembly>
-<< KEEP
+# Microsoft Developer Studio Generated NMAKE File, Based on named.dsp +!IF "$(CFG)" == "" +CFG=named - @PLATFORM@ Debug +!MESSAGE No configuration specified. Defaulting to named - @PLATFORM@ Debug. +!ENDIF + +!IF "$(CFG)" != "named - @PLATFORM@ Release" && "$(CFG)" != "named - @PLATFORM@ Debug" +!MESSAGE Invalid configuration "$(CFG)" specified. +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "named.mak" CFG="named - @PLATFORM@ Debug" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "named - @PLATFORM@ Release" (based on "@PLATFORM@ (x86) Console Application") +!MESSAGE "named - @PLATFORM@ Debug" (based on "@PLATFORM@ (x86) Console Application") +!MESSAGE +!ERROR An invalid configuration is specified. +!ENDIF + +!IF "$(OS)" == "Windows_NT" +NULL= +!ELSE +NULL=nul +!ENDIF + +CPP=cl.exe +RSC=rc.exe +LIBXML=@LIBXML2_LIB@ + +!IF "$(CFG)" == "named - @PLATFORM@ Release" +_VC_MANIFEST_INC=0 +_VC_MANIFEST_BASENAME=__VC80 +!ELSE +_VC_MANIFEST_INC=1 +_VC_MANIFEST_BASENAME=__VC80.Debug +!ENDIF + +#################################################### +# Specifying name of temporary resource file used only in incremental builds: + +!if "$(_VC_MANIFEST_INC)" == "1" +_VC_MANIFEST_AUTO_RES=$(_VC_MANIFEST_BASENAME).auto.res +!else +_VC_MANIFEST_AUTO_RES= +!endif + +#################################################### +# _VC_MANIFEST_EMBED_EXE - command to embed manifest in EXE: + +!if "$(_VC_MANIFEST_INC)" == "1" + +#MT_SPECIAL_RETURN=1090650113 +#MT_SPECIAL_SWITCH=-notify_resource_update +MT_SPECIAL_RETURN=0 +MT_SPECIAL_SWITCH= +_VC_MANIFEST_EMBED_EXE= \ +if exist $@.manifest mt.exe -manifest $@.manifest -out:$(_VC_MANIFEST_BASENAME).auto.manifest $(MT_SPECIAL_SWITCH) & \ +if "%ERRORLEVEL%" == "$(MT_SPECIAL_RETURN)" \ +rc /r $(_VC_MANIFEST_BASENAME).auto.rc & \ +link $** /out:$@ $(LFLAGS) + +!else + +_VC_MANIFEST_EMBED_EXE= \ +if exist $@.manifest mt.exe -manifest $@.manifest -outputresource:$@;1 + +!endif + +#################################################### +# _VC_MANIFEST_EMBED_DLL - command to embed manifest in DLL: + +!if "$(_VC_MANIFEST_INC)" == "1" + +#MT_SPECIAL_RETURN=1090650113 +#MT_SPECIAL_SWITCH=-notify_resource_update +MT_SPECIAL_RETURN=0 +MT_SPECIAL_SWITCH= +_VC_MANIFEST_EMBED_EXE= \ +if exist $@.manifest mt.exe -manifest $@.manifest -out:$(_VC_MANIFEST_BASENAME).auto.manifest $(MT_SPECIAL_SWITCH) & \ +if "%ERRORLEVEL%" == "$(MT_SPECIAL_RETURN)" \ +rc /r $(_VC_MANIFEST_BASENAME).auto.rc & \ +link $** /out:$@ $(LFLAGS) + +!else + +_VC_MANIFEST_EMBED_EXE= \ +if exist $@.manifest mt.exe -manifest $@.manifest -outputresource:$@;2 + +!endif +#################################################### +# _VC_MANIFEST_CLEAN - command to clean resources files generated temporarily: + +!if "$(_VC_MANIFEST_INC)" == "1" + +_VC_MANIFEST_CLEAN=-del $(_VC_MANIFEST_BASENAME).auto.res \ + $(_VC_MANIFEST_BASENAME).auto.rc \ + $(_VC_MANIFEST_BASENAME).auto.manifest + +!else + +_VC_MANIFEST_CLEAN= + +!endif + +!IF "$(CFG)" == "named - @PLATFORM@ Release" + +OUTDIR=.\Release +INTDIR=.\Release + +!IF "$(RECURSE)" == "0" + +ALL : "..\..\..\Build\Release\named.exe" + +!ELSE + +ALL : "libisccfg - @PLATFORM@ Release" "libisccc - @PLATFORM@ Release" "liblwres - @PLATFORM@ Release" "libbind9 - @PLATFORM@ Release" "libisc - @PLATFORM@ Release" "libdns - @PLATFORM@ Release" "..\..\..\Build\Release\named.exe" + +!ENDIF + +!IF "$(RECURSE)" == "1" +CLEAN :"libdns - @PLATFORM@ ReleaseCLEAN" "libisc - @PLATFORM@ ReleaseCLEAN" "libbind9 - @PLATFORM@ ReleaseCLEAN" "liblwres - @PLATFORM@ ReleaseCLEAN" "libisccc - @PLATFORM@ ReleaseCLEAN" "libisccfg - @PLATFORM@ ReleaseCLEAN" +!ELSE +CLEAN : +!ENDIF + -@erase "$(INTDIR)\builtin.obj" + -@erase "$(INTDIR)\client.obj" + -@erase "$(INTDIR)\config.obj" + -@erase "$(INTDIR)\control.obj" + -@erase "$(INTDIR)\controlconf.obj" + -@erase "$(INTDIR)\dlz_dlopen_driver.obj" +@IF GEOIP + -@erase "$(INTDIR)\geoip.obj" +@END GEOIP + -@erase "$(INTDIR)\interfacemgr.obj" + -@erase "$(INTDIR)\listenlist.obj" + -@erase "$(INTDIR)\log.obj" + -@erase "$(INTDIR)\logconf.obj" + -@erase "$(INTDIR)\lwaddr.obj" + -@erase "$(INTDIR)\lwdclient.obj" + -@erase "$(INTDIR)\lwderror.obj" + -@erase "$(INTDIR)\lwdgabn.obj" + -@erase "$(INTDIR)\lwdgnba.obj" + -@erase "$(INTDIR)\lwdgrbn.obj" + -@erase "$(INTDIR)\lwdnoop.obj" + -@erase "$(INTDIR)\lwresd.obj" + -@erase "$(INTDIR)\lwsearch.obj" + -@erase "$(INTDIR)\main.obj" + -@erase "$(INTDIR)\notify.obj" + -@erase "$(INTDIR)\ntservice.obj" + -@erase "$(INTDIR)\os.obj" + -@erase "$(INTDIR)\query.obj" + -@erase "$(INTDIR)\server.obj" + -@erase "$(INTDIR)\sortlist.obj" + -@erase "$(INTDIR)\statschannel.obj" + -@erase "$(INTDIR)\tkeyconf.obj" + -@erase "$(INTDIR)\tsigconf.obj" + -@erase "$(INTDIR)\update.obj" + -@erase "$(INTDIR)\vc60.idb" + -@erase "$(INTDIR)\xfrout.obj" + -@erase "$(INTDIR)\zoneconf.obj" + -@erase "..\..\..\Build\Release\named.exe" + -@$(_VC_MANIFEST_CLEAN) + +"$(OUTDIR)" : + if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)" + +CPP_PROJ=/nologo /MD /W3 @COPTX@ @COPTI@ /O2 @OPENSSL_INC@ @GSSAPI_INC@ /I "./" /I "../../../" @LIBXML2_INC@ /I "../win32/include" /I "../include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/win32/include" /I "../../../lib/dns/include" /I "../../../lib/isccc/include" /I "../../../lib/lwres/win32/include" /I "../../../lib/lwres/include" /I "../../../lib/isccfg/include" /I "../../../lib/bind9/include" @USE_OPENSSL@ @USE_GSSAPI@ /D "BUILDER=\"nmake\"" /D "WIN32" /D "NDEBUG" /D "__STDC__" /D "_CONSOLE" /D "_MBCS" /Fp"$(INTDIR)\named.pch" @COPTY@ /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c +BSC32=bscmake.exe +BSC32_FLAGS=/nologo /o"$(OUTDIR)\named.bsc" +BSC32_SBRS= \ + +LINK32=link.exe +LINK32_FLAGS=user32.lib advapi32.lib kernel32.lib ws2_32.lib ../../../lib/isc/win32/Release/libisc.lib ../../../lib/dns/win32/Release/libdns.lib ../../../lib/isccc/win32/Release/libisccc.lib ../../../lib/lwres/win32/Release/liblwres.lib ../../../lib/isccfg/win32/Release/libisccfg.lib ../../../lib/bind9/win32/Release/libbind9.lib $(LIBXML) @GSSAPI_LIB@ @GEOIP_LIB@ /nologo /subsystem:console /incremental:no /pdb:"$(OUTDIR)\named.pdb" @MACHINE@ /out:"../../../Build/Release/named.exe" +LINK32_OBJS= \ + "$(INTDIR)\client.obj" \ + "$(INTDIR)\config.obj" \ + "$(INTDIR)\control.obj" \ + "$(INTDIR)\controlconf.obj" \ + "$(INTDIR)\dlz_dlopen_driver.obj" \ +@IF GEOIP + "$(INTDIR)\geoip.obj" \ +@END GEOIP + "$(INTDIR)\interfacemgr.obj" \ + "$(INTDIR)\listenlist.obj" \ + "$(INTDIR)\log.obj" \ + "$(INTDIR)\logconf.obj" \ + "$(INTDIR)\lwaddr.obj" \ + "$(INTDIR)\lwdclient.obj" \ + "$(INTDIR)\lwderror.obj" \ + "$(INTDIR)\lwdgabn.obj" \ + "$(INTDIR)\lwdgnba.obj" \ + "$(INTDIR)\lwdgrbn.obj" \ + "$(INTDIR)\lwdnoop.obj" \ + "$(INTDIR)\lwresd.obj" \ + "$(INTDIR)\lwsearch.obj" \ + "$(INTDIR)\main.obj" \ + "$(INTDIR)\notify.obj" \ + "$(INTDIR)\ntservice.obj" \ + "$(INTDIR)\os.obj" \ + "$(INTDIR)\query.obj" \ + "$(INTDIR)\server.obj" \ + "$(INTDIR)\sortlist.obj" \ + "$(INTDIR)\statschannel.obj" \ + "$(INTDIR)\tkeyconf.obj" \ + "$(INTDIR)\tsigconf.obj" \ + "$(INTDIR)\update.obj" \ + "$(INTDIR)\xfrout.obj" \ + "$(INTDIR)\zoneconf.obj" \ + "$(INTDIR)\builtin.obj" \ + "..\..\..\lib\dns\win32\Release\libdns.lib" \ + "..\..\..\lib\isc\win32\Release\libisc.lib" \ + "..\..\..\lib\bind9\win32\Release\libbind9.lib" \ + "..\..\..\lib\lwres\win32\Release\liblwres.lib" \ + "..\..\..\lib\isccc\win32\Release\libisccc.lib" \ + "..\..\..\lib\isccfg\win32\Release\libisccfg.lib" + +"..\..\..\Build\Release\named.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS) + $(LINK32) @<< + $(LINK32_FLAGS) $(LINK32_OBJS) +<< + $(_VC_MANIFEST_EMBED_EXE) + +!ELSEIF "$(CFG)" == "named - @PLATFORM@ Debug" + +OUTDIR=.\Debug +INTDIR=.\Debug +# Begin Custom Macros +OutDir=.\Debug +# End Custom Macros + +!IF "$(RECURSE)" == "0" + +ALL : "..\..\..\Build\Debug\named.exe" "$(OUTDIR)\named.bsc" + +!ELSE + +ALL : "libisccfg - @PLATFORM@ Debug" "libisccc - @PLATFORM@ Debug" "liblwres - @PLATFORM@ Debug" "libbind9 - @PLATFORM@ Debug" "libisc - @PLATFORM@ Debug" "libdns - @PLATFORM@ Debug" "..\..\..\Build\Debug\named.exe" "$(OUTDIR)\named.bsc" + +!ENDIF + +!IF "$(RECURSE)" == "1" +CLEAN :"libdns - @PLATFORM@ DebugCLEAN" "libisc - @PLATFORM@ DebugCLEAN" "libbind9 - @PLATFORM@ DebugCLEAN" "liblwres - @PLATFORM@ DebugCLEAN" "libisccc - @PLATFORM@ DebugCLEAN" "libisccfg - @PLATFORM@ DebugCLEAN" +!ELSE +CLEAN : +!ENDIF + -@erase "$(INTDIR)\builtin.obj" + -@erase "$(INTDIR)\builtin.sbr" + -@erase "$(INTDIR)\client.obj" + -@erase "$(INTDIR)\client.sbr" + -@erase "$(INTDIR)\config.obj" + -@erase "$(INTDIR)\config.sbr" + -@erase "$(INTDIR)\control.obj" + -@erase "$(INTDIR)\control.sbr" + -@erase "$(INTDIR)\controlconf.obj" + -@erase "$(INTDIR)\controlconf.sbr" + -@erase "$(INTDIR)\dlz_dlopen_driver.obj" + -@erase "$(INTDIR)\dlz_dlopen_driver.sbr" +@IF GEOIP + -@erase "$(INTDIR)\geoip.obj" + -@erase "$(INTDIR)\geoip.sbr" +@END GEOIP + -@erase "$(INTDIR)\interfacemgr.obj" + -@erase "$(INTDIR)\interfacemgr.sbr" + -@erase "$(INTDIR)\listenlist.obj" + -@erase "$(INTDIR)\listenlist.sbr" + -@erase "$(INTDIR)\log.obj" + -@erase "$(INTDIR)\log.sbr" + -@erase "$(INTDIR)\logconf.obj" + -@erase "$(INTDIR)\logconf.sbr" + -@erase "$(INTDIR)\lwaddr.obj" + -@erase "$(INTDIR)\lwaddr.sbr" + -@erase "$(INTDIR)\lwdclient.obj" + -@erase "$(INTDIR)\lwdclient.sbr" + -@erase "$(INTDIR)\lwderror.obj" + -@erase "$(INTDIR)\lwderror.sbr" + -@erase "$(INTDIR)\lwdgabn.obj" + -@erase "$(INTDIR)\lwdgabn.sbr" + -@erase "$(INTDIR)\lwdgnba.obj" + -@erase "$(INTDIR)\lwdgnba.sbr" + -@erase "$(INTDIR)\lwdgrbn.obj" + -@erase "$(INTDIR)\lwdgrbn.sbr" + -@erase "$(INTDIR)\lwdnoop.obj" + -@erase "$(INTDIR)\lwdnoop.sbr" + -@erase "$(INTDIR)\lwresd.obj" + -@erase "$(INTDIR)\lwresd.sbr" + -@erase "$(INTDIR)\lwsearch.obj" + -@erase "$(INTDIR)\lwsearch.sbr" + -@erase "$(INTDIR)\main.obj" + -@erase "$(INTDIR)\main.sbr" + -@erase "$(INTDIR)\notify.obj" + -@erase "$(INTDIR)\notify.sbr" + -@erase "$(INTDIR)\ntservice.obj" + -@erase "$(INTDIR)\ntservice.sbr" + -@erase "$(INTDIR)\os.obj" + -@erase "$(INTDIR)\os.sbr" + -@erase "$(INTDIR)\query.obj" + -@erase "$(INTDIR)\query.sbr" + -@erase "$(INTDIR)\server.obj" + -@erase "$(INTDIR)\server.sbr" + -@erase "$(INTDIR)\sortlist.obj" + -@erase "$(INTDIR)\sortlist.sbr" + -@erase "$(INTDIR)\statschannel.obj" + -@erase "$(INTDIR)\statschannel.sbr" + -@erase "$(INTDIR)\tkeyconf.obj" + -@erase "$(INTDIR)\tkeyconf.sbr" + -@erase "$(INTDIR)\tsigconf.obj" + -@erase "$(INTDIR)\tsigconf.sbr" + -@erase "$(INTDIR)\update.obj" + -@erase "$(INTDIR)\update.sbr" + -@erase "$(INTDIR)\vc60.idb" + -@erase "$(INTDIR)\vc60.pdb" + -@erase "$(INTDIR)\xfrout.obj" + -@erase "$(INTDIR)\xfrout.sbr" + -@erase "$(INTDIR)\zoneconf.obj" + -@erase "$(INTDIR)\zoneconf.sbr" + -@erase "$(OUTDIR)\named.bsc" + -@erase "$(OUTDIR)\named.map" + -@erase "$(OUTDIR)\named.pdb" + -@erase "..\..\..\Build\Debug\named.exe" + -@erase "..\..\..\Build\Debug\named.ilk" + -@$(_VC_MANIFEST_CLEAN) + +"$(OUTDIR)" : + if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)" + +CPP_PROJ=/nologo /MDd /W3 /Gm @COPTX@ @COPTI@ /ZI /Od @OPENSSL_INC@ @GSSAPI_INC@ /I "./" /I "../../../" @LIBXML2_INC@ /I "../win32/include" /I "../include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/win32/include" /I "../../../lib/dns/include" /I "../../../lib/isccc/include" /I "../../../lib/lwres/win32/include" /I "../../../lib/lwres/include" /I "../../../lib/isccfg/include" /I "../../../lib/bind9/include" @USE_OPENSSL@ @USE_GSSAPI@ /D "BUILDER=\"nmake\"" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "i386" /FR"$(INTDIR)\\" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /GZ /c +BSC32=bscmake.exe +BSC32_FLAGS=/nologo /o"$(OUTDIR)\named.bsc" +BSC32_SBRS= \ + "$(INTDIR)\client.sbr" \ + "$(INTDIR)\config.sbr" \ + "$(INTDIR)\control.sbr" \ + "$(INTDIR)\controlconf.sbr" \ + "$(INTDIR)\dlz_dlopen_driver.sbr" \ +@IF GEOIP + "$(INTDIR)\geoip.sbr" \ +@END GEOIP + "$(INTDIR)\interfacemgr.sbr" \ + "$(INTDIR)\listenlist.sbr" \ + "$(INTDIR)\log.sbr" \ + "$(INTDIR)\logconf.sbr" \ + "$(INTDIR)\lwaddr.sbr" \ + "$(INTDIR)\lwdclient.sbr" \ + "$(INTDIR)\lwderror.sbr" \ + "$(INTDIR)\lwdgabn.sbr" \ + "$(INTDIR)\lwdgnba.sbr" \ + "$(INTDIR)\lwdgrbn.sbr" \ + "$(INTDIR)\lwdnoop.sbr" \ + "$(INTDIR)\lwresd.sbr" \ + "$(INTDIR)\lwsearch.sbr" \ + "$(INTDIR)\main.sbr" \ + "$(INTDIR)\notify.sbr" \ + "$(INTDIR)\ntservice.sbr" \ + "$(INTDIR)\os.sbr" \ + "$(INTDIR)\query.sbr" \ + "$(INTDIR)\server.sbr" \ + "$(INTDIR)\sortlist.sbr" \ + "$(INTDIR)\statschannel.sbr" \ + "$(INTDIR)\tkeyconf.sbr" \ + "$(INTDIR)\tsigconf.sbr" \ + "$(INTDIR)\update.sbr" \ + "$(INTDIR)\xfrout.sbr" \ + "$(INTDIR)\zoneconf.sbr" \ + "$(INTDIR)\builtin.sbr" + +"$(OUTDIR)\named.bsc" : "$(OUTDIR)" $(BSC32_SBRS) + $(BSC32) @<< + $(BSC32_FLAGS) $(BSC32_SBRS) +<< + +LINK32=link.exe +LINK32_FLAGS=user32.lib advapi32.lib kernel32.lib ws2_32.lib ../../../lib/isc/win32/Debug/libisc.lib ../../../lib/dns/win32/Debug/libdns.lib ../../../lib/isccc/win32/Debug/libisccc.lib ../../../lib/lwres/win32/Debug/liblwres.lib ../../../lib/isccfg/win32/Debug/libisccfg.lib ../../../lib/bind9/win32/Debug/libbind9.lib $(LIBXML) @GSSAPI_LIB@ @GEOIP_LIB@ /nologo /subsystem:console /incremental:yes /pdb:"$(OUTDIR)\named.pdb" /map:"$(INTDIR)\named.map" /debug @MACHINE@ /out:"../../../Build/Debug/named.exe" /pdbtype:sept +LINK32_OBJS= \ + "$(INTDIR)\client.obj" \ + "$(INTDIR)\config.obj" \ + "$(INTDIR)\control.obj" \ + "$(INTDIR)\controlconf.obj" \ + "$(INTDIR)\dlz_dlopen_driver.obj" \ +@IF GEOIP + "$(INTDIR)\geoip.obj" \ +@END GEOIP + "$(INTDIR)\interfacemgr.obj" \ + "$(INTDIR)\listenlist.obj" \ + "$(INTDIR)\log.obj" \ + "$(INTDIR)\logconf.obj" \ + "$(INTDIR)\lwaddr.obj" \ + "$(INTDIR)\lwdclient.obj" \ + "$(INTDIR)\lwderror.obj" \ + "$(INTDIR)\lwdgabn.obj" \ + "$(INTDIR)\lwdgnba.obj" \ + "$(INTDIR)\lwdgrbn.obj" \ + "$(INTDIR)\lwdnoop.obj" \ + "$(INTDIR)\lwresd.obj" \ + "$(INTDIR)\lwsearch.obj" \ + "$(INTDIR)\main.obj" \ + "$(INTDIR)\notify.obj" \ + "$(INTDIR)\ntservice.obj" \ + "$(INTDIR)\os.obj" \ + "$(INTDIR)\query.obj" \ + "$(INTDIR)\server.obj" \ + "$(INTDIR)\sortlist.obj" \ + "$(INTDIR)\statschannel.obj" \ + "$(INTDIR)\tkeyconf.obj" \ + "$(INTDIR)\tsigconf.obj" \ + "$(INTDIR)\update.obj" \ + "$(INTDIR)\xfrout.obj" \ + "$(INTDIR)\zoneconf.obj" \ + "$(INTDIR)\builtin.obj" \ + "..\..\..\lib\dns\win32\Debug\libdns.lib" \ + "..\..\..\lib\isc\win32\Debug\libisc.lib" \ + "..\..\..\lib\bind9\win32\Debug\libbind9.lib" \ + "..\..\..\lib\lwres\win32\Debug\liblwres.lib" \ + "..\..\..\lib\isccc\win32\Debug\libisccc.lib" \ + "..\..\..\lib\isccfg\win32\Debug\libisccfg.lib" + +"..\..\..\Build\Debug\named.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS) + $(LINK32) @<< + $(LINK32_FLAGS) $(LINK32_OBJS) +<< + $(_VC_MANIFEST_EMBED_EXE) + +!ENDIF + +.c{$(INTDIR)}.obj:: + $(CPP) @<< + $(CPP_PROJ) $< +<< + +.cpp{$(INTDIR)}.obj:: + $(CPP) @<< + $(CPP_PROJ) $< +<< + +.cxx{$(INTDIR)}.obj:: + $(CPP) @<< + $(CPP_PROJ) $< +<< + +.c{$(INTDIR)}.sbr:: + $(CPP) @<< + $(CPP_PROJ) $< +<< + +.cpp{$(INTDIR)}.sbr:: + $(CPP) @<< + $(CPP_PROJ) $< +<< + +.cxx{$(INTDIR)}.sbr:: + $(CPP) @<< + $(CPP_PROJ) $< +<< + + +!IF "$(NO_EXTERNAL_DEPS)" != "1" +!IF EXISTS("named.dep") +!INCLUDE "named.dep" +!ELSE +!MESSAGE Warning: cannot find "named.dep" +!ENDIF +!ENDIF + + +!IF "$(CFG)" == "named - @PLATFORM@ Release" || "$(CFG)" == "named - @PLATFORM@ Debug" +SOURCE=..\builtin.c + +!IF "$(CFG)" == "named - @PLATFORM@ Release" + + +"$(INTDIR)\builtin.obj" : $(SOURCE) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + +!ELSEIF "$(CFG)" == "named - @PLATFORM@ Debug" + + +"$(INTDIR)\builtin.obj" "$(INTDIR)\builtin.sbr" : $(SOURCE) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + +!ENDIF + +SOURCE=..\client.c + +!IF "$(CFG)" == "named - @PLATFORM@ Release" + + +"$(INTDIR)\client.obj" : $(SOURCE) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + +!ELSEIF "$(CFG)" == "named - @PLATFORM@ Debug" + + +"$(INTDIR)\client.obj" "$(INTDIR)\client.sbr" : $(SOURCE) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + +!ENDIF + +SOURCE=..\config.c + +!IF "$(CFG)" == "named - @PLATFORM@ Release" + + +"$(INTDIR)\config.obj" : $(SOURCE) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + +!ELSEIF "$(CFG)" == "named - @PLATFORM@ Debug" + + +"$(INTDIR)\config.obj" "$(INTDIR)\config.sbr" : $(SOURCE) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + +!ENDIF + +SOURCE=..\control.c + +!IF "$(CFG)" == "named - @PLATFORM@ Release" + + +"$(INTDIR)\control.obj" : $(SOURCE) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + +!ELSEIF "$(CFG)" == "named - @PLATFORM@ Debug" + + +"$(INTDIR)\control.obj" "$(INTDIR)\control.sbr" : $(SOURCE) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + +!ENDIF + +SOURCE=..\controlconf.c + +!IF "$(CFG)" == "named - @PLATFORM@ Release" + + +"$(INTDIR)\controlconf.obj" : $(SOURCE) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + +!ELSEIF "$(CFG)" == "named - @PLATFORM@ Debug" + + +"$(INTDIR)\controlconf.obj" "$(INTDIR)\controlconf.sbr" : $(SOURCE) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + +!ENDIF + +SOURCE=.\dlz_dlopen_driver.c + +!IF "$(CFG)" == "named - @PLATFORM@ Release" + + +"$(INTDIR)\dlz_dlopen_driver.obj" : $(SOURCE) "$(INTDIR)" + + +!ELSEIF "$(CFG)" == "named - @PLATFORM@ Debug" + + +"$(INTDIR)\dlz_dlopen_driver.obj" "$(INTDIR)\dlz_dlopen_driver.sbr" : $(SOURCE) "$(INTDIR)" + + +!ENDIF + +@IF GEOIP +SOURCE=..\geoip.c + +!IF "$(CFG)" == "named - @PLATFORM@ Release" + + +"$(INTDIR)\geoip.obj" : $(SOURCE) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + +!ELSEIF "$(CFG)" == "named - @PLATFORM@ Debug" + + +"$(INTDIR)\geoip.obj" "$(INTDIR)\geoip.sbr" : $(SOURCE) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + +!ENDIF +@END GEOIP + +SOURCE=..\interfacemgr.c + +!IF "$(CFG)" == "named - @PLATFORM@ Release" + + +"$(INTDIR)\interfacemgr.obj" : $(SOURCE) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + +!ELSEIF "$(CFG)" == "named - @PLATFORM@ Debug" + + +"$(INTDIR)\interfacemgr.obj" "$(INTDIR)\interfacemgr.sbr" : $(SOURCE) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + +!ENDIF + +SOURCE=..\listenlist.c + +!IF "$(CFG)" == "named - @PLATFORM@ Release" + + +"$(INTDIR)\listenlist.obj" : $(SOURCE) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + +!ELSEIF "$(CFG)" == "named - @PLATFORM@ Debug" + + +"$(INTDIR)\listenlist.obj" "$(INTDIR)\listenlist.sbr" : $(SOURCE) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + +!ENDIF + +SOURCE=..\log.c + +!IF "$(CFG)" == "named - @PLATFORM@ Release" + + +"$(INTDIR)\log.obj" : $(SOURCE) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + +!ELSEIF "$(CFG)" == "named - @PLATFORM@ Debug" + + +"$(INTDIR)\log.obj" "$(INTDIR)\log.sbr" : $(SOURCE) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + +!ENDIF + +SOURCE=..\logconf.c + +!IF "$(CFG)" == "named - @PLATFORM@ Release" + + +"$(INTDIR)\logconf.obj" : $(SOURCE) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + +!ELSEIF "$(CFG)" == "named - @PLATFORM@ Debug" + + +"$(INTDIR)\logconf.obj" "$(INTDIR)\logconf.sbr" : $(SOURCE) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + +!ENDIF + +SOURCE=..\lwaddr.c + +!IF "$(CFG)" == "named - @PLATFORM@ Release" + + +"$(INTDIR)\lwaddr.obj" : $(SOURCE) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + +!ELSEIF "$(CFG)" == "named - @PLATFORM@ Debug" + + +"$(INTDIR)\lwaddr.obj" "$(INTDIR)\lwaddr.sbr" : $(SOURCE) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + +!ENDIF + +SOURCE=..\lwdclient.c + +!IF "$(CFG)" == "named - @PLATFORM@ Release" + + +"$(INTDIR)\lwdclient.obj" : $(SOURCE) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + +!ELSEIF "$(CFG)" == "named - @PLATFORM@ Debug" + + +"$(INTDIR)\lwdclient.obj" "$(INTDIR)\lwdclient.sbr" : $(SOURCE) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + +!ENDIF + +SOURCE=..\lwderror.c + +!IF "$(CFG)" == "named - @PLATFORM@ Release" + + +"$(INTDIR)\lwderror.obj" : $(SOURCE) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + +!ELSEIF "$(CFG)" == "named - @PLATFORM@ Debug" + + +"$(INTDIR)\lwderror.obj" "$(INTDIR)\lwderror.sbr" : $(SOURCE) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + +!ENDIF + +SOURCE=..\lwdgabn.c + +!IF "$(CFG)" == "named - @PLATFORM@ Release" + + +"$(INTDIR)\lwdgabn.obj" : $(SOURCE) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + +!ELSEIF "$(CFG)" == "named - @PLATFORM@ Debug" + + +"$(INTDIR)\lwdgabn.obj" "$(INTDIR)\lwdgabn.sbr" : $(SOURCE) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + +!ENDIF + +SOURCE=..\lwdgnba.c + +!IF "$(CFG)" == "named - @PLATFORM@ Release" + + +"$(INTDIR)\lwdgnba.obj" : $(SOURCE) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + +!ELSEIF "$(CFG)" == "named - @PLATFORM@ Debug" + + +"$(INTDIR)\lwdgnba.obj" "$(INTDIR)\lwdgnba.sbr" : $(SOURCE) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + +!ENDIF + +SOURCE=..\lwdgrbn.c + +!IF "$(CFG)" == "named - @PLATFORM@ Release" + + +"$(INTDIR)\lwdgrbn.obj" : $(SOURCE) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + +!ELSEIF "$(CFG)" == "named - @PLATFORM@ Debug" + + +"$(INTDIR)\lwdgrbn.obj" "$(INTDIR)\lwdgrbn.sbr" : $(SOURCE) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + +!ENDIF + +SOURCE=..\lwdnoop.c + +!IF "$(CFG)" == "named - @PLATFORM@ Release" + + +"$(INTDIR)\lwdnoop.obj" : $(SOURCE) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + +!ELSEIF "$(CFG)" == "named - @PLATFORM@ Debug" + + +"$(INTDIR)\lwdnoop.obj" "$(INTDIR)\lwdnoop.sbr" : $(SOURCE) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + +!ENDIF + +SOURCE=..\lwresd.c + +!IF "$(CFG)" == "named - @PLATFORM@ Release" + + +"$(INTDIR)\lwresd.obj" : $(SOURCE) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + +!ELSEIF "$(CFG)" == "named - @PLATFORM@ Debug" + + +"$(INTDIR)\lwresd.obj" "$(INTDIR)\lwresd.sbr" : $(SOURCE) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + +!ENDIF + +SOURCE=..\lwsearch.c + +!IF "$(CFG)" == "named - @PLATFORM@ Release" + + +"$(INTDIR)\lwsearch.obj" : $(SOURCE) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + +!ELSEIF "$(CFG)" == "named - @PLATFORM@ Debug" + + +"$(INTDIR)\lwsearch.obj" "$(INTDIR)\lwsearch.sbr" : $(SOURCE) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + +!ENDIF + +SOURCE=..\main.c + +!IF "$(CFG)" == "named - @PLATFORM@ Release" + + +"$(INTDIR)\main.obj" : $(SOURCE) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + +!ELSEIF "$(CFG)" == "named - @PLATFORM@ Debug" + + +"$(INTDIR)\main.obj" "$(INTDIR)\main.sbr" : $(SOURCE) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + +!ENDIF + +SOURCE=..\notify.c + +!IF "$(CFG)" == "named - @PLATFORM@ Release" + + +"$(INTDIR)\notify.obj" : $(SOURCE) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + +!ELSEIF "$(CFG)" == "named - @PLATFORM@ Debug" + + +"$(INTDIR)\notify.obj" "$(INTDIR)\notify.sbr" : $(SOURCE) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + +!ENDIF + +SOURCE=.\ntservice.c + +!IF "$(CFG)" == "named - @PLATFORM@ Release" + + +"$(INTDIR)\ntservice.obj" : $(SOURCE) "$(INTDIR)" + + +!ELSEIF "$(CFG)" == "named - @PLATFORM@ Debug" + + +"$(INTDIR)\ntservice.obj" "$(INTDIR)\ntservice.sbr" : $(SOURCE) "$(INTDIR)" + + +!ENDIF + +SOURCE=.\os.c + +!IF "$(CFG)" == "named - @PLATFORM@ Release" + + +"$(INTDIR)\os.obj" : $(SOURCE) "$(INTDIR)" + + +!ELSEIF "$(CFG)" == "named - @PLATFORM@ Debug" + + +"$(INTDIR)\os.obj" "$(INTDIR)\os.sbr" : $(SOURCE) "$(INTDIR)" + + +!ENDIF + +SOURCE=..\query.c + +!IF "$(CFG)" == "named - @PLATFORM@ Release" + + +"$(INTDIR)\query.obj" : $(SOURCE) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + +!ELSEIF "$(CFG)" == "named - @PLATFORM@ Debug" + + +"$(INTDIR)\query.obj" "$(INTDIR)\query.sbr" : $(SOURCE) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + +!ENDIF + +SOURCE=..\server.c + +!IF "$(CFG)" == "named - @PLATFORM@ Release" + + +"$(INTDIR)\server.obj" : $(SOURCE) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + +!ELSEIF "$(CFG)" == "named - @PLATFORM@ Debug" + + +"$(INTDIR)\server.obj" "$(INTDIR)\server.sbr" : $(SOURCE) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + +!ENDIF + +SOURCE=..\sortlist.c + +!IF "$(CFG)" == "named - @PLATFORM@ Release" + + +"$(INTDIR)\sortlist.obj" : $(SOURCE) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + +!ELSEIF "$(CFG)" == "named - @PLATFORM@ Debug" + + +"$(INTDIR)\sortlist.obj" "$(INTDIR)\sortlist.sbr" : $(SOURCE) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + +!ENDIF + +SOURCE=..\statschannel.c + +!IF "$(CFG)" == "named - @PLATFORM@ Release" + + +"$(INTDIR)\statschannel.obj" : $(SOURCE) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + +!ELSEIF "$(CFG)" == "named - @PLATFORM@ Debug" + + +"$(INTDIR)\statschannel.obj" "$(INTDIR)\statschannel.sbr" : $(SOURCE) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + +!ENDIF + +SOURCE=..\tkeyconf.c + +!IF "$(CFG)" == "named - @PLATFORM@ Release" + + +"$(INTDIR)\tkeyconf.obj" : $(SOURCE) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + +!ELSEIF "$(CFG)" == "named - @PLATFORM@ Debug" + + +"$(INTDIR)\tkeyconf.obj" "$(INTDIR)\tkeyconf.sbr" : $(SOURCE) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + +!ENDIF + +SOURCE=..\tsigconf.c + +!IF "$(CFG)" == "named - @PLATFORM@ Release" + + +"$(INTDIR)\tsigconf.obj" : $(SOURCE) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + +!ELSEIF "$(CFG)" == "named - @PLATFORM@ Debug" + + +"$(INTDIR)\tsigconf.obj" "$(INTDIR)\tsigconf.sbr" : $(SOURCE) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + +!ENDIF + +SOURCE=..\update.c + +!IF "$(CFG)" == "named - @PLATFORM@ Release" + + +"$(INTDIR)\update.obj" : $(SOURCE) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + +!ELSEIF "$(CFG)" == "named - @PLATFORM@ Debug" + + +"$(INTDIR)\update.obj" "$(INTDIR)\update.sbr" : $(SOURCE) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + +!ENDIF + +SOURCE=..\xfrout.c + +!IF "$(CFG)" == "named - @PLATFORM@ Release" + + +"$(INTDIR)\xfrout.obj" : $(SOURCE) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + +!ELSEIF "$(CFG)" == "named - @PLATFORM@ Debug" + + +"$(INTDIR)\xfrout.obj" "$(INTDIR)\xfrout.sbr" : $(SOURCE) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + +!ENDIF + +SOURCE=..\zoneconf.c + +!IF "$(CFG)" == "named - @PLATFORM@ Release" + + +"$(INTDIR)\zoneconf.obj" : $(SOURCE) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + +!ELSEIF "$(CFG)" == "named - @PLATFORM@ Debug" + + +"$(INTDIR)\zoneconf.obj" "$(INTDIR)\zoneconf.sbr" : $(SOURCE) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + +!ENDIF + +!IF "$(CFG)" == "named - @PLATFORM@ Release" + +"libdns - @PLATFORM@ Release" : + cd "..\..\..\lib\dns\win32" + $(MAKE) /$(MAKEFLAGS) /F ".\libdns.mak" CFG="libdns - @PLATFORM@ Release" + cd "..\..\..\bin\named\win32" + +"libdns - @PLATFORM@ ReleaseCLEAN" : + cd "..\..\..\lib\dns\win32" + $(MAKE) /$(MAKEFLAGS) /F ".\libdns.mak" CFG="libdns - @PLATFORM@ Release" RECURSE=1 CLEAN + cd "..\..\..\bin\named\win32" + +!ELSEIF "$(CFG)" == "named - @PLATFORM@ Debug" + +"libdns - @PLATFORM@ Debug" : + cd "..\..\..\lib\dns\win32" + $(MAKE) /$(MAKEFLAGS) /F ".\libdns.mak" CFG="libdns - @PLATFORM@ Debug" + cd "..\..\..\bin\named\win32" + +"libdns - @PLATFORM@ DebugCLEAN" : + cd "..\..\..\lib\dns\win32" + $(MAKE) /$(MAKEFLAGS) /F ".\libdns.mak" CFG="libdns - @PLATFORM@ Debug" RECURSE=1 CLEAN + cd "..\..\..\bin\named\win32" + +!ENDIF + +!IF "$(CFG)" == "named - @PLATFORM@ Release" + +"libisc - @PLATFORM@ Release" : + cd "..\..\..\lib\isc\win32" + $(MAKE) /$(MAKEFLAGS) /F ".\libisc.mak" CFG="libisc - @PLATFORM@ Release" + cd "..\..\..\bin\named\win32" + +"libisc - @PLATFORM@ ReleaseCLEAN" : + cd "..\..\..\lib\isc\win32" + $(MAKE) /$(MAKEFLAGS) /F ".\libisc.mak" CFG="libisc - @PLATFORM@ Release" RECURSE=1 CLEAN + cd "..\..\..\bin\named\win32" + +!ELSEIF "$(CFG)" == "named - @PLATFORM@ Debug" + +"libisc - @PLATFORM@ Debug" : + cd "..\..\..\lib\isc\win32" + $(MAKE) /$(MAKEFLAGS) /F ".\libisc.mak" CFG="libisc - @PLATFORM@ Debug" + cd "..\..\..\bin\named\win32" + +"libisc - @PLATFORM@ DebugCLEAN" : + cd "..\..\..\lib\isc\win32" + $(MAKE) /$(MAKEFLAGS) /F ".\libisc.mak" CFG="libisc - @PLATFORM@ Debug" RECURSE=1 CLEAN + cd "..\..\..\bin\named\win32" + +!ENDIF + +!IF "$(CFG)" == "named - @PLATFORM@ Release" + +"libbind9 - @PLATFORM@ Release" : + cd "..\..\..\lib\bind9\win32" + $(MAKE) /$(MAKEFLAGS) /F ".\libbind9.mak" CFG="libbind9 - @PLATFORM@ Release" + cd "..\..\..\bin\named\win32" + +"libbind9 - @PLATFORM@ ReleaseCLEAN" : + cd "..\..\..\lib\bind9\win32" + $(MAKE) /$(MAKEFLAGS) /F ".\libbind9.mak" CFG="libbind9 - @PLATFORM@ Release" RECURSE=1 CLEAN + cd "..\..\..\bin\named\win32" + +!ELSEIF "$(CFG)" == "named - @PLATFORM@ Debug" + +"libbind9 - @PLATFORM@ Debug" : + cd "..\..\..\lib\bind9\win32" + $(MAKE) /$(MAKEFLAGS) /F ".\libbind9.mak" CFG="libbind9 - @PLATFORM@ Debug" + cd "..\..\..\bin\named\win32" + +"libbind9 - @PLATFORM@ DebugCLEAN" : + cd "..\..\..\lib\bind9\win32" + $(MAKE) /$(MAKEFLAGS) /F ".\libbind9.mak" CFG="libbind9 - @PLATFORM@ Debug" RECURSE=1 CLEAN + cd "..\..\..\bin\named\win32" + +!ENDIF + +!IF "$(CFG)" == "named - @PLATFORM@ Release" + +"liblwres - @PLATFORM@ Release" : + cd "..\..\..\lib\lwres\win32" + $(MAKE) /$(MAKEFLAGS) /F ".\liblwres.mak" CFG="liblwres - @PLATFORM@ Release" + cd "..\..\..\bin\named\win32" + +"liblwres - @PLATFORM@ ReleaseCLEAN" : + cd "..\..\..\lib\lwres\win32" + $(MAKE) /$(MAKEFLAGS) /F ".\liblwres.mak" CFG="liblwres - @PLATFORM@ Release" RECURSE=1 CLEAN + cd "..\..\..\bin\named\win32" + +!ELSEIF "$(CFG)" == "named - @PLATFORM@ Debug" + +"liblwres - @PLATFORM@ Debug" : + cd "..\..\..\lib\lwres\win32" + $(MAKE) /$(MAKEFLAGS) /F ".\liblwres.mak" CFG="liblwres - @PLATFORM@ Debug" + cd "..\..\..\bin\named\win32" + +"liblwres - @PLATFORM@ DebugCLEAN" : + cd "..\..\..\lib\lwres\win32" + $(MAKE) /$(MAKEFLAGS) /F ".\liblwres.mak" CFG="liblwres - @PLATFORM@ Debug" RECURSE=1 CLEAN + cd "..\..\..\bin\named\win32" + +!ENDIF + +!IF "$(CFG)" == "named - @PLATFORM@ Release" + +"libisccc - @PLATFORM@ Release" : + cd "..\..\..\lib\isccc\win32" + $(MAKE) /$(MAKEFLAGS) /F ".\libisccc.mak" CFG="libisccc - @PLATFORM@ Release" + cd "..\..\..\bin\named\win32" + +"libisccc - @PLATFORM@ ReleaseCLEAN" : + cd "..\..\..\lib\isccc\win32" + $(MAKE) /$(MAKEFLAGS) /F ".\libisccc.mak" CFG="libisccc - @PLATFORM@ Release" RECURSE=1 CLEAN + cd "..\..\..\bin\named\win32" + +!ELSEIF "$(CFG)" == "named - @PLATFORM@ Debug" + +"libisccc - @PLATFORM@ Debug" : + cd "..\..\..\lib\isccc\win32" + $(MAKE) /$(MAKEFLAGS) /F ".\libisccc.mak" CFG="libisccc - @PLATFORM@ Debug" + cd "..\..\..\bin\named\win32" + +"libisccc - @PLATFORM@ DebugCLEAN" : + cd "..\..\..\lib\isccc\win32" + $(MAKE) /$(MAKEFLAGS) /F ".\libisccc.mak" CFG="libisccc - @PLATFORM@ Debug" RECURSE=1 CLEAN + cd "..\..\..\bin\named\win32" + +!ENDIF + +!IF "$(CFG)" == "named - @PLATFORM@ Release" + +"libisccfg - @PLATFORM@ Release" : + cd "..\..\..\lib\isccfg\win32" + $(MAKE) /$(MAKEFLAGS) /F ".\libisccfg.mak" CFG="libisccfg - @PLATFORM@ Release" + cd "..\..\..\bin\named\win32" + +"libisccfg - @PLATFORM@ ReleaseCLEAN" : + cd "..\..\..\lib\isccfg\win32" + $(MAKE) /$(MAKEFLAGS) /F ".\libisccfg.mak" CFG="libisccfg - @PLATFORM@ Release" RECURSE=1 CLEAN + cd "..\..\..\bin\named\win32" + +!ELSEIF "$(CFG)" == "named - @PLATFORM@ Debug" + +"libisccfg - @PLATFORM@ Debug" : + cd "..\..\..\lib\isccfg\win32" + $(MAKE) /$(MAKEFLAGS) /F ".\libisccfg.mak" CFG="libisccfg - @PLATFORM@ Debug" + cd "..\..\..\bin\named\win32" + +"libisccfg - @PLATFORM@ DebugCLEAN" : + cd "..\..\..\lib\isccfg\win32" + $(MAKE) /$(MAKEFLAGS) /F ".\libisccfg.mak" CFG="libisccfg - @PLATFORM@ Debug" RECURSE=1 CLEAN + cd "..\..\..\bin\named\win32" + +!ENDIF + + +!ENDIF + +#################################################### +# Commands to generate initial empty manifest file and the RC file +# that references it, and for generating the .res file: + +$(_VC_MANIFEST_BASENAME).auto.res : $(_VC_MANIFEST_BASENAME).auto.rc + +$(_VC_MANIFEST_BASENAME).auto.rc : $(_VC_MANIFEST_BASENAME).auto.manifest + type <<$@ +#include <winuser.h> +1RT_MANIFEST"$(_VC_MANIFEST_BASENAME).auto.manifest" +<< KEEP + +$(_VC_MANIFEST_BASENAME).auto.manifest : + type <<$@ +<?xml version='1.0' encoding='UTF-8' standalone='yes'?> +<assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'> +</assembly> +<< KEEP diff --git a/bin/named/win32/named.vcxproj.filters.in b/bin/named/win32/named.vcxproj.filters.in new file mode 100644 index 00000000..0e7c6048 --- /dev/null +++ b/bin/named/win32/named.vcxproj.filters.in @@ -0,0 +1,208 @@ +<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Filter Include="Source Files">
+ <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+ <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+ </Filter>
+ <Filter Include="Header Files">
+ <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+ <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
+ </Filter>
+ <Filter Include="Resource Files">
+ <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+ <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="dlz_dlopen_driver.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="ntservice.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="os.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\builtin.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\client.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\config.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\control.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\controlconf.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+@IF GEOIP
+ <ClCompile Include="..\geoip.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+@END GEOIP
+ <ClCompile Include="..\interfacemgr.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\listenlist.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\log.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\logconf.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\lwaddr.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\lwdclient.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\lwderror.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\lwdgabn.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\lwdgnba.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\lwdgrbn.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\lwdnoop.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\lwresd.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\lwsearch.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\main.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\notify.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\query.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\server.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\sortlist.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\statschannel.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\tkeyconf.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\tsigconf.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\update.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\xfrout.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\zoneconf.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ </ItemGroup>
+ <ItemGroup>
+ <ClInclude Include="include\named\ntservice.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="include\named\os.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\include\named\builtin.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\include\named\client.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\include\named\config.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\include\named\control.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+@IF GEOIP
+ <ClInclude Include="..\include\named\geoip.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+@END GEOIP
+ <ClInclude Include="..\include\named\globals.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\include\named\interfacemgr.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\include\named\listenlist.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\include\named\log.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\include\named\logconf.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\include\named\lwaddr.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\include\named\lwdclient.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\include\named\lwresd.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\include\named\lwsearch.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\include\named\main.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\include\named\notify.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\include\named\query.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\include\named\server.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\include\named\sortlist.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\include\named\statschannel.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\include\named\tkeyconf.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\include\named\tsigconf.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\include\named\types.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\include\named\update.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\include\named\xfrout.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\include\named\zoneconf.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ </ItemGroup>
+</Project>
\ No newline at end of file diff --git a/bin/named/win32/named.vcxproj.in b/bin/named/win32/named.vcxproj.in new file mode 100644 index 00000000..91252d36 --- /dev/null +++ b/bin/named/win32/named.vcxproj.in @@ -0,0 +1,174 @@ +<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|@PLATFORM@">
+ <Configuration>Debug</Configuration>
+ <Platform>@PLATFORM@</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|@PLATFORM@">
+ <Configuration>Release</Configuration>
+ <Platform>@PLATFORM@</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{723C65DA-A96C-4BA3-A34E-44F11CA346F9}</ProjectGuid>
+ <Keyword>Win32Proj</Keyword>
+ <RootNamespace>named</RootNamespace>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|@PLATFORM@'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <CharacterSet>MultiByte</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|@PLATFORM@'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <CharacterSet>MultiByte</CharacterSet>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|@PLATFORM@'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|@PLATFORM@'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|@PLATFORM@'">
+ <LinkIncremental>true</LinkIncremental>
+ <OutDir>..\..\..\Build\$(Configuration)\</OutDir>
+ <IntDir>.\$(Configuration)\</IntDir>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|@PLATFORM@'">
+ <LinkIncremental>false</LinkIncremental>
+ <OutDir>..\..\..\Build\$(Configuration)\</OutDir>
+ <IntDir>.\$(Configuration)\</IntDir>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|@PLATFORM@'">
+ <ClCompile>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <Optimization>Disabled</Optimization>
+ <PreprocessorDefinitions>WIN32;@USE_OPENSSL@@USE_GSSAPI@BUILDER="Visual Studio";_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <FunctionLevelLinking>false</FunctionLevelLinking>
+ <PrecompiledHeaderOutputFile>.\$(Configuration)\$(TargetName).pch</PrecompiledHeaderOutputFile>
+ <AssemblerListingLocation>.\$(Configuration)\</AssemblerListingLocation>
+ <ObjectFileName>.\$(Configuration)\</ObjectFileName>
+ <ProgramDataBaseFileName>$(OutDir)$(TargetName).pdb</ProgramDataBaseFileName>
+ <BrowseInformation>true</BrowseInformation>
+ <AdditionalIncludeDirectories>@OPENSSL_INC@@GSSAPI_INC@@GEOIP_INC@.\;..\..\..\;@LIBXML2_INC@..\win32\include;..\include;..\..\..\lib\isc\win32;..\..\..\lib\isc\win32\include;..\..\..\lib\isc\include;..\..\..\lib\dns\include;..\..\..\lib\isccc\include;..\..\..\lib\lwres\win32\include;..\..\..\lib\lwres\include;..\..\..\lib\isccfg\include;..\..\..\lib\bind9\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <OutputFile>..\..\..\Build\$(Configuration)\$(TargetName)$(TargetExt)</OutputFile>
+ <AdditionalLibraryDirectories>..\..\..\lib\isc\win32\$(Configuration);..\..\..\lib\dns\win32\$(Configuration);..\..\..\lib\isccc\win32\$(Configuration);..\..\..\lib\lwres\win32\$(Configuration);..\..\..\lib\isccfg\win32\$(Configuration);..\..\..\lib\bind9\win32\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ <AdditionalDependencies>@LIBXML2_LIB@@GSSAPI_LIB@@GEOIP_LIB@libisc.lib;libdns.lib;libisccc.lib;liblwres.lib;libisccfg.lib;libbind9.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|@PLATFORM@'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <Optimization>MaxSpeed</Optimization>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <IntrinsicFunctions>@INTRINSIC@</IntrinsicFunctions>
+ <PreprocessorDefinitions>WIN32;@USE_OPENSSL@@USE_GSSAPI@BUILDER="Visual Studio";NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
+ <WholeProgramOptimization>false</WholeProgramOptimization>
+ <StringPooling>true</StringPooling>
+ <PrecompiledHeaderOutputFile>.\$(Configuration)\$(TargetName).pch</PrecompiledHeaderOutputFile>
+ <AssemblerListingLocation>.\$(Configuration)\</AssemblerListingLocation>
+ <ObjectFileName>.\$(Configuration)\</ObjectFileName>
+ <ProgramDataBaseFileName>$(OutDir)$(TargetName).pdb</ProgramDataBaseFileName>
+ <AdditionalIncludeDirectories>@OPENSSL_INC@@GSSAPI_INC@@GEOIP_INC@.\;..\..\..\;@LIBXML2_INC@..\win32\include;..\include;..\..\..\lib\isc\win32;..\..\..\lib\isc\win32\include;..\..\..\lib\isc\include;..\..\..\lib\dns\include;..\..\..\lib\isccc\include;..\..\..\lib\lwres\win32\include;..\..\..\lib\lwres\include;..\..\..\lib\isccfg\include;..\..\..\lib\bind9\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <GenerateDebugInformation>false</GenerateDebugInformation>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <OptimizeReferences>true</OptimizeReferences>
+ <OutputFile>..\..\..\Build\$(Configuration)\$(TargetName)$(TargetExt)</OutputFile>
+ <LinkTimeCodeGeneration>Default</LinkTimeCodeGeneration>
+ <AdditionalLibraryDirectories>..\..\..\lib\isc\win32\$(Configuration);..\..\..\lib\dns\win32\$(Configuration);..\..\..\lib\isccc\win32\$(Configuration);..\..\..\lib\lwres\win32\$(Configuration);..\..\..\lib\isccfg\win32\$(Configuration);..\..\..\lib\bind9\win32\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ <AdditionalDependencies>@LIBXML2_LIB@@GSSAPI_LIB@@GEOIP_LIB@libisc.lib;libdns.lib;libisccc.lib;liblwres.lib;libisccfg.lib;libbind9.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClCompile Include="..\builtin.c" />
+ <ClCompile Include="..\client.c" />
+ <ClCompile Include="..\config.c" />
+ <ClCompile Include="..\control.c" />
+ <ClCompile Include="..\controlconf.c" />
+@IF GEOIP
+ <ClCompile Include="..\geoip.c" />
+@END GEOIP
+ <ClCompile Include="..\interfacemgr.c" />
+ <ClCompile Include="..\listenlist.c" />
+ <ClCompile Include="..\log.c" />
+ <ClCompile Include="..\logconf.c" />
+ <ClCompile Include="..\lwaddr.c" />
+ <ClCompile Include="..\lwdclient.c" />
+ <ClCompile Include="..\lwderror.c" />
+ <ClCompile Include="..\lwdgabn.c" />
+ <ClCompile Include="..\lwdgnba.c" />
+ <ClCompile Include="..\lwdgrbn.c" />
+ <ClCompile Include="..\lwdnoop.c" />
+ <ClCompile Include="..\lwresd.c" />
+ <ClCompile Include="..\lwsearch.c" />
+ <ClCompile Include="..\main.c" />
+ <ClCompile Include="..\notify.c" />
+ <ClCompile Include="..\query.c" />
+ <ClCompile Include="..\server.c" />
+ <ClCompile Include="..\sortlist.c" />
+ <ClCompile Include="..\statschannel.c" />
+ <ClCompile Include="..\tkeyconf.c" />
+ <ClCompile Include="..\tsigconf.c" />
+ <ClCompile Include="..\update.c" />
+ <ClCompile Include="..\xfrout.c" />
+ <ClCompile Include="..\zoneconf.c" />
+ <ClCompile Include="dlz_dlopen_driver.c" />
+ <ClCompile Include="ntservice.c" />
+ <ClCompile Include="os.c" />
+ </ItemGroup>
+ <ItemGroup>
+ <ClInclude Include="..\include\named\builtin.h" />
+ <ClInclude Include="..\include\named\client.h" />
+ <ClInclude Include="..\include\named\config.h" />
+ <ClInclude Include="..\include\named\control.h" />
+@IF GEOIP
+ <ClInclude Include="..\include\named\geoip.h" />
+@END GEOIP
+ <ClInclude Include="..\include\named\globals.h" />
+ <ClInclude Include="..\include\named\interfacemgr.h" />
+ <ClInclude Include="..\include\named\listenlist.h" />
+ <ClInclude Include="..\include\named\log.h" />
+ <ClInclude Include="..\include\named\logconf.h" />
+ <ClInclude Include="..\include\named\lwaddr.h" />
+ <ClInclude Include="..\include\named\lwdclient.h" />
+ <ClInclude Include="..\include\named\lwresd.h" />
+ <ClInclude Include="..\include\named\lwsearch.h" />
+ <ClInclude Include="..\include\named\main.h" />
+ <ClInclude Include="..\include\named\notify.h" />
+ <ClInclude Include="..\include\named\query.h" />
+ <ClInclude Include="..\include\named\server.h" />
+ <ClInclude Include="..\include\named\sortlist.h" />
+ <ClInclude Include="..\include\named\statschannel.h" />
+ <ClInclude Include="..\include\named\tkeyconf.h" />
+ <ClInclude Include="..\include\named\tsigconf.h" />
+ <ClInclude Include="..\include\named\types.h" />
+ <ClInclude Include="..\include\named\update.h" />
+ <ClInclude Include="..\include\named\xfrout.h" />
+ <ClInclude Include="..\include\named\zoneconf.h" />
+ <ClInclude Include="include\named\ntservice.h" />
+ <ClInclude Include="include\named\os.h" />
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project>
\ No newline at end of file diff --git a/bin/named/win32/named.vcxproj.user b/bin/named/win32/named.vcxproj.user new file mode 100644 index 00000000..695b5c78 --- /dev/null +++ b/bin/named/win32/named.vcxproj.user @@ -0,0 +1,3 @@ +<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+</Project>
\ No newline at end of file diff --git a/bin/named/win32/ntservice.c b/bin/named/win32/ntservice.c index e05c7462..5fb533da 100644 --- a/bin/named/win32/ntservice.c +++ b/bin/named/win32/ntservice.c @@ -21,6 +21,7 @@ #include <stdio.h> #include <isc/app.h> +#include <isc/commandline.h> #include <isc/log.h> #include <named/globals.h> @@ -28,11 +29,6 @@ #include <named/main.h> #include <named/server.h> -/* In fact more bound to the platform toolset... */ -#if defined(_M_IX86) && (_MSC_VER < 1600) -#define ISC_ADJUST_FDIV -#endif - /* Handle to SCM for updating service status */ static SERVICE_STATUS_HANDLE hServiceStatus = 0; static BOOL foreground = FALSE; @@ -42,67 +38,7 @@ static char ConsoleTitle[128]; * Forward declarations */ void ServiceControl(DWORD dwCtrlCode); -void GetArgs(int *, char ***, char ***); -int main(int, char *[], char *[]); /* From ns_main.c */ - -/* - * Here we change the entry point for the executable to bindmain() from main() - * This allows us to invoke as a service or from the command line easily. - */ -#pragma comment(linker, "/entry:bindmain") - -/* - * This is the entry point for the executable - * We can now call main() explicitly or via StartServiceCtrlDispatcher() - * as we need to. - */ -int bindmain() -{ - int rc, - i = 1; - - int argc; - char **envp, **argv; - - /* - * We changed the entry point function, so we must initialize argv, - * etc. ourselves. Ick. - */ - GetArgs(&argc, &argv, &envp); - - /* Command line users should put -f in the options. */ - /* XXXMPA should use isc_commandline_parse() here. */ - while (argv[i]) { - if (!strcmp(argv[i], "-f") || - !strcmp(argv[i], "-g") || - !strcmp(argv[i], "-v") || - !strcmp(argv[i], "-V")) { - foreground = TRUE; - break; - } - i++; - } - - if (foreground) { - /* run in console window */ - exit(main(argc, argv, envp)); - } else { - /* Start up as service */ - char *SERVICE_NAME = BIND_SERVICE_NAME; - - SERVICE_TABLE_ENTRY dispatchTable[] = { - { TEXT(SERVICE_NAME), (LPSERVICE_MAIN_FUNCTION)main }, - { NULL, NULL } - }; - - rc = StartServiceCtrlDispatcher(dispatchTable); - if (!rc) { - fprintf(stderr, "Use -f to run from the command line.\n"); - exit(GetLastError()); - } - } - exit(0); -} +int bindmain(int, char *[]); /* From main.c */ /* * Initialize the Service by registering it. @@ -189,60 +125,57 @@ void UpdateSCM(DWORD state) { } } -/* - * C-runtime stuff used to initialize the app and - * get argv, argc, envp. - */ +/* unhook main */ -typedef struct -{ - int newmode; -} _startupinfo; - -_CRTIMP void __cdecl __set_app_type(int); -_CRTIMP void __cdecl __getmainargs(int *, char ***, char ***, int, - _startupinfo *); -void __cdecl _setargv(void); - -#ifdef ISC_ADJUST_FDIV -/* Pentium FDIV adjustment */ -extern int _adjust_fdiv; -extern int * _imp___adjust_fdiv; -/* Floating point precision */ -extern void _setdefaultprecision(); -#endif - -extern int _newmode; /* malloc new() handler mode */ -extern int _dowildcard; /* passed to __getmainargs() */ - -typedef void (__cdecl *_PVFV)(void); -extern void __cdecl _initterm(_PVFV *, _PVFV *); -extern _PVFV *__onexitbegin; -extern _PVFV *__onexitend; -extern _CRTIMP char **__initenv; +#undef main /* - * Do the work that mainCRTStartup() would normally do + * This is the entry point for the executable + * We can now call bindmain() explicitly or via StartServiceCtrlDispatcher() + * as we need to. */ -void GetArgs(int *argc, char ***argv, char ***envp) +int main(int argc, char *argv[]) { - _startupinfo startinfo; + int rc, ch; - /* - * Set the app type to Console (check CRT/SRC/INTERNAL.H: - * \#define _CONSOLE_APP 1) - */ - __set_app_type(1); + /* Command line users should put -f in the options. */ + isc_commandline_errprint = ISC_FALSE; + while ((ch = isc_commandline_parse(argc, argv, + "46c:C:d:D:E:fFgi:lm:n:N:p:P:" + "sS:t:T:U:u:vVx:")) != -1) { + switch (ch) { + case 'f': + case 'g': + case 'v': + case 'V': + foreground = TRUE; + break; + default: + break; + } + } + isc_commandline_reset = ISC_TRUE; - /* Mark this module as an EXE file */ - __onexitbegin = __onexitend = (_PVFV *)(-1); + if (foreground) { + /* run in console window */ + exit(bindmain(argc, argv)); + } else { + /* Start up as service */ + char *SERVICE_NAME = BIND_SERVICE_NAME; - startinfo.newmode = _newmode; - __getmainargs(argc, argv, envp, _dowildcard, &startinfo); - __initenv = *envp; + SERVICE_TABLE_ENTRY dispatchTable[] = { + { TEXT(SERVICE_NAME), + (LPSERVICE_MAIN_FUNCTION)bindmain }, + { NULL, NULL } + }; -#ifdef ISC_ADJUST_FDIV - _adjust_fdiv = * _imp___adjust_fdiv; - _setdefaultprecision(); -#endif + rc = StartServiceCtrlDispatcher(dispatchTable); + if (!rc) { + fprintf(stderr, + "Use -f to run from the command line.\n"); + /* will be 1063 when launched as a console app */ + exit(GetLastError()); + } + } + exit(0); } diff --git a/bin/named/win32/os.c b/bin/named/win32/os.c index 77e477c6..c3b6c98f 100644 --- a/bin/named/win32/os.c +++ b/bin/named/win32/os.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2004, 2005, 2007-2009, 2012 Internet Systems Consortium, Inc. ("ISC") + * Copyright (C) 2004, 2005, 2007-2009, 2012, 2013 Internet Systems Consortium, Inc. ("ISC") * Copyright (C) 1999-2002 Internet Software Consortium. * * Permission to use, copy, modify, and/or distribute this software for any @@ -293,7 +293,7 @@ isc_result_t ns_os_gethostname(char *buf, size_t len) { int n; - n = gethostname(buf, len); + n = gethostname(buf, (int)len); return ((n == 0) ? ISC_R_SUCCESS : ISC_R_FAILURE); } diff --git a/bin/named/zoneconf.c b/bin/named/zoneconf.c index 7f36b143..3369c42d 100644 --- a/bin/named/zoneconf.c +++ b/bin/named/zoneconf.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2004-2013 Internet Systems Consortium, Inc. ("ISC") + * Copyright (C) 2004-2014 Internet Systems Consortium, Inc. ("ISC") * Copyright (C) 1999-2003 Internet Software Consortium. * * Permission to use, copy, modify, and/or distribute this software for any @@ -462,7 +462,7 @@ configure_staticstub_serveraddrs(const cfg_obj_t *zconfig, dns_zone_t *zone, if (rdata == NULL) return (ISC_R_NOMEMORY); region.base = (unsigned char *)(rdata + 1); - memcpy(region.base, &na.type, region.length); + memmove(region.base, &na.type, region.length); dns_rdata_init(rdata); dns_rdata_fromregion(rdata, dns_zone_getclass(zone), rdatalist->type, ®ion); @@ -490,7 +490,7 @@ configure_staticstub_serveraddrs(const cfg_obj_t *zconfig, dns_zone_t *zone, } region.length = sregion.length; region.base = (unsigned char *)(rdata + 1); - memcpy(region.base, sregion.base, region.length); + memmove(region.base, sregion.base, region.length); dns_rdata_init(rdata); dns_rdata_fromregion(rdata, dns_zone_getclass(zone), dns_rdatatype_ns, ®ion); @@ -554,7 +554,7 @@ configure_staticstub_servernames(const cfg_obj_t *zconfig, dns_zone_t *zone, return (ISC_R_NOMEMORY); region.length = sregion.length; region.base = (unsigned char *)(rdata + 1); - memcpy(region.base, sregion.base, region.length); + memmove(region.base, sregion.base, region.length); dns_rdata_init(rdata); dns_rdata_fromregion(rdata, dns_zone_getclass(zone), dns_rdatatype_ns, ®ion); |