Re: Charting the Future: Envisioning Plan 9 Release 5 for the 9fans Community. [Was:Re: [9fans] Supported Notebooks]

2024-01-24 Thread Alex Musolino
> One reason I responded with no is that Rob noted that further 9
> releases should not be a release at all, but should be fluid updates
> through the network.  I think if 9 lives on it should be that was,
> as intended.

I agree.  Maybe we could use some sort of distributed source control
system.

--
Cheers,
Alex Musolino


--
9fans: 9fans
Permalink: 
https://9fans.topicbox.com/groups/9fans/T42f11e0265bcfa18-Mc80ef2a838a4553dadb77d99
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription


Re: [9fans] Error when trying to install contrib/install

2023-02-24 Thread Alex Musolino
> I believe so, yes.  It looks like 9front has made some significant
> changes to (or removed?  I didn’t dig in) test’s handling of
> “implied” -a and -o operands.

Test(1) was changed for 9front because the old test(1) was broken.  It
does not have any sort of "implied" -a or -o operands.  Actually, it
silently ignores what comes after the first expression if there is no
-o or -a to combine it with other expressions.

The specific example from fgb's contrib/install script is doubly wrong
since there's no argument supplied to the -w option.  I guess because
old test(1) doesn't complain, people may have assumed that this syntax
was a cute way to check that a directory exists *and* that it is
writable.  Ratrace(1), however, will show you that the old test(1)
only does one stat(5) syscall in this case and, in fact, calls
exits(0) regardless of whether the directory is writable or not.

The new test(1) in 9front passes the following test suite, which is
mostly stolen from something the OpenBSD folks had used to test their
own test(1) program:

http://git.9front.org/plan9front/regress/717df14acac498bfb4496066a60c1ae83e93d9b7/cmd/test.rc/f.html

> I would suggest compiling the plan9 version locally and seeing if
> that fixes the issue.

That will probably get you by, but I'd say the contrib/install script
should be fixed also.

--
Cheers,
Alex Musolino


--
9fans: 9fans
Permalink: 
https://9fans.topicbox.com/groups/9fans/T23b7964cf6e8776e-Mdbb0237c5d0d5fa0441d5e2e
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription


Re: [9fans] ntohl, htonl,

2022-05-13 Thread Alex Musolino
> I'm getting rid of ape but I need the functions at
> /sys/src/ape/lib/bsd/ntohl.c to port some software.  These functions
> just change endianness.  Is there some native similar functions
> somebody is aware of?  lookman is not helping me here.  I don't want
> to add code if a similar functionality is already in the system.

No. Those functions are mental.  The Plan 9 way is so simple that
there's no library, everyone just brings their own macros/functions.
The trick is: if you care about the order of bytes then you should be
dealing with a byte array, not a native integral type.

These are from Ori's git implementation though there are other,
similar implementations around the place (e.g. lib9p, venti).  They
do the job perfectly well.

#define GETBE32(b) \
b)[0] & 0xFFul) << 24) | \
 (((b)[1] & 0xFFul) << 16) | \
 (((b)[2] & 0xFFul) <<  8) | \
 (((b)[3] & 0xFFul) <<  0))

#define PUTBE32(b, n)\
do{ \
(b)[0] = (n) >> 24; \
(b)[1] = (n) >> 16; \
(b)[2] = (n) >> 8; \
(b)[3] = (n) >> 0; \
} while(0)

Little endian versions proceed similarly:

#define GETLE32(b) \
b)[0] & 0xFFul) <<  0) | \
 (((b)[1] & 0xFFul) <<  8) | \
 (((b)[2] & 0xFFul) << 16) | \
 (((b)[3] & 0xFFul) << 24))

#define PUTLE32(b, n)\
do{ \
(b)[0] = (n) >> 0; \
(b)[1] = (n) >> 8; \
(b)[2] = (n) >> 16; \
(b)[3] = (n) >> 24; \
} while(0)

The 16-bit and 64-bit versions should be obvious.

For porting I'd just use APE, or copy the bits and pieces you need.


--
9fans: 9fans
Permalink: 
https://9fans.topicbox.com/groups/9fans/Tbf58310b561cd180-M0b8f2ed4b88270bf7dd090ab
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription


Re: [9fans] 9P in Forth

2022-02-14 Thread Alex Musolino
> Just curious if anyone has attempted a 9P implementation in Forth?

Seems so: https://github.com/iru-/9p4


--
9fans: 9fans
Permalink: 
https://9fans.topicbox.com/groups/9fans/T83ca5eda689bd9be-M86ada06c92d1b5dd39db3bfb
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription


Re: [9fans] Create HTML pages

2022-02-01 Thread Alex Musolino
> I wanted to ask if there is a "Plan9 way" to create simple HTML
> pages.  Would this possibly be doable with troff, or is there for
> example a way to convert Markdown?  Since my intention would be a
> very simple blog, it would also be possible to just create the pages
> directly in HTML using acme.

I do this sort of thing using the discount markdown processor
available at https://github.com/Orc/discount.

--
9fans: 9fans
Permalink: 
https://9fans.topicbox.com/groups/9fans/Te71ff4b45d15900f-Ma03866a5e5b0ac2020bcc8ad
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription


Re: [9fans] acme and sam - mouse suggestions?

2022-01-27 Thread Alex Musolino
Quoth o...@eigenstate.org:
> Quoth Kurt H Maier via 9fans <9fans@9fans.net>:
> > 
> > The Evoluent VerticalMouse series has three mechanical buttons plus a
> > scroll wheel between buttons 1 and 2.
> 
> This one is my personal favorite.

I have two of these and they're quite good, though quite expensive
new.  I bought the second one "new, open box" for well under half the
then-current new price.

My only complaint would be that the wired version isn't massive
enough.  I plan to weight them down a bit with some plumbum.


--
9fans: 9fans
Permalink: 
https://9fans.topicbox.com/groups/9fans/T49f3cceea70d2b61-Mcc4565e3613fc1c9c9abc3f0
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription


Re[2]: [9fans] Strange 'uintptr' behavior

2022-01-25 Thread Alex Musolino
It didn't always work on 9front.  Check the dump!

After bisecting the dump and looking through the git log, I suspect
that 9front changeset 71939a82 [1] will fix it for you.

[1] 
https://git.9front.org/plan9front/plan9front/71939a82ccc505b0baa990d7fe17e7085d0ab8fc/commit.html


--
9fans: 9fans
Permalink: 
https://9fans.topicbox.com/groups/9fans/Tb5fe0dc43447ab2c-M7ca511b172875758e866dd78
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription


Re: [9fans] ed regular expressions in sam

2021-07-20 Thread Alex Musolino
> In ed it is trivial to edit either side of a line such as changing
> the line,
> 
> I use sam and ed
> 
> to,
> 
> echo "I use sam and ed."
> 
> simply with,
> 
> g/.*/s//echo "&."/
> 
> I am trying to figure out how to do the same in sam. 

,s/^.*$/echo "&."/g

or, perhaps closer to your ed example:

,x/^.*$/s//echo "&."/


--
9fans: 9fans
Permalink: 
https://9fans.topicbox.com/groups/9fans/Te7fcdc06a68bb777-Me4b54fadfcca529e4c53804e
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription


Re: [9fans] git9 to tradational interface wrapper for go

2021-02-28 Thread Alex Musolino
> Anyone made any progress writing a wrapper script, like djc's
> /rc/bin/git, for ori's git9?

Yes.  This is what git/compat is for.  Just run `git/compat` to spawn
a new shell with a 'git' executable in your $path.  For example:

term% cd path/to/repo
term% git/compat
term% git version
git version 2.2.0
term% git pull
fetching...
indexing 223 objects: 100%
ours: 721e8fbc985b46b86e0f82ea79c35e977e382c53
theirs: a18673d25a46c235289eb9b5748af1eb4ecd7170
common: 221e7c96b417e63b291f83714d9dbcbb253a2e4b
git/merge remotes/origin/master
term% 


--
9fans: 9fans
Permalink: 
https://9fans.topicbox.com/groups/9fans/Tecc998fe02d53302-Mf9c43fedab579263ec2d1354
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription


Re: [9fans] 9Front / cwfs64x and hjfs storage

2021-02-04 Thread Alex Musolino
> As as filesystem becomes full, what's the plan9/9front way to report
> disk utilization? i.e. the equivalent of 'df'?

Use the "statw" command for cwfs(4) and the "df" command for hjfs(4).


--
9fans: 9fans
Permalink: 
https://9fans.topicbox.com/groups/9fans/Tc951a224dde6dde5-M1291b63ed5787ba6ea74be98
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription


Re: [9fans] Acme Mail editable from address

2021-01-28 Thread Alex Musolino
> I'd love this functionality in marshal. Would it then also work in Nail? 
> (No crazy filtering in Nail?)
> 
> Would a potential marshal patch be applied to 9front? I think it's a nice 
> feature and prevents setting $upasname before starting [MN]ail. Also I 
> don't think it would change existing behavior too much.

Seems it's already in 9front.  I can just write my own custom From:
header with Nail or marshal(1).  I've never had much reason to change
it so I just put the From: header you see in this message in
/mail/box/alex/headers.


--
9fans: 9fans
Permalink: 
https://9fans.topicbox.com/groups/9fans/T9469a3ec554967c5-Mdb59c076a394500b1c5aa9bf
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription


Re: [9fans] getting 9front ssh to use RSA key?

2021-01-25 Thread Alex Musolino
> You are exactly correct.  Looks like rsa(8) has a bug in its example
> for generating and installing a fresh key for a remote Unix system, in
> that it says to use:
> 
> auth/rsagen -t 'service=ssh' >key
> auth/rsa2ssh key | ssh unix 'cat >>.ssh/authorized_keys'
> cat key >/mnt/factotum/ctl
> ssh unix

I'm confused.  You're already using ssh to send the new key across.
How do you know this new key is actually working?  It's probably just
using the same authentication mechanism (password?) that allowed the
first invocation to succeed.  As I said in a follow up email, I was
wrong about the role=client tuple.  Factotum ignores this when looking
up entries.


--
9fans: 9fans
Permalink: 
https://9fans.topicbox.com/groups/9fans/Td072863a97c9d3e9-Mce4d4e49b801bbe9b645e7a1
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription


Re: [9fans] getting 9front ssh to use RSA key?

2021-01-25 Thread Alex Musolino
Nevermind.  It doesn't matter.

--
9fans: 9fans
Permalink: 
https://9fans.topicbox.com/groups/9fans/Td072863a97c9d3e9-M7475d1a41736a02e67e3842c
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription


Re: [9fans] getting 9front ssh to use RSA key?

2021-01-25 Thread Alex Musolino
You're missing the 'role=client' tuple.

--
9fans: 9fans
Permalink: 
https://9fans.topicbox.com/groups/9fans/Td072863a97c9d3e9-M6e96e6354356366203ac231b
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription


Re: [9fans] 9Front / cwfs64x and hjfs storage

2020-12-29 Thread Alex Musolino
> While it is not yet a concern, I am trying to figure something out
> that does not seem to be well documented in the man pages or the fqa
> about the file systems.

Parts of fs(4), fs(8), and fsconfig(8) can be applied to cwfs.  The
syntax that Ethan talked about for concatenating WORM devices is
described in fsconfig(8).

> I am currently running a plan9front instance with cwfs64x (the whole
> "hjfs is experimental, you could loose your files" seemed to be a
> bit dangerous when I started everything) and I understand that it is
> a WORM file system.  My question is for the end game.  If the
> storage gets full with all of the diffs, is there a way for the
> oldest ones to roll off, or do you need to expand the storage or
> export them or ?  I come from the linux world where this is not a
> feature file system wise and worst case I would have lvm's that I
> could just grow or with repos I could cull the older diffs, if
> needed.

Cwfs doesn't know anything about diffs as such, it just keeps track of
dirty blocks and writes these out to the WORM partition when a dump is
requested.  The plan 9 approach to storage is to just keep adding
capacity since the price of storage falls faster than you can use it
up.

I recently upgraded my home file server from an 80GB HDD to a 240GB
SSD and documented the process [1].  The WORM partition contained 25GB
and dates back to 2016-04-12.  Now, maybe you'll generate much more
data than me over less time, but in this day and age of cheap
multi-terrabyte HDDs and hundred-gigabyte SSDs I think it's still
perfectly reasonable to just keep adding capacity as you need it.

Another thing to consider is how much data you really need to be
sending to the WORM in the first place.  Multimedia, for example,
might be better stored on a more convential file system since the lack
of content-based deduping in cwfs might result in these files being
dumped multiple times as they are moved around or have their metadata
edited.  Even venti won't dedup in the latter case as it doesn't do
content-defined chunking.

Plan 9 is really good at combining multiple filesystems from multiple
machines (running different operating systems!) together into a single
namespace.  My music collection lives on an ext4 filesystem mirrored
across 2 drives (and backed up elsewhere) but can be easily accessed
from 9front using sshfs(4).  I just run `9fs music` and the entire
collection appears under /n/music.

[1] http://docs.a-b.xyz/migrating-cwfs.html

--
9fans: 9fans
Permalink: 
https://9fans.topicbox.com/groups/9fans/Tc951a224dde6dde5-Md9c09155880fcdeb3dc85cfc
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription


Re: [9fans] 9front man page on ps doesn't seem to match up?

2020-09-16 Thread Alex Musolino
On my system (9front) ps(1) states:

Syscall   performing the named system call.

Which is what you're seeing.  For the complete list,
have a look here: /sys/src/9/port/systab.h:/sysctab/

--
Cheers,
Alex Musolino

--
9fans: 9fans
Permalink: 
https://9fans.topicbox.com/groups/9fans/T8abf4e1c9a4c42a7-Mfcf247241099be53a87b40f2
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription


Re: [9fans] /mail/lib/rewrite and net!$smtp

2019-12-06 Thread Alex Musolino
What about:

% ndb/csquery /net/cs 'net!$smtp!25'

Or even:

% ndb/csquery /net/cs 'tcp!$smtp!25'

--
9fans: 9fans
Permalink: 
https://9fans.topicbox.com/groups/9fans/Tf5f20e4ab86fee91-M6401d7abb306e5837d2593aa
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription


Re: [9fans] upgrading the 9legacy shell (was: Gmail vs Upas)

2019-12-03 Thread Alex Musolino
> What are some of the technical reasons?

To clarify, I'm asking about technical reasons for not using 9front
as opposed to some other Plan 9 flavour; not as opposed to some other
operating system(s) altogether.

--
9fans: 9fans
Permalink: 
https://9fans.topicbox.com/groups/9fans/T861dcd95691a032b-Mfe32c65e8adf5cabdf9056ee
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription


Re: [9fans] upgrading the 9legacy shell (was: Gmail vs Upas)

2019-12-03 Thread Alex Musolino
> I have no interest in using 9front for both technical and
> non-technical reasons.

What are some of the technical reasons?

--
9fans: 9fans
Permalink: 
https://9fans.topicbox.com/groups/9fans/T861dcd95691a032b-M7705c3f507b9b7dbb8a8800d
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription


Re: [9fans] strange propogation paths in 9fans mail?

2019-05-05 Thread Alex Musolino
> Is this happening for anyone else?

Yeah, I've noticed it on and off also.



Re: [9fans] Acme - built in command; external command

2018-04-27 Thread Alex Musolino
Hi there,

It seems that it is *possible* but...  Well, have a look at [1].  It
almost certainly will break in some cases.  For starters, if a dirty
file is modified outside of acme it won't work; you'll have to clean
that up yourself.  Also, grepping the tag for 'Put |' is a screaming
hack but acme doesn't expose all of the information you need to
implement Putall externally.

All in all, it's a lot of mucking around to save 1 mouse click.  Just
place Putall and mk side-by-side in your tag and be done with it.

[1] http://musolino.id.au/up/PutallMk

--
Cheers,
Alex Musolino



Re: [9fans] Backgrounding a task

2017-10-24 Thread Alex Musolino
> The namespace join facility looks interesting. Do you have a patch
> somewhere for it?

I'll see what I can dig up though it wouldn't tbe erribly difficult to
reimplement.  You basically just need to modify the pgrp pointer of
the proc, adjusting ref counts as required.

>> Of course, a lot of the isolation that per-process namespaces give
>> you is suddenly undone by the introduction of this facility.
>
> I'm not sure if the lack of isolation is any different than what can
> be done with a child process that shares the namespace.  Is there a
> particular case that you are thinking?

Creating a child process is something that a process explicitly
controls and the RFNOTEG flag of rfork(2) allows a process to control
whether or not it shares its namespace with its children.  Allowing
other, unrelated processes to fiddle with your namespace is quite
different.

Think about multiple processes owned by multiple users running on a
cpu server.  Which processes should be allowed to join which
namespaces?

Perhaps allowing only the hostowner to join namespaces for debugging
and administration purposes would be acceptable.

>> At this point I'm not entirely convinced that it's worth the
>> trouble.
> 
> I think that it can be depending on how much time you have spent
> building up a namespace for a process.  Perhaps I have spent hours
> working on something slowly customizing the namespace mounting and
> binding things.  If I end up running a long running command that
> blocks and I want to work in parallel with it then I must remember
> everything that I have done and repeat in a new window.  It seems
> like something the computer should do for me or at least help me to do
> it.

This seems a contrived example.  Would you really spend HOURS working
on setting up a namespace by hand?  Surely you would instead be
working on a script that builds the namespace for you; make the
computer do the work.  Then when you mess up, you can modify the
script, create a new window, and try again.

One more thing to consider is the #σ device in 9front which seems to
address some of the problems that you might otherwise use nsjoin to
solve.

--
Cheers,
Alex Musolino




Re: [9fans] Backgrounding a task

2017-10-23 Thread Alex Musolino
> So far, it looks like the closest equivalent is to draw a new window
> and inherit the namespace of the original one by reading the namespace
> from the proc.

The problem with /proc/$pid/ns is entries that can't be "replayed".
For example, the following command will not work:

mount -b '#|/data' /mnt

Nor does it provide any real indication as to what exactly is hooked
up to the other end of the 9P pipe.

> I wonder if there could be a Rio gesture to draw a new window
> inheriting the namespace of the window I pick by clicking.

Rio can't access the namespaces of the processes running in its
windows.  The -m option to window(1) works by rforking a new process
with the RFNAMEG flag set and then doing the appropriate mounting and
binding to create and use a new rio window.

Some months ago I played with the idea of adding support for an
"nsjoin" command to the /proc/$pid/ctl file.  This allowed you to join
the namespace of another process a little something like this:

term% ps | grep plumber
alex6700:00   0:00  864K Preadplumber
alex6710:00   0:00  864K Rendez   plumber
term% echo nsjoin 670 >/proc/$pid/ctl
term% 

Subsequent changes to the namespace would affect the plumber.  If you
wanted a copy, just do 'rfork n' after joining the namespace.

Of course, a lot of the isolation that per-process namespaces give you
is suddenly undone by the introduction of this facility.  At this
point I'm not entirely convinced that it's worth the trouble.

--
Cheers,
Alex Musolino




Re: [9fans] Starting rio on combined CPU, file and auth

2017-05-04 Thread Alex Musolino
> rio runs fine on any cpu server; your draw device determines where the
display is.

Yes, of course. That was sloppy writing on my part. What I should have said
was:

"CPU servers typically don't have any reason to run rio on a local draw
device."

--
Cheers,
Alex Musolino


Re: [9fans] Starting rio on combined CPU, file and auth

2017-05-04 Thread Alex Musolino
> Using 9front and set "service=cpu" but rio doesn't start.

This is expected.  CPU servers typically don't have any reason to run
rio.  Mine don't even have monitors attached (usually).

> I've tried adding screenrc to /rc/bin/cpurc and /cfg/$sysname/cpustart
> but gives me errors on /dev/draw.

If you compare /rc/bin/cpurc and /rc/bin/termrc you'll see that the
vga device (#v) is bound only in /rc/bin/termrc.  You can arrange
this in /rc/bin/cpustart, before you include /rc/bin/screenrc, like so:

bind -a '#v' /dev >/dev/null >[2=1]

--
Cheers,
Alex Musolino


Re: [9fans] Terminal possibliities...

2016-10-02 Thread Alex Musolino
>
> Is there any interest in putting these p9port style keyboard modifiers
> into p9bl or 9front?
>

9front has Shift+RMB for emulating MMB.


Re: [9fans] IP Multicast - Results

2016-09-16 Thread Alex Musolino
Chris,

As cinap says:

nusb/ether doesnt implement multicast filter.
>

This is your problem. I believe the Raspberry Pi has its NIC attached
via USB internally. Therefore, multicast won't (currently) work on the
Raspberry Pi.

--
Cheers,
Alex Musolino


Re: [9fans] IP Multicast - Results

2016-09-15 Thread Alex Musolino
>
> I tried the mcastsend and mcastrecv on my two raspberry Pi's running
> 9front.
>

How are you connecting these devices to the network? I use wired
connections to a single (dumb) switch.

--
Cheers,
Alex Musolino


Re: [9fans] IP Multicast - Results

2016-09-15 Thread Alex Musolino
>
> Do you remember if you needed to add/remove routes to make it work? Also,
> did you use 9front or the bell labs distribution?
>

These programs work without any setup on 9front. Once the programs are
running I can ping the multicast address from either host and a new route
appears in /net/iproute.

--
Cheers,
Alex Musolino


Re: [9fans] IP Multicast - Results

2016-09-14 Thread Alex Musolino
I was playing around with multicast on 9front the other week and
managed to get something working (for some definition of working). I
have attached 2 test programs for sending and receiving multicast
datagrams. Unfortunately, it seems you can't send/receive messages
from the same host. I'm not sure what's missing to get that part
working.

Also, note that the dial in mcastrecv.c is just a hack to get the
local address via getnetconninfo, which doesn't seem to work given the
announce directory.

Hopefully these are of some use. Would be interested to hear how to
fix the mentioned (and unmentioned) shortcomings.

--
Cheers,
Alex Musolino
#include 
#include 

static void
usage(void)
{
	print("usage: %s mcast-ip port\n", argv0);
	exits("usage");
}

void
main(int argc, char **argv)
{
	NetConnInfo *ncinfo;
	char adir[40], ldir[40], buf[1024];
	int fd, acfd, lcfd, dfd, n;

	ARGBEGIN{
	default:
		usage();
	}ARGEND;
	if(argc != 2)
		usage();
	fd = dial(netmkaddr(argv[0], "udp", argv[1]), 0, 0, 0);
	ncinfo = getnetconninfo(nil, fd);
	if(ncinfo == nil)
		sysfatal("getnetconninfo: %r");
	close(fd);
	acfd = announce(netmkaddr(argv[0], "udp", argv[1]), adir);
	if(acfd < 0)
		sysfatal("announce: %r");
	if(fprint(acfd, "addmulti %s %s", ncinfo->lsys, argv[0]) < 0)
		sysfatal("addmulti: %r");
	freenetconninfo(ncinfo);
	for(;;){
		lcfd = listen(adir, ldir);
		if(lcfd < 0)
			sysfatal("listen: %r");
		switch(fork()){
		case -1:
			sysfatal("fork: %r");
		case 0:
			dfd = accept(lcfd, ldir);
			if(dfd < 0)
sysfatal("accept: %r");
			if((n = read(dfd, buf, sizeof(buf))) < 0)
sysfatal("read: %r");
			write(1, buf, n);
			exits(0);
		default:
			close(lcfd);
		}
	}
}
#include 
#include 

static void
usage(void)
{
	print("usage: %s mcast-addr port\n", argv0);
	exits("usage");
}

void
main(int argc, char **argv)
{
	NetConnInfo *ncinfo;
	char buf[1024];
	int fd, cfd, n;

	ARGBEGIN{
	default:
		usage();
	}ARGEND;
	if(argc != 2)
		usage();
	fd = dial(netmkaddr(argv[0], "udp", argv[1]), 0, 0, );
	if(fd < 0)
		sysfatal("dial: %r");
	ncinfo = getnetconninfo(nil, fd);
	if(ncinfo == nil)
		sysfatal("getnetconninfo: %r");
	if(fprint(cfd, "addmulti %s %s", ncinfo->lsys, argv[0]) < 0)
		sysfatal("addmulti: %r");
	freenetconninfo(ncinfo);
	while((n = read(0, buf, sizeof(buf))) > 0)
		write(fd, buf, n);
	close(fd);
}


Re: [9fans] Ping

2016-09-13 Thread Alex Musolino
>
> Sorry for the spam. Is this mailing list getting my emails?
>

Yes.