Subject: RE: [dtn-users] Dtnrecv not receiving bundle properly
From: "Halkett, Brad \(Student\)" <[email-masked]>
To: <[email-masked]>
Date: Mon, 1 May 2006 10:09:39 +1000
List-Id: discussion/answers list for users of the dtn reference implementation <dtn-users.mailman.dtnrg.org>

Here is the output from dtnd -l info:

[brad@john brad]$ ./daemon/dtnd -l info -c ./daemon/dtn.conf -t
[1146442779.466844 /dtnd notice] DTN daemon starting up... (pid 9864)
[1146442779.482173 /dtnd notice] random seed is 482161
[1146442779.483836 /dtnd info] parsing configuration file
./daemon/dtn.conf...
[1146442779.492302 /dtnd info] dtnd parsing configuration...
[1146442779.492863 /interface info] adding interface tcp0 (tcp)
[1146442779.493376 /interface info] adding interface udp0 (udp)
[1146442779.503890 /link/tcp0 info] new link ONDEMAND tcp0 ->
bekele1.dsto.defen ce.gov.au:5000 (UNAVAILABLE)
[1146442779.515612 /dtnd info] dtnd configuration parsing complete
[1146442779.515920 /dtnd notice] tidy option removing directory '/bin/rm
-rf /ho me/brad/new_DTN2/brad/bundle'
[1146442779.531828 /storage/berkeleydb warning] PRUNING CONTENTS OF
/home/brad/n ew_DTN2/brad/db IN 3 SECONDS
[1146442780.533341 /storage/berkeleydb warning] PRUNING CONTENTS OF
/home/brad/n ew_DTN2/brad/db IN 2 SECONDS
[1146442781.535164 /storage/berkeleydb warning] PRUNING CONTENTS OF
/home/brad/n ew_DTN2/brad/db IN 1 SECONDS
[1146442782.537127 /storage/berkeleydb notice] tidy option removing
directory '/ bin/rm -rf /home/brad/new_DTN2/brad/db'
[1146442782.558613 /storage/berkeleydb notice] creating new database
directory / home/brad/new_DTN2/brad/db
[1146442782.559683 /storage/berkeleydb info] initializing db name=DTN
(not share d), dir=/home/brad/new_DTN2/brad/db
[1146442782.595468 /storage info] datastore /home/brad/new_DTN2/brad/db
was clea nly shut down
[1146442782.638540 /storage/globals info] initializing global table
[1146442782.682241 /dtnd info] starting console on 127.0.0.1:5050
[1146442782.715038 /bundle/daemon info] REGISTRATION_ADDED 0
dtn://brad.dtn
[1146442782.715290 /bundle/daemon notice] loading bundles from data
store
[1146442782.715555 /bundle/daemon info] LINK_AVAILABLE ONDEMAND tcp0 ->
bekele1. dsto.defence.gov.au:5000 (AVAILABLE)
[1146442782.715702 /bundle/daemon info] ROUTE_ADD dtn://bill.dtn/* ->
tcp0 (FORW ARD_COPY) [custody timeout: base 1800 lifetime_pct 25 limit
0]
[1146442782.913783 /command info] can't load tclreadline: can't find
package tcl readline
[1146442782.914139 /command info] fall back to simple command loop
dtn% [1146442837.512592 /bundle/daemon info] BUNDLE_RECEIVED (from app)
bundle i d 0 dtn://brad.dtn/b -> dtn://brad.dtn/b (5 bytes payload) (5
bytes recvd)
[1146442837.581006 /apiclient/20 info] received DTN_CLOSE message;
closing API h andle
[1146442841.050025 /bundle/daemon info] REGISTRATION_ADDED 10
dtn://brad.dtn/b
[1146442841.050261 /registration info] adding registration
10/dtn://brad.dtn/b
[1146442841.050400 /registration/10 info] deliver_bundle: queuing bundle
id 0 fo r deferred delivery to dtn://brad.dtn/b
[1146442841.051421 /bundle/daemon info] BUNDLE_DELIVERED id:0 (5 bytes)
-> regid  10 (dtn://brad.dtn/b)
[1146442843.039279 /apiclient/20 info] IPC socket closed while blocked
in read.. . application must have exited
[1146442845.388653 /bundle/daemon info] BUNDLE_RECEIVED (from app)
bundle id 1 d tn://brad.dtn/b -> dtn://brad.dtn/b (5 bytes payload) (5
bytes recvd)
[1146442845.463795 /registration/10 info] deliver_bundle: queuing bundle
id 1 fo r deferred delivery to dtn://brad.dtn/b
[1146442845.464347 /apiclient/20 info] received DTN_CLOSE message;
closing API h andle
[1146442847.619009 /bundle/daemon info] REGISTRATION_ADDED 11
dtn://brad.dtn/b
[1146442847.619244 /registration info] adding registration
11/dtn://brad.dtn/b
[1146442847.619382 /registration/11 info] deliver_bundle: queuing bundle
id 1 fo r deferred delivery to dtn://brad.dtn/b
[1146442847.620342 /bundle/daemon info] BUNDLE_DELIVERED id:1 (5 bytes)
-> regid  11 (dtn://brad.dtn/b)
[1146442851.180196 /apiclient/20 info] IPC socket closed while blocked
in read.. . application must have exited
[1146442852.105400 /bundle/daemon info] REGISTRATION_ADDED 12
dtn://brad.dtn/b
[1146442852.105635 /registration info] adding registration
12/dtn://brad.dtn/b
[1146442852.105776 /registration/12 info] deliver_bundle: queuing bundle
id 1 fo r deferred delivery to dtn://brad.dtn/b
[1146442852.106754 /bundle/daemon info] BUNDLE_DELIVERED id:1 (5 bytes)
-> regid  12 (dtn://brad.dtn/b)
[1146442852.832810 /apiclient/20 info] IPC socket closed while blocked
in read.. . application must have exited
[1146442853.450594 /bundle/daemon info] REGISTRATION_ADDED 13
dtn://brad.dtn/b
[1146442853.450833 /registration info] adding registration
13/dtn://brad.dtn/b
[1146442853.450974 /registration/13 info] deliver_bundle: queuing bundle
id 1 fo r deferred delivery to dtn://brad.dtn/b
[1146442853.451915 /bundle/daemon info] BUNDLE_DELIVERED id:1 (5 bytes)
-> regid  13 (dtn://brad.dtn/b)
[1146442854.069350 /apiclient/20 info] IPC socket closed while blocked
in read.. . application must have exited
[1146442854.745029 /bundle/daemon info] REGISTRATION_ADDED 14
dtn://brad.dtn/b
[1146442854.745267 /registration info] adding registration
14/dtn://brad.dtn/b
[1146442854.745409 /registration/14 info] deliver_bundle: queuing bundle
id 1 fo r deferred delivery to dtn://brad.dtn/b
[1146442854.746343 /bundle/daemon info] BUNDLE_DELIVERED id:1 (5 bytes)
-> regid  14 (dtn://brad.dtn/b)
[1146442855.255695 /apiclient/20 info] IPC socket closed while blocked
in read.. . application must have exited
[1146442855.930308 /bundle/daemon info] REGISTRATION_ADDED 15
dtn://brad.dtn/b
[1146442855.930549 /registration info] adding registration
15/dtn://brad.dtn/b
[1146442855.930691 /registration/15 info] deliver_bundle: queuing bundle
id 1 fo r deferred delivery to dtn://brad.dtn/b
[1146442855.931624 /bundle/daemon info] BUNDLE_DELIVERED id:1 (5 bytes)
-> regid  15 (dtn://brad.dtn/b)
[1146442856.411899 /apiclient/20 info] IPC socket closed while blocked
in read.. . application must have exited
[1146442857.099560 /bundle/daemon info] REGISTRATION_ADDED 16
dtn://brad.dtn/b
[1146442857.099799 /registration info] adding registration
16/dtn://brad.dtn/b
[1146442857.099942 /registration/16 info] deliver_bundle: queuing bundle
id 1 fo r deferred delivery to dtn://brad.dtn/b
[1146442857.100879 /bundle/daemon info] BUNDLE_DELIVERED id:1 (5 bytes)
-> regid  16 (dtn://brad.dtn/b)
[1146442857.588275 /apiclient/20 info] IPC socket closed while blocked
in read.. . application must have exited
[1146442858.284771 /bundle/daemon info] REGISTRATION_ADDED 17
dtn://brad.dtn/b
[1146442858.285008 /registration info] adding registration
17/dtn://brad.dtn/b
[1146442858.285151 /registration/17 info] deliver_bundle: queuing bundle
id 1 fo r deferred delivery to dtn://brad.dtn/b
[1146442858.286088 /bundle/daemon info] BUNDLE_DELIVERED id:1 (5 bytes)
-> regid  17 (dtn://brad.dtn/b)
[1146442858.761936 /apiclient/20 info] IPC socket closed while blocked
in read.. . application must have exited
[1146442859.432257 /bundle/daemon info] REGISTRATION_ADDED 18
dtn://brad.dtn/b
[1146442859.432495 /registration info] adding registration
18/dtn://brad.dtn/b
[1146442859.432636 /registration/18 info] deliver_bundle: queuing bundle
id 1 fo r deferred delivery to dtn://brad.dtn/b
[1146442859.542682 /bundle/daemon info] BUNDLE_DELIVERED id:1 (5 bytes)
-> regid  18 (dtn://brad.dtn/b)
[1146442859.939367 /apiclient/20 info] IPC socket closed while blocked
in read.. . application must have exited
[1146442860.626187 /bundle/daemon info] REGISTRATION_ADDED 19
dtn://brad.dtn/b
[1146442860.626425 /registration info] adding registration
19/dtn://brad.dtn/b
[1146442860.626568 /registration/19 info] deliver_bundle: queuing bundle
id 1 fo r deferred delivery to dtn://brad.dtn/b
[1146442860.724287 /bundle/daemon info] BUNDLE_DELIVERED id:1 (5 bytes)
-> regid  19 (dtn://brad.dtn/b)
[1146442862.387156 /apiclient/20 info] IPC socket closed while blocked
in read.. . application must have exited
[1146442863.047762 /bundle/daemon info] REGISTRATION_ADDED 20
dtn://brad.dtn/b
[1146442863.048001 /registration info] adding registration
20/dtn://brad.dtn/b
[1146442863.048144 /registration/20 info] deliver_bundle: queuing bundle
id 1 fo r deferred delivery to dtn://brad.dtn/b
[1146442863.049091 /bundle/daemon info] BUNDLE_DELIVERED id:1 (5 bytes)
-> regid  20 (dtn://brad.dtn/b)
[1146442863.696309 /apiclient/20 info] IPC socket closed while blocked
in read.. . application must have exited
[1146442864.326658 /bundle/daemon info] REGISTRATION_ADDED 21
dtn://brad.dtn/b
[1146442864.326896 /registration info] adding registration
21/dtn://brad.dtn/b
[1146442864.327037 /registration/21 info] deliver_bundle: queuing bundle
id 1 fo r deferred delivery to dtn://brad.dtn/b
[1146442864.327986 /bundle/daemon info] BUNDLE_DELIVERED id:1 (5 bytes)
-> regid  21 (dtn://brad.dtn/b)
[1146442865.113290 /apiclient/20 info] IPC socket closed while blocked
in read.. . application must have exited
[1146442865.705318 /bundle/daemon info] REGISTRATION_ADDED 22
dtn://brad.dtn/b
[1146442865.705558 /registration info] adding registration
22/dtn://brad.dtn/b
[1146442865.705699 /registration/22 info] deliver_bundle: queuing bundle
id 1 fo r deferred delivery to dtn://brad.dtn/b
[1146442865.706639 /bundle/daemon info] BUNDLE_DELIVERED id:1 (5 bytes)
-> regid  22 (dtn://brad.dtn/b)
[1146442866.490347 /apiclient/20 info] IPC socket closed while blocked
in read.. . application must have exited
[1146442867.143919 /bundle/daemon info] REGISTRATION_ADDED 23
dtn://brad.dtn/b
[1146442867.144190 /registration info] adding registration
23/dtn://brad.dtn/b
[1146442867.144332 /registration/23 info] deliver_bundle: queuing bundle
id 1 fo r deferred delivery to dtn://brad.dtn/b
[1146442867.238745 /bundle/daemon info] BUNDLE_DELIVERED id:1 (5 bytes)
-> regid  23 (dtn://brad.dtn/b)
[1146442867.917830 /apiclient/20 info] IPC socket closed while blocked
in read.. . application must have exited
[1146442868.544631 /bundle/daemon info] REGISTRATION_ADDED 24
dtn://brad.dtn/b
[1146442868.544880 /registration info] adding registration
24/dtn://brad.dtn/b
[1146442868.545024 /registration/24 info] deliver_bundle: queuing bundle
id 1 fo r deferred delivery to dtn://brad.dtn/b
[1146442868.545967 /bundle/daemon info] BUNDLE_DELIVERED id:1 (5 bytes)
-> regid  24 (dtn://brad.dtn/b)
[1146442869.284565 /apiclient/20 info] IPC socket closed while blocked
in read.. . application must have exited
[1146442869.896102 /bundle/daemon info] REGISTRATION_ADDED 25
dtn://brad.dtn/b
[1146442869.896340 /registration info] adding registration
25/dtn://brad.dtn/b
[1146442869.896482 /registration/25 info] deliver_bundle: queuing bundle
id 1 fo r deferred delivery to dtn://brad.dtn/b
[1146442869.897438 /bundle/daemon info] BUNDLE_DELIVERED id:1 (5 bytes)
-> regid  25 (dtn://brad.dtn/b)
[1146442870.603837 /apiclient/20 info] IPC socket closed while blocked
in read.. . application must have exited
[1146442871.050566 /bundle/daemon info] REGISTRATION_EXPIRED 10
[1146442871.050736 /registration info] removing registration 10
[1146442871.202930 /bundle/daemon info] REGISTRATION_ADDED 26
dtn://brad.dtn/b
[1146442871.202981 /registration info] adding registration
26/dtn://brad.dtn/b
[1146442871.203045 /registration/26 info] deliver_bundle: queuing bundle
id 1 fo r deferred delivery to dtn://brad.dtn/b
[1146442871.204096 /bundle/daemon info] BUNDLE_DELIVERED id:1 (5 bytes)
-> regid  26 (dtn://brad.dtn/b)
[1146442871.907992 /apiclient/20 info] IPC socket closed while blocked
in read.. . application must have exited
[1146442872.507521 /bundle/daemon info] REGISTRATION_ADDED 27
dtn://brad.dtn/b
[1146442872.507761 /registration info] adding registration
27/dtn://brad.dtn/b
[1146442877.619545 /bundle/daemon info] REGISTRATION_EXPIRED 11
[1146442877.619741 /registration info] removing registration 11
[1146442882.113840 /bundle/daemon info] REGISTRATION_EXPIRED 12
[1146442882.119770 /registration info] removing registration 12

As like last time, the first bundle is received correctly, it's the
second bundle that starts to create the problem of bundle payload
received but not bundle not deleted. I kept on starting and stopping
dtnrecv until the bundle was finally correctly received.
Hope this helps

Brad Halkett

-----Original Message-----
From: [email-masked]
[mailto:[email-masked]] On Behalf Of Michael Demmer
Sent: Friday, 28 April 2006 5:34 PM
To: [email-masked]
Subject: Re: [dtn-users] Dtnrecv not receiving bundle properly

> Ive been having a problem with dtnrecv lately.If I send one bundle and

> use dtnrecv it works fine. But if I send another bundle (to the same
> daemon) then use dtnrecv, I receive the contents of the bundle but the

> bundle isnt deleted from the daemon contents!

This is a bit strange. Can you re-run this test with info level logging
turned on (dtnd -l info) and post the output of dtnd here?

> And I have tried starting
> dtnrecv, then stopping it then starting it again. I still continure to

> get the bundle payload but the bundle continues to exist. And I 
> receive the bundle payload everytime I do this. (so if I start and 
> stop dtnrecv
> 4 times I get the bundle payload 4 times). I have found if I wait 
> roughly 30 seconds I can use dtnrecv and it will successfully get the 
> bundle payload AND the bundle no longer exists. This behaviour seems 
> strange to me. Has anybody else had this happen to them?

To answer this question, each time you run dtnrecv, by default it sparks
up a new registration, with a default expiration time of 30 seconds.
Since the daemon can deliver a bundle to multiple registrations, if you
run dtnrecv a second time before the first registration has expired,
then both registrations will get the bundle. Hence if there's a bundle
queued at the daemon (still for an unexplained version), then the new
registration will get a copy of that bundle if the registration matches
the destination endpoint id.

-m

_______________________________________________
dtn-users mailing list
[email-masked]
http://mailman.dtnrg.org/mailman/listinfo/dtn-users

Date: Fri, 28 Apr 2006 19:19:54 -0500
From: "Jeff Wilson" <[email-masked]>
To: [email-masked]
Subject: Re: [dtn-users] unit tests
Sender: [email-masked]
Reply-To: [email-masked]

I kept tweaking after I sent that note, so most of my net file is now
moved into my hacked-up clone of send-one-bundle.  I apologize for the
state of hackery, I plan to clean it up eventually.

I no longer get the same error.  Now the complaint has moved on to the
following:

<error messages>
* Waiting for dtnds to start up
error in test : can't read "net::portbase(0)": no such variable
    while executing
"set dtn_portbase $net::portbase($id)"
    (procedure "dtn::get_port" line 3)
    invoked from within
"dtn::get_port console $id"
    (procedure "wait_for_dtnd" line 10)
    invoked from within
"wait_for_dtnd $id"
    (procedure "dtn::wait_for_dtnd" line 6)
    invoked from within
"dtn::wait_for_dtnd *"
    ("uplevel" body line 6)
    invoked from within
"uplevel \#0 $test::run_actions"
    (procedure "test::run_script" line 3)
    invoked from within
"test::run_script"
* Stopping all dtnds
</error messages>

So, on to my attempt at hacking tclsh.  First the net file ...

<code>
puts "* Dummy placeholder bluez net def file"
global net::defined_nodes
set net::defined_nodes 4
</code>

Now the hacked up test script ...

<code>
# Set the name of this test (bt-test.tcl)
test::name bt-test
net::num_nodes 4

set clayer bt
set length 500

# Everything in the net:: namespace is biased towards TCP,
# so instead of rewriting net-utils to add in BT support,
# (for now) I just call out the individual configs one at
# a time, below

# dtn::config  ... depends on net::
conf::add dtnd * {source "dtnd-test-utils.tcl"}
dtn::standard_manifest
# dtn::config_console ... depends on " "
# dtn::config_api_server ... depends on " "
dtn::config_storage berkeleydb
# dtn::config_null_link ... depends on " "

puts "* Configuring Bluetooth interfaces / links"

# Individual node configs -- one-way ring topology

global net::host
# host0 xx:xx:xx:xx:xx:xx
set net::host(0) host0
conf::add dtnd 0 "interface add bt0 bt local_addr=xx:xx:xx:xx:xx:xx"
conf::add dtnd 0 "console set addr [gethostbyname host0]"
conf::add dtnd 0 "console set port 10000"
conf::add dtnd 0 "link add null /dev/null ALWAYSON null"
conf::add dtnd 0 "link add bt-link.0:0-1 xx:xx:xx:xx:xx:xx ONDEMAND bt"
conf::add dtnd 0 "route set type static"
conf::add dtnd 0 "route local_eid dtn://host-0"
conf::add dtnd 0 "route add dtn://host-1 bt-link.0:0-1"

# host1 xx:xx:xx:xx:xx:xx
set net::host(1) host1
conf::add dtnd 1 "interface add bt0 bt local_addr=xx:xx:xx:xx:xx:xx"
conf::add dtnd 1 "console set addr [gethostbyname host1]"
conf::add dtnd 1 "console set port 10000"
conf::add dtnd 1 "link add null /dev/null ALWAYSON null"
conf::add dtnd 1 "link add bt-link.0:1-2 xx:xx:xx:xx:xx:xx ONDEMAND bt"
conf::add dtnd 1 "route set type static"
conf::add dtnd 1 "route local_eid dtn://host-1"
conf::add dtnd 1 "route add dtn://host-2 bt-link.0:1-2"

# host2 xx:xx:xx:xx:xx:xx
set net::host(2) host2
conf::add dtnd 2 "interface add bt0 bt local_addr=xx:xx:xx:xx:xx:xx"
conf::add dtnd 2 "console set addr [gethostbyname host2]"
conf::add dtnd 2 "console set port 10000"
conf::add dtnd 2 "link add null /dev/null ALWAYSON null"
conf::add dtnd 2 "link add bt-link.0:2-3 xx:xx:xx:xx:xx:xx ONDEMAND bt"
conf::add dtnd 2 "route set type static"
conf::add dtnd 2 "route local_eid dtn://host-2"
conf::add dtnd 2 "route add dtn://host-3 bt-link.0:2-3"

# host3 xx:xx:xx:xx:xx:xx
set net::host(3) host3
conf::add dtnd 3 "interface add bt0 bt local_addr=xx:xx:xx:xx:xx:xx"
conf::add dtnd 3 "console set addr [gethostbyname host3]"
conf::add dtnd 3 "console set port 10000"
conf::add dtnd 3 "link add null /dev/null ALWAYSON null"
conf::add dtnd 3 "link add bt-link.0:3-0 xx:xx:xx:xx:xx:xx ONDEMAND bt"
conf::add dtnd 3 "route set type static"
conf::add dtnd 3 "route local_eid dtn://host-3"
conf::add dtnd 3 "route add dtn://host-0 bt-link.0:3-0"

# The test script, now that the nodes are defined ...

test::script {
    puts "* Running dtnds"
    dtn::run_dtnd *

    puts "* Waiting for dtnds to start up"
    dtn::wait_for_dtnd *

    set last_node [expr [net::num_nodes] - 1]
    set source    [dtn::tell_dtnd $last_node {route local_eid}]
    set dest      dtn://host-0/test

    dtn::tell_dtnd 0 tcl_registration $dest

    puts "* Sending bundle"
    set timestamp [dtn::tell_dtnd $last_node sendbundle $source $dest
length=$length]

    puts "* Waiting for bundle arrival"
    dtn::wait_for_bundle 0 "$source,$timestamp" 30000

    puts "* Checking bundle data"
    dtn::check_bundle_data 0 "$source,$timestamp" \
            is_admin 0 source $source dest $dest

    puts "* Doing sanity check on stats"
    dtn::check_bundle_stats 0 1 received

    puts "* Test success!"
}

test::exit_script {
    puts "* Stopping all dtnds"
    dtn::stop_dtnd *
}
</code>

    Thanks,
         jw

Date: Fri, 28 Apr 2006 15:17:32 -0700
From: Michael Demmer <[email-masked]>
To: [email-masked]
Subject: Re: [dtn-users] unit tests
Sender: [email-masked]
Reply-To: [email-masked]

Can you send me the contents of your net file or post to the list?

-m

> Hi all,
> 
> I created a net file for Bluetooth DTN nodes at
> ~/DTNRI/test/nets/bluez (on my testbed, not in the CVS yet).  When I
> launch the following test program
> 
> [~/DTNRI]$ ./test-utils/run-dtn.tcl -d -v -net bluez 
> ./test/send-one-bundle.tcl
> 
> the BT CL gets all upset about local_port, which is understandable
> since BTCL doesn't have that option.  So I tried rewriting my net file
> with conf::add instead of net::node, specifying BTCL on the interface
> line with Bluetooth addresses.  Now I get a different complaint:
> 
> * Reading net definition file bluez
> Cannot set number of nodes (4) greater than the number  defined (0)
>    while executing
> "error "Cannot set number of nodes ($num) greater than the number 
> defined ($net::defined_nodes)""
>    (procedure "net::num_nodes" line 5)
>    invoked from within
> "net::num_nodes 4"
>    (file "/home/jwilson/dtn/src/DTN2/test/nets/bluez" line 1)
>    invoked from within
> "source /home/jwilson/dtn/src/DTN2/test/nets/bluez"
>    ("uplevel" body line 1)
>    invoked from within
> "uplevel \#0 source [import_find $script]"
>    (procedure "import" line 13)
>    invoked from within
> "import $opt(net)"
>    (procedure "run::init" line 98)
>    invoked from within
> "run::init $argv"
>    (file "./test-utils/run-dtn.tcl" line 29)
> 
> I will keep trying different stuff, but I wanted to stop and ask if
> anyone (Mike especially) had suggestions on "The Right Way" to go
> about shoehorning Bluetooth support into the test framework?
> 
>      Thanks,
>        Jeff
> _______________________________________________
> dtn-users mailing list
> [email-masked]
> http://mailman.dtnrg.org/mailman/listinfo/dtn-users

Date: Fri, 28 Apr 2006 14:09:13 -0500
From: "Jeff Wilson" <[email-masked]>
To: [email-masked]
Subject: [dtn-users] unit tests
Sender: [email-masked]
Reply-To: [email-masked]

Hi all,

I created a net file for Bluetooth DTN nodes at
~/DTNRI/test/nets/bluez (on my testbed, not in the CVS yet).  When I
launch the following test program

[~/DTNRI]$ ./test-utils/run-dtn.tcl -d -v -net bluez ./test/send-one-bundle.tcl

the BT CL gets all upset about local_port, which is understandable
since BTCL doesn't have that option.  So I tried rewriting my net file
with conf::add instead of net::node, specifying BTCL on the interface
line with Bluetooth addresses.  Now I get a different complaint:

* Reading net definition file bluez
Cannot set number of nodes (4) greater than the number  defined (0)
    while executing
"error "Cannot set number of nodes ($num) greater than the number 
defined ($net::defined_nodes)""
    (procedure "net::num_nodes" line 5)
    invoked from within
"net::num_nodes 4"
    (file "/home/jwilson/dtn/src/DTN2/test/nets/bluez" line 1)
    invoked from within
"source /home/jwilson/dtn/src/DTN2/test/nets/bluez"
    ("uplevel" body line 1)
    invoked from within
"uplevel \#0 source [import_find $script]"
    (procedure "import" line 13)
    invoked from within
"import $opt(net)"
    (procedure "run::init" line 98)
    invoked from within
"run::init $argv"
    (file "./test-utils/run-dtn.tcl" line 29)

I will keep trying different stuff, but I wanted to stop and ask if
anyone (Mike especially) had suggestions on "The Right Way" to go
about shoehorning Bluetooth support into the test framework?

      Thanks,
        Jeff

Date: Fri, 28 Apr 2006 00:33:33 -0700
From: Michael Demmer <[email-masked]>
To: [email-masked]
Subject: Re: [dtn-users] Dtnrecv not receiving bundle properly
Sender: [email-masked]
Reply-To: [email-masked]

> Ive been having a problem with dtnrecv lately.If I send one bundle and
> use dtnrecv it works fine. But if I send another bundle (to the same
> daemon) then use dtnrecv, I receive the contents of the bundle but the
> bundle isnt deleted from the daemon contents! 

This is a bit strange. Can you re-run this test with info level
logging turned on (dtnd -l info) and post the output of dtnd here?

> And I have tried starting
> dtnrecv, then stopping it then starting it again. I still continure to
> get the bundle payload but the bundle continues to exist. And I receive
> the bundle payload everytime I do this. (so if I start and stop dtnrecv
> 4 times I get the bundle payload 4 times). I have found if I wait
> roughly 30 seconds I can use dtnrecv and it will successfully get the
> bundle payload AND the bundle no longer exists. This behaviour seems
> strange to me. Has anybody else had this happen to them?

To answer this question, each time you run dtnrecv, by default it
sparks up a new registration, with a default expiration time of 30
seconds. Since the daemon can deliver a bundle to multiple
registrations, if you run dtnrecv a second time before the first
registration has expired, then both registrations will get the
bundle. Hence if there's a bundle queued at the daemon (still for an
unexplained version), then the new registration will get a copy of
that bundle if the registration matches the destination endpoint id.

-m

Content-class: urn:content-classes:message
Date: Fri, 28 Apr 2006 17:16:27 +1000
From: "Halkett, Brad \(Student\)" <[email-masked]>
To: <[email-masked]>
Subject: [dtn-users] Dtnrecv not receiving bundle properly
Sender: [email-masked]
Reply-To: [email-masked]

This is a multi-part message in MIME format.

------_=_NextPart_001_01C66A93.AA7C313A
Content-Type: text/plain;
	charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

Hi All,=20

Ive been having a problem with dtnrecv lately.If I send one bundle and
use dtnrecv it works fine. But if I send another bundle (to the same
daemon) then use dtnrecv, I receive the contents of the bundle but the
bundle isnt deleted from the daemon contents! And I have tried starting
dtnrecv, then stopping it then starting it again. I still continure to
get the bundle payload but the bundle continues to exist. And I receive
the bundle payload everytime I do this. (so if I start and stop dtnrecv
4 times I get the bundle payload 4 times). I have found if I wait
roughly 30 seconds I can use dtnrecv and it will successfully get the
bundle payload AND the bundle no longer exists. This behaviour seems
strange to me. Has anybody else had this happen to them?

Brad Halkett

------_=_NextPart_001_01C66A93.AA7C313A
Content-Type: text/html;
	charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV=3D"Content-Type" CONTENT=3D"text/html; =
charset=3Dus-ascii">
<META NAME=3D"Generator" CONTENT=3D"MS Exchange Server version =
6.5.7638.1">
<TITLE>Sec:U Dtnrecv not receiving bundle properly</TITLE>
</HEAD>
<BODY>
<!-- Converted from text/rtf format -->

<P><FONT SIZE=3D2 FACE=3D"Arial">Hi All, </FONT>
</P>

<P><FONT SIZE=3D2 FACE=3D"Arial">Ive been having a problem with dtnrecv =
lately.If I send one bundle and use dtnrecv it works fine. But if I send =
another bundle (to the same daemon) then use dtnrecv, I receive the =
contents of the bundle but the bundle isnt deleted from the daemon =
contents! And I have tried starting dtnrecv, then stopping it then =
starting it again. I still continure to get the bundle payload but the =
bundle continues to exist. And I receive the bundle payload everytime I =
do this. (so if I start and stop dtnrecv 4 times I get the bundle =
payload 4 times). I have found if I wait roughly 30 seconds I can use =
dtnrecv and it will successfully get the bundle payload AND the bundle =
no longer exists. This behaviour seems strange to me. Has anybody else =
had this happen to them?</FONT></P>

<P><FONT COLOR=3D"#0000FF" SIZE=3D5 FACE=3D"Brush Script MT">Brad =
Halkett</FONT>
</P>

</BODY>
</HTML>
------_=_NextPart_001_01C66A93.AA7C313A--

Date: Thu, 27 Apr 2006 13:05:42 -0700
From: Michael Demmer <[email-masked]>
To: [email-masked]
Subject: Re: [dtn-users] BundleActions panic
Sender: [email-masked]
Reply-To: [email-masked]

> Ok, I was going to try changing the implementation as you suggested, but
> I'm still slightly confused, because the comment that is above
> inject_bundle() [below] gives the reason why a BundleReceivedEvent is
> not needed..
> 
> /**
>  * Inject a new bundle into the core system, which places it in
>  * the pending bundles list as well as in the persistent store.
>  * This is typically used by routing algorithms that need to
>  * generate their own bundles for distribuing route announcements.
>  * It does not, therefore, generate a BundleReceivedEvent.
>  *
>  * @param bundle                the new bundle
>  */
> 
> I am using inject_bundle, as above.. to store new protocol messages
> until the contact is up, and then the router sends them to
> neighbors/routes them accordingly. A BundleReceivedEvent, on the other
> hand, when serviced by handle_bundle_received() contains the code to
> route non-protocol messages (like the ones i send/recv with
> dtnsend/dtnrecv) synchronously or probabilistically as required.
> 
> I think that's why just taking out the PANIC kept things working... any
> thoughts?

Sure -- I guess it all depends on your implementation. My only point
is that since the inject_bundle function was written, there was more
core logic added to the BundleDaemon::handle_bundle_recieved call that
will be bypassed if you don't generate the event.

What if there were an additional event_source_t defined in
BundleEvent.h that said the event was generated by the router? This
would mean that your router would still get the BundleReceivedEvent
but could easily tell if the event was in response to a newly injected
bundle or due to a bundle arriving from a peer (or from the
administrative logic like a custody signal)?

-mike

Date: Thu, 27 Apr 2006 19:54:58 +0100
From: Neal Lathia <[email-masked]>
To: [email-masked]
Subject: Re: [dtn-users] BundleActions panic
Sender: [email-masked]
Reply-To: [email-masked]

Ok, I was going to try changing the implementation as you suggested, but
I'm still slightly confused, because the comment that is above
inject_bundle() [below] gives the reason why a BundleReceivedEvent is
not needed..

/**
  * Inject a new bundle into the core system, which places it in
  * the pending bundles list as well as in the persistent store.
  * This is typically used by routing algorithms that need to
  * generate their own bundles for distribuing route announcements.
  * It does not, therefore, generate a BundleReceivedEvent.
  *
  * @param bundle                the new bundle
  */

I am using inject_bundle, as above.. to store new protocol messages
until the contact is up, and then the router sends them to
neighbors/routes them accordingly. A BundleReceivedEvent, on the other
hand, when serviced by handle_bundle_received() contains the code to
route non-protocol messages (like the ones i send/recv with
dtnsend/dtnrecv) synchronously or probabilistically as required.

I think that's why just taking out the PANIC kept things working... any
thoughts?

neal

Michael Demmer wrote:
> Oops -- I didn't really mean to leave that in there ;-)
> 
> The problem is actually that what the function does is not conformant
> with the way that the core system works now. In particular, despite
> what the comment says, you should probably generate a
> BundleReceivedEvent for each of your injected bundles to actually get
> them to be properly routed and to have the structures for bundle
> expirations and custody transfer set up properly by the BundleDaemon.
> 
> I'm therefore slightly surprised that you said it is "working fine"
> with the PANIC commented out but everything else the same. 
> 
> If you want to take a shot at it, you could change the implementation
> of inject_bundle to generate and deliver a BundleReceivedEvent and see
> how far that gets you.
> 
> -m
> 
> 
>>Hello,
>>
>>I'm in the process of updating my code to work with version 2.2.0, and I
>>noticed that whenever my code makes a call to
>>BundleActions::inject_bundle(Bundle *bundle) the daemon panics and aborts, with the
>>message "XXX/demmer fix this." What has changed since the previous version?
>>
>>For now, I've just commented it out and it seems to be working fine. 
>>
>>-neal
>>_______________________________________________
>>dtn-users mailing list
>>[email-masked]
>>http://mailman.dtnrg.org/mailman/listinfo/dtn-users
> 
> _______________________________________________
> dtn-users mailing list
> [email-masked]
> http://mailman.dtnrg.org/mailman/listinfo/dtn-users
> 

Date: Wed, 26 Apr 2006 09:09:32 -0700
From: Michael Demmer <[email-masked]>
To: [email-masked]
Subject: Re: [dtn-users] BundleActions panic
Sender: [email-masked]
Reply-To: [email-masked]

Oops -- I didn't really mean to leave that in there ;-)

The problem is actually that what the function does is not conformant
with the way that the core system works now. In particular, despite
what the comment says, you should probably generate a
BundleReceivedEvent for each of your injected bundles to actually get
them to be properly routed and to have the structures for bundle
expirations and custody transfer set up properly by the BundleDaemon.

I'm therefore slightly surprised that you said it is "working fine"
with the PANIC commented out but everything else the same. 

If you want to take a shot at it, you could change the implementation
of inject_bundle to generate and deliver a BundleReceivedEvent and see
how far that gets you.

-m

> Hello,
> 
> I'm in the process of updating my code to work with version 2.2.0, and I
> noticed that whenever my code makes a call to
> BundleActions::inject_bundle(Bundle *bundle) the daemon panics and aborts, with the
> message "XXX/demmer fix this." What has changed since the previous version?
> 
> For now, I've just commented it out and it seems to be working fine. 
> 
> -neal
> _______________________________________________
> dtn-users mailing list
> [email-masked]
> http://mailman.dtnrg.org/mailman/listinfo/dtn-users

To: [email-masked]
Date: Wed, 26 Apr 2006 14:55:02 +0100
From: Neal LATHIA <[email-masked]>
Subject: [dtn-users] BundleActions panic
Sender: [email-masked]
Reply-To: [email-masked]

Hello,

I'm in the process of updating my code to work with version 2.2.0, and I
noticed that whenever my code makes a call to
BundleActions::inject_bundle(Bundle *bundle) the daemon panics and aborts, with the
message "XXX/demmer fix this." What has changed since the previous version?

For now, I've just commented it out and it seems to be working fine. 

-neal

Date: Wed, 26 Apr 2006 09:50:38 +0200 (CEST)
From: Lidice Romero Amondaray <[email-masked]>
Subject: RE: [dtn-users] wwwoffle_dtn in repository
To: [email-masked]
Sender: [email-masked]
Reply-To: [email-masked]

--0-341694147-1146037838=:27917
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit

Hi Keith,
 
 I was using an old version of the DTN. Everything is ok now.
 
 Thanks,
 
 L�dice

"Scott, Keith L." <[email-masked]> escribi�:     It looks like it couldn't find the dtn_api.h header  file.  I don't think the DTN package installs the dtn_api.h header or  dtnapi.o library file in any standard location.  The configure script in  the wwwoffle directory will try to do the right thing, but only looks in a few  places.
  
 The quickest fix is to modify the Makefile in the wwwoffle  src directory to ensure that the INCLUDE variable contains a path to the  dtn_api.h file and that the LIBRARY variable contains a path to the libdtnapi.o  file.
  
 For example, if the root directory of your DTN2 reference  implementation installation is PATH_TO_DTN2 then the above variables need to  include:
  
 LIBRARY= -lpthread -lz -LPATH_TO_DTN2/applib  -ldtnapi
 INCLUDE= -IPATH_TO_DTN2/applib
  
 If this doesn't help, please let me  know.
  
         -keith

---------------------------------
   From: [email-masked]    [mailto:[email-masked]] On Behalf Of Lidice Romero    Amondaray
Sent: Monday, April 24, 2006 1:27 PM
To:    [email-masked]
Subject: [dtn-users] wwwoffle_dtn in    repository

   
Hi all,

Ive been    trying to install  wwwoffle_dtn application in the    repository. Its like something is    wrong the code. Has anybody else had this    problem?

dtnwh.c:83: error: error sint�ctico before '*'    token
dtnwh.c:84: error: error sint�ctico before    "dtn_endpoint_id_t"
dtnwh.c:85: aviso: data definition has no type or    storage class
dtnwh.c: En la funci�n    `do_dtn_client_sender':
dtnwh.c:177: error: `dtn_endpoint_id_t' undeclared    (first use in this function)
dtnwh.c:177: error: (Each undeclared    identifier is reported only once
dtnwh.c:177: error: for each function it    appears in.)
dtnwh.c:177: error: error sint�ctico before    "local_eid"
dtnwh.c: En la funci�n    `do_dtn_client_receiver':
dtnwh.c:299: error: `dtn_endpoint_id_t'    undeclared (first use in this function)
dtnwh.c:299: error: error    sint�ctico before "local_tuple"
dtnwh.c:350: error: `local_tuple'    undeclared (first use in this function)
dtnwh.c:356: error: structure has    no member named `expiration'
dtnwh.c:357: error: structure has no member    named `failure_action'
dtnwh.c:364: error: too few arguments to function    `dtn_bind'
dtnwh.c: En la funci�n `do_dtn_server':
dtnwh.c:426: error:    `dtn_endpoint_id_t' undeclared (first use in this function)
dtnwh.c:426:    error: error sint�ctico before "local_tuple"
dtnwh.c:459: error:    `local_tuple' undeclared (first use in this function)
dtnwh.c:465: error:    structure has no member named `expiration'
dtnwh.c:466: error: structure    has no member named `failure_action'
dtnwh.c:474: error: too few arguments    to function `dtn_bind'
dtnwh.c: En el nivel principal:
dtnwh.c:748:    error: error sint�ctico before '*' token
dtnwh.c:749: error: error    sint�ctico before "dtn_endpoint_id_t"
dtnwh.c: En la funci�n    `parse_eid':
dtnwh.c:752: error: `eid' undeclared (first use in this    function)
dtnwh.c:752: error: `str' undeclared (first use in this    function)
dtnwh.c:759: error: `handle' undeclared (first use in this    function)
make[1]: *** [dtnwh.o] Error 1
make[1]: Leaving directory    `/root/wwwoffle_dtn/src'
make: *** [compile] Error 2

Thanks in    advance

---------------------------------
   
LLama Gratis a cualquier PC del    Mundo.
Llamadas a fijos y m�viles desde 1 c�ntimo por minuto.
http://es.voice.yahoo.com

---------------------------------

LLama Gratis a cualquier PC del Mundo.
Llamadas a fijos y m�viles desde 1 c�ntimo por minuto.
http://es.voice.yahoo.com
--0-341694147-1146037838=:27917
Content-Type: text/html; charset=iso-8859-1
Content-Transfer-Encoding: 8bit

Hi Keith,<br> <br> I was using an old version of the DTN. Everything is ok now.<br> <br> Thanks,<br> <br> L�dice<br><br><b><i>"Scott, Keith L." &lt;[email-masked]&gt;</i></b> escribi�:<blockquote class="replbq" style="border-left: 2px solid rgb(16, 16, 255); margin-left: 5px; padding-left: 5px;">   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <meta content="MSHTML 6.00.2900.2873" name="GENERATOR"> <div align="left" dir="ltr"><span class="917350921-24042006"><font color="#0000ff" face="Arial" size="2">It looks like it couldn't find the dtn_api.h header  file.&nbsp; I don't think the DTN package installs the dtn_api.h header or  dtnapi.o library file in any standard location.&nbsp; The configure script in  the wwwoffle directory will try to do the right thing, but only looks in a few  places.</font></span></div> <div align="left" dir="ltr"><span class="917350921-24042006"><font color="#0000ff" face="Arial" size="2"></font></span>&nbsp;</div> <div
 align="left" dir="ltr"><span class="917350921-24042006"><font color="#0000ff" face="Arial" size="2">The quickest fix is to modify the Makefile in the wwwoffle  src directory to ensure that the INCLUDE variable contains a path to the  dtn_api.h file and that the LIBRARY variable contains a path to the libdtnapi.o  file.</font></span></div> <div align="left" dir="ltr"><span class="917350921-24042006"><font color="#0000ff" face="Arial" size="2"></font></span>&nbsp;</div> <div align="left" dir="ltr"><span class="917350921-24042006"><font color="#0000ff" face="Arial" size="2">For example, if the root directory of your DTN2 reference  implementation installation is PATH_TO_DTN2 then the above variables need to  include:</font></span></div> <div align="left" dir="ltr"><span class="917350921-24042006"><font color="#0000ff" face="Arial" size="2"></font></span>&nbsp;</div> <div align="left" dir="ltr"><span class="917350921-24042006"><font color="#0000ff" face="Arial"
 size="2">LIBRARY= -lpthread -lz -LPATH_TO_DTN2/applib  -ldtnapi</font></span></div> <div align="left" dir="ltr"><span class="917350921-24042006"><font color="#0000ff" face="Arial" size="2">INCLUDE= -IPATH_TO_DTN2/applib</font></span></div> <div align="left" dir="ltr"><span class="917350921-24042006"><font color="#0000ff" face="Arial" size="2"></font></span>&nbsp;</div> <div align="left" dir="ltr"><span class="917350921-24042006"><font color="#0000ff" face="Arial" size="2">If this doesn't help, please let me  know.</font></span></div> <div align="left" dir="ltr"><span class="917350921-24042006"><font color="#0000ff" face="Arial" size="2"></font></span>&nbsp;</div> <div align="left" dir="ltr"><span class="917350921-24042006">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <font color="#0000ff" face="Arial" size="2">-keith</font></span></div><br> <blockquote style="border-left: 2px solid rgb(0, 0, 255); padding-left: 5px; margin-left: 5px; margin-right: 0px;">   <div
 class="OutlookMessageHeader" align="left" dir="ltr" lang="en-us">   <hr tabindex="-1">   <font face="Tahoma" size="2"><b>From:</b> [email-masked]    [mailto:[email-masked]] <b>On Behalf Of </b>Lidice Romero    Amondaray<br><b>Sent:</b> Monday, April 24, 2006 1:27 PM<br><b>To:</b>    [email-masked]<br><b>Subject:</b> [dtn-users] wwwoffle_dtn in    repository<br></font><br></div>   <div></div>Hi all,<br><br><span lang="en-au"><font face="Arial" size="2">Ive been    trying to install&nbsp; </font></span>wwwoffle_dtn application in the    repository<span lang="en-au"><font face="Arial" size="2">. Its like something is    wrong the code. Has anybody else had this    problem?</font></span><br><br>dtnwh.c:83: error: error sint�ctico before '*'    token<br>dtnwh.c:84: error: error sint�ctico before    "dtn_endpoint_id_t"<br>dtnwh.c:85: aviso: data definition has no type or    storage class<br>dtnwh.c: En la funci�n   
 `do_dtn_client_sender':<br>dtnwh.c:177: error: `dtn_endpoint_id_t' undeclared    (first use in this function)<br>dtnwh.c:177: error: (Each undeclared    identifier is reported only once<br>dtnwh.c:177: error: for each function it    appears in.)<br>dtnwh.c:177: error: error sint�ctico before    "local_eid"<br>dtnwh.c: En la funci�n    `do_dtn_client_receiver':<br>dtnwh.c:299: error: `dtn_endpoint_id_t'    undeclared (first use in this function)<br>dtnwh.c:299: error: error    sint�ctico before "local_tuple"<br>dtnwh.c:350: error: `local_tuple'    undeclared (first use in this function)<br>dtnwh.c:356: error: structure has    no member named `expiration'<br>dtnwh.c:357: error: structure has no member    named `failure_action'<br>dtnwh.c:364: error: too few arguments to function    `dtn_bind'<br>dtnwh.c: En la funci�n `do_dtn_server':<br>dtnwh.c:426: error:    `dtn_endpoint_id_t' undeclared (first use in this function)<br>dtnwh.c:426:    error: error sint�ctico before
 "local_tuple"<br>dtnwh.c:459: error:    `local_tuple' undeclared (first use in this function)<br>dtnwh.c:465: error:    structure has no member named `expiration'<br>dtnwh.c:466: error: structure    has no member named `failure_action'<br>dtnwh.c:474: error: too few arguments    to function `dtn_bind'<br>dtnwh.c: En el nivel principal:<br>dtnwh.c:748:    error: error sint�ctico before '*' token<br>dtnwh.c:749: error: error    sint�ctico before "dtn_endpoint_id_t"<br>dtnwh.c: En la funci�n    `parse_eid':<br>dtnwh.c:752: error: `eid' undeclared (first use in this    function)<br>dtnwh.c:752: error: `str' undeclared (first use in this    function)<br>dtnwh.c:759: error: `handle' undeclared (first use in this    function)<br>make[1]: *** [dtnwh.o] Error 1<br>make[1]: Leaving directory    `/root/wwwoffle_dtn/src'<br>make: *** [compile] Error 2<br><br>Thanks in    advance<br>   <div>   </div><hr size="1">   <br><font face="Verdana" size="-2">LLama Gratis a cualquier PC del   
 Mundo.<br>Llamadas a fijos y m�viles desde 1 c�ntimo por minuto.<br><a href="http://us.rd.yahoo.com/mail/es/tagline/messenger/*http://es.voice.yahoo.com/">http://es.voice.yahoo.com</a></font></blockquote></blockquote><br><p>
		<hr size=1><br><font face="Verdana" size="-2">LLama Gratis a cualquier PC del Mundo.<br>Llamadas a fijos y m�viles desde 1 c�ntimo por minuto.<br><a href="http://us.rd.yahoo.com/mail/es/tagline/messenger/*http://es.voice.yahoo.com/">http://es.voice.yahoo.com</a></font>
--0-341694147-1146037838=:27917--

Date: Tue, 25 Apr 2006 10:27:00 +0200 (CEST)
From: Lidice Romero Amondaray <[email-masked]>
Subject: RE: [dtn-users] wwwoffle_dtn in repository
To: [email-masked]
Sender: [email-masked]
Reply-To: [email-masked]

--0-1215425265-1145953620=:54855
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit

Hi Keith,
 
 Thanks for your answer, but I had done already what you says me. I believe there is another problem. I modified the two lines in the Makefile in the wwwoffle  src directory as follows:
 
 INCLUDE= -I../../DTN2/applib
 LIBRARY=-lpthread  -lz  -L../../DTN2/applib -ldtnapi
 
 The DTN2 and wwwoffle_dtn are in the same directory.
 
 L�dice
 
"Scott, Keith L." <[email-masked]> escribi�:     It looks like it couldn't find the dtn_api.h header file.  I don't think the DTN package installs the dtn_api.h header or dtnapi.o library file in any standard location.  The configure script in the wwwoffle directory will try to do the right thing, but only looks in a few places.
  
 The quickest fix is to modify the Makefile in the wwwoffle src directory to ensure that the INCLUDE variable contains a path to the dtn_api.h file and that the LIBRARY variable contains a path to the libdtnapi.o file.
  
 For example, if the root directory of your DTN2 reference implementation installation is PATH_TO_DTN2 then the above variables need to include:
  
 LIBRARY= -lpthread -lz -LPATH_TO_DTN2/applib  -ldtnapi
 INCLUDE= -IPATH_TO_DTN2/applib
  
 If this doesn't help, please let me  know.
  
         -keith

---------------------------------
   From: [email-masked]    [mailto:[email-masked]] On Behalf Of Lidice Romero    Amondaray
Sent: Monday, April 24, 2006 1:27 PM
To:    [email-masked]
Subject: [dtn-users] wwwoffle_dtn in    repository

   
Hi all,

Ive been    trying to install  wwwoffle_dtn application in the    repository. Its like something is    wrong the code. Has anybody else had this    problem?

dtnwh.c:83: error: error sint�ctico before '*'    token
dtnwh.c:84: error: error sint�ctico before    "dtn_endpoint_id_t"
dtnwh.c:85: aviso: data definition has no type or    storage class
dtnwh.c: En la funci�n    `do_dtn_client_sender':
dtnwh.c:177: error: `dtn_endpoint_id_t' undeclared    (first use in this function)
dtnwh.c:177: error: (Each undeclared    identifier is reported only once
dtnwh.c:177: error: for each function it    appears in.)
dtnwh.c:177: error: error sint�ctico before    "local_eid"
dtnwh.c: En la funci�n    `do_dtn_client_receiver':
dtnwh.c:299: error: `dtn_endpoint_id_t'    undeclared (first use in this function)
dtnwh.c:299: error: error    sint�ctico before "local_tuple"
dtnwh.c:350: error: `local_tuple'    undeclared (first use in this function)
dtnwh.c:356: error: structure has    no member named `expiration'
dtnwh.c:357: error: structure has no member    named `failure_action'
dtnwh.c:364: error: too few arguments to function    `dtn_bind'
dtnwh.c: En la funci�n `do_dtn_server':
dtnwh.c:426: error:    `dtn_endpoint_id_t' undeclared (first use in this function)
dtnwh.c:426:    error: error sint�ctico before "local_tuple"
dtnwh.c:459: error:    `local_tuple' undeclared (first use in this function)
dtnwh.c:465: error:    structure has no member named `expiration'
dtnwh.c:466: error: structure    has no member named `failure_action'
dtnwh.c:474: error: too few arguments    to function `dtn_bind'
dtnwh.c: En el nivel principal:
dtnwh.c:748:    error: error sint�ctico before '*' token
dtnwh.c:749: error: error    sint�ctico before "dtn_endpoint_id_t"
dtnwh.c: En la funci�n    `parse_eid':
dtnwh.c:752: error: `eid' undeclared (first use in this    function)
dtnwh.c:752: error: `str' undeclared (first use in this    function)
dtnwh.c:759: error: `handle' undeclared (first use in this    function)
make[1]: *** [dtnwh.o] Error 1
make[1]: Leaving directory    `/root/wwwoffle_dtn/src'
make: *** [compile] Error 2

Thanks in    advance

---------------------------------
   
LLama Gratis a cualquier PC del    Mundo.
Llamadas a fijos y m�viles desde 1 c�ntimo por minuto.
http://es.voice.yahoo.com

---------------------------------

LLama Gratis a cualquier PC del Mundo.
Llamadas a fijos y m�viles desde 1 c�ntimo por minuto.
http://es.voice.yahoo.com
--0-1215425265-1145953620=:54855
Content-Type: text/html; charset=iso-8859-1
Content-Transfer-Encoding: 8bit

Hi Keith,<br> <br> Thanks for your answer, but I had done already what you says me. I believe there is another problem. I modified the two lines<span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 0);" class="917350921-24042006"><font face="Arial" size="2">in the Makefile in the wwwoffle  src directory</font></span><span style="color: rgb(0, 0, 0);"> as follows:</span><tt><br> <br> </tt>INCLUDE= -I../../DTN2/applib<br> LIBRARY=-lpthread&nbsp; -lz&nbsp; -L../../DTN2/applib -ldtnapi<br> <br> The DTN2 and wwwoffle_dtn are in the same directory.<br> <br> L�dice<br> <br><b><i>"Scott, Keith L." &lt;[email-masked]&gt;</i></b> escribi�:<blockquote class="replbq" style="border-left: 2px solid rgb(16, 16, 255); margin-left: 5px; padding-left: 5px;">   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <meta content="MSHTML 6.00.2900.2873" name="GENERATOR"> <div align="left" dir="ltr"><span class="917350921-24042006"><font color="#0000ff"
 face="Arial" size="2">It looks like it couldn't find the dtn_api.h header file.&nbsp; I don't think the DTN package installs the dtn_api.h header or dtnapi.o library file in any standard location.&nbsp; The configure script in the wwwoffle directory will try to do the right thing, but only looks in a few places.</font></span></div> <div align="left" dir="ltr"><span class="917350921-24042006"><font color="#0000ff" face="Arial" size="2"></font></span>&nbsp;</div> <div align="left" dir="ltr"><span class="917350921-24042006"><font color="#0000ff" face="Arial" size="2">The quickest fix is to modify the Makefile in the wwwoffle src directory to ensure that the INCLUDE variable contains a path to the dtn_api.h file and that the LIBRARY variable contains a path to the libdtnapi.o file.</font></span></div> <div align="left" dir="ltr"><span class="917350921-24042006"><font color="#0000ff" face="Arial" size="2"></font></span>&nbsp;</div> <div align="left" dir="ltr"><span
 class="917350921-24042006"><font color="#0000ff" face="Arial" size="2">For example, if the root directory of your DTN2 reference implementation installation is PATH_TO_DTN2 then the above variables need to include:</font></span></div> <div align="left" dir="ltr"><span class="917350921-24042006"><font color="#0000ff" face="Arial" size="2"></font></span>&nbsp;</div> <div align="left" dir="ltr"><span class="917350921-24042006"><font color="#0000ff" face="Arial" size="2">LIBRARY= -lpthread -lz -LPATH_TO_DTN2/applib  -ldtnapi</font></span></div> <div align="left" dir="ltr"><span class="917350921-24042006"><font color="#0000ff" face="Arial" size="2">INCLUDE= -IPATH_TO_DTN2/applib</font></span></div> <div align="left" dir="ltr"><span class="917350921-24042006"><font color="#0000ff" face="Arial" size="2"></font></span>&nbsp;</div> <div align="left" dir="ltr"><span class="917350921-24042006"><font color="#0000ff" face="Arial" size="2">If this doesn't help, please let me 
 know.</font></span></div> <div align="left" dir="ltr"><span class="917350921-24042006"><font color="#0000ff" face="Arial" size="2"></font></span>&nbsp;</div> <div align="left" dir="ltr"><span class="917350921-24042006">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <font color="#0000ff" face="Arial" size="2">-keith</font></span></div><br> <blockquote style="border-left: 2px solid rgb(0, 0, 255); padding-left: 5px; margin-left: 5px; margin-right: 0px;">   <div class="OutlookMessageHeader" align="left" dir="ltr" lang="en-us">   <hr tabindex="-1">   <font face="Tahoma" size="2"><b>From:</b> [email-masked]    [mailto:[email-masked]] <b>On Behalf Of </b>Lidice Romero    Amondaray<br><b>Sent:</b> Monday, April 24, 2006 1:27 PM<br><b>To:</b>    [email-masked]<br><b>Subject:</b> [dtn-users] wwwoffle_dtn in    repository<br></font><br></div>   <div></div>Hi all,<br><br><span lang="en-au"><font face="Arial" size="2">Ive been    trying
 to install&nbsp; </font></span>wwwoffle_dtn application in the    repository<span lang="en-au"><font face="Arial" size="2">. Its like something is    wrong the code. Has anybody else had this    problem?</font></span><br><br>dtnwh.c:83: error: error sint�ctico before '*'    token<br>dtnwh.c:84: error: error sint�ctico before    "dtn_endpoint_id_t"<br>dtnwh.c:85: aviso: data definition has no type or    storage class<br>dtnwh.c: En la funci�n    `do_dtn_client_sender':<br>dtnwh.c:177: error: `dtn_endpoint_id_t' undeclared    (first use in this function)<br>dtnwh.c:177: error: (Each undeclared    identifier is reported only once<br>dtnwh.c:177: error: for each function it    appears in.)<br>dtnwh.c:177: error: error sint�ctico before    "local_eid"<br>dtnwh.c: En la funci�n    `do_dtn_client_receiver':<br>dtnwh.c:299: error: `dtn_endpoint_id_t'    undeclared (first use in this function)<br>dtnwh.c:299: error: error    sint�ctico before "local_tuple"<br>dtnwh.c:350: error:
 `local_tuple'    undeclared (first use in this function)<br>dtnwh.c:356: error: structure has    no member named `expiration'<br>dtnwh.c:357: error: structure has no member    named `failure_action'<br>dtnwh.c:364: error: too few arguments to function    `dtn_bind'<br>dtnwh.c: En la funci�n `do_dtn_server':<br>dtnwh.c:426: error:    `dtn_endpoint_id_t' undeclared (first use in this function)<br>dtnwh.c:426:    error: error sint�ctico before "local_tuple"<br>dtnwh.c:459: error:    `local_tuple' undeclared (first use in this function)<br>dtnwh.c:465: error:    structure has no member named `expiration'<br>dtnwh.c:466: error: structure    has no member named `failure_action'<br>dtnwh.c:474: error: too few arguments    to function `dtn_bind'<br>dtnwh.c: En el nivel principal:<br>dtnwh.c:748:    error: error sint�ctico before '*' token<br>dtnwh.c:749: error: error    sint�ctico before "dtn_endpoint_id_t"<br>dtnwh.c: En la funci�n    `parse_eid':<br>dtnwh.c:752: error: `eid'
 undeclared (first use in this    function)<br>dtnwh.c:752: error: `str' undeclared (first use in this    function)<br>dtnwh.c:759: error: `handle' undeclared (first use in this    function)<br>make[1]: *** [dtnwh.o] Error 1<br>make[1]: Leaving directory    `/root/wwwoffle_dtn/src'<br>make: *** [compile] Error 2<br><br>Thanks in    advance<br>   <div>   </div><hr size="1">   <br><font face="Verdana" size="-2">LLama Gratis a cualquier PC del    Mundo.<br>Llamadas a fijos y m�viles desde 1 c�ntimo por minuto.<br><a href="http://us.rd.yahoo.com/mail/es/tagline/messenger/*http://es.voice.yahoo.com/">http://es.voice.yahoo.com</a></font></blockquote></blockquote><br><p>
		<hr size=1><br><font face="Verdana" size="-2">LLama Gratis a cualquier PC del Mundo.<br>Llamadas a fijos y m�viles desde 1 c�ntimo por minuto.<br><a href="http://us.rd.yahoo.com/mail/es/tagline/messenger/*http://es.voice.yahoo.com/">http://es.voice.yahoo.com</a></font>
--0-1215425265-1145953620=:54855--

Content-class: urn:content-classes:message
Subject: RE: [dtn-users] wwwoffle_dtn in repository
Date: Mon, 24 Apr 2006 17:15:42 -0400
From: "Scott, Keith L." <[email-masked]>
To: <[email-masked]>
Sender: [email-masked]
Reply-To: [email-masked]

This is a multi-part message in MIME format.

------_=_NextPart_001_01C667E4.3E3292AB
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

It looks like it couldn't find the dtn_api.h header file.  I don't
think the DTN package installs the dtn_api.h header or dtnapi.o library
file in any standard location.  The configure script in the wwwoffle
directory will try to do the right thing, but only looks in a few
places.
=20
The quickest fix is to modify the Makefile in the wwwoffle src
directory to ensure that the INCLUDE variable contains a path to the
dtn_api.h file and that the LIBRARY variable contains a path to the
libdtnapi.o file.
=20
For example, if the root directory of your DTN2 reference
implementation installation is PATH_TO_DTN2 then the above variables
need to include:
=20
LIBRARY=3D -lpthread -lz -LPATH_TO_DTN2/applib -ldtnapi
INCLUDE=3D -IPATH_TO_DTN2/applib
=20
If this doesn't help, please let me know.
=20
        -keith

________________________________

	From: [email-masked]
[mailto:[email-masked]] On Behalf Of Lidice Romero
Amondaray
	Sent: Monday, April 24, 2006 1:27 PM
	To: [email-masked]
	Subject: [dtn-users] wwwoffle_dtn in repository
=09
=09
	Hi all,
=09
	Ive been trying to install  wwwoffle_dtn application in the
repository. Its like something is wrong the code. Has anybody else had
this problem?
=09
	dtnwh.c:83: error: error sint=E1ctico before '*' token
	dtnwh.c:84: error: error sint=E1ctico before "dtn_endpoint_id_t"
	dtnwh.c:85: aviso: data definition has no type or storage class
	dtnwh.c: En la funci=F3n `do_dtn_client_sender':
	dtnwh.c:177: error: `dtn_endpoint_id_t' undeclared (first use
in this function)
	dtnwh.c:177: error: (Each undeclared identifier is reported
only once
	dtnwh.c:177: error: for each function it appears in.)
	dtnwh.c:177: error: error sint=E1ctico before "local_eid"
	dtnwh.c: En la funci=F3n `do_dtn_client_receiver':
	dtnwh.c:299: error: `dtn_endpoint_id_t' undeclared (first use
in this function)
	dtnwh.c:299: error: error sint=E1ctico before "local_tuple"
	dtnwh.c:350: error: `local_tuple' undeclared (first use in this
function)
	dtnwh.c:356: error: structure has no member named `expiration'
	dtnwh.c:357: error: structure has no member named
`failure_action'
	dtnwh.c:364: error: too few arguments to function `dtn_bind'
	dtnwh.c: En la funci=F3n `do_dtn_server':
	dtnwh.c:426: error: `dtn_endpoint_id_t' undeclared (first use
in this function)
	dtnwh.c:426: error: error sint=E1ctico before "local_tuple"
	dtnwh.c:459: error: `local_tuple' undeclared (first use in this
function)
	dtnwh.c:465: error: structure has no member named `expiration'
	dtnwh.c:466: error: structure has no member named
`failure_action'
	dtnwh.c:474: error: too few arguments to function `dtn_bind'
	dtnwh.c: En el nivel principal:
	dtnwh.c:748: error: error sint=E1ctico before '*' token
	dtnwh.c:749: error: error sint=E1ctico before "dtn_endpoint_id_t"
	dtnwh.c: En la funci=F3n `parse_eid':
	dtnwh.c:752: error: `eid' undeclared (first use in this
function)
	dtnwh.c:752: error: `str' undeclared (first use in this
function)
	dtnwh.c:759: error: `handle' undeclared (first use in this
function)
	make[1]: *** [dtnwh.o] Error 1
	make[1]: Leaving directory `/root/wwwoffle_dtn/src'
	make: *** [compile] Error 2
=09
	Thanks in advance
=09

=09
________________________________

	LLama Gratis a cualquier PC del Mundo.
	Llamadas a fijos y m=F3viles desde 1 c=E9ntimo por minuto.
	http://es.voice.yahoo.com
<http://us.rd.yahoo.com/mail/es/tagline/messenger/*http://es.voice.yaho
o.com/>=20

------_=_NextPart_001_01C667E4.3E3292AB
Content-Type: text/html;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=3DContent-Type content=3D"text/html; =
charset=3Diso-8859-1">
<META content=3D"MSHTML 6.00.2900.2873" name=3DGENERATOR></HEAD>
<BODY>
<DIV dir=3Dltr align=3Dleft><SPAN class=3D917350921-24042006><FONT =
face=3DArial=20
color=3D#0000ff size=3D2>It looks like it couldn't find the dtn_api.h =
header=20
file.&nbsp; I don't think the DTN package installs the dtn_api.h header =
or=20
dtnapi.o library file in any standard location.&nbsp; The configure =
script in=20
the wwwoffle directory will try to do the right thing, but only looks in =
a few=20
places.</FONT></SPAN></DIV>
<DIV dir=3Dltr align=3Dleft><SPAN class=3D917350921-24042006><FONT =
face=3DArial=20
color=3D#0000ff size=3D2></FONT></SPAN>&nbsp;</DIV>
<DIV dir=3Dltr align=3Dleft><SPAN class=3D917350921-24042006><FONT =
face=3DArial=20
color=3D#0000ff size=3D2>The quickest fix is to modify the Makefile in =
the wwwoffle=20
src directory to ensure that the INCLUDE variable contains a path to the =

dtn_api.h file and that the LIBRARY variable contains a path to the =
libdtnapi.o=20
file.</FONT></SPAN></DIV>
<DIV dir=3Dltr align=3Dleft><SPAN class=3D917350921-24042006><FONT =
face=3DArial=20
color=3D#0000ff size=3D2></FONT></SPAN>&nbsp;</DIV>
<DIV dir=3Dltr align=3Dleft><SPAN class=3D917350921-24042006><FONT =
face=3DArial=20
color=3D#0000ff size=3D2>For example, if the root directory of your DTN2 =
reference=20
implementation installation is PATH_TO_DTN2 then the above variables =
need to=20
include:</FONT></SPAN></DIV>
<DIV dir=3Dltr align=3Dleft><SPAN class=3D917350921-24042006><FONT =
face=3DArial=20
color=3D#0000ff size=3D2></FONT></SPAN>&nbsp;</DIV>
<DIV dir=3Dltr align=3Dleft><SPAN class=3D917350921-24042006><FONT =
face=3DArial=20
color=3D#0000ff size=3D2>LIBRARY=3D -lpthread -lz -LPATH_TO_DTN2/applib=20
-ldtnapi</FONT></SPAN></DIV>
<DIV dir=3Dltr align=3Dleft><SPAN class=3D917350921-24042006><FONT =
face=3DArial=20
color=3D#0000ff size=3D2>INCLUDE=3D =
-IPATH_TO_DTN2/applib</FONT></SPAN></DIV>
<DIV dir=3Dltr align=3Dleft><SPAN class=3D917350921-24042006><FONT =
face=3DArial=20
color=3D#0000ff size=3D2></FONT></SPAN>&nbsp;</DIV>
<DIV dir=3Dltr align=3Dleft><SPAN class=3D917350921-24042006><FONT =
face=3DArial=20
color=3D#0000ff size=3D2>If this doesn't help, please let me=20
know.</FONT></SPAN></DIV>
<DIV dir=3Dltr align=3Dleft><SPAN class=3D917350921-24042006><FONT =
face=3DArial=20
color=3D#0000ff size=3D2></FONT></SPAN>&nbsp;</DIV>
<DIV dir=3Dltr align=3Dleft><SPAN=20
class=3D917350921-24042006>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
<FONT=20
face=3DArial color=3D#0000ff size=3D2>-keith</FONT></SPAN></DIV><BR>
<BLOCKQUOTE=20
style=3D"PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #0000ff 2px =
solid; MARGIN-RIGHT: 0px">
  <DIV class=3DOutlookMessageHeader lang=3Den-us dir=3Dltr align=3Dleft>
  <HR tabIndex=3D-1>
  <FONT face=3DTahoma size=3D2><B>From:</B> =
[email-masked]=20
  [mailto:[email-masked]] <B>On Behalf Of </B>Lidice =
Romero=20
  Amondaray<BR><B>Sent:</B> Monday, April 24, 2006 1:27 PM<BR><B>To:</B> =

  [email-masked]<BR><B>Subject:</B> [dtn-users] =
wwwoffle_dtn in=20
  repository<BR></FONT><BR></DIV>
  <DIV></DIV>Hi all,<BR><BR><SPAN lang=3Den-au><FONT face=3DArial =
size=3D2>Ive been=20
  trying to install&nbsp; </FONT></SPAN>wwwoffle_dtn application in the=20
  repository<SPAN lang=3Den-au><FONT face=3DArial size=3D2>. Its like =
something is=20
  wrong the code. Has anybody else had this=20
  problem?</FONT></SPAN><BR><BR>dtnwh.c:83: error: error sint=E1ctico =
before '*'=20
  token<BR>dtnwh.c:84: error: error sint=E1ctico before=20
  "dtn_endpoint_id_t"<BR>dtnwh.c:85: aviso: data definition has no type =
or=20
  storage class<BR>dtnwh.c: En la funci=F3n=20
  `do_dtn_client_sender':<BR>dtnwh.c:177: error: `dtn_endpoint_id_t' =
undeclared=20
  (first use in this function)<BR>dtnwh.c:177: error: (Each undeclared=20
  identifier is reported only once<BR>dtnwh.c:177: error: for each =
function it=20
  appears in.)<BR>dtnwh.c:177: error: error sint=E1ctico before=20
  "local_eid"<BR>dtnwh.c: En la funci=F3n=20
  `do_dtn_client_receiver':<BR>dtnwh.c:299: error: `dtn_endpoint_id_t'=20
  undeclared (first use in this function)<BR>dtnwh.c:299: error: error=20
  sint=E1ctico before "local_tuple"<BR>dtnwh.c:350: error: `local_tuple' =

  undeclared (first use in this function)<BR>dtnwh.c:356: error: =
structure has=20
  no member named `expiration'<BR>dtnwh.c:357: error: structure has no =
member=20
  named `failure_action'<BR>dtnwh.c:364: error: too few arguments to =
function=20
  `dtn_bind'<BR>dtnwh.c: En la funci=F3n =
`do_dtn_server':<BR>dtnwh.c:426: error:=20
  `dtn_endpoint_id_t' undeclared (first use in this =
function)<BR>dtnwh.c:426:=20
  error: error sint=E1ctico before "local_tuple"<BR>dtnwh.c:459: error:=20
  `local_tuple' undeclared (first use in this function)<BR>dtnwh.c:465: =
error:=20
  structure has no member named `expiration'<BR>dtnwh.c:466: error: =
structure=20
  has no member named `failure_action'<BR>dtnwh.c:474: error: too few =
arguments=20
  to function `dtn_bind'<BR>dtnwh.c: En el nivel =
principal:<BR>dtnwh.c:748:=20
  error: error sint=E1ctico before '*' token<BR>dtnwh.c:749: error: =
error=20
  sint=E1ctico before "dtn_endpoint_id_t"<BR>dtnwh.c: En la funci=F3n=20
  `parse_eid':<BR>dtnwh.c:752: error: `eid' undeclared (first use in =
this=20
  function)<BR>dtnwh.c:752: error: `str' undeclared (first use in this=20
  function)<BR>dtnwh.c:759: error: `handle' undeclared (first use in =
this=20
  function)<BR>make[1]: *** [dtnwh.o] Error 1<BR>make[1]: Leaving =
directory=20
  `/root/wwwoffle_dtn/src'<BR>make: *** [compile] Error 2<BR><BR>Thanks =
in=20
  advance<BR>
  <P>
  <HR SIZE=3D1>
  <BR><FONT face=3DVerdana size=3D-2>LLama Gratis a cualquier PC del=20
  Mundo.<BR>Llamadas a fijos y m=F3viles desde 1 c=E9ntimo por =
minuto.<BR><A=20
  =
href=3D"http://us.rd.yahoo.com/mail/es/tagline/messenger/*http://es.voice=
.yahoo.com/">http://es.voice.yahoo.com</A></FONT></BLOCKQUOTE></BODY></HT=
ML>

------_=_NextPart_001_01C667E4.3E3292AB--

Date: Mon, 24 Apr 2006 19:26:55 +0200 (CEST)
From: Lidice Romero Amondaray <[email-masked]>
To: [email-masked]
Subject: [dtn-users] wwwoffle_dtn in repository
Sender: [email-masked]
Reply-To: [email-masked]

--0-1827742049-1145899615=:71492
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit

Hi all,
 
 Ive been trying to install  wwwoffle_dtn application in the repository. Its like something is wrong the code. Has anybody else had this problem?

 dtnwh.c:83: error: error sint�ctico before '*' token
 dtnwh.c:84: error: error sint�ctico before "dtn_endpoint_id_t"
 dtnwh.c:85: aviso: data definition has no type or storage class
 dtnwh.c: En la funci�n `do_dtn_client_sender':
 dtnwh.c:177: error: `dtn_endpoint_id_t' undeclared (first use in this function)
 dtnwh.c:177: error: (Each undeclared identifier is reported only once
 dtnwh.c:177: error: for each function it appears in.)
 dtnwh.c:177: error: error sint�ctico before "local_eid"
 dtnwh.c: En la funci�n `do_dtn_client_receiver':
 dtnwh.c:299: error: `dtn_endpoint_id_t' undeclared (first use in this function)
 dtnwh.c:299: error: error sint�ctico before "local_tuple"
 dtnwh.c:350: error: `local_tuple' undeclared (first use in this function)
 dtnwh.c:356: error: structure has no member named `expiration'
 dtnwh.c:357: error: structure has no member named `failure_action'
 dtnwh.c:364: error: too few arguments to function `dtn_bind'
 dtnwh.c: En la funci�n `do_dtn_server':
 dtnwh.c:426: error: `dtn_endpoint_id_t' undeclared (first use in this function)
 dtnwh.c:426: error: error sint�ctico before "local_tuple"
 dtnwh.c:459: error: `local_tuple' undeclared (first use in this function)
 dtnwh.c:465: error: structure has no member named `expiration'
 dtnwh.c:466: error: structure has no member named `failure_action'
 dtnwh.c:474: error: too few arguments to function `dtn_bind'
 dtnwh.c: En el nivel principal:
 dtnwh.c:748: error: error sint�ctico before '*' token
 dtnwh.c:749: error: error sint�ctico before "dtn_endpoint_id_t"
 dtnwh.c: En la funci�n `parse_eid':
 dtnwh.c:752: error: `eid' undeclared (first use in this function)
 dtnwh.c:752: error: `str' undeclared (first use in this function)
 dtnwh.c:759: error: `handle' undeclared (first use in this function)
 make[1]: *** [dtnwh.o] Error 1
 make[1]: Leaving directory `/root/wwwoffle_dtn/src'
 make: *** [compile] Error 2
 
  Thanks in advance

---------------------------------

LLama Gratis a cualquier PC del Mundo.
Llamadas a fijos y m�viles desde 1 c�ntimo por minuto.
http://es.voice.yahoo.com
--0-1827742049-1145899615=:71492
Content-Type: text/html; charset=iso-8859-1
Content-Transfer-Encoding: 8bit

Hi all,<br> <br> <span lang="en-au"><font face="Arial" size="2">Ive been trying to install&nbsp; </font></span>wwwoffle_dtn application in the repository<span lang="en-au"><font face="Arial" size="2">. Its like something is wrong the code. Has anybody else had this problem?</font></span><br><br> dtnwh.c:83: error: error sint�ctico before '*' token<br> dtnwh.c:84: error: error sint�ctico before "dtn_endpoint_id_t"<br> dtnwh.c:85: aviso: data definition has no type or storage class<br> dtnwh.c: En la funci�n `do_dtn_client_sender':<br> dtnwh.c:177: error: `dtn_endpoint_id_t' undeclared (first use in this function)<br> dtnwh.c:177: error: (Each undeclared identifier is reported only once<br> dtnwh.c:177: error: for each function it appears in.)<br> dtnwh.c:177: error: error sint�ctico before "local_eid"<br> dtnwh.c: En la funci�n `do_dtn_client_receiver':<br> dtnwh.c:299: error: `dtn_endpoint_id_t' undeclared (first use in this function)<br> dtnwh.c:299: error: error
 sint�ctico before "local_tuple"<br> dtnwh.c:350: error: `local_tuple' undeclared (first use in this function)<br> dtnwh.c:356: error: structure has no member named `expiration'<br> dtnwh.c:357: error: structure has no member named `failure_action'<br> dtnwh.c:364: error: too few arguments to function `dtn_bind'<br> dtnwh.c: En la funci�n `do_dtn_server':<br> dtnwh.c:426: error: `dtn_endpoint_id_t' undeclared (first use in this function)<br> dtnwh.c:426: error: error sint�ctico before "local_tuple"<br> dtnwh.c:459: error: `local_tuple' undeclared (first use in this function)<br> dtnwh.c:465: error: structure has no member named `expiration'<br> dtnwh.c:466: error: structure has no member named `failure_action'<br> dtnwh.c:474: error: too few arguments to function `dtn_bind'<br> dtnwh.c: En el nivel principal:<br> dtnwh.c:748: error: error sint�ctico before '*' token<br> dtnwh.c:749: error: error sint�ctico before "dtn_endpoint_id_t"<br> dtnwh.c: En la funci�n
 `parse_eid':<br> dtnwh.c:752: error: `eid' undeclared (first use in this function)<br> dtnwh.c:752: error: `str' undeclared (first use in this function)<br> dtnwh.c:759: error: `handle' undeclared (first use in this function)<br> make[1]: *** [dtnwh.o] Error 1<br> make[1]: Leaving directory `/root/wwwoffle_dtn/src'<br> make: *** [compile] Error 2<br> <br>  Thanks in advance<br><p>
		<hr size=1><br><font face="Verdana" size="-2">LLama Gratis a cualquier PC del Mundo.<br>Llamadas a fijos y m�viles desde 1 c�ntimo por minuto.<br><a href="http://us.rd.yahoo.com/mail/es/tagline/messenger/*http://es.voice.yahoo.com/">http://es.voice.yahoo.com</a></font>
--0-1827742049-1145899615=:71492--

Date: Thu, 13 Apr 2006 09:39:22 -0700
From: Michael Demmer <[email-masked]>
To: [email-masked]
Subject: Re: [dtn-users] About dtnsim 's sample config file
Sender: [email-masked]
Reply-To: [email-masked]

Unfortunately, the dtnsim simulator is an incomplete effort that I
haven't had the time to maintain. If you'd be interested in working on
it some, please send me mail and we can discuss the design of the
simulator.

-m

> Hi all,
>        I am new in dtn packet. Recently, I am trying
> to do some simulator experiments by dtnsim. However, I
> cannot find any manual talk about the simulator. I
> have try to make a quick start by executing the sample
> config file with dtnsim by
> 
>        - In directory "sim"
>         ./dtnsim -c conf/send-one-bundle.conf 
> 
>        However, it give out a segmentation fault as
> shown below:
> 
> [-- 0.000000 /sim info] dtn simulator initializing...
> [-- 0.000000 /sim info] random seed is 0
> [-- 0.000000 /node/n0 info] node n0 initializing...
> [-- 0.000000 /node/n1 info] node n1 initializing...
> [n0 0.000000 /link/link-n1 info] new link ONDEMAND
> link-n1 -> n1 (UNAVAILABLE)
> Segmentation fault
>        
> Is there somethings wrong for my execution statements
> ? 
> 
> Actually I am also interested to know if there is
> there any documentation about the dtnsim ?
> 
> On the other hand,I also to know more how this
> simulator work :
> such as what is the way this simulator is going to
> simulate the delay tolerant network ? how they
> simulate the intermittent connectivity pattern, how do
> they model the inter-arrival time,etc
> 
> Thank you for your time ~~
> 
> 
> _______________________________________
>  YM - ???u?T??
>  ?N???A?S???W???A?A???B?????i?H?d?U?T?????A?A???A?W?????N?????Y?????A???????????N?????C
>  http://messenger.yahoo.com.hk
> _______________________________________________
> dtn-users mailing list
> [email-masked]
> http://mailman.dtnrg.org/mailman/listinfo/dtn-users

Date: Thu, 13 Apr 2006 11:21:36 +0800 (CST)
From: Ip Wilson <[email-masked]>
To: [email-masked]
Subject: [dtn-users] About dtnsim 's sample config file
Sender: [email-masked]
Reply-To: [email-masked]

Hi all,
       I am new in dtn packet. Recently, I am trying
to do some simulator experiments by dtnsim. However, I
cannot find any manual talk about the simulator. I
have try to make a quick start by executing the sample
config file with dtnsim by

       - In directory "sim"
        ./dtnsim -c conf/send-one-bundle.conf 

       However, it give out a segmentation fault as
shown below:

[-- 0.000000 /sim info] dtn simulator initializing...
[-- 0.000000 /sim info] random seed is 0
[-- 0.000000 /node/n0 info] node n0 initializing...
[-- 0.000000 /node/n1 info] node n1 initializing...
[n0 0.000000 /link/link-n1 info] new link ONDEMAND
link-n1 -> n1 (UNAVAILABLE)
Segmentation fault
       
Is there somethings wrong for my execution statements
? 

Actually I am also interested to know if there is
there any documentation about the dtnsim ?

On the other hand,I also to know more how this
simulator work :
such as what is the way this simulator is going to
simulate the delay tolerant network ? how they
simulate the intermittent connectivity pattern, how do
they model the inter-arrival time,etc

Thank you for your time ~~

_______________________________________
 YM - ���u�T��
 �N��A�S���W���A�A���B�ͤ��i�H�d�U�T�����A�A���A�W���ɴN��ߧY�ݨ�A���󻡸ܳ��N�����C
 http://messenger.yahoo.com.hk

Date: Thu, 13 Apr 2006 08:24:50 +0800 (CST)
From: Ip Wilson <[email-masked]>
Subject: Re: [dtn-users] error in compiling the CVS code
To: [email-masked]
Sender: [email-masked]
Reply-To: [email-masked]

The problem is solved, Thank a lot.

On Wed, 12 Apr 2006 23:28:35 +0800, Michael Demmer  
<[email-masked]> wrote:

>
> Try uncommenting the following in TcaController.cc
and see if it
> helps. If so, please post back here (or reply to me)
and I'll check in
> the change.
>
> // #include <unistd.h>
>
> -m
>
>> Dear all,
>>     I get the latest version of DTN2 from CVS. And
I
>> compile it in a white box linux version 3 with
>>
>>     - gcc version 3.2.3
>>     - BerkeleyDB.4.3
>>
>>    However, I encounter the following compilation
>> error:
>>
>> tca_admin/TcaController.cc: In member function
`bool
>>    TcaController::test_all()':
>> tca_admin/TcaController.cc:815: `sleep' undeclared
>> (first use this function)
>> tca_admin/TcaController.cc:815: (Each undeclared
>> identifier is reported only
>>    once for each function it appears in.)
>> make[1]: *** [tca_admin/TcaController.o] Error 1
>> make[1]: Leaving directory
`/root/DTN_test/DTN2/apps'
>> make: *** [apps] Error 2
>>
>>     Thank you for your time !
>>
>> Wilson Ip
>>
>> _______________________________________
>>  YM - ???u?T??
>> 
?N???A?S???W???A?A???B?????i?H?d?U?T?????A?A???A?W?????N?????Y?????A???????????N?????C
>>  http://messenger.yahoo.com.hk
>> _______________________________________________
>> dtn-users mailing list
>> [email-masked]
>> http://mailman.dtnrg.org/mailman/listinfo/dtn-users
> _______________________________________________
> dtn-users mailing list
> [email-masked]
> http://mailman.dtnrg.org/mailman/listinfo/dtn-users
>

-- 
Using Opera's revolutionary e-mail client: http://www.opera.com/mail/

_______________________________________
 YM - ���u�T��
 �N��A�S���W���A�A���B�ͤ��i�H�d�U�T�����A�A���A�W���ɴN��ߧY�ݨ�A���󻡸ܳ��N�����C
 http://messenger.yahoo.com.hk

Date: Wed, 12 Apr 2006 08:28:35 -0700
From: Michael Demmer <[email-masked]>
To: [email-masked]
Subject: Re: [dtn-users] error in compiling the CVS code
Sender: [email-masked]
Reply-To: [email-masked]

Try uncommenting the following in TcaController.cc and see if it
helps. If so, please post back here (or reply to me) and I'll check in
the change.

// #include <unistd.h>

-m

> Dear all,
>     I get the latest version of DTN2 from CVS. And I
> compile it in a white box linux version 3 with 
>     
>     - gcc version 3.2.3
>     - BerkeleyDB.4.3
> 
>    However, I encounter the following compilation
> error:
> 
> tca_admin/TcaController.cc: In member function `bool 
>    TcaController::test_all()':
> tca_admin/TcaController.cc:815: `sleep' undeclared
> (first use this function)
> tca_admin/TcaController.cc:815: (Each undeclared
> identifier is reported only 
>    once for each function it appears in.)
> make[1]: *** [tca_admin/TcaController.o] Error 1
> make[1]: Leaving directory `/root/DTN_test/DTN2/apps'
> make: *** [apps] Error 2
> 
>     Thank you for your time !
> 
> Wilson Ip
> 
> _______________________________________
>  YM - ???u?T??
>  ?N???A?S???W???A?A???B?????i?H?d?U?T?????A?A???A?W?????N?????Y?????A???????????N?????C
>  http://messenger.yahoo.com.hk
> _______________________________________________
> dtn-users mailing list
> [email-masked]
> http://mailman.dtnrg.org/mailman/listinfo/dtn-users

Date: Wed, 12 Apr 2006 19:58:11 +0800 (CST)
From: Ip Wilson <[email-masked]>
To: [email-masked]
Subject: [dtn-users] error in compiling the CVS code
Sender: [email-masked]
Reply-To: [email-masked]

Dear all,
    I get the latest version of DTN2 from CVS. And I
compile it in a white box linux version 3 with 
    
    - gcc version 3.2.3
    - BerkeleyDB.4.3

   However, I encounter the following compilation
error:

tca_admin/TcaController.cc: In member function `bool 
   TcaController::test_all()':
tca_admin/TcaController.cc:815: `sleep' undeclared
(first use this function)
tca_admin/TcaController.cc:815: (Each undeclared
identifier is reported only 
   once for each function it appears in.)
make[1]: *** [tca_admin/TcaController.o] Error 1
make[1]: Leaving directory `/root/DTN_test/DTN2/apps'
make: *** [apps] Error 2

    Thank you for your time !

Wilson Ip

_______________________________________
 YM - ���u�T��
 �N��A�S���W���A�A���B�ͤ��i�H�d�U�T�����A�A���A�W���ɴN��ߧY�ݨ�A���󻡸ܳ��N�����C
 http://messenger.yahoo.com.hk

Date: Thu, 6 Apr 2006 11:09:22 -0700
From: Michael Demmer <[email-masked]>
To: [email-masked]
Subject: Re: [dtn-users] Question regarding routing of status reports.
Sender: [email-masked]
Reply-To: [email-masked]

> i have a question regarding the routing of bundle acks
> (status reports).
> 
> (case 1) the interface add command by defaults creates
> a DTN interface with given conv layer that starts listening
> on all physical links(i.e. actual hardware interfaces) on
> the given port.
> 
> (case 2) if we  want to use a specific conv layer on a
> specific physical link the interface add command would be
> told to listen on that physical link
> ( we give a local_host::port for that ).
> 
> and then we  can add a link to the specific destination host.
> 
> 
> my question is that in later case (case 2) when we add a
> link, it is one directional link. i.e. the receiver  node
> (which also has added a DTN interface in similar way as
> that of the DTN sender node) doesn't have a link (and corresponding
> route) to the source node. So how actually the bundle receipts
> would come/routed  back.
> 
> after digging thr', i was able to understand that 'bundle_received' event
> gets fired locally for the status report generated. but was kindda
> lost after that with above query.
> 
> do we need add a route locally at the receiver node for the bundle-source
> immediately after the budle is received.(i konw that doesn't sound
> good :-))

Sorry for the late reply...

Basically, we're in the process of reworking the core to allow
bidirectional links for connection-oriented transports (like
TCP). This will greatly simplify your scenario.

But in the meantime, you're right that you'd need to set up separate
links on each end to route the replies back.

-m

Date: Wed, 5 Apr 2006 18:34:38 -0700
From: Michael Demmer <[email-masked]>
To: [email-masked]
Subject: Re: [dtn-users] Hacktastic fix for immediate bundle expiry 'issue'.
Sender: [email-masked]
Reply-To: [email-masked]

Thanks for finding this... 

As it turns out, the whole use of u_int64_t type for this encoding was
silly from the start and is what caused at least some of the issues
you pointed out.

I've committed a fix for this issue to the main CVS tree, but the diff
for anyone who wants to apply it directly is below.

-m

---

Index: servlib/bundling/BundleProtocol.cc
===================================================================
RCS file: /repository/DTN2/servlib/bundling/BundleProtocol.cc,v
retrieving revision 1.29
diff -u -r1.29 BundleProtocol.cc
--- servlib/bundling/BundleProtocol.cc	27 Mar 2006 03:09:48 -0000	1.29
+++ servlib/bundling/BundleProtocol.cc	6 Apr 2006 01:24:05 -0000
@@ -510,19 +510,27 @@
 void
 BundleProtocol::set_timestamp(u_char* ts, const struct timeval* tv)
 {
-    u_int64_t ts_tmp =
-    (((u_int64_t)htonl(tv->tv_sec)) << 32) | htonl(tv->tv_usec);
-    memcpy(ts, &ts_tmp, sizeof(u_int64_t));
+    u_int32_t tmp;
+
+    tmp = htonl(tv->tv_sec);
+    memcpy(ts, &tmp, sizeof(u_int32_t));
+    ts += sizeof(u_int32_t);
+
+    tmp = htonl(tv->tv_usec);
+    memcpy(ts, &tmp, sizeof(u_int32_t));
 }
 
 void
 BundleProtocol::get_timestamp(struct timeval* tv, const u_char* ts)
 {
-    u_int64_t ts_tmp;
-    memcpy(&ts_tmp, ts, sizeof(ts_tmp));
+    u_int32_t tmp;
 
-    tv->tv_sec  = ntohl(ts_tmp >> 32);
-    tv->tv_usec = ntohl((u_int32_t)ts_tmp);
+    memcpy(&tmp, ts, sizeof(u_int32_t));
+    tv->tv_sec  = ntohl(tmp);
+    ts += sizeof(u_int32_t);
+    
+    memcpy(&tmp, ts, sizeof(u_int32_t));
+    tv->tv_usec = ntohl(tmp);
 }
 
 u_int8_t

Date: Tue, 4 Apr 2006 15:30:42 -0700
From: Michael Demmer <[email-masked]>
To: [email-masked]
Subject: Re: [dtn-users] dtnrecv stdout problems
Sender: [email-masked]
Reply-To: [email-masked]

> Ive been trying to redirect dtnrecv stdout to a text file, and
> nothing shows up in the text file.  Its like something is wrong with
> the stdout.  Has anybody else had this problem?

By default, many systems (including Linux) will set stdout buffering
to be block based when redirecting to a file or to a pipe. When the
program exits cleanly, the output is flushed. But if you control-c the
program (as is typical for dtnrecv) then the output is lost in the
buffer.

I've checked in a fix to all the apps to call the following right at
the beginning of main():

   setvbuf(stdout, (char *)NULL, _IOLBF, 0);

That forces stdout to be line buffered in all cases.

-m

Date: Tue, 4 Apr 2006 15:06:13 -0700
From: Michael Demmer <[email-masked]>
To: Jayram Deshpande <[email-masked]>
Cc: [email-masked]
Subject: Re: Fwd: [dtn-users] dtnping makes the daemon dump core.
Sender: [email-masked]
Reply-To: [email-masked]

Jay,

I was unable to process your core file. Also, your mail looked like it
only included part of the dtnd output. Please try to reproduce the bug
and capture the whole dtnd output.

Then pipe all the output to:

% cat dtnd_output_file | oasys/test-utils/expand-stacktrace.pl -o daemon/dtnd

This should replace all the STACK TRACE outputs with the debugging
symbols.

If that doesn't work for some reason, then run:

% gdb dtnd core.XXX
(gdb) info threads
(gdb) thread apply all where

If that causes an error, then go for each thread one by one:

(gdb) thread 1
(gdb) where
(gdb) thread 2
(gdb) where
(gdb) ...

Please, post all the output to the list or just send it to me
directly.

-mike

Content-class: urn:content-classes:message
Date: Mon, 3 Apr 2006 09:45:51 +1000
From: "Halkett, Brad \(Student\)" <[email-masked]>
To: <[email-masked]>
Subject: [dtn-users] dtnrecv stdout problems
Sender: [email-masked]
Reply-To: [email-masked]

This is a multi-part message in MIME format.

------_=_NextPart_001_01C656AF.93389D2A
Content-Type: text/plain;
	charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

Hi All,=20

Ive been trying to redirect dtnrecv stdout to a text file, and nothing
shows up in the text file.Its like something is wrong with the stdout.
Has anybody else had this problem?

Brad Halkett

------_=_NextPart_001_01C656AF.93389D2A
Content-Type: text/html;
	charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV=3D"Content-Type" CONTENT=3D"text/html; =
charset=3Dus-ascii">
<META NAME=3D"Generator" CONTENT=3D"MS Exchange Server version =
6.5.7638.1">
<TITLE>Sec:U dtnrecv stdout problems</TITLE>
</HEAD>
<BODY>
<!-- Converted from text/rtf format -->

<P><FONT SIZE=3D2 FACE=3D"Arial">Hi All, </FONT>
</P>

<P><SPAN LANG=3D"en-au"><FONT SIZE=3D2 FACE=3D"Arial">Ive been trying to =
redirect dtnrecv stdout to a text file, and nothing shows up in the text =
file.Its like something is wrong with the stdout. Has anybody else had =
this problem?</FONT></SPAN></P>

<P><SPAN LANG=3D"en-us"><FONT COLOR=3D"#0000FF" SIZE=3D5 FACE=3D"Brush =
Script MT">Brad Halkett</FONT></SPAN>
</P>

</BODY>
</HTML>
------_=_NextPart_001_01C656AF.93389D2A--

From: Darren Long <[email-masked]>
Date: Sat, 1 Apr 2006 13:22:39 +0100
To: [email-masked]
Subject: [dtn-users] Hacktastic fix for immediate bundle expiry 'issue'.
Sender: [email-masked]
Reply-To: [email-masked]

Hi all,

I've knocked up a hack/fix for an issue causing immediate bundle  
expiry when I pass bundles between a Mac OS X PowerPC platform and an  
x86 Linux (Ubuntu Dapper Drake Flight 5 release) platform.  The  
problem has been there for a while, and I guess an elegant solution  
is made more complicated by the Mac platform switch to Intel arch.

Anyway, it works for me, but may have side-effects if bundle creation  
times are, shall we say, unusual.  It is sensitive to Unix time  
rollover. YMMV.

The 'tweaks' are in BundleProtocol.cc, and affect methods  
BundleProtocol::get_timestamp() and BundleProtocol::set_timestamp().   
See code below.

Hope this helps.  At least we know where the problem is now.

Cheers,

Darren

void
BundleProtocol::set_timestamp(u_char* ts, const struct timeval* tv)
{
// DML Hack for Mac OS X PowerPC interoperability with Intel x86.
// [email-masked]
/*
There was a problem with the tx_sec and tv_usec being swapped
causing immediate bundle expiration when exchanging bundles
between a Mac OS X PowerPC platform and a Linux x86 platform.
I assume that this hack is OK since we're not living in the 1970s
and the number of microseconds is less than the number of seconds
since the Unix time epoch.  Fix this if you are deploying DTN
on a time machine, or need it to work after 03:14:08 UTC on
January 19, 2038 (according to wikipedia.org).  Also, fix Unix. YMMV.
*/	
// Original Code
/*
     u_int64_t ts_tmp =	
		(((u_int64_t)htonl(tv->tv_sec)) << 32) | htonl(tv->tv_usec);

     memcpy(ts, &ts_tmp, sizeof(u_int64_t));
*/	
// Hack replacment code
	if(tv->tv_sec < tv->tv_usec)// if seconds since epoch are bigger than
	{				  // number of microseconds. [see comment up]
		u_int64_t ts_tmp =
			((((u_int64_t)htonl(tv->tv_sec)) << 32) | htonl(tv->tv_usec));
	    memcpy(ts, &ts_tmp, sizeof(u_int64_t));
	}
	else
	{
		u_int64_t ts_tmp =
			((((u_int64_t)htonl(tv->tv_usec)) <<32) | htonl(tv->tv_sec));
	    memcpy(ts, &ts_tmp, sizeof(u_int64_t));
	}
// End Hack replacment code

}

void
BundleProtocol::get_timestamp(struct timeval* tv, const u_char* ts)
{
     u_int64_t ts_tmp;
     memcpy(&ts_tmp, ts, sizeof(ts_tmp));	

// Hack for Mac OS X PowerPC interoperability with Intel x86.
// [email-masked]
/*
There was a problem with the tx_sec and tv_usec being swapped
causing immediate bundle expiration when exchanging bundles
between a Mac OS X PowerPC platform and a Linux x86 platform.
I assume that this hack is OK since we're not living in the 1970s
and the number of microseconds is less than the number of seconds
since the Unix time epoch.  Fix this if you are deploying DTN
on a time machine and/or need it to work after 03:14:08 UTC on
January 19, 2038 (according to wikipedia.org). Also, fix Unix. YMMV.
*/	
// Original code
/*
     tv->tv_sec  = ntohl(ts_tmp >> 32);
     tv->tv_usec = ntohl((u_int32_t)ts_tmp);
*/
// Hack replacment code
	u_int32_t tmp_a = ntohl(ts_tmp >> 32);
	u_int32_t tmp_b = ntohl((u_int32_t)ts_tmp);
	if(tmp_a > tmp_b) // if seconds since epoch are bigger than
	{				  // number of microseconds. [see comment up]
		tv->tv_sec  = tmp_a;
		tv->tv_usec = tmp_b;
	}
	else
	{
		tv->tv_sec  = tmp_b;
		tv->tv_usec = tmp_a;
	}
// End Hack replacment code
}

On 20 Feb 2006, at 21:32, Darren Long wrote:

> Hi,
>
> After a while away from playing with DTN, I've had another go.  The  
> latest from CVS is up and running on Mac OS X 10.4.5 and Ubuntu  
> Breezy Badger 5.10.
>
> I had some minor issues with Ubuntu, having had to reinstall TCL  
> with synaptic and to build db4.3 from source as configure  
> complained.  There may have been a better way, but this worked for me.
>
> So, back to the bundle expiry niggle.
>
> From the dtnd log on the PowerPC iBook:
> [1140469682.776580 /bundle/daemon warning] scheduling IMMEDIATE  
> expiration for bundle id 129: [expiration 30, creation time  
> 268373.1140469698, now 1140469682.776559]
> [1140469682.779323 /bundle/daemon error] try_delete_from_pending 
> (bundle id 129 dtn://soltek.49southgate.dtn -> dtn:// 
> ibook12.49southgate.dtn/ping.16151 (10 bytes payload)): bundle not  
> in pending list!
>
> From the x86 Ubuntu box:
> [1140469698.268046 /bundle/daemon warning] scheduling IMMEDIATE  
> expiration for bundle id 138: [expiration 30, creation time  
> 582248.1140469682, now 1140469698.268040]
> [1140469698.269047 /bundle/daemon error] try_delete_from_pending 
> (bundle id 138 dtn://ibook12.49southgate.dtn/ping.16151 -> dtn:// 
> soltek.49southgate.dtn (10 bytes payload)): bundle not in pending  
> list!
>
>
> I haven't resorted to looking through the code or debugging, as I'm  
> off out of the country for a few days, but it looks like an issue  
> with bundle creation times, which appear malformed.  I haven't  
> noticed this behaviour reported when self-pinging on.
>
> Hope this is of help.
>
> Darren
>