Demonstration release of the principles underpinning krsd.
[krsd] / src / config.h
index 2ce710c..c18cbe5 100644 (file)
@@ -40,15 +40,18 @@ extern struct event_base *rs_event_base;
 #define RS_EVENT_BASE rs_event_base
 
 // only used for webfinger result at the moment
-#define RS_SCHEME "http"
+extern char *rs_scheme;
+#define RS_SCHEME rs_scheme
 extern char *rs_hostname;
 #define RS_HOSTNAME rs_hostname
 #define RS_STORAGE_API "draft-dejong-remotestorage-01"
 #define RS_AUTH_METHOD "http://tools.ietf.org/html/rfc6749#section-4.2"
+#if 0
 extern char *rs_auth_uri;
 #define RS_AUTH_URI rs_auth_uri
 extern int rs_auth_uri_len;
 #define RS_AUTH_URI_LEN rs_auth_uri_len
+#endif
 extern int rs_webfinger_enabled;
 #define RS_WEBFINGER_ENABLED rs_webfinger_enabled
 
@@ -57,8 +60,9 @@ extern int rs_webfinger_enabled;
 
 // CORS header values
 #define RS_ALLOW_ORIGIN "*"
-#define RS_ALLOW_HEADERS "Authorization, Content-Type, Content-Length, ETag"
+#define RS_ALLOW_HEADERS "Authorization, Content-Type, If-Match, If-None-Match, Origin"
 #define RS_ALLOW_METHODS "HEAD, GET, PUT, DELETE"
+#define RS_EXPOSE_HEADERS "Content-Type, Content-Length, ETag"
 
 // permissions for newly created files
 #define RS_FILE_CREATE_MODE S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP
@@ -82,16 +86,36 @@ extern char *rs_home_serve_root;
 extern int rs_home_serve_root_len;
 #define RS_HOME_SERVE_ROOT_LEN rs_home_serve_root_len
 
+extern char *rs_static_dir;
+#define RS_STATIC_DIR rs_static_dir
+extern int rs_static_dir_len;
+#define RS_STATIC_DIR_LEN rs_static_dir_len
+
 extern struct rs_header rs_default_headers;
 #define RS_DEFAULT_HEADERS rs_default_headers
 
 #define RS_MIN_UID 1000
 
-#define RS_AUTH_FILE_PATH "/var/lib/rs-serve/authorizations.dat"
+//#define RS_AUTH_DB_PATH "/var/lib/rs-serve/authorizations"
+//#define RS_META_DB_PATH "/var/lib/rs-serve/meta"
+#define RS_AUTH_DB_PATH "var/authorizations"
+#define RS_META_DB_PATH "var/meta"
+
+extern int rs_use_xattr;
+#define RS_USE_XATTR rs_use_xattr
 
 extern int rs_experimental;
 #define RS_EXPERIMENTAL rs_experimental
 
+extern int rs_use_ssl;
+#define RS_USE_SSL rs_use_ssl
+extern char *rs_ssl_cert_path;
+#define RS_SSL_CERT_PATH rs_ssl_cert_path
+extern char *rs_ssl_key_path;
+#define RS_SSL_KEY_PATH rs_ssl_key_path
+extern char *rs_ssl_ca_path;
+#define RS_SSL_CA_PATH rs_ssl_ca_path
+
 void init_config(int argc, char **argv);
 void cleanup_config(void);