diff options
author | Julius Bünger <buenger@mytum.de> | 2016-05-14 17:29:48 +0000 |
---|---|---|
committer | Julius Bünger <buenger@mytum.de> | 2016-05-14 17:29:48 +0000 |
commit | da72f158c616fe40c5b254e5db78ef5884a0f525 (patch) | |
tree | 4c6529c3a47542d2eecbe6dae81301a18446f6c9 /src/rps | |
parent | 2e9c33a97aaf0431f6c79ba87597e052b7c95e1b (diff) | |
download | gnunet-da72f158c616fe40c5b254e5db78ef5884a0f525.tar.gz gnunet-da72f158c616fe40c5b254e5db78ef5884a0f525.zip |
-rps: fixed storing valid peers
Diffstat (limited to 'src/rps')
-rw-r--r-- | src/rps/gnunet-service-rps_peers.c | 37 |
1 files changed, 6 insertions, 31 deletions
diff --git a/src/rps/gnunet-service-rps_peers.c b/src/rps/gnunet-service-rps_peers.c index 2bbb8d705..93c9bef86 100644 --- a/src/rps/gnunet-service-rps_peers.c +++ b/src/rps/gnunet-service-rps_peers.c | |||
@@ -709,33 +709,6 @@ mq_notify_sent_cb (void *cls) | |||
709 | } | 709 | } |
710 | 710 | ||
711 | /** | 711 | /** |
712 | * @brief Clear the stored valid peers. | ||
713 | */ | ||
714 | static void | ||
715 | clear_valid_peer_storage () | ||
716 | { | ||
717 | struct GNUNET_DISK_FileHandle *fh; | ||
718 | |||
719 | if (GNUNET_OK != GNUNET_DISK_file_test (filename_valid_peers)) | ||
720 | { | ||
721 | return; | ||
722 | } | ||
723 | fh = GNUNET_DISK_file_open (filename_valid_peers, | ||
724 | GNUNET_DISK_OPEN_WRITE, | ||
725 | GNUNET_DISK_PERM_USER_READ | | ||
726 | GNUNET_DISK_PERM_USER_WRITE); | ||
727 | if (NULL == fh) | ||
728 | { | ||
729 | LOG (GNUNET_ERROR_TYPE_WARNING, | ||
730 | "Not able to clear file `%s' containing valid peers\n", | ||
731 | filename_valid_peers); | ||
732 | return; | ||
733 | } | ||
734 | GNUNET_DISK_file_write (fh, "", 0); | ||
735 | GNUNET_assert (GNUNET_OK == GNUNET_DISK_file_close (fh)); | ||
736 | } | ||
737 | |||
738 | /** | ||
739 | * @brief Iterator function for #store_valid_peers. | 712 | * @brief Iterator function for #store_valid_peers. |
740 | * | 713 | * |
741 | * Implements #GNUNET_CONTAINER_PeerMapIterator. | 714 | * Implements #GNUNET_CONTAINER_PeerMapIterator. |
@@ -789,11 +762,9 @@ store_valid_peers () | |||
789 | { | 762 | { |
790 | GNUNET_break (0); | 763 | GNUNET_break (0); |
791 | } | 764 | } |
792 | clear_valid_peer_storage (); | ||
793 | fh = GNUNET_DISK_file_open (filename_valid_peers, | 765 | fh = GNUNET_DISK_file_open (filename_valid_peers, |
794 | GNUNET_DISK_OPEN_WRITE | | 766 | GNUNET_DISK_OPEN_WRITE | |
795 | GNUNET_DISK_OPEN_CREATE | | 767 | GNUNET_DISK_OPEN_CREATE, |
796 | GNUNET_DISK_OPEN_APPEND, | ||
797 | GNUNET_DISK_PERM_USER_READ | | 768 | GNUNET_DISK_PERM_USER_READ | |
798 | GNUNET_DISK_PERM_USER_WRITE); | 769 | GNUNET_DISK_PERM_USER_WRITE); |
799 | if (NULL == fh) | 770 | if (NULL == fh) |
@@ -881,7 +852,7 @@ restore_valid_peers () | |||
881 | } | 852 | } |
882 | fh = GNUNET_DISK_file_open (filename_valid_peers, | 853 | fh = GNUNET_DISK_file_open (filename_valid_peers, |
883 | GNUNET_DISK_OPEN_READ, | 854 | GNUNET_DISK_OPEN_READ, |
884 | GNUNET_DISK_PERM_USER_READ); | 855 | GNUNET_DISK_PERM_NONE); |
885 | GNUNET_assert (NULL != fh); | 856 | GNUNET_assert (NULL != fh); |
886 | GNUNET_assert (GNUNET_OK == GNUNET_DISK_file_handle_size (fh, &file_size)); | 857 | GNUNET_assert (GNUNET_OK == GNUNET_DISK_file_handle_size (fh, &file_size)); |
887 | num_peers = file_size / 53; | 858 | num_peers = file_size / 53; |
@@ -897,6 +868,10 @@ restore_valid_peers () | |||
897 | "Restored valid peer %s from disk\n", | 868 | "Restored valid peer %s from disk\n", |
898 | GNUNET_i2s_full (peer)); | 869 | GNUNET_i2s_full (peer)); |
899 | } | 870 | } |
871 | LOG (GNUNET_ERROR_TYPE_DEBUG, | ||
872 | "num_peers: %" PRIu32 ", _size (valid_peers): %u\n", | ||
873 | num_peers, | ||
874 | GNUNET_CONTAINER_multipeermap_size (valid_peers)); | ||
900 | GNUNET_assert (num_peers == GNUNET_CONTAINER_multipeermap_size (valid_peers)); | 875 | GNUNET_assert (num_peers == GNUNET_CONTAINER_multipeermap_size (valid_peers)); |
901 | GNUNET_assert (GNUNET_OK == GNUNET_DISK_file_close (fh)); | 876 | GNUNET_assert (GNUNET_OK == GNUNET_DISK_file_close (fh)); |
902 | LOG (GNUNET_ERROR_TYPE_DEBUG, | 877 | LOG (GNUNET_ERROR_TYPE_DEBUG, |