summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGES-1.4.txt2
-rw-r--r--Makefile4
-rw-r--r--config-scripts/cups-directories.m42
-rw-r--r--cups/Makefile4
-rw-r--r--cups/cups-private.h11
-rw-r--r--cups/getdevices.c52
-rw-r--r--cups/globals.c46
-rw-r--r--cups/http-private.h1
-rw-r--r--cups/libcups2.def312
-rw-r--r--cups/libcups_s.exp24
-rw-r--r--scheduler/cups-lpd.c103
-rw-r--r--scheduler/job.c5
-rw-r--r--scheduler/main.c2
-rw-r--r--test/ipptest.c1
-rw-r--r--vcnet/config.h12
-rw-r--r--vcnet/libcups2.vcproj198
16 files changed, 550 insertions, 229 deletions
diff --git a/CHANGES-1.4.txt b/CHANGES-1.4.txt
index fb9b605f1..c6eb7dd59 100644
--- a/CHANGES-1.4.txt
+++ b/CHANGES-1.4.txt
@@ -41,6 +41,8 @@ CHANGES IN CUPS V1.4.3
- SECURITY: The scheduler could try responding on a closed client
connection, leading to a crash (STR #3200)
+ - SECURITY: The lppasswd program allowed the localization files to be
+ overridden when running in setuid mode (STR #3482)
- Localization updates (STR #3352, STR #3409, STR #3422, STR #3452,
STR #3473, STR #3502)
- Documentation updates (STR #3451, STR #3504)
diff --git a/Makefile b/Makefile
index d215c47f4..2c3e7e9ff 100644
--- a/Makefile
+++ b/Makefile
@@ -190,8 +190,8 @@ install-headers:
done
if test "x$(privateinclude)" != x; then \
echo Installing config.h into $(PRIVATEINCLUDE)...; \
- $(INSTALLDIR) -m 755 $(PRIVATEINCLUDE); \
- $(INSTALL_DATA) config.h $(PRIVATEINCLUDE); \
+ $(INSTALL_DIR) -m 755 $(PRIVATEINCLUDE); \
+ $(INSTALL_DATA) config.h $(PRIVATEINCLUDE)/config.h; \
fi
diff --git a/config-scripts/cups-directories.m4 b/config-scripts/cups-directories.m4
index 0d492f381..c46afec78 100644
--- a/config-scripts/cups-directories.m4
+++ b/config-scripts/cups-directories.m4
@@ -119,7 +119,7 @@ if test "$libdir" = "\${exec_prefix}/lib"; then
fi
dnl Setup private include directory...
-AC_ARG_WITH(privateinclude, [ --with-privateinclude set path for private include files, default=none],privatedir="$withval",privatedir="")
+AC_ARG_WITH(privateinclude, [ --with-privateinclude set path for private include files, default=none],privateinclude="$withval",privateinclude="")
if test "x$privateinclude" != x -a "x$privateinclude" != xnone; then
PRIVATEINCLUDE="$privateinclude/cups"
else
diff --git a/cups/Makefile b/cups/Makefile
index dba1ce60e..b565c436a 100644
--- a/cups/Makefile
+++ b/cups/Makefile
@@ -230,9 +230,9 @@ install-headers:
done
if test "x$(privateinclude)" != x; then \
echo Installing private header files into $(PRIVATEINCLUDE)...; \
- $(INSTALLDIR) -m 755 $(PRIVATEINCLUDE); \
+ $(INSTALL_DIR) -m 755 $(PRIVATEINCLUDE); \
for file in $(HEADERSPRIV); do \
- $(INSTALL_DATA) $$file $(PRIVATEINCLUDE); \
+ $(INSTALL_DATA) $$file $(PRIVATEINCLUDE)/$$file; \
done; \
fi
diff --git a/cups/cups-private.h b/cups/cups-private.h
index c23803399..5fa1a242c 100644
--- a/cups/cups-private.h
+++ b/cups/cups-private.h
@@ -111,6 +111,12 @@ typedef struct _cups_globals_s /**** CUPS global state data ****/
_pwg_media_t pwg_media; /* PWG media data for custom size */
char pwg_name[65]; /* PWG media name for custom size */
+ /* request.c */
+ http_t *http; /* Current server connection */
+ ipp_status_t last_error; /* Last IPP error */
+ char *last_status_message;
+ /* Last IPP status-message */
+
/* snmp.c */
char snmp_community[255];
/* Default SNMP community name */
@@ -128,11 +134,6 @@ typedef struct _cups_globals_s /**** CUPS global state data ****/
void *password_data; /* Password user data */
/* util.c */
- http_t *http; /* Current server connection */
- ipp_status_t last_error; /* Last IPP error */
- char *last_status_message;
- /* Last IPP status-message */
-
char def_printer[256];
/* Default printer */
char ppd_filename[HTTP_MAX_URI];
diff --git a/cups/getdevices.c b/cups/getdevices.c
index 23d2af36f..a74a593c7 100644
--- a/cups/getdevices.c
+++ b/cups/getdevices.c
@@ -106,15 +106,55 @@ cupsGetDevices(
}
/*
- * Send the request...
+ * Send the request and do any necessary authentication...
*/
- DEBUG_puts("2cupsGetDevices: Sending request...");
- status = cupsSendRequest(http, request, "/", ippLength(request));
+ do
+ {
+ DEBUG_puts("2cupsGetDevices: Sending request...");
+ status = cupsSendRequest(http, request, "/", ippLength(request));
+
+ DEBUG_puts("2cupsGetDevices: Waiting for response status...");
+ while (status == HTTP_CONTINUE)
+ status = httpUpdate(http);
+
+ if (status != HTTP_OK)
+ {
+ httpFlush(http);
+
+ if (status == HTTP_UNAUTHORIZED)
+ {
+ /*
+ * See if we can do authentication...
+ */
+
+ DEBUG_puts("2cupsGetDevices: Need authorization...");
+
+ if (!cupsDoAuthentication(http, "POST", "/"))
+ httpReconnect(http);
+ else
+ {
+ status = HTTP_AUTHORIZATION_CANCELED;
+ break;
+ }
+ }
+
+#ifdef HAVE_SSL
+ else if (status == HTTP_UPGRADE_REQUIRED)
+ {
+ /*
+ * Force a reconnect with encryption...
+ */
+
+ DEBUG_puts("2cupsGetDevices: Need encryption...");
- DEBUG_puts("2cupsGetDevices: Waiting for response status...");
- while (status == HTTP_CONTINUE)
- status = httpUpdate(http);
+ if (!httpReconnect(http))
+ httpEncryption(http, HTTP_ENCRYPT_REQUIRED);
+ }
+#endif /* HAVE_SSL */
+ }
+ }
+ while (status == HTTP_UNAUTHORIZED || status == HTTP_UPGRADE_REQUIRED);
DEBUG_printf(("2cupsGetDevices: status=%d", status));
diff --git a/cups/globals.c b/cups/globals.c
index 3353604d3..b21924a41 100644
--- a/cups/globals.c
+++ b/cups/globals.c
@@ -81,20 +81,44 @@ cups_env_init(_cups_globals_t *g) /* I - Global data */
g->localedir = localedir;
#else
- if ((g->cups_datadir = getenv("CUPS_DATADIR")) == NULL)
- g->cups_datadir = CUPS_DATADIR;
-
- if ((g->cups_serverbin = getenv("CUPS_SERVERBIN")) == NULL)
- g->cups_serverbin = CUPS_SERVERBIN;
+# ifdef HAVE_GETEUID
+ if ((geteuid() != getuid() && getuid()) || getegid() != getgid())
+# else
+ if (!getuid())
+# endif /* HAVE_GETEUID */
+ {
+ /*
+ * When running setuid/setgid, don't allow environment variables to override
+ * the directories...
+ */
- if ((g->cups_serverroot = getenv("CUPS_SERVERROOT")) == NULL)
+ g->cups_datadir = CUPS_DATADIR;
+ g->cups_serverbin = CUPS_SERVERBIN;
g->cups_serverroot = CUPS_SERVERROOT;
+ g->cups_statedir = CUPS_STATEDIR;
+ g->localedir = CUPS_LOCALEDIR;
+ }
+ else
+ {
+ /*
+ * Allow directories to be overridden by environment variables.
+ */
- if ((g->cups_statedir = getenv("CUPS_STATEDIR")) == NULL)
- g->cups_statedir = CUPS_STATEDIR;
+ if ((g->cups_datadir = getenv("CUPS_DATADIR")) == NULL)
+ g->cups_datadir = CUPS_DATADIR;
- if ((g->localedir = getenv("LOCALEDIR")) == NULL)
- g->localedir = CUPS_LOCALEDIR;
+ if ((g->cups_serverbin = getenv("CUPS_SERVERBIN")) == NULL)
+ g->cups_serverbin = CUPS_SERVERBIN;
+
+ if ((g->cups_serverroot = getenv("CUPS_SERVERROOT")) == NULL)
+ g->cups_serverroot = CUPS_SERVERROOT;
+
+ if ((g->cups_statedir = getenv("CUPS_STATEDIR")) == NULL)
+ g->cups_statedir = CUPS_STATEDIR;
+
+ if ((g->localedir = getenv("LOCALEDIR")) == NULL)
+ g->localedir = CUPS_LOCALEDIR;
+ }
#endif /* WIN32 */
}
@@ -132,7 +156,7 @@ _cupsGlobals(void)
_cups_globals_t *globals; /* Pointer to global data */
- /*
+ /*
* Initialize the global data exactly once...
*/
diff --git a/cups/http-private.h b/cups/http-private.h
index c0e4814cf..4a08eb9e3 100644
--- a/cups/http-private.h
+++ b/cups/http-private.h
@@ -23,6 +23,7 @@
*/
# include "config.h"
+# include <stddef.h>
# include <stdlib.h>
# ifdef __sun
diff --git a/cups/libcups2.def b/cups/libcups2.def
new file mode 100644
index 000000000..83d33f382
--- /dev/null
+++ b/cups/libcups2.def
@@ -0,0 +1,312 @@
+LIBRARY libcups2
+VERSION 2.8
+EXPORTS
+_cupsCharmapFlush
+_cupsCharmapFree
+_cupsCharmapGet
+_cupsEncodingName
+_cupsGetPassword
+_cupsGlobals
+_cupsLangPrintf
+_cupsLangPuts
+_cupsLangString
+_cupsMD5Append
+_cupsMD5Finish
+_cupsMD5Init
+_cupsMessageFree
+_cupsMessageLoad
+_cupsMessageLookup
+_cupsSetError
+_cupsSetLocale
+_cupsStrAlloc
+_cupsStrFlush
+_cupsStrFormatd
+_cupsStrFree
+_cupsStrScand
+_cupsStrStatistics
+_cups_strcpy
+_cups_strlcat
+_cups_strlcpy
+_httpResolveURI
+_ippAddAttr
+_ippFindOption
+_ippFreeAttr
+_ppdFreeLanguages
+_ppdGetEncoding
+_ppdGetLanguages
+_ppdHashName
+_pwgCreateWithFile
+_pwgDestroy
+_pwgWriteFile
+_pwgGenerateSize
+_pwgInitSize
+_pwgMediaForLegacy
+_pwgMediaForPPD
+_pwgMediaForPWG
+_pwgMediaForSize
+_pwgCreateWithPPD
+_pwgGetInputSlot
+_pwgGetMediaType
+_pwgGetPageSize
+_pwgGetSize
+_pwgGetSource
+_pwgGetType
+_pwgInputSlotForSource
+_pwgMediaTypeForType
+_pwgPageSizeForMedia
+cupsAddDest
+cupsAddOption
+cupsAdminCreateWindowsPPD
+cupsAdminExportSamba
+cupsArrayAdd
+cupsArrayClear
+cupsArrayCount
+cupsArrayCurrent
+cupsArrayDelete
+cupsArrayDup
+cupsArrayFind
+cupsArrayFirst
+cupsArrayIndex
+cupsArrayInsert
+cupsArrayLast
+cupsArrayNew
+cupsArrayNext
+cupsArrayPrev
+cupsArrayRemove
+cupsArrayRestore
+cupsArraySave
+cupsArrayUserData
+cupsCancelJob
+cupsCharsetToUTF8
+cupsDirClose
+cupsDirOpen
+cupsDirRead
+cupsDirRewind
+cupsDoAuthentication
+cupsDoFileRequest
+cupsDoIORequest
+cupsDoRequest
+cupsEncodeOptions
+cupsEncodeOptions2
+cupsEncryption
+cupsFileClose
+cupsFileCompression
+cupsFileEOF
+cupsFileFind
+cupsFileFlush
+cupsFileGetChar
+cupsFileGetConf
+cupsFileGetLine
+cupsFileGets
+cupsFileLock
+cupsFileNumber
+cupsFileOpen
+cupsFileOpenFd
+cupsFilePeekChar
+cupsFilePrintf
+cupsFilePutChar
+cupsFilePuts
+cupsFileRead
+cupsFileRewind
+cupsFileSeek
+cupsFileStderr
+cupsFileStdin
+cupsFileStdout
+cupsFileTell
+cupsFileUnlock
+cupsFileWrite
+cupsFreeDests
+cupsFreeJobs
+cupsFreeOptions
+cupsGetClasses
+cupsGetDefault
+cupsGetDefault2
+cupsGetDest
+cupsGetDests
+cupsGetDests2
+cupsGetFd
+cupsGetFile
+cupsGetJobs
+cupsGetJobs2
+cupsGetOption
+cupsGetPPD
+cupsGetPPD2
+cupsGetPassword
+cupsGetPrinters
+cupsGetResponse
+cupsLangDefault
+cupsLangEncoding
+cupsLangFlush
+cupsLangFree
+cupsLangGet
+cupsLastError
+cupsLastErrorString
+cupsMarkOptions
+cupsNotifySubject
+cupsNotifyText
+cupsParseOptions
+cupsPrintFile
+cupsPrintFile2
+cupsPrintFiles
+cupsPrintFiles2
+cupsPutFd
+cupsPutFile
+cupsRemoveOption
+cupsResolveConflicts
+cupsSendRequest
+cupsServer
+cupsSetDests
+cupsSetDests2
+cupsSetEncryption
+cupsSetPasswordCB
+cupsSetServer
+cupsSetUser
+cupsTempFd
+cupsTempFile
+cupsTempFile2
+cupsUTF32ToUTF8
+cupsUTF8ToCharset
+cupsUTF8ToUTF32
+cupsUser
+cupsWriteRequestData
+httpAddrAny
+httpAddrConnect
+httpAddrEqual
+httpAddrFreeList
+httpAddrGetList
+httpAddrLength
+httpAddrLocalhost
+httpAddrLookup
+httpAddrString
+httpAssembleURI
+httpAssembleURIf
+httpBlocking
+httpCheck
+httpClearCookie
+httpClearFields
+httpClose
+httpConnect
+httpConnectEncrypt
+httpDecode64
+httpDecode64_2
+httpDelete
+httpEncode64
+httpEncode64_2
+httpEncryption
+httpError
+httpFlush
+httpFlushWrite
+httpGet
+httpGetBlocking
+httpGetCookie
+httpGetDateString
+httpGetDateString2
+httpGetDateTime
+httpGetFd
+httpGetField
+httpGetHostByName
+httpGetHostname
+httpGetLength
+httpGetLength2
+httpGetStatus
+httpGetSubField
+httpGetSubField2
+httpGets
+httpHead
+httpInitialize
+httpMD5
+httpMD5Final
+httpMD5String
+httpOptions
+httpPost
+httpPrintf
+httpPut
+httpRead
+httpRead2
+httpReconnect
+httpSeparate
+httpSeparate2
+httpSeparateURI
+httpSetCookie
+httpSetExpect
+httpSetField
+httpSetLength
+httpStatus
+httpTrace
+httpUpdate
+httpWait
+httpWrite
+httpWrite2
+ippAddBoolean
+ippAddBooleans
+ippAddCollection
+ippAddCollections
+ippAddDate
+ippAddInteger
+ippAddIntegers
+ippAddOctetString
+ippAddRange
+ippAddRanges
+ippAddResolution
+ippAddResolutions
+ippAddSeparator
+ippAddString
+ippAddStrings
+ippDateToTime
+ippDelete
+ippDeleteAttribute
+ippErrorString
+ippErrorValue
+ippFindAttribute
+ippFindNextAttribute
+ippLength
+ippNew
+ippNewRequest
+ippOpString
+ippOpValue
+ippPort
+ippRead
+ippReadFile
+ippReadIO
+ippSetPort
+ippTagString
+ippTagValue
+ippTimeToDate
+ippWrite
+ippWriteFile
+ippWriteIO
+ppdClose
+ppdCollect
+ppdCollect2
+ppdConflicts
+ppdEmit
+ppdEmitAfterOrder
+ppdEmitFd
+ppdEmitJCL
+ppdEmitJCLEnd
+ppdEmitString
+ppdErrorString
+ppdFindAttr
+ppdFindChoice
+ppdFindCustomOption
+ppdFindCustomParam
+ppdFindMarkedChoice
+ppdFindNextAttr
+ppdFindOption
+ppdFirstCustomParam
+ppdFirstOption
+ppdIsMarked
+ppdLastError
+ppdLocalize
+ppdMarkDefaults
+ppdMarkOption
+ppdNextCustomParam
+ppdNextOption
+ppdOpen
+ppdOpen2
+ppdOpenFd
+ppdOpenFile
+ppdPageLength
+ppdPageSize
+ppdPageWidth
+ppdSetConformance
diff --git a/cups/libcups_s.exp b/cups/libcups_s.exp
index 30b8a9f01..79564a6c3 100644
--- a/cups/libcups_s.exp
+++ b/cups/libcups_s.exp
@@ -15,9 +15,6 @@ _cupsMD5Init
_cupsMessageFree
_cupsMessageLoad
_cupsMessageLookup
-_cupsPWGMediaByName
-_cupsPWGMediaByLegacy
-_cupsPWGMediaBySize
_cupsSetError
_cupsSetLocale
_cupsSNMPClose
@@ -57,4 +54,23 @@ _ppdGetLanguages
_ppdHashName
_ppdLocalizedAttr
_ppdNormalizeMakeAndModel
-_ppdParseOptions \ No newline at end of file
+_ppdParseOptions
+_pwgCreateWithFile
+_pwgDestroy
+_pwgWriteFile
+_pwgGenerateSize
+_pwgInitSize
+_pwgMediaForLegacy
+_pwgMediaForPPD
+_pwgMediaForPWG
+_pwgMediaForSize
+_pwgCreateWithPPD
+_pwgGetInputSlot
+_pwgGetMediaType
+_pwgGetPageSize
+_pwgGetSize
+_pwgGetSource
+_pwgGetType
+_pwgInputSlotForSource
+_pwgMediaTypeForType
+_pwgPageSizeForMedia
diff --git a/scheduler/cups-lpd.c b/scheduler/cups-lpd.c
index 4aa320e72..d1b03e1b8 100644
--- a/scheduler/cups-lpd.c
+++ b/scheduler/cups-lpd.c
@@ -41,13 +41,6 @@
# include <inttypes.h>
#endif /* HAVE_INTTYPES_H */
-#ifdef HAVE_COREFOUNDATION_H
-# include <CoreFoundation/CoreFoundation.h>
-#endif /* HAVE_COREFOUNDATION_H */
-#ifdef HAVE_CFPRIV_H
-# include <CoreFoundation/CFPriv.h>
-#endif /* HAVE_CFPRIV_H */
-
/*
* LPD "mini-daemon" for CUPS. This program must be used in conjunction
@@ -363,7 +356,7 @@ create_job(http_t *http, /* I - HTTP connection */
NULL, title);
if (docname[0])
- ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_NAME, "document-name",
+ ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_NAME, "document-name",
NULL, docname);
cupsEncodeOptions(request, num_options, options);
@@ -656,100 +649,6 @@ get_printer(http_t *http, /* I - HTTP connection */
}
/*
- * Override shared value for LPD using system-specific APIs...
- */
-
-#ifdef HAVE_CFPRIV_H /* MacOS X */
- if (shared && *shared)
- {
- CFURLRef prefsurl; /* URL for preferences file */
- CFDataRef xmldata; /* XML data from preferences file */
- CFPropertyListRef plist; /* Property list from XML data */
- CFStringRef queueid; /* CFString of destination name */
- CFArrayRef lprqarray; /* Array of shared "LPR" printers */
- CFBooleanRef serverflag; /* State of the print service */
- static const char printerprefsfile[] =
- "/Library/Preferences/com.apple.printservice.plist";
- /* Preferences file */
-
-
- /*
- * See if we are running on MacOS X Server...
- */
-
- CFDictionaryRef versdict = _CFCopyServerVersionDictionary();
-
- if (versdict)
- {
- /*
- * Yes, use the LPR sharing preference...
- */
-
- CFRelease(versdict);
-
- *shared = 0;
-
- prefsurl = CFURLCreateFromFileSystemRepresentation(
- kCFAllocatorDefault,
- (const UInt8 *)printerprefsfile,
- (CFIndex)strlen(printerprefsfile),
- false);
- if (prefsurl)
- {
- if (CFURLCreateDataAndPropertiesFromResource(kCFAllocatorDefault,
- prefsurl, &xmldata, NULL,
- NULL, NULL))
- {
- plist = CFPropertyListCreateFromXMLData(kCFAllocatorDefault, xmldata,
- kCFPropertyListImmutable,
- NULL);
- if (plist)
- {
- serverflag = (CFBooleanRef)CFDictionaryGetValue(
- (CFDictionaryRef)plist,
- CFSTR("serviceState"));
-
- if (serverflag && CFBooleanGetValue(serverflag))
- {
- lprqarray = (CFArrayRef)CFDictionaryGetValue(
- (CFDictionaryRef)plist,
- CFSTR("lprSharedQueues"));
-
- if (lprqarray)
- {
- queueid = CFStringCreateWithCString(CFAllocatorGetDefault(),
- dest,
- kCFStringEncodingUTF8);
-
- if (queueid)
- {
- *shared = CFArrayContainsValue(lprqarray,
- CFRangeMake(0,
- CFArrayGetCount(lprqarray)),
- queueid);
-
- CFRelease(queueid);
- }
- }
- }
-
- CFRelease(plist);
- }
-
- CFRelease(xmldata);
- }
-
- CFRelease(prefsurl);
- }
-
- if (!shared)
- syslog(LOG_ERR, "Warning - Print Service sharing disabled for LPD "
- "on queue: %s", name);
- }
- }
-#endif /* HAVE_CFPRIV_H */
-
- /*
* Next look for the printer in the lpoptions file...
*/
diff --git a/scheduler/job.c b/scheduler/job.c
index cbdb0e29a..d5a47756f 100644
--- a/scheduler/job.c
+++ b/scheduler/job.c
@@ -4249,7 +4249,8 @@ update_job(cupsd_job_t *job) /* I - Job to check */
cupsdLogJob(job, loglevel, "%s", ptr);
- if (loglevel < CUPSD_LOG_DEBUG)
+ if (loglevel < CUPSD_LOG_DEBUG &&
+ strcmp(job->printer->state_message, ptr))
{
strlcpy(job->printer->state_message, ptr,
sizeof(job->printer->state_message));
@@ -4284,7 +4285,7 @@ update_job(cupsd_job_t *job) /* I - Job to check */
if (event & CUPSD_EVENT_JOB_PROGRESS)
cupsdAddEvent(CUPSD_EVENT_JOB_PROGRESS, job->printer, job,
"%s", job->printer->state_message);
- else if (event & CUPSD_EVENT_PRINTER_STATE)
+ if (event & CUPSD_EVENT_PRINTER_STATE)
cupsdAddEvent(CUPSD_EVENT_PRINTER_STATE, job->printer, NULL,
(job->printer->type & CUPS_PRINTER_CLASS) ?
"Class \"%s\" state changed." :
diff --git a/scheduler/main.c b/scheduler/main.c
index cc05af694..0eaeca455 100644
--- a/scheduler/main.c
+++ b/scheduler/main.c
@@ -1447,7 +1447,9 @@ launchd_checkin(void)
{
size_t i, /* Looping var */
count; /* Number of listeners */
+# ifdef HAVE_SSL
int portnum; /* Port number */
+# endif /* HAVE_SSL */
launch_data_t ld_msg, /* Launch data message */
ld_resp, /* Launch data response */
ld_array, /* Launch data array */
diff --git a/test/ipptest.c b/test/ipptest.c
index f2f4f414f..9f49a71d3 100644
--- a/test/ipptest.c
+++ b/test/ipptest.c
@@ -43,6 +43,7 @@
*/
#include <cups/cups-private.h>
+#include <cups/file-private.h>
#include <regex.h>
#ifndef O_BINARY
diff --git a/vcnet/config.h b/vcnet/config.h
index ab2d920e9..272724c04 100644
--- a/vcnet/config.h
+++ b/vcnet/config.h
@@ -1,9 +1,9 @@
/*
* "$Id: config.h 6649 2007-07-11 21:46:42Z mike $"
*
- * Configuration file for the Common UNIX Printing System (CUPS).
+ * Configuration file for CUPS.
*
- * Copyright 2007-2009 by Apple Inc.
+ * Copyright 2007-2010 by Apple Inc.
* Copyright 1997-2007 by Easy Software Products.
*
* These coded instructions, statements, and computer programs are the
@@ -52,6 +52,14 @@
/*
+ * Map the POSIX sleep() and usleep() functions to the Win32 Sleep() function...
+ */
+
+#define sleep(X) Sleep(1000 * (X))
+#define usleep(X) Sleep((X)/1000)
+
+
+/*
* Compiler stuff...
*/
diff --git a/vcnet/libcups2.vcproj b/vcnet/libcups2.vcproj
index 983e7da2a..13fa19872 100644
--- a/vcnet/libcups2.vcproj
+++ b/vcnet/libcups2.vcproj
@@ -101,7 +101,7 @@
/>
</Configuration>
<Configuration
- Name="Release|Win32"
+ Name="Debug|x64"
OutputDirectory="$(PlatformName)\$(ConfigurationName)"
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
ConfigurationType="2"
@@ -122,13 +122,17 @@
/>
<Tool
Name="VCMIDLTool"
+ TargetEnvironment="3"
/>
<Tool
Name="VCCLCompilerTool"
- Optimization="1"
+ Optimization="0"
AdditionalIncludeDirectories="..\vcnet,.."
- PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBCUPS2_EXPORTS;_CRT_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS"
- RuntimeLibrary="2"
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;LIBCUPS2_EXPORTS;_CRT_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ BufferSecurityCheck="true"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
@@ -147,17 +151,13 @@
Name="VCLinkerTool"
AdditionalDependencies="ws2_32.lib advapi32.lib"
OutputFile="$(OutDir)\libcups2.dll"
- LinkIncremental="1"
- ModuleDefinitionFile="..\cups\libcups2.def"
+ LinkIncremental="2"
+ ModuleDefinitionFile="..\vc2005\libcups2.def"
GenerateDebugInformation="true"
- ProgramDatabaseFile="libcups2.pdb"
+ ProgramDatabaseFile="$(PlatformName)\$(ConfigurationName)\libcups2.pdb"
SubSystem="2"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
ImportLibrary="$(OutDir)\libcups2.lib"
- TargetMachine="1"
+ TargetMachine="17"
/>
<Tool
Name="VCALinkTool"
@@ -179,11 +179,10 @@
/>
<Tool
Name="VCPostBuildEventTool"
- CommandLine="if not &quot;%RC_XBS%&quot; == &quot;YES&quot; goto END&#x0D;&#x0A;if not exist &quot;$(DSTROOT)\Program Files\Bonjour\$(PlatformName)&quot; mkdir &quot;$(DSTROOT)\Program Files\Bonjour\$(PlatformName)&quot;&#x0D;&#x0A;xcopy /I/Y &quot;$(TargetPath)&quot; &quot;$(DSTROOT)\Program Files\Bonjour\$(PlatformName)&quot;&#x0D;&#x0A;:END&#x0D;&#x0A;"
/>
</Configuration>
<Configuration
- Name="Debug|x64"
+ Name="Release|Win32"
OutputDirectory="$(PlatformName)\$(ConfigurationName)"
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
ConfigurationType="2"
@@ -204,17 +203,13 @@
/>
<Tool
Name="VCMIDLTool"
- TargetEnvironment="3"
/>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="1"
AdditionalIncludeDirectories="..\vcnet,.."
- PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;LIBCUPS2_EXPORTS;_CRT_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- BufferSecurityCheck="true"
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBCUPS2_EXPORTS;_CRT_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS"
+ RuntimeLibrary="2"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
@@ -233,13 +228,17 @@
Name="VCLinkerTool"
AdditionalDependencies="ws2_32.lib advapi32.lib"
OutputFile="$(OutDir)\libcups2.dll"
- LinkIncremental="2"
- ModuleDefinitionFile="..\vc2005\libcups2.def"
+ LinkIncremental="1"
+ ModuleDefinitionFile="..\cups\libcups2.def"
GenerateDebugInformation="true"
- ProgramDatabaseFile="$(PlatformName)\$(ConfigurationName)\libcups2.pdb"
+ ProgramDatabaseFile="libcups2.pdb"
SubSystem="2"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
ImportLibrary="$(OutDir)\libcups2.lib"
- TargetMachine="17"
+ TargetMachine="1"
/>
<Tool
Name="VCALinkTool"
@@ -260,10 +259,8 @@
Name="VCAppVerifierTool"
/>
<Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
Name="VCPostBuildEventTool"
+ CommandLine="if not &quot;%RC_XBS%&quot; == &quot;YES&quot; goto END&#x0D;&#x0A;if not exist &quot;$(DSTROOT)\Program Files\Bonjour\$(PlatformName)&quot; mkdir &quot;$(DSTROOT)\Program Files\Bonjour\$(PlatformName)&quot;&#x0D;&#x0A;xcopy /I/Y &quot;$(TargetPath)&quot; &quot;$(DSTROOT)\Program Files\Bonjour\$(PlatformName)&quot;&#x0D;&#x0A;:END&#x0D;&#x0A;"
/>
</Configuration>
<Configuration
@@ -343,9 +340,6 @@
Name="VCAppVerifierTool"
/>
<Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
Name="VCPostBuildEventTool"
CommandLine="if not &quot;%RC_XBS%&quot; == &quot;YES&quot; goto END&#x0D;&#x0A;if not exist &quot;$(DSTROOT)\Program Files\Bonjour\$(PlatformName)&quot; mkdir &quot;$(DSTROOT)\Program Files\Bonjour\$(PlatformName)&quot;&#x0D;&#x0A;xcopy /I/Y &quot;$(TargetPath)&quot; &quot;$(DSTROOT)\Program Files\Bonjour\$(PlatformName)&quot;&#x0D;&#x0A;:END&#x0D;&#x0A;"
/>
@@ -375,7 +369,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Win32"
+ Name="Debug|x64"
>
<Tool
Name="VCCLCompilerTool"
@@ -383,7 +377,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|x64"
+ Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
@@ -411,7 +405,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Win32"
+ Name="Debug|x64"
>
<Tool
Name="VCCLCompilerTool"
@@ -419,7 +413,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|x64"
+ Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
@@ -447,7 +441,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Win32"
+ Name="Debug|x64"
>
<Tool
Name="VCCLCompilerTool"
@@ -455,7 +449,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|x64"
+ Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
@@ -495,7 +489,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Win32"
+ Name="Debug|x64"
>
<Tool
Name="VCCLCompilerTool"
@@ -503,7 +497,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|x64"
+ Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
@@ -531,7 +525,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Win32"
+ Name="Debug|x64"
>
<Tool
Name="VCCLCompilerTool"
@@ -539,7 +533,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|x64"
+ Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
@@ -567,7 +561,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Win32"
+ Name="Debug|x64"
>
<Tool
Name="VCCLCompilerTool"
@@ -575,7 +569,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|x64"
+ Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
@@ -603,7 +597,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Win32"
+ Name="Debug|x64"
>
<Tool
Name="VCCLCompilerTool"
@@ -611,7 +605,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|x64"
+ Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
@@ -639,7 +633,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Win32"
+ Name="Debug|x64"
>
<Tool
Name="VCCLCompilerTool"
@@ -647,7 +641,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|x64"
+ Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
@@ -679,7 +673,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Win32"
+ Name="Debug|x64"
>
<Tool
Name="VCCLCompilerTool"
@@ -687,7 +681,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|x64"
+ Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
@@ -715,7 +709,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Win32"
+ Name="Debug|x64"
>
<Tool
Name="VCCLCompilerTool"
@@ -723,7 +717,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|x64"
+ Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
@@ -751,7 +745,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Win32"
+ Name="Debug|x64"
>
<Tool
Name="VCCLCompilerTool"
@@ -759,7 +753,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|x64"
+ Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
@@ -787,7 +781,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Win32"
+ Name="Debug|x64"
>
<Tool
Name="VCCLCompilerTool"
@@ -795,7 +789,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|x64"
+ Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
@@ -823,7 +817,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Win32"
+ Name="Debug|x64"
>
<Tool
Name="VCCLCompilerTool"
@@ -831,7 +825,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|x64"
+ Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
@@ -859,7 +853,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Win32"
+ Name="Debug|x64"
>
<Tool
Name="VCCLCompilerTool"
@@ -867,7 +861,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|x64"
+ Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
@@ -895,7 +889,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Win32"
+ Name="Debug|x64"
>
<Tool
Name="VCCLCompilerTool"
@@ -903,7 +897,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|x64"
+ Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
@@ -931,7 +925,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Win32"
+ Name="Debug|x64"
>
<Tool
Name="VCCLCompilerTool"
@@ -939,7 +933,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|x64"
+ Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
@@ -967,7 +961,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Win32"
+ Name="Debug|x64"
>
<Tool
Name="VCCLCompilerTool"
@@ -975,7 +969,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|x64"
+ Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
@@ -1003,7 +997,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Win32"
+ Name="Debug|x64"
>
<Tool
Name="VCCLCompilerTool"
@@ -1011,7 +1005,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|x64"
+ Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
@@ -1043,7 +1037,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Win32"
+ Name="Debug|x64"
>
<Tool
Name="VCCLCompilerTool"
@@ -1051,7 +1045,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|x64"
+ Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
@@ -1079,7 +1073,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Win32"
+ Name="Debug|x64"
>
<Tool
Name="VCCLCompilerTool"
@@ -1087,7 +1081,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|x64"
+ Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
@@ -1115,7 +1109,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Win32"
+ Name="Debug|x64"
>
<Tool
Name="VCCLCompilerTool"
@@ -1123,7 +1117,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|x64"
+ Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
@@ -1155,7 +1149,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Win32"
+ Name="Debug|x64"
>
<Tool
Name="VCCLCompilerTool"
@@ -1163,7 +1157,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|x64"
+ Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
@@ -1191,7 +1185,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Win32"
+ Name="Debug|x64"
>
<Tool
Name="VCCLCompilerTool"
@@ -1199,7 +1193,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|x64"
+ Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
@@ -1227,7 +1221,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Win32"
+ Name="Debug|x64"
>
<Tool
Name="VCCLCompilerTool"
@@ -1235,7 +1229,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|x64"
+ Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
@@ -1252,7 +1246,15 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\cups\pwgmedia.c"
+ RelativePath="..\cups\pwg-file.c"
+ >
+ </File>
+ <File
+ RelativePath="..\cups\pwg-media.c"
+ >
+ </File>
+ <File
+ RelativePath="..\cups\pwg-ppd.c"
>
</File>
<File
@@ -1275,7 +1277,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Win32"
+ Name="Debug|x64"
>
<Tool
Name="VCCLCompilerTool"
@@ -1283,7 +1285,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|x64"
+ Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
@@ -1311,7 +1313,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Win32"
+ Name="Debug|x64"
>
<Tool
Name="VCCLCompilerTool"
@@ -1319,7 +1321,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|x64"
+ Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
@@ -1347,7 +1349,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Win32"
+ Name="Debug|x64"
>
<Tool
Name="VCCLCompilerTool"
@@ -1355,7 +1357,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|x64"
+ Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
@@ -1383,7 +1385,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Win32"
+ Name="Debug|x64"
>
<Tool
Name="VCCLCompilerTool"
@@ -1391,7 +1393,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|x64"
+ Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
@@ -1419,7 +1421,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Win32"
+ Name="Debug|x64"
>
<Tool
Name="VCCLCompilerTool"
@@ -1427,7 +1429,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|x64"
+ Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
@@ -1455,7 +1457,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Win32"
+ Name="Debug|x64"
>
<Tool
Name="VCCLCompilerTool"
@@ -1463,7 +1465,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|x64"
+ Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
@@ -1498,6 +1500,10 @@
>
</File>
<File
+ RelativePath=".\config.h"
+ >
+ </File>
+ <File
RelativePath="..\cups\cups.h"
>
</File>
@@ -1510,6 +1516,10 @@
>
</File>
<File
+ RelativePath="..\cups\file-private.h"
+ >
+ </File>
+ <File
RelativePath="..\cups\file.h"
>
</File>
@@ -1558,6 +1568,10 @@
>
</File>
<File
+ RelativePath="..\cups\pwg-private.h"
+ >
+ </File>
+ <File
RelativePath="..\cups\string.h"
>
</File>