View | Details | Raw Unified | Return to bug 179233 | Differences between
and this patch

Collapse All | Expand All

(-)./Makefile (-5 / +6 lines)
Lines 2-15 Link Here
2
# $FreeBSD: devel/ice/Makefile 316654 2013-04-27 08:50:46Z mva $
2
# $FreeBSD: devel/ice/Makefile 316654 2013-04-27 08:50:46Z mva $
3
3
4
PORTNAME=		Ice
4
PORTNAME=		Ice
5
PORTVERSION=		3.4.2
5
PORTVERSION=		3.5.0
6
PORTREVISION=		3
7
CATEGORIES=		devel
6
CATEGORIES=		devel
8
MASTER_SITES=		http://download.zeroc.com/Ice/3.4/
7
MASTER_SITES=		http://download.zeroc.com/Ice/3.5/
9
8
10
MAINTAINER=		freebsd@grem.de
9
MAINTAINER=		freebsd@grem.de
11
COMMENT=		Modern alternative to object middleware such as CORBA/COM/DCOM/COM+
10
COMMENT=		Modern alternative to object middleware such as CORBA/COM/DCOM/COM+
12
11
12
LICENSE=		GPLv2
13
13
LIB_DEPENDS=		expat:${PORTSDIR}/textproc/expat2 \
14
LIB_DEPENDS=		expat:${PORTSDIR}/textproc/expat2 \
14
			mcpp:${PORTSDIR}/devel/mcpp
15
			mcpp:${PORTSDIR}/devel/mcpp
15
16
Lines 26-33 Link Here
26
27
27
USE_GMAKE=		yes
28
USE_GMAKE=		yes
28
USES=			iconv
29
USES=			iconv
29
USE_BDB=		42+
30
USE_BDB=		5
30
INVALID_BDB_VER=	2 3 40 41
31
INVALID_BDB_VER=	2 3 40 41 42 43 44 46 47 48
31
USE_LDCONFIG=		yes
32
USE_LDCONFIG=		yes
32
BUILD_WRKSRC=		${WRKSRC}/cpp
33
BUILD_WRKSRC=		${WRKSRC}/cpp
33
INSTALL_WRKSRC=		${WRKSRC}/cpp
34
INSTALL_WRKSRC=		${WRKSRC}/cpp
(-)./distinfo (-2 / +2 lines)
Lines 1-2 Link Here
1
SHA256 (Ice-3.4.2.tar.gz) = dcf0484495b6df0849ec90a00e8204fe5fe1c0d3882bb438bf2c1d062f15c979
1
SHA256 (Ice-3.5.0.tar.gz) = 583d4a819d50ad8b79b1e9ad45abfa3078f981486271ca8cd9ede8fa420ff575
2
SIZE (Ice-3.4.2.tar.gz) = 5485106
2
SIZE (Ice-3.5.0.tar.gz) = 5388847
(-)./files/patch-Make.rules (-12 lines)
Lines 1-12 Link Here
1
--- cpp/config/Make.rules.orig	Fri Mar  9 00:16:54 2007
2
+++ cpp/config/Make.rules	Fri Apr 13 20:05:04 2007
3
@@ -188,7 +188,9 @@
4
       DB_FLAGS          = -I/usr/include/db45
5
       DB_LIBS           = -L/usr/$(libsubdir)/db45 -ldb_cxx
6
    else
7
-      DB_LIBS           = -ldb_cxx
8
+      DB_FLAGS          = -I%%BDB_INCLUDE_DIR%%
9
+      DB_LIBS           = -L%%BDB_LIB_DIR%% -l%%BDB_LIB_CXX_NAME%%
10
+      DB_RPATH_LINK     = $(call rpathlink,%%BDB_LIB_DIR%%)
11
    endif
12
 endif
(-)./files/patch-Makefile (-26 lines)
Lines 1-26 Link Here
1
--- cpp.orig/Makefile	2012-03-04 21:38:42.000000000 +0100
2
+++ cpp/Makefile	2012-03-04 21:38:42.000000000 +0100
3
@@ -11,7 +11,22 @@
4
 
5
 include $(top_srcdir)/config/Make.rules
6
 
7
-SUBDIRS		= config src include test demo
8
+SUBDIRS		= config src include
9
+
10
+ifeq ($(NOTESTS),)
11
+SUBDIRS		+= test
12
+endif
13
+
14
+ifeq ($(NODEMOS),)
15
+SUBDIRS		+= demo
16
+endif
17
+
18
+ifeq ($(NOPORTDOCS),)
19
+SUBDIRS		+= doc
20
+endif
21
+ 
22
+ INSTALL_SUBDIRS	= $(install_bindir) $(install_libdir) $(install_includedir) $(install_configdir)
23
+ 
24
 
25
 INSTALL_SUBDIRS	= $(install_bindir) $(install_libdir) $(install_includedir) $(install_configdir)
26
 
(-)./files/patch-config-Make.common.rules (+18 lines)
Line 0 Link Here
1
--- config.orig/Make.common.rules	2013-05-20 22:21:58.666286011 +0000
2
+++ config/Make.common.rules	2013-05-20 22:20:50.897196090 +0000
3
@@ -378,11 +378,15 @@
4
 	then \
5
 	    echo "Creating $(install_slicedir)..." ; \
6
 	    $(call mkdir, $(install_slicedir)) ; \
7
+	fi
8
+
9
+	@if test -d $(install_slicedir) ; \
10
+	then \
11
 	    cd $(top_srcdir)/../slice ; \
12
 	    for subdir in * ; \
13
 	    do \
14
 	        echo "Copying slice/$$subdir to $(install_slicedir)..." ; \
15
 	        cp -fpr $$subdir $(install_slicedir) ; \
16
 	    done ; \
17
-	    fi
18
+	fi
(-)./files/patch-cpp-Makefile (+26 lines)
Line 0 Link Here
1
--- cpp.orig/Makefile	2013-03-11 15:19:46.000000000 +0000
2
+++ cpp/Makefile	2013-05-19 22:06:57.713280491 +0000
3
@@ -11,11 +11,22 @@
4
 
5
 include $(top_srcdir)/config/Make.rules
6
 
7
-SUBDIRS		= config src include test
8
+SUBDIRS		= config src include
9
+
10
+ifeq ($(NOTESTS),)
11
+SUBDIRS		:= $(SUBDIRS) test
12
+endif
13
 
14
 ifeq ($(shell uname | grep MINGW),)
15
+ifeq ($(NODEMOS),)
16
 SUBDIRS		:= $(SUBDIRS) demo
17
 endif
18
+endif
19
+
20
+ifeq ($(NOPORTDOCS),)
21
+SUBDIRS		:= $(SUBDIRS) doc
22
+endif
23
+
24
 
25
 INSTALL_SUBDIRS	= $(install_bindir) $(install_libdir) $(install_includedir) $(install_configdir)
26
 
(-)./files/patch-cpp-allTests.py (-12 / +4 lines)
Lines 1-13 Link Here
1
--- cpp.orig/allTests.py	2011-06-15 21:43:58.000000000 +0200
1
--- cpp.orig/allTests.py	2013-03-11 15:19:58.000000000 +0000
2
+++ cpp/allTests.py	2012-03-04 20:14:52.000000000 +0100
2
+++ cpp/allTests.py	2013-05-19 22:25:00.000000000 +0000
3
@@ -25,6 +25,7 @@
4
 # List of all basic tests.
5
 #
6
 tests = [ 
7
+
8
     ("IceUtil/condvar", ["once", "win32only"]),
9
     ("IceUtil/thread",  ["once"]),
10
     ("IceUtil/unicode", ["once"]),
11
@@ -62,7 +63,7 @@
3
@@ -62,7 +63,7 @@
12
     ("Ice/servantLocator", ["core"]),
4
     ("Ice/servantLocator", ["core"]),
13
     ("Ice/interceptor", ["core"]),
5
     ("Ice/interceptor", ["core"]),
Lines 22-30 Link Here
22
 if TestUtil.isWin32() or os.getuid() == 0:
14
 if TestUtil.isWin32() or os.getuid() == 0:
23
     tests += [
15
     tests += [
24
-        ("IceUtil/priority", ["core", "nodarwin"]),
16
-        ("IceUtil/priority", ["core", "nodarwin"]),
25
-        ("Ice/threadPoolPriority", ["core", "nodarwin"])
17
-        ("Ice/threadPoolPriority", ["core", "nodarwin", "nomx"])
26
+        ("IceUtil/priority", ["core", "nodarwin", "nofreebsd"]),
18
+        ("IceUtil/priority", ["core", "nodarwin", "nofreebsd"]),
27
+        ("Ice/threadPoolPriority", ["core", "nodarwin", "nofreebsd"])
19
+        ("Ice/threadPoolPriority", ["core", "nodarwin", "nofreebsd", "nomx"])
28
         ]
20
         ]
29
 
21
 
30
 if __name__ == "__main__":
22
 if __name__ == "__main__":
(-)./files/patch-cpp-config-Make.rules (+13 lines)
Line 0 Link Here
1
--- cpp.orig/config/Make.rules	Fri Mar 11 16:19:00 2013
2
+++ cpp/config/Make.rules	Fri May 19 22:00:09 2013
3
@@ -233,7 +233,9 @@
4
           DB_FLAGS          = -I/usr/local/include/db53
5
           DB_LIBS           = -L/usr/local/$(libsubdir)/db53 -ldb_cxx
6
       else
7
-        DB_LIBS      = -ldb_cxx
8
+        DB_FLAGS          = -I%%BDB_INCLUDE_DIR%%
9
+        DB_LIBS           = -L%%BDB_LIB_DIR%% -l%%BDB_LIB_CXX_NAME%%
10
+        DB_RPATH_LINK     = $(call rpathlink,%%BDB_LIB_DIR%%)
11
       endif
12
    endif
13
 endif
(-)./files/patch-cpp-demo-Freeze-customEvictor-Evictor.h (-10 lines)
Lines 1-10 Link Here
1
--- cpp.orig/demo/Freeze/customEvictor/Evictor.h	2011-06-15 21:43:58.000000000 +0200
2
+++ cpp/demo/Freeze/customEvictor/Evictor.h	2012-09-10 11:43:58.000000000 +0200
3
@@ -66,6 +66,7 @@ class Evictor : public Ice::ServantLocator
4
 public:
5
     
6
     Evictor(CurrentDatabase&, int);
7
+    virtual ~Evictor() ICE_NOEXCEPT_TRUE {};
8
     
9
     virtual Ice::ObjectPtr locate(const Ice::Current&, Ice::LocalObjectPtr&);
10
     virtual void finished(const Ice::Current&, const Ice::ObjectPtr&, const Ice::LocalObjectPtr&);
(-)./files/patch-cpp-demo-IceGrid-secure-README (-15 lines)
Lines 1-15 Link Here
1
--- cpp.orig/demo/IceGrid/secure/README	2011-06-15 21:44:00.000000000 +0200
2
+++ cpp/demo/IceGrid/secure/README	2012-03-04 19:55:44.000000000 +0100
3
@@ -31,9 +31,10 @@
4
 the filesystem permissions to restrict access to the certificate.
5
 
6
 Once the certificates are generated, you can start the IceGrid
7
-registry, node, and Glacier2 router:
8
+registries, node, and Glacier2 router:
9
 
10
-$ icegridregistry --Ice.Config=config.registry
11
+$ icegridregistry --Ice.Config=config.master
12
+$ icegridregistry --Ice.Config=config.slave
13
 $ icegridnode --Ice.Config=config.node
14
 $ glacier2router --Ice.Config=config.glacier2
15
 
(-)./files/patch-cpp-demo-IceGrid-secure-application.xml (-13 lines)
Lines 1-13 Link Here
1
--- cpp.orig/demo/IceGrid/secure/application.xml	2011-06-15 21:43:58.000000000 +0200
2
+++ cpp/demo/IceGrid/secure/application.xml	2012-03-04 19:55:44.000000000 +0100
3
@@ -20,8 +20,8 @@
4
       <property name="IceSSL.DefaultDir" value="certs"/>
5
 
6
       <property name="Ice.Admin.Endpoints" value="ssl -h 127.0.0.1"/>
7
-      <property name="IceSSL.TrustOnly.Client" value="CN=IceGrid Registry"/>
8
-      <property name="IceSSL.TrustOnly.Server.Ice.Admin" value="CN=IceGrid Node"/>
9
+      <property name="IceSSL.TrustOnly.Client" value="CN=Master;CN=Slave"/>
10
+      <property name="IceSSL.TrustOnly.Server.Ice.Admin" value="CN=Node"/>
11
     </properties>
12
 
13
     <node name="Node">
(-)./files/patch-cpp-demo-IceGrid-secure-config.admin (-11 lines)
Lines 1-11 Link Here
1
--- cpp.orig/demo/IceGrid/secure/config.admin	2011-06-15 21:43:58.000000000 +0200
2
+++ cpp/demo/IceGrid/secure/config.admin	2012-03-04 19:55:44.000000000 +0100
3
@@ -14,7 +14,7 @@
4
 # SSL Configuration
5
 #
6
 IceSSL.DefaultDir=certs
7
-IceSSL.TrustOnly.Client=CN="IceGrid Registry";CN="Glacier2"
8
+IceSSL.TrustOnly.Client=CN="Master";CN="Slave";CN="Glacier2"
9
 
10
 # C++ configuration
11
 Ice.Plugin.IceSSL.cpp=IceSSL:createIceSSL
(-)./files/patch-cpp-demo-IceGrid-secure-config.client (-11 lines)
Lines 1-11 Link Here
1
--- cpp.orig/demo/IceGrid/secure/config.client	2011-06-15 21:43:58.000000000 +0200
2
+++ cpp/demo/IceGrid/secure/config.client	2012-03-04 19:55:44.000000000 +0100
3
@@ -1,7 +1,7 @@
4
 #
5
 # The IceGrid locator proxy.
6
 #
7
-Ice.Default.Locator=DemoIceGrid/Locator:tcp -p 4061
8
+Ice.Default.Locator=DemoIceGrid/Locator:tcp -p 4061:tcp -p 14061
9
 
10
 #
11
 # Trace properties.
(-)./files/patch-cpp-demo-IceGrid-secure-config.master (-64 lines)
Lines 1-64 Link Here
1
--- cpp.orig/demo/IceGrid/secure/config.master	2012-03-04 19:55:44.000000000 +0100
2
+++ cpp/demo/IceGrid/secure/config.master	2012-03-04 19:55:44.000000000 +0100
3
@@ -0,0 +1,61 @@
4
+#
5
+# The IceGrid instance name.
6
+#
7
+IceGrid.InstanceName=DemoIceGrid
8
+
9
+#
10
+# IceGrid registry configuration.
11
+#
12
+IceGrid.Registry.Client.Endpoints=tcp -p 4061 -t 10000:ssl -p 4062 -t 10000
13
+IceGrid.Registry.Server.Endpoints=ssl -t 10000
14
+IceGrid.Registry.Internal.Endpoints=ssl -t 10000
15
+IceGrid.Registry.Data=db/master
16
+
17
+#
18
+# Ensure that nodes and slaves connecting to this registry have a name
19
+# matching the certificate CN.
20
+#
21
+IceGrid.Registry.RequireNodeCertCN=1
22
+IceGrid.Registry.RequireReplicaCertCN=1
23
+
24
+#
25
+# IceGrid admin clients must use a secure connection to connect to the
26
+# registry or use Glacier2.
27
+#
28
+IceGrid.Registry.AdminSessionManager.Endpoints=ssl -t 10000
29
+IceGrid.Registry.AdminPermissionsVerifier=DemoIceGrid/NullPermissionsVerifier
30
+
31
+#
32
+# IceGrid SQL configuration if using SQL database.
33
+#
34
+#Ice.Plugin.DB=IceGridSqlDB:createSqlDB
35
+#IceGrid.SQL.DatabaseType=QSQLITE
36
+#IceGrid.SQL.DatabaseName=db/master/Registry.db
37
+
38
+#
39
+# Trace properties.
40
+#
41
+Ice.ProgramName=Master
42
+IceGrid.Registry.Trace.Node=2
43
+IceGrid.Registry.Trace.Replica=2
44
+
45
+#
46
+# SSL Configuration
47
+#
48
+Ice.Plugin.IceSSL=IceSSL:createIceSSL
49
+IceSSL.DefaultDir=certs
50
+IceSSL.CertAuthFile=ca_cert.pem
51
+IceSSL.CertFile=master_cert.pem
52
+IceSSL.KeyFile=master_key.pem
53
+
54
+#
55
+# Don't require certificates. This is useful for admin clients that don't
56
+# use certificate but still need to establish a secure connection for the
57
+# username/password authentication
58
+#
59
+IceSSL.VerifyPeer=1
60
+
61
+IceSSL.TrustOnly.Client=CN="Master";CN="Slave";CN="Node";CN="Glacier2"
62
+IceSSL.TrustOnly.Server.IceGrid.Registry.Server=CN="Server"
63
+IceSSL.TrustOnly.Server.IceGrid.Registry.Internal=CN="Node";CN="Master";CN="Slave"
64
+IceSSL.TrustOnly.Server.IceGrid.Registry.AdminSessionManager=CN="Glacier2"
(-)./files/patch-cpp-demo-IceGrid-secure-config.node (-19 lines)
Lines 1-19 Link Here
1
--- cpp.orig/demo/IceGrid/secure/config.node	2011-06-15 21:43:58.000000000 +0200
2
+++ cpp/demo/IceGrid/secure/config.node	2012-03-04 19:55:44.000000000 +0100
3
@@ -1,7 +1,7 @@
4
 #
5
 # The IceGrid locator proxy.
6
 #
7
-Ice.Default.Locator=DemoIceGrid/Locator:ssl -p 4062 -t 10000
8
+Ice.Default.Locator=DemoIceGrid/Locator:ssl -p 4062 -t 10000:ssl -p 14062 -t 10000
9
 
10
 #
11
 # IceGrid node configuration.
12
@@ -26,5 +26,5 @@
13
 IceSSL.CertFile=node_cert.pem
14
 IceSSL.KeyFile=node_key.pem
15
 
16
-IceSSL.TrustOnly.Client=CN="Server";CN="IceGrid Registry"
17
-IceSSL.TrustOnly.Server=CN="IceGrid Registry"
18
+IceSSL.TrustOnly.Client=CN="Server";CN="Master";CN="Slave"
19
+IceSSL.TrustOnly.Server=CN="Master";CN="Slave"
(-)./files/patch-cpp-demo-IceGrid-secure-config.registry (-57 lines)
Lines 1-57 Link Here
1
--- cpp.orig/demo/IceGrid/secure/config.registry	2011-06-15 21:43:58.000000000 +0200
2
+++ cpp/demo/IceGrid/secure/config.registry	2012-03-04 19:55:44.000000000 +0100
3
@@ -1,54 +0,0 @@
4
-#
5
-# The IceGrid instance name.
6
-#
7
-IceGrid.InstanceName=DemoIceGrid
8
-
9
-#
10
-# IceGrid registry configuration.
11
-#
12
-IceGrid.Registry.Client.Endpoints=tcp -p 4061 -t 10000:ssl -p 4062 -t 10000
13
-IceGrid.Registry.Server.Endpoints=ssl -t 10000
14
-IceGrid.Registry.Internal.Endpoints=ssl -t 10000
15
-IceGrid.Registry.Data=db/registry
16
-
17
-#
18
-# IceGrid admin clients must use a secure connection to connect to the
19
-# registry or use Glacier2.
20
-#
21
-IceGrid.Registry.AdminSessionManager.Endpoints=ssl -t 10000
22
-IceGrid.Registry.AdminPermissionsVerifier=DemoIceGrid/NullPermissionsVerifier
23
-
24
-#
25
-# IceGrid SQL configuration if using SQL database.
26
-#
27
-#Ice.Plugin.DB=IceGridSqlDB:createSqlDB
28
-#IceGrid.SQL.DatabaseType=QSQLITE
29
-#IceGrid.SQL.DatabaseName=db/registry/Registry.db
30
-
31
-#
32
-# Trace properties.
33
-#
34
-Ice.ProgramName=Registry
35
-IceGrid.Registry.Trace.Node=2
36
-IceGrid.Registry.Trace.Replica=2
37
-
38
-#
39
-# SSL Configuration
40
-#
41
-Ice.Plugin.IceSSL=IceSSL:createIceSSL
42
-IceSSL.DefaultDir=certs
43
-IceSSL.CertAuthFile=ca_cert.pem
44
-IceSSL.CertFile=registry_cert.pem
45
-IceSSL.KeyFile=registry_key.pem
46
-
47
-#
48
-# Don't require certificates. This is useful for admin clients that don't
49
-# use certificate but still need to establish a secure connection for the
50
-# username/password authentication
51
-#
52
-IceSSL.VerifyPeer=1
53
-
54
-IceSSL.TrustOnly.Client=CN="IceGrid Registry";CN="IceGrid Node";CN="Glacier2"
55
-IceSSL.TrustOnly.Server.IceGrid.Registry.Server=CN="Server"
56
-IceSSL.TrustOnly.Server.IceGrid.Registry.Internal=CN="IceGrid Node";CN="IceGrid Registry"
57
-IceSSL.TrustOnly.Server.IceGrid.Registry.AdminSessionManager=CN="Glacier2"
(-)./files/patch-cpp-demo-IceGrid-secure-config.slave (-69 lines)
Lines 1-69 Link Here
1
--- cpp.orig/demo/IceGrid/secure/config.slave	2012-03-04 19:55:44.000000000 +0100
2
+++ cpp/demo/IceGrid/secure/config.slave	2012-03-04 19:55:44.000000000 +0100
3
@@ -0,0 +1,66 @@
4
+#
5
+# The IceGrid locator proxy.
6
+#
7
+Ice.Default.Locator=DemoIceGrid/Locator:ssl -p 4062 -t 10000
8
+
9
+#
10
+# The IceGrid instance name.
11
+#
12
+IceGrid.InstanceName=DemoIceGrid
13
+
14
+#
15
+# IceGrid registry configuration.
16
+#
17
+IceGrid.Registry.Client.Endpoints=tcp -p 14061 -t 10000:ssl -p 14062 -t 10000
18
+IceGrid.Registry.Server.Endpoints=ssl -t 10000
19
+IceGrid.Registry.Internal.Endpoints=ssl -t 10000
20
+IceGrid.Registry.Data=db/slave
21
+IceGrid.Registry.ReplicaName=Slave
22
+
23
+#
24
+# Ensure that nodes connecting to this registry have a name matching
25
+# the certificate CN.
26
+#
27
+IceGrid.Registry.RequireNodeCertCN=1
28
+
29
+#
30
+# IceGrid admin clients must use a secure connection to connect to the
31
+# registry or use Glacier2.
32
+#
33
+IceGrid.Registry.AdminSessionManager.Endpoints=ssl -t 10000
34
+IceGrid.Registry.AdminPermissionsVerifier=DemoIceGrid/NullPermissionsVerifier
35
+
36
+#
37
+# IceGrid SQL configuration if using SQL database.
38
+#
39
+#Ice.Plugin.DB=IceGridSqlDB:createSqlDB
40
+#IceGrid.SQL.DatabaseType=QSQLITE
41
+#IceGrid.SQL.DatabaseName=db/slave/Registry.db
42
+
43
+#
44
+# Trace properties.
45
+#
46
+Ice.ProgramName=Slave
47
+IceGrid.Registry.Trace.Node=2
48
+IceGrid.Registry.Trace.Replica=2
49
+
50
+#
51
+# SSL Configuration
52
+#
53
+Ice.Plugin.IceSSL=IceSSL:createIceSSL
54
+IceSSL.DefaultDir=certs
55
+IceSSL.CertAuthFile=ca_cert.pem
56
+IceSSL.CertFile=slave_cert.pem
57
+IceSSL.KeyFile=slave_key.pem
58
+
59
+#
60
+# Don't require certificates. This is useful for admin clients that don't
61
+# use certificate but still need to establish a secure connection for the
62
+# username/password authentication
63
+#
64
+IceSSL.VerifyPeer=1
65
+
66
+IceSSL.TrustOnly.Client=CN="Master";CN="Slave";CN="Node";CN="Glacier2"
67
+IceSSL.TrustOnly.Server.IceGrid.Registry.Server=CN="Server"
68
+IceSSL.TrustOnly.Server.IceGrid.Registry.Internal=CN="Node";CN="Master";CN="Slave"
69
+IceSSL.TrustOnly.Server.IceGrid.Registry.AdminSessionManager=CN="Glacier2"
(-)./files/patch-cpp-demo-IceGrid-secure-makecerts.py (-14 lines)
Lines 1-14 Link Here
1
--- cpp.orig/demo/IceGrid/secure/makecerts.py	2011-06-15 21:43:58.000000000 +0200
2
+++ cpp/demo/IceGrid/secure/makecerts.py	2012-03-04 19:55:44.000000000 +0100
3
@@ -44,8 +44,9 @@
4
 print
5
 print
6
 
7
-createCertificate("registry", "IceGrid Registry")
8
-createCertificate("node", "IceGrid Node")
9
+createCertificate("master", "Master")
10
+createCertificate("slave", "Slave")
11
+createCertificate("node", "Node")
12
 createCertificate("glacier2", "Glacier2")
13
 createCertificate("server", "Server")
14
 
(-)./files/patch-cpp-include-Freeze-Map.h (-11 lines)
Lines 1-11 Link Here
1
--- cpp.orig/include/Freeze/Map.h	2011-06-15 21:43:58.000000000 +0200
2
+++ cpp/include/Freeze/Map.h	2012-03-04 20:14:52.000000000 +0100
3
@@ -426,7 +426,7 @@
4
 
5
     ConstIterator(MapHelper& mapHelper, const Ice::CommunicatorPtr& communicator) :
6
         _helper(IteratorHelper::create(mapHelper, true)), 
7
-        _communicator(_communicator),
8
+        _communicator(communicator),
9
         _refValid(false)
10
     {
11
     }
(-)./files/patch-cpp-include-Ice-Buffer.h (-10 lines)
Lines 1-10 Link Here
1
--- cpp.orig/include/Ice/Buffer.h	2011-06-15 21:43:58.000000000 +0200
2
+++ cpp/include/Ice/Buffer.h	2012-03-04 20:14:52.000000000 +0100
3
@@ -10,6 +10,7 @@
4
 #ifndef ICEE_BUFFER_H
5
 #define ICEE_BUFFER_H
6
 
7
+#include <cstddef>
8
 #include <Ice/Config.h>
9
 
10
 namespace IceInternal
(-)./files/patch-cpp-include-Ice-ConnectionIF.h (-17 lines)
Lines 1-17 Link Here
1
--- cpp.orig/include/Ice/ConnectionIF.h	2011-06-15 21:43:58.000000000 +0200
2
+++ cpp/include/Ice/ConnectionIF.h	2012-03-04 20:14:52.000000000 +0100
3
@@ -17,13 +17,13 @@
4
 {
5
 
6
 class ConnectionI;
7
+ICE_API Ice::LocalObject* upCast(Ice::ConnectionI*);
8
 
9
 }
10
 
11
 namespace IceInternal
12
 {
13
 
14
-ICE_API Ice::LocalObject* upCast(Ice::ConnectionI*);
15
 
16
 enum AsyncStatus
17
 {
(-)./files/patch-cpp-include-Ice-IconvStringConverter.h (-21 lines)
Lines 1-21 Link Here
1
--- cpp.orig/include/Ice/IconvStringConverter.h	2011-06-15 21:43:58.000000000 +0200
2
+++ cpp/include/Ice/IconvStringConverter.h	2012-03-04 20:14:52.000000000 +0100
3
@@ -225,10 +225,16 @@
4
 template<typename charT> /*static*/ void
5
 IconvStringConverter<charT>::close(std::pair<iconv_t, iconv_t> cdp)
6
 {
7
-    int rs = iconv_close(cdp.first);
8
+#ifndef NDEBUG
9
+    int rs = 
10
+#endif
11
+    iconv_close(cdp.first);
12
     assert(rs == 0);
13
 
14
-    rs = iconv_close(cdp.second);
15
+#ifndef NDEBUG
16
+    rs = 
17
+#endif
18
+    iconv_close(cdp.second);
19
     assert(rs == 0);
20
 }
21
  
(-)./files/patch-cpp-include-Ice-IncomingAsyncF.h (-15 lines)
Lines 1-15 Link Here
1
--- cpp.orig/include/Ice/IncomingAsyncF.h	2011-06-15 21:43:58.000000000 +0200
2
+++ cpp/include/Ice/IncomingAsyncF.h	2012-03-04 20:14:52.000000000 +0100
3
@@ -28,12 +28,6 @@
4
 
5
 class AMD_Object_ice_invoke;
6
 class AMD_Array_Object_ice_invoke;
7
-
8
-}
9
-
10
-namespace IceInternal
11
-{
12
-
13
 ICE_API IceUtil::Shared* upCast(::Ice::AMD_Object_ice_invoke*);
14
 ICE_API IceUtil::Shared* upCast(::Ice::AMD_Array_Object_ice_invoke*);
15
 
(-)./files/patch-cpp-include-Ice-LocalObjectF.h (-15 lines)
Lines 1-15 Link Here
1
--- cpp.orig/include/Ice/LocalObjectF.h	2011-06-15 21:43:58.000000000 +0200
2
+++ cpp/include/Ice/LocalObjectF.h	2012-03-04 20:14:52.000000000 +0100
3
@@ -18,12 +18,6 @@
4
 {
5
 
6
 class LocalObject;
7
-
8
-}
9
-
10
-namespace IceInternal
11
-{
12
-
13
 ICE_API IceUtil::Shared* upCast(::Ice::LocalObject*);
14
 
15
 }
(-)./files/patch-cpp-include-Ice-ObjectF.h (-22 lines)
Lines 1-22 Link Here
1
--- cpp.orig/include/Ice/ObjectF.h	2011-06-15 21:43:58.000000000 +0200
2
+++ cpp/include/Ice/ObjectF.h	2012-03-04 20:14:52.000000000 +0100
3
@@ -17,19 +17,8 @@
4
 {
5
 
6
 class Object;
7
-
8
-}
9
-
10
-namespace IceInternal
11
-{
12
-
13
 ICE_API IceUtil::Shared* upCast(::Ice::Object*);
14
 
15
-}
16
-
17
-namespace Ice
18
-{
19
-
20
 typedef IceInternal::Handle< Object > ObjectPtr;
21
 
22
 void ICE_API __patch__ObjectPtr(void*, ObjectPtr&);
(-)./files/patch-cpp-include-Ice-OutgoingAsyncF.h (-17 lines)
Lines 1-17 Link Here
1
--- cpp.orig/include/Ice/OutgoingAsyncF.h	2011-06-15 21:43:58.000000000 +0200
2
+++ cpp/include/Ice/OutgoingAsyncF.h	2012-03-04 20:14:52.000000000 +0100
3
@@ -19,13 +19,13 @@
4
 
5
 class AsyncResult;
6
 typedef IceInternal::Handle<AsyncResult> AsyncResultPtr;
7
+ICE_API IceUtil::Shared* upCast(::Ice::AsyncResult*);
8
 
9
 }
10
 
11
 namespace IceInternal
12
 {
13
 
14
-ICE_API IceUtil::Shared* upCast(::Ice::AsyncResult*);
15
 
16
 class OutgoingAsync;
17
 ICE_API IceUtil::Shared* upCast(OutgoingAsync*);
(-)./files/patch-cpp-include-Ice-Proxy.h (-56 lines)
Lines 1-56 Link Here
1
--- cpp.orig/include/Ice/Proxy.h	2011-06-15 21:43:58.000000000 +0200
2
+++ cpp/include/Ice/Proxy.h	2012-03-04 20:14:52.000000000 +0100
3
@@ -38,6 +38,8 @@
4
 
5
 class Locator;
6
 class Router;
7
+ICE_API ::IceProxy::Ice::Object* upCast(::IceProxy::Ice::Locator*);
8
+ICE_API ::IceProxy::Ice::Object* upCast(::IceProxy::Ice::Router*);
9
 
10
 }
11
 
12
@@ -46,8 +48,6 @@
13
 namespace IceInternal
14
 {
15
 
16
-ICE_API ::IceProxy::Ice::Object* upCast(::IceProxy::Ice::Locator*);
17
-ICE_API ::IceProxy::Ice::Object* upCast(::IceProxy::Ice::Router*);
18
 
19
 class LocalExceptionWrapper;
20
 
21
@@ -1172,7 +1172,7 @@
22
 
23
     TwowayCallbackNC(const TPtr& instance, bool cb, Exception excb, Sent sentcb) : CallbackNC<T>(instance, excb, sentcb)
24
     {
25
-        checkCallback(instance, cb || excb != 0);
26
+        this->checkCallback(instance, cb || excb != 0);
27
     }
28
 };
29
 
30
@@ -1188,7 +1188,7 @@
31
 
32
     TwowayCallback(const TPtr& instance, bool cb, Exception excb, Sent sentcb) : Callback<T, CT>(instance, excb, sentcb)
33
     {
34
-        checkCallback(instance, cb || excb != 0);
35
+        this->checkCallback(instance, cb || excb != 0);
36
     }
37
 };
38
 
39
@@ -1209,7 +1209,7 @@
40
     OnewayCallbackNC(const TPtr& instance, Response cb, Exception excb, Sent sentcb) : 
41
         CallbackNC<T>(instance, excb, sentcb), response(cb)
42
     {
43
-        checkCallback(instance, cb != 0 || excb != 0);
44
+        this->checkCallback(instance, cb != 0 || excb != 0);
45
     }
46
 
47
     virtual void __completed(const ::Ice::AsyncResultPtr& result) const
48
@@ -1254,7 +1254,7 @@
49
     OnewayCallback(const TPtr& instance, Response cb, Exception excb, Sent sentcb) : 
50
         Callback<T, CT>(instance, excb, sentcb),  response(cb)
51
     {
52
-        checkCallback(instance, cb != 0 || excb != 0);
53
+        this->checkCallback(instance, cb != 0 || excb != 0);
54
     }
55
 
56
     virtual void __completed(const ::Ice::AsyncResultPtr& result) const
(-)./files/patch-cpp-include-Ice-ProxyF.h (-76 lines)
Lines 1-76 Link Here
1
--- cpp.orig/include/Ice/ProxyF.h	2011-06-15 21:43:58.000000000 +0200
2
+++ cpp/include/Ice/ProxyF.h	2012-03-04 20:14:52.000000000 +0100
3
@@ -22,6 +22,11 @@
4
 {
5
 
6
 class Object;
7
+inline ::IceProxy::Ice::Object* 
8
+upCast(::IceProxy::Ice::Object* o)
9
+{
10
+    return o;
11
+}
12
 
13
 }
14
 
15
@@ -34,6 +39,11 @@
16
 {
17
 
18
 class Object;
19
+inline ::IceDelegate::Ice::Object*
20
+upCast(::IceDelegate::Ice::Object* o)
21
+{
22
+    return o;
23
+}
24
 
25
 }
26
 
27
@@ -47,6 +57,12 @@
28
 
29
 class Object;
30
 
31
+inline ::IceDelegateM::Ice::Object*
32
+upCast(::IceDelegateM::Ice::Object* o)
33
+{
34
+    return o;
35
+}
36
+
37
 }
38
 
39
 }
40
@@ -58,36 +74,12 @@
41
 {
42
 
43
 class Object;
44
-
45
-}
46
-
47
-}
48
-
49
-namespace IceInternal
50
-{
51
-
52
-inline ::IceProxy::Ice::Object* 
53
-upCast(::IceProxy::Ice::Object* o)
54
-{
55
-    return o;
56
-}
57
-
58
-inline ::IceDelegate::Ice::Object*
59
-upCast(::IceDelegate::Ice::Object* o)
60
-{
61
-    return o;
62
-}
63
-
64
 inline ::IceDelegateD::Ice::Object*
65
 upCast(::IceDelegateD::Ice::Object* o)
66
 {
67
     return o;
68
 }
69
 
70
-inline ::IceDelegateM::Ice::Object*
71
-upCast(::IceDelegateM::Ice::Object* o)
72
-{
73
-    return o;
74
 }
75
 
76
 }
(-)./files/patch-cpp-include-Ice-Stream.h (-90 lines)
Lines 1-90 Link Here
1
--- cpp.orig/include/Ice/Stream.h	2011-06-15 21:43:58.000000000 +0200
2
+++ cpp/include/Ice/Stream.h	2012-03-04 20:14:52.000000000 +0100
3
@@ -17,6 +17,12 @@
4
 #include <Ice/Proxy.h>
5
 #include <IceUtil/Shared.h>
6
 
7
+namespace IceInternal
8
+{
9
+    // Forward declaration required for writer specializations.
10
+    void delegateThrowMarshalException(const char*, int, const ::std::string&);
11
+}
12
+
13
 namespace Ice
14
 {
15
     
16
@@ -45,9 +51,6 @@
17
     StreamTraitTypeUnknown
18
 };
19
 
20
-// Forward declaration required for writer specializations.
21
-class MarshalException;
22
-
23
 //
24
 // Base trait template. This doesn't actually do anything -- we just
25
 // use it as a template that we can specialize.
26
@@ -542,7 +545,7 @@
27
     {
28
         if(static_cast<int>(v) < 0 || static_cast<int>(v) >= StreamTrait<T>::enumLimit)
29
         {
30
-            throw MarshalException(__FILE__, __LINE__, "enumerator out of range");
31
+            IceInternal::delegateThrowMarshalException(__FILE__, __LINE__, "enumerator out of range");
32
         }
33
         outS->write(static_cast<Byte>(v));
34
     }
35
@@ -558,7 +561,7 @@
36
         inS->read(val);
37
         if(val > StreamTrait<T>::enumLimit)
38
         {
39
-            throw MarshalException(__FILE__, __LINE__, "enumerator out of range");
40
+            IceInternal::delegateThrowMarshalException(__FILE__, __LINE__, "enumerator out of range");
41
         }
42
         v = static_cast<T>(val);
43
     }
44
@@ -573,7 +576,7 @@
45
     {
46
         if(static_cast<int>(v) < 0 || static_cast<int>(v) >= StreamTrait<T>::enumLimit)
47
         {
48
-            throw MarshalException(__FILE__, __LINE__, "enumerator out of range");
49
+            IceInternal::delegateThrowMarshalException(__FILE__, __LINE__, "enumerator out of range");
50
         }
51
         outS->write(static_cast<Short>(v));
52
     }
53
@@ -589,7 +592,7 @@
54
         inS->read(val);
55
         if(val < 0 || val > StreamTrait<T>::enumLimit)
56
         {
57
-            throw MarshalException(__FILE__, __LINE__, "enumerator out of range");
58
+            IceInternal::delegateThrowMarshalException(__FILE__, __LINE__, "enumerator out of range");
59
         }
60
         v = static_cast<T>(val);
61
     }
62
@@ -603,7 +606,7 @@
63
     {
64
         if(static_cast<int>(v) < 0 || static_cast<int>(v) >= StreamTrait<T>::enumLimit)
65
         {
66
-            throw MarshalException(__FILE__, __LINE__, "enumerator out of range");
67
+            IceInternal::delegateThrowMarshalException(__FILE__, __LINE__, "enumerator out of range");
68
         }
69
         outS->write(static_cast<Int>(v));
70
     }
71
@@ -619,7 +622,7 @@
72
         inS->read(val);
73
         if(val < 0 || val > StreamTrait<T>::enumLimit)
74
         {
75
-            throw MarshalException(__FILE__, __LINE__, "enumerator out of range");
76
+            IceInternal::delegateThrowMarshalException(__FILE__, __LINE__, "enumerator out of range");
77
         }
78
         v = static_cast<T>(val);
79
     }
80
--- cpp.orig/include/Ice/Stream.h	2011-06-15 21:43:58.000000000 +0200
81
+++ cpp/include/Ice/Stream.h	2012-09-10 11:43:58.000000000 +0200
82
@@ -664,7 +664,7 @@ struct StreamWriter<StreamTraitTypeSequenceBool>
83
         outS->writeSize(static_cast<Int>(v.size()));
84
         for(typename T::const_iterator p = v.begin(); p != v.end(); ++p)
85
         {
86
-            outS->write(*p);
87
+            outS->write(static_cast<bool>(*p));
88
         }
89
     }
90
 };
(-)./files/patch-cpp-include-Ice-StreamF.h (-15 lines)
Lines 1-15 Link Here
1
--- cpp.orig/include/Ice/StreamF.h	2011-06-15 21:43:58.000000000 +0200
2
+++ cpp/include/Ice/StreamF.h	2012-03-04 20:14:52.000000000 +0100
3
@@ -19,12 +19,6 @@
4
 
5
 class InputStream;
6
 class OutputStream;
7
-
8
-}
9
-
10
-namespace IceInternal
11
-{
12
-
13
 ICE_API IceUtil::Shared* upCast(::Ice::InputStream*);
14
 ICE_API IceUtil::Shared* upCast(::Ice::OutputStream*);
15
 
(-)./files/patch-cpp-include-IceUtil-Cache.h (-10 lines)
Lines 1-10 Link Here
1
--- cpp.orig/include/IceUtil/Cache.h	2011-06-15 21:43:58.000000000 +0200
2
+++ cpp/include/IceUtil/Cache.h	2012-09-10 11:43:58.000000000 +0200
3
@@ -77,6 +77,6 @@ protected:
4
     {
5
     }
6
     
7
-    virtual ~Cache()
8
+    virtual ~Cache() ICE_NOEXCEPT_FALSE
9
     {
10
     }
(-)./files/patch-cpp-include-IceUtil-Config.h (-18 / +10 lines)
Lines 1-19 Link Here
1
--- cpp.orig/include/IceUtil/Config.h	2011-06-15 21:43:58.000000000 +0200
1
--- cpp.orig/include/IceUtil/Config.h	2013-03-11 15:19:46.000000000 +0000
2
+++ cpp/include/IceUtil/Config.h	2012-09-10 11:43:58.000000000 +0200
2
+++ cpp/include/IceUtil/Config.h	2013-05-20 02:09:58.239194578 +0000
3
@@ -248,3 +248,16 @@ public:
3
@@ -51,7 +51,7 @@
4
 #define ICE_DEFAULT_MUTEX_PROTOCOL PrioNone
4
 // Check for C++ 11 support
5
 
5
 //
6
 #if (defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5)) && defined(__GXX_EXPERIMENTAL_CXX0X__)) || \
7
-    (defined(__clang__) && (__clang_major__ >= 4) && __cplusplus >= 201103) || \
8
+    (defined(__clang__) && ((defined(__APPLE__) && __clang_major__ >= 4) || (!defined(__APPLE__) && __clang_major__ >= 3)) && __cplusplus >= 201103) || \
9
     (defined(_MSC_VER) && (_MSC_VER >= 1600))
10
 #   define ICE_CPP11
6
 #endif
11
 #endif
7
+
8
+
9
+//
10
+// Macro used for declaring destructors that might throw - required for C++11
11
+//
12
+#if __cplusplus >= 201103L
13
+#define ICE_DESTRUCTORS_DONT_THROW_BY_DEFAULT
14
+#define ICE_NOEXCEPT_FALSE noexcept(false)
15
+#define ICE_NOEXCEPT_TRUE noexcept(true)
16
+#else
17
+#define ICE_NOEXCEPT_FALSE
18
+#define ICE_NOEXCEPT_TRUE
19
+#endif
(-)./files/patch-cpp-include-IceUtil-Mutex.h (-15 lines)
Lines 1-15 Link Here
1
--- cpp.orig/include/IceUtil/Mutex.h	2011-06-15 21:43:58.000000000 +0200
2
+++ cpp/include/IceUtil/Mutex.h	2012-03-04 20:14:52.000000000 +0100
3
@@ -251,8 +251,11 @@
4
 inline
5
 Mutex::~Mutex()
6
 {
7
+#ifndef NDEBUG
8
     int rc = 0;
9
-    rc = pthread_mutex_destroy(&_mutex);
10
+    rc = 
11
+#endif    
12
+    pthread_mutex_destroy(&_mutex);
13
     assert(rc == 0);
14
 }
15
 
(-)./files/patch-cpp-include-IceUtil-Shared.h (-72 lines)
Lines 1-72 Link Here
1
--- cpp.orig/include/IceUtil/Shared.h	2011-06-15 21:43:58.000000000 +0200
2
+++ cpp/include/IceUtil/Shared.h	2012-09-10 11:43:58.000000000 +0200
3
@@ -50,6 +50,11 @@
4
 //
5
 // A non thread-safe base class for reference-counted types.
6
 //
7
+// IceUtil::SimpleSharedUnsafeDestructor
8
+// =====================
9
+//
10
+// A non thread-safe base class for reference-counted types - destructor might throw.
11
+//
12
 // IceUtil::Shared
13
 // ===============
14
 //
15
@@ -109,6 +114,57 @@ private:
16
     bool _noDelete;
17
 };
18
 
19
+class ICE_UTIL_API SimpleSharedUnsafeDestructor
20
+{
21
+public:
22
+
23
+    SimpleSharedUnsafeDestructor();
24
+    SimpleSharedUnsafeDestructor(const SimpleSharedUnsafeDestructor&);
25
+
26
+    virtual ~SimpleSharedUnsafeDestructor() ICE_NOEXCEPT_FALSE
27
+    {
28
+    }
29
+
30
+    SimpleSharedUnsafeDestructor& operator=(const SimpleSharedUnsafeDestructor&)
31
+    {
32
+        return *this;
33
+    }
34
+
35
+    void __incRef()
36
+    {
37
+        assert(_ref >= 0);
38
+        ++_ref;
39
+    }
40
+
41
+    void __decRef()
42
+    {
43
+        assert(_ref > 0);
44
+        if(--_ref == 0)
45
+        {
46
+            if(!_noDelete)
47
+            {
48
+                _noDelete = true;
49
+                delete this;
50
+            }
51
+        }
52
+    }
53
+
54
+    int __getRef() const
55
+    {
56
+        return _ref;
57
+    }
58
+
59
+    void __setNoDelete(bool b)
60
+    {
61
+        _noDelete = b;
62
+    }
63
+
64
+private:
65
+
66
+    int _ref;
67
+    bool _noDelete;
68
+};
69
+
70
 class ICE_UTIL_API Shared
71
 {
72
 public:
(-)./files/patch-cpp-src-Freeze-MapDb.cpp (-29 lines)
Lines 1-29 Link Here
1
--- cpp.orig/src/Freeze/MapDb.cpp	2011-06-15 21:43:58.000000000 +0200
2
+++ cpp/src/Freeze/MapDb.cpp	2012-09-10 11:43:58.000000000 +0200
3
@@ -72,7 +72,13 @@ Freeze::MapDb::~MapDb()
4
         }
5
         catch(const ::DbException& dx)
6
         {
7
+#if defined(ICE_DESTRUCTORS_DONT_THROW_BY_DEFAULT)
8
+            Error out(_communicator->getLogger());
9
+            out << "DbException while closing database " << _dbName << ": "
10
+                << dx.what();
11
+#else
12
             throw DatabaseException(__FILE__, __LINE__, dx.what());
13
+#endif
14
         }
15
     }
16
 }
17
@@ -229,7 +229,11 @@
18
 #ifndef NDEBUG
19
                 bool inserted = 
20
 #endif
21
-                    _indices.insert(IndexMap::value_type(indexBase->name(), indexI.get())).second;
22
+                    _indices.insert(IndexMap::value_type(indexBase->name(), indexI.get()))
23
+#ifndef NDEBUG                    
24
+                    .second
25
+#endif
26
+                ;
27
                 assert(inserted);
28
                 
29
                 indexBase->_impl = indexI.release();
(-)./files/patch-cpp-src-Freeze-MapI.cpp (-41 lines)
Lines 1-41 Link Here
1
--- cpp.orig/src/Freeze/MapI.cpp	2011-06-15 21:43:58.000000000 +0200
2
+++ cpp/src/Freeze/MapI.cpp	2012-03-04 20:14:52.000000000 +0100
3
@@ -749,8 +749,11 @@
4
 
5
     try
6
     {
7
+#ifndef NDEBUG
8
         int err;
9
-        err = _dbc->put(&dbKey, &dbValue, DB_CURRENT);
10
+        err = 
11
+#endif
12
+        _dbc->put(&dbKey, &dbValue, DB_CURRENT);
13
         assert(err == 0);
14
     }
15
     catch(const ::DbDeadlockException& dx)
16
@@ -1023,7 +1026,11 @@
17
 #ifndef NDEBUG
18
         bool inserted =
19
 #endif 
20
-            _indices.insert(IndexMap::value_type(indexBase->name(), indexBase)).second;
21
+            _indices.insert(IndexMap::value_type(indexBase->name(), indexBase))
22
+#ifndef NDEBUG
23
+            .second
24
+#endif
25
+            ;
26
         assert(inserted);
27
         indexBase->_map = this;
28
     }
29
@@ -1360,8 +1367,11 @@
30
         try
31
         {
32
             u_int32_t count;
33
+#ifndef NDEBUG
34
             int err;
35
-            err = _db->truncate(txn, &count, txn != 0 ? 0 : DB_AUTO_COMMIT);
36
+            err = 
37
+#endif            
38
+            _db->truncate(txn, &count, txn != 0 ? 0 : DB_AUTO_COMMIT);
39
             assert(err == 0);
40
             break;
41
         }
(-)./files/patch-cpp-src-Freeze-MapI.h (-18 lines)
Lines 1-18 Link Here
1
--- cpp.orig/src/Freeze/MapI.h	2011-06-15 21:43:58.000000000 +0200
2
+++ cpp/src/Freeze/MapI.h	2012-09-10 11:43:58.000000000 +0200
3
@@ -63,12 +63,13 @@ public:
4
     void
5
     close();
6
 
7
-    class Tx : public IceUtil::SimpleShared
8
+    class Tx : public IceUtil::SimpleSharedUnsafeDestructor
9
     {
10
     public:
11
 
12
         Tx(const MapHelperI&);
13
-        ~Tx();
14
+        ~Tx() ICE_NOEXCEPT_FALSE;
15
+        ;
16
 
17
         void dead();
18
 
(-)./files/patch-cpp-src-Freeze-ObjectStore.cpp (-11 lines)
Lines 1-11 Link Here
1
--- cpp.orig/src/Freeze/ObjectStore.cpp	2011-06-15 21:43:58.000000000 +0200
2
+++ cpp/src/Freeze/ObjectStore.cpp	2012-09-10 11:43:58.000000000 +0200
3
@@ -189,7 +189,7 @@ Freeze::ObjectStoreBase::ObjectStoreBase(const string& facet, const string& face
4
     }
5
 }
6
 
7
-Freeze::ObjectStoreBase::~ObjectStoreBase()
8
+Freeze::ObjectStoreBase::~ObjectStoreBase() ICE_NOEXCEPT_FALSE
9
 {
10
     try
11
     {
(-)./files/patch-cpp-src-Freeze-ObjectStore.h (-11 lines)
Lines 1-11 Link Here
1
--- cpp.orig/src/Freeze/ObjectStore.h	2011-06-15 21:43:58.000000000 +0200
2
+++ cpp/src/Freeze/ObjectStore.h	2012-09-10 11:43:58.000000000 +0200
3
@@ -36,7 +36,7 @@ public:
4
     ObjectStoreBase(const std::string&, const std::string&, bool, EvictorIBase*, 
5
                     const std::vector<IndexPtr>&, bool);
6
 
7
-    virtual ~ObjectStoreBase();
8
+    virtual ~ObjectStoreBase() ICE_NOEXCEPT_FALSE;
9
 
10
     const Ice::ObjectPtr& sampleServant() const;
11
 
(-)./files/patch-cpp-src-Freeze-SharedDbEnv.cpp (-15 lines)
Lines 1-15 Link Here
1
--- cpp.orig/src/Freeze/SharedDbEnv.cpp	2011-06-15 21:43:58.000000000 +0200
2
+++ cpp/src/Freeze/SharedDbEnv.cpp	2012-03-04 20:14:52.000000000 +0100
3
@@ -336,8 +336,11 @@
4
         // Remove from map
5
         //
6
      
7
+#ifndef NDEBUG
8
         size_t one;
9
-        one = sharedDbEnvMap->erase(key);
10
+        one = 
11
+#endif
12
+        sharedDbEnvMap->erase(key);
13
         assert(one == 1);
14
 
15
         if(sharedDbEnvMap->size() == 0)
(-)./files/patch-cpp-src-Freeze-TransactionalEvictorContext.cpp (-11 lines)
Lines 1-11 Link Here
1
--- cpp.orig/src/Freeze/TransactionalEvictorContext.cpp	2011-06-15 21:43:58.000000000 +0200
2
+++ cpp/src/Freeze/TransactionalEvictorContext.cpp	2012-09-10 11:43:58.000000000 +0200
3
@@ -273,7 +273,7 @@ Freeze::TransactionalEvictorContext::ServantHolder::ServantHolder() :
4
 }
5
 
6
 
7
-Freeze::TransactionalEvictorContext::ServantHolder::~ServantHolder()
8
+Freeze::TransactionalEvictorContext::ServantHolder::~ServantHolder() ICE_NOEXCEPT_FALSE
9
 {
10
     if(_ownBody && _body.ownServant)
11
     {
(-)./files/patch-cpp-src-Freeze-TransactionalEvictorContext.h (-11 lines)
Lines 1-11 Link Here
1
--- cpp.orig/src/Freeze/TransactionalEvictorContext.h	2011-06-15 21:43:58.000000000 +0200
2
+++ cpp/src/Freeze/TransactionalEvictorContext.h	2012-09-10 11:43:58.000000000 +0200
3
@@ -34,7 +34,7 @@ public:
4
     public:
5
         
6
         ServantHolder();
7
-        ~ServantHolder();
8
+        ~ServantHolder() ICE_NOEXCEPT_FALSE;
9
 
10
         void init(const TransactionalEvictorContextPtr&, const Ice::Current&, ObjectStore<TransactionalEvictorElement>*);
11
 
(-)./files/patch-cpp-src-Freeze-TransactionalEvictorI.cpp (-11 lines)
Lines 1-11 Link Here
1
--- cpp.orig/src/Freeze/TransactionalEvictorI.cpp	2011-06-15 21:43:58.000000000 +0200
2
+++ cpp/src/Freeze/TransactionalEvictorI.cpp	2012-09-10 11:43:58.000000000 +0200
3
@@ -346,7 +346,7 @@ Freeze::TransactionalEvictorI::dispatch(Request& request)
4
         {
5
         }
6
         
7
-        ~CtxHolder()
8
+        ~CtxHolder() ICE_NOEXCEPT_FALSE
9
         {
10
             if(_ownCtx)
11
             {
(-)./files/patch-cpp-src-Glacier2-Blobject.cpp (-18 lines)
Lines 1-18 Link Here
1
--- cpp.orig/src/Glacier2/Blobject.cpp	2011-06-15 21:43:58.000000000 +0200
2
+++ cpp/src/Glacier2/Blobject.cpp	2012-03-04 19:39:27.000000000 +0100
3
@@ -171,6 +171,15 @@
4
 }
5
 
6
 void
7
+Glacier2::Blobject::destroy()
8
+{
9
+    if(_requestQueue)
10
+    {
11
+        _requestQueue->destroy();
12
+    }
13
+}
14
+
15
+void
16
 Glacier2::Blobject::invoke(ObjectPrx& proxy, const AMD_Object_ice_invokePtr& amdCB, 
17
                            const std::pair<const Ice::Byte*, const Ice::Byte*>& inParams, const Current& current)
18
 {
(-)./files/patch-cpp-src-Glacier2-Blobject.h (-11 lines)
Lines 1-11 Link Here
1
--- cpp.orig/src/Glacier2/Blobject.h	2011-06-15 21:43:58.000000000 +0200
2
+++ cpp/src/Glacier2/Blobject.h	2012-03-04 19:39:27.000000000 +0100
3
@@ -24,6 +24,8 @@
4
     Blobject(const InstancePtr&, const Ice::ConnectionPtr&, const Ice::Context&);
5
     virtual ~Blobject();
6
 
7
+    void destroy();
8
+
9
 protected:
10
 
11
     void invoke(Ice::ObjectPrx&, const Ice::AMD_Object_ice_invokePtr&, 
(-)./files/patch-cpp-src-Glacier2-RequestQueue.cpp (-74 lines)
Lines 1-74 Link Here
1
--- cpp.orig/src/Glacier2/RequestQueue.cpp	2011-06-15 21:43:58.000000000 +0200
2
+++ cpp/src/Glacier2/RequestQueue.cpp	2012-03-04 19:39:27.000000000 +0100
3
@@ -185,7 +185,8 @@
4
     _callback(newCallback_Object_ice_invoke(this, &RequestQueue::response, &RequestQueue::exception,
5
                                             &RequestQueue::sent)),
6
     _flushCallback(newCallback_Connection_flushBatchRequests(this, &RequestQueue::exception, &RequestQueue::sent)),
7
-    _pendingSend(false)
8
+    _pendingSend(false),
9
+    _destroyed(false)
10
 {
11
 }
12
 
13
@@ -241,6 +242,37 @@
14
 }
15
 
16
 void
17
+Glacier2::RequestQueue::destroy()
18
+{
19
+    IceUtil::Mutex::Lock lock(*this);
20
+
21
+    _destroyed = true;
22
+
23
+    //
24
+    // Although the session has been destroyed, we cannot destroy this queue
25
+    // until all requests have completed.
26
+    //
27
+    if(_requests.empty())
28
+    {
29
+        destroyInternal();
30
+    }
31
+}
32
+
33
+void
34
+Glacier2::RequestQueue::destroyInternal()
35
+{
36
+    //
37
+    // Must be called with the mutex locked.
38
+    //
39
+
40
+    //
41
+    // Remove cyclic references.
42
+    //
43
+    const_cast<Ice::Callback_Object_ice_invokePtr&>(_callback) = 0;
44
+    const_cast<Ice::Callback_Connection_flushBatchRequestsPtr&>(_flushCallback) = 0;
45
+}
46
+
47
+void
48
 Glacier2::RequestQueue::flush()
49
 {
50
     assert(_connection);
51
@@ -289,6 +321,11 @@
52
             _pendingSendRequest = 0;
53
         }
54
     }
55
+
56
+    if(_destroyed && _requests.empty())
57
+    {
58
+        destroyInternal();
59
+    }
60
 }
61
 
62
 void
63
@@ -312,6 +349,11 @@
64
         }
65
     }
66
     _requests.clear();
67
+
68
+    if(_destroyed)
69
+    {
70
+        destroyInternal();
71
+    }
72
 }
73
 
74
 void
(-)./files/patch-cpp-src-Glacier2-RequestQueue.h (-23 lines)
Lines 1-23 Link Here
1
--- cpp.orig/src/Glacier2/RequestQueue.h	2011-06-15 21:43:58.000000000 +0200
2
+++ cpp/src/Glacier2/RequestQueue.h	2012-03-04 19:39:27.000000000 +0100
3
@@ -65,8 +65,12 @@
4
     bool addRequest(const RequestPtr&);
5
     void flushRequests(std::set<Ice::ObjectPrx>&);
6
 
7
+    void destroy();
8
+
9
 private:
10
 
11
+    void destroyInternal();
12
+
13
     void flush();
14
     void flush(std::set<Ice::ObjectPrx>&);
15
 
16
@@ -83,6 +87,7 @@
17
     std::deque<RequestPtr> _requests;
18
     bool _pendingSend;
19
     RequestPtr _pendingSendRequest;
20
+    bool _destroyed;
21
 };
22
 typedef IceUtil::Handle<RequestQueue> RequestQueuePtr;
23
 
(-)./files/patch-cpp-src-Glacier2-RouterI.cpp (-15 lines)
Lines 1-15 Link Here
1
--- cpp.orig/src/Glacier2/RouterI.cpp	2011-06-15 21:43:58.000000000 +0200
2
+++ cpp/src/Glacier2/RouterI.cpp	2012-03-04 19:39:27.000000000 +0100
3
@@ -98,6 +98,12 @@
4
             _session->destroy_async(amiCB);
5
         }
6
     }
7
+
8
+    _clientBlobject->destroy();
9
+    if(_serverBlobject)
10
+    {
11
+        _serverBlobject->destroy();
12
+    }
13
 }
14
 
15
 ObjectPrx
(-)./files/patch-cpp-src-Ice-.depend (+8 lines)
Line 0 Link Here
1
--- cpp.orig/src/Ice/.depend	2013-05-21 00:29:56.146194325 +0000
2
+++ cpp/src/Ice/.depend	2013-05-21 00:42:56.956197313 +0000
3
@@ -1,5 +1,5 @@
4
-Acceptor$(OBJEXT): Acceptor.cpp ../Ice/Acceptor.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h ../Ice/AcceptorF.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/Config.h ../Ice/TransceiverF.h ../Ice/Network.h $(includedir)/Ice/PropertiesF.h $(includedir)/Ice/ProxyF.h $(includedir)/Ice/ProxyHandle.h $(includedir)/Ice/ObjectF.h $(includedir)/Ice/Exception.h $(includedir)/Ice/Format.h $(includedir)/Ice/StreamF.h $(includedir)/Ice/LocalObject.h $(includedir)/Ice/LocalObjectF.h $(includedir)/Ice/StreamHelpers.h $(includedir)/IceUtil/ScopedArray.h $(includedir)/IceUtil/Iterator.h $(includedir)/IceUtil/Optional.h $(includedir)/Ice/UndefSysMacros.h $(includedir)/Ice/LoggerF.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/Version.h $(includedir)/Ice/EndpointTypes.h
5
+Acceptor$(OBJEXT): Acceptor.cpp ../Ice/Acceptor.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h ../Ice/AcceptorF.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/Config.h ../Ice/TransceiverF.h ../Ice/Network.h $(includedir)/Ice/CommunicatorF.h $(includedir)/Ice/ConnectionF.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/EndpointF.h $(includedir)/Ice/ObjectAdapterF.h $(includedir)/Ice/PropertiesF.h $(includedir)/Ice/ProxyF.h $(includedir)/Ice/ProxyHandle.h $(includedir)/Ice/ObjectF.h $(includedir)/Ice/Exception.h $(includedir)/Ice/Format.h $(includedir)/Ice/StreamF.h $(includedir)/Ice/LocalObject.h $(includedir)/Ice/LocalObjectF.h $(includedir)/Ice/StreamHelpers.h $(includedir)/IceUtil/ScopedArray.h $(includedir)/IceUtil/Iterator.h $(includedir)/IceUtil/Optional.h $(includedir)/Ice/UndefSysMacros.h $(includedir)/Ice/LoggerF.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/Version.h $(includedir)/Ic
0
e/EndpointTypes.h
6
e/EndpointTypes.h
7
 Application$(OBJEXT): Application.cpp $(includedir)/Ice/Application.h $(includedir)/Ice/Ice.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/Initialize.h $(includedir)/Ice/CommunicatorF.h $(includedir)/Ice/ProxyF.h $(includedir)/IceUtil/Shared.h $(includedir)/Ice/Config.h $(includedir)/Ice/ProxyHandle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/ObjectF.h $(includedir)/Ice/Handle.h $(includedir)/Ice/Exception.h $(includedir)/Ice/Format.h $(includedir)/Ice/StreamF.h $(includedir)/Ice/LocalObject.h $(includedir)/Ice/LocalObjectF.h $(includedir)/Ice/StreamHelpers.h $(includedir)/IceUtil/ScopedArray.h $(includedir)/IceUtil/Iterator.h $(includedir)/IceUtil/Optional.h $(includedir)/Ice/UndefSysMacros.h $(includedir)/Ice/PropertiesF.h $(includedir)/Ice/InstanceF.h $(includedir)/Ice/LoggerF.h $(includedir)/Ice/StatsF.h $(includedir)/Ice/InstrumentationF.h $(includedir)/Ice/Dispatcher.h $(includedir)/Ice/ConnectionF.h $(includedir)/Ice/StringConvert
1
er.h $(includedir)/Ice/Plugin.h $(includedir)/Ice/BuiltinSequences.h $(includedir)/IceUtil/Unicode.h $(includedir)/Ice/FactoryTable.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/MutexProtocol.h $(includedir)/Ice/UserExceptionFactory.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/Version.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/Identity.h $(includedir)/Ice/Properties.h $(includedir)/Ice/Proxy.h $(includedir)/Ice/ProxyFactoryF.h $(includedir)/Ice/ConnectionIF.h $(includedir)/Ice/RequestHandlerF.h $(includedir)/Ice/EndpointIF.h $(includedir)/Ice/EndpointF.h $(includedir)/Ice/EndpointTypes.h $(includedir)/Ice/ObjectAdapterF.h $(includedir)/Ice/ReferenceF.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/IceUtil/Timer.h $(includedir)/IceUtil/Thread.h $(includedir)/IceUtil/UniquePtr.h $(includedir)/Ice/
8
er.h $(includedir)/Ice/Plugin.h $(includedir)/Ice/BuiltinSequences.h $(includedir)/IceUtil/Unicode.h $(includedir)/Ice/FactoryTable.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/MutexProtocol.h $(includedir)/Ice/UserExceptionFactory.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/Version.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/Identity.h $(includedir)/Ice/Properties.h $(includedir)/Ice/Proxy.h $(includedir)/Ice/ProxyFactoryF.h $(includedir)/Ice/ConnectionIF.h $(includedir)/Ice/RequestHandlerF.h $(includedir)/Ice/EndpointIF.h $(includedir)/Ice/EndpointF.h $(includedir)/Ice/EndpointTypes.h $(includedir)/Ice/ObjectAdapterF.h $(includedir)/Ice/ReferenceF.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/IceUtil/Timer.h $(includedir)/IceUtil/Thread.h $(includedir)/IceUtil/UniquePtr.h $(includedir)/Ice/
2
OutgoingAsyncF.h $(includedir)/Ice/Current.h $(includedir)/Ice/BasicStream.h $(includedir)/Ice/Object.h $(includedir)/Ice/GCShared.h $(includedir)/Ice/GCCountMap.h $(includedir)/Ice/IncomingAsyncF.h $(includedir)/Ice/ObjectFactoryManagerF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/SlicedDataF.h $(includedir)/Ice/ObserverHelper.h $(includedir)/Ice/Instrumentation.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/IncomingAsync.h $(includedir)/Ice/Direct.h $(includedir)/Ice/Logger.h $(includedir)/Ice/LoggerUtil.h $(includedir)/Ice/Stats.h $(includedir)/Ice/Communicator.h $(includedir)/Ice/RouterF.h $(includedir)/Ice/LocatorF.h $(includedir)/Ice/PluginF.h $(includedir)/Ice/ImplicitContextF.h $(includedir)/Ice/CommunicatorAsync.h $(includedir)/Ice/ObjectFactory.h $(includedir)/Ice/ObjectAdapter.h $(includedir)/Ice/FacetMap.h $(includedir)/Ice/Endpoint.h $(i
9
OutgoingAsyncF.h $(includedir)/Ice/Current.h $(includedir)/Ice/BasicStream.h $(includedir)/Ice/Object.h $(includedir)/Ice/GCShared.h $(includedir)/Ice/GCCountMap.h $(includedir)/Ice/IncomingAsyncF.h $(includedir)/Ice/ObjectFactoryManagerF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/SlicedDataF.h $(includedir)/Ice/ObserverHelper.h $(includedir)/Ice/Instrumentation.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/IncomingAsync.h $(includedir)/Ice/Direct.h $(includedir)/Ice/Logger.h $(includedir)/Ice/LoggerUtil.h $(includedir)/Ice/Stats.h $(includedir)/Ice/Communicator.h $(includedir)/Ice/RouterF.h $(includedir)/Ice/LocatorF.h $(includedir)/Ice/PluginF.h $(includedir)/Ice/ImplicitContextF.h $(includedir)/Ice/CommunicatorAsync.h $(includedir)/Ice/ObjectFactory.h $(includedir)/Ice/ObjectAdapter.h $(includedir)/Ice/FacetMap.h $(includedir)/Ice/Endpoint.h $(i
3
ncludedir)/Ice/ServantLocator.h $(includedir)/Ice/SlicedData.h $(includedir)/Ice/Process.h $(includedir)/Ice/Connection.h $(includedir)/Ice/ConnectionAsync.h $(includedir)/Ice/Functional.h $(includedir)/IceUtil/Functional.h $(includedir)/Ice/Stream.h $(includedir)/Ice/ImplicitContext.h $(includedir)/Ice/Locator.h $(includedir)/Ice/FactoryTableInit.h $(includedir)/Ice/ProcessF.h $(includedir)/Ice/Router.h $(includedir)/Ice/DispatchInterceptor.h $(includedir)/Ice/PropertiesAdmin.h $(includedir)/Ice/Metrics.h $(includedir)/Ice/Service.h $(includedir)/Ice/IconvStringConverter.h ../Ice/LoggerI.h $(includedir)/IceUtil/FileUtil.h $(includedir)/IceUtil/CtrlCHandler.h $(includedir)/IceUtil/ArgVector.h ../Ice/GC.h
10
ncludedir)/Ice/ServantLocator.h $(includedir)/Ice/SlicedData.h $(includedir)/Ice/Process.h $(includedir)/Ice/Connection.h $(includedir)/Ice/ConnectionAsync.h $(includedir)/Ice/Functional.h $(includedir)/IceUtil/Functional.h $(includedir)/Ice/Stream.h $(includedir)/Ice/ImplicitContext.h $(includedir)/Ice/Locator.h $(includedir)/Ice/FactoryTableInit.h $(includedir)/Ice/ProcessF.h $(includedir)/Ice/Router.h $(includedir)/Ice/DispatchInterceptor.h $(includedir)/Ice/PropertiesAdmin.h $(includedir)/Ice/Metrics.h $(includedir)/Ice/Service.h $(includedir)/Ice/IconvStringConverter.h ../Ice/LoggerI.h $(includedir)/IceUtil/FileUtil.h $(includedir)/IceUtil/CtrlCHandler.h $(includedir)/IceUtil/ArgVector.h ../Ice/GC.h
11
 Base64$(OBJEXT): Base64.cpp ../Ice/Base64.h $(includedir)/Ice/Config.h $(includedir)/IceUtil/Config.h
12
 Buffer$(OBJEXT): Buffer.cpp $(includedir)/Ice/Buffer.h $(includedir)/Ice/Config.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/ProxyF.h $(includedir)/IceUtil/Shared.h $(includedir)/Ice/ProxyHandle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/ObjectF.h $(includedir)/Ice/Handle.h $(includedir)/Ice/Exception.h $(includedir)/Ice/Format.h $(includedir)/Ice/StreamF.h $(includedir)/Ice/LocalObject.h $(includedir)/Ice/LocalObjectF.h $(includedir)/Ice/StreamHelpers.h $(includedir)/IceUtil/ScopedArray.h $(includedir)/IceUtil/Iterator.h $(includedir)/IceUtil/Optional.h $(includedir)/Ice/Identity.h $(includedir)/Ice/UndefSysMacros.h $(includedir)/Ice/Version.h $(includedir)/Ice/BuiltinSequences.h
(-)./files/patch-cpp-src-Ice-ConnectionI.cpp (-27 lines)
Lines 1-27 Link Here
1
--- cpp.orig/src/Ice/ConnectionI.cpp	2011-06-15 21:43:58.000000000 +0200
2
+++ cpp/src/Ice/ConnectionI.cpp	2012-03-04 20:14:52.000000000 +0100
3
@@ -31,7 +31,7 @@
4
 using namespace Ice;
5
 using namespace IceInternal;
6
 
7
-Ice::LocalObject* IceInternal::upCast(ConnectionI* p) { return p; }
8
+Ice::LocalObject* Ice::upCast(ConnectionI* p) { return p; }
9
 
10
 namespace
11
 {
12
@@ -600,6 +600,7 @@
13
     }
14
     catch(const LocalException& ex)
15
     {
16
+        status = IceInternal::AsyncStatusQueued; // this is only to apeace the compiler
17
         setState(StateClosed, ex);
18
         assert(_exception.get());
19
         _exception->ice_throw();
20
@@ -971,6 +972,7 @@
21
     }
22
     catch(const Ice::LocalException& ex)
23
     {
24
+        status = IceInternal::AsyncStatusQueued; // this is only to apeace the compiler
25
         setState(StateClosed, ex);
26
         assert(_exception.get());
27
         _exception->ice_throw();
(-)./files/patch-cpp-src-Ice-IncomingAsync.cpp (-11 lines)
Lines 1-11 Link Here
1
--- cpp.orig/src/Ice/IncomingAsync.cpp	2011-06-15 21:43:58.000000000 +0200
2
+++ cpp/src/Ice/IncomingAsync.cpp	2012-03-04 20:14:52.000000000 +0100
3
@@ -24,7 +24,7 @@
4
 using namespace IceInternal;
5
 
6
 IceUtil::Shared* IceInternal::upCast(IncomingAsync* p) { return p; }
7
-IceUtil::Shared* IceInternal::upCast(AMD_Object_ice_invoke* p) { return p; }
8
+IceUtil::Shared* Ice::upCast(AMD_Object_ice_invoke* p) { return p; }
9
 
10
 namespace
11
 {
(-)./files/patch-cpp-src-Ice-LocalObject.cpp (-11 lines)
Lines 1-11 Link Here
1
--- cpp.orig/src/Ice/LocalObject.cpp	2011-06-15 21:43:58.000000000 +0200
2
+++ cpp/src/Ice/LocalObject.cpp	2012-03-04 20:14:52.000000000 +0100
3
@@ -13,7 +13,7 @@
4
 using namespace Ice;
5
 using namespace IceInternal;
6
 
7
-IceUtil::Shared* IceInternal::upCast(LocalObject* obj) { return obj; }
8
+IceUtil::Shared* Ice::upCast(LocalObject* obj) { return obj; }
9
 
10
 bool
11
 Ice::LocalObject::operator==(const LocalObject& r) const
(-)./files/patch-cpp-src-Ice-Network.cpp (-12 / +3 lines)
Lines 1-6 Link Here
1
--- cpp.orig/src/Ice/Network.cpp	2011-06-15 21:43:58.000000000 +0200
1
--- cpp.orig/src/Ice/Network.cpp	2013-03-11 15:19:46.000000000 +0000
2
+++ cpp/src/Ice/Network.cpp	2012-09-10 11:43:58.000000000 +0200
2
+++ cpp/src/Ice/Network.cpp	2013-05-19 22:55:40.257195813 +0000
3
@@ -715,7 +715,11 @@
3
@@ -936,7 +936,11 @@
4
     WSASetLastError(error);
4
     WSASetLastError(error);
5
 #else
5
 #else
6
     int error = errno;
6
     int error = errno;
Lines 13-24 Link Here
13
     {
13
     {
14
         SocketException ex(__FILE__, __LINE__);
14
         SocketException ex(__FILE__, __LINE__);
15
         ex.error = getSocketErrno();
15
         ex.error = getSocketErrno();
16
@@ -1098,7 +1098,7 @@ IceInternal::doBind(SOCKET fd, const struct sockaddr_storage& addr)
17
         size = 0; // Keep the compiler happy.
18
     }
19
 
20
-    if(bind(fd, reinterpret_cast<const struct sockaddr*>(&addr), size) == SOCKET_ERROR)
21
+    if(::bind(fd, reinterpret_cast<const struct sockaddr*>(&addr), size) == SOCKET_ERROR)
22
     {
23
         closeSocketNoThrow(fd);
24
         SocketException ex(__FILE__, __LINE__);
(-)./files/patch-cpp-src-Ice-Object.cpp (-11 lines)
Lines 1-11 Link Here
1
--- cpp.orig/src/Ice/Object.cpp	2011-06-15 21:43:58.000000000 +0200
2
+++ cpp/src/Ice/Object.cpp	2012-03-04 20:14:52.000000000 +0100
3
@@ -19,7 +19,7 @@
4
 using namespace Ice;
5
 using namespace IceInternal;
6
 
7
-IceUtil::Shared* IceInternal::upCast(Object* p) { return p; }
8
+IceUtil::Shared* Ice::upCast(Object* p) { return p; }
9
 
10
 bool
11
 Ice::Object::operator==(const Object& r) const
(-)./files/patch-cpp-src-Ice-OutgoingAsync.cpp (-11 lines)
Lines 1-11 Link Here
1
--- cpp.orig/src/Ice/OutgoingAsync.cpp	2011-06-15 21:43:59.000000000 +0200
2
+++ cpp/src/Ice/OutgoingAsync.cpp	2012-03-04 20:14:52.000000000 +0100
3
@@ -30,7 +30,7 @@
4
 using namespace Ice;
5
 using namespace IceInternal;
6
 
7
-IceUtil::Shared* IceInternal::upCast(AsyncResult* p) { return p; }
8
+IceUtil::Shared* Ice::upCast(AsyncResult* p) { return p; }
9
 
10
 IceUtil::Shared* IceInternal::upCast(OutgoingAsyncMessageCallback* p) { return p; }
11
 IceUtil::Shared* IceInternal::upCast(OutgoingAsync* p) { return p; }
(-)./files/patch-cpp-src-Ice-PropertyNames.cpp (-20 lines)
Lines 1-20 Link Here
1
--- cpp.orig/src/Ice/PropertyNames.cpp	2011-06-15 21:43:59.000000000 +0200
2
+++ cpp/src/Ice/PropertyNames.cpp	2012-03-04 19:55:44.000000000 +0100
3
@@ -8,7 +8,7 @@
4
 // **********************************************************************
5
 
6
 //
7
-// Generated by makeprops.py from file ..\config\PropertyNames.xml, Mon May 09 07:39:43 2011
8
+// Generated by makeprops.py from file ../config/PropertyNames.xml, Tue Jul 12 07:22:34 2011
9
 
10
 // IMPORTANT: Do not edit this file -- any edits made here will be lost!
11
 
12
@@ -335,6 +335,8 @@
13
     IceInternal::Property("IceGrid.Registry.PermissionsVerifier", false, 0),
14
     IceInternal::Property("IceGrid.Registry.ReplicaName", false, 0),
15
     IceInternal::Property("IceGrid.Registry.ReplicaSessionTimeout", false, 0),
16
+    IceInternal::Property("IceGrid.Registry.RequireNodeCertCN", false, 0),
17
+    IceInternal::Property("IceGrid.Registry.RequireReplicaCertCN", false, 0),
18
     IceInternal::Property("IceGrid.Registry.Server.ACM", false, 0),
19
     IceInternal::Property("IceGrid.Registry.Server.AdapterId", false, 0),
20
     IceInternal::Property("IceGrid.Registry.Server.Endpoints", false, 0),
(-)./files/patch-cpp-src-Ice-PropertyNames.h (-11 lines)
Lines 1-11 Link Here
1
--- cpp.orig/src/Ice/PropertyNames.h	2011-06-15 21:43:59.000000000 +0200
2
+++ cpp/src/Ice/PropertyNames.h	2012-03-04 19:55:44.000000000 +0100
3
@@ -8,7 +8,7 @@
4
 // **********************************************************************
5
 
6
 //
7
-// Generated by makeprops.py from file ..\config\PropertyNames.xml, Mon May 09 07:39:43 2011
8
+// Generated by makeprops.py from file ../config/PropertyNames.xml, Tue Jul 12 07:22:34 2011
9
 
10
 // IMPORTANT: Do not edit this file -- any edits made here will be lost!
11
 
(-)./files/patch-cpp-src-Ice-Service.cpp (-32 lines)
Lines 1-32 Link Here
1
--- cpp.orig/src/Ice/Service.cpp	2011-06-15 21:43:59.000000000 +0200
2
+++ cpp/src/Ice/Service.cpp	2012-03-04 20:14:53.000000000 +0100
3
@@ -2136,17 +2136,26 @@
4
             //
5
             // Associate stdin, stdout and stderr with /dev/null.
6
             //
7
+#ifndef NDEBUG
8
             int fd;
9
-            fd = open("/dev/null", O_RDWR);
10
+            fd = 
11
+#endif
12
+            open("/dev/null", O_RDWR);
13
             assert(fd == 0);
14
             if(stdOut.empty())
15
             {
16
-                fd = dup2(0, 1);
17
+#ifndef NDEBUG
18
+                fd = 
19
+#endif
20
+                dup2(0, 1);
21
                 assert(fd == 1);
22
             }
23
             if(stdErr.empty())
24
             {
25
-                fd = dup2(1, 2);
26
+#ifndef NDEBUG
27
+                fd = 
28
+#endif
29
+                dup2(1, 2);
30
                 assert(fd == 2);
31
             }
32
         }
(-)./files/patch-cpp-src-Ice-Stream.cpp (-24 lines)
Lines 1-24 Link Here
1
--- cpp.orig/src/Ice/Stream.cpp	2011-06-15 21:43:59.000000000 +0200
2
+++ cpp/src/Ice/Stream.cpp	2012-03-04 20:14:53.000000000 +0100
3
@@ -8,10 +8,19 @@
4
 // **********************************************************************
5
 
6
 #include <Ice/Stream.h>
7
+#include <Ice/LocalException.h>
8
 
9
 using namespace std;
10
 using namespace Ice;
11
 using namespace IceInternal;
12
 
13
-IceUtil::Shared* IceInternal::upCast(InputStream* p) { return p; }
14
-IceUtil::Shared* IceInternal::upCast(OutputStream* p) { return p; }
15
+IceUtil::Shared* Ice::upCast(InputStream* p) { return p; }
16
+IceUtil::Shared* Ice::upCast(OutputStream* p) { return p; }
17
+
18
+namespace IceInternal
19
+{
20
+  void delegateThrowMarshalException(const char* file, int line , const ::std::string& message)
21
+  {
22
+    throw Ice::MarshalException(file, line, message);
23
+  }
24
+}
(-)./files/patch-cpp-src-IceGrid-AdminCallbackRouter.cpp (-16 lines)
Lines 1-16 Link Here
1
--- cpp.orig/src/IceGrid/AdminCallbackRouter.cpp	2011-06-15 21:43:59.000000000 +0200
2
+++ cpp/src/IceGrid/AdminCallbackRouter.cpp	2012-03-04 20:14:53.000000000 +0100
3
@@ -49,7 +49,12 @@
4
 #ifndef NDEBUG
5
     bool inserted =
6
 #endif
7
-        _categoryToConnection.insert(map<string, ConnectionPtr>::value_type(category, con)).second;
8
+        _categoryToConnection.insert(map<string, ConnectionPtr>::value_type(category, con))
9
+#ifndef NDEBUG
10
+        .second
11
+#endif
12
+        ;
13
+
14
     
15
     assert(inserted == true);
16
 }
(-)./files/patch-cpp-src-IceGrid-DescriptorHelper.cpp (-35 lines)
Lines 1-35 Link Here
1
--- cpp.orig/src/IceGrid/DescriptorHelper.cpp	2011-06-15 21:43:59.000000000 +0200
2
+++ cpp/src/IceGrid/DescriptorHelper.cpp	2012-03-04 20:14:53.000000000 +0100
3
@@ -198,15 +198,6 @@
4
     return result;
5
 }
6
 
7
-template<typename Dict> Dict
8
-getDictUpdatedElts(const Dict& ldict, const Dict& rdict)
9
-{
10
-#if defined(_MSC_VER) && (_MSC_VER < 1300)
11
-    return getDictUpdatedEltsWithEq(ldict, rdict, equal_to<Dict::mapped_type>());
12
-#else
13
-    return getDictUpdatedEltsWithEq(ldict, rdict, equal_to<typename Dict::mapped_type>());
14
-#endif
15
-}
16
 
17
 template<typename EqFunc, typename Dict> Dict
18
 getDictUpdatedEltsWithEq(const Dict& ldict, const Dict& rdict, EqFunc eq)
19
@@ -223,6 +214,16 @@
20
     return result;
21
 }
22
 
23
+template<typename Dict> Dict
24
+getDictUpdatedElts(const Dict& ldict, const Dict& rdict)
25
+{
26
+#if defined(_MSC_VER) && (_MSC_VER < 1300)
27
+    return getDictUpdatedEltsWithEq(ldict, rdict, equal_to<Dict::mapped_type>());
28
+#else
29
+    return getDictUpdatedEltsWithEq(ldict, rdict, equal_to<typename Dict::mapped_type>());
30
+#endif
31
+}
32
+
33
 template <typename Dict> Ice::StringSeq
34
 getDictRemovedElts(const Dict& ldict, const Dict& rdict)
35
 {
(-)./files/patch-cpp-src-IceGrid-FileCache.cpp (-12 / +8 lines)
Lines 1-20 Link Here
1
--- cpp.orig/src/IceGrid/FileCache.cpp	2011-06-15 21:43:58.000000000 +0200
1
--- cpp.orig/src/IceGrid/FileCache.cpp	2013-03-11 15:19:12.271195149 +0000
2
+++ cpp/src/IceGrid/FileCache.cpp	2012-09-10 11:43:58.000000000 +0200
2
+++ cpp/src/IceGrid/FileCache.cpp	2013-06-01 17:47:48.636196265 +0000
3
@@ -195,15 +195,12 @@ FileCache::read(const string& file, Ice::Long offset, int size, Ice::Long& newOf
3
@@ -195,11 +195,11 @@
4
 
4
         // Some eofbit cases will also set failbit. So first
5
         totalSize += lineSize;
5
         // check eof.
6
         lines.push_back(line);
6
         //
7
-#if defined(_MSC_VER) && (_MSC_VER < 1300)
8
-        if(is.eof())
7
-        if(is.eof())
9
+        
10
+        if(is.eof() || is.fail())
8
+        if(is.eof() || is.fail())
11
         {
9
         {
12
             newOffset += line.size();
10
             newOffset += line.size();
13
         }
11
         }
14
         else
12
-        else if(!is.fail())
15
-#else
13
+        else
16
-        if(!is.fail())
17
-#endif
18
         {
14
         {
19
             newOffset = is.tellg();
15
             newOffset = is.tellg();
20
         }
16
         }
(-)./files/patch-cpp-src-IceGrid-Internal.ice (-20 lines)
Lines 1-20 Link Here
1
--- cpp.orig/src/IceGrid/Internal.ice	2011-06-15 21:43:59.000000000 +0200
2
+++ cpp/src/IceGrid/Internal.ice	2012-03-04 19:55:44.000000000 +0100
3
@@ -702,7 +702,7 @@
4
      *
5
      **/
6
     NodeSession* registerNode(InternalNodeInfo info, Node* prx, LoadInfo loadInf)
7
-        throws NodeActiveException;
8
+        throws NodeActiveException, PermissionDeniedException;
9
 
10
     /**
11
      *
12
@@ -721,7 +721,7 @@
13
      *
14
      **/
15
     ReplicaSession* registerReplica(InternalReplicaInfo info, InternalRegistry* prx)
16
-        throws ReplicaActiveException;
17
+        throws ReplicaActiveException, PermissionDeniedException;
18
 
19
     /**
20
      *
(-)./files/patch-cpp-src-IceGrid-InternalRegistryI.cpp (-136 lines)
Lines 1-136 Link Here
1
--- cpp.orig/src/IceGrid/InternalRegistryI.cpp	2011-06-15 21:43:59.000000000 +0200
2
+++ cpp/src/IceGrid/InternalRegistryI.cpp	2012-03-04 19:55:44.000000000 +0100
3
@@ -19,6 +19,8 @@
4
 #include <IceGrid/ReplicaSessionI.h>
5
 #include <IceGrid/ReplicaSessionManager.h>
6
 #include <IceGrid/FileCache.h>
7
+#include <IceSSL/IceSSL.h>
8
+#include <IceSSL/RFC2253.h>
9
 
10
 using namespace std;
11
 using namespace IceGrid;
12
@@ -38,6 +40,8 @@
13
     Ice::PropertiesPtr properties = database->getCommunicator()->getProperties();
14
     _nodeSessionTimeout = properties->getPropertyAsIntWithDefault("IceGrid.Registry.NodeSessionTimeout", 30);
15
     _replicaSessionTimeout = properties->getPropertyAsIntWithDefault("IceGrid.Registry.ReplicaSessionTimeout", 30);
16
+    _requireNodeCertCN = properties->getPropertyAsIntWithDefault("IceGrid.Registry.RequireNodeCertCN", 0);
17
+    _requireReplicaCertCN = properties->getPropertyAsIntWithDefault("IceGrid.Registry.RequireReplicaCertCN", 0);
18
 }
19
 
20
 InternalRegistryI::~InternalRegistryI()
21
@@ -50,7 +54,56 @@
22
                                 const LoadInfo& load, 
23
                                 const Ice::Current& current)
24
 {
25
-    const Ice::LoggerPtr logger = _database->getTraceLevels()->logger;
26
+    const TraceLevelsPtr traceLevels = _database->getTraceLevels();
27
+    const Ice::LoggerPtr logger = traceLevels->logger;
28
+    if(!info || !node)
29
+    {
30
+        return 0;
31
+    }
32
+
33
+    if(_requireNodeCertCN)
34
+    {
35
+        try
36
+        {
37
+            IceSSL::ConnectionInfoPtr sslConnInfo = IceSSL::ConnectionInfoPtr::dynamicCast(current.con->getInfo());
38
+            if(sslConnInfo)
39
+            {
40
+                if (sslConnInfo->certs.empty() ||
41
+                    !IceSSL::Certificate::decode(sslConnInfo->certs[0])->getSubjectDN().match("CN=" + info->name))
42
+                {
43
+                    if(traceLevels->node > 0)
44
+                    {
45
+                        Ice::Trace out(logger, traceLevels->nodeCat);
46
+                        out << "certificate CN doesn't match node name `" << info->name << "'";
47
+                    }
48
+                    throw PermissionDeniedException("certificate CN doesn't match node name `" + info->name + "'");
49
+                }
50
+            }
51
+            else
52
+            {
53
+                if(traceLevels->node > 0)
54
+                {
55
+                    Ice::Trace out(logger, traceLevels->nodeCat);
56
+                    out << "node certificate for `" << info->name << "' is required to connect to this registry";
57
+                }
58
+                throw PermissionDeniedException("node certificate is required to connect to this registry");
59
+            }
60
+        }
61
+        catch(const PermissionDeniedException& ex)
62
+        {
63
+            throw ex;
64
+        }
65
+        catch(const IceUtil::Exception&)
66
+        {
67
+            if(traceLevels->node > 0)
68
+            {
69
+                Ice::Trace out(logger, traceLevels->nodeCat);
70
+                out << "unexpected exception while verifying certificate for node `" << info->name << "'";
71
+            }
72
+            throw PermissionDeniedException("unable to verify certificate for node `" + info->name + "'");
73
+        }
74
+    }
75
+ 
76
     try
77
     {
78
         NodeSessionIPtr session = new NodeSessionI(_database, node, info, _nodeSessionTimeout, load);
79
@@ -68,7 +121,56 @@
80
                                    const InternalRegistryPrx& prx,
81
                                    const Ice::Current& current)
82
 {
83
-    const Ice::LoggerPtr logger = _database->getTraceLevels()->logger;
84
+    const TraceLevelsPtr traceLevels = _database->getTraceLevels();
85
+    const Ice::LoggerPtr logger = traceLevels->logger;
86
+    if(!info || !prx)
87
+    {
88
+        return 0;
89
+    }
90
+
91
+    if(_requireReplicaCertCN)
92
+    {
93
+        try
94
+        {
95
+            IceSSL::ConnectionInfoPtr sslConnInfo = IceSSL::ConnectionInfoPtr::dynamicCast(current.con->getInfo());
96
+            if(sslConnInfo)
97
+            {
98
+                if (sslConnInfo->certs.empty() ||
99
+                    !IceSSL::Certificate::decode(sslConnInfo->certs[0])->getSubjectDN().match("CN=" + info->name))
100
+                {
101
+                    if(traceLevels->replica > 0)
102
+                    {
103
+                        Ice::Trace out(logger, traceLevels->replicaCat);
104
+                        out << "certificate CN doesn't match replica name `" << info->name << "'";
105
+                    }
106
+                    throw PermissionDeniedException("certificate CN doesn't match replica name `" + info->name + "'");
107
+                }
108
+            }
109
+            else
110
+            {
111
+                if(traceLevels->replica > 0)
112
+                {
113
+                    Ice::Trace out(logger, traceLevels->replicaCat);
114
+                    out << "replica certificate for `" << info->name << "' is required to connect to this registry";
115
+                }
116
+                throw PermissionDeniedException("replica certificate is required to connect to this registry");
117
+            }
118
+        }
119
+        catch(const PermissionDeniedException& ex)
120
+        {
121
+            throw ex;
122
+        }
123
+        catch(const IceUtil::Exception&)
124
+        {
125
+            if(traceLevels->replica > 0)
126
+            {
127
+                Ice::Trace out(logger, traceLevels->replicaCat);
128
+                out << "unexpected exception while verifying certificate for replica `" << info->name << "'";
129
+            }
130
+            throw PermissionDeniedException("unable to verify certificate for replica `" + info->name + "'");
131
+        }
132
+    }
133
+    
134
     try
135
     {
136
         ReplicaSessionIPtr s = new ReplicaSessionI(_database, _wellKnownObjects, info, prx, _replicaSessionTimeout);
(-)./files/patch-cpp-src-IceGrid-InternalRegistryI.h (-11 lines)
Lines 1-11 Link Here
1
--- cpp.orig/src/IceGrid/InternalRegistryI.h	2011-06-15 21:43:59.000000000 +0200
2
+++ cpp/src/IceGrid/InternalRegistryI.h	2012-03-04 19:55:44.000000000 +0100
3
@@ -68,6 +68,8 @@
4
     ReplicaSessionManager& _session;
5
     int _nodeSessionTimeout;
6
     int _replicaSessionTimeout;
7
+    bool _requireNodeCertCN;
8
+    bool _requireReplicaCertCN;
9
 };
10
     
11
 };
(-)./files/patch-cpp-src-IceGrid-NodeSessionManager.cpp (-17 lines)
Lines 1-17 Link Here
1
--- cpp.orig/src/IceGrid/NodeSessionManager.cpp	2011-06-15 21:43:59.000000000 +0200
2
+++ cpp/src/IceGrid/NodeSessionManager.cpp	2012-03-04 19:55:44.000000000 +0100
3
@@ -110,6 +110,14 @@
4
         }
5
         exception.reset(ex.ice_clone());
6
     }
7
+    catch(const PermissionDeniedException& ex)
8
+    {
9
+        if(traceLevels)
10
+        { 
11
+            traceLevels->logger->error("connection to the the registry `" + _name + "' was denied:\n" + ex.reason);
12
+        }
13
+        exception.reset(ex.ice_clone());
14
+    }
15
     catch(const Ice::Exception& ex)
16
     {
17
         exception.reset(ex.ice_clone());
(-)./files/patch-cpp-src-IceGrid-ReplicaCache.cpp (-11 lines)
Lines 1-11 Link Here
1
--- cpp.orig/src/IceGrid/ReplicaCache.cpp	2011-06-15 21:43:59.000000000 +0200
2
+++ cpp/src/IceGrid/ReplicaCache.cpp	2012-03-04 20:14:53.000000000 +0100
3
@@ -40,7 +40,7 @@
4
     Lock sync(*this);
5
     
6
     ReplicaEntryPtr entry;
7
-    while(entry = getImpl(name))
8
+    while((entry = getImpl(name)))
9
     {
10
         ReplicaSessionIPtr session = entry->getSession();
11
         if(session->isDestroyed())
(-)./files/patch-cpp-src-IceGrid-ReplicaSessionManager.cpp (-17 lines)
Lines 1-17 Link Here
1
--- cpp.orig/src/IceGrid/ReplicaSessionManager.cpp	2011-06-15 21:43:59.000000000 +0200
2
+++ cpp/src/IceGrid/ReplicaSessionManager.cpp	2012-03-04 19:55:44.000000000 +0100
3
@@ -500,6 +500,14 @@
4
         }
5
         exception.reset(ex.ice_clone());
6
     }
7
+    catch(const PermissionDeniedException& ex)
8
+    {
9
+        if(_traceLevels)
10
+        {
11
+            _traceLevels->logger->error("connection to the the registry `" + _name + "' was denied:\n" + ex.reason);
12
+        }
13
+        exception.reset(ex.ice_clone());
14
+    }
15
     catch(const Ice::Exception& ex)
16
     {
17
         exception.reset(ex.ice_clone());
(-)./files/patch-cpp-src-IceGrid-SessionI.h (-11 lines)
Lines 1-11 Link Here
1
--- cpp.orig/src/IceGrid/SessionI.h	2011-06-15 21:43:59.000000000 +0200
2
+++ cpp/src/IceGrid/SessionI.h	2012-03-04 20:14:53.000000000 +0100
3
@@ -35,7 +35,7 @@
4
 class SessionI;
5
 typedef IceUtil::Handle<SessionI> SessionIPtr;
6
 
7
-class BaseSessionI : virtual Ice::Object, public IceUtil::Mutex
8
+class BaseSessionI : virtual public Ice::Object, public IceUtil::Mutex
9
 {
10
 public:
11
 
(-)./files/patch-cpp-src-IceSSL-Instance.cpp (-11 lines)
Lines 1-11 Link Here
1
--- cpp.orig/src/IceSSL/Instance.cpp	2011-06-15 21:43:59.000000000 +0200
2
+++ cpp/src/IceSSL/Instance.cpp	2012-03-04 20:14:53.000000000 +0100
3
@@ -38,7 +38,7 @@
4
 using namespace Ice;
5
 using namespace IceSSL;
6
 
7
-IceUtil::Shared* IceInternal::upCast(IceSSL::Instance* p) { return p; }
8
+IceUtil::Shared* IceSSL::upCast(IceSSL::Instance* p) { return p; }
9
 
10
 namespace
11
 {
(-)./files/patch-cpp-src-IceSSL-InstanceF.h (-17 lines)
Lines 1-17 Link Here
1
--- cpp.orig/src/IceSSL/InstanceF.h	2011-06-15 21:43:59.000000000 +0200
2
+++ cpp/src/IceSSL/InstanceF.h	2012-03-04 20:14:53.000000000 +0100
3
@@ -18,13 +18,13 @@
4
 {
5
 
6
 class Instance;
7
+IceUtil::Shared* upCast(IceSSL::Instance*);
8
 
9
 }
10
 
11
 namespace IceInternal
12
 {
13
 
14
-IceUtil::Shared* upCast(IceSSL::Instance*);
15
 
16
 }
17
 
(-)./files/patch-cpp-src-IceSSL-TrustManager.cpp (-11 lines)
Lines 1-11 Link Here
1
--- cpp.orig/src/IceSSL/TrustManager.cpp	2011-06-15 21:43:59.000000000 +0200
2
+++ cpp/src/IceSSL/TrustManager.cpp	2012-03-04 20:14:53.000000000 +0100
3
@@ -20,7 +20,7 @@
4
 using namespace std;
5
 using namespace IceSSL;
6
 
7
-IceUtil::Shared* IceInternal::upCast(IceSSL::TrustManager* p) { return p; }
8
+IceUtil::Shared* IceSSL::upCast(IceSSL::TrustManager* p) { return p; }
9
 
10
 TrustManager::TrustManager(const Ice::CommunicatorPtr& communicator) :
11
     _communicator(communicator)
(-)./files/patch-cpp-src-IceSSL-TrustManagerF.h (-17 lines)
Lines 1-17 Link Here
1
--- cpp.orig/src/IceSSL/TrustManagerF.h	2011-06-15 21:43:59.000000000 +0200
2
+++ cpp/src/IceSSL/TrustManagerF.h	2012-03-04 20:14:53.000000000 +0100
3
@@ -18,13 +18,13 @@
4
 {
5
 
6
 class TrustManager;
7
+IceUtil::Shared* upCast(IceSSL::TrustManager*);
8
 
9
 }
10
 
11
 namespace IceInternal
12
 {
13
 
14
-IceUtil::Shared* upCast(IceSSL::TrustManager*);
15
 
16
 }
17
 
(-)./files/patch-cpp-src-IceSSL-Util.cpp (-11 lines)
Lines 1-11 Link Here
1
--- cpp.orig/src/IceSSL/Util.cpp	2011-06-15 21:43:59.000000000 +0200
2
+++ cpp/src/IceSSL/Util.cpp	2012-03-04 20:14:53.000000000 +0100
3
@@ -175,7 +175,7 @@
4
     return dh;
5
 }
6
 
7
-IceUtil::Shared* IceInternal::upCast(IceSSL::DHParams* p) { return p; }
8
+IceUtil::Shared* IceSSL::upCast(IceSSL::DHParams* p) { return p; }
9
 
10
 IceSSL::DHParams::DHParams() :
11
     _dh512(0), _dh1024(0), _dh2048(0), _dh4096(0)
(-)./files/patch-cpp-src-IceSSL-UtilF.h (-17 lines)
Lines 1-17 Link Here
1
--- cpp.orig/src/IceSSL/UtilF.h	2011-06-15 21:43:59.000000000 +0200
2
+++ cpp/src/IceSSL/UtilF.h	2012-03-04 20:14:53.000000000 +0100
3
@@ -21,13 +21,13 @@
4
 {
5
 
6
 class DHParams;
7
+IceUtil::Shared* upCast(IceSSL::DHParams*);
8
 
9
 }
10
 
11
 namespace IceInternal
12
 {
13
 
14
-IceUtil::Shared* upCast(IceSSL::DHParams*);
15
 
16
 }
17
 
(-)./files/patch-cpp-src-IceStorm-NodeI.cpp (-14 lines)
Lines 1-14 Link Here
1
--- cpp.orig/src/IceStorm/NodeI.cpp	2011-06-15 21:43:59.000000000 +0200
2
+++ cpp/src/IceStorm/NodeI.cpp	2012-03-04 20:14:53.000000000 +0100
3
@@ -18,11 +18,6 @@
4
 namespace
5
 {
6
 
7
-bool operator==(const GroupNodeInfo& info, int id)
8
-{
9
-    return info.id == id;
10
-}
11
-
12
 class CheckTask : public IceUtil::TimerTask
13
 {
14
     const NodeIPtr _node;
(-)./files/patch-cpp-src-IceStorm-Replica.h (-15 lines)
Lines 1-15 Link Here
1
--- cpp.orig/src/IceStorm/Replica.h	2011-06-15 21:43:58.000000000 +0200
2
+++ cpp/src/IceStorm/Replica.h	2012-09-10 11:43:58.000000000 +0200
3
@@ -23,9 +23,9 @@ struct GroupNodeInfo
4
     GroupNodeInfo(int i, LogUpdate l, const Ice::ObjectPrx& o = Ice::ObjectPrx());
5
     bool operator<(const GroupNodeInfo& rhs) const;
6
     bool operator==(const GroupNodeInfo& rhs) const;
7
-    const int id;
8
-    const LogUpdate llu;
9
-    const Ice::ObjectPrx observer;
10
+    int id;
11
+    LogUpdate llu;
12
+    Ice::ObjectPrx observer;
13
 };
14
 
15
 class Replica : virtual public IceUtil::Shared
(-)./files/patch-cpp-src-IceStorm-TopicI.cpp (-74 lines)
Lines 1-74 Link Here
1
--- cpp.orig/src/IceStorm/TopicI.cpp	2011-06-15 21:43:58.000000000 +0200
2
+++ cpp/src/IceStorm/TopicI.cpp	2012-09-12 22:14:00.000000000 +0200
3
@@ -666,7 +666,7 @@ TopicImpl::subscribe(const QoS& origQoS, const Ice::ObjectPrx& obj)
4
         {
5
             try
6
             {
7
-                DatabaseConnectionPtr connection = _databaseCache->getConnection();
8
+                DatabaseConnectionPtr connection = _databaseCache->newConnection();
9
                 TransactionHolder txn(connection);
10
 
11
                 SubscriberRecordKey key;
12
@@ -703,7 +703,7 @@ TopicImpl::subscribe(const QoS& origQoS, const Ice::ObjectPrx& obj)
13
     {
14
         try
15
         {
16
-            DatabaseConnectionPtr connection = _databaseCache->getConnection();
17
+            DatabaseConnectionPtr connection = _databaseCache->newConnection();
18
             TransactionHolder txn(connection);
19
 
20
             SubscriberRecordKey key;
21
@@ -788,7 +788,7 @@ TopicImpl::subscribeAndGetPublisher(const QoS& qos, const Ice::ObjectPrx& obj)
22
     {
23
         try
24
         {
25
-            DatabaseConnectionPtr connection = _databaseCache->getConnection();
26
+            DatabaseConnectionPtr connection = _databaseCache->newConnection();
27
             TransactionHolder txn(connection);
28
 
29
             SubscriberRecordKey key;
30
@@ -912,7 +912,7 @@ TopicImpl::link(const TopicPrx& topic, Ice::Int cost)
31
     {
32
         try
33
         {
34
-            DatabaseConnectionPtr connection = _databaseCache->getConnection();
35
+            DatabaseConnectionPtr connection = _databaseCache->newConnection();
36
             TransactionHolder txn(connection);
37
 
38
             SubscriberRecordKey key;
39
@@ -1311,7 +1311,7 @@ TopicImpl::observerAddSubscriber(const LogUpdate& llu, const SubscriberRecord& r
40
     {
41
         try
42
         {
43
-            DatabaseConnectionPtr connection = _databaseCache->getConnection();
44
+            DatabaseConnectionPtr connection = _databaseCache->newConnection();
45
             TransactionHolder txn(connection);
46
 
47
             SubscriberRecordKey key;
48
@@ -1380,7 +1380,7 @@ TopicImpl::observerRemoveSubscriber(const LogUpdate& llu, const Ice::IdentitySeq
49
     {
50
         try
51
         {
52
-            DatabaseConnectionPtr connection = _databaseCache->getConnection();
53
+            DatabaseConnectionPtr connection = _databaseCache->newConnection();
54
             TransactionHolder txn(connection);
55
 
56
             for(Ice::IdentitySeq::const_iterator id = ids.begin(); id != ids.end(); ++id)
57
@@ -1456,7 +1456,7 @@ TopicImpl::destroyInternal(const LogUpdate& origLLU, bool master)
58
     {
59
         try
60
         {
61
-            DatabaseConnectionPtr connection = _databaseCache->getConnection();
62
+            DatabaseConnectionPtr connection = _databaseCache->newConnection();
63
             TransactionHolder txn(connection);
64
 
65
             // Erase all subscriber records and the topic record.
66
@@ -1531,7 +1531,7 @@ TopicImpl::removeSubscribers(const Ice::IdentitySeq& ids)
67
     {
68
         try
69
         {
70
-            DatabaseConnectionPtr connection = _databaseCache->getConnection();
71
+            DatabaseConnectionPtr connection = _databaseCache->newConnection();
72
             TransactionHolder txn(connection);
73
 
74
             for(Ice::IdentitySeq::const_iterator id = ids.begin(); id != ids.end(); ++id)
(-)./files/patch-cpp-src-IceStorm-TopicManagerI.cpp (-47 lines)
Lines 1-47 Link Here
1
--- cpp.orig/src/IceStorm/TopicManagerI.cpp	2011-06-15 21:43:58.000000000 +0200
2
+++ cpp/src/IceStorm/TopicManagerI.cpp	2012-09-12 22:14:00.000000000 +0200
3
@@ -312,7 +312,7 @@ TopicManagerImpl::TopicManagerImpl(const InstancePtr& instance) :
4
             _sync = _instance->nodeAdapter()->addWithUUID(_syncImpl);
5
         }
6
 
7
-        DatabaseConnectionPtr connection = _databaseCache->getConnection();
8
+        DatabaseConnectionPtr connection = _databaseCache->newConnection();
9
 
10
         // Ensure that the llu counter is present in the log.
11
         LLUWrapperPtr lluWrapper = _databaseCache->getLLU(connection);
12
@@ -381,7 +381,7 @@ TopicManagerImpl::create(const string& name)
13
     {
14
         try
15
         {
16
-            DatabaseConnectionPtr connection = _databaseCache->getConnection();
17
+            DatabaseConnectionPtr connection = _databaseCache->newConnection();
18
             TransactionHolder txn(connection);
19
 
20
             SubscriberRecordKey key;
21
@@ -486,7 +486,7 @@ TopicManagerImpl::observerInit(const LogUpdate& llu, const TopicContentSeq& cont
22
     {
23
         try
24
         {
25
-            DatabaseConnectionPtr connection = _databaseCache->getConnection();
26
+            DatabaseConnectionPtr connection = _databaseCache->newConnection();
27
             TransactionHolder txn(connection);
28
 
29
             LLUWrapperPtr lluWrapper = _databaseCache->getLLU(connection);
30
@@ -590,7 +590,7 @@ TopicManagerImpl::observerCreateTopic(const LogUpdate& llu, const string& name)
31
     {
32
         try
33
         {
34
-            DatabaseConnectionPtr connection = _databaseCache->getConnection();
35
+            DatabaseConnectionPtr connection = _databaseCache->newConnection();
36
             TransactionHolder txn(connection);
37
 
38
             SubscriberRecordKey key;
39
@@ -776,7 +776,7 @@ TopicManagerImpl::initMaster(const set<GroupNodeInfo>& slaves, const LogUpdate&
40
         {
41
             content.clear();
42
 
43
-            DatabaseConnectionPtr connection = _databaseCache->getConnection();
44
+            DatabaseConnectionPtr connection = _databaseCache->newConnection();
45
             TransactionHolder txn(connection);
46
 
47
             for(map<string, TopicImplPtr>::const_iterator p = _topics.begin(); p != _topics.end(); ++p)
(-)./files/patch-cpp-src-IceUtil-Cond.cpp (-15 lines)
Lines 1-15 Link Here
1
--- cpp.orig/src/IceUtil/Cond.cpp	2011-06-15 21:43:59.000000000 +0200
2
+++ cpp/src/IceUtil/Cond.cpp	2012-03-04 20:14:53.000000000 +0100
3
@@ -330,8 +330,11 @@
4
 
5
 IceUtil::Cond::~Cond()
6
 {
7
+#ifndef NDEBUG
8
     int rc = 0;
9
-    rc = pthread_cond_destroy(&_cond);
10
+    rc = 
11
+#endif
12
+    pthread_cond_destroy(&_cond);
13
     assert(rc == 0);
14
 }
15
 
(-)./files/patch-cpp-src-IceUtil-CountDownLatch.cpp (-21 lines)
Lines 1-21 Link Here
1
--- cpp.orig/src/IceUtil/CountDownLatch.cpp	2011-06-15 21:43:59.000000000 +0200
2
+++ cpp/src/IceUtil/CountDownLatch.cpp	2012-03-04 20:14:53.000000000 +0100
3
@@ -44,10 +44,16 @@
4
 #ifdef _WIN32
5
     CloseHandle(_event);
6
 #else
7
+#ifndef NDEBUG
8
     int rc = 0;
9
-    rc = pthread_mutex_destroy(&_mutex);
10
+    rc = 
11
+#endif
12
+    pthread_mutex_destroy(&_mutex);
13
     assert(rc == 0);
14
-    rc = pthread_cond_destroy(&_cond);
15
+#ifndef NDEBUG
16
+    rc = 
17
+#endif
18
+    pthread_cond_destroy(&_cond);
19
     assert(rc == 0);
20
 #endif
21
 }
(-)./files/patch-cpp-src-IceUtil-CtrlCHandler.cpp (-49 lines)
Lines 1-49 Link Here
1
--- cpp.orig/src/IceUtil/CtrlCHandler.cpp	2011-06-15 21:43:59.000000000 +0200
2
+++ cpp/src/IceUtil/CtrlCHandler.cpp	2012-03-04 20:14:53.000000000 +0100
3
@@ -219,29 +219,41 @@
4
         sigaddset(&ctrlCLikeSignals, SIGHUP);
5
         sigaddset(&ctrlCLikeSignals, SIGINT);
6
         sigaddset(&ctrlCLikeSignals, SIGTERM);
7
-        int rc = pthread_sigmask(SIG_BLOCK, &ctrlCLikeSignals, 0);
8
+#ifndef NDEBUG
9
+        int rc = 
10
+#endif        
11
+        pthread_sigmask(SIG_BLOCK, &ctrlCLikeSignals, 0);
12
         assert(rc == 0);
13
 
14
         // Joinable thread
15
-        rc = pthread_create(&_tid, 0, sigwaitThread, 0);
16
+#ifndef NDEBUG
17
+        rc = 
18
+#endif
19
+        pthread_create(&_tid, 0, sigwaitThread, 0);
20
         assert(rc == 0);
21
     }
22
 }
23
 
24
 CtrlCHandler::~CtrlCHandler()
25
 {
26
-    int rc = pthread_cancel(_tid);
27
+#ifndef NDEBUG
28
+    int rc = 
29
+#endif
30
+    pthread_cancel(_tid);
31
     assert(rc == 0);
32
 #if defined(__APPLE__)
33
     //
34
     // WORKAROUND: sigwait isn't a cancellation point on MacOS X, see
35
     // comment in sigwaitThread
36
     //
37
-    rc = pthread_kill(_tid, SIGTERM);
38
+    pthread_kill(_tid, SIGTERM);
39
     //assert(rc == 0); For some reaosns, this assert is sometime triggered
40
 #endif
41
     void* status = 0;
42
-    rc = pthread_join(_tid, &status);
43
+#ifndef NDEBUG
44
+    rc = 
45
+#endif
46
+    pthread_join(_tid, &status);
47
     assert(rc == 0);
48
 #if !defined(__APPLE__)
49
     assert(status == PTHREAD_CANCELED);
(-)./files/patch-cpp-src-IceUtil-FileUtil.cpp (-13 lines)
Lines 1-13 Link Here
1
--- cpp.orig/src/IceUtil/FileUtil.cpp	2011-06-15 21:43:59.000000000 +0200
2
+++ cpp/src/IceUtil/FileUtil.cpp	2012-03-04 20:14:53.000000000 +0100
3
@@ -26,6 +26,10 @@
4
 #  include <dir.h>
5
 #endif
6
 
7
+#ifdef __FreeBSD__
8
+#  include <unistd.h>
9
+#endif
10
+
11
 using namespace std;
12
 
13
 //
(-)./files/patch-cpp-src-IceUtil-RecMutex.cpp (-28 lines)
Lines 1-28 Link Here
1
--- cpp.orig/src/IceUtil/RecMutex.cpp	2011-06-15 21:43:59.000000000 +0200
2
+++ cpp/src/IceUtil/RecMutex.cpp	2012-03-04 20:14:53.000000000 +0100
3
@@ -148,8 +148,11 @@
4
 IceUtil::RecMutex::~RecMutex()
5
 {
6
     assert(_count == 0);
7
+#ifndef NDEBUG
8
     int rc = 0;
9
-    rc = pthread_mutex_destroy(&_mutex);
10
+    rc = 
11
+#endif
12
+    pthread_mutex_destroy(&_mutex);
13
     assert(rc == 0);
14
 }
15
 
16
@@ -196,8 +199,11 @@
17
 {
18
     if(--_count == 0)
19
     {
20
+#ifndef NDEBUG
21
         int rc = 0; // Prevent warnings when NDEBUG is defined.
22
-        rc = pthread_mutex_unlock(&_mutex);
23
+        rc = 
24
+#endif
25
+        pthread_mutex_unlock(&_mutex);
26
         assert(rc == 0);
27
     }
28
 }
(-)./files/patch-cpp-src-IceUtil-Shared.cpp (-21 lines)
Lines 1-21 Link Here
1
--- cpp.orig/src/IceUtil/Shared.cpp	2011-06-15 21:43:58.000000000 +0200
2
+++ cpp/src/IceUtil/Shared.cpp	2012-09-10 11:43:58.000000000 +0200
3
@@ -96,6 +96,18 @@ IceUtil::SimpleShared::SimpleShared(const SimpleShared&) :
4
 {
5
 }
6
 
7
+IceUtil::SimpleSharedUnsafeDestructor::SimpleSharedUnsafeDestructor() :
8
+    _ref(0),
9
+    _noDelete(false)
10
+{
11
+}
12
+
13
+IceUtil::SimpleSharedUnsafeDestructor::SimpleSharedUnsafeDestructor(const SimpleSharedUnsafeDestructor&) :
14
+    _ref(0),
15
+    _noDelete(false)
16
+{
17
+}
18
+
19
 IceUtil::Shared::Shared() :
20
     _ref(0),
21
     _noDelete(false)
(-)./files/patch-cpp-src-Slice-CPlusPlusUtil.cpp (-20 lines)
Lines 1-20 Link Here
1
--- cpp.orig/src/Slice/CPlusPlusUtil.cpp	2011-06-15 21:43:59.000000000 +0200
2
+++ cpp/src/Slice/CPlusPlusUtil.cpp	2012-03-04 20:14:53.000000000 +0100
3
@@ -631,7 +631,7 @@
4
         string scope = fixKwd(cl->scope());
5
         if(marshal)
6
         {
7
-            out << nl << stream << deref << "write(::Ice::ObjectPtr(::IceInternal::upCast(" << fixedParam 
8
+            out << nl << stream << deref << "write(::Ice::ObjectPtr(" << scope << "upCast(" << fixedParam 
9
                 << ".get())));";
10
         }
11
         else
12
@@ -649,7 +649,7 @@
13
         string scope = fixKwd(px->_class()->scope());
14
         if(marshal)
15
         {
16
-            out << nl << stream << deref << "write(::Ice::ObjectPrx(::IceInternal::upCast(" << fixedParam 
17
+            out << nl << stream << deref << "write(::Ice::ObjectPrx(::IceProxy" << scope << "upCast(" << fixedParam 
18
                 << ".get())));";
19
         }
20
         else
(-)./files/patch-cpp-src-Slice-FileTracker.cpp (-13 lines)
Lines 1-13 Link Here
1
--- cpp.orig/src/Slice/FileTracker.cpp	2011-06-15 21:43:59.000000000 +0200
2
+++ cpp/src/Slice/FileTracker.cpp	2012-03-04 20:14:53.000000000 +0100
3
@@ -17,6 +17,10 @@
4
 #   include <direct.h>
5
 #endif
6
 
7
+#ifdef __FreeBSD__
8
+#   include <unistd.h>
9
+#endif
10
+
11
 using namespace std;
12
 
13
 Slice::FileException::FileException(const char* file, int line, const string& r) :
(-)./files/patch-cpp-src-slice2cpp-Gen.cpp (-106 / +8 lines)
Lines 1-111 Link Here
1
--- cpp.orig/src/slice2cpp/Gen.cpp	2011-06-15 21:43:59.000000000 +0200
1
--- cpp.orig/src/slice2cpp/Gen.cpp	2013-03-11 15:19:46.000000000 +0000
2
+++ cpp/src/slice2cpp/Gen.cpp	2012-03-04 20:14:53.000000000 +0100
2
+++ cpp/src/slice2cpp/Gen.cpp	2013-05-20 19:51:48.109197053 +0000
3
@@ -1944,8 +1944,10 @@
3
@@ -385,6 +385,10 @@
4
         H << "\n#include <Ice/Proxy.h>";
5
         H << "\n#include <Ice/OutgoingAsync.h>";
4
     }
6
     }
5
 
7
+    else if(p->hasNonLocalClassDecls())
6
     string name = fixKwd(p->name());
7
+    string scoped = fixKwd(p->scoped());
8
 
9
     H << sp << nl << "class " << name << ';';
10
+    H << nl << _dllExport << "::IceProxy::Ice::Object* upCast(::IceProxy" << scoped << "*);";
11
 }
12
 
13
 Slice::Gen::ProxyVisitor::ProxyVisitor(Output& h, Output& c, const string& dllExport) :
14
@@ -3691,10 +3693,22 @@
15
 Slice::Gen::ObjectDeclVisitor::visitClassDecl(const ClassDeclPtr& p)
16
 {
17
     string name = fixKwd(p->name());
18
+    string scoped = fixKwd(p->scoped());
19
 
20
     H << sp << nl << "class " << name << ';';
21
     H << nl << "bool operator==(const " << name << "&, const " << name << "&);";
22
     H << nl << "bool operator<(const " << name << "&, const " << name << "&);";
23
+
24
+    H << sp;
25
+
26
+    if(!p->isLocal())
27
+    {
8
+    {
28
+        H << nl << _dllExport << "::Ice::Object* upCast(" << scoped << "*);";
9
+        H << "\n#include <Ice/Proxy.h>";
29
+    }
10
+    }
30
+    else
31
+    {
32
+        H << nl << _dllExport << "::Ice::LocalObject* upCast(" << scoped << "*);";
33
+    }
34
 }
35
 
36
 void
37
@@ -4922,13 +4936,13 @@
38
 {
39
     if((BuiltinPtr::dynamicCast(p) && BuiltinPtr::dynamicCast(p)->kind() == Builtin::KindObject)
40
        || ClassDeclPtr::dynamicCast(p))
41
-    {
42
-        C << nl << "if(" << prefix << name << ')';
43
+    {        C << nl << "if(" << prefix << name << ')';
44
         C << sb;
45
         ClassDeclPtr decl = ClassDeclPtr::dynamicCast(p);
46
         if(decl)
47
         {
48
-            C << nl << "::IceInternal::upCast(" << prefix << name << ".get())->__addObject(_c);";
49
+            string scope = fixKwd(decl->scope());
50
+            C << nl << scope << "upCast(" << prefix << name << ".get())->__addObject(_c);";
51
         }
52
         else
53
         {
54
@@ -4991,9 +5005,10 @@
55
         ClassDeclPtr decl = ClassDeclPtr::dynamicCast(p);
56
         if(decl)
57
         {
58
-            C << nl << "if(" << "::IceInternal::upCast(" << prefix << name << ".get())->__usesClasses())";
59
+            string scope = fixKwd(decl->scope());
60
+            C << nl << "if(" << scope << "upCast(" << prefix << name << ".get())->__usesClasses())";
61
             C << sb;
62
-            C << nl << "::IceInternal::upCast(" << prefix << name << ".get())->__decRefUnsafe();";
63
+            C << nl << scope << "upCast(" << prefix << name << ".get())->__decRefUnsafe();";
64
             C << nl << prefix << name << ".__clearHandleUnsafe();";
65
 
11
 
66
         }
12
     if(p->hasNonLocalDataOnlyClasses() || p->hasNonLocalExceptions())
67
@@ -5629,40 +5644,30 @@
68
 {
69
     string scoped = fixKwd(p->scoped());
70
 
71
-    H << sp;
72
-
73
-    if(!p->isLocal())
74
-    {
75
-        H << nl << _dllExport << "::Ice::Object* upCast(" << scoped << "*);";
76
-        H << nl << _dllExport << "::IceProxy::Ice::Object* upCast(::IceProxy" << scoped << "*);";
77
-    }
78
-    else
79
-    {
80
-        H << nl << _dllExport << "::Ice::LocalObject* upCast(" << scoped << "*);";
81
-    }
82
 }
83
 
84
 bool
85
 Slice::Gen::IceInternalVisitor::visitClassDefStart(const ClassDefPtr& p)
86
 {
87
     string scoped = fixKwd(p->scoped());
88
+    string scope = fixKwd(p->scope());
89
 
90
     C << sp;
91
     if(!p->isLocal())
92
     {
13
     {
93
         C << nl
94
 	  << (_dllExport.empty() ? "" : "ICE_DECLSPEC_EXPORT ")
95
-	  << "::Ice::Object* IceInternal::upCast(" << scoped << "* p) { return p; }";
96
+	  << "::Ice::Object* " << scope << "upCast(" << scoped << "* p) { return p; }";
97
         C << nl
98
 	  << (_dllExport.empty() ? "" : "ICE_DECLSPEC_EXPORT ")
99
-	  << "::IceProxy::Ice::Object* IceInternal::upCast(::IceProxy" << scoped
100
+	  << "::IceProxy::Ice::Object* IceProxy" << scope << "upCast(::IceProxy" << scoped
101
           << "* p) { return p; }";
102
     }
103
     else
104
     {
105
         C << nl
106
 	  << (_dllExport.empty() ? "" : "ICE_DECLSPEC_EXPORT ")
107
-	  << "::Ice::LocalObject* IceInternal::upCast(" << scoped << "* p) { return p; }";
108
+	  << "::Ice::LocalObject* " << scope << "upCast(" << scoped << "* p) { return p; }";
109
     }
110
 
111
     return true;
(-)./files/patch-cpp-src-slice2cpp-Main.cpp (-46 lines)
Lines 1-46 Link Here
1
--- cpp.orig/src/slice2cpp/Main.cpp	2011-06-15 21:43:58.000000000 +0200
2
+++ cpp/src/slice2cpp/Main.cpp	2012-09-10 11:43:58.000000000 +0200
3
@@ -22,7 +22,7 @@ using namespace Slice;
4
 namespace
5
 {
6
 
7
-IceUtil::Mutex* mutex = 0;
8
+IceUtil::Mutex* mtx = 0;
9
 bool interrupted = false;
10
 
11
 class Init
12
@@ -31,13 +31,13 @@ public:
13
 
14
     Init()
15
     {
16
-        mutex = new IceUtil::Mutex;
17
+        mtx = new IceUtil::Mutex;
18
     }
19
 
20
     ~Init()
21
     {
22
-        delete mutex;
23
-        mutex = 0;
24
+        delete mtx;
25
+        mtx = 0;
26
     }
27
 };
28
 
29
@@ -48,7 +48,7 @@ Init init;
30
 void
31
 interruptedCallback(int signal)
32
 {
33
-    IceUtilInternal::MutexPtrLock<IceUtil::Mutex> sync(mutex);
34
+    IceUtilInternal::MutexPtrLock<IceUtil::Mutex> sync(mtx);
35
 
36
     interrupted = true;
37
 }
38
@@ -294,7 +294,7 @@ compile(int argc, char* argv[])
39
         }
40
 
41
         {
42
-            IceUtilInternal::MutexPtrLock<IceUtil::Mutex> sync(mutex);
43
+            IceUtilInternal::MutexPtrLock<IceUtil::Mutex> sync(mtx);
44
 
45
             if(interrupted)
46
             {
(-)./files/patch-cpp-src-slice2cs-Gen.cpp (-28 lines)
Lines 1-28 Link Here
1
--- cpp.orig/src/slice2cs/Gen.cpp	2011-06-15 21:43:59.000000000 +0200
2
+++ cpp/src/slice2cs/Gen.cpp	2012-03-04 20:14:53.000000000 +0100
3
@@ -1281,7 +1281,7 @@
4
         {
5
             _out << value << "F";
6
         }
7
-        else if(ep = EnumPtr::dynamicCast(type))
8
+        else if((ep = EnumPtr::dynamicCast(type)))
9
         {
10
             string enumName = fixId(ep->scoped());
11
             string::size_type colon = value.rfind(':');
12
@@ -3914,16 +3914,6 @@
13
     ClassDefPtr cl = ClassDefPtr::dynamicCast(p->container());
14
     string name = fixId(p->name(), DotNet::ICloneable, true);
15
     vector<string> params = getParams(p);
16
-    bool hasOutParams = false;
17
-    ParamDeclList paramList = p->parameters();
18
-    for(ParamDeclList::const_iterator pli = paramList.begin(); pli != paramList.end(); ++pli)
19
-    {
20
-        if((*pli)->isOutParam())
21
-        {
22
-            hasOutParams = true;
23
-            break;
24
-        }
25
-    }
26
 
27
     _out << sp;
28
 
(-)./files/patch-cpp-src-slice2cs-Main.cpp (-46 lines)
Lines 1-46 Link Here
1
--- cpp.orig/src/slice2cs/Main.cpp	2011-06-15 21:43:58.000000000 +0200
2
+++ cpp/src/slice2cs/Main.cpp	2012-09-10 11:43:58.000000000 +0200
3
@@ -22,7 +22,7 @@ using namespace Slice;
4
 namespace
5
 {
6
 
7
-IceUtil::Mutex* mutex = 0;
8
+IceUtil::Mutex* mtx = 0;
9
 bool interrupted = false;
10
 
11
 class Init
12
@@ -31,13 +31,13 @@ public:
13
 
14
     Init()
15
     {
16
-        mutex = new IceUtil::Mutex;
17
+        mtx = new IceUtil::Mutex;
18
     }
19
 
20
     ~Init()
21
     {
22
-        delete mutex;
23
-        mutex = 0;
24
+        delete mtx;
25
+        mtx = 0;
26
     }
27
 };
28
 
29
@@ -48,7 +48,7 @@ Init init;
30
 void
31
 interruptedCallback(int signal)
32
 {
33
-    IceUtilInternal::MutexPtrLock<IceUtil::Mutex> sync(mutex);
34
+    IceUtilInternal::MutexPtrLock<IceUtil::Mutex> sync(mtx);
35
 
36
     interrupted = true;
37
 }
38
@@ -303,7 +303,7 @@ compile(int argc, char* argv[])
39
         }
40
 
41
         {
42
-            IceUtilInternal::MutexPtrLock<IceUtil::Mutex> sync(mutex);
43
+            IceUtilInternal::MutexPtrLock<IceUtil::Mutex> sync(mtx);
44
 
45
             if(interrupted)
46
             {
(-)./files/patch-cpp-src-slice2freeze-Main.cpp (-55 lines)
Lines 1-55 Link Here
1
--- cpp.orig/src/slice2freeze/Main.cpp	2011-06-15 21:43:58.000000000 +0200
2
+++ cpp/src/slice2freeze/Main.cpp	2012-09-10 11:43:58.000000000 +0200
3
@@ -28,7 +28,7 @@ using namespace Slice;
4
 namespace
5
 {
6
 
7
-IceUtil::Mutex* mutex = 0;
8
+IceUtil::Mutex* mtx = 0;
9
 bool interrupted = false;
10
 
11
 class Init
12
@@ -37,13 +37,13 @@ public:
13
 
14
     Init()
15
     {
16
-        mutex = new IceUtil::Mutex;
17
+        mtx = new IceUtil::Mutex;
18
     }
19
 
20
     ~Init()
21
     {
22
-        delete mutex;
23
-        mutex = 0;
24
+        delete mtx;
25
+        mtx = 0;
26
     }
27
 };
28
 
29
@@ -56,7 +56,7 @@ string ICE_ENCODING_COMPARE = "Freeze::IceEncodingCompare";
30
 void
31
 interruptedCallback(int signal)
32
 {
33
-    IceUtilInternal::MutexPtrLock<IceUtil::Mutex> sync(mutex);
34
+    IceUtilInternal::MutexPtrLock<IceUtil::Mutex> sync(mtx);
35
 
36
     interrupted = true;
37
 }
38
@@ -1995,7 +1995,7 @@ compile(int argc, char* argv[])
39
         }
40
 
41
         {
42
-            IceUtilInternal::MutexPtrLock<IceUtil::Mutex> sync(mutex);
43
+            IceUtilInternal::MutexPtrLock<IceUtil::Mutex> sync(mtx);
44
 
45
             if(interrupted)
46
             {
47
@@ -2042,7 +2042,7 @@ compile(int argc, char* argv[])
48
     u->destroy();
49
 
50
     {
51
-        IceUtilInternal::MutexPtrLock<IceUtil::Mutex> sync(mutex);
52
+        IceUtilInternal::MutexPtrLock<IceUtil::Mutex> sync(mtx);
53
 
54
         if(interrupted)
55
         {
(-)./files/patch-cpp-src-slice2freezej-Main.cpp (-55 lines)
Lines 1-55 Link Here
1
--- cpp.orig/src/slice2freezej/Main.cpp	2011-06-15 21:43:58.000000000 +0200
2
+++ cpp/src/slice2freezej/Main.cpp	2012-09-10 11:43:58.000000000 +0200
3
@@ -26,7 +26,7 @@ using namespace IceUtilInternal;
4
 namespace
5
 {
6
 
7
-IceUtil::Mutex* mutex = 0;
8
+IceUtil::Mutex* mtx = 0;
9
 bool interrupted = false;
10
 
11
 class Init
12
@@ -35,13 +35,13 @@ public:
13
 
14
     Init()
15
     {
16
-        mutex = new IceUtil::Mutex;
17
+        mtx = new IceUtil::Mutex;
18
     }
19
 
20
     ~Init()
21
     {
22
-        delete mutex;
23
-        mutex = 0;
24
+        delete mtx;
25
+        mtx = 0;
26
     }
27
 };
28
 
29
@@ -52,7 +52,7 @@ Init init;
30
 void
31
 interruptedCallback(int signal)
32
 {
33
-    IceUtilInternal::MutexPtrLock<IceUtil::Mutex> lock(mutex);
34
+    IceUtilInternal::MutexPtrLock<IceUtil::Mutex> lock(mtx);
35
 
36
     interrupted = true;
37
 }
38
@@ -1828,7 +1828,7 @@ compile(int argc, char* argv[])
39
         }
40
 
41
         {
42
-            IceUtilInternal::MutexPtrLock<IceUtil::Mutex> sync(mutex);
43
+            IceUtilInternal::MutexPtrLock<IceUtil::Mutex> sync(mtx);
44
 
45
             if(interrupted)
46
             {
47
@@ -1923,7 +1923,7 @@ compile(int argc, char* argv[])
48
     u->destroy();
49
 
50
     {
51
-        IceUtilInternal::MutexPtrLock<IceUtil::Mutex> sync(mutex);
52
+        IceUtilInternal::MutexPtrLock<IceUtil::Mutex> sync(mtx);
53
 
54
         if(interrupted)
55
         {
(-)./files/patch-cpp-src-slice2html-Main.cpp (-55 lines)
Lines 1-55 Link Here
1
--- cpp.orig/src/slice2html/Main.cpp	2011-06-15 21:43:58.000000000 +0200
2
+++ cpp/src/slice2html/Main.cpp	2012-09-10 11:43:58.000000000 +0200
3
@@ -24,7 +24,7 @@ using namespace IceUtil;
4
 namespace
5
 {
6
 
7
-IceUtil::Mutex* mutex = 0;
8
+IceUtil::Mutex* mtx = 0;
9
 bool interrupted = false;
10
 
11
 class Init
12
@@ -33,13 +33,13 @@ public:
13
 
14
     Init()
15
     {
16
-        mutex = new IceUtil::Mutex;
17
+        mtx = new IceUtil::Mutex;
18
     }
19
 
20
     ~Init()
21
     {
22
-        delete mutex;
23
-        mutex = 0;
24
+        delete mtx;
25
+        mtx = 0;
26
     }
27
 };
28
 
29
@@ -50,7 +50,7 @@ Init init;
30
 void
31
 interruptedCallback(int signal)
32
 {
33
-    IceUtilInternal::MutexPtrLock<IceUtil::Mutex> sync(mutex);
34
+    IceUtilInternal::MutexPtrLock<IceUtil::Mutex> sync(mtx);
35
 
36
     interrupted = true;
37
 }
38
@@ -254,7 +254,7 @@ compile(int argc, char* argv[])
39
         }
40
 
41
         {
42
-            IceUtilInternal::MutexPtrLock<IceUtil::Mutex> sync(mutex);
43
+            IceUtilInternal::MutexPtrLock<IceUtil::Mutex> sync(mtx);
44
 
45
             if(interrupted)
46
             {
47
@@ -296,7 +296,7 @@ compile(int argc, char* argv[])
48
     p->destroy();
49
 
50
     {
51
-        IceUtilInternal::MutexPtrLock<IceUtil::Mutex> sync(mutex);
52
+        IceUtilInternal::MutexPtrLock<IceUtil::Mutex> sync(mtx);
53
 
54
         if(interrupted)
55
         {
(-)./files/patch-cpp-src-slice2java-Gen.cpp (-20 lines)
Lines 1-20 Link Here
1
--- cpp.orig/src/slice2java/Gen.cpp	2011-06-15 21:43:59.000000000 +0200
2
+++ cpp/src/slice2java/Gen.cpp	2012-03-04 20:14:53.000000000 +0100
3
@@ -1246,7 +1246,7 @@
4
     {
5
         BuiltinPtr bp;
6
         EnumPtr ep;
7
-        if(bp = BuiltinPtr::dynamicCast(type))
8
+        if((bp = BuiltinPtr::dynamicCast(type)))
9
         {
10
             switch(bp->kind())
11
             {
12
@@ -1349,7 +1349,7 @@
13
             }
14
 
15
         }
16
-        else if(ep = EnumPtr::dynamicCast(type))
17
+        else if((ep = EnumPtr::dynamicCast(type)))
18
         {
19
             string val = value;
20
             string::size_type pos = val.rfind(':');
(-)./files/patch-cpp-src-slice2java-Main.cpp (-46 lines)
Lines 1-46 Link Here
1
--- cpp.orig/src/slice2java/Main.cpp	2011-06-15 21:43:58.000000000 +0200
2
+++ cpp/src/slice2java/Main.cpp	2012-09-10 11:43:58.000000000 +0200
3
@@ -23,7 +23,7 @@ using namespace Slice;
4
 namespace
5
 {
6
 
7
-IceUtil::Mutex* mutex = 0;
8
+IceUtil::Mutex* mtx = 0;
9
 bool interrupted = false;
10
 
11
 class Init
12
@@ -32,13 +32,13 @@ public:
13
 
14
     Init()
15
     {
16
-        mutex = new IceUtil::Mutex;
17
+        mtx = new IceUtil::Mutex;
18
     }
19
 
20
     ~Init()
21
     {
22
-        delete mutex;
23
-        mutex = 0;
24
+        delete mtx;
25
+        mtx = 0;
26
     }
27
 };
28
 
29
@@ -49,7 +49,7 @@ Init init;
30
 void
31
 interruptedCallback(int signal)
32
 {
33
-    IceUtilInternal::MutexPtrLock<IceUtil::Mutex> sync(mutex);
34
+    IceUtilInternal::MutexPtrLock<IceUtil::Mutex> sync(mtx);
35
 
36
     interrupted = true;
37
 }
38
@@ -356,7 +356,7 @@ compile(int argc, char* argv[])
39
         }
40
 
41
         {
42
-            IceUtilInternal::MutexPtrLock<IceUtil::Mutex> sync(mutex);
43
+            IceUtilInternal::MutexPtrLock<IceUtil::Mutex> sync(mtx);
44
 
45
             if(interrupted)
46
             {
(-)./files/patch-cpp-src-slice2php-Main.cpp (-46 lines)
Lines 1-46 Link Here
1
--- cpp.orig/src/slice2php/Main.cpp	2011-06-15 21:43:58.000000000 +0200
2
+++ cpp/src/slice2php/Main.cpp	2012-09-10 11:43:58.000000000 +0200
3
@@ -1488,7 +1488,7 @@ printHeader(IceUtilInternal::Output& out)
4
 namespace
5
 {
6
 
7
-IceUtil::Mutex* mutex = 0;
8
+IceUtil::Mutex* mtx = 0;
9
 bool interrupted = false;
10
 
11
 class Init
12
@@ -1497,13 +1497,13 @@ public:
13
 
14
     Init()
15
     {
16
-        mutex = new IceUtil::Mutex;
17
+        mtx = new IceUtil::Mutex;
18
     }
19
 
20
     ~Init()
21
     {
22
-        delete mutex;
23
-        mutex = 0;
24
+        delete mtx;
25
+        mtx = 0;
26
     }
27
 };
28
 
29
@@ -1514,7 +1514,7 @@ Init init;
30
 static void
31
 interruptedCallback(int signal)
32
 {
33
-    IceUtilInternal::MutexPtrLock<IceUtil::Mutex> sync(mutex);
34
+    IceUtilInternal::MutexPtrLock<IceUtil::Mutex> sync(mtx);
35
 
36
     interrupted = true;
37
 }
38
@@ -1777,7 +1777,7 @@ compile(int argc, char* argv[])
39
         }
40
 
41
         {
42
-            IceUtilInternal::MutexPtrLock<IceUtil::Mutex> sync(mutex);
43
+            IceUtilInternal::MutexPtrLock<IceUtil::Mutex> sync(mtx);
44
 
45
             if(interrupted)
46
             {
(-)./files/patch-cpp-src-slice2py-Main.cpp (-46 lines)
Lines 1-46 Link Here
1
--- cpp.orig/src/slice2py/Main.cpp	2011-06-15 21:43:58.000000000 +0200
2
+++ cpp/src/slice2py/Main.cpp	2012-09-10 11:43:58.000000000 +0200
3
@@ -40,7 +40,7 @@ using namespace Slice::Python;
4
 namespace
5
 {
6
 
7
-IceUtil::Mutex* mutex = 0;
8
+IceUtil::Mutex* mtx = 0;
9
 bool interrupted = false;
10
 
11
 class Init
12
@@ -49,13 +49,13 @@ public:
13
 
14
     Init()
15
     {
16
-        mutex = new IceUtil::Mutex;
17
+        mtx = new IceUtil::Mutex;
18
     }
19
 
20
     ~Init()
21
     {
22
-        delete mutex;
23
-        mutex = 0;
24
+        delete mtx;
25
+        mtx = 0;
26
     }
27
 };
28
 
29
@@ -66,7 +66,7 @@ Init init;
30
 void
31
 interruptedCallback(int signal)
32
 {
33
-    IceUtilInternal::MutexPtrLock<IceUtil::Mutex> sync(mutex);
34
+    IceUtilInternal::MutexPtrLock<IceUtil::Mutex> sync(mtx);
35
 
36
     interrupted = true;
37
 }
38
@@ -631,7 +631,7 @@ compile(int argc, char* argv[])
39
         }
40
 
41
         {
42
-            IceUtilInternal::MutexPtrLock<IceUtil::Mutex> sync(mutex);
43
+            IceUtilInternal::MutexPtrLock<IceUtil::Mutex> sync(mtx);
44
 
45
             if(interrupted)
46
             {
(-)./files/patch-cpp-src-slice2rb-Main.cpp (-46 lines)
Lines 1-46 Link Here
1
--- cpp.orig/src/slice2rb/Main.cpp	2011-06-15 21:43:58.000000000 +0200
2
+++ cpp/src/slice2rb/Main.cpp	2012-09-10 11:43:58.000000000 +0200
3
@@ -39,7 +39,7 @@ using namespace Slice::Ruby;
4
 namespace
5
 {
6
 
7
-IceUtil::Mutex* mutex = 0;
8
+IceUtil::Mutex* mtx = 0;
9
 bool interrupted = false;
10
 
11
 class Init
12
@@ -48,13 +48,13 @@ public:
13
 
14
     Init()
15
     {
16
-        mutex = new IceUtil::Mutex;
17
+        mtx = new IceUtil::Mutex;
18
     }
19
 
20
     ~Init()
21
     {
22
-        delete mutex;
23
-        mutex = 0;
24
+        delete mtx;
25
+        mtx = 0;
26
     }
27
 };
28
 
29
@@ -65,7 +65,7 @@ Init init;
30
 void
31
 interruptedCallback(int signal)
32
 {
33
-    IceUtilInternal::MutexPtrLock<IceUtil::Mutex> sync(mutex);
34
+    IceUtilInternal::MutexPtrLock<IceUtil::Mutex> sync(mtx);
35
 
36
     interrupted = true;
37
 }
38
@@ -316,7 +316,7 @@ compile(int argc, char* argv[])
39
         }
40
 
41
         {
42
-            IceUtilInternal::MutexPtrLock<IceUtil::Mutex> sync(mutex);
43
+            IceUtilInternal::MutexPtrLock<IceUtil::Mutex> sync(mtx);
44
 
45
             if(interrupted)
46
             {
(-)./files/patch-cpp-test-Glacier2-ssl-Server.cpp (-9 lines)
Lines 18-32 Link Here
18
 }
18
 }
19
 
19
 
20
 }
20
 }
21
@@ -99,7 +105,7 @@
22
     }
23
 
24
     virtual void
25
-    ice_ping(const Ice::Current& current)
26
+    ice_ping(const Ice::Current& current) const
27
     {
28
         testContext(_ssl, current.ctx);
29
     }
30
@@ -133,8 +139,11 @@
21
@@ -133,8 +139,11 @@
31
     {
22
     {
32
         testContext(true, current.ctx);
23
         testContext(true, current.ctx);
(-)./files/patch-cpp-test-Ice-background-EndpointI.h (-11 lines)
Lines 1-11 Link Here
1
--- cpp.orig/test/Ice/background/EndpointI.h	2011-06-15 21:43:59.000000000 +0200
2
+++ cpp/test/Ice/background/EndpointI.h	2012-03-04 20:14:53.000000000 +0100
3
@@ -48,7 +48,7 @@
4
 
5
     virtual Ice::Int hashInit() const;
6
 #if !defined(_MSC_VER) || _MSC_VER > 1300
7
-    using IceInternal::EndpointI::connectors;
8
+    using ::IceInternal::EndpointI::connectors;
9
 #endif
10
     
11
 private:
(-)./files/patch-cpp-test-Ice-custom-AllTests.cpp (-32 lines)
Lines 1-32 Link Here
1
--- cpp.orig/test/Ice/custom/AllTests.cpp	2011-06-15 21:43:59.000000000 +0200
2
+++ cpp/test/Ice/custom/AllTests.cpp	2012-03-04 20:14:53.000000000 +0100
3
@@ -1384,7 +1384,8 @@
4
                        const ::Test::ClassStructSeq& seq,
5
                        const InParamPtr& cookie)
6
     {
7
-        pair< ::Test::ClassStructPtr, ::Test::ClassStructSeq> in = getIn(in, cookie);
8
+        pair< ::Test::ClassStructPtr, ::Test::ClassStructSeq> in;
9
+        in = getIn(in, cookie);
10
         test(ret == in.first);
11
         test(cs1 == in.first);
12
         test(seq == in.second);
13
@@ -1432,7 +1433,8 @@
14
 
15
     void throwExcept1(const Ice::AsyncResultPtr& result)
16
     {
17
-        wstring in = getIn(in, InParamPtr::dynamicCast(result->getCookie()));
18
+        wstring in;
19
+        in = getIn(in, InParamPtr::dynamicCast(result->getCookie()));
20
         try
21
         {
22
             Test1::WstringClassPrx t = Test1::WstringClassPrx::uncheckedCast(result->getProxy());
23
@@ -1451,7 +1453,8 @@
24
 
25
     void throwExcept2(const Ice::AsyncResultPtr& result)
26
     {
27
-        wstring in = getIn(in, InParamPtr::dynamicCast(result->getCookie()));
28
+        wstring in;
29
+        in = getIn(in, InParamPtr::dynamicCast(result->getCookie()));
30
         try
31
         {
32
             Test2::WstringClassPrx t = Test2::WstringClassPrx::uncheckedCast(result->getProxy());
(-)./files/patch-cpp-test-Ice-metrics-AllTests.cpp (+32 lines)
Line 0 Link Here
1
--- cpp.orig/test/Ice/metrics/AllTests.cpp	2013-03-11 15:19:47.000000000 +0000
2
+++ cpp/test/Ice/metrics/AllTests.cpp	2013-05-20 02:11:00.939194168 +0000
3
@@ -597,9 +597,12 @@
4
     testAttribute(clientMetrics, clientProps, update, "Connection", "incoming", "false");
5
     testAttribute(clientMetrics, clientProps, update, "Connection", "adapterName", "");
6
     testAttribute(clientMetrics, clientProps, update, "Connection", "connectionId", "Con1");
7
-    testAttribute(clientMetrics, clientProps, update, "Connection", "localHost", "127.0.0.1");
8
+    if (!inFreeBSDJail())
9
+    {
10
+      testAttribute(clientMetrics, clientProps, update, "Connection", "localHost", "127.0.0.1");
11
+      testAttribute(clientMetrics, clientProps, update, "Connection", "remoteHost", "127.0.0.1");
12
+    }
13
     //testAttribute(clientMetrics, clientProps, update, "Connection", "localPort", "");
14
-    testAttribute(clientMetrics, clientProps, update, "Connection", "remoteHost", "127.0.0.1");
15
     testAttribute(clientMetrics, clientProps, update, "Connection", "remotePort", "12010");
16
     testAttribute(clientMetrics, clientProps, update, "Connection", "mcastHost", "");
17
     testAttribute(clientMetrics, clientProps, update, "Connection", "mcastPort", "");
18
@@ -814,9 +817,12 @@
19
     testAttribute(serverMetrics, serverProps, update, "Dispatch", "incoming", "true", op);
20
     testAttribute(serverMetrics, serverProps, update, "Dispatch", "adapterName", "TestAdapter", op);
21
     testAttribute(serverMetrics, serverProps, update, "Dispatch", "connectionId", "", op);
22
-    testAttribute(serverMetrics, serverProps, update, "Dispatch", "localHost", "127.0.0.1", op);
23
+    if (!inFreeBSDJail())
24
+    {
25
+      testAttribute(serverMetrics, serverProps, update, "Dispatch", "localHost", "127.0.0.1", op);
26
+      testAttribute(serverMetrics, serverProps, update, "Dispatch", "remoteHost", "127.0.0.1", op);
27
+    }
28
     testAttribute(serverMetrics, serverProps, update, "Dispatch", "localPort", "12010", op);
29
-    testAttribute(serverMetrics, serverProps, update, "Dispatch", "remoteHost", "127.0.0.1", op);
30
     //testAttribute(serverMetrics, serverProps, update, "Dispatch", "remotePort", "12010", op);
31
     testAttribute(serverMetrics, serverProps, update, "Dispatch", "mcastHost", "", op);
32
     testAttribute(serverMetrics, serverProps, update, "Dispatch", "mcastPort", "", op);
(-)./files/patch-cpp-test-Ice-properties-run.py (-13 / +24 lines)
Lines 1-18 Link Here
1
--- cpp.orig/test/Ice/properties/run.py	2011-06-15 21:43:59.000000000 +0200
1
--- cpp.orig/test/Ice/properties/run.py	2013-03-11 15:19:47.000000000 +0000
2
+++ cpp/test/Ice/properties/run.py	2012-03-04 20:14:53.000000000 +0100
2
+++ cpp/test/Ice/properties/run.py	2013-05-21 03:48:13.020195761 +0000
3
@@ -26,7 +26,7 @@
3
@@ -28,15 +28,15 @@
4
 #
4
 #
5
 # Write config
5
 if sys.version_info[0] == 2:
6
 #
6
     configPath = "./config/\xe4\xb8\xad\xe5\x9b\xbd_client.config".decode("utf-8")
7
-configPath = u"./config/中国_client.config"
7
-    TestUtil.createConfig(configPath, 
8
+configPath = u"./config/中国_client.config".encode("utf-8")
8
+    TestUtil.createConfig(configPath.encode("utf-8"), 
9
                           ["# Automatically generated by Ice test driver.", 
10
                            "Ice.Trace.Protocol=1",
11
                            "Ice.Trace.Network=1", 
12
                            "Ice.ProgramName=PropertiesClient", 
13
-                           "Config.Path=./config/中国_client.config"])
14
+                           "Config.Path=" + configPath.encode("utf-8")])
15
 else:
16
     configPath = "./config/\u4e2d\u56fd_client.config"
17
-    TestUtil.createConfig(configPath, 
18
+    TestUtil.createConfig(configPath.encode("utf-8"), 
19
                           ["# Automatically generated by Ice test driver.", 
20
                            "Ice.Trace.Protocol=1",
21
                            "Ice.Trace.Network=1", 
22
@@ -46,5 +46,5 @@
9
 
23
 
10
 TestUtil.createConfig(configPath, 
11
                       ["# Automatically generated by Ice test driver.", 
12
@@ -38,4 +38,4 @@
13
 TestUtil.simpleTest(client)
24
 TestUtil.simpleTest(client)
14
 
25
 
15
 if os.path.exists(configPath):
26
-if os.path.exists(configPath):
16
-    os.remove(configPath)
27
-    os.remove(configPath)
17
\ No newline at end of file
28
+if os.path.exists(configPath.encode("utf-8")):
18
+    os.remove(configPath)
29
+    os.remove(configPath.encode("utf-8"))
(-)./files/patch-cpp-test-IceUtil-unicode-Client.cpp (-13 lines)
Lines 1-13 Link Here
1
--- cpp.orig/test/IceUtil/unicode/Client.cpp	2011-06-15 21:43:59.000000000 +0200
2
+++ cpp/test/IceUtil/unicode/Client.cpp	2012-03-04 20:14:53.000000000 +0100
3
@@ -15,6 +15,10 @@
4
 #   include <io.h>
5
 #endif
6
 
7
+#ifdef __FreeBSD__
8
+#   include <unistd.h>
9
+#endif
10
+
11
 using namespace IceUtil;
12
 using namespace std;
13
 
(-)./files/patch-cpp-test-Slice-keyword-Client.cpp (-20 lines)
Lines 1-20 Link Here
1
--- cpp.orig/test/Slice/keyword/Client.cpp	2011-06-15 21:43:59.000000000 +0200
2
+++ cpp/test/Slice/keyword/Client.cpp	2012-03-04 20:14:53.000000000 +0100
3
@@ -73,6 +73,9 @@
4
     virtual void ice_response(Ice::Int)  {}
5
     virtual void ice_exception(const ::Ice::Exception&) {}
6
 };
7
+
8
+template<typename T>
9
+void unused(T const &) { }
10
    
11
 //
12
 // This section of the test is present to ensure that the C++ types
13
@@ -86,6 +89,7 @@
14
 
15
     _cpp_and::_cpp_auto b;
16
     b._cpp_default = 0;
17
+    unused(b);
18
 
19
     _cpp_and::deletePtr c = new _cpp_and::_cpp_delete();
20
     c->_cpp_else = "";
(-)./files/patch-scripts-TestUtil.py (-11 / +10 lines)
Lines 1-6 Link Here
1
--- scripts.orig/TestUtil.py	2011-06-15 21:44:00.000000000 +0200
1
--- scripts.orig/TestUtil.py	2013-03-11 15:19:47.000000000 +0000
2
+++ scripts/TestUtil.py	2012-03-04 20:14:53.000000000 +0100
2
+++ scripts/TestUtil.py	2013-05-21 00:29:37.903194948 +0000
3
@@ -74,6 +74,25 @@
3
@@ -84,6 +84,25 @@
4
 def isLinux():
4
 def isLinux():
5
     return sys.platform.startswith("linux")
5
     return sys.platform.startswith("linux")
6
 
6
 
Lines 26-44 Link Here
26
 def getCppCompiler():
26
 def getCppCompiler():
27
     compiler = ""
27
     compiler = ""
28
     if os.environ.get("CPP_COMPILER", "") != "":
28
     if os.environ.get("CPP_COMPILER", "") != "":
29
@@ -1590,7 +1609,15 @@
29
@@ -1846,6 +1865,14 @@
30
             if isDarwin() and "nodarwin" in config:
30
                 print("%s*** test not supported under Darwin%s" % (prefix, suffix))
31
                 print "%s*** test not supported under Darwin%s" % (prefix, suffix)
32
                 continue
31
                 continue
33
+
32
 
34
+            if isFreeBSD() and "nofreebsd" in config:
33
+            if isFreeBSD() and "nofreebsd" in config:
35
+                print "%s*** test not supported under FreeBSD%s" % (prefix, suffix)
34
+                print("%s*** test not supported under FreeBSD%s" % (prefix, suffix))
36
+                continue
35
+                continue
37
             
36
+
38
+            if isFreeBSDJail() and "nofreebsdjail" in config:
37
+            if isFreeBSDJail() and "nofreebsdjail" in config:
39
+                print "%s*** test not supported within a FreeBSD Jail%s" % (prefix, suffix)
38
+                print("%s*** test not supported within a FreeBSD Jail%s" % (prefix, suffix))
40
+                continue
39
+                continue
41
+
40
+
42
             if not isWin32() and "win32only" in config:
41
             if not isWin32() and "win32only" in config:
43
                 print "%s*** test only supported under Win32%s" % (prefix, suffix)
42
                 print("%s*** test only supported under Win32%s" % (prefix, suffix))
44
                 continue
43
                 continue
(-)./pkg-message (+14 lines)
Line 0 Link Here
1
The default on-the-wire encoding for Ice changed in version 3.5 and IPv6
2
is now enabled by default. ABI versions are not compatible.
3
4
For details on these and additional changes please read the upgrading
5
instructions available at
6
7
	http://doc.zeroc.com/x/SQpN
8
9
For on-the-wire background compatibility add
10
11
	Ice.IPv6=0
12
	Ice.Default.EncodingVersion=1.0
13
14
to your Ice application configuration.
(-)./pkg-plist (-35 / +78 lines)
Lines 41-52 Link Here
41
include/Freeze/TransactionalEvictor.h
41
include/Freeze/TransactionalEvictor.h
42
include/Glacier2/Application.h
42
include/Glacier2/Application.h
43
include/Glacier2/Glacier2.h
43
include/Glacier2/Glacier2.h
44
include/Glacier2/Metrics.h
44
include/Glacier2/PermissionsVerifier.h
45
include/Glacier2/PermissionsVerifier.h
45
include/Glacier2/PermissionsVerifierF.h
46
include/Glacier2/PermissionsVerifierF.h
46
include/Glacier2/Router.h
47
include/Glacier2/Router.h
47
include/Glacier2/RouterF.h
48
include/Glacier2/RouterF.h
48
include/Glacier2/SSLInfo.h
49
include/Glacier2/SSLInfo.h
49
include/Glacier2/Session.h
50
include/Glacier2/Session.h
51
include/Glacier2/SessionHelper.h
50
include/Ice/Application.h
52
include/Ice/Application.h
51
include/Ice/BasicStream.h
53
include/Ice/BasicStream.h
52
include/Ice/Buffer.h
54
include/Ice/Buffer.h
Lines 77-82 Link Here
77
include/Ice/FacetMap.h
79
include/Ice/FacetMap.h
78
include/Ice/FactoryTable.h
80
include/Ice/FactoryTable.h
79
include/Ice/FactoryTableInit.h
81
include/Ice/FactoryTableInit.h
82
include/Ice/Format.h
80
include/Ice/Functional.h
83
include/Ice/Functional.h
81
include/Ice/GCCountMap.h
84
include/Ice/GCCountMap.h
82
include/Ice/GCShared.h
85
include/Ice/GCShared.h
Lines 91-96 Link Here
91
include/Ice/IncomingAsyncF.h
94
include/Ice/IncomingAsyncF.h
92
include/Ice/Initialize.h
95
include/Ice/Initialize.h
93
include/Ice/InstanceF.h
96
include/Ice/InstanceF.h
97
include/Ice/Instrumentation.h
98
include/Ice/InstrumentationF.h
94
include/Ice/LocalException.h
99
include/Ice/LocalException.h
95
include/Ice/LocalObject.h
100
include/Ice/LocalObject.h
96
include/Ice/LocalObjectF.h
101
include/Ice/LocalObjectF.h
Lines 99-104 Link Here
99
include/Ice/Logger.h
104
include/Ice/Logger.h
100
include/Ice/LoggerF.h
105
include/Ice/LoggerF.h
101
include/Ice/LoggerUtil.h
106
include/Ice/LoggerUtil.h
107
include/Ice/Metrics.h
108
include/Ice/MetricsAdminI.h
109
include/Ice/MetricsFunctional.h
110
include/Ice/MetricsObserverI.h
102
include/Ice/Object.h
111
include/Ice/Object.h
103
include/Ice/ObjectAdapter.h
112
include/Ice/ObjectAdapter.h
104
include/Ice/ObjectAdapterF.h
113
include/Ice/ObjectAdapterF.h
Lines 106-111 Link Here
106
include/Ice/ObjectF.h
115
include/Ice/ObjectF.h
107
include/Ice/ObjectFactory.h
116
include/Ice/ObjectFactory.h
108
include/Ice/ObjectFactoryF.h
117
include/Ice/ObjectFactoryF.h
118
include/Ice/ObjectFactoryManagerF.h
119
include/Ice/ObserverHelper.h
109
include/Ice/Outgoing.h
120
include/Ice/Outgoing.h
110
include/Ice/OutgoingAsync.h
121
include/Ice/OutgoingAsync.h
111
include/Ice/OutgoingAsyncF.h
122
include/Ice/OutgoingAsyncF.h
Lines 114-119 Link Here
114
include/Ice/Process.h
125
include/Ice/Process.h
115
include/Ice/ProcessF.h
126
include/Ice/ProcessF.h
116
include/Ice/Properties.h
127
include/Ice/Properties.h
128
include/Ice/PropertiesAdmin.h
117
include/Ice/PropertiesF.h
129
include/Ice/PropertiesF.h
118
include/Ice/Protocol.h
130
include/Ice/Protocol.h
119
include/Ice/ProtocolPluginFacade.h
131
include/Ice/ProtocolPluginFacade.h
Lines 132-144 Link Here
132
include/Ice/Service.h
144
include/Ice/Service.h
133
include/Ice/SliceChecksumDict.h
145
include/Ice/SliceChecksumDict.h
134
include/Ice/SliceChecksums.h
146
include/Ice/SliceChecksums.h
147
include/Ice/SlicedData.h
148
include/Ice/SlicedDataF.h
135
include/Ice/Stats.h
149
include/Ice/Stats.h
136
include/Ice/StatsF.h
150
include/Ice/StatsF.h
137
include/Ice/Stream.h
151
include/Ice/Stream.h
138
include/Ice/StreamF.h
152
include/Ice/StreamF.h
153
include/Ice/StreamHelpers.h
139
include/Ice/StringConverter.h
154
include/Ice/StringConverter.h
140
include/Ice/UndefSysMacros.h
155
include/Ice/UndefSysMacros.h
141
include/Ice/UserExceptionFactory.h
156
include/Ice/UserExceptionFactory.h
157
include/Ice/Version.h
142
include/IceBox/IceBox.h
158
include/IceBox/IceBox.h
143
include/IceGrid/Admin.h
159
include/IceGrid/Admin.h
144
include/IceGrid/Descriptor.h
160
include/IceGrid/Descriptor.h
Lines 160-165 Link Here
160
include/IceSSL/IceSSL.h
176
include/IceSSL/IceSSL.h
161
include/IceSSL/Plugin.h
177
include/IceSSL/Plugin.h
162
include/IceStorm/IceStorm.h
178
include/IceStorm/IceStorm.h
179
include/IceStorm/Metrics.h
163
include/IceUtil/AbstractMutex.h
180
include/IceUtil/AbstractMutex.h
164
include/IceUtil/ArgVector.h
181
include/IceUtil/ArgVector.h
165
include/IceUtil/Cache.h
182
include/IceUtil/Cache.h
Lines 181-194 Link Here
181
include/IceUtil/MutexProtocol.h
198
include/IceUtil/MutexProtocol.h
182
include/IceUtil/MutexPtrLock.h
199
include/IceUtil/MutexPtrLock.h
183
include/IceUtil/MutexPtrTryLock.h
200
include/IceUtil/MutexPtrTryLock.h
201
include/IceUtil/Optional.h
184
include/IceUtil/Options.h
202
include/IceUtil/Options.h
185
include/IceUtil/OutputUtil.h
203
include/IceUtil/OutputUtil.h
186
include/IceUtil/RWRecMutex.h
187
include/IceUtil/Random.h
204
include/IceUtil/Random.h
188
include/IceUtil/RecMutex.h
205
include/IceUtil/RecMutex.h
206
include/IceUtil/ScannerConfig.h
189
include/IceUtil/ScopedArray.h
207
include/IceUtil/ScopedArray.h
190
include/IceUtil/Shared.h
208
include/IceUtil/Shared.h
191
include/IceUtil/StaticMutex.h
209
include/IceUtil/StopWatch.h
192
include/IceUtil/StringUtil.h
210
include/IceUtil/StringUtil.h
193
include/IceUtil/Thread.h
211
include/IceUtil/Thread.h
194
include/IceUtil/ThreadException.h
212
include/IceUtil/ThreadException.h
Lines 196-201 Link Here
196
include/IceUtil/Timer.h
214
include/IceUtil/Timer.h
197
include/IceUtil/UUID.h
215
include/IceUtil/UUID.h
198
include/IceUtil/Unicode.h
216
include/IceUtil/Unicode.h
217
include/IceUtil/UniquePtr.h
199
include/IceXML/Parser.h
218
include/IceXML/Parser.h
200
include/Slice/CPlusPlusUtil.h
219
include/Slice/CPlusPlusUtil.h
201
include/Slice/Checksum.h
220
include/Slice/Checksum.h
Lines 211-260 Link Here
211
include/Slice/Util.h
230
include/Slice/Util.h
212
lib/ImportKey.class
231
lib/ImportKey.class
213
lib/libFreeze.so
232
lib/libFreeze.so
214
lib/libFreeze.so.3.4.2
233
lib/libFreeze.so.3.5.0
215
lib/libFreeze.so.34
234
lib/libFreeze.so.35
216
lib/libGlacier2.so
235
lib/libGlacier2.so
217
lib/libGlacier2.so.3.4.2
236
lib/libGlacier2.so.3.5.0
218
lib/libGlacier2.so.34
237
lib/libGlacier2.so.35
219
lib/libIce.so
238
lib/libIce.so
220
lib/libIce.so.3.4.2
239
lib/libIce.so.3.5.0
221
lib/libIce.so.34
240
lib/libIce.so.35
222
lib/libIceBox.so
241
lib/libIceBox.so
223
lib/libIceBox.so.3.4.2
242
lib/libIceBox.so.3.5.0
224
lib/libIceBox.so.34
243
lib/libIceBox.so.35
225
lib/libIceDB.so
244
lib/libIceDB.so
226
lib/libIceDB.so.3.4.2
245
lib/libIceDB.so.3.5.0
227
lib/libIceDB.so.34
246
lib/libIceDB.so.35
228
lib/libIceGrid.so
247
lib/libIceGrid.so
229
lib/libIceGrid.so.3.4.2
248
lib/libIceGrid.so.3.5.0
230
lib/libIceGrid.so.34
249
lib/libIceGrid.so.35
231
lib/libIceGridFreezeDB.so
250
lib/libIceGridFreezeDB.so
232
lib/libIceGridFreezeDB.so.3.4.2
251
lib/libIceGridFreezeDB.so.3.5.0
233
lib/libIceGridFreezeDB.so.34
252
lib/libIceGridFreezeDB.so.35
234
lib/libIcePatch2.so
253
lib/libIcePatch2.so
235
lib/libIcePatch2.so.3.4.2
254
lib/libIcePatch2.so.3.5.0
236
lib/libIcePatch2.so.34
255
lib/libIcePatch2.so.35
237
lib/libIceSSL.so
256
lib/libIceSSL.so
238
lib/libIceSSL.so.3.4.2
257
lib/libIceSSL.so.3.5.0
239
lib/libIceSSL.so.34
258
lib/libIceSSL.so.35
240
lib/libIceStorm.so
259
lib/libIceStorm.so
241
lib/libIceStorm.so.3.4.2
260
lib/libIceStorm.so.3.5.0
242
lib/libIceStorm.so.34
261
lib/libIceStorm.so.35
243
lib/libIceStormFreezeDB.so
262
lib/libIceStormFreezeDB.so
244
lib/libIceStormFreezeDB.so.3.4.2
263
lib/libIceStormFreezeDB.so.3.5.0
245
lib/libIceStormFreezeDB.so.34
264
lib/libIceStormFreezeDB.so.35
246
lib/libIceStormService.so
265
lib/libIceStormService.so
247
lib/libIceStormService.so.3.4.2
266
lib/libIceStormService.so.3.5.0
248
lib/libIceStormService.so.34
267
lib/libIceStormService.so.35
249
lib/libIceUtil.so
268
lib/libIceUtil.so
250
lib/libIceUtil.so.3.4.2
269
lib/libIceUtil.so.3.5.0
251
lib/libIceUtil.so.34
270
lib/libIceUtil.so.35
252
lib/libIceXML.so
271
lib/libIceXML.so
253
lib/libIceXML.so.3.4.2
272
lib/libIceXML.so.3.5.0
254
lib/libIceXML.so.34
273
lib/libIceXML.so.35
255
lib/libSlice.so
274
lib/libSlice.so
256
lib/libSlice.so.3.4.2
275
lib/libSlice.so.3.5.0
257
lib/libSlice.so.34
276
lib/libSlice.so.35
258
%%DATADIR%%/Freeze/BackgroundSaveEvictor.ice
277
%%DATADIR%%/Freeze/BackgroundSaveEvictor.ice
259
%%DATADIR%%/Freeze/CatalogData.ice
278
%%DATADIR%%/Freeze/CatalogData.ice
260
%%DATADIR%%/Freeze/Connection.ice
279
%%DATADIR%%/Freeze/Connection.ice
Lines 266-271 Link Here
266
%%DATADIR%%/Freeze/Exception.ice
285
%%DATADIR%%/Freeze/Exception.ice
267
%%DATADIR%%/Freeze/Transaction.ice
286
%%DATADIR%%/Freeze/Transaction.ice
268
%%DATADIR%%/Freeze/TransactionalEvictor.ice
287
%%DATADIR%%/Freeze/TransactionalEvictor.ice
288
%%DATADIR%%/Glacier2/Metrics.ice
269
%%DATADIR%%/Glacier2/PermissionsVerifier.ice
289
%%DATADIR%%/Glacier2/PermissionsVerifier.ice
270
%%DATADIR%%/Glacier2/PermissionsVerifierF.ice
290
%%DATADIR%%/Glacier2/PermissionsVerifierF.ice
271
%%DATADIR%%/Glacier2/Router.ice
291
%%DATADIR%%/Glacier2/Router.ice
Lines 286-296 Link Here
286
%%DATADIR%%/Ice/Identity.ice
306
%%DATADIR%%/Ice/Identity.ice
287
%%DATADIR%%/Ice/ImplicitContext.ice
307
%%DATADIR%%/Ice/ImplicitContext.ice
288
%%DATADIR%%/Ice/ImplicitContextF.ice
308
%%DATADIR%%/Ice/ImplicitContextF.ice
309
%%DATADIR%%/Ice/Instrumentation.ice
310
%%DATADIR%%/Ice/InstrumentationF.ice
289
%%DATADIR%%/Ice/LocalException.ice
311
%%DATADIR%%/Ice/LocalException.ice
290
%%DATADIR%%/Ice/Locator.ice
312
%%DATADIR%%/Ice/Locator.ice
291
%%DATADIR%%/Ice/LocatorF.ice
313
%%DATADIR%%/Ice/LocatorF.ice
292
%%DATADIR%%/Ice/Logger.ice
314
%%DATADIR%%/Ice/Logger.ice
293
%%DATADIR%%/Ice/LoggerF.ice
315
%%DATADIR%%/Ice/LoggerF.ice
316
%%DATADIR%%/Ice/Metrics.ice
294
%%DATADIR%%/Ice/ObjectAdapter.ice
317
%%DATADIR%%/Ice/ObjectAdapter.ice
295
%%DATADIR%%/Ice/ObjectAdapterF.ice
318
%%DATADIR%%/Ice/ObjectAdapterF.ice
296
%%DATADIR%%/Ice/ObjectFactory.ice
319
%%DATADIR%%/Ice/ObjectFactory.ice
Lines 308-313 Link Here
308
%%DATADIR%%/Ice/SliceChecksumDict.ice
331
%%DATADIR%%/Ice/SliceChecksumDict.ice
309
%%DATADIR%%/Ice/Stats.ice
332
%%DATADIR%%/Ice/Stats.ice
310
%%DATADIR%%/Ice/StatsF.ice
333
%%DATADIR%%/Ice/StatsF.ice
334
%%DATADIR%%/Ice/Version.ice
311
%%DATADIR%%/IceBox/IceBox.ice
335
%%DATADIR%%/IceBox/IceBox.ice
312
%%DATADIR%%/IceGrid/Admin.ice
336
%%DATADIR%%/IceGrid/Admin.ice
313
%%DATADIR%%/IceGrid/Descriptor.ice
337
%%DATADIR%%/IceGrid/Descriptor.ice
Lines 324-336 Link Here
324
%%DATADIR%%/IceSSL/ConnectionInfo.ice
348
%%DATADIR%%/IceSSL/ConnectionInfo.ice
325
%%DATADIR%%/IceSSL/EndpointInfo.ice
349
%%DATADIR%%/IceSSL/EndpointInfo.ice
326
%%DATADIR%%/IceStorm/IceStorm.ice
350
%%DATADIR%%/IceStorm/IceStorm.ice
351
%%DATADIR%%/IceStorm/Metrics.ice
327
%%DATADIR%%/LICENSE
352
%%DATADIR%%/LICENSE
328
%%DATADIR%%/config/convertssl.py
353
%%DATADIR%%/config/convertssl.py
329
%%DATADIR%%/config/icegrid-slice.3.1.ice.gz
354
%%DATADIR%%/config/icegrid-slice.3.1.ice.gz
330
%%DATADIR%%/config/icegrid-slice.3.2.ice.gz
355
%%DATADIR%%/config/icegrid-slice.3.2.ice.gz
331
%%DATADIR%%/config/icegrid-slice.3.3.ice.gz
356
%%DATADIR%%/config/icegrid-slice.3.3.ice.gz
357
%%DATADIR%%/config/icegrid-slice.3.5.ice.gz
332
%%DATADIR%%/config/templates.xml
358
%%DATADIR%%/config/templates.xml
333
%%DATADIR%%/config/upgradeicegrid.py
359
%%DATADIR%%/config/upgradeicegrid33.py
360
%%DATADIR%%/config/upgradeicegrid35.py
334
%%PORTDOCS%%%%DOCSDIR%%/reference/Freeze.html
361
%%PORTDOCS%%%%DOCSDIR%%/reference/Freeze.html
335
%%PORTDOCS%%%%DOCSDIR%%/reference/Freeze/BackgroundSaveEvictor.html
362
%%PORTDOCS%%%%DOCSDIR%%/reference/Freeze/BackgroundSaveEvictor.html
336
%%PORTDOCS%%%%DOCSDIR%%/reference/Freeze/CatalogData.html
363
%%PORTDOCS%%%%DOCSDIR%%/reference/Freeze/CatalogData.html
Lines 351-357 Link Here
351
%%PORTDOCS%%%%DOCSDIR%%/reference/Freeze/TransactionAlreadyInProgressException.html
378
%%PORTDOCS%%%%DOCSDIR%%/reference/Freeze/TransactionAlreadyInProgressException.html
352
%%PORTDOCS%%%%DOCSDIR%%/reference/Freeze/TransactionalEvictor.html
379
%%PORTDOCS%%%%DOCSDIR%%/reference/Freeze/TransactionalEvictor.html
353
%%PORTDOCS%%%%DOCSDIR%%/reference/Glacier2.html
380
%%PORTDOCS%%%%DOCSDIR%%/reference/Glacier2.html
354
%%PORTDOCS%%%%DOCSDIR%%/reference/Glacier2/Admin.html
355
%%PORTDOCS%%%%DOCSDIR%%/reference/Glacier2/CannotCreateSessionException.html
381
%%PORTDOCS%%%%DOCSDIR%%/reference/Glacier2/CannotCreateSessionException.html
356
%%PORTDOCS%%%%DOCSDIR%%/reference/Glacier2/IdentitySet.html
382
%%PORTDOCS%%%%DOCSDIR%%/reference/Glacier2/IdentitySet.html
357
%%PORTDOCS%%%%DOCSDIR%%/reference/Glacier2/PermissionDeniedException.html
383
%%PORTDOCS%%%%DOCSDIR%%/reference/Glacier2/PermissionDeniedException.html
Lines 389-394 Link Here
389
%%PORTDOCS%%%%DOCSDIR%%/reference/Ice/DNSException.html
415
%%PORTDOCS%%%%DOCSDIR%%/reference/Ice/DNSException.html
390
%%PORTDOCS%%%%DOCSDIR%%/reference/Ice/DatagramLimitException.html
416
%%PORTDOCS%%%%DOCSDIR%%/reference/Ice/DatagramLimitException.html
391
%%PORTDOCS%%%%DOCSDIR%%/reference/Ice/EncapsulationException.html
417
%%PORTDOCS%%%%DOCSDIR%%/reference/Ice/EncapsulationException.html
418
%%PORTDOCS%%%%DOCSDIR%%/reference/Ice/EncodingVersion.html
392
%%PORTDOCS%%%%DOCSDIR%%/reference/Ice/Endpoint.html
419
%%PORTDOCS%%%%DOCSDIR%%/reference/Ice/Endpoint.html
393
%%PORTDOCS%%%%DOCSDIR%%/reference/Ice/EndpointInfo.html
420
%%PORTDOCS%%%%DOCSDIR%%/reference/Ice/EndpointInfo.html
394
%%PORTDOCS%%%%DOCSDIR%%/reference/Ice/EndpointParseException.html
421
%%PORTDOCS%%%%DOCSDIR%%/reference/Ice/EndpointParseException.html
Lines 407-412 Link Here
407
%%PORTDOCS%%%%DOCSDIR%%/reference/Ice/IllegalMessageSizeException.html
434
%%PORTDOCS%%%%DOCSDIR%%/reference/Ice/IllegalMessageSizeException.html
408
%%PORTDOCS%%%%DOCSDIR%%/reference/Ice/ImplicitContext.html
435
%%PORTDOCS%%%%DOCSDIR%%/reference/Ice/ImplicitContext.html
409
%%PORTDOCS%%%%DOCSDIR%%/reference/Ice/InitializationException.html
436
%%PORTDOCS%%%%DOCSDIR%%/reference/Ice/InitializationException.html
437
%%PORTDOCS%%%%DOCSDIR%%/reference/Ice/Instrumentation.html
410
%%PORTDOCS%%%%DOCSDIR%%/reference/Ice/InvalidReplicaGroupIdException.html
438
%%PORTDOCS%%%%DOCSDIR%%/reference/Ice/InvalidReplicaGroupIdException.html
411
%%PORTDOCS%%%%DOCSDIR%%/reference/Ice/Locator.html
439
%%PORTDOCS%%%%DOCSDIR%%/reference/Ice/Locator.html
412
%%PORTDOCS%%%%DOCSDIR%%/reference/Ice/LocatorRegistry.html
440
%%PORTDOCS%%%%DOCSDIR%%/reference/Ice/LocatorRegistry.html
Lines 432-437 Link Here
432
%%PORTDOCS%%%%DOCSDIR%%/reference/Ice/Properties.html
460
%%PORTDOCS%%%%DOCSDIR%%/reference/Ice/Properties.html
433
%%PORTDOCS%%%%DOCSDIR%%/reference/Ice/PropertiesAdmin.html
461
%%PORTDOCS%%%%DOCSDIR%%/reference/Ice/PropertiesAdmin.html
434
%%PORTDOCS%%%%DOCSDIR%%/reference/Ice/ProtocolException.html
462
%%PORTDOCS%%%%DOCSDIR%%/reference/Ice/ProtocolException.html
463
%%PORTDOCS%%%%DOCSDIR%%/reference/Ice/ProtocolVersion.html
435
%%PORTDOCS%%%%DOCSDIR%%/reference/Ice/ProxyParseException.html
464
%%PORTDOCS%%%%DOCSDIR%%/reference/Ice/ProxyParseException.html
436
%%PORTDOCS%%%%DOCSDIR%%/reference/Ice/ProxyUnmarshalException.html
465
%%PORTDOCS%%%%DOCSDIR%%/reference/Ice/ProxyUnmarshalException.html
437
%%PORTDOCS%%%%DOCSDIR%%/reference/Ice/RequestFailedException.html
466
%%PORTDOCS%%%%DOCSDIR%%/reference/Ice/RequestFailedException.html
Lines 461-466 Link Here
461
%%PORTDOCS%%%%DOCSDIR%%/reference/Ice/UnsupportedEncodingException.html
490
%%PORTDOCS%%%%DOCSDIR%%/reference/Ice/UnsupportedEncodingException.html
462
%%PORTDOCS%%%%DOCSDIR%%/reference/Ice/UnsupportedProtocolException.html
491
%%PORTDOCS%%%%DOCSDIR%%/reference/Ice/UnsupportedProtocolException.html
463
%%PORTDOCS%%%%DOCSDIR%%/reference/Ice/VersionMismatchException.html
492
%%PORTDOCS%%%%DOCSDIR%%/reference/Ice/VersionMismatchException.html
493
%%PORTDOCS%%%%DOCSDIR%%/reference/Ice/VersionParseException.html
464
%%PORTDOCS%%%%DOCSDIR%%/reference/IceBox.html
494
%%PORTDOCS%%%%DOCSDIR%%/reference/IceBox.html
465
%%PORTDOCS%%%%DOCSDIR%%/reference/IceBox/AlreadyStartedException.html
495
%%PORTDOCS%%%%DOCSDIR%%/reference/IceBox/AlreadyStartedException.html
466
%%PORTDOCS%%%%DOCSDIR%%/reference/IceBox/AlreadyStoppedException.html
496
%%PORTDOCS%%%%DOCSDIR%%/reference/IceBox/AlreadyStoppedException.html
Lines 545-552 Link Here
545
%%PORTDOCS%%%%DOCSDIR%%/reference/IceGrid/TemplateDescriptor.html
575
%%PORTDOCS%%%%DOCSDIR%%/reference/IceGrid/TemplateDescriptor.html
546
%%PORTDOCS%%%%DOCSDIR%%/reference/IceGrid/UserAccountMapper.html
576
%%PORTDOCS%%%%DOCSDIR%%/reference/IceGrid/UserAccountMapper.html
547
%%PORTDOCS%%%%DOCSDIR%%/reference/IceGrid/UserAccountNotFoundException.html
577
%%PORTDOCS%%%%DOCSDIR%%/reference/IceGrid/UserAccountNotFoundException.html
578
%%PORTDOCS%%%%DOCSDIR%%/reference/IceMX.html
579
%%PORTDOCS%%%%DOCSDIR%%/reference/IceMX/ConnectionMetrics.html
580
%%PORTDOCS%%%%DOCSDIR%%/reference/IceMX/DispatchMetrics.html
581
%%PORTDOCS%%%%DOCSDIR%%/reference/IceMX/InvocationMetrics.html
582
%%PORTDOCS%%%%DOCSDIR%%/reference/IceMX/Metrics.html
583
%%PORTDOCS%%%%DOCSDIR%%/reference/IceMX/MetricsAdmin.html
584
%%PORTDOCS%%%%DOCSDIR%%/reference/IceMX/MetricsFailures.html
585
%%PORTDOCS%%%%DOCSDIR%%/reference/IceMX/RemoteMetrics.html
586
%%PORTDOCS%%%%DOCSDIR%%/reference/IceMX/SessionMetrics.html
587
%%PORTDOCS%%%%DOCSDIR%%/reference/IceMX/SubscriberMetrics.html
588
%%PORTDOCS%%%%DOCSDIR%%/reference/IceMX/ThreadMetrics.html
589
%%PORTDOCS%%%%DOCSDIR%%/reference/IceMX/TopicMetrics.html
590
%%PORTDOCS%%%%DOCSDIR%%/reference/IceMX/UnknownMetricsView.html
548
%%PORTDOCS%%%%DOCSDIR%%/reference/IcePatch2.html
591
%%PORTDOCS%%%%DOCSDIR%%/reference/IcePatch2.html
549
%%PORTDOCS%%%%DOCSDIR%%/reference/IcePatch2/Admin.html
550
%%PORTDOCS%%%%DOCSDIR%%/reference/IcePatch2/FileAccessException.html
592
%%PORTDOCS%%%%DOCSDIR%%/reference/IcePatch2/FileAccessException.html
551
%%PORTDOCS%%%%DOCSDIR%%/reference/IcePatch2/FileInfo.html
593
%%PORTDOCS%%%%DOCSDIR%%/reference/IcePatch2/FileInfo.html
552
%%PORTDOCS%%%%DOCSDIR%%/reference/IcePatch2/FileServer.html
594
%%PORTDOCS%%%%DOCSDIR%%/reference/IcePatch2/FileServer.html
Lines 589-594 Link Here
589
%%PORTDOCS%%@dirrm %%DOCSDIR%%/reference/IceStorm
631
%%PORTDOCS%%@dirrm %%DOCSDIR%%/reference/IceStorm
590
%%PORTDOCS%%@dirrm %%DOCSDIR%%/reference/IceSSL
632
%%PORTDOCS%%@dirrm %%DOCSDIR%%/reference/IceSSL
591
%%PORTDOCS%%@dirrm %%DOCSDIR%%/reference/IcePatch2
633
%%PORTDOCS%%@dirrm %%DOCSDIR%%/reference/IcePatch2
634
%%PORTDOCS%%@dirrm %%DOCSDIR%%/reference/IceMX
592
%%PORTDOCS%%@dirrm %%DOCSDIR%%/reference/IceGrid
635
%%PORTDOCS%%@dirrm %%DOCSDIR%%/reference/IceGrid
593
%%PORTDOCS%%@dirrm %%DOCSDIR%%/reference/IceBox
636
%%PORTDOCS%%@dirrm %%DOCSDIR%%/reference/IceBox
594
%%PORTDOCS%%@dirrm %%DOCSDIR%%/reference/Ice
637
%%PORTDOCS%%@dirrm %%DOCSDIR%%/reference/Ice

Return to bug 179233