Fix vncviewer calls, add dependency on it

This commit is contained in:
Lubomir Rintel 2007-12-18 11:46:28 +00:00
parent f000cbb9f7
commit 90bcbee8be
15 changed files with 65 additions and 416 deletions

View File

@ -1,24 +0,0 @@
--- avahi-0.6.11.old/avahi-core/socket.c 2006-06-22 11:16:30.000000000 +0100
+++ avahi-0.6.11/avahi-core/socket.c 2006-09-18 10:07:23.000000000 +0100
@@ -475,10 +475,10 @@ int avahi_send_dns_packet_ipv4(
struct iovec io;
#ifdef IP_PKTINFO
struct cmsghdr *cmsg;
- uint8_t cmsg_data[CMSG_SPACE(sizeof(struct in_pktinfo))];
+ size_t cmsg_data[( CMSG_SPACE(sizeof(struct in_pktinfo)) / sizeof(size_t)) + 1];
#elif defined(IP_SENDSRCADDR)
struct cmsghdr *cmsg;
- uint8_t cmsg_data[CMSG_SPACE(sizeof(struct in_addr))];
+ size_t cmsg_data[( CMSG_SPACE(sizeof(struct in_addr)) / sizeof(size_t)) + 1];
#endif
assert(fd >= 0);
@@ -565,7 +565,7 @@ int avahi_send_dns_packet_ipv6(int fd, A
struct msghdr msg;
struct iovec io;
struct cmsghdr *cmsg;
- uint8_t cmsg_data[CMSG_SPACE(sizeof(struct in6_pktinfo))];
+ size_t cmsg_data[(CMSG_SPACE(sizeof(struct in6_pktinfo))/sizeof(size_t)) + 1];
assert(fd >= 0);
assert(p);

View File

@ -1,11 +0,0 @@
--- avahi-0.6.11/avahi-daemon/avahi-daemon.conf.use_ipv6_yes 2006-02-22 17:54:56.000000000 -0500
+++ avahi-0.6.11/avahi-daemon/avahi-daemon.conf 2006-07-17 17:34:08.000000000 -0400
@@ -25,7 +25,7 @@
#domain-name=local
browse-domains=0pointer.de, zeroconf.org
use-ipv4=yes
-use-ipv6=no
+use-ipv6=yes
#check-response-ttl=no
#use-iff-running=no
#enable-dbus=yes

View File

@ -1,53 +0,0 @@
--- avahi-0.6.15/initscript/fedora/avahi-dnsconfd.in.initscript 2006-11-22 16:46:17.000000000 +0100
+++ avahi-0.6.15/initscript/fedora/avahi-dnsconfd.in 2006-11-22 16:50:32.000000000 +0100
@@ -2,10 +2,10 @@
#
# avahi-daemon: Starts the Avahi dns configuration daemon
#
-# chkconfig: - 34 98 02
-# description: avahi-dnsconfd connects to a running avahi-daemon and runs the script
-# /etc/avahi/dnsconf.action for each unicast DNS server that is announced
-# on the local LAN. This is useful for configuring unicast DNS servers in
+# chkconfig: - 98 02
+# description: avahi-dnsconfd connects to a running avahi-daemon and runs the script \
+# /etc/avahi/dnsconf.action for each unicast DNS server that is announced \
+# on the local LAN. This is useful for configuring unicast DNS servers in \
# a DHCP-like fashion with mDNS.
# processname: avahi-dnsconfd
# config:
@@ -23,7 +23,7 @@
AVAHI_BIN=@sbindir@/avahi-dnsconfd
test -x $AVAHI_BIN || exit 5
-LOCKFILE=/var/lock/subsys/avahi-daemon
+LOCKFILE=/var/lock/subsys/avahi-dnsconfd
start() {
echo -n $"Starting Avahi DNS daemon... "
@@ -40,7 +40,7 @@
}
stop() {
- echo -n "Shutting down Avahi DNS daemon: "
+ echo -n $"Shutting down Avahi DNS daemon: "
$AVAHI_BIN -k
RETVAL=$?
[ $RETVAL = 0 ] && success $"$base shutdown" || failure $"$base shutdown"
@@ -50,7 +50,7 @@
}
reload() {
- echo -n "Reloading Avahi DNS daemon... "
+ echo -n $"Reloading Avahi DNS daemon... "
$AVAHI_BIN -r
RETVAL=$?
[ $RETVAL = 0 ] && success $"$base startup" || failure $"$base startup"
@@ -76,7 +76,7 @@
;;
status)
$AVAHI_BIN -c
- [ $? = 0 ] && echo "Avahi DNS daemon is running" || echo "Avahi DNS daemon is not running"
+ [ $? = 0 ] && echo $"Avahi DNS daemon is running" || echo $"Avahi DNS daemon is not running"
;;
restart)
restart

View File

@ -1,14 +0,0 @@
--- avahi-0.6.15/avahi-daemon/avahi-dbus.conf.in.netdev 2006-12-28 19:29:09.000000000 +0100
+++ avahi-0.6.15/avahi-daemon/avahi-dbus.conf.in 2006-12-28 19:29:15.000000000 +0100
@@ -19,7 +19,7 @@
<deny send_interface="org.freedesktop.Avahi.Server" send_member="SetHostName"/>
</policy>
- <!-- Allow everything, including access to SetHostName to users of the group "netdev" -->
+ <!-- Allow everything, including access to SetHostName to users of the group "@AVAHI_PRIV_ACCESS_GROUP@" -->
<policy group="@AVAHI_PRIV_ACCESS_GROUP@">
<allow send_destination="org.freedesktop.Avahi"/>
<allow receive_sender="org.freedesktop.Avahi"/>

View File

@ -1,40 +0,0 @@
--- avahi-0.6.17/initscript/fedora/avahi-daemon.in.exitcode 2006-02-12 12:39:15.000000000 +0100
+++ avahi-0.6.17/initscript/fedora/avahi-daemon.in 2007-03-14 12:12:37.000000000 +0100
@@ -80,7 +80,9 @@
;;
status)
$AVAHI_BIN -c
- [ $? = 0 ] && echo $"Avahi daemon is running" || echo $"Avahi daemon is not running"
+ RETVAL=$?
+ [ $RETVAL = 0 ] && echo $"Avahi daemon is running" || echo $"Avahi daemon is not running"
+
;;
restart)
restart
@@ -98,5 +100,5 @@
exit 1
esac
-exit $?
+exit $RETVAL
--- avahi-0.6.17/initscript/fedora/avahi-dnsconfd.in.exitcode 2007-03-14 12:07:38.000000000 +0100
+++ avahi-0.6.17/initscript/fedora/avahi-dnsconfd.in 2007-03-14 12:12:36.000000000 +0100
@@ -76,7 +76,9 @@
;;
status)
$AVAHI_BIN -c
- [ $? = 0 ] && echo $"Avahi DNS daemon is running" || echo $"Avahi DNS daemon is not running"
+ RETVAL=$?
+ [ $RETVAL = 0 ] && echo $"Avahi DNS daemon is running" || echo $"Avahi DNS daemon is not running"
+
;;
restart)
restart
@@ -95,5 +97,5 @@
;;
esac
-exit $?
+exit $RETVAL

View File

@ -1,11 +0,0 @@
Index: /trunk/avahi-autoipd/main.c
===================================================================
--- /trunk/avahi-autoipd/main.c (revision 1488)
+++ /trunk/avahi-autoipd/main.c (revision 1503)
@@ -511,5 +511,5 @@
memset(sa.sll_addr, 0xFF, ETHER_ADDRLEN);
- if (sendto(fd, packet, packet_len, 0, (struct sockaddr*) &sa, sizeof(sa)) < 0) {
+ if (sendto(fd, packet->ether_payload, packet_len, 0, (struct sockaddr*) &sa, sizeof(sa)) < 0) {
daemon_log(LOG_ERR, "sendto() failed: %s", strerror(errno));
return -1;

View File

@ -1,64 +0,0 @@
Index: avahi-core/dns.c
===================================================================
--- avahi-core/dns.c (revision 1492)
+++ avahi-core/dns.c (revision 1497)
@@ -153,6 +153,19 @@
avahi_dns_packet_set_field(p, idx, avahi_dns_packet_get_field(p, idx) + 1);
}
+
+static void name_table_cleanup(void *key, void *value, void *user_data) {
+ AvahiDnsPacket *p = user_data;
+
+ if ((uint8_t*) value >= AVAHI_DNS_PACKET_DATA(p) + p->size)
+ avahi_hashmap_remove(p->name_table, key);
+}
+
+void avahi_dns_packet_cleanup_name_table(AvahiDnsPacket *p) {
+ if (p->name_table)
+ avahi_hashmap_foreach(p->name_table, name_table_cleanup, p);
+}
+
uint8_t* avahi_dns_packet_append_name(AvahiDnsPacket *p, const char *name) {
uint8_t *d, *saved_ptr = NULL;
size_t saved_size;
@@ -216,6 +229,8 @@
fail:
p->size = saved_size;
+ avahi_dns_packet_cleanup_name_table(p);
+
return NULL;
}
@@ -685,6 +700,8 @@
!avahi_dns_packet_append_uint16(p, k->type) ||
!avahi_dns_packet_append_uint16(p, k->clazz | (unicast_response ? AVAHI_DNS_UNICAST_RESPONSE : 0))) {
p->size = size;
+ avahi_dns_packet_cleanup_name_table(p);
+
return NULL;
}
@@ -799,6 +816,8 @@
fail:
p->size = size;
+ avahi_dns_packet_cleanup_name_table(p);
+
return NULL;
}
Index: avahi-core/dns.h
===================================================================
--- avahi-core/dns.h (revision 1492)
+++ avahi-core/dns.h (revision 1497)
@@ -52,6 +52,8 @@
uint8_t *avahi_dns_packet_extend(AvahiDnsPacket *p, size_t l);
+void avahi_dns_packet_cleanup_name_table(AvahiDnsPacket *p);
+
uint8_t *avahi_dns_packet_append_uint16(AvahiDnsPacket *p, uint16_t v);
uint8_t *avahi_dns_packet_append_uint32(AvahiDnsPacket *p, uint32_t v);
uint8_t *avahi_dns_packet_append_name(AvahiDnsPacket *p, const char *name);

View File

@ -1,17 +0,0 @@
Index: /trunk/avahi-core/server.c
===================================================================
--- /trunk/avahi-core/server.c (revision 1463)
+++ /trunk/avahi-core/server.c (revision 1496)
@@ -611,9 +611,7 @@
}
- if (handle_conflict(s, i, record, unique)) {
- avahi_response_scheduler_suppress(i->response_scheduler, record, a);
- avahi_record_list_drop(s->record_list, record);
- avahi_cache_stop_poof(i->cache, record, a);
- }
+ avahi_response_scheduler_suppress(i->response_scheduler, record, a);
+ avahi_record_list_drop(s->record_list, record);
+ avahi_cache_stop_poof(i->cache, record, a);
avahi_record_unref(record);

View File

@ -1,18 +0,0 @@
Index: avahi-utils/avahi-browse.c
===================================================================
--- avahi-utils/avahi-browse.c (revision 1518)
+++ avahi-utils/avahi-browse.c (revision 1519)
@@ -586,9 +586,12 @@
"%s [options] -a\n"
"%s [options] -D\n"
#if defined(HAVE_GDBM) || defined(HAVE_DBM)
- "%s [options] -b\n",
+ "%s [options] -b\n"
#endif
"\n",
+#if defined(HAVE_GDBM) || defined(HAVE_DBM)
+ argv0,
+#endif
argv0, argv0, argv0);
fprintf(f,

View File

@ -1,115 +0,0 @@
Index: initscript/fedora/avahi-dnsconfd.in
===================================================================
--- initscript/fedora/avahi-dnsconfd.in (revision 1531)
+++ initscript/fedora/avahi-dnsconfd.in (revision 1535)
@@ -1,8 +1,8 @@
#! /bin/sh
#
-# avahi-daemon: Starts the Avahi dns configuration daemon
+# avahi-dnsconfd: Starts the Avahi dns configuration daemon
#
-# chkconfig: - 97 02
+# chkconfig: - 96 02
# description: avahi-dnsconfd connects to a running avahi-daemon and runs the script \
# /etc/avahi/dnsconf.action for each unicast DNS server that is announced \
# on the local LAN. This is useful for configuring unicast DNS servers in \
@@ -14,18 +14,24 @@
# Source function library.
. /etc/init.d/functions
-
. /etc/sysconfig/network
-# Check that networking is configured.
-[ ${NETWORKING} = "no" ] && exit 0
-
AVAHI_BIN=@sbindir@/avahi-dnsconfd
-test -x $AVAHI_BIN || exit 5
+if [ $1 == 'status' ]; then
+ test -x $AVAHI_BIN || exit 4
+else
+ test -x $AVAHI_BIN || exit 5
+fi
+
LOCKFILE=/var/lock/subsys/avahi-dnsconfd
+base=${0##*/}
+
start() {
+ # Check that networking is configured.
+ [ ${NETWORKING} = "no" ] && exit 1
+
echo -n $"Starting Avahi DNS daemon... "
$AVAHI_BIN -D
RETVAL=$?
@@ -58,7 +64,6 @@
return $RETVAL
}
-
restart() {
stop
start
@@ -92,7 +97,7 @@
;;
*)
echo $"Usage: $0 {start|stop|status|restart|condrestart}"
- exit 1
+ exit 2
;;
esac
Index: initscript/fedora/avahi-daemon.in
===================================================================
--- initscript/fedora/avahi-daemon.in (revision 1531)
+++ initscript/fedora/avahi-daemon.in (revision 1535)
@@ -2,7 +2,7 @@
#
# avahi-daemon: Starts the Avahi Daemon
#
-# chkconfig: 345 97 02
+# chkconfig: 345 96 02
# description: This is a daemon which runs on client machines to perform \
# Zeroconf service discovery on a network. avahi-daemon must be \
# running on systems that use Avahi for service discovery. \
@@ -14,20 +14,24 @@
# Source function library.
. /etc/init.d/functions
-
. /etc/sysconfig/network
-# Check that networking is configured.
-[ ${NETWORKING} = "no" ] && exit 0
-
AVAHI_BIN=@sbindir@/avahi-daemon
-test -x $AVAHI_BIN || exit 5
+if [ $1 == 'status' ]; then
+ test -x $AVAHI_BIN || exit 4
+else
+ test -x $AVAHI_BIN || exit 5
+fi
+
LOCKFILE=/var/lock/subsys/avahi-daemon
base=${0##*/}
start() {
+ # Check that networking is configured.
+ [ ${NETWORKING} = "no" ] && exit 1
+
echo -n $"Starting Avahi daemon... "
if [ -s /etc/localtime ]; then
cp -fp /etc/localtime /etc/avahi/etc >/dev/null 2>&1
@@ -96,7 +100,8 @@
;;
*)
echo $"Usage: $0 {start|stop|status|restart|condrestart}"
- exit 1
+ exit 2
+ ;;
esac
exit $RETVAL

View File

@ -1,21 +0,0 @@
Index: avahi-compat-libdns_sd/compat.c
===================================================================
--- avahi-compat-libdns_sd/compat.c (revision 1535)
+++ avahi-compat-libdns_sd/compat.c (revision 1536)
@@ -990,6 +990,16 @@
return;
}
}
+
+ if (!sdref->service_name_chosen) {
+
+ assert(sdref->service_name);
+
+ if (!(sdref->service_name_chosen = avahi_strdup(sdref->service_name))) {
+ reg_report_error(sdref, kDNSServiceErr_NoMemory);
+ return;
+ }
+ }
/* Register the service */

View File

@ -1,14 +0,0 @@
Index: /trunk/avahi-daemon/main.c
===================================================================
--- /trunk/avahi-daemon/main.c (revision 1513)
+++ /trunk/avahi-daemon/main.c (revision 1525)
@@ -317,4 +317,9 @@
int n;
char **p;
+
+ if (!resolv_conf_search_domains) {
+ avahi_server_set_browse_domains(avahi_server, NULL);
+ return;
+ }
l = avahi_string_list_copy(config.server_config.browse_domains);

View File

@ -0,0 +1,56 @@
VNC viewer binary in Fedora is vncviewer, not xvncviewer
(Lubomir Kundrak <lkundrak@redhat.com>)
diff -urp avahi-0.6.22.orig/avahi-ui/bssh.c avahi-0.6.22/avahi-ui/bssh.c
--- avahi-0.6.22.orig/avahi-ui/bssh.c 2007-12-17 16:12:57.000000000 +0100
+++ avahi-0.6.22/avahi-ui/bssh.c 2007-12-18 11:46:15.000000000 +0100
@@ -86,8 +86,8 @@ int main(int argc, char*argv[]) {
gtk_widget_destroy(d);
- g_print("xvncviewer %s\n", p);
- execlp("xvncviewer", "xvncviewer", p, NULL);
+ g_print("vncviewer %s\n", p);
+ execlp("vncviewer", "vncviewer", p, NULL);
} else {
char p[16];
diff -urp avahi-0.6.22.orig/man/bssh.1 avahi-0.6.22/man/bssh.1
--- avahi-0.6.22.orig/man/bssh.1 2007-12-17 16:40:46.000000000 +0100
+++ avahi-0.6.22/man/bssh.1 2007-12-18 11:46:56.000000000 +0100
@@ -7,12 +7,12 @@ bssh/bvnc \- Browse for SSH/VNC servers
bvnc
\f1
.SH DESCRIPTION
-bssh/bvnc browses for local SSH/VNC servers on the local network, shows them in a GUI for the user to select one and finally calls ssh/xvncviewer after a selection was made.
+bssh/bvnc browses for local SSH/VNC servers on the local network, shows them in a GUI for the user to select one and finally calls ssh/vncviewer after a selection was made.
.SH OPTIONS
bssh/bvnc takes no command line arguments at the moment.
.SH AUTHORS
The Avahi Developers <avahi (at) lists (dot) freedesktop (dot) org>; Avahi is available from \fBhttp://avahi.org/\f1
.SH SEE ALSO
-\fBavahi-browse(1)\f1, \fBssh(1)\f1, \fBxvncviewer(1)\f1
+\fBavahi-browse(1)\f1, \fBssh(1)\f1, \fBvncviewer(1)\f1
.SH COMMENTS
This man page was written using \fBxml2man(1)\f1 by Oliver Kurth.
diff -urp avahi-0.6.22.orig/man/bssh.1.xml.in avahi-0.6.22/man/bssh.1.xml.in
--- avahi-0.6.22.orig/man/bssh.1.xml.in 2007-09-03 14:32:47.000000000 +0200
+++ avahi-0.6.22/man/bssh.1.xml.in 2007-12-18 11:46:40.000000000 +0100
@@ -33,7 +33,7 @@
<description>
<p>bssh/bvnc browses for local SSH/VNC servers on the local
network, shows them in a GUI for the user to select one and
- finally calls ssh/xvncviewer after a selection was made.</p>
+ finally calls ssh/vncviewer after a selection was made.</p>
</description>
@@ -50,7 +50,7 @@
<section name="See also">
<p>
- <manref name="avahi-browse" section="1"/>, <manref name="ssh" section="1"/>, <manref name="xvncviewer" section="1"/>
+ <manref name="avahi-browse" section="1"/>, <manref name="ssh" section="1"/>, <manref name="vncviewer" section="1"/>
</p>
</section>

View File

@ -1,13 +0,0 @@
--- avahi-0.6.9/avahi-utils/avahi-resolve.c.bz189427 2005-11-16 17:34:54.000000000 -0500
+++ avahi-0.6.9/avahi-utils/avahi-resolve.c 2006-04-20 18:37:01.000000000 -0400
@@ -168,8 +168,8 @@
" -v --verbose Enable verbose mode\n"
" -6 Lookup IPv6 address\n"
" -4 Lookup IPv4 address\n",
- argv0, strstr(argv0, "address") ? "[-a]" : "-a",
- argv0, strstr(argv0, "host-name") ? "[-n]" : "-n");
+ argv0, strstr(argv0, "host-name") ? "[-n]" : "-n",
+ argv0, strstr(argv0, "address") ? "[-a]" : "-a");
}
static int parse_command_line(Config *c, const char *argv0, int argc, char *argv[]) {

View File

@ -6,7 +6,7 @@
%endif
Name: avahi
Version: 0.6.22
Release: 3%{?dist}
Release: 4%{?dist}
Summary: Local network service discovery
Group: System Environment/Base
License: LGPLv2
@ -38,6 +38,7 @@ Obsoletes: howl
Source0: http://avahi.org/download/%{name}-%{version}.tar.gz
# enable mono's mcs to work in beehive buildroot:
Patch2: avahi-0.6.3-MONO_SHARED_DIR.patch
Patch3: avahi-0.6.22-vncviewer.patch
%description
Avahi is a system which facilitates service discovery on
@ -61,6 +62,8 @@ Summary: UI tools for mDNS browsing
Group: System Environment/Base
Requires: %{name} = %{version}
Requires: %{name}-ui = %{version}
Requires: vnc
Requires: openssh-clients
%description ui-tools
Graphical user interface tools that use Avahi to browse for mDNS services.
@ -240,6 +243,7 @@ fashion with mDNS.
%if %{WITH_MONO}
%patch2 -p1 -b .MONO_SHARED_DIR
%endif
%patch3 -p1 -b .vncviewer
%build
@ -516,6 +520,10 @@ fi
%endif
%changelog
* Tue Dec 18 2007 Lubomir Kundrak <lkundrak@redhat.com> - 0.6.22-4
- Make bvnc call vncviewer instead of xvncviewer
- Let ui-tools depend on necessary packages
* Mon Dec 17 2007 Lennart Poettering <lpoetter@redhat.com> - 0.6.22-3
- Add missing intltool dependency