]> git.meshlink.io Git - catta/commitdiff
* Add some use documentation to the daemon
authorTrent Lloyd <lathiat@bur.st>
Sat, 4 Jun 2005 19:32:26 +0000 (19:32 +0000)
committerTrent Lloyd <lathiat@bur.st>
Sat, 4 Jun 2005 19:32:26 +0000 (19:32 +0000)
 * Create the structure for avahi-client
 * Start building avahi-client and daemon by default

git-svn-id: file:///home/lennart/svn/public/avahi/trunk@100 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe

Makefile.am
avahi-client/Makefile.am [new file with mode: 0644]
avahi-client/client-test.c [new file with mode: 0644]
avahi-client/client.c [new file with mode: 0644]
avahi-client/client.h [new file with mode: 0644]
configure.ac
daemon/README [new file with mode: 0644]
daemon/avahi.conf.example [new file with mode: 0644]

index 6606f65287a98b8f176fc34893fd6d6dc43b7206..18a1cfc17ae69451586c65c4a0ac86d9f2af7200 100644 (file)
@@ -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 (file)
index 0000000..f4f59dc
--- /dev/null
@@ -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 (file)
index 0000000..72a8e65
--- /dev/null
@@ -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 (file)
index 0000000..949e5ef
--- /dev/null
@@ -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 (file)
index 0000000..a33f1d2
--- /dev/null
@@ -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
index 721be8199d8caf784d1af263d62e054988e01358..642e8c8559a248d05381b7246623bd20f0e5c5ec 100644 (file)
@@ -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 (file)
index 0000000..e5f6405
--- /dev/null
@@ -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 (file)
index 0000000..39e9de9
--- /dev/null
@@ -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>