xref: /aosp_15_r20/external/libcups/cups/tls.c (revision 5e7646d21f1134fb0638875d812ef646c12ab91e)
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