summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Makefile.am2
-rw-r--r--avahi-client/Makefile.am46
-rw-r--r--avahi-client/client-test.c11
-rw-r--r--avahi-client/client.c11
-rw-r--r--avahi-client/client.h33
-rw-r--r--configure.ac2
-rw-r--r--daemon/README6
-rw-r--r--daemon/avahi.conf.example23
8 files changed, 132 insertions, 2 deletions
diff --git a/Makefile.am b/Makefile.am
index 6606f65..18a1cfc 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -18,7 +18,7 @@
# USA.
EXTRA_DIST = bootstrap.sh LICENSE doxygen/Makefile.am doxygen/Makefile.in doxygen/doxygen.conf.in libtool.m4
-SUBDIRS = avahi-common avahi-core avahi-discover
+SUBDIRS = avahi-common avahi-core avahi-discover avahi-client daemon
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = avahi-core.pc
diff --git a/avahi-client/Makefile.am b/avahi-client/Makefile.am
new file mode 100644
index 0000000..f4f59dc
--- /dev/null
+++ b/avahi-client/Makefile.am
@@ -0,0 +1,46 @@
+# $Id: Makefile.am 90 2005-05-23 16:15:12Z lennart $
+#
+# This file is part of avahi.
+#
+# avahi is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Lesser General Public License as
+# published by the Free Software Foundation; either version 2 of the
+# License, or (at your option) any later version.
+#
+# avahi 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 General Public
+# License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with avahi; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+# USA.
+
+AM_CFLAGS=-I$(top_srcdir) -D_GNU_SOURCE
+
+# GLIB 2.0
+AM_CFLAGS+=$(GLIB20_CFLAGS)
+AM_LDADD=$(GLIB20_LIBS)
+
+# This cool debug trap works on i386/gcc only
+AM_CFLAGS+='-DDEBUG_TRAP=__asm__("int $$3")'
+
+avahi_clientincludedir=$(includedir)/avahi-client
+
+avahi_clientinclude_HEADERS =
+ client.h
+
+noinst_PROGRAMS = \
+ client-test
+
+lib_LTLIBRARIES = \
+ libavahi-client.la
+
+libavahi_client_la_SOURCES = \
+ client.c client.h
+
+client_test_SOURCES = \
+ client-test.c
+client_test_CFLAGS = $(AM_CFLAGS)
+client_test_LDADD = $(AM_LDADD) libavahi-client.la
diff --git a/avahi-client/client-test.c b/avahi-client/client-test.c
new file mode 100644
index 0000000..72a8e65
--- /dev/null
+++ b/avahi-client/client-test.c
@@ -0,0 +1,11 @@
+#include <avahi-client/client.h>
+
+int
+main (int argc, char *argv[])
+{
+ AvahiClient *avahi;
+
+ avahi = avahi_client_new ();
+
+ g_message ("Got server ID %d", avahi->serverid);
+}
diff --git a/avahi-client/client.c b/avahi-client/client.c
new file mode 100644
index 0000000..949e5ef
--- /dev/null
+++ b/avahi-client/client.c
@@ -0,0 +1,11 @@
+#include <avahi-client/client.h>
+
+AvahiClient *
+avahi_client_new ()
+{
+ AvahiClient *tmp;
+
+ tmp = g_new0 (AvahiClient, 1);
+
+ return tmp;
+}
diff --git a/avahi-client/client.h b/avahi-client/client.h
new file mode 100644
index 0000000..a33f1d2
--- /dev/null
+++ b/avahi-client/client.h
@@ -0,0 +1,33 @@
+#ifndef fooclienthfoo
+#define fooclienthfoo
+
+/* $Id: core.h 98 2005-06-04 18:56:52Z lathiat $ */
+
+/***
+ This file is part of avahi.
+
+ avahi is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as
+ published by the Free Software Foundation; either version 2.1 of the
+ License, or (at your option) any later version.
+
+ avahi 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 avahi; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+ USA.
+***/
+
+#include <glib.h>
+
+typedef struct AvahiClient {
+ gint serverid;
+} AvahiClient;
+
+AvahiClient* avahi_client_new ();
+
+#endif
diff --git a/configure.ac b/configure.ac
index 721be81..642e8c8 100644
--- a/configure.ac
+++ b/configure.ac
@@ -86,5 +86,5 @@ if test "x$GCC" = "xyes" ; then
rm -f conftest.o
fi
-AC_CONFIG_FILES([Makefile avahi-core.pc doxygen/Makefile doxygen/doxygen.conf avahi-common/Makefile avahi-core/Makefile daemon/Makefile avahi-discover/Makefile])
+AC_CONFIG_FILES([Makefile avahi-core.pc doxygen/Makefile doxygen/doxygen.conf avahi-common/Makefile avahi-core/Makefile daemon/Makefile avahi-discover/Makefile avahi-client/Makefile])
AC_OUTPUT
diff --git a/daemon/README b/daemon/README
new file mode 100644
index 0000000..e5f6405
--- /dev/null
+++ b/daemon/README
@@ -0,0 +1,6 @@
+On most systems you will need to setup a security policy for avahi to allow it to own the Avahi service on the system d-bus.
+
+You can find an example in avahi.conf.example, this usually goes in /etc/dbus-1/system.d
+You will need to change the username 'lathiat' to whatever username you use for testing this code (later it will be a dedicated 'avahi' user)
+
+In future this stuff should be handled automatically but for now some manual setup is required.
diff --git a/daemon/avahi.conf.example b/daemon/avahi.conf.example
new file mode 100644
index 0000000..39e9de9
--- /dev/null
+++ b/daemon/avahi.conf.example
@@ -0,0 +1,23 @@
+<!DOCTYPE busconfig PUBLIC
+ "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"
+ "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
+<busconfig>
+
+ <policy user="lathiat">
+ <allow own="org.freedesktop.Avahi"/>
+ </policy>
+ <policy user="root">
+ <allow own="org.freedesktop.Avahi"/>
+ </policy>
+
+ <!-- Allow anyone to invoke methods on the Manager and Device interfaces -->
+ <policy context="default">
+ <allow send_interface="org.freedesktop.Avahi"/>
+
+ <allow receive_interface="org.freedesktop.Avahi"
+ receive_sender="org.freedesktop.Avahi"/>
+ </policy>
+
+ <limit name="max_match_rules_per_connection">512</limit>
+
+</busconfig>