dns_unbound.patch
author Hajime Tazaki <tazaki@nict.go.jp>
Fri, 11 May 2012 17:03:32 +0900
changeset 20 5ca51e147e7f
child 24 02787e1dfd96
permissions -rw-r--r--
unbound, bind9, fedora8 added
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
20
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
     1
diff -r 6a5297994128 example/dce-unbound.cc
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
     2
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
     3
+++ b/example/dce-unbound.cc	Thu Apr 26 11:21:55 2012 +0900
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
     4
@@ -0,0 +1,98 @@
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
     5
+#include "ns3/core-module.h"
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
     6
+#include "ns3/network-module.h"
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
     7
+#include "ns3/dce-module.h"
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
     8
+#include "ns3/point-to-point-module.h"
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
     9
+#include "ns3/csma-module.h"
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    10
+#include "ns3/wifi-module.h"
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    11
+#include "ns3/mobility-module.h"
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    12
+#include <fstream>
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    13
+
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    14
+using namespace ns3;
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    15
+
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    16
+static void RunIp (Ptr<Node> node, Time at, std::string str)
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    17
+{
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    18
+  DceApplicationHelper process;
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    19
+  ApplicationContainer apps;
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    20
+  process.SetBinary ("ip");
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    21
+  process.SetStackSize (1<<16);
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    22
+  process.ResetArguments();
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    23
+  process.ParseArguments(str.c_str ());
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    24
+  apps = process.Install (node);
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    25
+  apps.Start (at);
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    26
+}
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    27
+
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    28
+static void AddAddress (Ptr<Node> node, Time at, const char *name, const std::string prefixAddr,
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    29
+                        int number, std::string suffixAddr)
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    30
+{
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    31
+  std::ostringstream oss;
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    32
+  oss << "-f inet addr add " << prefixAddr << number << suffixAddr << " dev " << name;
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    33
+  RunIp (node, at, oss.str ());
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    34
+}
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    35
+
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    36
+int main (int argc, char *argv[])
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    37
+{
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    38
+  CommandLine cmd;
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    39
+  cmd.Parse (argc, argv);
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    40
+
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    41
+  NodeContainer nodes;
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    42
+  nodes.Create (2);
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    43
+
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    44
+  NetDeviceContainer devices;
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    45
+
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    46
+  PointToPointHelper p2p;
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    47
+  p2p.SetDeviceAttribute ("DataRate", StringValue ("5Gbps"));
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    48
+  p2p.SetChannelAttribute ("Delay", StringValue ("1ms"));
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    49
+  devices = p2p.Install (nodes);
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    50
+  p2p.EnablePcapAll ("process-unbound");
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    51
+
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    52
+  DceManagerHelper processManager;
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    53
+  processManager.SetLoader ("ns3::DlmLoaderFactory");
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    54
+  // processManager.SetTaskManagerAttribute ("FiberManagerType",
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    55
+  //                                         EnumValue (0));
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    56
+  processManager.SetNetworkStack("ns3::LinuxSocketFdFactory",
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    57
+				 "Library", StringValue ("libnet-next-2.6.so"));
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    58
+  processManager.Install (nodes);
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    59
+
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    60
+  for (int n=0; n < 2; n++)
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    61
+    {
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    62
+      AddAddress (nodes.Get (n), Seconds (0.1), "sim0", "10.0.0.", 2 + n, "/8" );
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    63
+      RunIp (nodes.Get (n), Seconds (0.11), "link set sim0 up arp off");
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    64
+      RunIp (nodes.Get (n), Seconds (0.2), "link show");
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    65
+      RunIp (nodes.Get (n), Seconds (0.3), "route show table all");
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    66
+      RunIp (nodes.Get (n), Seconds (0.4), "addr list");
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    67
+    }
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    68
+  RunIp (nodes.Get (1), Seconds (1.2), "route add default via 10.0.0.2 dev sim0");
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    69
+
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    70
+  DceApplicationHelper process;
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    71
+  ApplicationContainer apps;
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    72
+
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    73
+  process.SetBinary ("unbound");
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    74
+  process.ResetArguments ();
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    75
+  process.ParseArguments ("-d");
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    76
+  process.SetStackSize (1<<16);
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    77
+  apps = process.Install (nodes.Get (0));
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    78
+  apps.Start (Seconds (1.0));
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    79
+
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    80
+  for (int i = 0; i < 20; i++)
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    81
+    {
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    82
+      process.SetBinary ("unbound-host");
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    83
+      process.ResetArguments ();
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    84
+      process.ParseArguments ("www.example.com");
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    85
+      process.ParseArguments ("-d");
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    86
+      process.ParseArguments ("-d");
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    87
+      process.ParseArguments ("-v");
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    88
+      process.ParseArguments ("-r");
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    89
+      process.ParseArguments ("-f");
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    90
+      process.ParseArguments ("/etc/root.key");
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    91
+      apps = process.Install (nodes.Get (1));
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    92
+
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    93
+      apps.Start (Seconds (1+ 10*i));
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    94
+    }
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    95
+
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    96
+
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    97
+  Simulator::Stop (Seconds (2000000.0));
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    98
+  Simulator::Run ();
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    99
+  Simulator::Destroy ();
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   100
+
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   101
+  return 0;
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   102
+}
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   103
diff -r 6a5297994128 model/dce-credentials.cc
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   104
--- a/model/dce-credentials.cc	Thu Apr 26 09:56:01 2012 +0900
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   105
+++ b/model/dce-credentials.cc	Thu Apr 26 11:21:55 2012 +0900
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   106
@@ -53,3 +53,15 @@
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   107
   int ret = eaccess (rPath.c_str (), mode);
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   108
   return ret;
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   109
 }
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   110
+
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   111
+int dce_chown(const char *path, uid_t owner, gid_t group)
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   112
+{
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   113
+  // XXX
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   114
+  return 0;
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   115
+}
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   116
+
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   117
+int dce_initgroups(const char *user, gid_t group)
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   118
+{
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   119
+  // XXX
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   120
+  return 0;
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   121
+}
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   122
diff -r 6a5297994128 model/dce-stdio.cc
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   123
--- a/model/dce-stdio.cc	Thu Apr 26 09:56:01 2012 +0900
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   124
+++ b/model/dce-stdio.cc	Thu Apr 26 11:21:55 2012 +0900
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   125
@@ -722,6 +722,16 @@
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   126
   va_end (ap);
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   127
   return retval;
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   128
 }
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   129
+int dce___vsnprintf_chk (char *__restrict __s, size_t __n, int __flag,
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   130
+						size_t __slen,
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   131
+						__const char *__restrict __format, _G_va_list __ap)
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   132
+{
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   133
+  NS_LOG_FUNCTION (Current () << UtilsGetNodeId ());
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   134
+  NS_ASSERT (Current () != 0);
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   135
+
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   136
+  int retval = vsnprintf (__s, __n, __format, __ap);
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   137
+  return retval;
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   138
+}
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   139
 void dce___fpurge (FILE *stream)
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   140
 {
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   141
   NS_LOG_FUNCTION (Current () << UtilsGetNodeId () << stream);
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   142
diff -r 6a5297994128 model/dce-stdio.h
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   143
--- a/model/dce-stdio.h	Thu Apr 26 09:56:01 2012 +0900
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   144
+++ b/model/dce-stdio.h	Thu Apr 26 11:21:55 2012 +0900
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   145
@@ -62,6 +62,9 @@
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   146
 					   __const char *__restrict __format, ...);
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   147
 int dce___snprintf_chk (char *__restrict __s, size_t __n, int __flag,
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   148
 						size_t __slen, __const char *__restrict __format, ...);
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   149
+int dce___vsnprintf_chk (char *__restrict __s, size_t __n, int __flag,
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   150
+						size_t __slen,
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   151
+                         __const char *__restrict __format, _G_va_list __ap);
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   152
 
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   153
 void dce___fpurge (FILE *stream);
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   154
 size_t dce___fpending(FILE *stream);
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   155
diff -r 6a5297994128 model/dce-syslog.cc
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   156
--- a/model/dce-syslog.cc	Thu Apr 26 09:56:01 2012 +0900
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   157
+++ b/model/dce-syslog.cc	Thu Apr 26 11:21:55 2012 +0900
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   158
@@ -67,3 +67,14 @@
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   159
 
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   160
   vfprintf (process->syslog, message, args);
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   161
 }
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   162
+
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   163
+void
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   164
+dce___syslog_chk (int __pri, int __flag, __const char *__fmt, ...)
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   165
+{
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   166
+  NS_ASSERT (Current () != 0);
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   167
+
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   168
+  va_list ap;
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   169
+  va_start (ap, __fmt);
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   170
+  dce_vsyslog (__pri, __fmt, ap);
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   171
+  va_end (ap);
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   172
+}
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   173
diff -r 6a5297994128 model/dce-syslog.h
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   174
--- a/model/dce-syslog.h	Thu Apr 26 09:56:01 2012 +0900
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   175
+++ b/model/dce-syslog.h	Thu Apr 26 11:21:55 2012 +0900
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   176
@@ -19,4 +19,7 @@
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   177
 void
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   178
 dce_vsyslog (int priority, const char *message, va_list args);
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   179
 
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   180
+void
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   181
+dce___syslog_chk (int __pri, int __flag, __const char *__fmt, ...);
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   182
+
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   183
 #endif // DCE_SYSLOG_H
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   184
diff -r 6a5297994128 model/dce-unistd.h
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   185
--- a/model/dce-unistd.h	Thu Apr 26 09:56:01 2012 +0900
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   186
+++ b/model/dce-unistd.h	Thu Apr 26 11:21:55 2012 +0900
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   187
@@ -74,6 +74,8 @@
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   188
 
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   189
 ssize_t dce_pread(int fd, void *buf, size_t count, off_t offset);
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   190
 ssize_t dce_pwrite(int fd, const void *buf, size_t count, off_t offset);
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   191
+int dce_chown(const char *path, uid_t owner, gid_t group);
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   192
+int dce_initgroups(const char *user, gid_t group);
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   193
 
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   194
 #ifdef __cplusplus
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   195
 }
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   196
diff -r 6a5297994128 model/dce.cc
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   197
--- a/model/dce.cc	Thu Apr 26 09:56:01 2012 +0900
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   198
+++ b/model/dce.cc	Thu Apr 26 11:21:55 2012 +0900
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   199
@@ -141,7 +141,7 @@
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   200
       current->err = EPERM;
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   201
       return -1;
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   202
     }
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   203
-  if (sgid != (gid_t)-1 ||
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   204
+  if (sgid != (gid_t)-1 &&
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   205
       !is_set_ucapable (sgid))
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   206
     {
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   207
       current->err = EPERM;
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   208
diff -r 6a5297994128 model/dlm-loader-factory.cc
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   209
--- a/model/dlm-loader-factory.cc	Thu Apr 26 09:56:01 2012 +0900
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   210
+++ b/model/dlm-loader-factory.cc	Thu Apr 26 11:21:55 2012 +0900
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   211
@@ -3,6 +3,7 @@
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   212
 #include "ns3/fatal-error.h"
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   213
 #include <list>
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   214
 #include <dlfcn.h>
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   215
+#include <sys/stat.h>
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   216
 
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   217
 NS_LOG_COMPONENT_DEFINE ("DlmLoaderFactory");
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   218
 
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   219
@@ -34,6 +35,10 @@
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   220
   virtual void Unload (void *module);
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   221
   virtual void *Lookup (void *module, std::string symbol);
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   222
 private:
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   223
+  bool SearchFile (std::string filename, std::string *fullname) const;
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   224
+  std::list<std::string> GetSearchDirectories (void) const;
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   225
+  std::list<std::string> Split (std::string input, std::string sep) const;
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   226
+  bool Exists (std::string filename) const;
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   227
   Lmid_t m_lmid;
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   228
   std::list<void *> m_loaded;
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   229
 };
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   230
@@ -83,11 +88,98 @@
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   231
       ::dlclose (*i);
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   232
     }
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   233
 }
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   234
+std::list<std::string>
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   235
+DlmLoader::Split (std::string input, std::string sep) const
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   236
+{
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   237
+  NS_LOG_FUNCTION (this << input << sep);
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   238
+  std::list<std::string> retval;
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   239
+  std::string::size_type cur = 0, next;
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   240
+  while (true)
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   241
+    {
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   242
+      next = input.find (sep, cur);
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   243
+      if (next == cur)
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   244
+	{
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   245
+	  cur ++;
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   246
+	  continue;
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   247
+	} 
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   248
+      else if (next == std::string::npos)
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   249
+	{
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   250
+	  if (input.size () != cur)
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   251
+	    {
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   252
+	      retval.push_back (input.substr (cur, input.size () - cur));
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   253
+	    }
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   254
+	  break;
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   255
+	}
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   256
+      retval.push_back (input.substr (cur, next - cur));
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   257
+      cur = next + 1;
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   258
+    }
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   259
+  return retval;
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   260
+}
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   261
+std::list<std::string>
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   262
+DlmLoader::GetSearchDirectories (void) const
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   263
+{
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   264
+  NS_LOG_FUNCTION (this);
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   265
+  std::list<std::string> directories;
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   266
+  char *ldLibraryPath = getenv ("LD_LIBRARY_PATH");
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   267
+  if (ldLibraryPath != 0)
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   268
+    {
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   269
+      std::list<std::string> tmp = Split (ldLibraryPath, ":");
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   270
+      directories.insert (directories.end (), 
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   271
+			  tmp.begin (),
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   272
+			  tmp.end ());
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   273
+    }
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   274
+  char *path = getenv ("PATH");
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   275
+  if (path != 0)
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   276
+    {
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   277
+      std::list<std::string> tmp = Split (path, ":");
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   278
+      directories.insert (directories.end (), 
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   279
+			  tmp.begin (),
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   280
+			  tmp.end ());
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   281
+    }
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   282
+  directories.push_back ("/lib");
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   283
+  directories.push_back ("/usr/lib");
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   284
+  directories.push_back (".");
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   285
+  return directories;
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   286
+}
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   287
+bool
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   288
+DlmLoader::Exists (std::string filename) const
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   289
+{
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   290
+  //NS_LOG_FUNCTION (this << filename);
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   291
+  struct stat st;
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   292
+  int retval = ::stat (filename.c_str (), &st);
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   293
+  return retval == 0;
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   294
+}
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   295
+bool
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   296
+DlmLoader::SearchFile (std::string filename, std::string *fullname) const
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   297
+{
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   298
+  NS_LOG_FUNCTION (this << filename);
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   299
+  if (Exists (filename))
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   300
+    {
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   301
+      *fullname = filename;
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   302
+      NS_LOG_DEBUG ("Found: " << filename << " as " << *fullname);
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   303
+      return true;
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   304
+    }
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   305
+  std::list<std::string> dirs = GetSearchDirectories ();
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   306
+  for (std::list<std::string>::const_iterator i = dirs.begin (); i != dirs.end (); i++)
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   307
+    {
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   308
+      if (Exists (*i + "/" + filename))
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   309
+	{
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   310
+	  *fullname = *i + "/" + filename;
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   311
+	  NS_LOG_DEBUG ("Found: " << filename << " as " << *fullname);
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   312
+	  return true;
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   313
+	}
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   314
+    }
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   315
+  return false;
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   316
+}
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   317
 void *
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   318
 DlmLoader::Load (std::string filename, int flag)
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   319
 {
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   320
+  std::string fullname;
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   321
+  bool found;
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   322
   NS_LOG_FUNCTION (this << filename << flag);
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   323
-  void *module = dlmopen (m_lmid, filename.c_str (), flag);
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   324
+  found = SearchFile (filename, &fullname);
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   325
+  NS_ASSERT (found);
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   326
+  void *module = dlmopen (m_lmid, fullname.c_str (), flag);
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   327
   m_loaded.push_back (module);
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   328
   return module;
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   329
 }
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   330
diff -r 6a5297994128 model/libc-dce.cc
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   331
--- a/model/libc-dce.cc	Thu Apr 26 09:56:01 2012 +0900
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   332
+++ b/model/libc-dce.cc	Thu Apr 26 11:21:55 2012 +0900
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   333
@@ -129,11 +129,13 @@
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   334
      __THROW;
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   335
 extern int __obstack_vprintf_chk (struct obstack *, int, const char *,
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   336
                   _G_va_list) __THROW;
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   337
+extern void __syslog_chk (int __pri, int __flag, __const char *__fmt, ...);
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   338
 
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   339
 typedef void (*func_t) (...);
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   340
 
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   341
 extern "C" {
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   342
 
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   343
+extern void *__memcpy_chk(void *dest, const void *src, size_t n, size_t __destlen);
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   344
 void libc_dce (struct Libc **libc)
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   345
 {
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   346
   *libc = new Libc;
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   347
diff -r 6a5297994128 model/libc-ns3.h
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   348
--- a/model/libc-ns3.h	Thu Apr 26 09:56:01 2012 +0900
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   349
+++ b/model/libc-ns3.h	Thu Apr 26 11:21:55 2012 +0900
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   350
@@ -83,6 +83,7 @@
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   351
 DCE    (writev)
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   352
 NATIVE (memset)
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   353
 NATIVE (memcpy)
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   354
+NATIVE (__memcpy_chk)
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   355
 NATIVE (bcopy)
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   356
 NATIVE (memcmp)
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   357
 NATIVE (memmove)
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   358
@@ -102,6 +103,7 @@
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   359
 NATIVE_EXPLICIT (strchr, char* (*) (char *, int))
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   360
 NATIVE_EXPLICIT (strrchr, const char * (*) (const char *, int))
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   361
 //DCE (strrchr)
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   362
+NATIVE_EXPLICIT (strstr, const char * (*) (const char *, const char *))
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   363
 NATIVE (strcasecmp)
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   364
 NATIVE (strncasecmp)
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   365
 
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   366
@@ -129,6 +131,7 @@
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   367
 DCE    (__vfprintf_chk)
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   368
 DCE    (__fprintf_chk)
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   369
 DCE    (__snprintf_chk)
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   370
+DCE    (__vsnprintf_chk)
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   371
 
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   372
 DCE_WITH_ALIAS2 (fgetc,fgetc_unlocked)
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   373
 NATIVE (getc)
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   374
@@ -357,6 +360,10 @@
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   375
 NATIVE (pthread_rwlock_destroy)
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   376
 NATIVE (pthread_setcancelstate)
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   377
 NATIVE (pthread_sigmask)
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   378
+NATIVE (pthread_spin_init)
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   379
+NATIVE (pthread_spin_lock)
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   380
+NATIVE (pthread_spin_unlock)
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   381
+NATIVE (pthread_spin_destroy)
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   382
 
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   383
 // netdb.h
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   384
 DCE    (gethostbyname)
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   385
@@ -440,6 +447,7 @@
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   386
 DCE    (setlogmask)
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   387
 DCE    (syslog)
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   388
 DCE    (vsyslog)
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   389
+DCE    (__syslog_chk)
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   390
 
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   391
 // unistd.h
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   392
 NATIVE (sysconf)
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   393
@@ -455,6 +463,8 @@
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   394
 DCE (eaccess)
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   395
 DCE (pipe)
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   396
 NATIVE (pathconf)
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   397
+DCE (chown)
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   398
+DCE (initgroups)
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   399
 
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   400
 // this is wrong. clock should be changed to DCE implementation
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   401
 DCE_WITH_ALIAS2 (clock_gettime, __vdso_clock_gettime)
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   402
diff -r 6a5297994128 wscript
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   403
--- a/wscript	Thu Apr 26 09:56:01 2012 +0900
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   404
+++ b/wscript	Thu Apr 26 11:21:55 2012 +0900
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   405
@@ -37,6 +37,8 @@
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   406
 
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   407
     conf.env.prepend_value('LINKFLAGS', '-Wl,--no-as-needed')
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   408
     conf.env.append_value('LINKFLAGS', '-pthread')
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   409
+    conf.env.append_value('LINKFLAGS', '-Wl,--dynamic-linker=' +
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   410
+                             os.path.abspath ('../build/lib/ldso'))
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   411
     conf.check (lib='dl', mandatory = True)
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   412
     conf.check_cc(fragment='int main() {__get_cpu_features();}\n', msg='Checking for glibc get_cpu_features', define_name='HAVE_GETCPUFEATURES', mandatory=False)
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   413
      
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   414
@@ -277,6 +279,10 @@
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   415
                        target='bin/dce-linux',
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   416
                        source=['example/dce-linux.cc'])
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   417
 
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   418
+    module.add_example(needed = ['core', 'network', 'dce', 'wifi', 'point-to-point', 'csma', 'mobility' ],
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   419
+                       target='bin/dce-unbound',
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   420
+                       source=['example/dce-unbound.cc'])
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   421
+
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   422
 # Add a script to build system 
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   423
 def build_a_script(bld, name, needed = [], **kw):
5ca51e147e7f unbound, bind9, fedora8 added
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   424
     external = [i for i in needed if not i == name]