#include <stdlib.h>
#include <stdio.h>
#include <string.h>
+#include <stdint.h>
+#include <stdbool.h>
#include <errno.h>
#include <time.h>
#include <unistd.h>
#include <event2/util.h>
// libevhtp headers
-#include <evhtp.h> // TODO: figure out if we can just include htparse.h
+#include <evhtp.h>
// libmagic headers
#include <magic.h>
#include <attr/xattr.h>
+// libssl headers (for SHA1 computation)
+
+#include <openssl/sha.h>
+
+// kerberos headers
+#include <krb5.h>
+#include <gssapi.h>
+#include <gssapi/gssapi_krb5.h>
+
// rs-serve headers
#include "version.h"
#include "common/user.h"
#include "common/auth.h"
#include "common/json.h"
+#include "common/attributes.h"
#include "handler/auth.h"
+#include "handler/dispatch.h"
#include "handler/storage.h"
#include "handler/webfinger.h"
+extern magic_t magic_cookie;
+
// users with UIDs that don't pass this test don't exist for rs-serve.
#define UID_ALLOWED(uid) ( (uid) >= RS_MIN_UID )