[Pkg-utopia-commits] r1544 - in /packages/unstable/nss-mdns/debian: ./ NOTES.Debian README.Debian changelog compat control copyright docs patches/ patches/00_dns_unaligned_access.patch postinst postrm rules

lool at users.alioth.debian.org lool at users.alioth.debian.org
Fri Jun 22 15:53:56 UTC 2007


Author: lool
Date: Fri Jun 22 15:53:56 2007
New Revision: 1544

URL: http://svn.debian.org/wsvn/pkg-utopia/?sc=1&rev=1544
Log:
* Import nss-mdns 0.10-0.1.

Added:
    packages/unstable/nss-mdns/debian/
    packages/unstable/nss-mdns/debian/NOTES.Debian
    packages/unstable/nss-mdns/debian/README.Debian
    packages/unstable/nss-mdns/debian/changelog
    packages/unstable/nss-mdns/debian/compat
    packages/unstable/nss-mdns/debian/control
    packages/unstable/nss-mdns/debian/copyright
    packages/unstable/nss-mdns/debian/docs
    packages/unstable/nss-mdns/debian/patches/
    packages/unstable/nss-mdns/debian/patches/00_dns_unaligned_access.patch
    packages/unstable/nss-mdns/debian/postinst
    packages/unstable/nss-mdns/debian/postrm
    packages/unstable/nss-mdns/debian/rules   (with props)

Added: packages/unstable/nss-mdns/debian/NOTES.Debian
URL: http://svn.debian.org/wsvn/pkg-utopia/packages/unstable/nss-mdns/debian/NOTES.Debian?rev=1544&op=file
==============================================================================
--- packages/unstable/nss-mdns/debian/NOTES.Debian (added)
+++ packages/unstable/nss-mdns/debian/NOTES.Debian Fri Jun 22 15:53:56 2007
@@ -1,0 +1,93 @@
+Upgrade implementation notes
+============================
+
+The first version in Debian was 0.3-2.
+
+Postinst
+========
+
+Starting with version 0.8-4.2 inclusive, the package started touching
+/etc/nsswitch.conf in debian/postinst.
+
+In versions 0.8-4.2, for first installs and upgrades from versions lower or
+equal to 0.8-4.1, the postinst would:
+- avoid doing anything if any of "mdns4_minimal", "mdns4", "mdns",
+  "mdns_minimal", "mdns6", "mdns6_minimal" was found in the hosts line; that
+  is, manually configured /etc/nsswitch.conf were kept intact
+- otherwise change the "dns" entry in /etc/hosts into:
+  "mdns4_minimal [NOTFOUND=return] dns mdns4"
+
+Problems with this version:
+1) does not preserve spacing ("foo   bar" becomes "foo bar")
+2) breaks local reaction overrides ("[STATUS=ACTION]")
+
+In version 0.8-5, the postinst is identical to the postinst of version 0.8-4.2.
+
+In version 0.8-6, the postinst was really messed up:
+* for first installs:
+  - avoid doing anything if any of "mdns4_minimal", "mdns4", "mdns",
+    "mdns_minimal", "mdns6", "mdns6_minimal" was found in the hosts line; that
+    is, manually configured /etc/nsswitch.conf were kept intact
+  - otherwise change the "dns" entry in /etc/hosts into:
+    "mdns_minimal dns mdns"
+  - if the hosts line contained "... mdns4_minimal [NOTFOUND=return] ... dns
+    ... mdns4 ...", remove these "mdns4_minimal [NOTFOUND=return]" and "mdns4"
+    entries
+* for upgrades from versions lower or equal to 0.8-4.1:
+  - avoid doing anything if any of "mdns4_minimal", "mdns4", "mdns",
+    "mdns_minimal", "mdns6", "mdns6_minimal" was found in the hosts line; that
+    is, manually configured /etc/nsswitch.conf were kept intact
+  - otherwise change the "dns" entry in /etc/hosts into:
+    "mdns_minimal dns mdns"
+* for upgrades from versions 0.8-4.2 and 0.8-5:
+  - if the hosts line contained "... mdns4_minimal [NOTFOUND=return] ... dns
+    ... mdns4 ...", remove these "mdns4_minimal [NOTFOUND=return]" and "mdns4"
+    entries
+* for upgrades from versions higher or equal to 0.8-6 (i.e. reinstalls of
+  0.8-6!):
+  - avoid doing anything if any of "mdns4_minimal", "mdns4", "mdns",
+    "mdns_minimal", "mdns6", "mdns6_minimal" was found in the hosts line; that
+    is, manually configured /etc/nsswitch.conf were kept intact
+  - otherwise change the "dns" entry in /etc/hosts into:
+    "mdns_minimal dns mdns"
+
+Problems with this version:
+1) does not preserve spacing ("foo   bar" becomes "foo bar") in many cases
+2) breaks local reaction overrides ("[STATUS=ACTION]") in many cases
+3) does not handle all versions (e.g. local versions, versions from Ubuntu)
+4) installs a configuration which does not match the upstream recommendations
+   for new installs or upgrades from >= 0.8-4.1
+5) removes any local or automatic configuration and breaks the mdns setup when
+   upgrading from versions 0.8-4.2 and 0.8-5
+6) results in ugly spacing when upgrading from versions 0.8-4.2 and 0.8-5 (note
+   the trailing space and the double space between files and dns):
+    hosts:          files  dns 
+
+In version 0.8-6.1 and later, the postinst would:
+- if upgrading from 0.8-6:
+  - revert breakage introduced in 0.8-6
+  - avoid doing anything if any of "mdns4_minimal", "mdns4", "mdns",
+    "mdns_minimal", "mdns6", "mdns6_minimal" was found in the hosts line; that
+    is, manually configured /etc/nsswitch.conf were kept intact
+  - otherwise change the "dns" entry in /etc/hosts into:
+    "mdns4_minimal [NOTFOUND=return] dns mdns4"
+- for first installs and upgrades from versions lower than
+  0.8-4.2, the postinst would:
+  - avoid doing anything if any of "mdns4_minimal", "mdns4", "mdns",
+    "mdns_minimal", "mdns6", "mdns6_minimal" was found in the hosts line; that
+    is, manually configured /etc/nsswitch.conf were kept intact
+  - otherwise change the "dns" entry in /etc/hosts into:
+    "mdns4_minimal [NOTFOUND=return] dns mdns4"
+
+
+Postrm
+======
+
+Concerning postrm, one was introduced in version 0.8-4.2 to remove any
+keyword from a set of mdns keywords from the "hosts:" line of nsswitch.conf
+during purge.  This postinst snippet was dropped in 0.8-6.
+
+In version 0.9-0.1, the same snippet was reintroduced, but is run on package
+removal instead of purge to ensure perl is still present and to avoid DNS
+issues in case of a removed package.
+

Added: packages/unstable/nss-mdns/debian/README.Debian
URL: http://svn.debian.org/wsvn/pkg-utopia/packages/unstable/nss-mdns/debian/README.Debian?rev=1544&op=file
==============================================================================
--- packages/unstable/nss-mdns/debian/README.Debian (added)
+++ packages/unstable/nss-mdns/debian/README.Debian Fri Jun 22 15:53:56 2007
@@ -1,0 +1,30 @@
+Packages automagically modifies /etc/nsswitch.conf
+--------------------------------------------------
+
+Previously the base-files package shipped /etc/nsswitch.conf and specified:
+
+    hosts:          files dns mdns
+
+However, due to bug#351990, this is no longer the case. /etc/nsswitch.conf
+is now generated post-installation. Upon installation of nss-mdns, if the
+strings 'mdns', 'mdns_minimal', 'mdns4', 'mdns4_minimal', 'mdns6' or
+'mdns6_minimal' appear on the hosts line, your /etc/nsswitch.conf file
+will not be updated, otherwise it will updated to match the upstream
+recommended configuration which usually looks like:
+
+    hosts:          files mdns4_minimal [NOTFOUND=return] dns mdns4
+
+
+Sites with a .local DNS zone
+----------------------------
+
+Making nss-mdns authoritative for .local breaks resolution on networks
+where .local is a real domain name.  To workaround this, avahi-daemon
+should be restarted when the DNS settings change (for example via
+resolvconf and dhclient hooks) and disable itself when a SOA for the
+.local zone is found.  This is not currently implemented at the time of
+writing, but should soon be.
+
+See also this excellent summary on the upstream website:
+    <http://avahi.org/wiki/AvahiAndUnicastDotLocal>
+

Added: packages/unstable/nss-mdns/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-utopia/packages/unstable/nss-mdns/debian/changelog?rev=1544&op=file
==============================================================================
--- packages/unstable/nss-mdns/debian/changelog (added)
+++ packages/unstable/nss-mdns/debian/changelog Fri Jun 22 15:53:56 2007
@@ -1,0 +1,221 @@
+nss-mdns (0.10-0.1) unstable; urgency=high
+
+  * NMU
+  * New upstream release
+  * Fixes alignment problems on sparc causing sigBUS (Closes: #423222)
+
+ -- Sjoerd Simons <sjoerd at debian.org>  Sun, 13 May 2007 10:23:16 +0200
+
+nss-mdns (0.9-0.2) unstable; urgency=high
+
+  * Non-maintainer upload to fix a RC bug.
+  * Configure with a prefix of / instead of /usr as libnss-mdns needs to be in
+    /lib for the resolver to work correctly during boot; this is also needed
+    for chrooted processes such as Postfix's smtpd which uses a copy of the
+    NSS libs as well of the NSS configuration and fails when mdns is missing
+    in the chroot but referenced in nsswitch.conf.  Update other configured
+    dirs (mandir, infodir, sysconfdir) as well, but these are currently not
+    used.
+
+ -- Loic Minier <lool at dooz.org>  Thu, 22 Feb 2007 14:48:45 +0100
+
+nss-mdns (0.9-0.1) unstable; urgency=high
+
+  * Non-maintainer upload to fix broken dependencies in the 0.8-6.1 NMU.
+  * Fix Depends on perl and avahi-daemon.
+  * Bump up dependency on avahi-daemon to >= 0.6.16-1 for the auto-disabling
+    functionality on sites with a .local SOA.
+  * New upstream release.
+    - Does not export unnecessary symbols and fixes segfault in nmbclient
+      which had symbols with the same name; closes: #404266.
+    - Does not use the "search" keyword of resolv.conf anymore;
+      closes: #404534, #405327.
+  * Re-add a postrm to cleanup the mdns_* entries from nsswitch.conf but act on
+    package removal instead of purge to avoid breaking the DNS when the lib is
+    removed and to ensure perl is still present; closes: #406198.
+  * Document the changes made to postinst in NOTES.Debian and document the
+    history of the postrm as well.
+  * Updates to README.Debian; add upstream URL for troubleshooting.
+
+ -- Loic Minier <lool at dooz.org>  Tue,  9 Jan 2007 18:45:27 +0100
+
+nss-mdns (0.8-6.1) unstable; urgency=low
+
+  * Non-maintainer upload to fix a long-standing RC bug and to beat the
+    package into shape before etch with suggestions from upstream; thanks
+    Lennart Poettering.
+  * Configure with --disable-legacy, as recommended by upstream for security
+    reasons; the legacy mode might be offered in a separate binary package for
+    the corner cases where it can be useful; see full discussion in #393711;
+    depend on avahi-daemon as nss-mdns will not work without avahi when
+    compiled like this; closes: #399297.
+  * Only suggest zeroconf instead of Recommending it: even if it can act as a
+    nice complement to nss-mdns, it is intrusive and orthogonal to nss-mdns
+    and conflicts with avahi-autoipd; closes: #353131, #392590.
+  * Suggest avahi-autoipd as an alternative to zeroconf.
+  * Remove offensive comments in postinst and README.Debian.
+  * Document the history of postinst snippets in debian/NOTES.Debian to permit
+    handling all upgrade paths.
+  * Depend on Perl for the postinst snippets using the perl interpreter.
+  * Rewrite postinst to handle all upgrade paths.
+    - Does not wipe NSS configuration which matches the upstream recommended
+      configuration during upgrades from versions 0.8-4.2 or 0.8-5;
+      closes: #393608.
+    - Install the upstream recommended configuration for first installs and
+      upgrades from versions which did not automatically insert mdns in the
+      NSS setup (unless mdns is already setup); closes: #393711.
+    - Keep configuration intact when upgrading from versions which installed
+      the upstream recommended configuration.
+    - Remove whitespaces added in upgrades from version 0.8-4.2 or 0.8-5 to
+      0.8-6.
+    - For upgrades from 0.8-6, attempt to revert the problematic "mdns_minimal
+      dns mdns" configuration and to install the upstream recommended
+      configuration.
+  * Update README.Debian to match the above changes and a planned changes in
+    avahi-daemon which should disable itself if a .local SOA is found after a
+    change in the DNS settings.
+
+ -- Loic Minier <lool at dooz.org>  Sun, 24 Dec 2006 20:27:30 +0100
+
+nss-mdns (0.8-6) unstable; urgency=medium
+
+  * Revert hostile package takeover.
+  * "Unbreak the world" (Closes: #392813)
+  
+  "So whether nss-mdns does or doesn't support "search local" is of no 
+  concern to me -- I just doesn't want it to interfere with my otherwise 
+  working setup."
+  
+    Walter Hofmann on Joey Hess and Sjoerd Simons' period of maintainence
+  
+  * Revert switch to CDBS.
+  * Switch to using a sane /etc/nsswitch.conf
+    so we don't break existing setups, or those over which the user has
+    no control.
+  * Revert "clarifications" as well.
+  * Recommend, once again, zeroconf.
+
+ -- Anand Kumria <wildfire at progsoc.org>  Mon, 16 Oct 2006 12:18:55 +1000
+
+nss-mdns (0.8-5) unstable; urgency=low
+
+  * Take over the package for the pkg-utopia team. T
+  * Acknowledge NMU's (Closes: #388864, #351990, #353131, #378608)
+  * Switch to cdbs. As a side-effect the sysconfdir and localstatedir are set
+    correctly (Closes: #387231)
+  * debian/patches/00_dns_unaligned_access.patch:
+    - Added. Prevent unaligned access when creating/parsing dns packets. 
+
+ -- Sjoerd Simons <sjoerd at debian.org>  Wed, 11 Oct 2006 11:32:46 +0200
+
+nss-mdns (0.8-4.2) unstable; urgency=low
+
+  * NMU
+  * Add postinst that will add mdns entries to /etc/nsswitch.conf on new
+    installs and on upgrades from the previous version.  Closes: #388864,
+    #351990
+  * Add postrm to remove mdns entries from /etc/nsswitch.conf when the package
+    is removed.
+  * Local modifications to the file will be preserved accross upgrades.
+  * Depend on base-files 3.1.10 or higher to get a nsswitch.conf that is not a
+    conffile and that doesn't have mdns entries from base-files in it.
+  * Switch to nsswitch line recommended by upstream in #388864 after getting
+    clarification from upstream, and update README.Debian.
+  * Remove recommends on zeroconf. Closes: #353131
+
+ -- Joey Hess <joeyh at debian.org>  Fri, 22 Sep 2006 21:10:25 -0400
+
+nss-mdns (0.8-4.1) unstable; urgency=low
+
+  * NMU
+  * Clear out the diff.gz so it doesn't patch the various autotools files,
+    which makes everything explode on build (Closes: #378608) 
+
+ -- Sjoerd Simons <sjoerd at debian.org>  Fri,  8 Sep 2006 09:51:57 +0200
+
+nss-mdns (0.8-4) unstable; urgency=low
+
+  * Forget about using CDBS and use debhelper directly so we have control of
+    what is being built and updated. (Closes: #378608)
+
+ -- Anand Kumria <wildfire at progsoc.org>  Sun, 13 Aug 2006 12:24:32 +1000
+
+nss-mdns (0.8-3) unstable; urgency=low
+
+  * Regenerate the Debian .diff.gz so the Debian build system doesn't barf and
+    die
+
+ -- Anand Kumria <wildfire at progsoc.org>  Sun, 13 Aug 2006 09:49:39 +1000
+
+nss-mdns (0.8-2) unstable; urgency=low
+
+  * Copy 'configure' from the upstream tarball since the CDBS regeneration has
+    gone awry and does not work. This is the simple fix -- a more robust one
+    will be in place shortly. Thanks to Sam Morris for the diagnosis.
+    (Closes: #378608)
+
+ -- Anand Kumria <wildfire at progsoc.org>  Sun, 13 Aug 2006 09:40:48 +1000
+
+nss-mdns (0.8-1) unstable; urgency=low
+
+  * New upstream release (Closes: #369827)
+  * Enable "minimal" mDNS mode -- Debian has had this for a while but
+    upstream have now incorporated it.  This should mean that mdns
+    can now be mentioned in /etc/nsswitch.conf without issue.
+    (Closes: #348578, #348580)
+  * Suggest avahi-daemon rather than nscd (Closes: #367275)
+
+ -- Anand Kumria <wildfire at progsoc.org>  Mon,  3 Jul 2006 03:55:05 +1000
+
+nss-mdns (0.7-1) unstable; urgency=low
+
+  * New upstream release
+
+ -- Anand Kumria <wildfire at progsoc.org>  Tue, 27 Dec 2005 06:42:42 +1100
+
+nss-mdns (0.6-2) unstable; urgency=low
+
+  * Enable Avahi connections
+
+ -- Anand Kumria <wildfire at progsoc.org>  Mon, 12 Sep 2005 20:59:52 +1000
+
+nss-mdns (0.6-1) unstable; urgency=low
+
+  * New upstream release
+
+ -- Anand Kumria <wildfire at progsoc.org>  Fri,  2 Sep 2005 03:58:34 +1000
+
+nss-mdns (0.5-1) unstable; urgency=low
+
+  * New upstream release (Closes: #313024)
+
+ -- Anand Kumria <wildfire at progsoc.org>  Thu, 16 Jun 2005 17:38:13 +1000
+
+nss-mdns (0.4-1) unstable; urgency=low
+
+  * New upstream release
+  * Fix endian issues (Closes: #305465)
+
+ -- Anand Kumria <wildfire at progsoc.org>  Mon, 16 May 2005 05:12:09 +1000
+
+nss-mdns (0.3-2) unstable; urgency=low
+
+  * Modify Maintainer to point to me.
+  * Recommend 'zeroconf'
+  * Remove i386 specific int3 debug hack.
+  * Update to standard 3.6.1
+  * Reclose RFP (Closes: #284497)
+
+ -- Anand Kumria <wildfire at progsoc.org>  Mon,  7 Mar 2005 01:27:04 +1100
+
+nss-mdns (0.3-1) unstable; urgency=low
+
+  * Update to current upstream
+
+ -- Lennart Poettering <mzqrovna at 0pointer.de>  Sun, 16 Jan 2005 14:57:28 +0100
+
+nss-mdns (0.1-0) unstable; urgency=low
+
+  * Initial Release (Closes: #284497).
+
+ -- Jeff Waugh <jdub at perkypants.org>  Tue, 07 Dec 2004 12:42:51 +0100

Added: packages/unstable/nss-mdns/debian/compat
URL: http://svn.debian.org/wsvn/pkg-utopia/packages/unstable/nss-mdns/debian/compat?rev=1544&op=file
==============================================================================
--- packages/unstable/nss-mdns/debian/compat (added)
+++ packages/unstable/nss-mdns/debian/compat Fri Jun 22 15:53:56 2007
@@ -1,0 +1,1 @@
+4

Added: packages/unstable/nss-mdns/debian/control
URL: http://svn.debian.org/wsvn/pkg-utopia/packages/unstable/nss-mdns/debian/control?rev=1544&op=file
==============================================================================
--- packages/unstable/nss-mdns/debian/control (added)
+++ packages/unstable/nss-mdns/debian/control Fri Jun 22 15:53:56 2007
@@ -1,0 +1,18 @@
+Source: nss-mdns
+Section: admin
+Priority: optional
+Maintainer: Anand Kumria <wildfire at progsoc.org>
+Build-Depends: debhelper (>> 4.0.0), lynx
+Standards-Version: 3.7.2
+
+Package: libnss-mdns
+Section: admin
+Depends: ${shlibs:Depends}, base-files (>= 3.1.10), perl, avahi-daemon (>= 0.6.16-1)
+Suggests: avahi-autoipd | zeroconf
+Architecture: any
+Description: NSS module for Multicast DNS name resolution
+ nss-mdns is a plugin for the GNU Name Service Switch (NSS) functionality
+ of the GNU C Library (glibc) providing host name resolution via Multicast
+ DNS (using Zeroconf, aka Apple Bonjour / Apple Rendezvous ), effectively
+ allowing name resolution by common Unix/Linux programs in the ad-hoc mDNS
+ domain .local.

Added: packages/unstable/nss-mdns/debian/copyright
URL: http://svn.debian.org/wsvn/pkg-utopia/packages/unstable/nss-mdns/debian/copyright?rev=1544&op=file
==============================================================================
--- packages/unstable/nss-mdns/debian/copyright (added)
+++ packages/unstable/nss-mdns/debian/copyright Fri Jun 22 15:53:56 2007
@@ -1,0 +1,9 @@
+This package was debianized by Jeff Waugh <jeff.waugh at canonical.com> on
+Tue, 07 Dec 2004 12:45:24 +0100.
+
+It was downloaded from <http://www.0pointer.de/lennart/projects/nss-mdns/>
+
+Copyright (C) 2004, Lennart Poettering
+
+On Debian systems, the complete text of the GNU Lesser General Public License
+can be found in `/usr/share/common-licenses/LGPL'.

Added: packages/unstable/nss-mdns/debian/docs
URL: http://svn.debian.org/wsvn/pkg-utopia/packages/unstable/nss-mdns/debian/docs?rev=1544&op=file
==============================================================================
--- packages/unstable/nss-mdns/debian/docs (added)
+++ packages/unstable/nss-mdns/debian/docs Fri Jun 22 15:53:56 2007
@@ -1,0 +1,2 @@
+doc/style.css
+doc/README.html

Added: packages/unstable/nss-mdns/debian/patches/00_dns_unaligned_access.patch
URL: http://svn.debian.org/wsvn/pkg-utopia/packages/unstable/nss-mdns/debian/patches/00_dns_unaligned_access.patch?rev=1544&op=file
==============================================================================
--- packages/unstable/nss-mdns/debian/patches/00_dns_unaligned_access.patch (added)
+++ packages/unstable/nss-mdns/debian/patches/00_dns_unaligned_access.patch Fri Jun 22 15:53:56 2007
@@ -1,0 +1,120 @@
+Index: src/dns.c
+===================================================================
+--- src/dns.c	(revision 102)
++++ src/dns.c	(working copy)
+@@ -32,6 +32,33 @@
+ 
+ #include "dns.h"
+ 
++#define SET_16_P(data, value)                              \
++  do {                                                     \
++    uint16_t __value = value;                              \
++    memcpy(data, &__value, sizeof(uint16_t));              \
++  } while(0)
++
++#define SET_16(data, idx, value)                         \
++  SET_16_P(((uint8_t *)data) + idx * sizeof(uint16_t)/sizeof(uint8_t), value) 
++
++#define GET_16_P(data, value)                   \
++  do {                                          \
++    uint8_t *__value = ((uint8_t *)&value);     \
++    memcpy(__value, data, sizeof(uint16_t));    \
++  } while(0)
++    
++#define GET_16(data, idx, value) \
++  GET_16_P(((uint8_t *)data) + idx * sizeof(uint16_t)/sizeof(uint8_t), value) 
++
++#define GET_32_P(data, value)                   \
++  do {                                          \
++    uint8_t *__value = ((uint8_t *)&value);     \
++    memcpy(__value, data, sizeof(uint32_t));    \
++  } while(0)
++    
++#define GET_32(data, idx, value) \
++  GET_32_P(((uint8_t *)data) + idx * sizeof(uint32_t)/sizeof(uint8_t), value) 
++
+ struct dns_packet* dns_packet_new(void) {
+     struct dns_packet *p;
+ 
+@@ -51,15 +78,19 @@
+ void dns_packet_set_field(struct dns_packet *p, unsigned idx, uint16_t v) {
+     assert(p);
+     assert(idx < 2*6);
++
+     
+-    ((uint16_t*) p->data)[idx] = htons(v);
++    SET_16(p->data, idx, htons(v));
+ }
+ 
+ uint16_t dns_packet_get_field(struct dns_packet *p, unsigned idx) {
+     assert(p);
+     assert(idx < 2*6);
++    uint16_t r;
+ 
+-    return ntohs(((uint16_t*) p->data)[idx]);
++    GET_16(p->data, idx, r);
++
++    return ntohs(r);
+ }
+ 
+ uint8_t* dns_packet_append_name(struct dns_packet *p, const char *name) {
+@@ -102,7 +133,7 @@
+     assert(p);
+     
+     d = dns_packet_extend(p, sizeof(uint16_t));
+-    *((uint16_t*) d) = htons(v);
++    SET_16_P(d, htons(v));
+     
+     return d;
+ }
+@@ -120,7 +151,7 @@
+ }
+ 
+ uint8_t *dns_packet_append_name_compressed(struct dns_packet *p, const char *name, uint8_t *prev) {
+-    int16_t *d;
++    uint8_t *d;
+     signed long k;
+     assert(p);
+ 
+@@ -131,8 +162,8 @@
+     if (k < 0 || k >= 0x4000 || (size_t) k >= p->size)
+         return dns_packet_append_name(p, name);
+ 
+-    d = (int16_t*) dns_packet_extend(p, sizeof(uint16_t));
+-    *d = htons((0xC000 | k));
++    d = dns_packet_extend(p, sizeof(uint16_t));
++    SET_16_P(d, htons((0xC000 | k)));
+     
+     return prev;
+ }
+@@ -246,11 +277,13 @@
+ 
+ int dns_packet_consume_uint16(struct dns_packet *p, uint16_t *ret_v) {
+     assert(p && ret_v);
++    uint16_t r;
+ 
+     if (p->rindex + sizeof(uint16_t) > p->size)
+         return -1;
+-
+-    *ret_v = ntohs(*((uint16_t*) (p->data + p->rindex)));
++    
++    GET_16_P(p->data + p->rindex, r);
++    *ret_v =  ntohs(r);
+     p->rindex += sizeof(uint16_t);
+ 
+     return 0;
+@@ -258,11 +291,13 @@
+ 
+ int dns_packet_consume_uint32(struct dns_packet *p, uint32_t *ret_v) {
+     assert(p && ret_v);
++    uint32_t r;
+ 
+     if (p->rindex + sizeof(uint32_t) > p->size)
+         return -1;
+ 
+-    *ret_v = ntohl(*((uint32_t*) (p->data + p->rindex)));
++    GET_32_P(p->data + p->rindex, r);
++    *ret_v = ntohl(r);
+     p->rindex += sizeof(uint32_t);
+     
+     return 0;

Added: packages/unstable/nss-mdns/debian/postinst
URL: http://svn.debian.org/wsvn/pkg-utopia/packages/unstable/nss-mdns/debian/postinst?rev=1544&op=file
==============================================================================
--- packages/unstable/nss-mdns/debian/postinst (added)
+++ packages/unstable/nss-mdns/debian/postinst Fri Jun 22 15:53:56 2007
@@ -1,0 +1,85 @@
+#!/bin/sh
+set -e
+#DEBHELPER#
+
+log() {
+    echo "$*"
+}
+
+# try to insert mdns entries to the "hosts" line in /etc/nsswitch.conf to
+# automatically enable nss-mdns support; do not change the configuration if the
+# "hosts" line already references some mdns lookups
+insert_mdns() {
+    log "Checking NSS setup..."
+    # abort if /etc/nsswitch.conf does not exist
+    if ! [ -e /etc/nsswitch.conf ]; then
+        log "Could not find /etc/nsswitch.conf."
+        return
+    fi
+    perl -i -pe '
+        sub insert {
+            # this also splits on tab
+            my @bits=split(" ", shift);
+            # do not break configuration if the "hosts" line already references
+            # mdns
+            if (grep { $_ eq "mdns4_minimal" || $_ eq "mdns4"
+                || $_ eq "mdns" || $_ eq "mdns_minimal" 
+                || $_ eq "mdns6" || $_ eq "mdns6_minimal"} @bits) {
+                return join " ", @bits;
+            }
+            # change "dns" into "mdns4_minimal [NOTFOUND=return] dns mdns4"
+            return join " ", map {
+                $_ eq "dns" ? ("mdns4_minimal","[NOTFOUND=return]",$_,"mdns4") : $_
+            } @bits;
+        }
+        s/^(hosts:\s+)(.*)/$1.insert($2)/e;
+    ' /etc/nsswitch.conf
+}
+
+action="$1"
+
+if [ configure = "$action" ]; then
+    if [ -z "$2" ]; then
+        log "First installation detected..."
+        # first install: setup the recommended configuration (unless
+        # nsswitch.conf already contains mdns entries)
+        insert_mdns
+    else
+        # upgrade
+        version="$2"
+
+        if dpkg --compare-versions "$version" lt 0.8-4.2; then
+            log "Upgrade from unconfigured version detected."
+            # versions prior to 0.8-4.2 did not setup nss-mdns automatically,
+            # do it now
+            insert_mdns
+        elif dpkg --compare-versions "$version" lt 0.8-6; then
+            log "Already configured version detected, skipping NSS setup."
+            # versions 0.8-4.2 and 0.8-5 installed the same configuration as
+            # this postinst, so nothing needs to be done
+            :
+        elif dpkg --compare-versions "$version" lt 0.8-6.1; then
+            log "Upgrade from possibly broken version detected."
+            if [ -e /etc/nsswitch.conf ]; then
+                # version 0.8-6 broke the configuration in multiple ways: 1)
+                # for systems which were upgraded from 0.8-4.2 or 0.8-5 to
+                # 0.8-6, the hosts line will look like:
+                #    hosts:          files  dns 
+                # cleanup from this specially formatted line into the default
+                # one:
+                sed -i \
+                    's/^hosts:          files  dns $/hosts:          files dns/' \
+                    /etc/nsswitch.conf
+                # 2) for systems which re-installed 0.8-6 or installed 0.8-6 as the
+                # first version, the hosts line will look like:
+                #    hosts:          files mdns_minimal dns mdns
+                # cleanup from this specially formatted line into the default one:
+                sed -i -r \
+                    '/^hosts:/s/\<mdns_minimal dns mdns\>/dns/' \
+                    /etc/nsswitch.conf
+            fi
+
+            insert_mdns
+        fi
+    fi
+fi

Added: packages/unstable/nss-mdns/debian/postrm
URL: http://svn.debian.org/wsvn/pkg-utopia/packages/unstable/nss-mdns/debian/postrm?rev=1544&op=file
==============================================================================
--- packages/unstable/nss-mdns/debian/postrm (added)
+++ packages/unstable/nss-mdns/debian/postrm Fri Jun 22 15:53:56 2007
@@ -1,0 +1,43 @@
+#!/bin/sh
+set -e
+#DEBHELPER#
+
+log() {
+    echo "$*"
+}
+
+remove_mdns() {
+    log "Checking NSS setup..."
+    # abort if /etc/nsswitch.conf does not exist
+    if ! [ -e /etc/nsswitch.conf ]; then
+        log "Could not find /etc/nsswitch.conf."
+        return
+    fi
+    perl -i -pe '
+        my @remove=(
+            "mdns4_minimal [NOTFOUND=return]",
+            "mdns4_minimal",
+            "mdns4",
+            "mdns6_minimal [NOTFOUND=return]",
+            "mdns6_minimal",
+            "mdns6",
+            "mdns_minimal [NOTFOUND=return]",
+            "mdns_minimal",
+            "mdns",
+        );
+        sub remove {
+            my $s=shift;
+            foreach my $bit (@remove) {
+                $s=~s/\s+\Q$bit\E//g;
+            }
+            return $s;
+        }
+        s/^(hosts:)(.*)/$1.remove($2)/e;
+    ' /etc/nsswitch.conf
+}
+
+action="$1"
+
+if [ "$action" = remove ]; then
+    remove_mdns
+fi

Added: packages/unstable/nss-mdns/debian/rules
URL: http://svn.debian.org/wsvn/pkg-utopia/packages/unstable/nss-mdns/debian/rules?rev=1544&op=file
==============================================================================
--- packages/unstable/nss-mdns/debian/rules (added)
+++ packages/unstable/nss-mdns/debian/rules Fri Jun 22 15:53:56 2007
@@ -1,0 +1,101 @@
+#!/usr/bin/make -f
+# -*- makefile -*-
+# Sample debian/rules that uses debhelper.
+# This file was originally written by Joey Hess and Craig Small.
+# As a special exception, when this file is copied by dh-make into a
+# dh-make output file, you may use that output file without restriction.
+# This special exception was added by Craig Small in version 0.37 of dh-make.
+
+# Uncomment this to turn on verbose mode.
+#export DH_VERBOSE=1
+
+
+# These are used for cross-compiling and for saving the configure script
+# from having to guess our platform (since we know it already)
+DEB_HOST_GNU_TYPE   ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
+DEB_BUILD_GNU_TYPE  ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
+
+
+CFLAGS = -Wall -g -DNDEBUG=1
+
+ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
+	CFLAGS += -O0
+else
+	CFLAGS += -O2
+endif
+
+config.status: configure
+	dh_testdir
+	# Add here commands to configure the package.
+	./configure --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) --prefix=/ --mandir=/usr/share/man --infodir=/usr/share/info --sysconfdir=/etc --localstatedir=/var --libexecdir=/lib/nss-mdns CFLAGS="$(CFLAGS)" LDFLAGS="-Wl,-z,defs" --disable-legacy
+
+
+build: build-stamp
+
+build-stamp:  config.status
+	dh_testdir
+
+	# Add here commands to compile the package.
+	$(MAKE)
+	#docbook-to-man debian/nss-mdns.sgml > nss-mdns.1
+
+	touch $@
+
+clean:
+	dh_testdir
+	dh_testroot
+	rm -f build-stamp 
+
+	# Add here commands to clean up after the build process.
+	-$(MAKE) distclean
+
+
+	dh_clean 
+
+install: build
+	dh_testdir
+	dh_testroot
+	dh_clean -k 
+	dh_installdirs
+
+	# Add here commands to install the package into debian/nss-mdns.
+	$(MAKE) install DESTDIR=$(CURDIR)/debian/libnss-mdns
+
+
+# Build architecture-independent files here.
+binary-indep: build install
+# We have nothing to do by default.
+
+# Build architecture-dependent files here.
+binary-arch: build install
+	dh_testdir
+	dh_testroot
+	dh_installchangelogs 
+	dh_installdocs
+	dh_installexamples
+#	dh_install
+#	dh_installmenu
+#	dh_installdebconf	
+#	dh_installlogrotate
+#	dh_installemacsen
+#	dh_installpam
+#	dh_installmime
+#	dh_python
+#	dh_installinit
+#	dh_installcron
+#	dh_installinfo
+	dh_installman
+	dh_link
+	dh_strip
+	dh_compress
+	dh_fixperms
+#	dh_perl
+	dh_makeshlibs
+	dh_installdeb
+	dh_shlibdeps
+	dh_gencontrol
+	dh_md5sums
+	dh_builddeb
+
+binary: binary-indep binary-arch
+.PHONY: build clean binary-indep binary-arch binary install 

Propchange: packages/unstable/nss-mdns/debian/rules
------------------------------------------------------------------------------
    svn:executable = *




More information about the Pkg-utopia-commits mailing list