aboutsummaryrefslogtreecommitdiff
path: root/src/fs/fs_search.c
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2011-11-15 10:06:46 +0000
committerChristian Grothoff <christian@grothoff.org>2011-11-15 10:06:46 +0000
commit4cdb439de274aee9c25c71e629b2002745b49199 (patch)
treecbddc8e2e2d474a83f2bd622a105a35d6e5bbba1 /src/fs/fs_search.c
parent35885b75d0d876cb20a68706d909ad2657be2c2b (diff)
downloadgnunet-4cdb439de274aee9c25c71e629b2002745b49199.tar.gz
gnunet-4cdb439de274aee9c25c71e629b2002745b49199.zip
towards fixing #1786
Diffstat (limited to 'src/fs/fs_search.c')
-rw-r--r--src/fs/fs_search.c14
1 files changed, 6 insertions, 8 deletions
diff --git a/src/fs/fs_search.c b/src/fs/fs_search.c
index b5152cc66..18e03ab61 100644
--- a/src/fs/fs_search.c
+++ b/src/fs/fs_search.c
@@ -968,6 +968,7 @@ transmit_search_request (void *cls, size_t size, void *buf)
968 GNUNET_HashCode key; 968 GNUNET_HashCode key;
969 GNUNET_HashCode idh; 969 GNUNET_HashCode idh;
970 unsigned int sqms; 970 unsigned int sqms;
971 uint32_t options;
971 972
972 if (NULL == buf) 973 if (NULL == buf)
973 { 974 {
@@ -979,6 +980,9 @@ transmit_search_request (void *cls, size_t size, void *buf)
979 sm = buf; 980 sm = buf;
980 sm->header.type = htons (GNUNET_MESSAGE_TYPE_FS_START_SEARCH); 981 sm->header.type = htons (GNUNET_MESSAGE_TYPE_FS_START_SEARCH);
981 mbc.xoff = (GNUNET_HashCode *) & sm[1]; 982 mbc.xoff = (GNUNET_HashCode *) & sm[1];
983 options = SEARCH_MESSAGE_OPTION_NONE;
984 if (0 != (sc->options & GNUNET_FS_SEARCH_OPTION_LOOPBACK_ONLY))
985 options |= SEARCH_MESSAGE_OPTION_LOOPBACK_ONLY;
982 if (GNUNET_FS_uri_test_ksk (sc->uri)) 986 if (GNUNET_FS_uri_test_ksk (sc->uri))
983 { 987 {
984 msize = sizeof (struct SearchMessage); 988 msize = sizeof (struct SearchMessage);
@@ -994,10 +998,7 @@ transmit_search_request (void *cls, size_t size, void *buf)
994 GNUNET_assert (mbc.put_cnt > 0); 998 GNUNET_assert (mbc.put_cnt > 0);
995 999
996 sm->header.size = htons (msize); 1000 sm->header.size = htons (msize);
997 if (0 != (sc->options & GNUNET_FS_SEARCH_OPTION_LOOPBACK_ONLY)) 1001 sm->options = htonl (options);
998 sm->options = htonl (1);
999 else
1000 sm->options = htonl (0);
1001 sm->type = htonl (GNUNET_BLOCK_TYPE_ANY); 1002 sm->type = htonl (GNUNET_BLOCK_TYPE_ANY);
1002 sm->anonymity_level = htonl (sc->anonymity); 1003 sm->anonymity_level = htonl (sc->anonymity);
1003 memset (&sm->target, 0, sizeof (GNUNET_HashCode)); 1004 memset (&sm->target, 0, sizeof (GNUNET_HashCode));
@@ -1025,10 +1026,7 @@ transmit_search_request (void *cls, size_t size, void *buf)
1025 GNUNET_assert (GNUNET_FS_uri_test_sks (sc->uri)); 1026 GNUNET_assert (GNUNET_FS_uri_test_sks (sc->uri));
1026 msize = sizeof (struct SearchMessage); 1027 msize = sizeof (struct SearchMessage);
1027 GNUNET_assert (size >= msize); 1028 GNUNET_assert (size >= msize);
1028 if (0 != (sc->options & GNUNET_FS_SEARCH_OPTION_LOOPBACK_ONLY)) 1029 sm->options = htonl (options);
1029 sm->options = htonl (1);
1030 else
1031 sm->options = htonl (0);
1032 sm->type = htonl (GNUNET_BLOCK_TYPE_FS_SBLOCK); 1030 sm->type = htonl (GNUNET_BLOCK_TYPE_FS_SBLOCK);
1033 sm->anonymity_level = htonl (sc->anonymity); 1031 sm->anonymity_level = htonl (sc->anonymity);
1034 sm->target = sc->uri->data.sks.namespace; 1032 sm->target = sc->uri->data.sks.namespace;