]> git.sommitrealweird.co.uk Git - onak.git/blobdiff - maxpath.c
Avoid race condition when receiving incoming mails
[onak.git] / maxpath.c
index b0d2e9a9c6a716a2f4f6368ee4c1e6f1b9179911..81a2b22b8d2f4fbfa126dcc7751ee08e4f645cc6 100644 (file)
--- a/maxpath.c
+++ b/maxpath.c
@@ -1,11 +1,20 @@
 /*
  * maxpath.c - Find the longest trust path in the key database.
 /*
  * maxpath.c - Find the longest trust path in the key database.
- * 
- * Jonathan McDowell <noodles@earth.li>
  *
  *
- * Copyright 2001-2002 Project Purple.
+ * Copyright 2001-2002 Jonathan McDowell <noodles@earth.li>
  *
  *
- * $Id: maxpath.c,v 1.10 2003/10/15 21:15:21 noodles Exp $
+ * This program is free software: you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the Free
+ * Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along with
+ * this program; if not, write to the Free Software Foundation, Inc., 51
+ * Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  */
 
 #include <stdio.h>
  */
 
 #include <stdio.h>
@@ -16,6 +25,7 @@
 #include "hash.h"
 #include "keydb.h"
 #include "ll.h"
 #include "hash.h"
 #include "keydb.h"
 #include "ll.h"
+#include "log.h"
 #include "onak-conf.h"
 #include "stats.h"
 
 #include "onak-conf.h"
 #include "stats.h"
 
@@ -29,10 +39,10 @@ void findmaxpath(unsigned long max)
        from = to = tmp = NULL;
 
        /*
        from = to = tmp = NULL;
 
        /*
-        * My (noodles@earth.li, DSA) key is in the strongly connected set of
+        * My (noodles@earth.li, RSA) key is in the strongly connected set of
         * keys, so we use it as a suitable starting seed.
         */
         * keys, so we use it as a suitable starting seed.
         */
-       cached_getkeysigs(0xF1BD4BE45B430367);
+       config.dbbackend->cached_getkeysigs(0x94FA372B2DA8B985);
 
        /*
         * Loop through the hash examining each key present and finding the
 
        /*
         * Loop through the hash examining each key present and finding the
@@ -43,7 +53,8 @@ void findmaxpath(unsigned long max)
        for (loop = 0; (loop < HASHSIZE) && (distance < max); loop++) {
                curkey = gethashtableentry(loop);
                while (curkey != NULL && distance < max) {
        for (loop = 0; (loop < HASHSIZE) && (distance < max); loop++) {
                curkey = gethashtableentry(loop);
                while (curkey != NULL && distance < max) {
-                       cached_getkeysigs(((struct stats_key *)
+                       config.dbbackend->cached_getkeysigs(
+                                       ((struct stats_key *)
                                        curkey->object)->keyid);
                        initcolour(false);
                        tmp = furthestkey((struct stats_key *)
                                        curkey->object)->keyid);
                        initcolour(false);
                        tmp = furthestkey((struct stats_key *)
@@ -52,8 +63,9 @@ void findmaxpath(unsigned long max)
                                from = (struct stats_key *)curkey->object;
                                to = tmp;
                                distance = to->colour;
                                from = (struct stats_key *)curkey->object;
                                to = tmp;
                                distance = to->colour;
-                               printf("Current max path (#%ld) is from %llX"
-                                               " to %llX (%ld steps)\n", 
+                               printf("Current max path (#%ld) is from %"
+                                               PRIX64 " to %" PRIX64 
+                                               " (%ld steps)\n", 
                                                loop,
                                                from->keyid,
                                                to->keyid,
                                                loop,
                                                from->keyid,
                                                to->keyid,
@@ -62,7 +74,7 @@ void findmaxpath(unsigned long max)
                        curkey=curkey->next;
                }
        }
                        curkey=curkey->next;
                }
        }
-       printf("Max path is from %llX to %llX (%ld steps)\n",
+       printf("Max path is from %" PRIX64 " to %" PRIX64 " (%ld steps)\n",
                        from->keyid,
                        to->keyid,
                        distance);
                        from->keyid,
                        to->keyid,
                        distance);
@@ -72,13 +84,15 @@ void findmaxpath(unsigned long max)
 int main(int argc, char *argv[])
 {
        readconfig(NULL);
 int main(int argc, char *argv[])
 {
        readconfig(NULL);
-       initdb();
+       initlogthing("maxpath", config.logfile);
+       config.dbbackend->initdb(true);
        inithash();
        findmaxpath(30);
        printf("--------\n");
        findmaxpath(30);
        destroyhash();
        inithash();
        findmaxpath(30);
        printf("--------\n");
        findmaxpath(30);
        destroyhash();
-       cleanupdb();
+       config.dbbackend->cleanupdb();
+       cleanuplogthing();
        cleanupconfig();
        
        return EXIT_SUCCESS;
        cleanupconfig();
        
        return EXIT_SUCCESS;