aboutsummaryrefslogtreecommitdiff
path: root/src/authorization/libanastasiseufin/lae_common.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/authorization/libanastasiseufin/lae_common.c')
-rw-r--r--src/authorization/libanastasiseufin/lae_common.c72
1 files changed, 72 insertions, 0 deletions
diff --git a/src/authorization/libanastasiseufin/lae_common.c b/src/authorization/libanastasiseufin/lae_common.c
new file mode 100644
index 0000000..172c826
--- /dev/null
+++ b/src/authorization/libanastasiseufin/lae_common.c
@@ -0,0 +1,72 @@
1/*
2 This file is part of Anastasis
3 Copyright (C) 2015-2020 Anastasis SARL
4
5 Anastasis is free software; you can redistribute it and/or modify it under the
6 terms of the GNU General Public License as published by the Free Software
7 Foundation; either version 3, or (at your option) any later version.
8
9 Anastasis is distributed in the hope that it will be useful, but WITHOUT ANY
10 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
11 A PARTICULAR PURPOSE. See the GNU General Public License for more details.
12
13 You should have received a copy of the GNU General Public License along with
14 Anastasis; see the file COPYING. If not, see
15 <http://www.gnu.org/licenses/>
16*/
17/**
18 * @file libanastasiseufin/lae_common.c
19 * @brief Common functions for the bank API
20 * @author Christian Grothoff
21 */
22#include "platform.h"
23#include "lae_common.h"
24
25
26/**
27 * Set authentication data in @a easy from @a auth.
28 * The API currently specifies the use of HTTP basic
29 * authentication.
30 *
31 * @param easy curl handle to setup for authentication
32 * @param auth authentication data to use
33 * @return #GNUNET_OK in success
34 */
35int
36ANASTASIS_EUFIN_setup_auth_ (
37 CURL *easy,
38 const struct ANASTASIS_EUFIN_AuthenticationData *auth)
39{
40 int ret;
41
42 ret = GNUNET_OK;
43 switch (auth->method)
44 {
45 case ANASTASIS_EUFIN_AUTH_NONE:
46 return GNUNET_OK;
47 case ANASTASIS_EUFIN_AUTH_BASIC:
48 {
49 char *up;
50
51 GNUNET_asprintf (&up,
52 "%s:%s",
53 auth->details.basic.username,
54 auth->details.basic.password);
55 if ( (CURLE_OK !=
56 curl_easy_setopt (easy,
57 CURLOPT_HTTPAUTH,
58 CURLAUTH_BASIC)) ||
59 (CURLE_OK !=
60 curl_easy_setopt (easy,
61 CURLOPT_USERPWD,
62 up)) )
63 ret = GNUNET_SYSERR;
64 GNUNET_free (up);
65 break;
66 }
67 }
68 return ret;
69}
70
71
72/* end of lae_common.c */