]> git.ipfire.org Git - people/ms/libloc.git/blobdiff - src/loc/format.h
Implement signing/verifying databases
[people/ms/libloc.git] / src / loc / format.h
index f93b015eb4482489670bf7bde2638041484b9c97..3762c5eef94aaf547e5245c221c2bcbe1a4e8060 100644 (file)
 
 #define LOC_DATABASE_VERSION    0
 
+#define STR(x) #x
+#define LOC_DATABASE_DOMAIN_LATEST(version) "_latest._v" STR(version) ".location.ipfire.org"
+
 #define LOC_DATABASE_PAGE_SIZE  4096
 
+#define LOC_SIGNATURE_MAX_LENGTH       4096
+
 struct loc_database_magic {
        char magic[7];
 
@@ -67,6 +72,10 @@ struct loc_database_header_v0 {
        uint32_t pool_offset;
        uint32_t pool_length;
 
+       // Signature
+       uint32_t signature_length;
+       char signature[LOC_SIGNATURE_MAX_LENGTH];
+
        // Add some padding for future extensions
        char padding[32];
 };