Home | History | Annotate | Download | only in cups
      1 /*
      2  * TLS routines for CUPS.
      3  *
      4  * Copyright 2007-2014 by Apple Inc.
      5  * Copyright 1997-2007 by Easy Software Products, all rights reserved.
      6  *
      7  * This file contains Kerberos support code, copyright 2006 by
      8  * Jelmer Vernooij.
      9  *
     10  * These coded instructions, statements, and computer programs are the
     11  * property of Apple Inc. and are protected by Federal copyright
     12  * law.  Distribution and use rights are outlined in the file "LICENSE.txt"
     13  * which should have been included with this file.  If this file is
     14  * missing or damaged, see the license at "http://www.cups.org/".
     15  *
     16  * This file is subject to the Apple OS-Developed Software exception.
     17  */
     18 
     19 /*
     20  * Include necessary headers...
     21  */
     22 
     23 #include "cups-private.h"
     24 #include <fcntl.h>
     25 #include <math.h>
     26 #ifdef WIN32
     27 #  include <tchar.h>
     28 #else
     29 #  include <signal.h>
     30 #  include <sys/time.h>
     31 #  include <sys/resource.h>
     32 #endif /* WIN32 */
     33 #ifdef HAVE_POLL
     34 #  include <poll.h>
     35 #endif /* HAVE_POLL */
     36 
     37 
     38 /*
     39  * Local functions...
     40  */
     41 
     42 #ifdef HAVE_SSL
     43 #  ifdef HAVE_GNUTLS
     44 #    include "tls-gnutls.c"
     45 #  elif defined(HAVE_CDSASSL)
     46 #    include "tls-darwin.c"
     47 #  elif defined(HAVE_SSPISSL)
     48 #    include "tls-sspi.c"
     49 #  endif /* HAVE_GNUTLS */
     50 #else
     51 /* Stubs for when TLS is not supported/available */
     52 int
     53 httpCopyCredentials(http_t *http, cups_array_t **credentials)
     54 {
     55   (void)http;
     56   if (credentials)
     57     *credentials = NULL;
     58   return (-1);
     59 }
     60 int
     61 httpCredentialsAreValidForName(cups_array_t *credentials, const char *common_name)
     62 {
     63   (void)credentials;
     64   (void)common_name;
     65   return (1);
     66 }
     67 time_t
     68 httpCredentialsGetExpiration(cups_array_t *credentials)
     69 {
     70   (void)credentials;
     71   return (INT_MAX);
     72 }
     73 http_trust_t
     74 httpCredentialsGetTrust(cups_array_t *credentials, const char *common_name)
     75 {
     76   (void)credentials;
     77   (void)common_name;
     78   return (HTTP_TRUST_OK);
     79 }
     80 size_t
     81 httpCredentialsString(cups_array_t *credentials, char *buffer, size_t bufsize)
     82 {
     83   (void)credentials;
     84   (void)bufsize;
     85   if (buffer)
     86     *buffer = '\0';
     87   return (0);
     88 }
     89 int
     90 httpLoadCredentials(const char *path, cups_array_t **credentials, const char *common_name)
     91 {
     92   (void)path;
     93   (void)credentials;
     94   (void)common_name;
     95   return (-1);
     96 }
     97 int
     98 httpSaveCredentials(const char *path, cups_array_t *credentials, const char *common_name)
     99 {
    100   (void)path;
    101   (void)credentials;
    102   (void)common_name;
    103   return (-1);
    104 }
    105 #endif /* HAVE_SSL */
    106