/* ** This file is part of RubySoul project. ** ** Test for the kerberos authentication. ** ** @author Christian KAKESA <christian.kakesa@gmail.com> */ #ifndef __KERBEROS_H_ #define __KERBEROS_H_ #include <stdio.h> #include <stdlib.h> #include <string.h> #include <krb5.h> #include <gssapi/gssapi.h> #include <gssapi/gssapi_krb5.h> #define NS_SERVICE_NAME "host@ns-server.epitech.net" #define NS_REALM "EPITECH.NET" typedef struct k_data { char* login; char* unix_pass; OM_uint32 min; OM_uint32 maj; gss_name_t gss_name; gss_ctx_id_t ctx; gss_buffer_t itoken; gss_buffer_desc otoken; } k_data_t; void display_status(k_data_t *data); krb5_error_code get_new_tickets(k_data_t *data, krb5_context context, krb5_principal principal, krb5_ccache ccache); int my_init(k_data_t *data); void import_name(k_data_t *data); void init_context(k_data_t *data); int check_tokens(k_data_t *data); unsigned char * base64_encode(const unsigned char *src, size_t len, size_t *out_len); #endif /* !__KERBEROS_H_ */