* Port Ithamar changes from cups 1.3.5 to cups 1.4.1.
authorplfiorini
Wed Sep 30 04:25:13 2009 -0700 (2009-09-30)
changeset 2edd8706c7daa
parent 1 c6e05fc23bfa
child 3 8703581a010a
* Port Ithamar changes from cups 1.3.5 to cups 1.4.1.
* Check resolv on libnetwork.so.
* IPv6 code is not supported at this moment, put it behind ifdef.
cups/backend/ipp.c
cups/backend/lpd.c
cups/backend/socket.c
cups/backend/usb.c
cups/config-scripts/cups-common.m4
cups/config-scripts/cups-network.m4
cups/cups/Makefile
cups/cups/adminutil.c
cups/cups/http-addr.c
cups/cups/http-addrlist.c
cups/cups/http.h
cups/cups/snmp.c
cups/filter/Makefile
cups/scheduler/client.c
cups/scheduler/conf.c
cups/scheduler/env.c
cups/scheduler/process.c
     1.1 --- a/cups/backend/ipp.c	Wed Sep 30 04:04:11 2009 -0700
     1.2 +++ b/cups/backend/ipp.c	Wed Sep 30 04:25:13 2009 -0700
     1.3 @@ -613,13 +613,13 @@
     1.4    fputs("STATE: -connecting-to-device\n", stderr);
     1.5    _cupsLangPuts(stderr, _("INFO: Connected to printer...\n"));
     1.6  
     1.7 -#ifdef AF_INET6
     1.8 +#ifdef HAVE_IPV6
     1.9    if (http->hostaddr->addr.sa_family == AF_INET6)
    1.10      fprintf(stderr, "DEBUG: Connected to [%s]:%d (IPv6)...\n",
    1.11  	    httpAddrString(http->hostaddr, addrname, sizeof(addrname)),
    1.12  	    ntohs(http->hostaddr->ipv6.sin6_port));
    1.13    else
    1.14 -#endif /* AF_INET6 */
    1.15 +#endif /* HAVE_IPV6 */
    1.16      if (http->hostaddr->addr.sa_family == AF_INET)
    1.17        fprintf(stderr, "DEBUG: Connected to %s:%d (IPv4)...\n",
    1.18  	      httpAddrString(http->hostaddr, addrname, sizeof(addrname)),
     2.1 --- a/cups/backend/lpd.c	Wed Sep 30 04:04:11 2009 -0700
     2.2 +++ b/cups/backend/lpd.c	Wed Sep 30 04:25:13 2009 -0700
     2.3 @@ -881,13 +881,13 @@
     2.4      fputs("STATE: -connecting-to-device\n", stderr);
     2.5      _cupsLangPuts(stderr, _("INFO: Connected to printer...\n"));
     2.6  
     2.7 -#ifdef AF_INET6
     2.8 +#ifdef HAVE_IPV6
     2.9      if (addr->addr.addr.sa_family == AF_INET6)
    2.10        fprintf(stderr, "DEBUG: Connected to [%s]:%d (IPv6) (local port %d)...\n", 
    2.11  	      httpAddrString(&addr->addr, addrname, sizeof(addrname)),
    2.12  	      ntohs(addr->addr.ipv6.sin6_port), lport);
    2.13      else
    2.14 -#endif /* AF_INET6 */
    2.15 +#endif /* HAVE_IPV6 */
    2.16        if (addr->addr.addr.sa_family == AF_INET)
    2.17  	fprintf(stderr, "DEBUG: Connected to %s:%d (IPv4) (local port %d)...\n",
    2.18  		httpAddrString(&addr->addr, addrname, sizeof(addrname)),
    2.19 @@ -1310,11 +1310,11 @@
    2.20      * Set the port number...
    2.21      */
    2.22  
    2.23 -#  ifdef AF_INET6
    2.24 +#  ifdef HAVE_IPV6
    2.25      if (family == AF_INET6)
    2.26        addr.ipv6.sin6_port = htons(*port);
    2.27      else
    2.28 -#  endif /* AF_INET6 */
    2.29 +#  endif /* HAVE_IPV6 */
    2.30      addr.ipv4.sin_port = htons(*port);
    2.31  
    2.32     /*
     3.1 --- a/cups/backend/socket.c	Wed Sep 30 04:04:11 2009 -0700
     3.2 +++ b/cups/backend/socket.c	Wed Sep 30 04:25:13 2009 -0700
     3.3 @@ -353,13 +353,13 @@
     3.4    fputs("STATE: -connecting-to-device\n", stderr);
     3.5    _cupsLangPuts(stderr, _("INFO: Connected to printer...\n"));
     3.6  
     3.7 -#ifdef AF_INET6
     3.8 +#ifdef HAVE_IPV6
     3.9    if (addr->addr.addr.sa_family == AF_INET6)
    3.10      fprintf(stderr, "DEBUG: Connected to [%s]:%d (IPv6)...\n", 
    3.11  	    httpAddrString(&addr->addr, addrname, sizeof(addrname)),
    3.12  	    ntohs(addr->addr.ipv6.sin6_port));
    3.13    else
    3.14 -#endif /* AF_INET6 */
    3.15 +#endif /* HAVE_IPV6 */
    3.16      if (addr->addr.addr.sa_family == AF_INET)
    3.17        fprintf(stderr, "DEBUG: Connected to %s:%d (IPv4)...\n",
    3.18  	      httpAddrString(&addr->addr, addrname, sizeof(addrname)),
     4.1 --- a/cups/backend/usb.c	Wed Sep 30 04:04:11 2009 -0700
     4.2 +++ b/cups/backend/usb.c	Wed Sep 30 04:25:13 2009 -0700
     4.3 @@ -61,6 +61,8 @@
     4.4  #  include "usb-darwin.c"
     4.5  #elif defined(__linux) || defined(__sun) || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__DragonFly__) || defined(__FreeBSD_kernel__)
     4.6  #  include "usb-unix.c"
     4.7 +#elif defined(__HAIKU__)
     4.8 +#  include "usb-haiku.c"
     4.9  #else
    4.10  /*
    4.11   * Use dummy functions that do nothing on unsupported platforms...
     5.1 --- a/cups/config-scripts/cups-common.m4	Wed Sep 30 04:04:11 2009 -0700
     5.2 +++ b/cups/config-scripts/cups-common.m4	Wed Sep 30 04:25:13 2009 -0700
     5.3 @@ -91,6 +91,7 @@
     5.4  dnl Check for libraries...
     5.5  AC_SEARCH_LIBS(crypt, crypt)
     5.6  AC_SEARCH_LIBS(getspent, sec gen)
     5.7 +AC_SEARCH_LIBS(getpass, bsd)
     5.8  
     5.9  LIBMALLOC=""
    5.10  AC_ARG_ENABLE(mallinfo, [  --enable-mallinfo       build with malloc debug logging])
    5.11 @@ -177,6 +178,11 @@
    5.12  dnl See if we have the removefile(3) function for securely removing files
    5.13  AC_CHECK_FUNCS(removefile)
    5.14  
    5.15 +dnl See if we have libm...
    5.16 +LIBM=""
    5.17 +AC_SUBST(LIBM)
    5.18 +AC_SEARCH_LIB(pow, m, LIBM="-lm")
    5.19 +
    5.20  dnl See if we have libusb...
    5.21  AC_ARG_ENABLE(libusb, [  --enable-libusb         use libusb for USB printing])
    5.22  
     6.1 --- a/cups/config-scripts/cups-network.m4	Wed Sep 30 04:04:11 2009 -0700
     6.2 +++ b/cups/config-scripts/cups-network.m4	Wed Sep 30 04:25:13 2009 -0700
     6.3 @@ -14,20 +14,20 @@
     6.4  dnl
     6.5  
     6.6  AC_CHECK_HEADER(resolv.h,AC_DEFINE(HAVE_RESOLV_H))
     6.7 -AC_SEARCH_LIBS(socket, socket)
     6.8 -AC_SEARCH_LIBS(gethostbyaddr, nsl)
     6.9 -AC_SEARCH_LIBS(getifaddrs, nsl, AC_DEFINE(HAVE_GETIFADDRS))
    6.10 -AC_SEARCH_LIBS(hstrerror, nsl socket resolv, AC_DEFINE(HAVE_HSTRERROR))
    6.11 +AC_SEARCH_LIBS(socket, network socket)
    6.12 +AC_SEARCH_LIBS(gethostbyaddr, network nsl)
    6.13 +AC_SEARCH_LIBS(getifaddrs, nsl network, AC_DEFINE(HAVE_GETIFADDRS))
    6.14 +AC_SEARCH_LIBS(hstrerror, nsl socket resolv network, AC_DEFINE(HAVE_HSTRERROR))
    6.15  AC_SEARCH_LIBS(rresvport_af, nsl, AC_DEFINE(HAVE_RRESVPORT_AF))
    6.16 -AC_SEARCH_LIBS(__res_init, resolv bind, AC_DEFINE(HAVE_RES_INIT),
    6.17 -	AC_SEARCH_LIBS(res_9_init, resolv bind, AC_DEFINE(HAVE_RES_INIT),
    6.18 -	AC_SEARCH_LIBS(res_init, resolv bind, AC_DEFINE(HAVE_RES_INIT))))
    6.19 +AC_SEARCH_LIBS(__res_init, network resolv bind, AC_DEFINE(HAVE_RES_INIT),
    6.20 +	AC_SEARCH_LIBS(res_9_init, network resolv bind, AC_DEFINE(HAVE_RES_INIT),
    6.21 +	AC_SEARCH_LIBS(res_init, network resolv bind, AC_DEFINE(HAVE_RES_INIT))))
    6.22  
    6.23  # Tru64 5.1b leaks file descriptors with these functions; disable until
    6.24  # we can come up with a test for this...
    6.25  if test "$uname" != "OSF1"; then
    6.26 -	AC_SEARCH_LIBS(getaddrinfo, nsl, AC_DEFINE(HAVE_GETADDRINFO))
    6.27 -	AC_SEARCH_LIBS(getnameinfo, nsl, AC_DEFINE(HAVE_GETNAMEINFO))
    6.28 +	AC_SEARCH_LIBS(getaddrinfo, network nsl, AC_DEFINE(HAVE_GETADDRINFO))
    6.29 +	AC_SEARCH_LIBS(getnameinfo, network nsl, AC_DEFINE(HAVE_GETNAMEINFO))
    6.30  fi
    6.31  
    6.32  AC_CHECK_MEMBER(struct sockaddr.sa_len,,, [#include <sys/socket.h>])
     7.1 --- a/cups/cups/Makefile	Wed Sep 30 04:04:11 2009 -0700
     7.2 +++ b/cups/cups/Makefile	Wed Sep 30 04:25:13 2009 -0700
     7.3 @@ -348,7 +348,7 @@
     7.4  	echo Creating $@...
     7.5  	$(DSO) $(DSOFLAGS) -Wl,-bexport:libcups_s.exp -o libcups_s.o \
     7.6  		$(LIBOBJS) $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) \
     7.7 -		$(COMMONLIBS) $(LIBZ) -lm
     7.8 +		$(COMMONLIBS) $(LIBZ) $(LIBM)
     7.9  	$(RM) $@
    7.10  	$(AR) $(ARFLAGS) $@ libcups_s.o
    7.11  
     8.1 --- a/cups/cups/adminutil.c	Wed Sep 30 04:04:11 2009 -0700
     8.2 +++ b/cups/cups/adminutil.c	Wed Sep 30 04:25:13 2009 -0700
     8.3 @@ -1042,9 +1042,9 @@
     8.4  #ifdef AF_LOCAL
     8.5              && *value != '/'
     8.6  #endif /* AF_LOCAL */
     8.7 -#ifdef AF_INET6
     8.8 +#ifdef HAVE_IPV6
     8.9              && strcmp(value, "::1")
    8.10 -#endif /* AF_INET6 */
    8.11 +#endif /* HAVE_IPV6 */
    8.12  	    )
    8.13  	  remote_access = 1;
    8.14        }
    8.15 @@ -1125,9 +1125,9 @@
    8.16  #ifdef AF_LOCAL
    8.17  	       && *value != '/'
    8.18  #endif /* AF_LOCAL */
    8.19 -#ifdef AF_INET6
    8.20 +#ifdef HAVE_IPV6
    8.21  	       && strcmp(value, "::1")
    8.22 -#endif /* AF_INET6 */
    8.23 +#endif /* HAVE_IPV6 */
    8.24  	       )
    8.25        {
    8.26          if (in_admin_location)
     9.1 --- a/cups/cups/http-addr.c	Wed Sep 30 04:04:11 2009 -0700
     9.2 +++ b/cups/cups/http-addr.c	Wed Sep 30 04:25:13 2009 -0700
     9.3 @@ -51,7 +51,7 @@
     9.4    if (!addr)
     9.5      return (0);
     9.6  
     9.7 -#ifdef AF_INET6
     9.8 +#ifdef HAVE_IPV6
     9.9    if (addr->addr.sa_family == AF_INET6 &&
    9.10        IN6_IS_ADDR_UNSPECIFIED(&(addr->ipv6.sin6_addr)))
    9.11      return (1);
    9.12 @@ -89,7 +89,7 @@
    9.13      return (!strcmp(addr1->un.sun_path, addr2->un.sun_path));
    9.14  #endif /* AF_LOCAL */
    9.15  
    9.16 -#ifdef AF_INET6
    9.17 +#ifdef HAVE_IPV6
    9.18    if (addr1->addr.sa_family == AF_INET6)
    9.19      return (!memcmp(&(addr1->ipv6.sin6_addr), &(addr2->ipv6.sin6_addr), 16));
    9.20  #endif /* AF_INET6 */
    9.21 @@ -110,7 +110,7 @@
    9.22    if (!addr)
    9.23      return (0);
    9.24  
    9.25 -#ifdef AF_INET6
    9.26 +#ifdef HAVE_IPV6
    9.27    if (addr->addr.sa_family == AF_INET6)
    9.28      return (sizeof(addr->ipv6));
    9.29    else
    9.30 @@ -142,7 +142,7 @@
    9.31    if (!addr)
    9.32      return (1);
    9.33  
    9.34 -#ifdef AF_INET6
    9.35 +#ifdef HAVE_IPV6
    9.36    if (addr->addr.sa_family == AF_INET6 &&
    9.37        IN6_IS_ADDR_LOOPBACK(&(addr->ipv6.sin6_addr)))
    9.38      return (1);
    9.39 @@ -264,7 +264,7 @@
    9.40      struct hostent	*host;			/* Host from name service */
    9.41  
    9.42  
    9.43 -#  ifdef AF_INET6
    9.44 +#  ifdef HAVE_IPV6
    9.45      if (addr->addr.sa_family == AF_INET6)
    9.46        host = gethostbyaddr(ADDR_CAST &(addr->ipv6.sin6_addr),
    9.47                  	   sizeof(struct in_addr), AF_INET6);
    9.48 @@ -304,7 +304,7 @@
    9.49  {
    9.50    if (!addr)
    9.51      return (ippPort());
    9.52 -#ifdef AF_INET6
    9.53 +#ifdef HAVE_IPV6
    9.54    else if (addr->addr.sa_family == AF_INET6)
    9.55      return (ntohs(addr->ipv6.sin6_port));
    9.56  #endif /* AF_INET6 */
    9.57 @@ -355,7 +355,7 @@
    9.58      snprintf(s, slen, "%d.%d.%d.%d", (temp >> 24) & 255,
    9.59               (temp >> 16) & 255, (temp >> 8) & 255, temp & 255);
    9.60    }
    9.61 -#ifdef AF_INET6
    9.62 +#ifdef HAVE_IPV6
    9.63    else if (addr->addr.sa_family == AF_INET6)
    9.64    {
    9.65  #  ifdef HAVE_GETNAMEINFO
    10.1 --- a/cups/cups/http-addrlist.c	Wed Sep 30 04:04:11 2009 -0700
    10.2 +++ b/cups/cups/http-addrlist.c	Wed Sep 30 04:25:13 2009 -0700
    10.3 @@ -216,9 +216,9 @@
    10.4  #  ifdef AF_LOCAL
    10.5  	                 family == AF_LOCAL ? "LOCAL" :
    10.6  #  endif /* AF_LOCAL */
    10.7 -#  ifdef AF_INET6
    10.8 +#  ifdef HAVE_IPV6
    10.9  	                 family == AF_INET6 ? "INET6" :
   10.10 -#  endif /* AF_INET6 */
   10.11 +#  endif /* HAVE_IPV6 */
   10.12  	                 family == AF_INET ? "INET" : "???", service);
   10.13  #endif /* DEBUG */
   10.14  
   10.15 @@ -347,10 +347,12 @@
   10.16  	    return (NULL);
   10.17  	  }
   10.18  
   10.19 +#ifdef HAVE_IPV6
   10.20            if (current->ai_family == AF_INET6)
   10.21  	    memcpy(&(temp->addr.ipv6), current->ai_addr,
   10.22  	           sizeof(temp->addr.ipv6));
   10.23  	  else
   10.24 +#endif /* HAVE_IPV6 */
   10.25  	    memcpy(&(temp->addr.ipv4), current->ai_addr,
   10.26  	           sizeof(temp->addr.ipv4));
   10.27  
   10.28 @@ -443,7 +445,7 @@
   10.29  	}
   10.30        }
   10.31        else if ((host = gethostbyname(hostname)) != NULL &&
   10.32 -#  ifdef AF_INET6
   10.33 +#  ifdef HAVE_IPV6
   10.34                 (host->h_addrtype == AF_INET || host->h_addrtype == AF_INET6))
   10.35  #  else
   10.36                 host->h_addrtype == AF_INET)
   10.37 @@ -462,7 +464,7 @@
   10.38  	    return (NULL);
   10.39  	  }
   10.40  
   10.41 -#  ifdef AF_INET6
   10.42 +#  ifdef HAVE_IPV6
   10.43            if (host->h_addrtype == AF_INET6)
   10.44  	  {
   10.45              temp->addr.ipv6.sin6_family = AF_INET6;
   10.46 @@ -540,7 +542,7 @@
   10.47        * IPv4 loopback interface addresses...
   10.48        */
   10.49  
   10.50 -#ifdef AF_INET6
   10.51 +#ifdef HAVE_IPV6
   10.52        if (family != AF_INET)
   10.53        {
   10.54         /*
   10.55 @@ -599,7 +601,7 @@
   10.56        * Provide one or more passive listening addresses...
   10.57        */
   10.58  
   10.59 -#ifdef AF_INET6
   10.60 +#ifdef HAVE_IPV6
   10.61        if (family != AF_INET)
   10.62        {
   10.63         /*
   10.64 @@ -623,7 +625,7 @@
   10.65        }
   10.66  
   10.67        if (family != AF_INET6)
   10.68 -#endif /* AF_INET6 */
   10.69 +#endif /* HAVE_IPV6 */
   10.70        {
   10.71         /*
   10.72          * Add 0.0.0.0 to the address list...
    11.1 --- a/cups/cups/http.h	Wed Sep 30 04:04:11 2009 -0700
    11.2 +++ b/cups/cups/http.h	Wed Sep 30 04:25:13 2009 -0700
    11.3 @@ -85,7 +85,7 @@
    11.4   * platforms.
    11.5   */
    11.6  
    11.7 -#if defined(AF_INET6) && !defined(s6_addr32)
    11.8 +#if defined(HAVE_IPV6) && !defined(s6_addr32)
    11.9  #  if defined(__sun)
   11.10  #    define s6_addr32	_S6_un._S6_u32
   11.11  #  elif defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__APPLE__)
   11.12 @@ -99,7 +99,7 @@
   11.13   */
   11.14  #    define s6_addr32	error_need_win32_specific_code
   11.15  #  endif /* __sun */
   11.16 -#endif /* AF_INET6 && !s6_addr32 */
   11.17 +#endif /* HAVE_IPV6 && !s6_addr32 */
   11.18  
   11.19  
   11.20  /*
   11.21 @@ -296,9 +296,9 @@
   11.22  {
   11.23    struct sockaddr	addr;		/* Base structure for family value */
   11.24    struct sockaddr_in	ipv4;		/* IPv4 address */
   11.25 -#ifdef AF_INET6
   11.26 +#ifdef HAVE_IPV6
   11.27    struct sockaddr_in6	ipv6;		/* IPv6 address */
   11.28 -#endif /* AF_INET6 */
   11.29 +#endif /* HAVE_IPV6 */
   11.30  #ifdef AF_LOCAL
   11.31    struct sockaddr_un	un;		/* Domain socket file */
   11.32  #endif /* AF_LOCAL */
    12.1 --- a/cups/cups/snmp.c	Wed Sep 30 04:04:11 2009 -0700
    12.2 +++ b/cups/cups/snmp.c	Wed Sep 30 04:25:13 2009 -0700
    12.3 @@ -757,11 +757,11 @@
    12.4  
    12.5    temp = *address;
    12.6  
    12.7 -#ifdef AF_INET6
    12.8 +#ifdef HAVE_IPV6
    12.9    if (temp.addr.sa_family == AF_INET6)
   12.10      temp.ipv6.sin6_port = htons(CUPS_SNMP_PORT);
   12.11    else
   12.12 -#endif /* AF_INET6 */
   12.13 +#endif /* HAVE_IPV6 */
   12.14    temp.ipv4.sin_port = htons(CUPS_SNMP_PORT);
   12.15  
   12.16    return (sendto(fd, buffer, bytes, 0, (void *)&temp,
    13.1 --- a/cups/filter/Makefile	Wed Sep 30 04:04:11 2009 -0700
    13.2 +++ b/cups/filter/Makefile	Wed Sep 30 04:25:13 2009 -0700
    13.3 @@ -298,7 +298,7 @@
    13.4  
    13.5  formtops:	$(FORMOBJS) common.o ../cups/$(LIBCUPS)
    13.6  	echo Linking $@...
    13.7 -	$(CC) $(LDFLAGS) -o $@ $(FORMOBJS) common.o $(LIBS) -lm
    13.8 +	$(CC) $(LDFLAGS) -o $@ $(FORMOBJS) common.o $(LIBS) $(LIBM)
    13.9  
   13.10  
   13.11  #
   13.12 @@ -316,7 +316,7 @@
   13.13  
   13.14  hpgltops:	$(HPGLOBJS) common.o ../cups/$(LIBCUPS)
   13.15  	echo Linking $@...
   13.16 -	$(CC) $(LDFLAGS) -o $@ $(HPGLOBJS) common.o $(LIBS) -lm
   13.17 +	$(CC) $(LDFLAGS) -o $@ $(HPGLOBJS) common.o $(LIBS) $(LIBM)
   13.18  
   13.19  
   13.20  #
   13.21 @@ -326,7 +326,7 @@
   13.22  libcupsimage.so.2 libcupsimage.sl.2:	$(IMAGEOBJS)
   13.23  	echo Linking $@...
   13.24  	$(DSO) $(ARCHFLAGS) $(DSOFLAGS) -o $@ $(IMAGEOBJS) $(DSOLIBS) \
   13.25 -		-L../cups $(LINKCUPS) -lm
   13.26 +		-L../cups $(LINKCUPS) $(LIBM)
   13.27  	$(RM) `basename $@ .2`
   13.28  	$(LN) $@ `basename $@ .2`
   13.29  
   13.30 @@ -339,7 +339,7 @@
   13.31  	echo Linking 32-bit $@...
   13.32  	-mkdir 32bit
   13.33  	$(DSO) $(ARCH32FLAGS) $(DSO32FLAGS) -o $@ $(IMAGE32OBJS) $(DSOLIBS) \
   13.34 -		-L../cups/32bit $(LINKCUPS) -lm
   13.35 +		-L../cups/32bit $(LINKCUPS) $(LIBM)
   13.36  
   13.37  
   13.38  #
   13.39 @@ -350,7 +350,7 @@
   13.40  	echo Linking 64-bit $@...
   13.41  	-mkdir 64bit
   13.42  	$(DSO) $(ARCH64FLAGS) $(DSO64FLAGS) -o $@ $(IMAGE64OBJS) $(DSOLIBS) \
   13.43 -		-L../cups/64bit $(LINKCUPS) -lm
   13.44 +		-L../cups/64bit $(LINKCUPS) $(LIBM)
   13.45  
   13.46  
   13.47  #
   13.48 @@ -364,7 +364,7 @@
   13.49  		-current_version 2.3.0 \
   13.50  		-compatibility_version 2.0.0 \
   13.51  		-sectorder __TEXT __text $(LIBCUPSIMAGEORDER) \
   13.52 -		$(IMAGEOBJS) $(DSOLIBS) -L../cups $(LINKCUPS) -lm
   13.53 +		$(IMAGEOBJS) $(DSOLIBS) -L../cups $(LINKCUPS) $(LIBM)
   13.54  	$(RM) libcupsimage.dylib
   13.55  	$(LN) $@ libcupsimage.dylib
   13.56  
   13.57 @@ -376,7 +376,7 @@
   13.58  libcupsimage_s.a:	$(IMAGEOBJS) libcupsimage_s.exp
   13.59  	echo Linking $@...
   13.60  	$(DSO) $(DSOFLAGS) -Wl,-berok,-bexport:libcupsimage_s.exp \
   13.61 -		-o libcupsimage_s.o $(IMAGEOBJS) $(DSOLIBS) -lm
   13.62 +		-o libcupsimage_s.o $(IMAGEOBJS) $(DSOLIBS) $(LIBM)
   13.63  	$(RM) $@
   13.64  	$(AR) $(ARFLAGS) $@ libcupsimage_s.o
   13.65  
   13.66 @@ -441,7 +441,7 @@
   13.67  
   13.68  pstops:	pstops.o common.o ../cups/$(LIBCUPS)
   13.69  	echo Linking $@...
   13.70 -	$(CC) $(LDFLAGS) -o $@ pstops.o common.o $(LIBS) -lm
   13.71 +	$(CC) $(LDFLAGS) -o $@ pstops.o common.o $(LIBS) $(LIBM)
   13.72  
   13.73  
   13.74  #
    14.1 --- a/cups/scheduler/client.c	Wed Sep 30 04:04:11 2009 -0700
    14.2 +++ b/cups/scheduler/client.c	Wed Sep 30 04:25:13 2009 -0700
    14.3 @@ -207,7 +207,7 @@
    14.4      return;
    14.5    }
    14.6  
    14.7 -#ifdef AF_INET6
    14.8 +#ifdef HAVE_IPV6
    14.9    if (lis->address.addr.sa_family == AF_INET6)
   14.10    {
   14.11     /*
   14.12 @@ -227,7 +227,7 @@
   14.13        con->http.hostaddr->ipv6.sin6_addr.s6_addr32[2] = 0;
   14.14    }
   14.15    else
   14.16 -#endif /* AF_INET6 */
   14.17 +#endif /* HAVE_IPV6 */
   14.18    if (lis->address.addr.sa_family == AF_INET)
   14.19      con->http.hostaddr->ipv4.sin_port = lis->address.ipv4.sin_port;
   14.20  
   14.21 @@ -385,13 +385,13 @@
   14.22    }
   14.23  #endif /* HAVE_TCPD_H */
   14.24  
   14.25 -#ifdef AF_INET6
   14.26 +#ifdef HAVE_IPV6
   14.27    if (con->http.hostaddr->addr.sa_family == AF_INET6)
   14.28      cupsdLogMessage(CUPSD_LOG_DEBUG, "cupsdAcceptClient: %d from %s:%d (IPv6)",
   14.29                      con->http.fd, con->http.hostname,
   14.30  		    ntohs(con->http.hostaddr->ipv6.sin6_port));
   14.31    else
   14.32 -#endif /* AF_INET6 */
   14.33 +#endif /* HAVE_IPV6 */
   14.34  #ifdef AF_LOCAL
   14.35    if (con->http.hostaddr->addr.sa_family == AF_LOCAL)
   14.36      cupsdLogMessage(CUPSD_LOG_DEBUG, "cupsdAcceptClient: %d from %s (Domain)",
   14.37 @@ -417,7 +417,7 @@
   14.38    }
   14.39    else
   14.40    {
   14.41 -#ifdef AF_INET6
   14.42 +#ifdef HAVE_IPV6
   14.43      if (temp.addr.sa_family == AF_INET6)
   14.44      {
   14.45        if (httpAddrLocalhost(&temp))
   14.46 @@ -430,7 +430,7 @@
   14.47        con->serverport = ntohs(lis->address.ipv6.sin6_port);
   14.48      }
   14.49      else
   14.50 -#endif /* AF_INET6 */
   14.51 +#endif /* HAVE_IPV6 */
   14.52      if (temp.addr.sa_family == AF_INET)
   14.53      {
   14.54        if (httpAddrLocalhost(&temp))
    15.1 --- a/cups/scheduler/conf.c	Wed Sep 30 04:04:11 2009 -0700
    15.2 +++ b/cups/scheduler/conf.c	Wed Sep 30 04:25:13 2009 -0700
    15.3 @@ -1570,7 +1570,7 @@
    15.4    else
    15.5      maskval = value + strlen(value);
    15.6  
    15.7 -#ifdef AF_INET6
    15.8 +#ifdef HAVE_IPV6
    15.9   /*
   15.10    * Check for an IPv6 address...
   15.11    */
   15.12 @@ -1624,7 +1624,7 @@
   15.13        return (0);
   15.14    }
   15.15    else
   15.16 -#endif /* AF_INET6 */
   15.17 +#endif /* HAVE_IPV6 */
   15.18    {
   15.19     /*
   15.20      * Parse dotted-decimal IPv4 address...
   15.21 @@ -1693,7 +1693,7 @@
   15.22  
   15.23        i = atoi(maskval);
   15.24  
   15.25 -#ifdef AF_INET6
   15.26 +#ifdef HAVE_IPV6
   15.27        if (family == AF_INET6)
   15.28        {
   15.29          if (i > 128)
   15.30 @@ -1728,7 +1728,7 @@
   15.31  	  mask[3] = (0xffffffff << i) & 0xffffffff;
   15.32        }
   15.33        else
   15.34 -#endif /* AF_INET6 */
   15.35 +#endif /* HAVE_IPV6 */
   15.36        {
   15.37          if (i > 32)
   15.38  	  return (0);
   15.39 @@ -1895,12 +1895,12 @@
   15.40  	else
   15.41  	  cupsdDenyIP(loc, ones, zeros);
   15.42        }
   15.43 -#ifdef AF_INET6
   15.44 +#ifdef HAVE_IPV6
   15.45        else if (value[0] == '*' || value[0] == '.' || 
   15.46  	       (!isdigit(value[0] & 255) && value[0] != '['))
   15.47  #else
   15.48        else if (value[0] == '*' || value[0] == '.' || !isdigit(value[0] & 255))
   15.49 -#endif /* AF_INET6 */
   15.50 +#endif /* HAVE_IPV6 */
   15.51        {
   15.52         /*
   15.53  	* Host or domain name...
   15.54 @@ -2577,12 +2577,12 @@
   15.55  
   15.56  	httpAddrString(&lis->address, temp, sizeof(temp));
   15.57  
   15.58 -#ifdef AF_INET6
   15.59 +#ifdef HAVE_IPV6
   15.60          if (lis->address.addr.sa_family == AF_INET6)
   15.61            cupsdLogMessage(CUPSD_LOG_INFO, "Listening to %s:%d (IPv6)", temp,
   15.62                            ntohs(lis->address.ipv6.sin6_port));
   15.63  	else
   15.64 -#endif /* AF_INET6 */
   15.65 +#endif /* HAVE_IPV6 */
   15.66  #ifdef AF_LOCAL
   15.67          if (lis->address.addr.sa_family == AF_LOCAL)
   15.68            cupsdLogMessage(CUPSD_LOG_INFO, "Listening to %s (Domain)", temp);
   15.69 @@ -2593,11 +2593,11 @@
   15.70  
   15.71          if (!httpAddrLocalhost(&(lis->address)))
   15.72  	{
   15.73 -#ifdef AF_INET6
   15.74 +#ifdef HAVE_IPV6
   15.75  	  if (lis->address.addr.sa_family == AF_INET6)
   15.76  	    RemotePort = ntohs(lis->address.ipv6.sin6_port);
   15.77  	  else
   15.78 -#endif /* AF_INET6 */
   15.79 +#endif /* HAVE_IPV6 */
   15.80  	  RemotePort = ntohs(lis->address.ipv4.sin_port);
   15.81  	}
   15.82        }
   15.83 @@ -2815,12 +2815,12 @@
   15.84  	    else
   15.85  	      cupsdDenyIP(location, ones, zeros);
   15.86  	  }
   15.87 -#ifdef AF_INET6
   15.88 +#ifdef HAVE_IPV6
   15.89  	  else if (value[0] == '*' || value[0] == '.' || 
   15.90  		   (!isdigit(value[0] & 255) && value[0] != '['))
   15.91  #else
   15.92  	  else if (value[0] == '*' || value[0] == '.' || !isdigit(value[0] & 255))
   15.93 -#endif /* AF_INET6 */
   15.94 +#endif /* HAVE_IPV6 */
   15.95  	  {
   15.96  	   /*
   15.97  	    * Host or domain name...
   15.98 @@ -2911,12 +2911,12 @@
   15.99        *    nnn.nnn.nnn.nnn/mmm.mmm.mmm.mmm
  15.100        */
  15.101  
  15.102 -#ifdef AF_INET6
  15.103 +#ifdef HAVE_IPV6
  15.104        if (value[0] == '*' || value[0] == '.' || 
  15.105            (!isdigit(value[0] & 255) && value[0] != '['))
  15.106  #else
  15.107        if (value[0] == '*' || value[0] == '.' || !isdigit(value[0] & 255))
  15.108 -#endif /* AF_INET6 */
  15.109 +#endif /* HAVE_IPV6 */
  15.110        {
  15.111         /*
  15.112          * Host or domain name...
    16.1 --- a/cups/scheduler/env.c	Wed Sep 30 04:04:11 2009 -0700
    16.2 +++ b/cups/scheduler/env.c	Wed Sep 30 04:25:13 2009 -0700
    16.3 @@ -81,11 +81,16 @@
    16.4    cupsdSetEnv("CUPS_SERVERBIN", ServerBin);
    16.5    cupsdSetEnv("CUPS_SERVERROOT", ServerRoot);
    16.6    cupsdSetEnv("CUPS_STATEDIR", StateDir);
    16.7 +#ifdef __HAIKU__
    16.8 +  cupsdSetEnv("LIBRARY_PATH", NULL);
    16.9 +  cupsdSetEnv("ADDON_PATH", NULL);
   16.10 +#else
   16.11    cupsdSetEnv("DYLD_LIBRARY_PATH", NULL);
   16.12    cupsdSetEnv("HOME", TempDir);
   16.13    cupsdSetEnv("LD_ASSUME_KERNEL", NULL);
   16.14    cupsdSetEnv("LD_LIBRARY_PATH", NULL);
   16.15    cupsdSetEnv("LD_PRELOAD", NULL);
   16.16 +#endif  /* __HAIKU__ */
   16.17    cupsdSetEnv("NLSPATH", NULL);
   16.18    cupsdSetEnvf("PATH", "%s/filter:" CUPS_BINDIR ":" CUPS_SBINDIR
   16.19                         ":/bin:/usr/bin", ServerBin);
    17.1 --- a/cups/scheduler/process.c	Wed Sep 30 04:04:11 2009 -0700
    17.2 +++ b/cups/scheduler/process.c	Wed Sep 30 04:25:13 2009 -0700
    17.3 @@ -437,6 +437,7 @@
    17.4        fcntl(4, F_SETFL, O_NDELAY);
    17.5      }
    17.6  
    17.7 +#ifndef __HAIKU__
    17.8     /*
    17.9      * Change the priority of the process based on the FilterNice setting.
   17.10      * (this is not done for root processes...)
   17.11 @@ -497,6 +498,7 @@
   17.12      */
   17.13  
   17.14      umask(077);
   17.15 +#endif  /* __HAIKU__ */
   17.16  
   17.17     /*
   17.18      * Unblock signals before doing the exec...