summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--configure.in18
-rw-r--r--foreign/openpgm/create_custom_gsi.patch43
-rw-r--r--foreign/openpgm/lost_data_tsi.patch4
-rw-r--r--src/pgm_socket.cpp18
-rw-r--r--src/pgm_socket.hpp3
-rw-r--r--src/platform.hpp.in6
6 files changed, 54 insertions, 38 deletions
diff --git a/configure.in b/configure.in
index d82db7b..78029a3 100644
--- a/configure.in
+++ b/configure.in
@@ -390,11 +390,6 @@ if test "x$with_pgm1_ext" != "xno"; then
;;
esac
- AC_CHECK_HEADERS(openssl/md5.h, [] ,
- [AC_MSG_ERROR([To run configure with --with-pgm option, openssl/md5.h has to be usable.])])
-
- AC_CHECK_LIB(ssl, MD5_Init, , [AC_MSG_ERROR([Could not link with libssl, install develop version.])])
-
AC_CHECK_PROG(have_tar, tar, yes, no)
if test "x$have_tar" != "xyes"; then
AC_MSG_ERROR([Could not find tar.])
@@ -439,6 +434,14 @@ if test "x$with_pgm1_ext" != "xno"; then
AC_MSG_ERROR([Could not apply foreign/openpgm/lost_data_tsi.patch file.])
fi
+ AC_MSG_CHECKING([Patching ${pgm_basename}])
+
+ if patch --silent -p0 < foreign/openpgm/create_custom_gsi.patch; then
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_ERROR([Could not apply foreign/openpgm/create_custom_gsi.patch file.])
+ fi
+
# Generate galois_tables.c
AC_CONFIG_COMMANDS([galois_tables.c],
[perl foreign/openpgm/libpgm-1.2.14/openpgm/pgm/galois_generator.pl > \
@@ -481,11 +484,6 @@ if test "x$with_pgm2_ext" != "xno"; then
;;
esac
- AC_CHECK_HEADERS(openssl/md5.h, [] ,
- [AC_MSG_ERROR([To run configure with --with-pgm2 option, openssl/md5.h has to be usable.])])
-
- AC_CHECK_LIB(ssl, MD5_Init, , [AC_MSG_ERROR([Could not link with libssl, install develop version.])])
-
if test "x$pyzmq" != "xyes"; then
AC_CHECK_PROG(have_python, python, yes, no)
if test "x$have_python" != "xyes"; then
diff --git a/foreign/openpgm/create_custom_gsi.patch b/foreign/openpgm/create_custom_gsi.patch
new file mode 100644
index 0000000..2e709f1
--- /dev/null
+++ b/foreign/openpgm/create_custom_gsi.patch
@@ -0,0 +1,43 @@
+--- foreign/openpgm/libpgm-1.2.14/openpgm/pgm/include/pgm/gsi.h 2009-08-27 04:53:23.000000000 +0200
++++ foreign/openpgm/libpgm-1.2.14/openpgm/pgm/include/pgm/gsi.h 2009-10-05 09:29:21.765126004 +0200
+@@ -42,6 +42,7 @@
+
+ int pgm_create_md5_gsi (pgm_gsi_t*);
+ int pgm_create_ipv4_gsi (pgm_gsi_t*);
++int pgm_create_custom_gsi (const char *string_, pgm_gsi_t*);
+
+ int pgm_print_gsi_r (const pgm_gsi_t*, char*, gsize);
+ gchar* pgm_print_gsi (const pgm_gsi_t*);
+
+--- foreign/openpgm/libpgm-1.2.14/openpgm/pgm/gsi.c 2009-08-27 04:53:25.000000000 +0200
++++ foreign/openpgm/libpgm-1.2.14/openpgm/pgm/gsi.c 2009-10-05 09:28:47.113125069 +0200
+@@ -430,6 +430,28 @@
+ return retval;
+ }
+
++/* create a global session ID as low order 48 bits of md5 of the string. */
++int
++pgm_create_custom_gsi (
++ const char *string_,
++ pgm_gsi_t* gsi_
++ )
++{
++ g_return_val_if_fail (gsi_ != NULL, -EINVAL);
++
++ struct md5_ctx ctx;
++ char resblock [16];
++
++ md5_init_ctx (&ctx);
++ md5_process_bytes (string_, strlen (string_), &ctx);
++ md5_finish_ctx (&ctx, resblock);
++
++ memcpy (gsi_, resblock + 10, 6);
++
++ return 0;
++}
++
++
+ /* re-entrant form of pgm_print_gsi()
+ */
+ int
+
diff --git a/foreign/openpgm/lost_data_tsi.patch b/foreign/openpgm/lost_data_tsi.patch
index bfd4425..6bfe02f 100644
--- a/foreign/openpgm/lost_data_tsi.patch
+++ b/foreign/openpgm/lost_data_tsi.patch
@@ -1,4 +1,4 @@
---- libpgm-1.2.14/openpgm/pgm/transport.c 2009-08-27 04:54:04.000000000 +0200
+--- foreign/openpgm/libpgm-1.2.14/openpgm/pgm/transport.c 2009-08-27 04:54:04.000000000 +0200
+++ foreign/openpgm/libpgm-1.2.14/openpgm/pgm/transport.c 2009-09-22 14:36:07.713124619 +0200
@@ -2342,6 +2342,7 @@
if (waiting_rxw->ack_cumulative_losses != waiting_rxw->cumulative_losses)
@@ -64,7 +64,7 @@
rxw->pgm_sock_err.lost_count = rxw->cumulative_losses - rxw->ack_cumulative_losses;
rxw->ack_cumulative_losses = rxw->cumulative_losses;
---- libpgm-1.2.14/openpgm/pgm/include/pgm/transport.h 2009-08-27 04:53:23.000000000 +0200
+--- foreign/openpgm/libpgm-1.2.14/openpgm/pgm/include/pgm/transport.h 2009-08-27 04:53:23.000000000 +0200
+++ foreign/openpgm/libpgm-1.2.14/openpgm/pgm/include/pgm/transport.h 2009-09-21 15:49:36.000000000 +0200
@@ -205,6 +205,7 @@
gboolean is_bound;
diff --git a/src/pgm_socket.cpp b/src/pgm_socket.cpp
index e8a3b16..57eef6c 100644
--- a/src/pgm_socket.cpp
+++ b/src/pgm_socket.cpp
@@ -22,11 +22,10 @@
#ifdef ZMQ_HAVE_OPENPGM
#ifdef ZMQ_HAVE_LINUX
-// TODO: add this into platform.hpp?
+// TODO: needed for pgm - add this into platform.hpp?
#define CONFIG_HAVE_POLL
#include <pgm/pgm.h>
-#include <openssl/md5.h>
#endif
#include <string>
@@ -69,21 +68,6 @@ zmq::pgm_socket_t::pgm_socket_t (bool receiver_, const options_t &options_) :
}
-int zmq::pgm_socket_t::pgm_create_custom_gsi (const char *data_, pgm_gsi_t *gsi_)
-{
-
- unsigned char result_md5 [16];
-
- MD5_CTX ctx;
- MD5_Init (&ctx);
- MD5_Update (&ctx, data_, strlen (data_));
- MD5_Final (result_md5, &ctx);
-
- memcpy (gsi_, result_md5 + 10, 6);
-
- return 0;
-}
-
int zmq::pgm_socket_t::init (bool udp_encapsulation_, const char *network_)
{
udp_encapsulation = udp_encapsulation_;
diff --git a/src/pgm_socket.hpp b/src/pgm_socket.hpp
index 473e58c..c9d03bd 100644
--- a/src/pgm_socket.hpp
+++ b/src/pgm_socket.hpp
@@ -96,9 +96,6 @@ namespace zmq
// Returns maximum count of apdus which fills readbuf_size_
size_t get_max_apdu_at_once (size_t readbuf_size_);
- // Compute gsi from string.
- int pgm_create_custom_gsi (const char *data_, pgm_gsi_t *gsi_);
-
// Associated socket options.
options_t options;
diff --git a/src/platform.hpp.in b/src/platform.hpp.in
index 3c28737..6f352fb 100644
--- a/src/platform.hpp.in
+++ b/src/platform.hpp.in
@@ -36,9 +36,6 @@
/* Define to 1 if you have the `socket' library (-lsocket). */
#undef HAVE_LIBSOCKET
-/* Define to 1 if you have the `ssl' library (-lssl). */
-#undef HAVE_LIBSSL
-
/* Define to 1 if you have the `stdc++' library (-lstdc++). */
#undef HAVE_LIBSTDC__
@@ -64,9 +61,6 @@
/* Define to 1 if you have the <netinet/tcp.h> header file. */
#undef HAVE_NETINET_TCP_H
-/* Define to 1 if you have the <openssl/md5.h> header file. */
-#undef HAVE_OPENSSL_MD5_H
-
/* Define to 1 if you have the `perror' function. */
#undef HAVE_PERROR