1 #define _XOPEN_SOURCE 500
10 void change_password(struct isds_ctx
*ctx
,
11 const char *old_password
, const char *new_password
) {
12 printf("Changing password to: `%s'\n", new_password
);
13 if (old_password
&& new_password
&& !strcmp(new_password
, password
))
14 printf("(Same as old password)\n");
16 printf("(Old password omitted)\n");
17 isds_error err
= isds_change_password(ctx
, old_password
, new_password
);
19 printf("isds_change_password() failed: %s: %s\n",
20 isds_strerror(err
), isds_long_message(ctx
));
22 printf("isds_change_password() succeeded.\n"
23 "This should not happen");
28 int main(int argc
, char **argv
) {
29 struct isds_ctx
*ctx
= NULL
;
32 setlocale(LC_ALL
, "");
36 printf("isds_init() failed: %s\n", isds_strerror(err
));
40 isds_set_logging(ILF_ALL
& ~ILF_HTTP
, ILL_ALL
);
42 ctx
= isds_ctx_create();
44 printf("isds_ctx_create() failed");
47 err
= isds_set_timeout(ctx
, 10000);
49 printf("isds_set_timeout() failed: %s\n", isds_strerror(err
));
52 /* err = isds_set_tls(ctx, ITLS_VERIFY_SERVER, 0);
54 printf("isds_set_tls(ITLS_VERIFY_SERVER) failed: %s\n",
58 err = isds_set_tls(ctx, ITLS_CA_FILE, "/etc/ssl/certs/ca-certificates.crt");
60 printf("isds_set_tls(ITLS_CA_FILE) failed: %s\n",
64 err
= isds_login(ctx
, url
, username
, password
, NULL
);
66 printf("isds_login() failed: %s: %s\n", isds_strerror(err
),
67 isds_long_message(ctx
));
69 printf("Logged in :)\n");
73 /* Try some invalid invocation that should fail */
74 change_password(ctx
, password
, NULL
);
75 change_password(ctx
, password
, "");
76 change_password(ctx
, password
, password
);
80 err
= isds_logout(ctx
);
82 printf("isds_logout() failed: %s\n", isds_strerror(err
));
86 err
= isds_ctx_free(&ctx
);
88 printf("isds_ctx_free() failed: %s\n", isds_strerror(err
));
94 printf("isds_cleanup() failed: %s\n", isds_strerror(err
));