[9fans] unvac troubles...

2009-08-21 Thread Venkatesh Srinivas
Hi,

I'm using unvac to try to extract some vac archives I made in the fall
of 2008. I'm running into a pair of problems.

First, unvac is outputting directories with the write bit off. This
causes it to fail pretty early, as it can't write files to the
newly-extracted directories. Is this expected? Is there a way to avoid
this problem?

Second I get this error: (on p9p unvac)

unvac: pthread_mutex_lock.c:289: __pthread_mutex_lock: Assertion
`(-(e)) != 3 || !robust' failed.
[New Thread 0xb7e548d0 (LWP 3743)]

Program received signal SIGABRT, Aborted.
[Switching to Thread 0xb7e548d0 (LWP 3743)]
0xb8022430 in __kernel_vsyscall ()
(gdb) bt
#0  0xb8022430 in __kernel_vsyscall ()
#1  0xb7fc64b0 in raise ()
  from /lib/tls/i686/cmov/libpthread.so.0
#2  0x0805c6b2 in child () at daemonize.c:38
#3  0x0805c927 in _threadsetupdaemonize ()
   at daemonize.c:153
#4  0x0805c49d in p9main (argc=3, argv=0xbfa3e1c4)
   at thread.c:714
#5  0x08060d92 in main (argc=Cannot access memory at address 0xe9f
) at main.c:10
(gdb)

Have any of you seen anything like this?

-- vs



Re: [9fans] pipefrom fun

2009-08-21 Thread matt



why not use /mail/lib/names.local for the first example?



good point, upon my brief look the answer would be, although I can 
contrive upon boot to use a different file, in the general case, users 
can't edit it.



i haven't read the script, though.

; ls -l  /n/sources/contrib/maht/rc/pipefrom
--rwx--x--x M 675 maht sys 1107 Aug 20 20:50 /n/sources/contrib/maht/rc/pipefrom
 


I fixed that, oops thanks


one thing i've thought would be useful since people mail from
many places with many names is a translation from a set of from
addresses to a mailbox name so that, e.g. the ned f command doesn't
end up creating a bunch of folders for the same person.
 


I'll consider that when I get round to pipeto



Re: [9fans] unvac troubles...

2009-08-21 Thread Fernan Bolando
On Fri, Aug 21, 2009 at 2:15 PM, Venkatesh Srinivasm...@acm.jhu.edu wrote:
 Hi,

 I'm using unvac to try to extract some vac archives I made in the fall
 of 2008. I'm running into a pair of problems.

 First, unvac is outputting directories with the write bit off. This
 causes it to fail pretty early, as it can't write files to the
 newly-extracted directories. Is this expected? Is there a way to avoid
 this problem?
This happens to me too. I usually just delete the old directory and
extract again.

fernan



-- 
http://www.fernski.com



Re: [9fans] pipefrom fun

2009-08-21 Thread matt

Russ Cox wrote:


pipefrom is too late to rewrite outgoing addresses,
because marshal has already written the To:


I submitted a patch for marshal to do the From: part but was told I 
should use pipefrom instead. I'll stick a sed in the send see how that 
works out :



line with the local address.  Your post says
   To: 9f...@steponnopets.net
 


dammit, I obviously had missed that when I was testing it


You can create /mail/box/$user/names
to get aliases that won't go out.

http://9fans.net/archive/2004/01/530
http://9fans.net/archive/2004/01/533
http://9fans.net/archive/2004/04/99  # ,s/%/@/g I think


 


Thanks I'll give those a read





[9fans] venti/copy -m

2009-08-21 Thread Venkatesh Srinivas
Hi,

Plan 9's venti/copy has an undocumented -m option. What does it do?

Thanks,
-- vs



Re: [9fans] venti/copy -m

2009-08-21 Thread erik quanstrom
 Plan 9's venti/copy has an undocumented -m option. What does it do?

the whole program is 262 lines long.
i'm betting what -m does can be discovered
by inspection.

it might be a good idea to submit a patch
to the man page, too.

- erik



Re: [9fans] pipefrom fun

2009-08-21 Thread Russ Cox
On Fri, Aug 21, 2009 at 12:59 AM, mattmaht-9f...@maht0x0r.net wrote:
 pipefrom is too late to rewrite outgoing addresses,
 because marshal has already written the To:

 I submitted a patch for marshal to do the From: part but was told I should
 use pipefrom instead. I'll stick a sed in the send see how that works out :

They're separate issues, which might not have
come across in my earlier mail.

Rewriting of To: must be done in marshal and is
supported by editing /mail/box/$user/names.

Rewriting of From: is the reason for pipefrom.

Russ



[9fans] Plan 9 via QEMU

2009-08-21 Thread Akshat Kumar
... on Acer Aspire One to add more fun.

Yes, on the Acer Aspire One, I have
no means to compile, with all hopes of
GCC thwarted by the draconian schemes
of archaic Linux package managers,
all slowly drowning in dependency hell.
But enough fantasising --

No GCC, no kernel sources (which are
presumably highly customised for the
hardware), so no extra kernel modules.
This means bridging as well as filtering
are out the window, since I lack
bridge.ko, tun.ko, and ipt_wtf.ko (though
interestingly enough I found tun.ko that
someone had precompiled for the AAO).

And yet, I need to get QEMU to PXE
boot Plan 9 and then use the local Ken
FS server for root filesystem. The key
was a different style of networking here -
the pcap[1] device. It uses the host
system's device directly, so if I want to
PXE boot Plan 9 inside QEMU, I have
to 'ifconfig ath0 0.0.0.0' first, but it works.
The way around that would be to use a
different MAC address for the emulated
device, which is possible with plain ether-
net NIC, and with certain wireless config-
urations too, but ath0 won't allow it for
some reason.

So, QEMU starts up[2], PXE boots Plan 9,
which gets to the root is from (tcp, il) [il]:
prompt just fine, and subsequently the user
and password queries - all of this goes by
fine, and indicates network connectivity with
the CPU/auth server, but suddenly everything
kernel panics, I presume at the time of making
the connection with the Ken FS server (scrolls
by too fast for me to see the initial error
message).

If anyone has any experience or ideas regarding
that, I'd love to hear it.

Best,
ak

P.S.: I had to statically compile QEMU with the
pcap patch[1] on a mate's machine, long distance,
and copy the binary back. Version 0.9.1. No SDL,
for it's a bitch to statically compile, thus have to
use VNC to see output.

[1] http://qemu-forum.ipi.fi/viewtopic.php?f=2t=1568
pcap patch for those curious or interested

[2] QEMU startup command:
sudo ./qemu -L bios -option-rom bios/pxe-rtl8139.bin \
-boot n -net nic,model=rtl8139,macaddr=00:22:68:C3:4C:08 \
-net pcap,devicename=ath0 -no-kqemu -soundhw sb16 \
-localtime -no-acpi -vnc :1
(yes, sudo: this is Linux, we have rules... and a
dictatorship to defeat their purpose)



Re: [9fans] Recursive structural expressions?

2009-08-21 Thread J. R. Mauro





On Aug 20, 2009, at 21:01, erik quanstrom quans...@quanstro.net wrote:


Here's an example. Let's make the syntax extra pukey: @#, where # is
1-9, defines a `named procedure', which is the same thing as putting
something in braces in Sam.

x/.*\n/ @1{ ( @1 ) | @1 ( @1 ) ( ) | }



x/re/ repeatedly sets . with matches until the input
is exhausted.  so i don't think i understand your example.
how does /.*\n/{(.*\n)|.*\n(.*\n)|} match anything
but the tautological .*\n|?  for example, if the input
is line1\nline2\n, then . is in turn line1\n and line2\n,
and both match .*\n|.

where do the actions go in your example?


I guess I botched the example a bit. The whole part after the @ should  
be in an x//, and the actions would come after. Something more  
complicated would allow you to match any parenthetical expression on a  
line and alter it, which could be useful.




- erik





Re: [9fans] venti/copy -m

2009-08-21 Thread Russ Cox
On Fri, Aug 21, 2009 at 6:15 AM, Venkatesh Srinivasm...@acm.jhu.edu wrote:
 Plan 9's venti/copy has an undocumented -m option. What does it do?

On Fri, Aug 21, 2009 at 6:23 AM, erik quanstromquans...@quanstro.net wrote:
 the whole program is 262 lines long.
 i'm betting what -m does can be discovered
 by inspection.

what, maybe, but not always why.  it's a valid question.

 it might be a good idea to submit a patch
 to the man page, too.

replace

The
.B -f
option causes
.I copy
to run in `fast' mode,
assuming that if a block already exists on the
destination Venti server, all its children also
exist and need not be checked.

with

Venti's blocks are arranged in a directed acyclic graph (see venti(6));
there may be multiple paths from a root score to an
interior block (for example, if the same file contents are stored
under multiple names in an archive).
.I Copy
runs more efficiently if it does not copy blocks
(and all their children) multiple times.
The
.B -f
option causes
.I copy
to assume that if a block already exists on the destination
Venti server, all its children also exist and need not be considered.
The
.B -m
option causes
.I copy
to maintain an in-memory list of blocks it has copied
and avoid considering the same block multiple times.
The
.B -f
option is only useful if the destination Venti server is
known not to have lost any blocks due to disk corruption
or other failures.
The
.B -m
option is only useful enough memory is available to
hold the block list, which typically requires about 1%
of the total number of bytes being copied.



Re: [9fans] Recursive structural expressions?

2009-08-21 Thread Russ Cox
Regular expressions, in the strict formal sense, have
an important property: they completely express the set
of patterns that can be searched for in a single linear-time
pass through the text.  That is, they have an associated
linear-time performance guarantee.

In your particular case, adding recursion would produce
context-free expressions, and general context-free parsing as
typically implemented is cubic as opposed to linear.
(It turns out to be the same problem as matrix multiplication,
so with a lot more effort you could get it down to n^2.38 or
perhaps even lower, but you can't possibly get sub-quadratic.)

As Charles pointed out, there is a long, distinguished
history of editors and other tools making regular expressions
more expressive.  It is important to remember that this
is always done at the cost of giving up the performance
guarantee, at least in some cases.  And unless a general
matcher can distinguish the different cases and implement
separate algorithms for each, it usually gives up the
performance guarantee in all cases.

Russ



[9fans] venti/copy question....

2009-08-21 Thread Venkatesh Srinivas
Hi,

I have a few score trees in Venti that p9p's venti/copy wouldn't copy,
but p9's would. venti/copy aborted with:
copy: reading block  (type
16): read asked for  got
da39a3ee5e6b4b0d3255bfef95601890afd80709

P9's venti/copy has a test, in its walk() function, as to whether a
score is all-zeros. P9P's venti/copy doesn't. Adding this test allows
my copy to proceed.

Is there any reason p9's venti/copy has this test? It seems like a
dubious one, since the all-zero score shouldn't ever be in Venti. But
it's also necessary to copy these trees...

Thanks,
-- vs



Re: [9fans] Plan 9 via QEMU

2009-08-21 Thread matt

you can configure Qemu to use the host console as the guest serial console





Re: [9fans] venti/copy -m

2009-08-21 Thread Venkatesh Srinivas
Thanks for the answer,

In p9's venti/copy, in scoretreecmp, there are two casts, from Avl* to
ScoreTree*; this depends on scoretree's avl being the first member of
the structure; I thought kencc was allowed to reorder structure
members, is that the case?

Thanks,
-- vs



Re: [9fans] pipefrom fun

2009-08-21 Thread erik quanstrom
 Rewriting of From: is the reason for pipefrom.

in the simple case, From:  can be rewritten with
/mail/box/$upasname/headers

- erik



Re: [9fans] venti/copy -m

2009-08-21 Thread Russ Cox
 I thought kencc was allowed to reorder structure members, is that the case?

No.



Re: [9fans] Recursive structural expressions?

2009-08-21 Thread J. R. Mauro





On Aug 21, 2009, at 10:24, Russ Cox r...@swtch.com wrote:


Regular expressions, in the strict formal sense, have
an important property: they completely express the set
of patterns that can be searched for in a single linear-time
pass through the text.  That is, they have an associated
linear-time performance guarantee.

In your particular case, adding recursion would produce
context-free expressions, and general context-free parsing as
typically implemented is cubic as opposed to linear.
(It turns out to be the same problem as matrix multiplication,
so with a lot more effort you could get it down to n^2.38 or
perhaps even lower, but you can't possibly get sub-quadratic.)

As Charles pointed out, there is a long, distinguished
history of editors and other tools making regular expressions
more expressive.  It is important to remember that this
is always done at the cost of giving up the performance
guarantee, at least in some cases.  And unless a general
matcher can distinguish the different cases and implement
separate algorithms for each, it usually gives up the
performance guarantee in all cases.

Russ



This, and complexity/ambiguity are almost certainly why they didn't  
carry from qed into ed.


Perhaps at least a context-free grep would be a useful thing to have,  
considering the limitations CF expressions would place on a text editor.




Re: [9fans] Plan 9 via QEMU

2009-08-21 Thread Akshat Kumar
Upon Steve's suggestion, I enabled
*nodumpstack=1 in the PXE config
for the Plan 9 in QEMU. The result
follows:

...
password:
!
time...
panic: boot process died: sys: demand load I/O error accessing
/386/init: mount rpc error
panic: boot process died: sys: demand load I/O error accessing
/386/init: mount rpc error
dumpstack disabled
cpu0: exiting

So, could it be that there are problems
doing IL through QEMU? There shouldn't
be, as the pcap device sends directly
through the interface... so far as I can
tell.

Input welcome.


Thanks,
ak



Re: [9fans] Plan 9 via QEMU

2009-08-21 Thread erik quanstrom
 So, could it be that there are problems
 doing IL through QEMU? There shouldn't
 be, as the pcap device sends directly
 through the interface... so far as I can
 tell.
 
 Input welcome.

do a packet trace from the host.
it's also possible to turn on some
il tracing on the fs.  here are a couple
of the flags from my fs that might be
interesting:

../dev/cw.c:401:roflag = flag_install(ro, -- ro reads and 
writes);
../ip/arp.c:72: arpcache.flag = flag_install(arp, -- 
verbose);
../ip/il.c:170: ilflag = flag_install(il, -- on errors);
../port/con.c:830:  attachflag = flag_install(attach, -- attach calls);
../port/con.c:831:  chatflag = flag_install(chat, -- verbose);
../port/con.c:832:  allowflag = flag_install(allow, -- allow mode);
../port/con.c:834:  whoflag = flag_install(allchans, -- on who);
../port/con.c:835:  authdebugflag = flag_install(authdebug, -- report 
authentications);
../port/con.c:836:  authdisableflag = flag_install(authdisable, -- 
disable authentication);

(i believe in the standard 64bit fs, allow isn't a flag.
i did it that way, so i could allow one channel.)

the syntax is flag $flag.  it's a toggle.  you can also
apply a flag to a single channel, but i don't think
you've gotten that far.  flag $chan $flag.

- erik



Re: [9fans] venti/copy question....

2009-08-21 Thread michael block
thanks for the tip. i got the same error (even the score, i think)
when i tried copying some vbackup scores to a new server a few weeks
ago. i hadn't thought of trying a different copy until you brought it
up. using plan 9's copy instead of p9p's seems to be working well
enough so far



[9fans] Issues with 2 networks, fs server, and namespaces

2009-08-21 Thread Devon H. O'Dell
Hello all,

I'm trying to set up a group of servers (these are running on VMWare
ESXi, and working great -- CPU server running with two APs, though
adding more causes it to fault with a divide by zero?). Auth server's
got its own 1GB fossil, boots with the 9pcauth kernel. CPU server
boots from a small fossil. Both Auth and CPU are on the public
internet via ether0 so that they are cpu/drawtermable. They do not
boot from the file server because I didn't want to set up a DHCP
server that was connected to the Internet (ISP getting mad and
whatnot). While I've configured the internal network to be on it's own
vswitch (managed through vmware, no real network connectivity), I've
been struggling with the prior configuration enough that I don't want
to just `give up' on it.

The FS, however, sits on a private network. CPU and Auth are connected
to this network via ether1. However, I'm having the following issues:

#1) Using two networks on two different interfaces is a pain in the
ass. I've got:
bind '#l1' /net.alt
bind '#I1' /net.alt

in my /cfg/cpu/namespace. If I simply have them here, ip/ipconfig -N
-x ether1 ether /net.alt/ether1 complains in cpurc about no ip being
attached to /net.alt. So I have to put that in /cfg/cpu/cpurc also. I
don't quite understand why everything's architected to have a single
ip stack on a single ethernet; in this case, it really isn't
convenient that it doesn't determine the correct interface via routing
tables or somesuch. Is there something basic that I'm missing here?

#2) Drawterm is taking forever and a day to connect and log in. It's
either an auth issue or a DNS issue. Best guesses as to what this
could be and how I should go about diagnosing it?

#3) Trying to mount the fileserver globally is elusive. I want to
mount /n/fs/usr over /usr and /n/fs/mail over /mail. Perfectly happy
with that. However:

 o Doing that in cpurc doesn't put it in the global namespace
 o Doing it in /cfg/cpu/namespace doesn't have an ip yet so I can't
run srv /net.alt/tcp!10.0.0.3!9fs in the first place
 o Doing it in /rc/bin/service/tcp17010 causes me to get `cpu:
negotiating authentication method: [public auth server ip]: cs gave
empty translation list'

Mounting it from /n/fs after booting works fine (but it makes me auth,
which is kind of weird -- I guess I need to set up a secstore? -- I
figured that eve would be able to connect without auth, given that
everything's tied to the same auth server, no matter which network
it's on, and that a user drawterming in would be able to connect by
virtue of having authed when connecting in the first place.)

I know the `preferred way' is to boot the CPU server from the
fileserver. While I could feasibly reconfigure my setup to do this,
I'd prefer to figure it out this way first, given the amount of time
I've been banging my head against the wall on it :)

--dho



Re: [9fans] Issues with 2 networks, fs server, and namespaces

2009-08-21 Thread Christopher Nielsen
You don't need a second IP stack. You can run both interfaces on the
same IP stack and routing will just work. That's how I did it when I
had a similar setup.

-Chris

On Fri, Aug 21, 2009 at 14:07, Devon H. O'Delldevon.od...@gmail.com wrote:
 Hello all,

 I'm trying to set up a group of servers (these are running on VMWare
 ESXi, and working great -- CPU server running with two APs, though
 adding more causes it to fault with a divide by zero?). Auth server's
 got its own 1GB fossil, boots with the 9pcauth kernel. CPU server
 boots from a small fossil. Both Auth and CPU are on the public
 internet via ether0 so that they are cpu/drawtermable. They do not
 boot from the file server because I didn't want to set up a DHCP
 server that was connected to the Internet (ISP getting mad and
 whatnot). While I've configured the internal network to be on it's own
 vswitch (managed through vmware, no real network connectivity), I've
 been struggling with the prior configuration enough that I don't want
 to just `give up' on it.

 The FS, however, sits on a private network. CPU and Auth are connected
 to this network via ether1. However, I'm having the following issues:

 #1) Using two networks on two different interfaces is a pain in the
 ass. I've got:
 bind '#l1' /net.alt
 bind '#I1' /net.alt

 in my /cfg/cpu/namespace. If I simply have them here, ip/ipconfig -N
 -x ether1 ether /net.alt/ether1 complains in cpurc about no ip being
 attached to /net.alt. So I have to put that in /cfg/cpu/cpurc also. I
 don't quite understand why everything's architected to have a single
 ip stack on a single ethernet; in this case, it really isn't
 convenient that it doesn't determine the correct interface via routing
 tables or somesuch. Is there something basic that I'm missing here?

 #2) Drawterm is taking forever and a day to connect and log in. It's
 either an auth issue or a DNS issue. Best guesses as to what this
 could be and how I should go about diagnosing it?

 #3) Trying to mount the fileserver globally is elusive. I want to
 mount /n/fs/usr over /usr and /n/fs/mail over /mail. Perfectly happy
 with that. However:

  o Doing that in cpurc doesn't put it in the global namespace
  o Doing it in /cfg/cpu/namespace doesn't have an ip yet so I can't
 run srv /net.alt/tcp!10.0.0.3!9fs in the first place
  o Doing it in /rc/bin/service/tcp17010 causes me to get `cpu:
 negotiating authentication method: [public auth server ip]: cs gave
 empty translation list'

 Mounting it from /n/fs after booting works fine (but it makes me auth,
 which is kind of weird -- I guess I need to set up a secstore? -- I
 figured that eve would be able to connect without auth, given that
 everything's tied to the same auth server, no matter which network
 it's on, and that a user drawterming in would be able to connect by
 virtue of having authed when connecting in the first place.)

 I know the `preferred way' is to boot the CPU server from the
 fileserver. While I could feasibly reconfigure my setup to do this,
 I'd prefer to figure it out this way first, given the amount of time
 I've been banging my head against the wall on it :)

 --dho





-- 
Christopher Nielsen
They who can give up essential liberty for temporary
safety, deserve neither liberty nor safety. --Benjamin Franklin



Re: [9fans] Issues with 2 networks, fs server, and namespaces

2009-08-21 Thread Devon H. O'Dell
2009/8/21 Devon H. O'Dell devon.od...@gmail.com:
 2009/8/21 Christopher Nielsen cniel...@pobox.com:
 You don't need a second IP stack. You can run both interfaces on the
 same IP stack and routing will just work. That's how I did it when I
 had a similar setup.

Wait, I misread your explanation. Would you care to explain more about
that? Is that just binding '#l1' into /net?

--dho



Re: [9fans] Issues with 2 networks, fs server, and namespaces

2009-08-21 Thread Noah Evans
Hey Devon,

1. Others know more about that than I do. Wait a bit, that problem
might get solved.
2. drawterm tends to hang on secstore for me. Try a bogus -s option or
use a p9p secstore/factotum and see what happens.
3. what's stopping you from setting up your external network as the
one on /net.alt and using dhcp internally? Or booting tcp off the file
server without dhcp? e.g. baking it into plan9.ini, or entering it
manually at boot time? I've tried similar tricks to yours using
inferno and getting cute and breaking the convention of /net.alt for
external networks has always ended in a world of pain.

Noah

On Fri, Aug 21, 2009 at 11:07 PM, Devon H. O'Delldevon.od...@gmail.com wrote:
 Hello all,

 I'm trying to set up a group of servers (these are running on VMWare
 ESXi, and working great -- CPU server running with two APs, though
 adding more causes it to fault with a divide by zero?). Auth server's
 got its own 1GB fossil, boots with the 9pcauth kernel. CPU server
 boots from a small fossil. Both Auth and CPU are on the public
 internet via ether0 so that they are cpu/drawtermable. They do not
 boot from the file server because I didn't want to set up a DHCP
 server that was connected to the Internet (ISP getting mad and
 whatnot). While I've configured the internal network to be on it's own
 vswitch (managed through vmware, no real network connectivity), I've
 been struggling with the prior configuration enough that I don't want
 to just `give up' on it.

 The FS, however, sits on a private network. CPU and Auth are connected
 to this network via ether1. However, I'm having the following issues:

 #1) Using two networks on two different interfaces is a pain in the
 ass. I've got:
 bind '#l1' /net.alt
 bind '#I1' /net.alt

 in my /cfg/cpu/namespace. If I simply have them here, ip/ipconfig -N
 -x ether1 ether /net.alt/ether1 complains in cpurc about no ip being
 attached to /net.alt. So I have to put that in /cfg/cpu/cpurc also. I
 don't quite understand why everything's architected to have a single
 ip stack on a single ethernet; in this case, it really isn't
 convenient that it doesn't determine the correct interface via routing
 tables or somesuch. Is there something basic that I'm missing here?

 #2) Drawterm is taking forever and a day to connect and log in. It's
 either an auth issue or a DNS issue. Best guesses as to what this
 could be and how I should go about diagnosing it?

 #3) Trying to mount the fileserver globally is elusive. I want to
 mount /n/fs/usr over /usr and /n/fs/mail over /mail. Perfectly happy
 with that. However:

  o Doing that in cpurc doesn't put it in the global namespace
  o Doing it in /cfg/cpu/namespace doesn't have an ip yet so I can't
 run srv /net.alt/tcp!10.0.0.3!9fs in the first place
  o Doing it in /rc/bin/service/tcp17010 causes me to get `cpu:
 negotiating authentication method: [public auth server ip]: cs gave
 empty translation list'

 Mounting it from /n/fs after booting works fine (but it makes me auth,
 which is kind of weird -- I guess I need to set up a secstore? -- I
 figured that eve would be able to connect without auth, given that
 everything's tied to the same auth server, no matter which network
 it's on, and that a user drawterming in would be able to connect by
 virtue of having authed when connecting in the first place.)

 I know the `preferred way' is to boot the CPU server from the
 fileserver. While I could feasibly reconfigure my setup to do this,
 I'd prefer to figure it out this way first, given the amount of time
 I've been banging my head against the wall on it :)

 --dho





Re: [9fans] Plan 9 via QEMU

2009-08-21 Thread Akshat Kumar
This time with just
flag authdebug
and without going through secstore, since
it gave me the problem highlighted above,
plain auth from the QEMU host gives the
following at Ken FS:

il: allocating ...
user akumar = 2 authenticated
authorize: uid is 2
authorize: uid is 2
hangup! connection timed out-3 ...

so at least basic auth is being done --
but what's the bizarre problem when doing
secstore (notice it hangs around for a long
time before giving that error message in
the previous post)? And of course, why the
time out from the Ken FS server?

I've attached a conversation from start to
finish between Ken FS (192.168.1.3) and
the Plan 9 inside QEMU (192.168.1.20).
tcpdump command was:

tcpdump -w kenfs-full.pcap-X -s 0 -n -e \
-ttt -i ath0 src 192.168.1.3 or dst 192.168.1.3

to produce the pcap output, and

tcpdump -X -nnr kenfs-full.pcap  kenfs-full.convo

to produce the attached file with human-readble
data.

Please let me know if more information is desired.


Thanks,
ak



Re: [9fans] Issues with 2 networks, fs server, and namespaces

2009-08-21 Thread Devon H. O'Dell
2009/8/21 Noah Evans noah.ev...@gmail.com:
 Hey Devon,

 1. Others know more about that than I do. Wait a bit, that problem
 might get solved.

I think I brought that up because if anybody has ideas about fixing
them or making them better, I would like to do that.

 2. drawterm tends to hang on secstore for me. Try a bogus -s option or
 use a p9p secstore/factotum and see what happens.

I'm not sure I have secstore set up. Perhaps that's it?

 3. what's stopping you from setting up your external network as the
 one on /net.alt and using dhcp internally? Or booting tcp off the file
 server without dhcp? e.g. baking it into plan9.ini, or entering it
 manually at boot time? I've tried similar tricks to yours using
 inferno and getting cute and breaking the convention of /net.alt for
 external networks has always ended in a world of pain.

Tried to explain that. I just don't want to due to the number of hours
I've spent trying to configure it this way :). I think Christopher's
suggestion is what I'll do next; I totally forgot that was possible.

--dho

 Noah

 On Fri, Aug 21, 2009 at 11:07 PM, Devon H. O'Delldevon.od...@gmail.com 
 wrote:
 Hello all,

 I'm trying to set up a group of servers (these are running on VMWare
 ESXi, and working great -- CPU server running with two APs, though
 adding more causes it to fault with a divide by zero?). Auth server's
 got its own 1GB fossil, boots with the 9pcauth kernel. CPU server
 boots from a small fossil. Both Auth and CPU are on the public
 internet via ether0 so that they are cpu/drawtermable. They do not
 boot from the file server because I didn't want to set up a DHCP
 server that was connected to the Internet (ISP getting mad and
 whatnot). While I've configured the internal network to be on it's own
 vswitch (managed through vmware, no real network connectivity), I've
 been struggling with the prior configuration enough that I don't want
 to just `give up' on it.

 The FS, however, sits on a private network. CPU and Auth are connected
 to this network via ether1. However, I'm having the following issues:

 #1) Using two networks on two different interfaces is a pain in the
 ass. I've got:
 bind '#l1' /net.alt
 bind '#I1' /net.alt

 in my /cfg/cpu/namespace. If I simply have them here, ip/ipconfig -N
 -x ether1 ether /net.alt/ether1 complains in cpurc about no ip being
 attached to /net.alt. So I have to put that in /cfg/cpu/cpurc also. I
 don't quite understand why everything's architected to have a single
 ip stack on a single ethernet; in this case, it really isn't
 convenient that it doesn't determine the correct interface via routing
 tables or somesuch. Is there something basic that I'm missing here?

 #2) Drawterm is taking forever and a day to connect and log in. It's
 either an auth issue or a DNS issue. Best guesses as to what this
 could be and how I should go about diagnosing it?

 #3) Trying to mount the fileserver globally is elusive. I want to
 mount /n/fs/usr over /usr and /n/fs/mail over /mail. Perfectly happy
 with that. However:

  o Doing that in cpurc doesn't put it in the global namespace
  o Doing it in /cfg/cpu/namespace doesn't have an ip yet so I can't
 run srv /net.alt/tcp!10.0.0.3!9fs in the first place
  o Doing it in /rc/bin/service/tcp17010 causes me to get `cpu:
 negotiating authentication method: [public auth server ip]: cs gave
 empty translation list'

 Mounting it from /n/fs after booting works fine (but it makes me auth,
 which is kind of weird -- I guess I need to set up a secstore? -- I
 figured that eve would be able to connect without auth, given that
 everything's tied to the same auth server, no matter which network
 it's on, and that a user drawterming in would be able to connect by
 virtue of having authed when connecting in the first place.)

 I know the `preferred way' is to boot the CPU server from the
 fileserver. While I could feasibly reconfigure my setup to do this,
 I'd prefer to figure it out this way first, given the amount of time
 I've been banging my head against the wall on it :)

 --dho







Re: [9fans] Issues with 2 networks, fs server, and namespaces

2009-08-21 Thread Devon H. O'Dell
Well, we're getting somewhere. Using /cfg/cpu/namespace still seems to
do nothing to get ether1 into /net. Putting it into cpurc does the
trick though, go figure.

However, I've got a new issue. When I go to mount the file server, I'm
getting this:

mount: auth_proxy: auth_proxy rpc write: p9...@int.9vx.org: no key
matches  proto=p9sk1 dom=int.9vx.org role=client user? !password?
mount: mount /n/fs: fossil authCheck: auth protocol not finished

I mentioned I wasn't sure that I'd set up secstore. I think I really
mean, ``I haven't set up secstore, and I'm not sure how :)

Tips?

--dho



Re: [9fans] Issues with 2 networks, fs server, and namespaces

2009-08-21 Thread Devon H. O'Dell
And that's taken care of. Didn't have an authdom configured in
/lib/ndb/local, and for some reason, I forgot to set up keyfs on the
auth server. Thought I had that taken care of.

Of course, I'm now faced with another new issue. auth/debug looks like
it just tries to debug factotum keys. This machine has an interface on
9vx.org and another on int.9vx.org. However, auth/debug only tries to
debug 9vx.org, leading me to believe that factotum has no key for
int.9vx.org. Still getting that auth protocol not finished for
int.9vx.org, but I'm sure if I could get it to put that key in place,
everything would be great.

Ideas?

--dho



Re: [9fans] Issues with 2 networks, fs server, and namespaces

2009-08-21 Thread erik quanstrom
 Of course, I'm now faced with another new issue. auth/debug looks like
 it just tries to debug factotum keys. This machine has an interface on
 9vx.org and another on int.9vx.org. However, auth/debug only tries to
 debug 9vx.org, leading me to believe that factotum has no key for
 int.9vx.org. Still getting that auth protocol not finished for
 int.9vx.org, but I'm sure if I could get it to put that key in place,
 everything would be great.

auth domain != dns domain.  there's no reason for them even
to be similar.  (except human convienence.)

- erik



Re: [9fans] Issues with 2 networks, fs server, and namespaces

2009-08-21 Thread erik quanstrom
 I'm trying to set up a group of servers (these are running on VMWare
 ESXi, and working great -- CPU server running with two APs, though
 adding more causes it to fault with a divide by zero?). Auth server's

could you be more specific about this?

 The FS, however, sits on a private network. CPU and Auth are connected
 to this network via ether1. However, I'm having the following issues:
 
 #1) Using two networks on two different interfaces is a pain in the
 ass. I've got:
 bind '#l1' /net.alt
 bind '#I1' /net.alt

you want something like this in /lib/namespace.machinewith2ndipstack
 cat /lib/namespace.ladd
bind -b #l1 /net.alt
bind -b #I1 /net.alt
mount -a /srv/cs_net.alt /net.alt
mount -a /srv/dns_net.alt /net.alt
#

and you want something like this in your cpurc

bind -b '#l1' /net.alt
bind -b '#I1' /net.alt
ip/ipconfig -x /net.alt -g 192.168.10.254 ether /net.alt/ether1 add 
192.168.10.1  /120
ndb/cs -x /net.alt -f /lib/ndb/external
ndb/dns -Rrsx /net.alt -f /lib/ndb/external #external
- or -
ndb/dns -s  #internal
aux/listen -q -t /rc/bin/service.auth -d /rc/bin/service.ext 
/net.alt/tcp


- erik



Re: [9fans] Plan 9 via QEMU

2009-08-21 Thread erik quanstrom
On Fri, Aug 21, 2009 at 6:28 PM, Akshat
Kumaraku...@mail.nanosouffle.net wrote:
 This time with just
 flag authdebug
 and without going through secstore, since
 it gave me the problem highlighted above,
 plain auth from the QEMU host gives the
 following at Ken FS:

 il: allocating ...
 user akumar = 2 authenticated
 authorize: uid is 2
 authorize: uid is 2
 hangup! connection timed out-3 ...


i also see it trying to auth bootes (i think).
do you have a user bootes?

- erik



Re: [9fans] Issues with 2 networks, fs server, and namespaces

2009-08-21 Thread Devon H. O'Dell
2009/8/21 erik quanstrom quans...@coraid.com:
 On Fri Aug 21 19:55:55 EDT 2009, devon.od...@gmail.com wrote:
 Well, we're getting somewhere. Using /cfg/cpu/namespace still seems to
 do nothing to get ether1 into /net. Putting it into cpurc does the
 trick though, go figure.

 you need it in both places, as namespace doesn't apply to the console.

Aha. Ok.

It's working now. Turned out the fs had its authdom in nvram set to
the wrong domain. Oops.

Thanks all!

--dho

 - erik





Re: [9fans] Recursive structural expressions?

2009-08-21 Thread J.R. Mauro
On Thu, Aug 20, 2009 at 9:14 PM, Charles Forsythfors...@terzarima.net wrote:
 qed allowed naming of regular expressions using `e' and their recursive 
 invocation
 using \E, with results suggested earlier.

 http://cm.bell-labs.com/cm/cs/who/dmr/qedman.html
 http://cm.bell-labs.com/cm/cs/who/dmr/qedman.pdf

 ``It should be noted that the ability to define regular expressions 
 recursively makes the term regular expression a misnomer: it is not hard to 
 see that expressions can be constructed to match exactly the members of any 
 given context-free language.''



I guess I missed this when I last read that paper. Do you know how qed
dealt with infinite recursion or ambiguous CF expressions?



Re: [9fans] Plan 9 via QEMU

2009-08-21 Thread Akshat Kumar
 i also see it trying to auth bootes (i think).
 do you have a user bootes?

Yes, bootes is the hostowner of the CPU/Auth
server.

I've got a QEMU image that was distributed by
Devon, so I could at least try to get into Plan 9
inside QEMU and try to connect to Ken FS
server from there. I'm still PXE booting, this time
with a 9pcfil kernel that supports IL protocol and
booting locally. It currently is just hung at

time...
fossil(#S/sdC0/fossil)...

If I start QEMU with the option to boot directly from
the HD image, as opposed to booting from network,
then it starts up fine - but then the kernel is different
also. I don't know what part of this is really troublesome.
Maybe the pcap device? I can't get into VNC if I start
QEMU with -boot d and -net pcap,devicename=ath0 so
-boot n remains my only options; but with this option
we have the hung fossil... or something
So many problems (due to so many limitations).


Cheers,
ak



Re: [9fans] Plan 9 via QEMU

2009-08-21 Thread erik quanstrom
On Fri Aug 21 21:35:38 EDT 2009, aku...@mail.nanosouffle.net wrote:
  i also see it trying to auth bootes (i think).
  do you have a user bootes?
 
 Yes, bootes is the hostowner of the CPU/Auth
 server.

also must have a user bootes on the fs even with
auth disabled.

might be good to turn on more debugging flags.
like il.

- erik



[9fans] ndb/dns as a slave

2009-08-21 Thread Devon H. O'Dell
How do I designate ndb/dns to accept zone transfers from another one?
I have dnsslave set to the other machine in the `master zone file'
(for lack of a better term). The secondary server doesn't seem to
accept updates. (Or maybe the master isn't pushing them? Dunno.)

--dho