1 /*
2    Stubs for SSL support when no SSL library has been configured
3    Copyright (C) 2002-2021, Joe Orton <joe@manyfish.co.uk>
4 
5    This library is free software; you can redistribute it and/or
6    modify it under the terms of the GNU Library General Public
7    License as published by the Free Software Foundation; either
8    version 2 of the License, or (at your option) any later version.
9 
10    This library is distributed in the hope that it will be useful,
11    but WITHOUT ANY WARRANTY; without even the implied warranty of
12    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13    Library General Public License for more details.
14 
15    You should have received a copy of the GNU Library General Public
16    License along with this library; if not, write to the Free
17    Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
18    MA 02111-1307, USA
19 
20 */
21 
22 #include "config.h"
23 
24 #include <stdlib.h> /* for NULL */
25 
26 #include "ne_ssl.h"
27 #include "ne_session.h"
28 
ne_ssl_readable_dname(const ne_ssl_dname * dn)29 char *ne_ssl_readable_dname(const ne_ssl_dname *dn)
30 {
31     return NULL;
32 }
33 
ne_ssl_cert_read(const char * filename)34 ne_ssl_certificate *ne_ssl_cert_read(const char *filename)
35 {
36     return NULL;
37 }
38 
ne_ssl_cert_cmp(const ne_ssl_certificate * c1,const ne_ssl_certificate * c2)39 int ne_ssl_cert_cmp(const ne_ssl_certificate *c1, const ne_ssl_certificate *c2)
40 {
41     return 1;
42 }
43 
ne_ssl_cert_signedby(const ne_ssl_certificate * cert)44 const ne_ssl_certificate *ne_ssl_cert_signedby(const ne_ssl_certificate *cert)
45 {
46     return NULL;
47 }
48 
ne_ssl_cert_issuer(const ne_ssl_certificate * cert)49 const ne_ssl_dname *ne_ssl_cert_issuer(const ne_ssl_certificate *cert)
50 {
51     return NULL;
52 }
53 
ne_ssl_cert_subject(const ne_ssl_certificate * cert)54 const ne_ssl_dname *ne_ssl_cert_subject(const ne_ssl_certificate *cert)
55 {
56     return NULL;
57 }
58 
ne_ssl_cert_free(ne_ssl_certificate * cert)59 void ne_ssl_cert_free(ne_ssl_certificate *cert) {}
60 
ne_ssl_clicert_read(const char * filename)61 ne_ssl_client_cert *ne_ssl_clicert_read(const char *filename)
62 {
63     return NULL;
64 }
65 
ne_ssl_clicert_owner(const ne_ssl_client_cert * ccert)66 const ne_ssl_certificate *ne_ssl_clicert_owner(const ne_ssl_client_cert *ccert)
67 {
68     return NULL;
69 }
70 
ne_ssl_clicert_encrypted(const ne_ssl_client_cert * ccert)71 int ne_ssl_clicert_encrypted(const ne_ssl_client_cert *ccert)
72 {
73     return -1;
74 }
75 
ne_ssl_clicert_decrypt(ne_ssl_client_cert * ccert,const char * password)76 int ne_ssl_clicert_decrypt(ne_ssl_client_cert *ccert, const char *password)
77 {
78     return -1;
79 }
80 
ne_ssl_clicert_free(ne_ssl_client_cert * ccert)81 void ne_ssl_clicert_free(ne_ssl_client_cert *ccert) {}
82 
ne_ssl_trust_default_ca(ne_session * sess)83 void ne_ssl_trust_default_ca(ne_session *sess) {}
84 
ne_ssl_context_create(int mode)85 ne_ssl_context *ne_ssl_context_create(int mode)
86 {
87     return NULL;
88 }
89 
ne_ssl_context_trustcert(ne_ssl_context * ctx,const ne_ssl_certificate * cert)90 void ne_ssl_context_trustcert(ne_ssl_context *ctx, const ne_ssl_certificate *cert)
91 {}
92 
ne_ssl_context_set_verify(ne_ssl_context * ctx,int required,const char * ca_names,const char * verify_cas)93 int ne_ssl_context_set_verify(ne_ssl_context *ctx,
94                               int required,
95                               const char *ca_names,
96                               const char *verify_cas)
97 {
98     return -1;
99 }
100 
ne_ssl_context_set_flag(ne_ssl_context * ctx,int flag,int value)101 void ne_ssl_context_set_flag(ne_ssl_context *ctx, int flag, int value) {}
102 
ne_ssl_context_destroy(ne_ssl_context * ctx)103 void ne_ssl_context_destroy(ne_ssl_context *ctx) {}
104 
ne_ssl_cert_digest(const ne_ssl_certificate * cert,char digest[60])105 int ne_ssl_cert_digest(const ne_ssl_certificate *cert, char digest[60])
106 {
107     return -1;
108 }
109 
ne_ssl_cert_hdigest(const ne_ssl_certificate * cert,unsigned int flags)110 char *ne_ssl_cert_hdigest(const ne_ssl_certificate *cert, unsigned int flags)
111 {
112     return NULL;
113 }
114 
ne_ssl_cert_validity_time(const ne_ssl_certificate * cert,time_t * from,time_t * until)115 void ne_ssl_cert_validity_time(const ne_ssl_certificate *cert,
116                                time_t *from, time_t *until) {}
117 
ne_ssl_cert_identity(const ne_ssl_certificate * cert)118 const char *ne_ssl_cert_identity(const ne_ssl_certificate *cert)
119 {
120     return NULL;
121 }
122 
123 
ne_ssl_clicert_name(const ne_ssl_client_cert * ccert)124 const char *ne_ssl_clicert_name(const ne_ssl_client_cert *ccert)
125 {
126     return NULL;
127 }
128 
ne_ssl_dname_cmp(const ne_ssl_dname * dn1,const ne_ssl_dname * dn2)129 int ne_ssl_dname_cmp(const ne_ssl_dname *dn1, const ne_ssl_dname *dn2)
130 {
131     return -1;
132 }
133 
ne_ssl_cert_write(const ne_ssl_certificate * cert,const char * filename)134 int ne_ssl_cert_write(const ne_ssl_certificate *cert, const char *filename)
135 {
136     return -1;
137 }
138 
ne_ssl_cert_export(const ne_ssl_certificate * cert)139 char *ne_ssl_cert_export(const ne_ssl_certificate *cert)
140 {
141     return NULL;
142 }
143 
ne_ssl_cert_import(const char * data)144 ne_ssl_certificate *ne_ssl_cert_import(const char *data)
145 {
146     return NULL;
147 }
148 
ne_ssl_set_clicert(ne_session * sess,const ne_ssl_client_cert * cc)149 void ne_ssl_set_clicert(ne_session *sess, const ne_ssl_client_cert *cc)
150 {}
151