/*
- * "$Id$"
- *
* HTTP address routines for CUPS.
*
* Copyright 2007-2014 by Apple Inc.
* Copyright 1997-2006 by Easy Software Products, all rights reserved.
*
- * These coded instructions, statements, and computer programs are the
- * property of Apple Inc. and are protected by Federal copyright
- * law. Distribution and use rights are outlined in the file "LICENSE.txt"
- * which should have been included with this file. If this file is
- * file is missing or damaged, see the license at "http://www.cups.org/".
- *
- * This file is subject to the Apple OS-Developed Software exception.
+ * Licensed under Apache License v2.0. See the file "LICENSE" for more information.
*/
/*
*/
#include "cups-private.h"
+#include "debug-internal.h"
#include <sys/stat.h>
#ifdef HAVE_RESOLV_H
# include <resolv.h>
/*
* 'httpAddrAny()' - Check for the "any" address.
*
- * @since CUPS 1.2/OS X 10.5@
+ * @since CUPS 1.2/macOS 10.5@
*/
int /* O - 1 if "any", 0 otherwise */
* 'httpAddrClose()' - Close a socket created by @link httpAddrConnect@ or
* @link httpAddrListen@.
*
- * Pass @code NULL@ for sockets created with @link httpAddrConnect@ and the
- * listen address for sockets created with @link httpAddrListen@. This will
- * ensure that domain sockets are removed when closed.
+ * Pass @code NULL@ for sockets created with @link httpAddrConnect2@ and the
+ * listen address for sockets created with @link httpAddrListen@. This function
+ * ensures that domain sockets are removed when closed.
*
* @since CUPS 2.0/OS 10.10@
*/
httpAddrClose(http_addr_t *addr, /* I - Listen address or @code NULL@ */
int fd) /* I - Socket file descriptor */
{
-#ifdef WIN32
+#ifdef _WIN32
if (closesocket(fd))
#else
if (close(fd))
-#endif /* WIN32 */
+#endif /* _WIN32 */
return (-1);
#ifdef AF_LOCAL
/*
* 'httpAddrEqual()' - Compare two addresses.
*
- * @since CUPS 1.2/OS X 10.5@
+ * @since CUPS 1.2/macOS 10.5@
*/
int /* O - 1 if equal, 0 if not */
/*
* 'httpAddrLength()' - Return the length of the address in bytes.
*
- * @since CUPS 1.2/OS X 10.5@
+ * @since CUPS 1.2/macOS 10.5@
*/
int /* O - Length in bytes */
* 'httpAddrListen()' - Create a listening socket bound to the specified
* address and port.
*
- * @since CUPS 1.7/OS X 10.9@
+ * @since CUPS 1.7/macOS 10.9@
*/
int /* O - Socket or -1 on error */
* Close on exec...
*/
-#ifndef WIN32
+#ifndef _WIN32
fcntl(fd, F_SETFD, fcntl(fd, F_GETFD) | FD_CLOEXEC);
-#endif /* !WIN32 */
+#endif /* !_WIN32 */
#ifdef SO_NOSIGPIPE
/*
/*
* 'httpAddrLocalhost()' - Check for the local loopback address.
*
- * @since CUPS 1.2/OS X 10.5@
+ * @since CUPS 1.2/macOS 10.5@
*/
int /* O - 1 if local host, 0 otherwise */
/*
* 'httpAddrLookup()' - Lookup the hostname associated with the address.
*
- * @since CUPS 1.2/OS X 10.5@
+ * @since CUPS 1.2/macOS 10.5@
*/
char * /* O - Host name */
/*
* 'httpAddrPort()' - Get the port number associated with an address.
*
- * @since CUPS 1.7/OS X 10.9@
+ * @since CUPS 1.7/macOS 10.9@
*/
int /* O - Port number */
/*
* 'httpAddrString()' - Convert an address to a numeric string.
*
- * @since CUPS 1.2/OS X 10.5@
+ * @since CUPS 1.2/macOS 10.5@
*/
char * /* O - Numeric address string */
/*
* 'httpGetAddress()' - Get the address of the connected peer of a connection.
*
+ * For connections created with @link httpConnect2@, the address is for the
+ * server. For connections created with @link httpAccept@, the address is for
+ * the client.
+ *
* Returns @code NULL@ if the socket is currently unconnected.
*
* @since CUPS 2.0/OS 10.10@
* 'httpGetHostByName()' - Lookup a hostname or IPv4 address, and return
* address records for the specified name.
*
- * @deprecated@
+ * @deprecated@ @exclude all@
*/
struct hostent * /* O - Host entry */
* Otherwise, return the FQDN for the local system using both gethostname()
* and gethostbyname() to get the local hostname with domain.
*
- * @since CUPS 1.2/OS X 10.5@
+ * @since CUPS 1.2/macOS 10.5@
*/
const char * /* O - FQDN for connection or system */
strlcat(s, ".", (size_t)slen);
}
+ /*
+ * Convert the hostname to lowercase as needed...
+ */
+
+ if (s[0] != '/')
+ {
+ char *ptr; /* Pointer into string */
+
+ for (ptr = s; *ptr; ptr ++)
+ *ptr = (char)_cups_tolower((int)*ptr);
+ }
+
/*
* Return the hostname with as much domain info as we have...
*/
else
return (http->hostname);
}
-
-
-/*
- * End of "$Id$".
- */