disorder_SOURCES=disorder.c authorize.c authorize.h \
../lib/memgc.c
disorder_LDADD=$(LIBOBJS) ../lib/libdisorder.a \
- $(LIBGC) $(LIBGCRYPT) $(LIBPCRE) $(LIBDB)
+ $(LIBGC) $(LIBGCRYPT) $(LIBPCRE) $(LIBDB) $(LIBPTHREAD)
disorder_DEPENDENCIES=$(LIBOBJS) ../lib/libdisorder.a
disorderfm_SOURCES=disorderfm.c \
#include <unistd.h>
#include <pcre.h>
#include <ctype.h>
+#include <gcrypt.h>
#include "configuration.h"
#include "syscalls.h"
config->connect.n = 0;
n = optind;
optind = 1; /* for subsequent getopt calls */
+ /* gcrypt initialization */
+ if(!gcry_check_version(NULL))
+ disorder_fatal(0, "gcry_check_version failed");
+ gcry_control(GCRYCTL_INIT_SECMEM, 0);
+ gcry_control (GCRYCTL_INITIALIZATION_FINISHED, 0);
/* accumulate command args */
while(n < argc) {
if((i = TABLE_FIND(commands, name, argv[n])) < 0)
#include <getopt.h>
#include <locale.h>
#include <pcre.h>
+#include <gcrypt.h>
/* Apologies for the numerous de-consting casts, but GLib et al do not seem to
* have heard of const. */
}
if(!gtkok)
fatal(0, "failed to initialize GTK+");
+ /* gcrypt initialization */
+ if(!gcry_check_version(NULL))
+ disorder_fatal(0, "gcry_check_version failed");
+ gcry_control(GCRYCTL_INIT_SECMEM, 0);
+ gcry_control (GCRYCTL_INITIALIZATION_FINISHED, 0);
signal(SIGPIPE, SIG_IGN);
init_styles();
load_settings();
#include <sys/socket.h>
#include <ifaddrs.h>
#include <net/if.h>
+#include <arpa/inet.h>
+#include <netinet/in.h>
#include <gcrypt.h>
#include <unistd.h>
#include <time.h>
disorder_speaker_SOURCES=speaker.c
disorder_speaker_LDADD=$(LIBOBJS) ../lib/libdisorder.a \
- $(LIBASOUND) $(LIBPCRE) $(LIBICONV) $(LIBGCRYPT) $(COREAUDIO)
+ $(LIBASOUND) $(LIBPCRE) $(LIBICONV) $(LIBGCRYPT) $(COREAUDIO) \
+ $(LIBPTHREAD)
disorder_speaker_DEPENDENCIES=../lib/libdisorder.a
disorder_decode_SOURCES=decode.c disorder-server.h
fix_path();
srand(time(0)); /* don't start the same every time */
/* gcrypt initialization */
+ if(!gcry_check_version(NULL))
+ disorder_fatal(0, "gcry_check_version failed");
gcry_control(GCRYCTL_INIT_SECMEM, 1);
+ gcry_control (GCRYCTL_INITIALIZATION_FINISHED, 0);
/* make sure we can't have more than FD_SETSIZE files open (event.c does
* check but this provides an additional line of defence) */
if(getrlimit(RLIMIT_NOFILE, rl) < 0)
sink_writes(ev_writer_sink(c->w), "550 error accessing mixer\n");
return 1;
}
- api->set_volume(&l, &r);
+ (set ? api->set_volume : api->get_volume)(&l, &r);
sink_printf(ev_writer_sink(c->w), "252 %d %d\n", l, r);
if(l != volume_left || r != volume_right) {
volume_left = l;
#include <sys/un.h>
#include <sys/stat.h>
#include <pthread.h>
+#include <sys/resource.h>
+#include <gcrypt.h>
#include "configuration.h"
#include "syscalls.h"
info("set RLIM_NOFILE to %lu", (unsigned long)rl->rlim_cur);
} else
info("RLIM_NOFILE is %lu", (unsigned long)rl->rlim_cur);
+ /* gcrypt initialization */
+ if(!gcry_check_version(NULL))
+ disorder_fatal(0, "gcry_check_version failed");
+ gcry_control(GCRYCTL_INIT_SECMEM, 0);
+ gcry_control (GCRYCTL_INITIALIZATION_FINISHED, 0);
/* create a pipe between the backend callback and the poll() loop */
xpipe(sigpipe);
nonblock(sigpipe[0]);