#include <pakfire/string.h>
#include <pakfire/xfer.h>
-#include <krb5/krb5.h>
-
-#define DEFAULT_KEYTAB "/etc/krb5.keytab"
-
struct pakfire_buildservice {
struct pakfire_ctx* ctx;
int nrefs;
// Configuration
char keytab[PATH_MAX];
- // Kerberos Context
- krb5_context krb5_ctx;
-
// Tokens
char access_token[1024];
time_t access_token_expires_at;
return 0;
}
-static int pakfire_buildservice_setup_auth(struct pakfire_buildservice* service) {
- const char* error = NULL;
- int r;
-
- // Setup a Kerberos context
- r = krb5_init_context(&service->krb5_ctx);
- if (r) {
- error = krb5_get_error_message(service->krb5_ctx, r);
-
- ERROR(service->ctx, "Could not initialize Kerberos: %s\n", error);
- krb5_free_error_message(service->krb5_ctx, error);
-
- goto ERROR;
- }
-
-ERROR:
- return r;
-}
static void pakfire_buildservice_free(struct pakfire_buildservice* service) {
- if (service->krb5_ctx)
- krb5_free_context(service->krb5_ctx);
if (service->ctx)
pakfire_ctx_unref(service->ctx);