- Japanese PPDs using with the Shift-JIS encoding did not work
(<rdar://problem/15427759>)
- "tel:" URIs incorrectly had slashes (<rdar://problem/15418463>)
+ - The libusb-based USB backend incorrectly used write timeouts
+ (<rdar://problem/15564888>)
CHANGES IN CUPS V1.7.0
iostatus = libusb_bulk_transfer(g.printer->handle,
g.printer->write_endp,
print_buffer, g.print_bytes,
- &bytes, 60000);
+ &bytes, 0);
/*
* Ignore timeout errors, but retain the number of bytes written to
* avoid sending duplicate data...
iostatus = libusb_bulk_transfer(g.printer->handle,
g.printer->write_endp,
print_buffer, g.print_bytes,
- &bytes, 60000);
+ &bytes, 0);
}
/*
iostatus = libusb_bulk_transfer(g.printer->handle,
g.printer->write_endp,
print_buffer, g.print_bytes,
- &bytes, 60000);
+ &bytes, 0);
}
if (iostatus)
extern const char *cupsUserAgent(void) _CUPS_API_1_7;
/* New in CUPS 2.0 */
-extern int cupsSetServerCredentials(const char *path, const char *common_name) _CUPS_API_2_0;
+extern int cupsMakeServerCredentials(const char *path, const char *common_name, int num_alt_names, const char **alt_names, time_t expiration_date) _CUPS_API_2_0;
+extern int cupsSetServerCredentials(const char *path, const char *common_name, int auto_create) _CUPS_API_2_0;
# ifdef __cplusplus
}
extern int httpAddrClose(http_addr_t *addr, int fd) _CUPS_API_2_0;
extern int httpAddrFamily(http_addr_t *addr) _CUPS_API_2_0;
extern int httpCompareCredentials(cups_array_t *cred1, cups_array_t *cred2) _CUPS_API_2_0;
-extern time_t httpCredentialsExpiration(cups_array_t *credentials) _CUPS_API_2_0;
+extern int httpCredentialsAreTrusted(cups_array_t *credentials) _CUPS_API_2_0;
+extern time_t httpCredentialsGetExpiration(cups_array_t *credentials) _CUPS_API_2_0;
+extern int httpCredentialsIsValidName(cups_array_t *credentials, const char *common_name);
extern size_t httpCredentialsString(cups_array_t *credentials, char *buffer, size_t bufsize) _CUPS_API_2_0;
extern http_field_t httpFieldValue(const char *name) _CUPS_API_2_0;
extern time_t httpGetActivity(http_t *http) _CUPS_API_2_0;
extern int httpIsChunked(http_t *http) _CUPS_API_2_0;
extern int httpIsEncrypted(http_t *http) _CUPS_API_2_0;
extern int httpLoadCredentials(const char *path, cups_array_t **credentials, const char *common_name) _CUPS_API_2_0;
-extern int httpMakeServerCredentials(const char *path, const char *common_name, int num_alt_names, const char **alt_names, time_t expiration_date) _CUPS_API_2_0;
extern const char *httpResolveHostname(http_t *http, char *buffer, size_t bufsize) _CUPS_API_2_0;
extern int httpSaveCredentials(const char *path, cups_array_t *credentials, const char *common_name) _CUPS_API_2_0;
extern void httpSetKeepAlive(http_t *http, http_keepalive_t keep_alive) _CUPS_API_2_0;
-extern int httpSetServerCredentials(http_t *http, const char *path, const char *common_name) _CUPS_API_2_0;
extern void httpShutdown(http_t *http) _CUPS_API_2_0;
extern const char *httpStateString(http_state_t state);
size_t *dataLength);
+/*
+ * 'cupsMakeServerCredentials()' - Make a self-signed certificate and private key pair.
+ *
+ * @since CUPS 2.0@
+ */
+
+int /* O - 1 on success, 0 on failure */
+cupsMakeServerCredentials(
+ const char *path, /* I - Path to keychain/directory */
+ const char *common_name, /* I - Common name */
+ int num_alt_names, /* I - Number of subject alternate names */
+ const char **alt_names, /* I - Subject Alternate Names */
+ time_t expiration_date) /* I - Expiration date */
+{
+ (void)path;
+ (void)common_name;
+ (void)num_alt_names;
+ (void)alt_names;
+ (void)expiration_date;
+
+ return (0);
+}
+
+
+/*
+ * 'cupsSetServerCredentials()' - Set the default server credentials.
+ *
+ * Note: The server credentials are used by all threads in the running process.
+ * This function is threadsafe.
+ *
+ * @since CUPS 2.0@
+ */
+
+int /* O - 1 on success, 0 on failure */
+cupsSetServerCredentials(
+ const char *path, /* I - Path to keychain/directory */
+ const char *common_name, /* I - Default common name for server */
+ int auto_create) /* I - 1 = automatically create self-signed certificates */
+{
+ (void)path;
+ (void)common_name;
+ (void)auto_create;
+
+ return (0);
+}
+
/*
* 'httpCopyCredentials()' - Copy the credentials associated with the peer in
}
+/*
+ * 'httpCredentialsAreTrusted()' - Return whether the credentials are trusted.
+ *
+ * @since CUPS 2.0@
+ */
+
+int /* O - 1 if trusted, 0 if not/unknown */
+httpCredentialsAreTrusted(
+ cups_array_t *credentials) /* I - Credentials */
+{
+ (void)credentials;
+
+ return (0);
+}
+
+
+/*
+ * 'httpCredentialsGetExpiration()' - Return the expiration date of the credentials.
+ *
+ * @since CUPS 2.0@
+ */
+
+time_t /* O - Expiration date of credentials */
+httpCredentialsGetExpiration(
+ cups_array_t *credentials) /* I - Credentials */
+{
+ (void)credentials;
+
+ return (0);
+}
+
+
+/*
+ * 'httpCredentialsIsValidName()' - Return whether the credentials are valid for the given name.
+ *
+ * @since CUPS 2.0@
+ */
+
+int /* O - 1 if valid, 0 otherwise */
+httpCredentialsIsValidName(
+ cups_array_t *credentials, /* I - Credentials */
+ const char *common_name) /* I - Name to check */
+{
+ (void)credentials;
+ (void)common_name;
+
+ return (0);
+}
+
+
/*
* 'httpCredentialsString()' - Return a string representing the credentials.
*
#if 0
/*
- * 'httpMakeCredentials()' - Create self-signed credentials for the given
+ * 'cupsMakeCredentials()' - Create self-signed credentials for the given
* name.
*
* @since CUPS 2.0@
*/
int /* O - 0 on success, -1 on error */
-httpMakeCredentials(
+cupsMakeCredentials(
const char *path, /* I - Keychain/PKCS#12 path */
cups_array_t **credentials, /* O - Credentials */
const char *common_name) /* I - Common name for X.509 cert */