cadet_api_helper.c 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. /*
  2. This file is part of GNUnet.
  3. Copyright (C) 2011, 2017 GNUnet e.V.
  4. GNUnet is free software: you can redistribute it and/or modify it
  5. under the terms of the GNU Affero General Public License as published
  6. by the Free Software Foundation, either version 3 of the License,
  7. or (at your option) any later version.
  8. GNUnet is distributed in the hope that it will be useful, but
  9. WITHOUT ANY WARRANTY; without even the implied warranty of
  10. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  11. Affero General Public License for more details.
  12. You should have received a copy of the GNU Affero General Public License
  13. along with this program. If not, see <http://www.gnu.org/licenses/>.
  14. SPDX-License-Identifier: AGPL3.0-or-later
  15. */
  16. /**
  17. * @file cadet/cadet_api_helper.c
  18. * @brief cadet api: client implementation of cadet service
  19. * @author Bartlomiej Polot
  20. * @author Christian Grothoff
  21. */
  22. #include "platform.h"
  23. #include "gnunet_util_lib.h"
  24. #include "gnunet_constants.h"
  25. #include "gnunet_cadet_service.h"
  26. #include "cadet.h"
  27. #include "cadet_protocol.h"
  28. /**
  29. * Transitional function to convert an unsigned int port to a hash value.
  30. * WARNING: local static value returned, NOT reentrant!
  31. * WARNING: do not use this function for new code!
  32. *
  33. * @param port Numerical port (unsigned int format).
  34. *
  35. * @return A GNUNET_HashCode usable for the new CADET API.
  36. */
  37. const struct GNUNET_HashCode *
  38. GC_u2h (uint32_t port)
  39. {
  40. static struct GNUNET_HashCode hash;
  41. GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
  42. "This is a transitional function, use proper crypto hashes as CADET ports\n");
  43. GNUNET_CRYPTO_hash (&port,
  44. sizeof(port),
  45. &hash);
  46. return &hash;
  47. }