mirror of
https://git.rwth-aachen.de/acs/public/villas/node/
synced 2025-03-09 00:00:00 +01:00
zeromq: added zmq-keygen as a new tool
This commit is contained in:
parent
8f6b38cd63
commit
246a4a98fb
3 changed files with 59 additions and 0 deletions
|
@ -57,6 +57,7 @@ rm -rf %{?buildroot}
|
|||
/usr/bin/villas
|
||||
/usr/bin/villas-*
|
||||
/usr/bin/conf2json
|
||||
/usr/bin/zmq-keygen
|
||||
|
||||
/usr/lib/libvillas.so
|
||||
/usr/lib/libvillas.so.*
|
||||
|
|
|
@ -26,6 +26,12 @@ TOOLS_CFLAGS = $(CFLAGS)
|
|||
TOOLS_LDLIBS = -lconfig -ljansson -lvillas
|
||||
TOOLS_LDFLAGS = $(LDFLAGS) -Wl,-rpath,'$$ORIGIN'
|
||||
|
||||
ifeq ($(shell $(PKGCONFIG) libzmq; echo $$?),0)
|
||||
TOOLS += $(BUILDDIR)/zmq-keygen
|
||||
TOOLS_CFLAGS += $(shell $(PKGCONFIG) --cflags libzmq)
|
||||
TOOLS_LDLIBS += $(shell $(PKGCONFIG) --libs libzmq)
|
||||
endif
|
||||
|
||||
# Compile executable objects
|
||||
$(BUILDDIR)/tools/%.o: tools/%.c $(BUILDDIR)/defines | $$(dir $$@)
|
||||
$(CC) $(TOOLS_CFLAGS) -c $< -o $@
|
||||
|
|
52
tools/zmq-keygen.c
Normal file
52
tools/zmq-keygen.c
Normal file
|
@ -0,0 +1,52 @@
|
|||
/*
|
||||
Copyright (c) 2007-2016 Contributors as noted in the AUTHORS file
|
||||
|
||||
This file is part of libzmq, the ZeroMQ core engine in C++.
|
||||
|
||||
libzmq is free software; you can redistribute it and/or modify it under
|
||||
the terms of the GNU Lesser General Public License (LGPL) as published
|
||||
by the Free Software Foundation; either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
As a special exception, the Contributors give you permission to link
|
||||
this library with independent modules to produce an executable,
|
||||
regardless of the license terms of these independent modules, and to
|
||||
copy and distribute the resulting executable under terms of your choice,
|
||||
provided that you also meet, for each linked independent module, the
|
||||
terms and conditions of the license of that module. An independent
|
||||
module is a module which is not derived from or based on this library.
|
||||
If you modify this library, you must extend this exception to your
|
||||
version of the library.
|
||||
|
||||
libzmq 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 Lesser General Public
|
||||
License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <assert.h>
|
||||
#include <zmq.h>
|
||||
|
||||
int main (int argc, char *argv[])
|
||||
{
|
||||
char public_key [41];
|
||||
char secret_key [41];
|
||||
if (zmq_curve_keypair(public_key, secret_key)) {
|
||||
if (zmq_errno() == ENOTSUP)
|
||||
printf("To use %s, please install libsodium and then rebuild libzmq.", argv[0]);
|
||||
|
||||
exit (EXIT_FAILURE);
|
||||
}
|
||||
|
||||
printf("# Copy these lines to your 'zeromq' node-configuration\n");
|
||||
printf("curve = {\n");
|
||||
printf("\tpublic_key = \"%s\";\n", public_key);
|
||||
printf("\tsecret_key = \"%s\";\n", secret_key);
|
||||
printf("}\n");
|
||||
|
||||
exit (0);
|
||||
}
|
Loading…
Add table
Reference in a new issue