Hello community,
here is the log from the commit of package orbit2
checked in at Fri Aug 29 01:25:51 CEST 2008.
--------
--- GNOME/orbit2/orbit2.changes 2008-07-18 17:49:36.000000000 +0200
+++ orbit2/orbit2.changes 2008-08-28 18:50:09.783233000 +0200
@@ -1,0 +2,10 @@
+Thu Aug 28 18:58:40 CEST 2008 - maw@suse.de
+
+- Update to version 2.14.14:
+ + Use ORBIT_SOCKETDIR to propagate the socket dir to children
+ wherever possible; this has two benefits: it speeds up ORBit2
+ launch and it and it allows root owned apps to talk to the
+ user's AT
+ + Various linc2 fixes.
+
+-------------------------------------------------------------------
Old:
----
ORBit2-2.14.13.tar.bz2
New:
----
ORBit2-2.14.14.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ orbit2.spec ++++++
--- /var/tmp/diff_new_pack.IT6663/_old 2008-08-29 01:23:24.000000000 +0200
+++ /var/tmp/diff_new_pack.IT6663/_new 2008-08-29 01:23:24.000000000 +0200
@@ -1,10 +1,17 @@
#
-# spec file for package orbit2 (Version 2.14.13)
+# spec file for package orbit2 (Version 2.14.14)
#
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
-# This file and all modifications and additions to the pristine
-# package are under the same license as the package itself.
#
+# All modifications and additions to the file contributed by third parties
+# remain the property of their copyright owners, unless otherwise agreed
+# upon. The license for this file, and modifications and additions to the
+# file, is the same license as for the pristine package itself (unless the
+# license for the pristine package is not an Open Source License, in which
+# case the license is the MIT License). An "Open Source License" is a
+# license that conforms to the Open Source Definition (Version 1.9)
+# published by the Open Source Initiative.
+
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
@@ -19,8 +26,8 @@
Provides: ORBit2
AutoReqProv: on
Summary: High-Performance CORBA Object Request Broker
-Version: 2.14.13
-Release: 6
+Version: 2.14.14
+Release: 1
Source: ftp://ftp.gnome.org/pub/gnome/sources/ORBit2/2.14/%{_name}-%{version}.tar.bz2
Url: http://www.gnome.org/
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -146,6 +153,13 @@
%{_datadir}/gtk-doc/html/*
%changelog
+* Thu Aug 28 2008 maw@suse.de
+- Update to version 2.14.14:
+ + Use ORBIT_SOCKETDIR to propagate the socket dir to children
+ wherever possible; this has two benefits: it speeds up ORBit2
+ launch and it and it allows root owned apps to talk to the
+ user's AT
+ + Various linc2 fixes.
* Fri Jul 18 2008 jpr@suse.de
- Drop orbit-abuild.patch, the warning is valid but causes no
issues and will be fixed nicely upstream
++++++ ORBit2-2.14.13.tar.bz2 -> ORBit2-2.14.14.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/ORBit2-2.14.13/ChangeLog new/ORBit2-2.14.14/ChangeLog
--- old/ORBit2-2.14.13/ChangeLog 2008-06-02 13:42:54.000000000 +0200
+++ new/ORBit2-2.14.14/ChangeLog 2008-08-19 11:53:28.000000000 +0200
@@ -1,3 +1,40 @@
+======================== 2.14.14 ============================
+
+2008-08-11 Mike Gorse
+
+ * src/orb/GIOP/giop.c (giop_tmpdir_init): use ORBIT_SOCKETDIR
+ to propagate the socket dir to children wherever possible: has
+ two benefits: speeds up ORBit2 launch, and allows root owned
+ apps to talk to the user's AT.
+
+2008-08-06 Jules Colding
+
+ * test/ior-decode.c (main): Fix terminology. The ID previously
+ known as the "Object ID" is really the "Interface Repository ID".
+
+2008-07-18 Michael Meeks
+
+ * test/typelib-dump.c (dump_tc): remove redundant code
+ causing warnings - thanks JP.
+
+2008-06-23 Kjartan Maraas
+
+ * src/services/imodule/Makefile.am:
+ * test/everything/Makefile.am:
+ Patch from <dmacks at netspace org> to fix
+ compile failures from passing global -I flags
+ before local ones. Closes bug #538514.
+
+2008-06-04 Tor Lillqvist
+
+ Bug 536505 - Error building 2.14.13 - implicit declaration of
+ function '_strnicmp'
+
+ * src/orb/orb-core/orbhttp.c: Use g_ascii_strncasecmp() instead of
+ strncasecmp() or _strnicmp(). _strnicmp() is Microsoft-specific and
+ was introduced in this file by accident in the patch for bug
+ 524061 below. But actually, you shouldn't be using --enable-http.
+
================================ 2.14.13 ============================
2008-05-29 Christian Persch
@@ -36,7 +73,7 @@
* src/orb/poa/poa.c
* src/orb/poa/orbit-adaptor.c
* src/orb/orbit-init.c
- * src/orb/orb-core/orbhttp.c'
+ * src/orb/orb-core/orbhttp.c
* src/orb/orb-core/orbit-small.c
* util/genrand.c
* GIOP/giop-connection.c: Patch by Marcelo Vanzin. Add
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/ORBit2-2.14.13/configure new/ORBit2-2.14.14/configure
--- old/ORBit2-2.14.13/configure 2008-06-02 23:33:16.000000000 +0200
+++ new/ORBit2-2.14.14/configure 2008-08-19 12:00:01.000000000 +0200
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.62 for ORBit2 2.14.13.
+# Generated by GNU Autoconf 2.62 for ORBit2 2.14.14.
#
# Report bugs to http://bugzilla.gnome.org/enter_bug.cgi?product=ORBit2.
#
@@ -750,8 +750,8 @@
# Identity of this package.
PACKAGE_NAME='ORBit2'
PACKAGE_TARNAME='ORBit2'
-PACKAGE_VERSION='2.14.13'
-PACKAGE_STRING='ORBit2 2.14.13'
+PACKAGE_VERSION='2.14.14'
+PACKAGE_STRING='ORBit2 2.14.14'
PACKAGE_BUGREPORT='http://bugzilla.gnome.org/enter_bug.cgi?product=ORBit2'
# Factoring default headers for most tests.
@@ -1544,7 +1544,7 @@
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures ORBit2 2.14.13 to adapt to many kinds of systems.
+\`configure' configures ORBit2 2.14.14 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1614,7 +1614,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of ORBit2 2.14.13:";;
+ short | recursive ) echo "Configuration of ORBit2 2.14.14:";;
esac
cat <<\_ACEOF
@@ -1741,7 +1741,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-ORBit2 configure 2.14.13
+ORBit2 configure 2.14.14
generated by GNU Autoconf 2.62
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1755,7 +1755,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by ORBit2 $as_me 2.14.13, which was
+It was created by ORBit2 $as_me 2.14.14, which was
generated by GNU Autoconf 2.62. Invocation command line was
$ $0 $@
@@ -2139,8 +2139,8 @@
ORBIT_MAJOR_VERSION=2
ORBIT_MINOR_VERSION=14
-ORBIT_MICRO_VERSION=13
-ORBIT_VERSION=2.14.13
+ORBIT_MICRO_VERSION=14
+ORBIT_VERSION=2.14.14
@@ -2504,7 +2504,7 @@
# Define the identity of the package.
PACKAGE='ORBit2'
- VERSION='2.14.13'
+ VERSION='2.14.14'
# Some tools Automake needs.
@@ -23862,46 +23862,6 @@
$as_echo_n "(cached) " >&6
else
ac_cv_c_bigendian=unknown
- # See if __BIG_ENDIAN__ or __LITTLE_ENDIAN__ is defined.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#if ! (defined __BIG_ENDIAN__ || defined __LITTLE_ENDIAN__)
- neither is defined;
- #endif
- typedef int dummy;
-
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_cv_c_bigendian=universal
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
if test $ac_cv_c_bigendian = unknown; then
# See if sys/param.h defines the BYTE_ORDER macro.
cat >conftest.$ac_ext <<_ACEOF
@@ -28117,7 +28077,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by ORBit2 $as_me 2.14.13, which was
+This file was extended by ORBit2 $as_me 2.14.14, which was
generated by GNU Autoconf 2.62. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -28133,9 +28093,9 @@
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
# Files that config.status was made for.
-config_files="$ac_config_files"
-config_headers="$ac_config_headers"
-config_commands="$ac_config_commands"
+config_files="`echo $ac_config_files`"
+config_headers="`echo $ac_config_headers`"
+config_commands="`echo $ac_config_commands`"
_ACEOF
@@ -28170,7 +28130,7 @@
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_version="\\
-ORBit2 config.status 2.14.13
+ORBit2 config.status 2.14.14
configured by $0, generated by GNU Autoconf 2.62,
with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
@@ -28631,9 +28591,9 @@
}
split(mac1, mac2, "(") #)
macro = mac2[1]
+ prefix = substr(line, 1, index(line, defundef) - 1)
if (D_is_set[macro]) {
# Preserve the white space surrounding the "#".
- prefix = substr(line, 1, index(line, defundef) - 1)
print prefix "define", macro P[macro] D[macro]
next
} else {
@@ -28641,7 +28601,7 @@
# in the case of _POSIX_SOURCE, which is predefined and required
# on some systems where configure will not decide to define it.
if (defundef == "undef") {
- print "/*", line, "*/"
+ print "/*", prefix defundef, macro, "*/"
next
}
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/ORBit2-2.14.13/configure.in new/ORBit2-2.14.14/configure.in
--- old/ORBit2-2.14.13/configure.in 2008-01-30 12:54:46.000000000 +0100
+++ new/ORBit2-2.14.14/configure.in 2008-08-19 11:53:00.000000000 +0200
@@ -1,6 +1,6 @@
m4_define([orbit_major_version],[2])
m4_define([orbit_minor_version],[14])
-m4_define([orbit_micro_version],[13])
+m4_define([orbit_micro_version],[14])
m4_define([orbit_version],[orbit_major_version.orbit_minor_version.orbit_micro_version])
dnl Process this file with autoconf to produce a configure script.
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/ORBit2-2.14.13/docs/api/html/general.html new/ORBit2-2.14.14/docs/api/html/general.html
--- old/ORBit2-2.14.13/docs/api/html/general.html 2008-06-02 23:36:55.000000000 +0200
+++ new/ORBit2-2.14.14/docs/api/html/general.html 2008-08-19 12:08:36.000000000 +0200
@@ -3,8 +3,8 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>API</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
-<link rel="start" href="index.html" title="ORBit2 Reference Manual">
+<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
+<link rel="home" href="index.html" title="ORBit2 Reference Manual">
<link rel="up" href="index.html" title="ORBit2 Reference Manual">
<link rel="prev" href="index.html" title="ORBit2 Reference Manual">
<link rel="next" href="ORBit2-orbit2-allocators.html" title="Allocators">
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/ORBit2-2.14.13/docs/api/html/index.html new/ORBit2-2.14.14/docs/api/html/index.html
--- old/ORBit2-2.14.13/docs/api/html/index.html 2008-06-02 23:36:55.000000000 +0200
+++ new/ORBit2-2.14.14/docs/api/html/index.html 2008-08-19 12:08:36.000000000 +0200
@@ -3,8 +3,8 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>ORBit2 Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
-<link rel="start" href="index.html" title="ORBit2 Reference Manual">
+<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
+<link rel="home" href="index.html" title="ORBit2 Reference Manual">
<link rel="next" href="general.html" title="API">
<meta name="generator" content="GTK-Doc V1.10 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/ORBit2-2.14.13/docs/api/html/ORBit2-orbit2-allocators.html new/ORBit2-2.14.14/docs/api/html/ORBit2-orbit2-allocators.html
--- old/ORBit2-2.14.13/docs/api/html/ORBit2-orbit2-allocators.html 2008-06-02 23:36:55.000000000 +0200
+++ new/ORBit2-2.14.14/docs/api/html/ORBit2-orbit2-allocators.html 2008-08-19 12:08:36.000000000 +0200
@@ -3,8 +3,8 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Allocators</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
-<link rel="start" href="index.html" title="ORBit2 Reference Manual">
+<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
+<link rel="home" href="index.html" title="ORBit2 Reference Manual">
<link rel="up" href="general.html" title="API">
<link rel="prev" href="general.html" title="API">
<link rel="next" href="ORBit2-orbit2-small.html" title="orbit2-small">
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/ORBit2-2.14.13/docs/api/html/ORBit2-orbit2-small.html new/ORBit2-2.14.14/docs/api/html/ORBit2-orbit2-small.html
--- old/ORBit2-2.14.13/docs/api/html/ORBit2-orbit2-small.html 2008-06-02 23:36:55.000000000 +0200
+++ new/ORBit2-2.14.14/docs/api/html/ORBit2-orbit2-small.html 2008-08-19 12:08:36.000000000 +0200
@@ -3,8 +3,8 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>orbit2-small</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
-<link rel="start" href="index.html" title="ORBit2 Reference Manual">
+<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
+<link rel="home" href="index.html" title="ORBit2 Reference Manual">
<link rel="up" href="general.html" title="API">
<link rel="prev" href="ORBit2-orbit2-allocators.html" title="Allocators">
<meta name="generator" content="GTK-Doc V1.10 (XML mode)">
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/ORBit2-2.14.13/include/orbit/orbit-config.h new/ORBit2-2.14.14/include/orbit/orbit-config.h
--- old/ORBit2-2.14.13/include/orbit/orbit-config.h 2008-06-02 23:33:54.000000000 +0200
+++ new/ORBit2-2.14.14/include/orbit/orbit-config.h 2008-08-19 12:00:28.000000000 +0200
@@ -5,7 +5,7 @@
#ifndef ORBIT_MAJOR_VERSION
#define ORBIT_MAJOR_VERSION (2)
#define ORBIT_MINOR_VERSION (14)
-#define ORBIT_MICRO_VERSION (13)
+#define ORBIT_MICRO_VERSION (14)
#endif
#define ORBIT_IMPLEMENTS_IS_A 1
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/ORBit2-2.14.13/linc2/ChangeLog new/ORBit2-2.14.14/linc2/ChangeLog
--- old/ORBit2-2.14.13/linc2/ChangeLog 2008-06-02 13:45:53.000000000 +0200
+++ new/ORBit2-2.14.14/linc2/ChangeLog 2008-08-13 10:05:22.000000000 +0200
@@ -1,3 +1,26 @@
+2008-08-11 Michael Meeks
+
+ * src/linc-protocols.c (get_first_non_local_ipaddr):
+ remove bogus return bits; re-order linc-protocols array
+ to maintain binary compat.
+
+2008-08-11 Mike Gorse
+
+ * src/linc-protocols.c (link_protocol_post_create_unix),
+ * src/linc-server.c (link_server_setup): add and call post_create
+ method to allow root user to create sockets in ORBIT_SOCKETDIR,
+ to allow user owned ATs to talk to a root owned app.
+
+2008-06-21 Jules Colding
+
+ * src/linc-protocols.c (get_netid): This function
+ failed on Mac OS X for (ORBNetID == "ipaddr"). It is
+ now fixed and simplified greatly by the use of the new
+ function get_first_non_local_ipaddr().
+ (get_first_non_local_ipaddr): This function will
+ correctly deduce the first non-loopback interface
+ on the host.
+
============================== 2.14.13 ===========================
2008-05-25 Tor Lillqvist
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/ORBit2-2.14.13/linc2/include/linc/linc-protocol.h new/ORBit2-2.14.14/linc2/include/linc/linc-protocol.h
--- old/ORBit2-2.14.13/linc2/include/linc/linc-protocol.h 2007-09-29 10:46:07.000000000 +0200
+++ new/ORBit2-2.14.14/linc2/include/linc/linc-protocol.h 2008-08-13 10:05:22.000000000 +0200
@@ -50,6 +50,9 @@
gchar **hostname,
gchar **service);
+typedef void (*LinkProtocolPostCreateFunc) (int fd,
+ struct sockaddr *sockaddr);
+
typedef gboolean (*LinkProtocolIsLocal) (const LinkProtocolInfo *proto,
const struct sockaddr *sockaddr,
LinkSockLen saddr_len);
@@ -66,8 +69,9 @@
LinkProtocolGetSockAddrFunc get_sockaddr;
LinkProtocolGetSockInfoFunc get_sockinfo;
LinkProtocolIsLocal is_local;
+ LinkProtocolPostCreateFunc post_create;
/* This structure is private and may be extended in future */
- gpointer dummy[8];
+ gpointer dummy[7];
};
typedef enum {
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/ORBit2-2.14.13/linc2/src/linc-connection.c new/ORBit2-2.14.14/linc2/src/linc-connection.c
--- old/ORBit2-2.14.13/linc2/src/linc-connection.c 2008-06-02 12:38:22.000000000 +0200
+++ new/ORBit2-2.14.14/linc2/src/linc-connection.c 2008-08-13 10:05:22.000000000 +0200
@@ -548,6 +548,25 @@
CNX_UNLOCK (cnx);
}
+#ifndef G_OS_WIN32
+static void
+fix_permissions (const char *filename)
+{
+ char *tmp_dir = g_strdup (filename);
+ char *p;
+ struct stat stat_buf;
+
+ if (!tmp_dir)
+ return;
+ p = strrchr (tmp_dir, '/');
+ if (p) {
+ *p = '\0';
+ stat (tmp_dir, &stat_buf);
+ chown (filename, stat_buf.st_uid, -1);
+ }
+}
+#endif
+
static gboolean
link_connection_do_initiate (LinkConnection *cnx,
const char *proto_name,
@@ -627,6 +646,12 @@
}
#endif
+#ifndef G_OS_WIN32
+ if (!strcmp (proto_name, "UNIX") && getuid() == 0) {
+ fix_permissions (service);
+ }
+#endif
+
LINK_TEMP_FAILURE_RETRY_SOCKET (connect (fd, saddr, saddr_len), rv);
#ifdef HAVE_WINSOCK2_H
if (rv == SOCKET_ERROR) {
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/ORBit2-2.14.13/linc2/src/linc-protocols.c new/ORBit2-2.14.14/linc2/src/linc-protocols.c
--- old/ORBit2-2.14.13/linc2/src/linc-protocols.c 2008-04-17 10:08:51.000000000 +0200
+++ new/ORBit2-2.14.14/linc2/src/linc-protocols.c 2008-08-13 10:05:22.000000000 +0200
@@ -63,7 +63,7 @@
g_error ("Can not stat %s\n", dirname);
#if !defined (__CYGWIN__) && !defined(_WIN32)
- if (statbuf.st_uid != getuid ())
+ if (getuid() != 0 && statbuf.st_uid != getuid ())
g_error ("Owner of %s is not the current user\n", dirname);
if ((statbuf.st_mode & (S_IRWXG|S_IRWXO)) ||
@@ -139,11 +139,46 @@
#if defined(AF_INET) || defined(AF_INET6) || defined (AF_UNIX)
-/* hopefully a sufficiently large default NIC count */
-#ifdef DEFAULT_LINC2_IFNUM
-#undef DEFAULT_LINC2_IFNUM
+#ifndef G_OS_WIN32
+static void
+get_first_non_local_ipaddr(char *buf,
+ size_t len)
+{
+ int sock;
+ const char *retv;
+ struct if_nameindex *ifname_idx_array;
+ struct if_nameindex *ifname_idx;
+ struct sockaddr_in sin;
+ struct ifreq ifr;
+
+ *buf = '\0';
+
+ sock = socket(AF_INET, SOCK_DGRAM, 0);
+ if (-1 == sock)
+ return;
+
+ ifname_idx_array = if_nameindex();
+ for (ifname_idx = ifname_idx_array; ifname_idx && ifname_idx->if_name && ifname_idx->if_name[0]; ifname_idx++) {
+ strncpy(ifr.ifr_name, ifname_idx->if_name, IFNAMSIZ);
+ if (ioctl(sock, SIOCGIFADDR, &ifr))
+ continue;
+
+ memcpy(&sin, &(ifr.ifr_addr), sizeof(struct sockaddr_in));
+ retv = (const char*)inet_ntoa(sin.sin_addr);
+ retv = strcmp("127.0.0.1", retv) ? retv : NULL;
+ if (retv) {
+ strncpy(buf, (const char*)inet_ntoa(sin.sin_addr), len);
+ break;
+ }
+ }
+
+ if (ifname_idx_array)
+ if_freenameindex(ifname_idx_array);
+
+ if (-1 != sock)
+ close(sock);
+}
#endif
-#define DEFAULT_LINC2_IFNUM (32)
static char *
get_netid(LinkNetIdType which,
@@ -161,58 +196,13 @@
if ((LINK_NET_ID_IS_IPADDR == which)
|| (LINK_NET_ID_IS_CUSTOM == which)) {
#ifndef G_OS_WIN32
- struct sockaddr_in *adr = NULL;
- struct ifreq *my_ifreqs = NULL;
- struct ifconf my_ifconf = { 0 };
- int sock = -1;
- int num = 0;
- int i = 0;
-
- sock = socket(AF_INET,SOCK_DGRAM,0);
- if (-1 == sock)
- goto out;
-#ifdef SIOCGIFNUM
- i = ioctl(sock, SIOCGIFNUM, &num);
- if ((0 > i) || !num) {
- close(sock);
- goto out;
- }
-#else
- num = DEFAULT_LINC2_IFNUM;
-#endif
- my_ifconf.ifc_len = sizeof(struct ifreq) * num;
- my_ifconf.ifc_req = (struct ifreq*)malloc(my_ifconf.ifc_len);
- if (!my_ifconf.ifc_req) {
- close(sock);
- goto out;
- }
- if (ioctl(sock,SIOCGIFCONF,&my_ifconf) < 0) {
- close(sock);
- free(my_ifconf.ifc_req);
- goto out;
- }
- close(sock);
-
- my_ifreqs = my_ifconf.ifc_req;
- for (i = 0; i < num; i++) {
- adr = (struct sockaddr_in *)&my_ifreqs[i].ifr_ifru.ifru_addr;
- if (fixed_host_net_id) {
- if (!strcmp(fixed_host_net_id, inet_ntoa(adr->sin_addr)))
- break;
- } else {
- if (strcmp("127.0.0.1", inet_ntoa(adr->sin_addr)))
- break;
- }
- if (!strcmp("0.0.0.0", inet_ntoa(adr->sin_addr))) {
- if (i)
- adr = (struct sockaddr_in *)&my_ifreqs[--i].ifr_ifru.ifru_addr;
- break;
- }
- }
- strncpy(buf, (const char*)inet_ntoa(adr->sin_addr), len);
- free(my_ifconf.ifc_req);
+ if (fixed_host_net_id)
+ strncpy(buf, fixed_host_net_id, len);
+ else
+ get_first_non_local_ipaddr(buf, len);
+ if ('\0' == *buf)
+ strncpy(buf, "127.0.0.1", len);
- /* will be 127.0.0.1 anyway, if no other address is defined... */
return buf;
#else
SOCKET sock;
@@ -220,10 +210,8 @@
/* Let's hope 20 interfaces is enough. There doesn't
* seem to be any way to get information about how
* many interfaces there are.
- *
- * [Jules] Using the ifnum define instead...
*/
- INTERFACE_INFO interfaces[DEFAULT_LINC2_IFNUM];
+ INTERFACE_INFO interfaces[20];
int i;
sock = socket (AF_INET, SOCK_DGRAM, IPPROTO_UDP);
@@ -1006,6 +994,28 @@
return TRUE;
}
+
+/*
+ * link_protocol_post_create_unix:
+ * @fd: the file descriptor.
+ * @sockaddr: a #sockaddr_un structure describing the socket.
+ *
+ * For a user running a program as root, set the owner of the socket to
+ * the original user.
+ */
+static void
+link_protocol_post_create_unix (int fd, struct sockaddr *saddr)
+{
+#ifndef G_OS_WIN32
+ struct sockaddr_un *saddr_un = (struct sockaddr_un *)saddr;
+
+ if (getuid() == 0) {
+ struct stat stat_buf;
+ if (!stat (link_tmpdir, &stat_buf))
+ fchown (fd, stat_buf.st_uid, -1);
+ }
+#endif
+}
#endif /* AF_UNIX */
/*
@@ -1143,7 +1153,8 @@
NULL, /* destroy */
link_protocol_get_sockaddr_ipv4,/* get_sockaddr */
link_protocol_get_sockinfo_ipv4,/* get_sockinfo */
- link_protocol_is_local_ipv46 /* is_local */
+ link_protocol_is_local_ipv46, /* is_local */
+ NULL /* post_create */
},
#endif
#if defined(AF_INET6)
@@ -1157,7 +1168,8 @@
NULL, /* destroy */
link_protocol_get_sockaddr_ipv6,/* get_sockaddr */
link_protocol_get_sockinfo_ipv6,/* get_sockinfo */
- link_protocol_is_local_ipv46 /* is_local */
+ link_protocol_is_local_ipv46, /* is_local */
+ NULL /* post_create */
},
#endif
#ifdef AF_UNIX
@@ -1171,7 +1183,8 @@
link_protocol_unix_destroy, /* destroy */
link_protocol_get_sockaddr_unix, /* get_sockaddr */
link_protocol_get_sockinfo_unix, /* get_sockinfo */
- link_protocol_unix_is_local /* is_local */
+ link_protocol_unix_is_local, /* is_local */
+ link_protocol_post_create_unix /* post_create */
},
#endif
{ NULL /* name */ }
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/ORBit2-2.14.13/linc2/src/linc-server.c new/ORBit2-2.14.14/linc2/src/linc-server.c
--- old/ORBit2-2.14.13/linc2/src/linc-server.c 2007-10-31 11:08:29.000000000 +0100
+++ new/ORBit2-2.14.14/linc2/src/linc-server.c 2008-08-13 10:05:22.000000000 +0200
@@ -385,6 +385,9 @@
if ((proto->flags & LINK_PROTOCOL_NEEDS_BIND) || local_serv_info)
n = bind (fd, saddr, saddr_len);
+ if (proto->post_create)
+ (*proto->post_create) (fd, saddr);
+
#ifdef HAVE_WINSOCK2_H
if (n == SOCKET_ERROR) {
n = -1;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/ORBit2-2.14.13/NEWS new/ORBit2-2.14.14/NEWS
--- old/ORBit2-2.14.13/NEWS 2008-06-02 13:47:58.000000000 +0200
+++ new/ORBit2-2.14.14/NEWS 2008-08-19 11:54:45.000000000 +0200
@@ -1,3 +1,16 @@
+ORBit2-2.14.14
+
+ - portability
+ + Fix build on win32 (Tor)
+ + Mac OS/X fixes (Jules Colding)
+
+ - bug fixes
+ + use ORBIT_SOCKETDIR to propagate the socket dir to children
+ wherever possible: has two benefits: speeds up ORBit2 launch,
+ and allows root owned apps to talk to the user's AT. (Mike Gorse)
+ + other linc2 fixes (Michael, Mike)
+ + Cleanups (JP, Jules Colding, dmacks at netspace org)
+
ORBit2-2.14.13
- porting
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/ORBit2-2.14.13/ORBit.spec new/ORBit2-2.14.14/ORBit.spec
--- old/ORBit2-2.14.13/ORBit.spec 2008-06-02 23:33:50.000000000 +0200
+++ new/ORBit2-2.14.14/ORBit.spec 2008-08-19 12:00:27.000000000 +0200
@@ -2,7 +2,7 @@
%define __spec_install_post /usr/lib/rpm/brp-compress
Summary: A high-performance CORBA Object Request Broker.
Name: ORBit2
-Version: 2.14.13
+Version: 2.14.14
Release: 1
Source: %{name}-%{version}.tar.gz
Group: System Environment/Daemons
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/ORBit2-2.14.13/src/idl-compiler/orbit-idl-backend.c new/ORBit2-2.14.14/src/idl-compiler/orbit-idl-backend.c
--- old/ORBit2-2.14.13/src/idl-compiler/orbit-idl-backend.c 2007-09-10 14:11:48.000000000 +0200
+++ new/ORBit2-2.14.14/src/idl-compiler/orbit-idl-backend.c 2008-06-29 20:00:55.000000000 +0200
@@ -22,7 +22,7 @@
* Mark McLoughlin
*/
-#include
+#include "config.h"
#include "orbit-idl-backend.h"
#include "orbit-idl2.h"
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/ORBit2-2.14.13/src/orb/GIOP/giop.c new/ORBit2-2.14.14/src/orb/GIOP/giop.c
--- old/ORBit2-2.14.13/src/orb/GIOP/giop.c 2008-05-10 14:18:31.000000000 +0200
+++ new/ORBit2-2.14.14/src/orb/GIOP/giop.c 2008-08-13 10:05:21.000000000 +0200
@@ -48,7 +48,7 @@
}
#ifndef G_PLATFORM_WIN32
- if (statbuf.st_uid != getuid ()) {
+ if (getuid() != 0 && statbuf.st_uid != getuid ()) {
S_PRINT (("Owner of %s is not the current user\n", dirname));
return FALSE;
}
@@ -126,12 +126,21 @@
char *dirname;
char *safe_dir = NULL;
long iteration = 0;
+ const gchar *env_dir;
static gboolean inited = FALSE;
if (inited)
return;
inited = TRUE;
+#ifndef G_OS_WIN32
+ env_dir = g_getenv("ORBIT_SOCKETDIR");
+ if (env_dir && test_safe_socket_dir (env_dir)) {
+ link_set_tmpdir (env_dir);
+ return;
+ }
+#endif
+
tmp_root = g_get_tmp_dir ();
dirname = g_strdup_printf ("orbit-%s",
g_get_user_name ());
@@ -205,6 +214,9 @@
g_error ("Cannot find a safe socket path in '%s'", tmp_root);
}
+#ifndef G_OS_WIN32
+ g_setenv ("ORBIT_SOCKETDIR", safe_dir, TRUE);
+#endif
g_free (safe_dir);
g_free (dirname);
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/ORBit2-2.14.13/src/orb/orb-core/orbhttp.c new/ORBit2-2.14.14/src/orb/orb-core/orbhttp.c
--- old/ORBit2-2.14.13/src/orb/orb-core/orbhttp.c 2008-05-20 08:57:36.000000000 +0200
+++ new/ORBit2-2.14.14/src/orb/orb-core/orbhttp.c 2008-06-04 12:44:24.000000000 +0200
@@ -57,10 +57,6 @@
# include
#endif
-#if !defined(strncasecmp)
-# define strncasecmp _strnicmp
-#endif
-
#define CHECK_URI(str) \
(!strncmp(str, "IOR:", strlen("IOR:")) \
|| !strncmp(str, "iiop://", strlen("iiop://")) \
@@ -515,13 +511,13 @@
}
if ((*cur != 0) && (*cur != ' ') && (*cur != '\t')) return;
ctxt->returnValue = ret;
- } else if (!strncasecmp(line, "content-type:", 13)
- || !strncasecmp(line, "contenttype:", 12)) {
+ } else if (!g_ascii_strncasecmp(line, "content-type:", 13)
+ || !g_ascii_strncasecmp(line, "contenttype:", 12)) {
cur = strchr(cur, ':') + 1;
if (ctxt->contentType != NULL) return;
while ((*cur == ' ') || (*cur == '\t')) cur++;
ctxt->contentType = g_strdup(cur);
- } else if (!strncasecmp(line, "Location:", 9)) {
+ } else if (!g_ascii_strncasecmp(line, "Location:", 9)) {
cur += 9;
while ((*cur == ' ') || (*cur == '\t')) cur++;
if (ctxt->location != NULL)
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/ORBit2-2.14.13/src/services/imodule/Makefile.am new/ORBit2-2.14.14/src/services/imodule/Makefile.am
--- old/ORBit2-2.14.13/src/services/imodule/Makefile.am 2007-09-10 14:11:50.000000000 +0200
+++ new/ORBit2-2.14.14/src/services/imodule/Makefile.am 2008-06-23 21:35:37.000000000 +0200
@@ -7,8 +7,8 @@
-I$(top_builddir)/include \
-DORBIT2_INTERNAL_API \
$(WARN_CFLAGS) \
- $(ORBIT_CFLAGS) \
$(LOCAL_LINC_CFLAGS) \
+ $(ORBIT_CFLAGS) \
$(ORBIT_IDL_CFLAGS) \
$(NULL)
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/ORBit2-2.14.13/src/services/imodule/Makefile.in new/ORBit2-2.14.14/src/services/imodule/Makefile.in
--- old/ORBit2-2.14.13/src/services/imodule/Makefile.in 2008-06-02 23:33:23.000000000 +0200
+++ new/ORBit2-2.14.14/src/services/imodule/Makefile.in 2008-08-19 12:00:07.000000000 +0200
@@ -242,8 +242,8 @@
-I$(top_builddir)/include \
-DORBIT2_INTERNAL_API \
$(WARN_CFLAGS) \
- $(ORBIT_CFLAGS) \
$(LOCAL_LINC_CFLAGS) \
+ $(ORBIT_CFLAGS) \
$(ORBIT_IDL_CFLAGS) \
$(NULL)
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/ORBit2-2.14.13/test/everything/Makefile.am new/ORBit2-2.14.14/test/everything/Makefile.am
--- old/ORBit2-2.14.13/test/everything/Makefile.am 2007-11-21 21:06:15.000000000 +0100
+++ new/ORBit2-2.14.14/test/everything/Makefile.am 2008-06-23 21:36:29.000000000 +0200
@@ -21,8 +21,8 @@
-DORBIT2_INTERNAL_API \
-DTEST_SRCDIR=\""$(top_srcdir)"/test/everything\" \
$(WARN_CFLAGS) \
- $(ORBIT_CFLAGS) \
$(LOCAL_LINC_CFLAGS) \
+ $(ORBIT_CFLAGS) \
$(ORBIT_IDL_CFLAGS)
# -DORBIT_STUB_DEBUG_LOCAL
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/ORBit2-2.14.13/test/everything/Makefile.in new/ORBit2-2.14.14/test/everything/Makefile.in
--- old/ORBit2-2.14.13/test/everything/Makefile.in 2008-06-02 23:33:24.000000000 +0200
+++ new/ORBit2-2.14.14/test/everything/Makefile.in 2008-08-19 12:00:08.000000000 +0200
@@ -268,8 +268,8 @@
-DORBIT2_INTERNAL_API \
-DTEST_SRCDIR=\""$(top_srcdir)"/test/everything\" \
$(WARN_CFLAGS) \
- $(ORBIT_CFLAGS) \
$(LOCAL_LINC_CFLAGS) \
+ $(ORBIT_CFLAGS) \
$(ORBIT_IDL_CFLAGS)
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/ORBit2-2.14.13/test/ior-decode.c new/ORBit2-2.14.14/test/ior-decode.c
--- old/ORBit2-2.14.13/test/ior-decode.c 2007-09-10 14:11:46.000000000 +0200
+++ new/ORBit2-2.14.14/test/ior-decode.c 2008-08-06 20:58:00.000000000 +0200
@@ -114,7 +114,7 @@
}
type_id = g_quark_to_string (obj->type_qid);
- printf ("Object ID: %s\n", type_id ? type_id : "<error no type id>");
+ printf ("Interface Repository ID: %s\n", type_id ? type_id : "<error no type id>");
for (l = obj->profile_list; l; l = l->next) {
IOP_Profile_info *pi = l->data;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/ORBit2-2.14.13/test/typelib-dump.c new/ORBit2-2.14.14/test/typelib-dump.c
--- old/ORBit2-2.14.13/test/typelib-dump.c 2007-09-10 14:11:46.000000000 +0200
+++ new/ORBit2-2.14.14/test/typelib-dump.c 2008-07-20 22:50:31.000000000 +0200
@@ -9,19 +9,13 @@
#include "../src/orb/orb-core/orb-core-private.h"
static void
-dump_tc (CORBA_TypeCode tc, int ident)
+dump_tc (CORBA_TypeCode tc)
{
- char *id_str;
CORBA_TypeCode kind = TC_CORBA_TCKind;
- id_str = g_new (char, ident + 1);
- memset (id_str, ' ', ident);
- id_str [ident] = '\0';
-
- printf ("%sType %12s: '%s'\n",
- id_str, kind->subnames [tc->kind],
+ printf ("Type %12s: '%s'\n",
+ kind->subnames [tc->kind],
tc->repo_id);
- g_free (id_str);
}
static void
@@ -121,7 +115,7 @@
else {
printf ("%u types:\n", tcs->_length);
for (i = 0; i < tcs->_length; i++)
- dump_tc (tcs->_buffer [i], 0);
+ dump_tc (tcs->_buffer [i]);
}
ifaces = ORBit_small_get_iinterfaces (name);
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org