linux-decnet-commit Mailing List for DECnet for Linux (Page 10)
Brought to you by:
chrissie_c,
ph3-der-loewe
You can subscribe to this list here.
2001 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(15) |
Nov
(16) |
Dec
(6) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2002 |
Jan
(20) |
Feb
(27) |
Mar
(25) |
Apr
(12) |
May
(2) |
Jun
(6) |
Jul
(36) |
Aug
(12) |
Sep
(12) |
Oct
(16) |
Nov
(5) |
Dec
(5) |
2003 |
Jan
(8) |
Feb
(9) |
Mar
(25) |
Apr
(18) |
May
(29) |
Jun
(4) |
Jul
(1) |
Aug
|
Sep
(10) |
Oct
(5) |
Nov
(3) |
Dec
(9) |
2004 |
Jan
(17) |
Feb
|
Mar
(9) |
Apr
|
May
(4) |
Jun
(1) |
Jul
(2) |
Aug
(21) |
Sep
|
Oct
|
Nov
|
Dec
(1) |
2005 |
Jan
(5) |
Feb
|
Mar
(13) |
Apr
|
May
(3) |
Jun
(1) |
Jul
|
Aug
|
Sep
(13) |
Oct
(83) |
Nov
(2) |
Dec
|
2006 |
Jan
(21) |
Feb
(1) |
Mar
(32) |
Apr
(31) |
May
(3) |
Jun
(1) |
Jul
|
Aug
(7) |
Sep
|
Oct
(1) |
Nov
(3) |
Dec
(13) |
2007 |
Jan
(1) |
Feb
(7) |
Mar
|
Apr
(2) |
May
|
Jun
(1) |
Jul
(2) |
Aug
(20) |
Sep
|
Oct
|
Nov
|
Dec
(7) |
2008 |
Jan
(4) |
Feb
(13) |
Mar
(24) |
Apr
(18) |
May
(10) |
Jun
|
Jul
|
Aug
(40) |
Sep
(72) |
Oct
(61) |
Nov
(9) |
Dec
(2) |
2009 |
Jan
(6) |
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
(7) |
Jul
|
Aug
|
Sep
|
Oct
(8) |
Nov
|
Dec
(3) |
2010 |
Jan
|
Feb
|
Mar
|
Apr
(5) |
May
|
Jun
|
Jul
(41) |
Aug
(28) |
Sep
(2) |
Oct
(5) |
Nov
(4) |
Dec
|
2011 |
Jan
(7) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Christine C. <chr...@us...> - 2008-09-05 08:19:48
|
Update of /cvsroot/linux-decnet/dnprogs In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12275 Modified Files: Makefile Log Message: Add dnetcat & dnetstat contributed programs. Index: Makefile =================================================================== RCS file: /cvsroot/linux-decnet/dnprogs/Makefile,v retrieving revision 1.36 retrieving revision 1.37 diff -C2 -r1.36 -r1.37 *** Makefile 5 Sep 2008 08:12:43 -0000 1.36 --- Makefile 5 Sep 2008 08:19:44 -0000 1.37 *************** *** 11,15 **** SUBDIRS=include libdnet libdaemon libdap librms fal dndir dnsubmit dndel \ dncopy apps dntask dnlogin mail phone dnetd libvaxdata dnroute \ ! nml multinet dapfs scripts all: --- 11,16 ---- SUBDIRS=include libdnet libdaemon libdap librms fal dndir dnsubmit dndel \ dncopy apps dntask dnlogin mail phone dnetd libvaxdata dnroute \ ! nml multinet dapfs scripts \ ! contrib/ph3-der-loewe all: |
From: Christine C. <chr...@us...> - 2008-09-05 08:19:48
|
Update of /cvsroot/linux-decnet/dnprogs/contrib/ph3-der-loewe/man1 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12275/contrib/ph3-der-loewe/man1 Added Files: dnetcat.1 dnetstat.1 Log Message: Add dnetcat & dnetstat contributed programs. --- NEW FILE: dnetcat.1 --- .TH "dnetcat" "1" "September 2008" "dntools" "User Commands" .SH NAME dnetcat \- opens a DECnet connection .SH SYNOPSIS dnetcat {-h|--help} dnetcat [-v] [-z] node[::|[::] ]object dnetcat [-v] [-f] -l object .SH "DESCRIPTION" \fBdnetcat\fR is a \fBnetcat\fR(1) like tool that opens a DECnet connection and copies all data between the standard input/output to/from the socket. .SH OPTIONS .SS "\-v" Be verbose. Prints useful (debug) messages. .SS "\-z" Zero IO mode. In this mode a connection is dropped directly after it is opened. This can be used to scan if the remote side listens on the given address and object. .SS "\-l" Listen mode. In this mode \fBdnetcat\fR accepts connections on the given object. .SS "\-f" Fork on new connection. This let netcat accept multiple connections in listen mode. This is ignored if \fB\-l\fR is not given. .SS "\-\-help, \-h" Prints a small help. .SH EXAMPLES This program can be used as 'ProxyCommand' for \fBssh\fR(1). You may use it via command line like this: ssh -o 'ProxyCommand dnetcat %h ssh' [...] mynode or you may use it in your \fB~/.ssh/config\fR like this: Host *:: ProxyCommand dnetcat %h ssh This will enable you to connect to any DECnet node by adding "::" at the end of the node name like this: ssh mynode:: For more information on \fBssh\fR(1) see it's manpage. .SH SEE ALSO \fBssh\fR(1), \fBnetcat\fB(1). .SH AUTHORS This program is written by Philipp "ph3-der-loewe" Schafft <li...@li...>. --- NEW FILE: dnetstat.1 --- .TH "dnetstat" "1" "September 2008" "dntools" "System Manager's Manual" .SH NAME dnetstat \- lists DECnet connections .SH SYNOPSIS dnetstat [-n] [-h|--help] .SH "DESCRIPTION" \fBdnetstat\fR is a \fBnetstat\fR(8) like tool that displays current DECnet network connections. .SH OPTIONS .SS "\-n" Show nodenames and numbered objects in as numerical addresses and don't resolve names. .SS "\-\-help, \-h" Prints a small help. .SH SEE ALSO \fBnetstat\fB(8). .SH AUTHORS This program is written by Philipp "ph3-der-loewe" Schafft <li...@li...>. |
From: Christine C. <chr...@us...> - 2008-09-05 08:17:06
|
Update of /cvsroot/linux-decnet/dnprogs/contrib/ph3-der-loewe/man1 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11110/contrib/ph3-der-loewe/man1 Log Message: Directory /cvsroot/linux-decnet/dnprogs/contrib/ph3-der-loewe/man1 added to the repository |
From: Christine C. <chr...@us...> - 2008-09-05 08:17:06
|
Update of /cvsroot/linux-decnet/dnprogs/contrib In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11110/contrib Log Message: Directory /cvsroot/linux-decnet/dnprogs/contrib added to the repository |
From: Christine C. <chr...@us...> - 2008-09-05 08:17:06
|
Update of /cvsroot/linux-decnet/dnprogs/contrib/ph3-der-loewe In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11110/contrib/ph3-der-loewe Log Message: Directory /cvsroot/linux-decnet/dnprogs/contrib/ph3-der-loewe added to the repository |
From: Christine C. <chr...@us...> - 2008-09-05 08:12:47
|
Update of /cvsroot/linux-decnet/dnprogs/nml In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv9487/nml Added Files: dnetnml.8 Log Message: Add man page for dnetnml and install it and the daemon --- NEW FILE: dnetnml.8 --- .TH DNETNML 8 "September 5 2008" "DECnet utilities" .SH NAME dnetnml \- DECnet Network Management Listener .SH SYNOPSIS .B dnetnml [options] .br Options: .br [\-dVh] .SH DESCRIPTION .PP .B dnetnml is a daemon that serves incoming management requests from remote systems, usually NCP in the case of VMS and RSX. It is recommended that the daemon be run from dnetd by adding the following line to /etc/dnetd.conf: .br NML 19 N root dnetnml .br .br Currently it only serves a subset of information requests. These are (in NCP terms): .br SHOW KNOWN NODES .br SHOW ADJACENT NODES .br SHOW EXEC CHAR .br .SH OPTIONS .TP .I "\-d" Don't fork and run the background. Use this for debugging. .TP .I "\-v" Verbose. The more of these there are the more verbose dnetnml will be. Don't use more than one for normal operation because it will seriously impair performance. .TP .I \-h \-? Displays help for using the command. .TP .I \-V Show the version of dnetnml. .SH SEE ALSO .BR dnetd "(8), " dnetd.conf "(5)" |
From: Christine C. <chr...@us...> - 2008-09-05 08:12:47
|
Update of /cvsroot/linux-decnet/dnprogs/debian In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv9487/debian Modified Files: dnet-progs.files Log Message: Add man page for dnetnml and install it and the daemon Index: dnet-progs.files =================================================================== RCS file: /cvsroot/linux-decnet/dnprogs/debian/dnet-progs.files,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -r1.9 -r1.10 *** dnet-progs.files 4 Sep 2008 16:02:22 -0000 1.9 --- dnet-progs.files 5 Sep 2008 08:12:43 -0000 1.10 *************** *** 1,4 **** - ./usr/sbin/fal ./usr/sbin/ctermd ./usr/sbin/rmtermd ./usr/sbin/vmsmaild --- 1,5 ---- ./usr/sbin/ctermd + ./usr/sbin/fal + ./usr/sbin/dnetnml ./usr/sbin/rmtermd ./usr/sbin/vmsmaild *************** *** 32,35 **** --- 33,37 ---- ./usr/share/man/man8/rmtermd.8 ./usr/share/man/man8/fal.8 + ./usr/share/man/man8/dnetnml.8 ./usr/share/man/man8/vmsmaild.8 ./usr/share/man/man8/dnroute.8 |
From: Christine C. <chr...@us...> - 2008-09-05 08:12:47
|
Update of /cvsroot/linux-decnet/dnprogs In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv9487 Modified Files: Makefile rpm.spec Log Message: Add man page for dnetnml and install it and the daemon Index: Makefile =================================================================== RCS file: /cvsroot/linux-decnet/dnprogs/Makefile,v retrieving revision 1.35 retrieving revision 1.36 diff -C2 -r1.35 -r1.36 *** Makefile 10 Apr 2008 13:31:56 -0000 1.35 --- Makefile 5 Sep 2008 08:12:43 -0000 1.36 *************** *** 11,15 **** SUBDIRS=include libdnet libdaemon libdap librms fal dndir dnsubmit dndel \ dncopy apps dntask dnlogin mail phone dnetd libvaxdata dnroute \ ! multinet dapfs scripts all: --- 11,15 ---- SUBDIRS=include libdnet libdaemon libdap librms fal dndir dnsubmit dndel \ dncopy apps dntask dnlogin mail phone dnetd libvaxdata dnroute \ ! nml multinet dapfs scripts all: Index: rpm.spec =================================================================== RCS file: /cvsroot/linux-decnet/dnprogs/rpm.spec,v retrieving revision 1.18 retrieving revision 1.19 diff -C2 -r1.18 -r1.19 *** rpm.spec 4 Sep 2008 16:02:22 -0000 1.18 --- rpm.spec 5 Sep 2008 08:12:43 -0000 1.19 *************** *** 43,46 **** --- 43,47 ---- %%PREFIX%%/sbin/dnetd %%PREFIX%%/sbin/fal + %%PREFIX%%/sbin/dnetnml %%PREFIX%%/sbin/dnroute %%PREFIX%%/sbin/dnetinfo *************** *** 68,71 **** --- 69,73 ---- %%PREFIX%%/share/man/man5/vmsmail.conf.5.gz %%PREFIX%%/share/man/man8/fal.8.gz + %%PREFIX%%/share/man/man8/dnetnml.8.gz %%PREFIX%%/share/man/man8/dnroute.8.gz %%PREFIX%%/share/man/man8/dnetinfo.8.gz |
From: Christine C. <chr...@us...> - 2008-09-04 16:02:27
|
Update of /cvsroot/linux-decnet/dnprogs/debian In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3319/debian Modified Files: dnet-progs.files Log Message: Rename copynodes to dncopynodes Index: dnet-progs.files =================================================================== RCS file: /cvsroot/linux-decnet/dnprogs/debian/dnet-progs.files,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -r1.8 -r1.9 *** dnet-progs.files 3 Sep 2008 15:24:50 -0000 1.8 --- dnet-progs.files 4 Sep 2008 16:02:22 -0000 1.9 *************** *** 9,13 **** ./usr/sbin/dnetinfo ./usr/sbin/multinet ! ./usr/sbin/copynodes ./sbin/mount.dapfs ./usr/bin/dndir --- 9,13 ---- ./usr/sbin/dnetinfo ./usr/sbin/multinet ! ./usr/sbin/dncopynodes ./sbin/mount.dapfs ./usr/bin/dndir *************** *** 36,40 **** ./usr/share/man/man8/dnetinfo.8 ./usr/share/man/man8/multinet.8 ! ./usr/share/man/man8/copynodes.8 ./usr/share/man/man8/mount.dapfs.8 ./usr/share/man/man5/vmsmail.conf.5 --- 36,40 ---- ./usr/share/man/man8/dnetinfo.8 ./usr/share/man/man8/multinet.8 ! ./usr/share/man/man8/dncopynodes.8 ./usr/share/man/man8/mount.dapfs.8 ./usr/share/man/man5/vmsmail.conf.5 |
From: Christine C. <chr...@us...> - 2008-09-04 16:02:26
|
Update of /cvsroot/linux-decnet/dnprogs/apps In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3319/apps Modified Files: Makefile Added Files: dncopynodes.8 Removed Files: copynodes.8 Log Message: Rename copynodes to dncopynodes --- NEW FILE: dncopynodes.8 --- .TH DNCOPYNODES 8 "September 03 2008" "DECnet utilities" .SH NAME dncopynodes \- copy a list of nodes from a remote DEC system .SH SYNOPSIS .B dncopynodes <nodename> .br .SH DESCRIPTION .PP .br This program will generate a decnet.conf file by contacting a remote DECnet host (running VMS or RSX-11 probably) and doing the equivalent of "NCP COPY KNOWN NODES". The resulting file can be copied over the existing decnet.conf file if you like. .br You do need a fully-functioning DECnet system before using this command but you don't need any nodes other than the executor defined in decnet.conf. .B dncopynodes will copy the executor information already there into the new file. .br The program copies its output to standard output. It is strongly recommended that you review it before replacing an existing /etc/decnet.conf file. .br The node name can also be a node address if you don't have any nodes defined in your existing decnet.conf. .br DO NOT attempt to redirect the output of .B dncopynodes directly into /etc/decnet.conf. It will fail and destroy your existing configuration file! Send it to a temporary file and then copy it (see EXAMPLES) .SH EXAMPLE # dncopynodes 3.34 > /tmp/decnet.conf .br # mv /tmp/decnet.conf /etc .SH SEE ALSO .BR decnet.conf "(5), " setether "(8)" Index: Makefile =================================================================== RCS file: /cvsroot/linux-decnet/dnprogs/apps/Makefile,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -r1.14 -r1.15 *** Makefile 3 Sep 2008 15:24:50 -0000 1.14 --- Makefile 4 Sep 2008 16:02:22 -0000 1.15 *************** *** 21,28 **** PROG5 = ctermd PROG7 = rmtermd ! PROG8 = copynodes MANPAGES1 = sethost.1 dnping.1 MANPAGES5 = decnet.conf.5 ! MANPAGES8 = ctermd.8 rmtermd.8 setether.8 copynodes.8 ALLPROGS=$(PROG1) $(PROG2) $(PROG4) $(PROG5) $(PROG7) $(PROG8) --- 21,28 ---- PROG5 = ctermd PROG7 = rmtermd ! PROG8 = dncopynodes MANPAGES1 = sethost.1 dnping.1 MANPAGES5 = decnet.conf.5 ! MANPAGES8 = ctermd.8 rmtermd.8 setether.8 dncopynodes.8 ALLPROGS=$(PROG1) $(PROG2) $(PROG4) $(PROG5) $(PROG7) $(PROG8) --- copynodes.8 DELETED --- |
From: Christine C. <chr...@us...> - 2008-09-04 16:02:25
|
Update of /cvsroot/linux-decnet/dnprogs In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3319 Modified Files: rpm.spec Log Message: Rename copynodes to dncopynodes Index: rpm.spec =================================================================== RCS file: /cvsroot/linux-decnet/dnprogs/rpm.spec,v retrieving revision 1.17 retrieving revision 1.18 diff -C2 -r1.17 -r1.18 *** rpm.spec 3 Sep 2008 15:24:50 -0000 1.17 --- rpm.spec 4 Sep 2008 16:02:22 -0000 1.18 *************** *** 50,54 **** %%PREFIX%%/sbin/vmsmaild %%PREFIX%%/sbin/multinet ! %%PREFIX%%/sbin/copynodes %%CONFPREFIX%%/sbin/mount.dapfs %%PREFIX%%/share/man/man1/dncopy.1.gz --- 50,54 ---- %%PREFIX%%/sbin/vmsmaild %%PREFIX%%/sbin/multinet ! %%PREFIX%%/sbin/dncopynodes %%CONFPREFIX%%/sbin/mount.dapfs %%PREFIX%%/share/man/man1/dncopy.1.gz *************** *** 79,83 **** %%PREFIX%%/share/man/man8/decnetconf.8.gz %%PREFIX%%/share/man/man8/multinet.8.gz ! %%PREFIX%%/share/man/man8/copynodes.8.gz %%PREFIX%%/share/man/man8/mount.dapfs.8.gz /etc/rc.d/init.d/decnet --- 79,83 ---- %%PREFIX%%/share/man/man8/decnetconf.8.gz %%PREFIX%%/share/man/man8/multinet.8.gz ! %%PREFIX%%/share/man/man8/dncopynodes.8.gz %%PREFIX%%/share/man/man8/mount.dapfs.8.gz /etc/rc.d/init.d/decnet |
From: Christine C. <chr...@us...> - 2008-09-04 15:58:14
|
Update of /cvsroot/linux-decnet/dnprogs/apps In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1251/apps Modified Files: copynodes.8 Log Message: Warn users not to send copynodes output straight to /etc/decnet.conf. Index: copynodes.8 =================================================================== RCS file: /cvsroot/linux-decnet/dnprogs/apps/copynodes.8,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -r1.3 -r1.4 *** copynodes.8 3 Sep 2008 15:43:32 -0000 1.3 --- copynodes.8 4 Sep 2008 15:58:09 -0000 1.4 *************** *** 17,21 **** You do need a fully-functioning DECnet system before using this command but you don't need any nodes other than the executor defined in ! decnet.conf. copynodes will copy the executor information already there into the new file. .br --- 17,23 ---- You do need a fully-functioning DECnet system before using this command but you don't need any nodes other than the executor defined in ! decnet.conf. ! .B copynodes ! will copy the executor information already there into the new file. .br *************** *** 25,30 **** The node name can also be a node address if you don't have any nodes defined in your existing decnet.conf. .SH EXAMPLE ! # copynodes 3.34 > /etc/decnet.conf .SH SEE ALSO .BR decnet.conf "(5), " setether "(8)" --- 27,39 ---- The node name can also be a node address if you don't have any nodes defined in your existing decnet.conf. + .br + DO NOT attempt to redirect the output of + .B copynodes + directly into /etc/decnet.conf. It will fail and destroy your existing + configuration file! Send it to a temporary file and then copy it (see EXAMPLES) .SH EXAMPLE ! # copynodes 3.34 > /tmp/decnet.conf ! .br ! # mv /tmp/decnet.conf /etc .SH SEE ALSO .BR decnet.conf "(5), " setether "(8)" |
From: Christine C. <chr...@us...> - 2008-09-04 15:50:17
|
Update of /cvsroot/linux-decnet/dnprogs/apps In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30713/apps Modified Files: copynodes.c Log Message: Cope with large exec node addresses. Index: copynodes.c =================================================================== RCS file: /cvsroot/linux-decnet/dnprogs/apps/copynodes.c,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -r1.5 -r1.6 *** copynodes.c 4 Sep 2008 15:47:19 -0000 1.5 --- copynodes.c 4 Sep 2008 15:50:14 -0000 1.6 *************** *** 95,99 **** // Print exec line printf("executor\t%d.%d\t\tname\t\t%s\tline\t%s\n", ! nodeaddr >> 10, nodeaddr & 0x1FF, exec_node->n_name, exec_dev); /* Connect to network Management Listener */ --- 95,99 ---- // Print exec line printf("executor\t%d.%d\t\tname\t\t%s\tline\t%s\n", ! nodeaddr >> 10, nodeaddr & 0x3FF, exec_node->n_name, exec_dev); /* Connect to network Management Listener */ |
From: Christine C. <chr...@us...> - 2008-09-04 15:47:52
|
Update of /cvsroot/linux-decnet/dnprogs/apps In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29306/apps Modified Files: copynodes.c Log Message: Don't crash if we can't resolve the node name. and dont print out the header either. Index: copynodes.c =================================================================== RCS file: /cvsroot/linux-decnet/dnprogs/apps/copynodes.c,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -r1.4 -r1.5 *** copynodes.c 4 Sep 2008 13:03:19 -0000 1.4 --- copynodes.c 4 Sep 2008 15:47:19 -0000 1.5 *************** *** 57,73 **** exec_node = getnodebyaddr((char*)exec_addr->a_addr, 2, AF_DECnet); - // Print header - printf("\ - #\n\ - # DECnet hosts file\n\ - #\n\ - #Node Node Name Node Line Line\n\ - #Type Address Tag Name Tag Device\n\ - #----- ------- ----- ----- ----- ------\n"); - - // Print exec line - printf("executor\t%d.%d\t\tname\t\t%s\tline\t%s\n", - nodeaddr >> 10, nodeaddr & 0x1FF, exec_node->n_name, exec_dev); - memset(&accessdata, 0, sizeof(accessdata)); memset(&sockaddr, 0, sizeof(sockaddr)); --- 57,60 ---- *************** *** 85,88 **** --- 72,80 ---- np = getnodebyname(nodename); + if (!np) + { + fprintf(stderr, "Cannot find node name '%s'\n", nodename); + return -1; + } if ((sockfd=socket(AF_DECnet, SOCK_SEQPACKET, DNPROTO_NSP)) == -1) *************** *** 91,94 **** --- 83,100 ---- } + + // Print header + printf("\ + #\n\ + # DECnet hosts file\n\ + #\n\ + #Node Node Name Node Line Line\n\ + #Type Address Tag Name Tag Device\n\ + #----- ------- ----- ----- ----- ------\n"); + + // Print exec line + printf("executor\t%d.%d\t\tname\t\t%s\tline\t%s\n", + nodeaddr >> 10, nodeaddr & 0x1FF, exec_node->n_name, exec_dev); + /* Connect to network Management Listener */ sockaddr.sdn_family = AF_DECnet; |
From: Christine C. <chr...@us...> - 2008-09-04 15:46:11
|
Update of /cvsroot/linux-decnet/dnprogs/dnetd In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27671/dnetd Modified Files: dnetd.conf Log Message: Add NML to dnetd.conf Change some initials. Index: dnetd.conf =================================================================== RCS file: /cvsroot/linux-decnet/dnprogs/dnetd/dnetd.conf,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -r1.1.1.1 -r1.2 *** dnetd.conf 26 Apr 2000 08:22:04 -0000 1.1.1.1 --- dnetd.conf 4 Sep 2008 15:43:09 -0000 1.2 *************** *** 17,20 **** --- 17,21 ---- CTERM 42 N root ctermd DTERM 23 N root rmtermd + NML 19 N root dnetnml * 0 Y none internal |
From: Christine C. <chr...@us...> - 2008-09-04 15:46:11
|
Update of /cvsroot/linux-decnet/dnprogs/fal In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27671/fal Modified Files: directory.cc server.cc Log Message: Add NML to dnetd.conf Change some initials. Index: directory.cc =================================================================== RCS file: /cvsroot/linux-decnet/dnprogs/fal/directory.cc,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -r1.8 -r1.9 *** directory.cc 20 Aug 2008 12:43:59 -0000 1.8 --- directory.cc 4 Sep 2008 15:43:09 -0000 1.9 *************** *** 267,271 **** // There may need to be more here as odd characters to seem to upset VMS // greatly. ! // PJC: TODO - move this back into task.cc so we can do more generic // conversions of "illegal" filenames for (i=0; i< strlen(vmsname); i++) --- 267,271 ---- // There may need to be more here as odd characters to seem to upset VMS // greatly. ! // CC: TODO - move this back into task.cc so we can do more generic // conversions of "illegal" filenames for (i=0; i< strlen(vmsname); i++) Index: server.cc =================================================================== RCS file: /cvsroot/linux-decnet/dnprogs/fal/server.cc,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -r1.6 -r1.7 *** server.cc 20 Aug 2008 12:43:59 -0000 1.6 --- server.cc 4 Sep 2008 15:43:09 -0000 1.7 *************** *** 245,249 **** DAPLOG((LOG_DEBUG, "Remote OS is %d\n", params.remote_os)); ! // PJC Warning, dodgy logic! params.can_do_stmlf = true; if (params.remote_os == dap_config_message::OS_RSX11M || --- 245,249 ---- DAPLOG((LOG_DEBUG, "Remote OS is %d\n", params.remote_os)); ! // CC Warning, dodgy logic! params.can_do_stmlf = true; if (params.remote_os == dap_config_message::OS_RSX11M || |
From: Christine C. <chr...@us...> - 2008-09-04 15:46:11
|
Update of /cvsroot/linux-decnet/dnprogs/dncopy In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27671/dncopy Modified Files: dnetfile_dap.cc file.h Log Message: Add NML to dnetd.conf Change some initials. Index: dnetfile_dap.cc =================================================================== RCS file: /cvsroot/linux-decnet/dnprogs/dncopy/dnetfile_dap.cc,v retrieving revision 1.15 retrieving revision 1.16 diff -C2 -r1.15 -r1.16 *** dnetfile_dap.cc 20 Aug 2008 12:43:58 -0000 1.15 --- dnetfile_dap.cc 4 Sep 2008 15:43:09 -0000 1.16 *************** *** 282,286 **** if (m->get_type() == dap_message::ACK) { ! return 0; //PJC Why need this ?? } --- 282,286 ---- if (m->get_type() == dap_message::ACK) { ! return 0; //CC Why need this ?? } Index: file.h =================================================================== RCS file: /cvsroot/linux-decnet/dnprogs/dncopy/file.h,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -r1.5 -r1.6 *** file.h 7 Dec 2007 11:05:02 -0000 1.5 --- file.h 4 Sep 2008 15:43:09 -0000 1.6 *************** *** 1,5 **** // Generic class for a file. ! #ifndef _PJC_FILE_H ! #define _PJC_FILE_H #ifndef TRUE --- 1,5 ---- // Generic class for a file. ! #ifndef _CC_FILE_H ! #define _CC_FILE_H #ifndef TRUE |
From: Christine C. <chr...@us...> - 2008-09-04 15:25:42
|
Update of /cvsroot/linux-decnet/dnprogs/nml In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20757 Modified Files: main.c nml.c Log Message: A little tidying Index: main.c =================================================================== RCS file: /cvsroot/linux-decnet/dnprogs/nml/main.c,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -r1.2 -r1.3 *** main.c 4 Sep 2008 15:15:00 -0000 1.2 --- main.c 4 Sep 2008 15:25:38 -0000 1.3 *************** *** 61,69 **** opterr = 0; optind = 0; ! while ((opt=getopt(argc,argv,"?vVdhu:Ufl:")) != EOF) { ! switch(opt) { ! case 'h': usage(argv[0], stdout); exit(0); --- 61,69 ---- opterr = 0; optind = 0; ! while ((opt=getopt(argc,argv,"?vVdh")) != EOF) { ! switch(opt) { ! case 'h': usage(argv[0], stdout); exit(0); *************** *** 96,101 **** if (insock > -1) { ! unsigned char ver[] = {4,0, 0}; dnet_accept(insock, 0, ver, sizeof(ver)); process_request(insock, verbosity); } --- 96,103 ---- if (insock > -1) { ! /* This sets NML version 4.0, which RSX-11 likes to see */ ! char ver[] = {4, 0, 0}; dnet_accept(insock, 0, ver, sizeof(ver)); + process_request(insock, verbosity); } Index: nml.c =================================================================== RCS file: /cvsroot/linux-decnet/dnprogs/nml/nml.c,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -r1.2 -r1.3 *** nml.c 4 Sep 2008 14:34:20 -0000 1.2 --- nml.c 4 Sep 2008 15:25:38 -0000 1.3 *************** *** 252,256 **** // entity: 0=node, 1=line, 2=logging, 3=circuit, 4=module 5=area ! dnetlog(LOG_DEBUG, "CC: option=%d. entity=%d\n", option, entity); switch (option) --- 252,256 ---- // entity: 0=node, 1=line, 2=logging, 3=circuit, 4=module 5=area ! dnetlog(LOG_DEBUG, "option=%d. entity=%d\n", option, entity); switch (option) |
From: Christine C. <chr...@us...> - 2008-09-04 15:15:05
|
Update of /cvsroot/linux-decnet/dnprogs/nml In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16330 Modified Files: main.c Log Message: Make it talk to RSX Index: main.c =================================================================== RCS file: /cvsroot/linux-decnet/dnprogs/nml/main.c,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** main.c 4 Sep 2008 12:37:22 -0000 1.1 --- main.c 4 Sep 2008 15:15:00 -0000 1.2 *************** *** 96,100 **** if (insock > -1) { ! dnet_accept(insock, 0, NULL, 0); process_request(insock, verbosity); } --- 96,101 ---- if (insock > -1) { ! unsigned char ver[] = {4,0, 0}; ! dnet_accept(insock, 0, ver, sizeof(ver)); process_request(insock, verbosity); } |
From: Christine C. <chr...@us...> - 2008-09-04 14:34:24
|
Update of /cvsroot/linux-decnet/dnprogs/nml In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv32569 Modified Files: Makefile nml.c Log Message: More work Index: Makefile =================================================================== RCS file: /cvsroot/linux-decnet/dnprogs/nml/Makefile,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** Makefile 4 Sep 2008 12:37:22 -0000 1.1 --- Makefile 4 Sep 2008 14:34:20 -0000 1.2 *************** *** 34,38 **** clean: rm -f $(PROG1) *.o *.bak .depend - make -C $(UUDIR) clean --- 34,37 ---- Index: nml.c =================================================================== RCS file: /cvsroot/linux-decnet/dnprogs/nml/nml.c,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** nml.c 4 Sep 2008 12:37:22 -0000 1.1 --- nml.c 4 Sep 2008 14:34:20 -0000 1.2 *************** *** 21,28 **** --- 21,30 ---- #include <syslog.h> #include <errno.h> + #include <ctype.h> #include <unistd.h> #include <sys/ioctl.h> #include <sys/types.h> #include <sys/socket.h> + #include <sys/utsname.h> #include <net/if.h> #include <netinet/in.h> *************** *** 36,39 **** --- 38,50 ---- #endif + #define IDENT_STRING "DECnet for Linux" + + #define NODESTATE_UNKNOWN -1 + #define NODESTATE_ON 0 + #define NODESTATE_OFF 1 + #define NODESTATE_SHUT 2 + #define NODESTATE_RESTRICTED 3 + #define NODESTATE_REACHABLE 4 + #define NODESTATE_UNREACHABLE 5 static struct rtnl_handle talk_rth; *************** *** 41,44 **** --- 52,62 ---- static int first_time = 1; + static void makeupper(char *s) + { + int i; + for (i=0; i<strlen(s); i++) s[i] = toupper(s[i]); + } + + static char *if_index_to_name(int ifindex) { *************** *** 63,71 **** } ! static int send_node(int sock, struct nodeent *n, int exec, char *device) { ! char buf[256]; int ptr = 0; buf[ptr++] = 1; // Here is your data miss buf[ptr++] = 0; --- 81,90 ---- } ! static int send_node(int sock, struct nodeent *n, int exec, char *device, int state) { ! char buf[1024]; int ptr = 0; + makeupper(n->n_name); buf[ptr++] = 1; // Here is your data miss buf[ptr++] = 0; *************** *** 77,85 **** memcpy(&buf[ptr], n->n_name, strlen(n->n_name)); ptr += strlen(n->n_name); ! /* device */ if (device) { ! buf[ptr++] = '6'; // TODO get real value! ! buf[ptr++] = 3; // CIRCUIT ! buf[ptr++] = 64; buf[ptr++] = strlen(device); strcpy(&buf[ptr], device); --- 96,105 ---- memcpy(&buf[ptr], n->n_name, strlen(n->n_name)); ptr += strlen(n->n_name); ! ! /* Device */ if (device) { ! buf[ptr++] = 0x36; // ! buf[ptr++] = 0x3; // CIRCUIT ! buf[ptr++] = 0x40; // ASCII text buf[ptr++] = strlen(device); strcpy(&buf[ptr], device); *************** *** 87,90 **** --- 107,131 ---- } + /* Node State */ + if (state != NODESTATE_UNKNOWN) { + buf[ptr++] = 0; // Node state + buf[ptr++] = 0; + buf[ptr++] = 0x81; // Data type of 'state' + buf[ptr++] = state; + } + if (exec) { + struct utsname un; + char ident[256]; + + uname(&un); + sprintf(ident, "%s V%s", IDENT_STRING, un.release); + + buf[ptr++] = 0x64; + buf[ptr++] = 0; // Node identification + buf[ptr++] = 0x40; // ASCII text + buf[ptr++] = strlen(ident); + strcpy(&buf[ptr], ident); + ptr += strlen(ident); + } return write(sock, buf, ptr); } *************** *** 106,110 **** dev = getexecdev(); ! return send_node(sock, exec_node, 1, dev); } --- 147,151 ---- dev = getexecdev(); ! return send_node(sock, exec_node, 1, dev, NODESTATE_ON); } *************** *** 116,120 **** int sock = (int)arg; - dnetlog(LOG_DEBUG, "got_neigh\n"); memset(tb, 0, sizeof(tb)); parse_rtattr(tb, NDA_MAX, NDA_RTA(r), n->nlmsg_len - NLMSG_LENGTH(sizeof(*r))); --- 157,160 ---- *************** *** 128,142 **** int node = faddr & 0x3ff; int area = faddr >> 10; ! struct nodeent *ne = getnodebyaddr((char *)&faddr, 2, AF_DECnet); ! struct nodeent tne; if (ne) { ! send_node(sock, ne, 0, if_index_to_name(interface)); } else { ! tne.n_name=""; tne.n_addr[0] = addr[0]; tne.n_addr[1] = addr[1]; ! send_node(sock, &tne, 0, if_index_to_name(interface)); } } --- 168,185 ---- int node = faddr & 0x3ff; int area = faddr >> 10; ! struct nodeent *ne = getnodebyaddr((char *)addr, 2, AF_DECnet); if (ne) { ! send_node(sock, ne, 0, if_index_to_name(interface), NODESTATE_REACHABLE); } else { ! struct nodeent tne; ! unsigned char tne_addr[2]; ! ! tne.n_name = ""; ! tne.n_addr = tne_addr; tne.n_addr[0] = addr[0]; tne.n_addr[1] = addr[1]; ! send_node(sock, &tne, 0, if_index_to_name(interface), NODESTATE_REACHABLE); } } *************** *** 144,147 **** --- 187,191 ---- } + /* SHOW ADJACENT NODES */ static int send_neighbour_nodes(int sock) { *************** *** 155,160 **** } - send_exec(sock); - /* Get the list of adjacent nodes */ if (rtnl_wilddump_request(&listen_rth, AF_DECnet, RTM_GETNEIGH) < 0) { --- 199,202 ---- *************** *** 172,175 **** --- 214,218 ---- } + /* SHOW/LIST KNOWN NODES */ static int send_perm_nodes(int sock) { *************** *** 185,189 **** { struct nodeent *n = getnodebyname(nodename); ! send_node(sock, n, 0); nodename = dnet_nextnode(nodelist); } --- 228,232 ---- { struct nodeent *n = getnodebyname(nodename); ! send_node(sock, n, 0, NULL, NODESTATE_UNKNOWN); nodename = dnet_nextnode(nodelist); } *************** *** 209,222 **** // entity: 0=node, 1=line, 2=logging, 3=circuit, 4=module 5=area ! fprintf(stderr, "CC: option=%d. entity=%d\n", option, entity); - // Send the permanent node information ... switch (option) { ! case 0: // nodes if (entity == 0xff) send_perm_nodes(sock); if (entity == 0xfc) send_neighbour_nodes(sock); break; default: --- 252,268 ---- // entity: 0=node, 1=line, 2=logging, 3=circuit, 4=module 5=area ! dnetlog(LOG_DEBUG, "CC: option=%d. entity=%d\n", option, entity); switch (option) { ! case 0: // nodes summary ! case 16: // nodes char ! case 32: // nodes state if (entity == 0xff) send_perm_nodes(sock); if (entity == 0xfc) send_neighbour_nodes(sock); + if (entity == 0x00) + send_exec(sock); // TODO not quite right. break; default: *************** *** 240,244 **** strcpy(&buf[3], "Unrecognised command"); ! write(sock, buf, strlen(&buf[3])+4); } --- 286,290 ---- strcpy(&buf[3], "Unrecognised command"); ! write(sock, buf, strlen(&buf[3])+3); } |
From: Christine C. <chr...@us...> - 2008-09-04 13:03:22
|
Update of /cvsroot/linux-decnet/dnprogs/apps In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28571 Modified Files: copynodes.c Log Message: Don't truncate large node numbers Index: copynodes.c =================================================================== RCS file: /cvsroot/linux-decnet/dnprogs/apps/copynodes.c,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -r1.3 -r1.4 *** copynodes.c 4 Sep 2008 08:12:00 -0000 1.3 --- copynodes.c 4 Sep 2008 13:03:19 -0000 1.4 *************** *** 134,143 **** nodeaddr |= exec_area << 10; ! namelen = reply[6] & 0x7f; // Top bit indicates EXEC ? memcpy(node, reply+7, namelen); node[namelen] = 0; makelower(node); ! printf("node\t\t%d.%d\t\tname\t\t%s\n", nodeaddr >> 10, nodeaddr & 0x1FF, node); // More info here but we don't need it for now. break; --- 134,143 ---- nodeaddr |= exec_area << 10; ! namelen = reply[6] & 0x7f; // Top bit indicates EXEC memcpy(node, reply+7, namelen); node[namelen] = 0; makelower(node); ! printf("node\t\t%d.%d\t\tname\t\t%s\n", nodeaddr >> 10, nodeaddr & 0x3FF, node); // More info here but we don't need it for now. break; |
From: Christine C. <chr...@us...> - 2008-09-04 12:37:25
|
Update of /cvsroot/linux-decnet/dnprogs/nml In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17902 Added Files: Makefile main.c nml.c Log Message: Make a start on NML --- NEW FILE: Makefile --- # Makefile for NML include ../Makefile.common PROG1=dnetnml MANPAGES8=dnetnml.8 PROG1OBJS=main.o nml.o CDEFS+=-DPROTOTYPES CFLAGS+=-I ../dnroute/netlink/include all: $(PROG1) .c.o: $(CC) $(CFLAGS) $(SYSCONF_PREFIX) -c -o $@ $< $(PROG1): $(PROG1OBJS) $(DEPLIBDNET) $(DEPLIBDAEMON) $(UULIB) $(CC) $(CFLAGS) -o $@ $(PROG1OBJS) $(LIBDNET) $(LIBUU) $(LIBDAEMON) -L ../dnroute/netlink -lnetlink install: install -d $(prefix)/bin install -d $(manprefix)/man/man5 install -d $(manprefix)/man/man8 install -m 0755 $(STRIPBIN) $(PROG1) $(prefix)/sbin install -m 0644 $(MANPAGES8) $(manprefix)/man/man8 dep depend: $(CC) $(CFLAGS) -MM *.c >.depend 2>/dev/null clean: rm -f $(PROG1) *.o *.bak .depend make -C $(UUDIR) clean ifeq (.depend,$(wildcard .depend)) include .depend endif --- NEW FILE: main.c --- /****************************************************************************** (c) 2008 Christine Caulfield chr...@go... This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. ****************************************************************************** */ #include <stdio.h> #include <stdlib.h> #include <syslog.h> #include <signal.h> #include <string.h> #include <syslog.h> #include <errno.h> #include <unistd.h> #include <regex.h> #include <pwd.h> #include <sys/socket.h> #include <netdnet/dn.h> #include <netdnet/dnetdb.h> #include <sys/ioctl.h> #include <sys/types.h> #include <sys/wait.h> extern int process_request(int sock, int verbosity); // Global variables. int verbosity = 0; void usage(char *prog, FILE *f) { fprintf(f,"\n%s options:\n", prog); fprintf(f," -v Verbose messages\n"); fprintf(f," -h Show this help text\n"); fprintf(f," -d Show debug logging\n"); fprintf(f," -V Show version number\n\n"); } int main(int argc, char *argv[]) { pid_t pid; char opt; struct sockaddr_dn sockaddr; struct optdata_dn optdata; int insock; int debug; int len = sizeof(sockaddr); int check_user=1; // Deal with command-line arguments. Do these before the check for root // so we can check the version number and get help without being root. opterr = 0; optind = 0; while ((opt=getopt(argc,argv,"?vVdhu:Ufl:")) != EOF) { switch(opt) { case 'h': usage(argv[0], stdout); exit(0); case '?': usage(argv[0], stderr); exit(0); case 'v': verbosity++; break; case 'd': debug++; break; case 'V': printf("\nnml from dnprogs version %s\n\n", VERSION); exit(1); break; } } // Initialise logging init_daemon_logging("nml", debug?'e':'s'); // Wait for something to happen (or check to see if it already has) insock = dnet_daemon(DNOBJECT_NICE, NULL, verbosity, !debug); if (insock > -1) { dnet_accept(insock, 0, NULL, 0); process_request(insock, verbosity); } return 0; } --- NEW FILE: nml.c --- /****************************************************************************** (c) 2008 Christine Caulfield chr...@go... This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. ****************************************************************************** */ #include <stdio.h> #include <stdlib.h> #include <syslog.h> #include <string.h> #include <unistd.h> #include <syslog.h> #include <errno.h> #include <unistd.h> #include <sys/ioctl.h> #include <sys/types.h> #include <sys/socket.h> #include <net/if.h> #include <netinet/in.h> #include <netdnet/dn.h> #include <netdnet/dnetdb.h> #include "libnetlink.h" /* Sigh - people keep removing features ... */ #ifndef NDA_RTA #define NDA_RTA(r) ((struct rtattr*)(((char*)(r)) + NLMSG_ALIGN(sizeof(struct ndmsg)))) #endif static struct rtnl_handle talk_rth; static struct rtnl_handle listen_rth; static int first_time = 1; static char *if_index_to_name(int ifindex) { struct ifreq ifr; static char buf[64]; int sock = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP); ifr.ifr_ifindex = ifindex; if (ioctl(sock, SIOCGIFNAME, &ifr) == 0) { strcpy(buf, ifr.ifr_name); } else { sprintf(buf, "if%d", ifindex); } close(sock); return buf; } static int send_node(int sock, struct nodeent *n, int exec, char *device) { char buf[256]; int ptr = 0; buf[ptr++] = 1; // Here is your data miss buf[ptr++] = 0; buf[ptr++] = 0; // Status buf[ptr++] = 0; // Node information buf[ptr++] = n->n_addr[0]; buf[ptr++] = n->n_addr[1]; buf[ptr++] = strlen(n->n_name) | (exec?0x80:0); memcpy(&buf[ptr], n->n_name, strlen(n->n_name)); ptr += strlen(n->n_name); /* device */ if (device) { buf[ptr++] = '6'; // TODO get real value! buf[ptr++] = 3; // CIRCUIT buf[ptr++] = 64; buf[ptr++] = strlen(device); strcpy(&buf[ptr], device); ptr += strlen(device); } return write(sock, buf, ptr); } static int send_exec(int sock) { struct dn_naddr *exec_addr; struct nodeent *exec_node; unsigned int exec_area; unsigned int nodeaddr; char *dev; /* Get and send the exec information */ exec_addr = getnodeadd(); exec_area = exec_addr->a_addr[1]>>2; nodeaddr = exec_addr->a_addr[0] | exec_addr->a_addr[1]<<8; exec_node = getnodebyaddr((char*)exec_addr->a_addr, 2, AF_DECnet); dev = getexecdev(); return send_node(sock, exec_node, 1, dev); } /* Called for each neighbour node in the list */ static int got_neigh(struct sockaddr_nl *who, struct nlmsghdr *n, void *arg) { struct ndmsg *r = NLMSG_DATA(n); struct rtattr * tb[NDA_MAX+1]; int sock = (int)arg; dnetlog(LOG_DEBUG, "got_neigh\n"); memset(tb, 0, sizeof(tb)); parse_rtattr(tb, NDA_MAX, NDA_RTA(r), n->nlmsg_len - NLMSG_LENGTH(sizeof(*r))); if (tb[NDA_DST]) { unsigned char *addr = RTA_DATA(tb[NDA_DST]); unsigned short faddr = addr[0] | (addr[1]<<8); struct nodeinfo *n, *n1; int interface = r->ndm_ifindex; int node = faddr & 0x3ff; int area = faddr >> 10; struct nodeent *ne = getnodebyaddr((char *)&faddr, 2, AF_DECnet); struct nodeent tne; if (ne) { send_node(sock, ne, 0, if_index_to_name(interface)); } else { tne.n_name=""; tne.n_addr[0] = addr[0]; tne.n_addr[1] = addr[1]; send_node(sock, &tne, 0, if_index_to_name(interface)); } } return 0; } static int send_neighbour_nodes(int sock) { if (first_time) { if (rtnl_open(&talk_rth, 0) < 0) return -1; if (rtnl_open(&listen_rth, 0) < 0) return -1; first_time = 0; } send_exec(sock); /* Get the list of adjacent nodes */ if (rtnl_wilddump_request(&listen_rth, AF_DECnet, RTM_GETNEIGH) < 0) { syslog(LOG_ERR, "Cannot send dump request: %m"); return -1; } /* Calls got_neigh() for each adjacent node */ if (rtnl_dump_filter(&listen_rth, got_neigh, (void *)sock, NULL, NULL) < 0) { syslog(LOG_ERR, "Dump terminated: %m\n"); return -1; } dnetlog(LOG_DEBUG, "end of send_neighbour_nodes\n"); return 0; } static int send_perm_nodes(int sock) { void *nodelist; char *nodename; send_exec(sock); /* Now iterate the permanent database */ nodelist = dnet_getnode(); nodename = dnet_nextnode(nodelist); while (nodename) { struct nodeent *n = getnodebyname(nodename); send_node(sock, n, 0); nodename = dnet_nextnode(nodelist); } dnet_endnode(nodelist); return 0; } static int read_information(int sock, unsigned char *buf, int length) { unsigned char option = buf[1]; unsigned char entity = buf[2]; char response = 2; // Tell remote end we are sending the data. write(sock, &response, 1); // Parameter entries from [3] onwards. // option & 0x80: 1=perm DB, 0=volatile DB // option & 0x78: type 0=summary, 1=status, 2=char, 3=counters, 4=events // option & 0x07: entity type // entity: 0=node, 1=line, 2=logging, 3=circuit, 4=module 5=area fprintf(stderr, "CC: option=%d. entity=%d\n", option, entity); // Send the permanent node information ... switch (option) { case 0: // nodes if (entity == 0xff) send_perm_nodes(sock); if (entity == 0xfc) send_neighbour_nodes(sock); break; default: break; } // End of data. response = -128; write(sock, &response, 1); return 0; } static void unsupported(int sock) { char buf[256]; buf[0] = -1; buf[1] = 0; buf[2] = 0; // TODO This text should be of the defined type... strcpy(&buf[3], "Unrecognised command"); write(sock, buf, strlen(&buf[3])+4); } int process_request(int sock, int verbosity) { unsigned char buf[4096]; int status; do { status = read(sock, buf, sizeof(buf)); if (status == -1 || status == 0) break; if (verbosity > 1) { int i; dnetlog(LOG_DEBUG, "Received message %d bytes: \n", status); for (i=0; i<status; i++) dnetlog(LOG_DEBUG, "%02x ", buf[i]); dnetlog(LOG_DEBUG, "\n"); } switch (buf[0]) { case 15:// Request down-line load unsupported(sock); break; case 16:// Request up-line dump unsupported(sock); break; case 17:// Trigger bootstrap unsupported(sock); break; case 18:// Test unsupported(sock); break; case 19:// Change parameter unsupported(sock); break; case 20:// Read information read_information(sock, buf, status); break; case 21:// Zero counters unsupported(sock); break; case 22:// System-specific function unsupported(sock); break; default: unsupported(sock); // Send error } } while (status > 0); return 0; } |
From: Christine C. <chr...@us...> - 2008-09-04 12:36:59
|
Update of /cvsroot/linux-decnet/dnprogs/nml In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17530/nml Log Message: Directory /cvsroot/linux-decnet/dnprogs/nml added to the repository |
From: Christine C. <chr...@us...> - 2008-09-04 08:12:03
|
Update of /cvsroot/linux-decnet/dnprogs/apps In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv8814 Modified Files: copynodes.c Log Message: Use defined object name in dnetdb.h Index: copynodes.c =================================================================== RCS file: /cvsroot/linux-decnet/dnprogs/apps/copynodes.c,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -r1.2 -r1.3 *** copynodes.c 3 Sep 2008 15:07:21 -0000 1.2 --- copynodes.c 4 Sep 2008 08:12:00 -0000 1.3 *************** *** 91,98 **** } ! /* Open up object number 0 with the name of the task */ sockaddr.sdn_family = AF_DECnet; ! sockaddr.sdn_flags = 0x00; ! sockaddr.sdn_objnum = 19; // NML_OBJECT sockaddr.sdn_objnamel = 0; memcpy(sockaddr.sdn_add.a_addr, np->n_addr,2); --- 91,98 ---- } ! /* Connect to network Management Listener */ sockaddr.sdn_family = AF_DECnet; ! sockaddr.sdn_flags = 0x00; ! sockaddr.sdn_objnum = DNOBJECT_NICE; sockaddr.sdn_objnamel = 0; memcpy(sockaddr.sdn_add.a_addr, np->n_addr,2); |
From: Christine C. <chr...@us...> - 2008-09-03 15:45:19
|
Update of /cvsroot/linux-decnet/dnprogs/apps In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv932 Modified Files: .cvsignore Log Message: Add copynodes Index: .cvsignore =================================================================== RCS file: /cvsroot/linux-decnet/dnprogs/apps/.cvsignore,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** .cvsignore 11 Jul 2000 16:19:20 -0000 1.1 --- .cvsignore 3 Sep 2008 15:45:16 -0000 1.2 *************** *** 10,11 **** --- 10,12 ---- dnmount startnet + copynodes |