1*5e7646d2SAndroid Build Coastguard Worker /*
2*5e7646d2SAndroid Build Coastguard Worker * TLS routines for CUPS.
3*5e7646d2SAndroid Build Coastguard Worker *
4*5e7646d2SAndroid Build Coastguard Worker * Copyright 2007-2014 by Apple Inc.
5*5e7646d2SAndroid Build Coastguard Worker * Copyright 1997-2007 by Easy Software Products, all rights reserved.
6*5e7646d2SAndroid Build Coastguard Worker *
7*5e7646d2SAndroid Build Coastguard Worker * This file contains Kerberos support code, copyright 2006 by
8*5e7646d2SAndroid Build Coastguard Worker * Jelmer Vernooij.
9*5e7646d2SAndroid Build Coastguard Worker *
10*5e7646d2SAndroid Build Coastguard Worker * Licensed under Apache License v2.0. See the file "LICENSE" for more information.
11*5e7646d2SAndroid Build Coastguard Worker */
12*5e7646d2SAndroid Build Coastguard Worker
13*5e7646d2SAndroid Build Coastguard Worker /*
14*5e7646d2SAndroid Build Coastguard Worker * Include necessary headers...
15*5e7646d2SAndroid Build Coastguard Worker */
16*5e7646d2SAndroid Build Coastguard Worker
17*5e7646d2SAndroid Build Coastguard Worker #include "cups-private.h"
18*5e7646d2SAndroid Build Coastguard Worker #include "debug-internal.h"
19*5e7646d2SAndroid Build Coastguard Worker #include <fcntl.h>
20*5e7646d2SAndroid Build Coastguard Worker #include <math.h>
21*5e7646d2SAndroid Build Coastguard Worker #ifdef _WIN32
22*5e7646d2SAndroid Build Coastguard Worker # include <tchar.h>
23*5e7646d2SAndroid Build Coastguard Worker #else
24*5e7646d2SAndroid Build Coastguard Worker # include <signal.h>
25*5e7646d2SAndroid Build Coastguard Worker # include <sys/time.h>
26*5e7646d2SAndroid Build Coastguard Worker # include <sys/resource.h>
27*5e7646d2SAndroid Build Coastguard Worker #endif /* _WIN32 */
28*5e7646d2SAndroid Build Coastguard Worker #ifdef HAVE_POLL
29*5e7646d2SAndroid Build Coastguard Worker # include <poll.h>
30*5e7646d2SAndroid Build Coastguard Worker #endif /* HAVE_POLL */
31*5e7646d2SAndroid Build Coastguard Worker
32*5e7646d2SAndroid Build Coastguard Worker
33*5e7646d2SAndroid Build Coastguard Worker /*
34*5e7646d2SAndroid Build Coastguard Worker * Include platform-specific TLS code...
35*5e7646d2SAndroid Build Coastguard Worker */
36*5e7646d2SAndroid Build Coastguard Worker
37*5e7646d2SAndroid Build Coastguard Worker #ifdef HAVE_SSL
38*5e7646d2SAndroid Build Coastguard Worker # ifdef HAVE_GNUTLS
39*5e7646d2SAndroid Build Coastguard Worker # include "tls-gnutls.c"
40*5e7646d2SAndroid Build Coastguard Worker # elif defined(HAVE_CDSASSL)
41*5e7646d2SAndroid Build Coastguard Worker # include "tls-darwin.c"
42*5e7646d2SAndroid Build Coastguard Worker # elif defined(HAVE_SSPISSL)
43*5e7646d2SAndroid Build Coastguard Worker # include "tls-sspi.c"
44*5e7646d2SAndroid Build Coastguard Worker # endif /* HAVE_GNUTLS */
45*5e7646d2SAndroid Build Coastguard Worker #else
46*5e7646d2SAndroid Build Coastguard Worker /* Stubs for when TLS is not supported/available */
47*5e7646d2SAndroid Build Coastguard Worker int
httpCopyCredentials(http_t * http,cups_array_t ** credentials)48*5e7646d2SAndroid Build Coastguard Worker httpCopyCredentials(http_t *http, cups_array_t **credentials)
49*5e7646d2SAndroid Build Coastguard Worker {
50*5e7646d2SAndroid Build Coastguard Worker (void)http;
51*5e7646d2SAndroid Build Coastguard Worker if (credentials)
52*5e7646d2SAndroid Build Coastguard Worker *credentials = NULL;
53*5e7646d2SAndroid Build Coastguard Worker return (-1);
54*5e7646d2SAndroid Build Coastguard Worker }
55*5e7646d2SAndroid Build Coastguard Worker int
httpCredentialsAreValidForName(cups_array_t * credentials,const char * common_name)56*5e7646d2SAndroid Build Coastguard Worker httpCredentialsAreValidForName(cups_array_t *credentials, const char *common_name)
57*5e7646d2SAndroid Build Coastguard Worker {
58*5e7646d2SAndroid Build Coastguard Worker (void)credentials;
59*5e7646d2SAndroid Build Coastguard Worker (void)common_name;
60*5e7646d2SAndroid Build Coastguard Worker return (1);
61*5e7646d2SAndroid Build Coastguard Worker }
62*5e7646d2SAndroid Build Coastguard Worker time_t
httpCredentialsGetExpiration(cups_array_t * credentials)63*5e7646d2SAndroid Build Coastguard Worker httpCredentialsGetExpiration(cups_array_t *credentials)
64*5e7646d2SAndroid Build Coastguard Worker {
65*5e7646d2SAndroid Build Coastguard Worker (void)credentials;
66*5e7646d2SAndroid Build Coastguard Worker return (INT_MAX);
67*5e7646d2SAndroid Build Coastguard Worker }
68*5e7646d2SAndroid Build Coastguard Worker http_trust_t
httpCredentialsGetTrust(cups_array_t * credentials,const char * common_name)69*5e7646d2SAndroid Build Coastguard Worker httpCredentialsGetTrust(cups_array_t *credentials, const char *common_name)
70*5e7646d2SAndroid Build Coastguard Worker {
71*5e7646d2SAndroid Build Coastguard Worker (void)credentials;
72*5e7646d2SAndroid Build Coastguard Worker (void)common_name;
73*5e7646d2SAndroid Build Coastguard Worker return (HTTP_TRUST_OK);
74*5e7646d2SAndroid Build Coastguard Worker }
75*5e7646d2SAndroid Build Coastguard Worker size_t
httpCredentialsString(cups_array_t * credentials,char * buffer,size_t bufsize)76*5e7646d2SAndroid Build Coastguard Worker httpCredentialsString(cups_array_t *credentials, char *buffer, size_t bufsize)
77*5e7646d2SAndroid Build Coastguard Worker {
78*5e7646d2SAndroid Build Coastguard Worker (void)credentials;
79*5e7646d2SAndroid Build Coastguard Worker (void)bufsize;
80*5e7646d2SAndroid Build Coastguard Worker if (buffer)
81*5e7646d2SAndroid Build Coastguard Worker *buffer = '\0';
82*5e7646d2SAndroid Build Coastguard Worker return (0);
83*5e7646d2SAndroid Build Coastguard Worker }
84*5e7646d2SAndroid Build Coastguard Worker int
httpLoadCredentials(const char * path,cups_array_t ** credentials,const char * common_name)85*5e7646d2SAndroid Build Coastguard Worker httpLoadCredentials(const char *path, cups_array_t **credentials, const char *common_name)
86*5e7646d2SAndroid Build Coastguard Worker {
87*5e7646d2SAndroid Build Coastguard Worker (void)path;
88*5e7646d2SAndroid Build Coastguard Worker (void)credentials;
89*5e7646d2SAndroid Build Coastguard Worker (void)common_name;
90*5e7646d2SAndroid Build Coastguard Worker return (-1);
91*5e7646d2SAndroid Build Coastguard Worker }
92*5e7646d2SAndroid Build Coastguard Worker int
httpSaveCredentials(const char * path,cups_array_t * credentials,const char * common_name)93*5e7646d2SAndroid Build Coastguard Worker httpSaveCredentials(const char *path, cups_array_t *credentials, const char *common_name)
94*5e7646d2SAndroid Build Coastguard Worker {
95*5e7646d2SAndroid Build Coastguard Worker (void)path;
96*5e7646d2SAndroid Build Coastguard Worker (void)credentials;
97*5e7646d2SAndroid Build Coastguard Worker (void)common_name;
98*5e7646d2SAndroid Build Coastguard Worker return (-1);
99*5e7646d2SAndroid Build Coastguard Worker }
100*5e7646d2SAndroid Build Coastguard Worker #endif /* HAVE_SSL */
101