Discussion:
Is it okay to clone OpenBSD from GitHub from India?
Dinesh Thirumurthy
2017-12-22 22:46:20 UTC
Permalink
Hi,

"(NOTE: OpenBSD can not be re-exported from the US once it has entered
the US. Because of this, take care NOT to get the distribution from
a mirror server in the US if you are outside of Canada and the US.)"

I am not in US/Canada. So is it okay to get OpenBSD source from GitHub?

git clone https://github.com/openbsd/src.git

github.com servers are in USA.

Thanks.

Dinesh
Dinesh Thirumurthy
2017-12-23 10:54:22 UTC
Permalink
From https://www.openbsd.org/cvsync.html

" IMPORTANT NOTE: There are a few issues relating to cryptographic
software that everyone should be aware of:
...
However, if you are outside the USA or Canada, you should not fetch
the cryptographic sections of the OpenBSD sources from a CVSync server
located in the USA. The files in question are...
src/kerberosIV/*
src/kerberosV/*
src/lib/libdes/*
src/lib/libc/crypt/crypt.c
src/lib/libc/crypt/morecrypt.c
src/sys/crypto
src/sys/netinet
src/usr.sbin/afs/src/rxkad/*

Because of the USA ITAR munitions list, crypto software may only be
exported to Canada from the USA."

generalising cvsync server to any version control software server, we
get:

"if you are outside the USA or Canada, you should not fetch the
cryptographic sections of the OpenBSD sources from **any
version control software** server located in the USA"

That would include github.com

so is using the combination (OpenBSD, GitHub, India) uncool (gulp
illegal)?

If illegal, this kind of sucks for me and my intern.

May be someone experienced in these matters could confirm/deny?

Thanks,
Dinesh
Otto Moerbeek
2017-12-23 11:10:23 UTC
Permalink
Post by Dinesh Thirumurthy
Post by Dinesh Thirumurthy
From https://www.openbsd.org/cvsync.html
" IMPORTANT NOTE: There are a few issues relating to cryptographic
...
However, if you are outside the USA or Canada, you should not fetch
the cryptographic sections of the OpenBSD sources from a CVSync server
located in the USA. The files in question are...
src/kerberosIV/*
src/kerberosV/*
src/lib/libdes/*
src/lib/libc/crypt/crypt.c
src/lib/libc/crypt/morecrypt.c
src/sys/crypto
src/sys/netinet
src/usr.sbin/afs/src/rxkad/*
Because of the USA ITAR munitions list, crypto software may only be
exported to Canada from the USA."
generalising cvsync server to any version control software server, we
"if you are outside the USA or Canada, you should not fetch the
cryptographic sections of the OpenBSD sources from **any
version control software** server located in the USA"
That would include github.com
so is using the combination (OpenBSD, GitHub, India) uncool (gulp
illegal)?
If illegal, this kind of sucks for me and my intern.
May be someone experienced in these matters could confirm/deny?
Thanks,
Dinesh
Just use cvs from a mirror outisde the US? You don't *need* to use
github, github is a copy anyway and only cvs is authorative.

-Otto
Dinesh Thirumurthy
2017-12-23 11:49:54 UTC
Permalink
Post by Otto Moerbeek
Just use cvs from a mirror outisde the US? You don't *need* to use
github, github is a copy anyway and only cvs is authorative.
-Otto
Otto,

Thanks.

I was trying to distribute a tweaked OpenBSD to teachers and students in
India, so they could compile kernel, base, and xenocara very easily.
Not that it is difficult now. But just made it easier. I was using
github.com as my distribution platform from a forked OpenBSD. Now I need
to find another way to distribute it.

Regards,
Dinesh
Stefan Sperling
2017-12-23 12:33:26 UTC
Permalink
Post by Dinesh Thirumurthy
Post by Otto Moerbeek
Just use cvs from a mirror outisde the US? You don't *need* to use
github, github is a copy anyway and only cvs is authorative.
-Otto
Otto,
Thanks.
I was trying to distribute a tweaked OpenBSD to teachers and students in
India, so they could compile kernel, base, and xenocara very easily.
Not that it is difficult now. But just made it easier. I was using
github.com as my distribution platform from a forked OpenBSD. Now I need
to find another way to distribute it.
Regards,
Dinesh
Note that openbsd's github conversion is not considered stable yet.
Which means all commit hashes could change at any time. Regardless
of the crypto export issue, I would not rely on it for very important
tasks until it is declared stable.

If you really want it in git format without legal trouble, you could
create your own git conversion with e.g. git-cvs ('pkg_add git-cvs').
Dinesh Thirumurthy
2017-12-23 12:48:36 UTC
Permalink
Stephan,

Thank you.
Post by Stefan Sperling
Note that openbsd's github conversion is not considered stable yet.
I was using github.com because it is (ahem) more palatable. :-)
So, it should be a hit with students.
Post by Stefan Sperling
Which means all commit hashes could change at any time. Regardless
of the crypto export issue, I would not rely on it for very important
tasks until it is declared stable.
Okay. I fine with that.
Post by Stefan Sperling
If you really want it in git format without legal trouble, you could
create your own git conversion with e.g. git-cvs ('pkg_add git-cvs').
Thanks very much. I was trying to get in touch with Bob Beck to figure
this out.

Regards,
Dinsh
Stuart Henderson
2017-12-23 16:23:18 UTC
Permalink
Post by Dinesh Thirumurthy
Stephan,
Thank you.
Post by Stefan Sperling
Note that openbsd's github conversion is not considered stable yet.
I was using github.com because it is (ahem) more palatable. :-)
So, it should be a hit with students.
Post by Stefan Sperling
Which means all commit hashes could change at any time. Regardless
of the crypto export issue, I would not rely on it for very important
tasks until it is declared stable.
Okay. I fine with that.
Post by Stefan Sperling
If you really want it in git format without legal trouble, you could
create your own git conversion with e.g. git-cvs ('pkg_add git-cvs').
Thanks very much. I was trying to get in touch with Bob Beck to figure
this out.
Regards,
Dinsh
The conversion on github is done with cvs2gitdump. After testing all of
the conversion tools I could find, this was the one which had the fewest
problems with OpenBSD's slightly broken rcs files. (In particular,
anything which tries to convert branches is very likely to break).

For git-cvs here's a snip from the mail I wrote Uwe back in 2015:

<< When an update is committed to a file that was previously imported,
the import is shown again in "git log". It looks like it happens for the
first commit after import. >>
Dinesh Thirumurthy
2017-12-23 18:19:51 UTC
Permalink
Stuart,
Post by Stuart Henderson
The conversion on github is done with cvs2gitdump.
Thanks very much. I will try this.
Post by Stuart Henderson
<< When an update is committed to a file that was previously imported,
the import is shown again in "git log". It looks like it happens for the
first commit after import. >>
Okay. Thanks. I hope to understand it better when I do it myself.

I am looking to create a git repo outside USA/Canada for to serve a
whole bunch of people downstream.

I do not expect users/students/teachers to have great connectivity,
Disconnected operation is important for me/my users.

I believe if students start tracking OpenBSD current and keep
recompiling OpenBSD nightly, they will feel pumped and probably do more
coding, look around the various parts of it, and then I will be able to
reach out to a whole set of graduates who will become proficient C
programmers, using 1 UNIX-like OS (OpenBSD here). Better still, they are
programming on a solid production grade OS.

I am seeing that effect on myself and my intern. :-)

You always end up liking something if you have built/assembled it or
have been a part of building it. I recently came to know that is called
the IKEA Effect [https://en.wikipedia.org/wiki/IKEA_effect].

I think OpenBSD, git, a git hosting server(TBD) and VirtualBox will be
good combination.

Thanks again for your help.

Regards,
Dinesh
Dinesh Thirumurthy
2017-12-23 22:02:05 UTC
Permalink
Hi Stuart and Everyone,
Post by Stuart Henderson
The conversion on github is done with cvs2gitdump.
git2cvsdump dumps core on latest current.
I am stumped after some basic investigation.

/usr/local/bin/cvs2gitdump dumps core.

Repeated it with latest cvs2gitdump at
https://github.com/yasuoka/cvs2gitdump/blob/master/cvs2gitdump.py

That also failed.
Looked into stacktrace, some problem at rcsparse. So tried installing

pkg_add -vvv py-rcsparse

It said I am ok. No change in py-rcsparse-20151027.

What I did:

mkdir x
cd x
cvs -qd ***@anoncvs.jp.openbsd.org:/cvs checkout -P src
mv src src0 # save a copy for later use
cp -r src0 src1 # use a copy of the repo
pkg_add -vvv cvs2gitdump
# follow instructions given in source also at
https://github.com/yasuoka/cvs2gitdump/blob/master/cvs2gitdump.py
git init --bare git1.git
cvs2gitdump -k OpenBSD -e openbsd.org /home/user/x/src1 > openbsd.dump
# will dump core or rather dumps core for me.
# running generic kernel on virtual box of current

session and stack trace below.
Some issues in rcscheckout()
But most likely some configuration or user error.

Any pointers?

Thank you.

Those which to see the session output separately, it is at

https://github.com/hakrtech/issues/blob/master/001-x.txt

Regards,
Dinesh


Script started on Sun Dec 24 08:17:47 2017
openbsd$ pwd
/home/dt/x
openbsd$ ls -l
total 48
-rwxr-xr-x 1 dt dt 20899 Dec 24 08:00 cvs2gitdump.py
drwxr-xr-x 17 dt dt 512 Dec 24 08:09 src1
-rw-r--r-- 1 dt dt 0 Dec 24 08:17 x.out
openbsd$ git init --bare /home/dt/x/git1.git
Initialized empty Git repository in /home/dt/x/git1.git/
openbsd$ type cvs2gitdump
cvs2gitdump is /usr/local/bin/cvs2gitdump
openbsd$ cvs2gitdump -k OpenBSD -e openbsd.org /home/dt/x/src1 >
openbsd.dump
** walk cvs tree
Segmentation fault (core dumped)
openbsd$ ls -l
total 16536
-rwxr-xr-x 1 dt dt 20899 Dec 24 08:00 cvs2gitdump.py
drwxr-xr-x 7 dt dt 512 Dec 24 08:19 git1.git
-rw-r--r-- 1 dt dt 0 Dec 24 08:20 openbsd.dump
-rw------- 1 dt dt 8414024 Dec 24 08:20 python2.7.core
drwxr-xr-x 17 dt dt 512 Dec 24 08:09 src1
-rw-r--r-- 1 dt dt 577 Dec 24 08:20 x.out
openbsd$ gdb python2.7 python2.7.core
GNU gdb 6.3
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you
are
welcome to change it and/or distribute copies of it under certain
conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for
details.
This GDB was configured as "amd64-unknown-openbsd6.2"...
(no debugging symbols found)

Core was generated by `python2.7'.
Program terminated with signal 11, Segmentation fault.
Reading symbols from /usr/lib/libpthread.so.25.1...done.
Loaded symbols for /usr/lib/libpthread.so.25.1
Loaded symbols for /usr/local/bin/python2.7
Reading symbols from /usr/local/lib/libpython2.7.so.0.0...done.
Loaded symbols for /usr/local/lib/libpython2.7.so.0.0
Symbols already loaded for /usr/lib/libpthread.so.25.1
Reading symbols from /usr/lib/libutil.so.13.0...done.
Loaded symbols for /usr/lib/libutil.so.13.0
Reading symbols from /usr/lib/libm.so.10.0...done.
Loaded symbols for /usr/lib/libm.so.10.0
Reading symbols from /usr/lib/libc.so.92.1...done.
Loaded symbols for /usr/lib/libc.so.92.1
Reading symbols from /usr/libexec/ld.so...done.
Loaded symbols for /usr/libexec/ld.so
Reading symbols
from /usr/local/lib/python2.7/lib-dynload/_locale.so...done.
Loaded symbols for /usr/local/lib/python2.7/lib-dynload/_locale.so
Reading symbols from /usr/local/lib/libintl.so.6.0...done.
Loaded symbols for /usr/local/lib/libintl.so.6.0
Reading symbols from /usr/local/lib/libiconv.so.6.0...done.
Loaded symbols for /usr/local/lib/libiconv.so.6.0
Reading symbols
from /usr/local/lib/python2.7/site-packages/rcsparse.so...done.
Loaded symbols for /usr/local/lib/python2.7/site-packages/rcsparse.so
Reading symbols
from /usr/local/lib/python2.7/lib-dynload/strop.so...done.
Loaded symbols for /usr/local/lib/python2.7/lib-dynload/strop.so
Reading symbols
from /usr/local/lib/python2.7/lib-dynload/time.so...done.
Loaded symbols for /usr/local/lib/python2.7/lib-dynload/time.so
Reading symbols
from /usr/local/lib/python2.7/lib-dynload/select.so...done.
Loaded symbols for /usr/local/lib/python2.7/lib-dynload/select.so
Reading symbols
from /usr/local/lib/python2.7/lib-dynload/fcntl.so...done.
Loaded symbols for /usr/local/lib/python2.7/lib-dynload/fcntl.so
Reading symbols
from /usr/local/lib/python2.7/lib-dynload/_struct.so...done.
Loaded symbols for /usr/local/lib/python2.7/lib-dynload/_struct.so
Reading symbols
from /usr/local/lib/python2.7/lib-dynload/binascii.so...done.
Loaded symbols for /usr/local/lib/python2.7/lib-dynload/binascii.so
Reading symbols from /usr/lib/libz.so.5.0...done.
Loaded symbols for /usr/lib/libz.so.5.0
Reading symbols
from /usr/local/lib/python2.7/lib-dynload/cStringIO.so...done.
Loaded symbols for /usr/local/lib/python2.7/lib-dynload/cStringIO.so
Reading symbols
from /usr/local/lib/python2.7/lib-dynload/_functools.so...done.
Loaded symbols for /usr/local/lib/python2.7/lib-dynload/_functools.so
#0 memmove () at /usr/src/lib/libc/arch/amd64/string/memmove.S:85
85 rep
(gdb) bt
#0 memmove () at /usr/src/lib/libc/arch/amd64/string/memmove.S:85
#1 0x00001e186349f749 in rcscheckout ()
from /usr/local/lib/python2.7/site-packages/rcsparse.so
#2 0x00001e186349a9c5 in pyrcsfile_checkout ()
from /usr/local/lib/python2.7/site-packages/rcsparse.so
#3 0x00001e18edd1a012 in PyEval_EvalFrameEx ()
from /usr/local/lib/libpython2.7.so.0.0
#4 0x00001e18edd22421 in fast_function ()
from /usr/local/lib/libpython2.7.so.0.0
#5 0x00001e18edd19ada in PyEval_EvalFrameEx ()
from /usr/local/lib/libpython2.7.so.0.0
#6 0x00001e18edd22421 in fast_function ()
from /usr/local/lib/libpython2.7.so.0.0
#7 0x00001e18edd19ada in PyEval_EvalFrameEx ()
from /usr/local/lib/libpython2.7.so.0.0
#8 0x00001e18edd22421 in fast_function ()
from /usr/local/lib/libpython2.7.so.0.0
#9 0x00001e18edd19ada in PyEval_EvalFrameEx ()
from /usr/local/lib/libpython2.7.so.0.0
#10 0x00001e18edd174c4 in PyEval_EvalCodeEx ()
from /usr/local/lib/libpython2.7.so.0.0
#11 0x00001e18edd2233d in fast_function ()
from /usr/local/lib/libpython2.7.so.0.0
#12 0x00001e18edd19ada in PyEval_EvalFrameEx ()
from /usr/local/lib/libpython2.7.so.0.0
#13 0x00001e18edd22421 in fast_function ()
from /usr/local/lib/libpython2.7.so.0.0
#14 0x00001e18edd19ada in PyEval_EvalFrameEx ()
from /usr/local/lib/libpython2.7.so.0.0
#15 0x00001e18edd174c4 in PyEval_EvalCodeEx ()
from /usr/local/lib/libpython2.7.so.0.0
#16 0x00001e18edd16e62 in PyEval_EvalCode ()
from /usr/local/lib/libpython2.7.so.0.0
#17 0x00001e18edd42d5d in PyRun_FileExFlags ()
from /usr/local/lib/libpython2.7.so.0.0
#18 0x00001e18edd42876 in PyRun_SimpleFileExFlags ()
from /usr/local/lib/libpython2.7.so.0.0
#19 0x00001e18edd57a9b in Py_Main ()
from /usr/local/lib/libpython2.7.so.0.0
#20 0x00001e164e300456 in _start () from /usr/local/bin/python2.7
#21 0x0000000000000000 in ?? ()
Current language: auto; currently asm
(gdb) up
#1 0x00001e186349f749 in rcscheckout ()
from /usr/local/lib/python2.7/site-packages/rcsparse.so
(gdb) l
85 rep
86 movsq
87 movq %r11,%rax
88 cld
89 ret
90 #ifdef memcpy_in_asm
91 END_BUILTIN(memcpy)
92 #endif
93 END_BUILTIN(memmove)
94 END_WEAK(bcopy)
(gdb) down
#0 memmove () at /usr/src/lib/libc/arch/amd64/string/memmove.S:85
85 rep
(gdb) l
80 movsb
81 movq %rdx,%rcx /* copy remainder by words */
82 shrq $3,%rcx
83 subq $7,%rsi
84 subq $7,%rdi
85 rep
86 movsq
87 movq %r11,%rax
88 cld
89 ret
(gdb) quit
openbsd$ ^D

Script done on Sun Dec 24 08:22:27 2017
YASUOKA Masahiko
2017-12-24 09:23:10 UTC
Permalink
Hi,

On Sun, 24 Dec 2017 03:32:05 +0530
Post by Dinesh Thirumurthy
Post by Stuart Henderson
The conversion on github is done with cvs2gitdump.
git2cvsdump dumps core on latest current.
I am stumped after some basic investigation.
/usr/local/bin/cvs2gitdump dumps core.
(snip)
Post by Dinesh Thirumurthy
mkdir x
cd x
mv src src0 # save a copy for later use
cp -r src0 src1 # use a copy of the repo
src1 seems to be a check outted source code.
Post by Dinesh Thirumurthy
pkg_add -vvv cvs2gitdump
# follow instructions given in source also at
https://github.com/yasuoka/cvs2gitdump/blob/master/cvs2gitdump.py
git init --bare git1.git
cvs2gitdump -k OpenBSD -e openbsd.org /home/user/x/src1 > openbsd.dump
Last argument for cvs2gitdump should be a CVS repository, not source
code.

To get a copy of OpenBSD CVS repository, you can see
http://www.openbsd.org/cvsync.html

--yasuoka
Dinesh Thirumurthy
2017-12-24 10:35:46 UTC
Permalink
Yasuoka San,

Doumo arigatou gozaimasu.
Post by YASUOKA Masahiko
src1 seems to be a check outted source code.
Last argument for cvs2gitdump should be a CVS repository, not source
code.
To get a copy of OpenBSD CVS repository, you can see
http://www.openbsd.org/cvsync.html
You made my day and also made me realise I need to know cvs.
No getting around it.

Osoreirimasu.

Regards,
Dinesh

https://www.livinglanguage.com/blog/2013/06/20/how-to-say-thank-you-in-japanese-the-9-expressions-you-need/
Dinesh Thirumurthy
2017-12-24 21:51:40 UTC
Permalink
Dear Yasuoka San, and Stuart Henderson,
Post by YASUOKA Masahiko
Last argument for cvs2gitdump should be a CVS repository, not source
code.
Thanks very much.

It worked well. It took about 2.5 hours and generated 27GB of "git dump"
data.

box$ pwd
/home/user/rsync
box$ cvs2gitdump -k OpenBSD -e openbsd.org cvs0 > ob.dump
** walk cvs tree
Ignore cvs0/ports/audio/opencore-amr/.git: cannot handle the path named
'.git'
Ignore cvs0/ports/devel/log4cplus/.git: cannot handle the path named
'.git'
** cvs has 346530 changeset
** dumped
box$ ls -l ob.dump
-rw-r--r-- 1 user user 28981973872 Dec 25 01:19 ob.dump
box$ du -h *.dump
27.0G ob.dump
box$ ^D

The git import also worked very well. Thanks.

Script started on Mon Dec 25 01:29:43 2017
box$ pwd
/home/user/rsync
box$ ls -l
total 56612448
drwxr-xr-x 7 user user 512 Dec 24 18:30 cvs0
-rw-r--r-- 1 user user 28981973872 Dec 25 01:19 ob.dump
box$ file ob.dump
ob.dump: ASCII English text
box$ wc -l ob.dump
881911531 ob.dump
box$ git init --bare git0.git
Initialized empty Git repository in /home/user/rsync/git0.git/
box$ git --git-dir git0.git fast-import < ob.dump
/usr/local/libexec/git/git-fast-import statistics:
---------------------------------------------------------------------
Alloc'd objects: 3685000
Total objects: 3681554 ( 240725 duplicates )
blobs : 1405136 ( 231986 duplicates 1212707 deltas of
1391574 attempts)
trees : 1929889 ( 8739 duplicates 1791569 deltas of
1901228 attempts)
commits: 346529 ( 0 duplicates 0 deltas of
0 attempts)
tags : 0 ( 0 duplicates 0 deltas of
0 attempts)
Total branches: 65 ( 1 loads )
marks: 1073741824 ( 1983651 unique )
atoms: 163649
Memory total: 211233 KiB
pools: 38499 KiB
objects: 172734 KiB
---------------------------------------------------------------------
pack_report: getpagesize() = 4096
pack_report: core.packedGitWindowSize = 1073741824
pack_report: core.packedGitLimit = 35184372088832
pack_report: pack_used_ctr = 192
pack_report: pack_mmap_calls = 64
pack_report: pack_open_windows = 1 / 1
pack_report: pack_mapped = 588175141 / 588175141
---------------------------------------------------------------------

box$ ^D

Script done on Mon Dec 25 02:41:14 2017

This is my/user/operator error.

I thought it would be good for cvs2gitdump
to complain if user specified cvsrepo argument
a. does not exist
b. is not a directory
c. does not have a CVSROOT subdirectory (I am assuming every CVS
repository has one. I could be wrong).

Then there is good chance the user is not making an error.
So, I thought it might be a good idea to add that:

https://github.com/yasuoka/cvs2gitdump/compare/master...hakrtech:master

Kindly consider and let me know what you think.

Thank you and Stuart Henderson for helping me get past this problem.

Osoreirimasu. Thank you very much.

Regards,
Dinesh
Dinesh Thirumurthy
2017-12-24 03:19:07 UTC
Permalink
Hi,
Post by Otto Moerbeek
Just use cvs from a mirror outisde the US? You don't *need* to use
github, github is a copy anyway and only cvs is authorative.
-Otto
So was wondering which anoncvs server to pick?

After some text processing of traceroute outputs, we get ...

(server, rtt in ms, path info from geoip)

openbsd$ doas pkg_add GeoIP
openbsd$ ./do.sh
# no usa
files.venture37.com 259.876 ok path in eu nl fr
anoncvs.fr.openbsd.org 272.584 ok path in eu de fr
mirror.osn.de 273.362 ok path in eu de
anoncvs.eu.openbsd.org 285.433 ok path in eu se
anoncvs.comstyle.com 296.403 ok path in eu fr de ca
openbsd.park.rambler.ru 298.014 ok path in eu ru
ftp.hostserver.de 307.055 ok path in eu de fr de
anoncvs.au.openbsd.org 324.136 ok path in au

# usa in path or destination
anoncvs1.usa.openbsd.org 247.272 !! path in us sg us
anoncvs.obsd.esc7.net 257.454 !! path in eu us
anoncvs.spacehopper.org 261.560 !! path in eu us es gb
anoncvs4.usa.openbsd.org 263.134 !! path in eu us
mirror.planetunix.net 270.129 !! path in us
anoncvs2.usa.openbsd.org 278.932 !! path in eu us
anoncvs.jp.openbsd.org 280.826 !! path in sg us sg us jp
obsdacvs.cs.toronto.edu 286.313 !! path in us ca
anoncvs.obsd.si 296.748 !! path in eu us eu us rs si
anoncvs2.ca.openbsd.org 298.337 !! path in eu us ca
anoncvs3.usa.openbsd.org 301.577 !! path in eu us
anoncvs1.ca.openbsd.org 305.934 !! path in eu us ca
mirror.litnet.lt 309.189 !! path in eu us eu us gb lt
openbsd$ ^D

Source: https://github.com/hakrtech/anoncvs.git

Have fun! Checkout paths to all anoncvs servers.

No South American nor African servers. Or them along the paths. :-(

Interestingly if I choose a Canada server from India, it reaches
Canada via USA. I am assuming crypto source should not transit through
USA.

I observed GeoIP database has some bugs. It generates a few wrong
answers. It mentions a bunch of places as US. But other databases
mention it as Austria.

Path from India to Japan is mentioned as India -> Singapore -> USA
Singapore -> USA -> Japan. That cant be right.

Kindly do not believe the path info too much. An approximation at best.

Thanks very much.

Regards,
Dinesh
Dinesh Thirumurthy
2017-12-24 11:15:22 UTC
Permalink
Peter,

Thanks very much!
When I download from Canada and the transit goes through the USA it is
downloading (and thus exporting) from Canada and not the USA.
Thanks for the clarification! I always viewed it as taking a CD from
Canada to USA to France to India. Too bad USA has Hotel California
policy on OpenBSD.

"We are programmed to receive
You can check out any time you like
But OpenBSD can never leave!"

Never thought of links+routers (flights+airports) being pass through
staging points.

This whole thing reminds of the "medicine for goat" scene in the movie
Terminal.

A Bulgarian is taking some medicine from Canada, to his hometown in
Bulgaria. That medicine is impounded by customs is New York Airport.
He is transiting through New York because of some law.



Just kind of reminds of this OpenBSD/Canada/USA combination.
That said, have a merry christmas!
Wish you and all on this list a merry christmas!

Thanks again.

Regards,
Dinesh
Stuart Henderson
2017-12-26 10:24:00 UTC
Permalink
Post by Dinesh Thirumurthy
After some text processing of traceroute outputs, we get ...
(server, rtt in ms, path info from geoip)
You can't identify the path from the server to you, only from you to the
server. They're often different. And they can change at any time.

Here's a good presentation about traceroute:


http://www.nanog.org/sites/default/files/tuesday_steenbergen_troublshootingtraceroute_62.49.pdf
e***@pettijohn-web.com
2017-12-23 23:05:46 UTC
Permalink
Post by Dinesh Thirumurthy
Hi Stuart and Everyone,
Post by Stuart Henderson
The conversion on github is done with cvs2gitdump.
git2cvsdump dumps core on latest current.
I am stumped after some basic investigation.
/usr/local/bin/cvs2gitdump dumps core.
Not sure if this would cause it or not, but is your /usr/local mounted with wxallowed?
Post by Dinesh Thirumurthy
Repeated it with latest cvs2gitdump at
https://github.com/yasuoka/cvs2gitdump/blob/master/cvs2gitdump.py
That also failed.
Looked into stacktrace, some problem at rcsparse. So tried installing
pkg_add -vvv py-rcsparse
It said I am ok. No change in py-rcsparse-20151027.
mkdir x
cd x
mv src src0 # save a copy for later use
cp -r src0 src1 # use a copy of the repo
pkg_add -vvv cvs2gitdump
# follow instructions given in source also at
https://github.com/yasuoka/cvs2gitdump/blob/master/cvs2gitdump.py
git init --bare git1.git
cvs2gitdump -k OpenBSD -e openbsd.org /home/user/x/src1 > openbsd.dump
# will dump core or rather dumps core for me.
# running generic kernel on virtual box of current
session and stack trace below.
Some issues in rcscheckout()
But most likely some configuration or user error.
Any pointers?
Thank you.
Those which to see the session output separately, it is at
https://github.com/hakrtech/issues/blob/master/001-x.txt
Regards,
Dinesh
Script started on Sun Dec 24 08:17:47 2017
openbsd$ pwd
/home/dt/x
openbsd$ ls -l
total 48
-rwxr-xr-x   1 dt  dt  20899 Dec 24 08:00 cvs2gitdump.py
drwxr-xr-x  17 dt  dt 512 Dec 24 08:09 src1
-rw-r--r--   1 dt  dt    0 Dec 24 08:17 x.out
openbsd$ git init --bare /home/dt/x/git1.git
Initialized empty Git repository in /home/dt/x/git1.git/
openbsd$ type cvs2gitdump
cvs2gitdump is /usr/local/bin/cvs2gitdump
openbsd$ cvs2gitdump -k OpenBSD -e openbsd.org /home/dt/x/src1 >
openbsd.dump
** walk cvs tree
Segmentation fault (core dumped)
openbsd$ ls -l
total 16536
-rwxr-xr-x   1 dt  dt 20899 Dec 24 08:00 cvs2gitdump.py
drwxr-xr-x   7 dt  dt    512 Dec 24 08:19 git1.git
-rw-r--r--   1 dt  dt      0 Dec 24 08:20 openbsd.dump
-rw-------   1 dt  dt  8414024 Dec 24 08:20 python2.7.core
drwxr-xr-x  17 dt  dt    512 Dec 24 08:09 src1
-rw-r--r--   1 dt  dt    577 Dec 24 08:20 x.out
openbsd$ gdb python2.7 python2.7.core
GNU gdb 6.3
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you
are
welcome to change it and/or distribute copies of it under certain
conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for
details.
This GDB was configured as "amd64-unknown-openbsd6.2"...
(no debugging symbols found)
Core was generated by `python2.7'.
Program terminated with signal 11, Segmentation fault.
Reading symbols from /usr/lib/libpthread.so.25.1...done.
Loaded symbols for /usr/lib/libpthread.so.25.1
Loaded symbols for /usr/local/bin/python2.7
Reading symbols from /usr/local/lib/libpython2.7.so.0.0...done.
Loaded symbols for /usr/local/lib/libpython2.7.so.0.0
Symbols already loaded for /usr/lib/libpthread.so.25.1
Reading symbols from /usr/lib/libutil.so.13.0...done.
Loaded symbols for /usr/lib/libutil.so.13.0
Reading symbols from /usr/lib/libm.so.10.0...done.
Loaded symbols for /usr/lib/libm.so.10.0
Reading symbols from /usr/lib/libc.so.92.1...done.
Loaded symbols for /usr/lib/libc.so.92.1
Reading symbols from /usr/libexec/ld.so...done.
Loaded symbols for /usr/libexec/ld.so
Reading symbols
from /usr/local/lib/python2.7/lib-dynload/_locale.so...done.
Loaded symbols for /usr/local/lib/python2.7/lib-dynload/_locale.so
Reading symbols from /usr/local/lib/libintl.so.6.0...done.
Loaded symbols for /usr/local/lib/libintl.so.6.0
Reading symbols from /usr/local/lib/libiconv.so.6.0...done.
Loaded symbols for /usr/local/lib/libiconv.so.6.0
Reading symbols
from /usr/local/lib/python2.7/site-packages/rcsparse.so...done.
Loaded symbols for /usr/local/lib/python2.7/site-packages/rcsparse.so
Reading symbols
from /usr/local/lib/python2.7/lib-dynload/strop.so...done.
Loaded symbols for /usr/local/lib/python2.7/lib-dynload/strop.so
Reading symbols
from /usr/local/lib/python2.7/lib-dynload/time.so...done.
Loaded symbols for /usr/local/lib/python2.7/lib-dynload/time.so
Reading symbols
from /usr/local/lib/python2.7/lib-dynload/select.so...done.
Loaded symbols for /usr/local/lib/python2.7/lib-dynload/select.so
Reading symbols
from /usr/local/lib/python2.7/lib-dynload/fcntl.so...done.
Loaded symbols for /usr/local/lib/python2.7/lib-dynload/fcntl.so
Reading symbols
from /usr/local/lib/python2.7/lib-dynload/_struct.so...done.
Loaded symbols for /usr/local/lib/python2.7/lib-dynload/_struct.so
Reading symbols
from /usr/local/lib/python2.7/lib-dynload/binascii.so...done.
Loaded symbols for /usr/local/lib/python2.7/lib-dynload/binascii.so
Reading symbols from /usr/lib/libz.so.5.0...done.
Loaded symbols for /usr/lib/libz.so.5.0
Reading symbols
from /usr/local/lib/python2.7/lib-dynload/cStringIO.so...done.
Loaded symbols for /usr/local/lib/python2.7/lib-dynload/cStringIO.so
Reading symbols
from /usr/local/lib/python2.7/lib-dynload/_functools.so...done.
Loaded symbols for /usr/local/lib/python2.7/lib-dynload/_functools.so
#0  memmove () at /usr/src/lib/libc/arch/amd64/string/memmove.S:85
85 rep
(gdb) bt
#0  memmove () at /usr/src/lib/libc/arch/amd64/string/memmove.S:85
#1  0x00001e186349f749 in rcscheckout ()
   from /usr/local/lib/python2.7/site-packages/rcsparse.so
#2  0x00001e186349a9c5 in pyrcsfile_checkout ()
   from /usr/local/lib/python2.7/site-packages/rcsparse.so
#3  0x00001e18edd1a012 in PyEval_EvalFrameEx ()
   from /usr/local/lib/libpython2.7.so.0.0
#4  0x00001e18edd22421 in fast_function ()
   from /usr/local/lib/libpython2.7.so.0.0
#5  0x00001e18edd19ada in PyEval_EvalFrameEx ()
   from /usr/local/lib/libpython2.7.so.0.0
#6  0x00001e18edd22421 in fast_function ()
   from /usr/local/lib/libpython2.7.so.0.0
#7  0x00001e18edd19ada in PyEval_EvalFrameEx ()
   from /usr/local/lib/libpython2.7.so.0.0
#8  0x00001e18edd22421 in fast_function ()
   from /usr/local/lib/libpython2.7.so.0.0
#9  0x00001e18edd19ada in PyEval_EvalFrameEx ()
   from /usr/local/lib/libpython2.7.so.0.0
#10 0x00001e18edd174c4 in PyEval_EvalCodeEx ()
   from /usr/local/lib/libpython2.7.so.0.0
#11 0x00001e18edd2233d in fast_function ()
   from /usr/local/lib/libpython2.7.so.0.0
#12 0x00001e18edd19ada in PyEval_EvalFrameEx ()
   from /usr/local/lib/libpython2.7.so.0.0
#13 0x00001e18edd22421 in fast_function ()
   from /usr/local/lib/libpython2.7.so.0.0
#14 0x00001e18edd19ada in PyEval_EvalFrameEx ()
   from /usr/local/lib/libpython2.7.so.0.0
#15 0x00001e18edd174c4 in PyEval_EvalCodeEx ()
   from /usr/local/lib/libpython2.7.so.0.0
#16 0x00001e18edd16e62 in PyEval_EvalCode ()
   from /usr/local/lib/libpython2.7.so.0.0
#17 0x00001e18edd42d5d in PyRun_FileExFlags ()
   from /usr/local/lib/libpython2.7.so.0.0
#18 0x00001e18edd42876 in PyRun_SimpleFileExFlags ()
   from /usr/local/lib/libpython2.7.so.0.0
#19 0x00001e18edd57a9b in Py_Main ()
from /usr/local/lib/libpython2.7.so.0.0
#20 0x00001e164e300456 in _start () from /usr/local/bin/python2.7
#21 0x0000000000000000 in ?? ()
Current language:  auto; currently asm
(gdb) up
#1  0x00001e186349f749 in rcscheckout ()
   from /usr/local/lib/python2.7/site-packages/rcsparse.so
(gdb) l
85 rep
86 movsq
87 movq %r11,%rax
88 cld
89 ret
90 #ifdef memcpy_in_asm
91 END_BUILTIN(memcpy)
92 #endif
93 END_BUILTIN(memmove)
94 END_WEAK(bcopy)
(gdb) down
#0  memmove () at /usr/src/lib/libc/arch/amd64/string/memmove.S:85
85 rep
(gdb) l
80 movsb
81 movq %rdx,%rcx /* copy remainder by words */
82 shrq $3,%rcx
83 subq $7,%rsi
84 subq $7,%rdi
85 rep
86 movsq
87 movq %r11,%rax
88 cld
89 ret
(gdb) quit
openbsd$ ^D
Script done on Sun Dec 24 08:22:27 2017
Dinesh Thirumurthy
2017-12-23 23:36:35 UTC
Permalink
Hi Edgar,

Thanks.
Post by e***@pettijohn-web.com
Not sure if this would cause it or not, but is your /usr/local mounted with wxallowed?
Yes. It is.

$ mount | grep /usr/local
/dev/wd0h on /usr/local type ffs (local, nodev, wxallowed)

Regards,
Dinesh
Loading...