summaryrefslogtreecommitdiff
path: root/subversion/libsvn_ra_svn/wrapped_sasl.c
diff options
context:
space:
mode:
authorPeter Wemm <peter@FreeBSD.org>2018-05-08 03:44:38 +0000
committerPeter Wemm <peter@FreeBSD.org>2018-05-08 03:44:38 +0000
commit3faf8d6bffc5d0fb2525ba37bb504c53366caf9d (patch)
tree7e47911263e75034b767fe34b2f8d3d17e91f66d /subversion/libsvn_ra_svn/wrapped_sasl.c
parenta55fb3c0d5eca7d887798125d5b95942b1f01d4b (diff)
Diffstat (limited to 'subversion/libsvn_ra_svn/wrapped_sasl.c')
-rw-r--r--subversion/libsvn_ra_svn/wrapped_sasl.c197
1 files changed, 197 insertions, 0 deletions
diff --git a/subversion/libsvn_ra_svn/wrapped_sasl.c b/subversion/libsvn_ra_svn/wrapped_sasl.c
new file mode 100644
index 0000000000000..e20fc98689a9c
--- /dev/null
+++ b/subversion/libsvn_ra_svn/wrapped_sasl.c
@@ -0,0 +1,197 @@
+/*
+ * wrapped_sasl.c : wrapped SASL API
+ *
+ * ====================================================================
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ * ====================================================================
+ */
+
+#include "svn_private_config.h"
+#ifdef SVN_HAVE_SASL
+
+#include "private/ra_svn_wrapped_sasl.h"
+
+/* See the comment at the top of svn_wrapped_sasl.h */
+#ifdef __APPLE__
+# if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 2)
+# pragma GCC diagnostic ignored "-Wdeprecated-declarations"
+# endif
+#endif /* __APPLE__ */
+
+void
+svn_sasl__set_mutex(sasl_mutex_alloc_t *alloc,
+ sasl_mutex_lock_t *lock,
+ sasl_mutex_unlock_t *unlock,
+ sasl_mutex_free_t *free)
+{
+ sasl_set_mutex(alloc, lock, unlock, free);
+}
+
+void
+svn_sasl__done(void)
+{
+ sasl_done();
+}
+
+void
+svn_sasl__dispose(sasl_conn_t **pconn)
+{
+ sasl_dispose(pconn);
+}
+
+const char *
+svn_sasl__errstring(int saslerr, const char *langlist, const char **outlang)
+{
+ return sasl_errstring(saslerr, langlist, outlang);
+}
+
+const char *
+svn_sasl__errdetail(sasl_conn_t *conn)
+{
+ return sasl_errdetail(conn);
+}
+
+int
+svn_sasl__getprop(sasl_conn_t *conn, int propnum, const void **pvalue)
+{
+ return sasl_getprop(conn, propnum, pvalue);
+}
+
+int
+svn_sasl__setprop(sasl_conn_t *conn, int propnum, const void *value)
+{
+ return sasl_setprop(conn, propnum, value);
+}
+
+int
+svn_sasl__client_init(const sasl_callback_t *callbacks)
+{
+ return sasl_client_init(callbacks);
+}
+
+int
+svn_sasl__client_new(const char *service,
+ const char *serverFQDN,
+ const char *iplocalport,
+ const char *ipremoteport,
+ const sasl_callback_t *prompt_supp,
+ unsigned flags,
+ sasl_conn_t **pconn)
+{
+ return sasl_client_new(service, serverFQDN, iplocalport, ipremoteport,
+ prompt_supp, flags, pconn);
+}
+
+int
+svn_sasl__client_start(sasl_conn_t *conn,
+ const char *mechlist,
+ sasl_interact_t **prompt_need,
+ const char **clientout,
+ unsigned *clientoutlen,
+ const char **mech)
+{
+ return sasl_client_start(conn, mechlist, prompt_need,
+ clientout, clientoutlen, mech);
+}
+
+int
+svn_sasl__client_step(sasl_conn_t *conn,
+ const char *serverin,
+ unsigned serverinlen,
+ sasl_interact_t **prompt_need,
+ const char **clientout,
+ unsigned *clientoutlen)
+{
+ return sasl_client_step(conn, serverin, serverinlen, prompt_need,
+ clientout, clientoutlen);
+}
+
+int
+svn_sasl__server_init(const sasl_callback_t *callbacks,
+ const char *appname)
+{
+ return sasl_server_init(callbacks, appname);
+}
+
+int
+svn_sasl__server_new(const char *service,
+ const char *serverFQDN,
+ const char *user_realm,
+ const char *iplocalport,
+ const char *ipremoteport,
+ const sasl_callback_t *callbacks,
+ unsigned flags,
+ sasl_conn_t **pconn)
+{
+ return sasl_server_new(service, serverFQDN, user_realm,
+ iplocalport, ipremoteport, callbacks, flags, pconn);
+}
+
+int
+svn_sasl__listmech(sasl_conn_t *conn,
+ const char *user,
+ const char *prefix,
+ const char *sep,
+ const char *suffix,
+ const char **result,
+ unsigned *plen,
+ int *pcount)
+{
+ return sasl_listmech(conn, user, prefix, sep, suffix, result, plen, pcount);
+}
+
+int
+svn_sasl__server_start(sasl_conn_t *conn,
+ const char *mech,
+ const char *clientin,
+ unsigned clientinlen,
+ const char **serverout,
+ unsigned *serveroutlen)
+{
+ return sasl_server_start(conn, mech, clientin, clientinlen,
+ serverout, serveroutlen);
+}
+
+int
+svn_sasl__server_step(sasl_conn_t *conn,
+ const char *clientin,
+ unsigned clientinlen,
+ const char **serverout,
+ unsigned *serveroutlen)
+{
+ return sasl_server_step(conn, clientin, clientinlen,
+ serverout, serveroutlen);
+}
+
+int
+svn_sasl__encode(sasl_conn_t *conn,
+ const char *input, unsigned inputlen,
+ const char **output, unsigned *outputlen)
+{
+ return sasl_encode(conn, input, inputlen, output, outputlen);
+}
+
+int
+svn_sasl__decode(sasl_conn_t *conn,
+ const char *input, unsigned inputlen,
+ const char **output, unsigned *outputlen)
+{
+ return sasl_decode(conn, input, inputlen, output, outputlen);
+}
+
+#endif /* SVN_HAVE_SASL */