linux-decnet-commit Mailing List for DECnet for Linux (Page 35)
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: Patrick C. <pa...@us...> - 2002-09-10 12:21:29
|
Update of /cvsroot/linux-decnet/latd In directory usw-pr-cvs1:/tmp/cvs-serv17269 Modified Files: llogin.cc Log Message: Add option to ignore locking on local ports. Index: llogin.cc =================================================================== RCS file: /cvsroot/linux-decnet/latd/llogin.cc,v retrieving revision 1.16 retrieving revision 1.17 diff -C2 -r1.16 -r1.17 *** llogin.cc 14 Aug 2002 09:02:20 -0000 1.16 --- llogin.cc 10 Sep 2002 12:21:26 -0000 1.17 *************** *** 62,66 **** static bool open_socket(bool); static int terminal(int latfd, int, int, int, int); ! static int do_use_port(char *service, int quit_char, int crlf, int bsdel, int lfvt); static int usage(char *cmd) { --- 62,67 ---- static bool open_socket(bool); static int terminal(int latfd, int, int, int, int); ! static int do_use_port(char *service, int quit_char, int crlf, int bsdel, int lfvt, int nolock); ! static int usage(char *cmd) { *************** *** 69,73 **** printf (" -d show learned services\n"); printf (" -d -v show learned services verbosely\n"); ! printf (" -p connect to a local port rather than a service\n"); printf (" -H <node> remote node name\n"); printf (" -R <port> remote port name\n"); --- 70,75 ---- printf (" -d show learned services\n"); printf (" -d -v show learned services verbosely\n"); ! printf (" -p connect to a local device rather than a service\n"); ! printf (" -L Don't do device locking when using -p\n"); printf (" -H <node> remote node name\n"); printf (" -R <port> remote port name\n"); *************** *** 101,104 **** --- 103,107 ---- int is_queued = 0; int quit_char = 0x1d; // Ctrl-] + int nolock = 0; if (argc == 1) *************** *** 110,114 **** if (ttyname(0)) strcpy(localport, ttyname(0)); ! while ((opt=getopt(argc,argv,"dpcvhlbQWH:R:r:q:n:w:")) != EOF) { switch(opt) --- 113,117 ---- if (ttyname(0)) strcpy(localport, ttyname(0)); ! while ((opt=getopt(argc,argv,"dpcvhlbQWLH:R:r:q:n:w:")) != EOF) { switch(opt) *************** *** 130,133 **** --- 133,140 ---- break; + case 'L': + nolock = 1; + break; + case 'p': use_port = 1; *************** *** 189,193 **** if (use_port) { ! do_use_port(service, quit_char, crlf, bsdel, lfvt); return 0; } --- 196,200 ---- if (use_port) { ! do_use_port(service, quit_char, crlf, bsdel, lfvt, nolock); return 0; } *************** *** 428,432 **** } ! static int do_use_port(char *portname, int quit_char, int crlf, int bsdel, int lfvt) { int termfd; --- 435,439 ---- } ! static int do_use_port(char *portname, int quit_char, int crlf, int bsdel, int lfvt, int nolock) { int termfd; *************** *** 434,441 **** struct termios new_term; ! if (dev_lock(portname)) { ! fprintf(stderr, "Device %s is locked\n", portname); ! return -1; } --- 441,451 ---- struct termios new_term; ! if (!nolock) { ! if (dev_lock(portname)) ! { ! fprintf(stderr, "Can't lock Device %s\n", portname); ! return -1; ! } } *************** *** 467,473 **** // Reset terminal attributes tcsetattr(termfd, TCSANOW, &old_term); ! close(termfd); ! dev_unlock(portname, getpid()); return 0; } --- 477,483 ---- // Reset terminal attributes tcsetattr(termfd, TCSANOW, &old_term); ! close(termfd); ! if (!nolock) dev_unlock(portname, getpid()); return 0; } |
From: Patrick C. <pa...@us...> - 2002-09-10 12:21:03
|
Update of /cvsroot/linux-decnet/latd In directory usw-pr-cvs1:/tmp/cvs-serv17060 Modified Files: latcp.8 Log Message: Got -J and -j wrong way round. Index: latcp.8 =================================================================== RCS file: /cvsroot/linux-decnet/latd/latcp.8,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -r1.11 -r1.12 *** latcp.8 7 Mar 2002 20:29:47 -0000 1.11 --- latcp.8 10 Sep 2002 12:20:59 -0000 1.12 *************** *** 1,3 **** ! .TH LATCP 8 "December 9 2000" "LAT Server" .SH NAME --- 1,3 ---- ! .TH LATCP 8 "September 10 2002" "LAT Server" .SH NAME *************** *** 100,104 **** .TP ! .I \-J Enables the service responder. This feature is needed for small terminal servers that do not collect their own service lists. --- 100,104 ---- .TP ! .I \-j Enables the service responder. This feature is needed for small terminal servers that do not collect their own service lists. *************** *** 107,111 **** .TP ! .I \-j Disables service responder. --- 107,111 ---- .TP ! .I \-J Disables service responder. |
From: Patrick C. <pa...@us...> - 2002-09-06 09:01:31
|
Update of /cvsroot/linux-decnet/latd In directory usw-pr-cvs1:/tmp/cvs-serv8505 Modified Files: server.cc server.h Log Message: Do some bounds checking on received connection IDs. Index: server.cc =================================================================== RCS file: /cvsroot/linux-decnet/latd/server.cc,v retrieving revision 1.60 retrieving revision 1.61 diff -C2 -r1.60 -r1.61 *** server.cc 5 Apr 2002 10:07:04 -0000 1.60 --- server.cc 6 Sep 2002 09:01:27 -0000 1.61 *************** *** 769,773 **** ptr += inbuf[ptr]+1; // Past service description ! if (connections[entry->request_id]) connections[entry->request_id]->got_status(node, entry); --- 769,774 ---- ptr += inbuf[ptr]+1; // Past service description ! if (entry->request_id < MAX_CONNECTIONS && ! connections[entry->request_id]) connections[entry->request_id]->got_status(node, entry); Index: server.h =================================================================== RCS file: /cvsroot/linux-decnet/latd/server.h,v retrieving revision 1.37 retrieving revision 1.38 diff -C2 -r1.37 -r1.38 *** server.h 5 Apr 2002 10:07:04 -0000 1.37 --- server.h 6 Sep 2002 09:01:28 -0000 1.38 *************** *** 51,55 **** int get_service_info(char *name, std::string &cmd, int &maxcon, uid_t &uid, gid_t &gid); gid_t get_lat_group() { return lat_group; } ! LATConnection *get_connection(int id) { return connections[id]; } const unsigned char *get_user_groups() { return user_groups; } int find_connection_by_node(const char *node); --- 51,55 ---- int get_service_info(char *name, std::string &cmd, int &maxcon, uid_t &uid, gid_t &gid); gid_t get_lat_group() { return lat_group; } ! LATConnection *get_connection(int id) { return (id < MAX_CONNECTIONS)?connections[id]:NULL; } const unsigned char *get_user_groups() { return user_groups; } int find_connection_by_node(const char *node); |
From: Patrick C. <pa...@us...> - 2002-09-05 13:43:06
|
Update of /cvsroot/linux-decnet/dnprogs In directory usw-pr-cvs1:/tmp/cvs-serv8377 Modified Files: README Log Message: Some minor updates to the doc. Index: README =================================================================== RCS file: /cvsroot/linux-decnet/dnprogs/README,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -r1.4 -r1.5 *** README 27 Jan 2001 15:11:03 -0000 1.4 --- README 5 Sep 2002 13:43:03 -0000 1.5 *************** *** 6,10 **** You MUST be running the latest Eduardo kernel patch (version number 0.0.11 or ! later) or Steve Whitehouse's patch to use these programs. If you are not then several things (particularly dnetd) will NOT work. You will be warned if you try to compile on old kernel versions. --- 6,10 ---- You MUST be running the latest Eduardo kernel patch (version number 0.0.11 or ! later) or a 2.4+ kernel to use these programs. If you are not then several things (particularly dnetd) will NOT work. You will be warned if you try to compile on old kernel versions. *************** *** 29,33 **** [Please don't send me mail about compiler warnings on libc5 based systems, I ! know. It compiles fine on libc6 systems (I can recommend Debian 2) because the header files are more POSIX compliant.] --- 29,33 ---- [Please don't send me mail about compiler warnings on libc5 based systems, I ! know. It compiles fine on libc6 systems (I can recommend Debian) because the header files are more POSIX compliant.] *************** *** 36,45 **** time. Debian ------ ! The startup script is "/etc/init.d/decnet.sh" ! Then run the command: ! ! # update-rc.d start 39 S . stop 11 1 . Redhat --- 36,47 ---- time. + NOTE: These startup scripts are out of date for everthimng except Debian. + If you can help with startup scripts for your particular distribution then + please contact me. + Debian ------ ! DECnet is included in Debian woody (3.0) and later. "apt-get dnet-progs" will ! install all the bits you need. Redhat *************** *** 128,132 **** Administrator programs and daemons in /usr/local/sbin: ------------------------------------------------------ ! startnet - needed to start the DECnet socket layer ctermd - SET HOST server rmtermd - DTERM server for older machines --- 130,134 ---- Administrator programs and daemons in /usr/local/sbin: ------------------------------------------------------ ! startnet - needed to start the DECnet socket layer on Linux 2.2 ctermd - SET HOST server rmtermd - DTERM server for older machines *************** *** 229,233 **** ------- These programs have been tested on Linux 2.0, 2.1, 2.2, 2.3 & 2.4 on Intel, ! Alpha and SPARC machines (though not necessarily all combinations!) I encourage all users to join the linux-decnet mailing list by visiting the --- 231,237 ---- ------- These programs have been tested on Linux 2.0, 2.1, 2.2, 2.3 & 2.4 on Intel, ! Alpha and SPARC machines (though not necessarily all combinations!) userland ! compiles on HPPA machines but there seems to be a kernel problem with that ! architecture. atthe moment. I encourage all users to join the linux-decnet mailing list by visiting the |
From: Patrick C. <pa...@us...> - 2002-09-05 13:12:10
|
Update of /cvsroot/linux-decnet/dnprogs/dncopy In directory usw-pr-cvs1:/tmp/cvs-serv26453 Modified Files: dncopy.1 Log Message: Add some more warnings about the usefulness of -mblock when pulling files form VMS. Index: dncopy.1 =================================================================== RCS file: /cvsroot/linux-decnet/dnprogs/dncopy/dncopy.1,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -r1.4 -r1.5 *** dncopy.1 13 Sep 2001 13:48:19 -0000 1.4 --- dncopy.1 5 Sep 2002 13:12:06 -0000 1.5 *************** *** 1,3 **** ! .TH DNCOPY 1 "September 13 2001" "DECnet utilities" .SH NAME --- 1,3 ---- ! .TH DNCOPY 1 "September 5 2002" "DECnet utilities" .SH NAME *************** *** 5,12 **** .SH SYNOPSIS ! .B dncopy [options] source dest .br ! .B dncopy [options] source... directory .br --- 5,12 ---- .SH SYNOPSIS ! .B dncopy [options] source dest .br ! .B dncopy [options] source... directory .br *************** *** 22,33 **** dncopy copies files to and from VMS systems. .br ! .br Files on VMS systems should be specified in the usual transparent DECnet format of node"username password"::[directory]file. To protect quotes and dollar signs from shell expansion I recommend that all VMS file specifications be enclosed ! in single quotes (see .B EXAMPLES ! below). If you don't want to type the password on the command-line then put a hyphen ("-") in its place and you will be prompted for it. .br --- 22,33 ---- dncopy copies files to and from VMS systems. .br ! .br Files on VMS systems should be specified in the usual transparent DECnet format of node"username password"::[directory]file. To protect quotes and dollar signs from shell expansion I recommend that all VMS file specifications be enclosed ! in single quotes (see .B EXAMPLES ! below). If you don't want to type the password on the command-line then put a hyphen ("-") in its place and you will be prompted for it. .br *************** *** 35,48 **** .br .B dncopy ! can copy single files and multiple files. If mutiple files are copied the destination must be a directory but it may be on the local Linux system ! or a VMS system. The files to be copied can be a mixture of VMS files and local files (yes, you can copy from VMS to VMS with this program, though quite why you would want to I'm not sure) .br ! .br ! Wildcards are supported for local and VMS files (of course local wildcards are ! expanded by the shell). Remember to use VMS wildcards (*%) on VMS filesystems and Unix wildcards (*? etc) on Unix files. .br --- 35,48 ---- .br .B dncopy ! can copy single files and multiple files. If mutiple files are copied the destination must be a directory but it may be on the local Linux system ! or a VMS system. The files to be copied can be a mixture of VMS files and local files (yes, you can copy from VMS to VMS with this program, though quite why you would want to I'm not sure) .br ! .br ! Wildcards are supported for local and VMS files (of course local wildcards are ! expanded by the shell). Remember to use VMS wildcards (*%) on VMS filesystems and Unix wildcards (*? etc) on Unix files. .br *************** *** 57,66 **** The environment DNCOPY_OPTIONS may be used to provide a default set of options for copying files. If (for example) you wanted to normally send ! files as blocks rather than records you could set DNCOPY_OPTIONS="-mblock". Then, to send a file as records you would need to type .B dncopy -mrecord myfile.txt vmsbox:: instead. .br ! Options in DNCOPY_OPTIONS may be overridden by options typed on the command-line except where there is no negating option available (see .B -k -d -i --- 57,66 ---- The environment DNCOPY_OPTIONS may be used to provide a default set of options for copying files. If (for example) you wanted to normally send ! files as blocks rather than records you could set DNCOPY_OPTIONS="-mblock". Then, to send a file as records you would need to type .B dncopy -mrecord myfile.txt vmsbox:: instead. .br ! Options in DNCOPY_OPTIONS may be overridden by options typed on the command-line except where there is no negating option available (see .B -k -d -i *************** *** 79,83 **** .I "\-v" Verbose operation. The more -v options are present the more verbose dncopy ! will become. One -v is roughly equivalent to the /LOG qualifier on the DCL copy command. More than one is really just useful for debugging. .TP --- 79,83 ---- .I "\-v" Verbose operation. The more -v options are present the more verbose dncopy ! will become. One -v is roughly equivalent to the /LOG qualifier on the DCL copy command. More than one is really just useful for debugging. .TP *************** *** 89,93 **** Show transfer statistics. This shows the throughput of all copies (in the case of wildcard transfers) undertaken in K bytes/second. This time does not include ! that to establish the connection. eg when sending to VMS the overhead of creating a NETSERVER process is not included. .TP --- 89,93 ---- Show transfer statistics. This shows the throughput of all copies (in the case of wildcard transfers) undertaken in K bytes/second. This time does not include ! that to establish the connection. eg when sending to VMS the overhead of creating a NETSERVER process is not included. .TP *************** *** 102,114 **** Sets the transfer mode to block or record. .B record ! is the default. Normally .B record ! is what you want but .B block ! is used for sending binary files to the VMS system. .TP .I "\-a {none|ftn|cr|prn}" ! Sets the carriage control attributes for files copied to a VMS system. The ! default is .B cr. .TP --- 102,118 ---- Sets the transfer mode to block or record. .B record ! is the default. Normally .B record ! is what you want but .B block ! is used for sending binary files to the VMS system. Note that if you ! use -mblock to pull files from VMS you may not be able to make sense of ! the file on Linux because dncopy will also pull all the VMS internal ! structuring of the file as well as the data. Unless you really know what ! you are doing -mblock is only really useful for sending files. .TP .I "\-a {none|ftn|cr|prn}" ! Sets the carriage control attributes for files copied to a VMS system. The ! default is .B cr. .TP *************** *** 117,122 **** .B stm. In fact the default is STREAMLF as this corresponds to the format of files ! on Unix systems and so is the least likely to result in file corruption. ! If you are sending a pure text file then .B var or --- 121,126 ---- .B stm. In fact the default is STREAMLF as this corresponds to the format of files ! on Unix systems and so is the least likely to result in file corruption. ! If you are sending a pure text file then .B var or *************** *** 155,159 **** $ DNCOPY_OPTIONS="-mblock -anone -b1024" ; export DNCOPY_OPTIONS .br ! .br csh or tcsh: --- 159,163 ---- $ DNCOPY_OPTIONS="-mblock -anone -b1024" ; export DNCOPY_OPTIONS .br ! .br csh or tcsh: *************** *** 207,211 **** .SH HELPFUL HINTS For fetching files the defaults should serve for most purposes. Most VMS files ! are record orientated and .B -mrecord is the default transfer mode. It is rare you will need to fetch files using --- 211,215 ---- .SH HELPFUL HINTS For fetching files the defaults should serve for most purposes. Most VMS files ! are record orientated and .B -mrecord is the default transfer mode. It is rare you will need to fetch files using *************** *** 217,229 **** .br Sending files is more complex because VMS supports far more attributes ! than Linux so you will need to know something about the file you are sending. Text files should be OK with the defaults unless you need to change ! the format from the default .B STREAMLF ! to .B VFC ! or .B VAR. ! Carriage control can also be specified if you want to be that picky. Binary files may often need to be sent -mblock to be useful at the VMS end, --- 221,233 ---- .br Sending files is more complex because VMS supports far more attributes ! than Linux so you will need to know something about the file you are sending. Text files should be OK with the defaults unless you need to change ! the format from the default .B STREAMLF ! to .B VFC ! or .B VAR. ! Carriage control can also be specified if you want to be that picky. Binary files may often need to be sent -mblock to be useful at the VMS end, |
From: Patrick C. <pa...@us...> - 2002-09-05 08:35:36
|
Update of /cvsroot/linux-decnet/dnprogs/dncopy In directory usw-pr-cvs1:/tmp/cvs-serv32243 Modified Files: dnetfile_dap.cc Log Message: Update copyright date. Send ATTRIB & ACCESS messages in one block for efficiency. Remove FB$PRN from BLOCK ACCESS message as I don't like it. VMS sends it but it bothers me and it doesn't seem to be necessary (famous last words....) Index: dnetfile_dap.cc =================================================================== RCS file: /cvsroot/linux-decnet/dnprogs/dncopy/dnetfile_dap.cc,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -r1.4 -r1.5 *** dnetfile_dap.cc 5 Sep 2002 08:24:32 -0000 1.4 --- dnetfile_dap.cc 5 Sep 2002 08:35:33 -0000 1.5 *************** *** 1,4 **** /****************************************************************************** ! (c) 1998-1999 P.J. Caulfield pa...@ty... This program is free software; you can redistribute it and/or modify --- 1,4 ---- /****************************************************************************** ! (c) 1998-2002 P.J. Caulfield pa...@ty... This program is free software; you can redistribute it and/or modify *************** *** 70,73 **** --- 70,75 ---- acc.set_accfunc(dap_access_message::OPEN); + conn.set_blocked(true); + if (transfer_mode == MODE_BLOCK) { *************** *** 89,95 **** att.set_org(dap_attrib_message::FB$SEQ); att.set_rfm(dap_attrib_message::FB$VAR); - att.set_rat(dap_attrib_message::FB$PRN); att.set_mrs(0); ! att.set_datatype(1); att.write(conn); } --- 91,96 ---- att.set_org(dap_attrib_message::FB$SEQ); att.set_rfm(dap_attrib_message::FB$VAR); att.set_mrs(0); ! att.set_datatype(dap_attrib_message::IMAGE); att.write(conn); } *************** *** 98,102 **** dap_access_message::DISPLAY_NAME_MASK); acc.set_filespec(filname); ! return !acc.write(conn); } --- 99,104 ---- dap_access_message::DISPLAY_NAME_MASK); acc.set_filespec(filname); ! acc.write(conn); ! return !conn.set_blocked(false); } *************** *** 223,227 **** accomp.set_cmpfunc(dap_accomp_message::CLOSE); if (!accomp.write(conn)) return -1; ! conn.set_blocked(false); //PJC if (writing) --- 225,229 ---- accomp.set_cmpfunc(dap_accomp_message::CLOSE); if (!accomp.write(conn)) return -1; ! conn.set_blocked(false); if (writing) |
From: Patrick C. <pa...@us...> - 2002-09-05 08:24:36
|
Update of /cvsroot/linux-decnet/dnprogs/dncopy In directory usw-pr-cvs1:/tmp/cvs-serv29247 Modified Files: dnetfile.cc dnetfile.h dnetfile_dap.cc Log Message: Fix -mblock copying from VMS Tidy whitespace. Index: dnetfile.cc =================================================================== RCS file: /cvsroot/linux-decnet/dnprogs/dncopy/dnetfile.cc,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -r1.3 -r1.4 *** dnetfile.cc 21 Feb 2001 09:01:22 -0000 1.3 --- dnetfile.cc 5 Sep 2002 08:24:32 -0000 1.4 *************** *** 1,5 **** /****************************************************************************** ! (c) 1998-1999 P.J. Caulfield pa...@ty... ! 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 --- 1,5 ---- /****************************************************************************** ! (c) 1998-2002 P.J. Caulfield pa...@ty... ! 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 *************** *** 50,54 **** // Is this a wildcard filename? ! if (strchr(name, '*') || strchr(name, '%')) wildcard = TRUE; --- 50,54 ---- // Is this a wildcard filename? ! if (strchr(name, '*') || strchr(name, '%')) wildcard = TRUE; *************** *** 113,117 **** } ! // Open a file already named int dnetfile::open(char *mode) { --- 113,117 ---- } ! // Open a file already named int dnetfile::open(char *mode) { *************** *** 141,145 **** { status = dap_send_attributes(); ! // Send default file name if (wildcard) --- 141,145 ---- { status = dap_send_attributes(); ! // Send default file name if (wildcard) *************** *** 170,174 **** if (user_rfm == RFM_DEFAULT) file_rfm = real_rfm; if (user_rat == RAT_DEFAULT) file_rat = real_rat; ! // Get the file's real name in case the user specified a wildcard strcpy(name, filname); --- 170,174 ---- if (user_rfm == RFM_DEFAULT) file_rfm = real_rfm; if (user_rat == RAT_DEFAULT) file_rat = real_rat; ! // Get the file's real name in case the user specified a wildcard strcpy(name, filname); *************** *** 206,215 **** // If the file has implied carriage control then add an LF to the end of the // line ! if ((file_rfm != RFM_STMLF) && (file_rat & RAT_CR || file_rat & RAT_PRN)) buf[retlen++] = '\n'; // Print files have a two-byte header indicating the line length. ! if (file_rat & RAT_PRN) { memmove(buf, buf+file_fsz, retlen-file_fsz); --- 206,215 ---- // If the file has implied carriage control then add an LF to the end of the // line ! if ((file_rfm != RFM_STMLF) && (file_rat & RAT_CR || file_rat & RAT_PRN)) buf[retlen++] = '\n'; // Print files have a two-byte header indicating the line length. ! if (file_rat & RAT_PRN) { memmove(buf, buf+file_fsz, retlen-file_fsz); *************** *** 220,230 **** if (file_rat & RAT_FTN) { ! switch (buf[0]) { ! case '+': // No new line buf[0] = '\r'; break; ! case '1': // Form Feed buf[0] = '\f'; --- 220,230 ---- if (file_rat & RAT_FTN) { ! switch (buf[0]) { ! case '+': // No new line buf[0] = '\r'; break; ! case '1': // Form Feed buf[0] = '\f'; *************** *** 260,264 **** int real_rfm, real_rat; ! if (!wildcard) { return FALSE; --- 260,264 ---- int real_rfm, real_rat; ! if (!wildcard) { return FALSE; *************** *** 331,335 **** char *end; unsigned int i; ! /* Find the start of the name */ start = rindex(name, ']'); --- 331,335 ---- char *end; unsigned int i; ! /* Find the start of the name */ start = rindex(name, ']'); *************** *** 357,363 **** { static char pname[1024]; ! strcpy(pname, node); ! if (*user) { strcat(pname, "\""); --- 357,363 ---- { static char pname[1024]; ! strcpy(pname, node); ! if (*user) { strcat(pname, "\""); *************** *** 397,401 **** case RAT_NONE: return "blocks"; ! default: return "records"; --- 397,401 ---- case RAT_NONE: return "blocks"; ! default: return "records"; Index: dnetfile.h =================================================================== RCS file: /cvsroot/linux-decnet/dnprogs/dncopy/dnetfile.h,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -r1.1.1.1 -r1.2 *** dnetfile.h 26 Apr 2000 08:22:03 -0000 1.1.1.1 --- dnetfile.h 5 Sep 2002 08:24:32 -0000 1.2 *************** *** 8,16 **** static bool isMine(char *name); ! // Constructor and destructor dnetfile(char *name, int verbosity); ~dnetfile(); ! // Stuff overriden from file. virtual int setup_link(unsigned int bufsize, int rfm, int rat, int xfer_mode); virtual int open(char *mode); --- 8,16 ---- static bool isMine(char *name); ! // Constructor and destructor dnetfile(char *name, int verbosity); ~dnetfile(); ! // Stuff overriden from file. virtual int setup_link(unsigned int bufsize, int rfm, int rat, int xfer_mode); virtual int open(char *mode); *************** *** 40,45 **** static const int MAX_NAME = MAX_PATH; static const int MAX_BASENAME = 76; ! ! /* Misc class-globals */ bool wildcard; // Is a wildcard file name bool isOpen; // Set when we have an open connection --- 40,45 ---- static const int MAX_NAME = MAX_PATH; static const int MAX_BASENAME = 76; ! ! /* Misc class-globals */ bool wildcard; // Is a wildcard file name bool isOpen; // Set when we have an open connection *************** *** 49,53 **** int verbose; ! /* File attributes, requested and actual */ int file_rat, file_rfm; --- 49,53 ---- int verbose; ! /* File attributes, requested and actual */ int file_rat, file_rfm; *************** *** 57,61 **** unsigned int user_bufsize; dap_connection conn; ! /* Connection attribute strings */ char fname[MAX_NAME+1]; // Full name as supplied by the user --- 57,61 ---- unsigned int user_bufsize; dap_connection conn; ! /* Connection attribute strings */ char fname[MAX_NAME+1]; // Full name as supplied by the user Index: dnetfile_dap.cc =================================================================== RCS file: /cvsroot/linux-decnet/dnprogs/dncopy/dnetfile_dap.cc,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -r1.3 -r1.4 *** dnetfile_dap.cc 4 Nov 2001 17:46:36 -0000 1.3 --- dnetfile_dap.cc 5 Sep 2002 08:24:32 -0000 1.4 *************** *** 72,78 **** if (transfer_mode == MODE_BLOCK) { ! acc.set_fac( (1<<dap_access_message::FB$GET) || ! (1<<dap_access_message::FB$BIO) ); ! acc.set_shr(1<<dap_access_message::FB$BRO); // No sharing PJC CHECK } --- 72,78 ---- if (transfer_mode == MODE_BLOCK) { ! acc.set_fac( (1<<dap_access_message::FB$GET) | ! (1<<dap_access_message::FB$BRO)); ! acc.set_shr(1<<dap_access_message::FB$GET); } *************** *** 81,89 **** acc.set_accfunc(dap_access_message::CREATE); acc.set_fac(dap_access_message::FB$PUT); ! acc.set_shr(1<<dap_access_message::FB$BRO); // No sharing PJC CHECK } else // We build our own attributes message when writing. { dap_attrib_message att; att.write(conn); } --- 81,95 ---- acc.set_accfunc(dap_access_message::CREATE); acc.set_fac(dap_access_message::FB$PUT); ! acc.set_shr(1<<dap_access_message::FB$BRO); } else // We build our own attributes message when writing. { dap_attrib_message att; + att.set_fop_bit(dap_attrib_message::FB$SQO); + att.set_org(dap_attrib_message::FB$SEQ); + att.set_rfm(dap_attrib_message::FB$VAR); + att.set_rat(dap_attrib_message::FB$PRN); + att.set_mrs(0); + att.set_datatype(1); att.write(conn); } |
From: Patrick C. <pa...@us...> - 2002-08-26 08:32:14
|
Update of /cvsroot/linux-decnet/latd In directory usw-pr-cvs1:/tmp/cvs-serv18895 Modified Files: interfaces-linux.cc moprc.c Log Message: Don't use TCP sockets to get interface information. Index: interfaces-linux.cc =================================================================== RCS file: /cvsroot/linux-decnet/latd/interfaces-linux.cc,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -r1.2 -r1.3 *** interfaces-linux.cc 11 Feb 2002 14:09:38 -0000 1.2 --- interfaces-linux.cc 26 Aug 2002 08:32:11 -0000 1.3 *************** *** 82,86 **** struct ifreq ifr; int iindex = 1; ! int sock = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP); num = 0; --- 82,86 ---- struct ifreq ifr; int iindex = 1; ! int sock = socket(PF_PACKET, SOCK_RAW, 0); num = 0; *************** *** 107,111 **** { struct ifreq ifr; ! int sock = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP); ifr.ifr_ifindex = ifn; --- 107,111 ---- { struct ifreq ifr; ! int sock = socket(PF_PACKET, SOCK_RAW, 0); ifr.ifr_ifindex = ifn; *************** *** 127,131 **** struct ifreq ifr; int iindex = 1; ! int sock = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP); ifr.ifr_ifindex = iindex; --- 127,131 ---- struct ifreq ifr; int iindex = 1; ! int sock = socket(PF_PACKET, SOCK_RAW, 0); ifr.ifr_ifindex = iindex; Index: moprc.c =================================================================== RCS file: /cvsroot/linux-decnet/latd/moprc.c,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -r1.4 -r1.5 *** moprc.c 31 Mar 2002 11:58:43 -0000 1.4 --- moprc.c 26 Aug 2002 08:32:11 -0000 1.5 *************** *** 88,92 **** struct ifreq ifr; int iindex = 1; ! int sock = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP); ifr.ifr_ifindex = iindex; --- 88,92 ---- struct ifreq ifr; int iindex = 1; ! int sock = socket(PF_PACKET, SOCK_RAW, 0); ifr.ifr_ifindex = iindex; |
From: Patrick C. <pa...@us...> - 2002-08-25 11:19:24
|
Update of /cvsroot/linux-decnet/dnprogs/dnlogin In directory usw-pr-cvs1:/tmp/cvs-serv14852 Modified Files: found.c tty.c Log Message: Some, very minor, tweaking Index: found.c =================================================================== RCS file: /cvsroot/linux-decnet/dnprogs/dnlogin/found.c,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -r1.7 -r1.8 *** found.c 22 Jul 2002 16:08:55 -0000 1.7 --- found.c 25 Aug 2002 11:19:21 -0000 1.8 *************** *** 58,62 **** "RTS-8", "RSX-11M+", ! "??13", "??14", "??15", "??16", "??17", "Ultrix-32", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", --- 58,62 ---- "RTS-8", "RSX-11M+", ! "DEC Unix", "??14", "??15", "??16", "??17", "Ultrix-32", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", *************** *** 226,229 **** --- 226,232 ---- } } + break; + + case 2: /* Reserved */ break; Index: tty.c =================================================================== RCS file: /cvsroot/linux-decnet/dnprogs/dnlogin/tty.c,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -r1.6 -r1.7 *** tty.c 22 Jul 2002 16:08:55 -0000 1.6 --- tty.c 25 Aug 2002 11:19:21 -0000 1.7 *************** *** 269,274 **** if (isalpha(buf[i])) { /* Process escape sequences */ ! if (strncmp(esc_buf, "\033[D", 3)) /* Cursor RIGHT */ { if (input_pos < input_len) --- 269,276 ---- if (isalpha(buf[i])) { + int esc_done = 0; + /* Process escape sequences */ ! if (strncmp(esc_buf, "\033[C", 3) == 0) /* Cursor RIGHT */ { if (input_pos < input_len) *************** *** 277,282 **** if (echo) write(termfd, esc_buf, esc_len); } } ! if (strncmp(esc_buf, "\033[C", 3)) /* Cursor LEFT */ { if (input_pos > 0) --- 279,285 ---- if (echo) write(termfd, esc_buf, esc_len); } + esc_done = 1; } ! if (strncmp(esc_buf, "\033[D", 3) == 0) /* Cursor LEFT */ { if (input_pos > 0) *************** *** 285,288 **** --- 288,298 ---- if (echo) write(termfd, esc_buf, esc_len); } + esc_done = 1; + } + /* If we didn't process it above, then just send it to + the host */ + if (!esc_done) + { + send_input(esc_buf, esc_len, 2); } esc_len = 0; |
From: Patrick C. <pa...@us...> - 2002-08-14 09:02:23
|
Update of /cvsroot/linux-decnet/latd In directory usw-pr-cvs1:/tmp/cvs-serv19114 Modified Files: llogin.cc Log Message: Use liblockdev as it seems more portable than liblockfile (and more suitable to device locks) Index: llogin.cc =================================================================== RCS file: /cvsroot/linux-decnet/latd/llogin.cc,v retrieving revision 1.15 retrieving revision 1.16 diff -C2 -r1.15 -r1.16 *** llogin.cc 14 Aug 2002 07:59:49 -0000 1.15 --- llogin.cc 14 Aug 2002 09:02:20 -0000 1.16 *************** *** 39,43 **** #include <assert.h> #include <termios.h> ! #include <lockfile.h> #include <list> --- 39,43 ---- #include <assert.h> #include <termios.h> ! #include <lockdev.h> #include <list> *************** *** 428,446 **** } - - static void lockfilename(char *devname, char *lockname, int maxlen) - { - unsigned int i; - - snprintf(lockname, maxlen, "/var/lock/LCK..%s", devname+5); - - // Replace / with _ (but on after LCK..) - for (i=14; i<strlen(lockname); i++) - { - if (lockname[i] == '/') - lockname[i] = '_'; - } - } - static int do_use_port(char *portname, int quit_char, int crlf, int bsdel, int lfvt) { --- 428,431 ---- *************** *** 448,456 **** struct termios old_term; struct termios new_term; - char lockname[PATH_MAX]; - - lockfilename(portname, lockname, sizeof(lockname)); ! if (lockfile_create(lockname, 1, L_PID)) { fprintf(stderr, "Device %s is locked\n", portname); --- 433,438 ---- struct termios old_term; struct termios new_term; ! if (dev_lock(portname)) { fprintf(stderr, "Device %s is locked\n", portname); *************** *** 462,466 **** { fprintf(stderr, "Cannot open device %s: %s\n", portname, strerror(errno)); ! lockfile_remove(lockname); return -1; } --- 444,448 ---- { fprintf(stderr, "Cannot open device %s: %s\n", portname, strerror(errno)); ! dev_unlock(portname, getpid()); return -1; } *************** *** 485,491 **** // Reset terminal attributes tcsetattr(termfd, TCSANOW, &old_term); ! close(termfd); ! lockfile_remove(lockname); return 0; } --- 467,473 ---- // Reset terminal attributes tcsetattr(termfd, TCSANOW, &old_term); ! close(termfd); ! dev_unlock(portname, getpid()); return 0; } |
From: Patrick C. <pa...@us...> - 2002-08-14 09:02:23
|
Update of /cvsroot/linux-decnet/latd/debian In directory usw-pr-cvs1:/tmp/cvs-serv19114/debian Modified Files: control Log Message: Use liblockdev as it seems more portable than liblockfile (and more suitable to device locks) Index: control =================================================================== RCS file: /cvsroot/linux-decnet/latd/debian/control,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -r1.7 -r1.8 *** control 14 Aug 2002 07:59:49 -0000 1.7 --- control 14 Aug 2002 09:02:20 -0000 1.8 *************** *** 3,7 **** Priority: extra Maintainer: Patrick Caulfield <pa...@de...> ! Build-Depends: debhelper(>=2.0), liblockfile-dev Standards-Version: 3.5.0 --- 3,7 ---- Priority: extra Maintainer: Patrick Caulfield <pa...@de...> ! Build-Depends: debhelper(>=2.0), liblockdev1-dev Standards-Version: 3.5.0 |
From: Patrick C. <pa...@us...> - 2002-08-14 09:01:05
|
Update of /cvsroot/linux-decnet/latd In directory usw-pr-cvs1:/tmp/cvs-serv18776 Modified Files: Makefile Log Message: Fix rpm building for Red Hat 7 Index: Makefile =================================================================== RCS file: /cvsroot/linux-decnet/latd/Makefile,v retrieving revision 1.33 retrieving revision 1.34 diff -C2 -r1.33 -r1.34 *** Makefile 14 Aug 2002 07:59:48 -0000 1.33 --- Makefile 14 Aug 2002 09:00:59 -0000 1.34 *************** *** 65,69 **** $(PROG3): depend $(PROG3OBJS) ! $(CXX) -o $@ $(PROG3OBJS) -llockfile $(PROG4): depend $(PROG4OBJS) --- 65,69 ---- $(PROG3): depend $(PROG3OBJS) ! $(CXX) -o $@ $(PROG3OBJS) -llockdev $(PROG4): depend $(PROG4OBJS) *************** *** 127,131 **** install README NEWS BUILD mkdir -p RPMS ! rpm -bb --target=$(ARCH) --buildroot `pwd`/rpmbuild --rcfile .rpmrc -v $(PKGNAME).spec rm -f $(PKGNAME).spec .rpmrc .rpmmacros --- 127,131 ---- install README NEWS BUILD mkdir -p RPMS ! rpmbuild -bb --target $(ARCH) --buildroot `pwd`/rpmbuild --rcfile .rpmrc -v $(PKGNAME).spec rm -f $(PKGNAME).spec .rpmrc .rpmmacros |
From: Patrick C. <pa...@us...> - 2002-08-14 07:59:52
|
Update of /cvsroot/linux-decnet/latd/debian In directory usw-pr-cvs1:/tmp/cvs-serv3804/debian Modified Files: changelog control Log Message: llogin now uses lockfiles to synchronise access to ports. Index: changelog =================================================================== RCS file: /cvsroot/linux-decnet/latd/debian/changelog,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -r1.10 -r1.11 *** changelog 20 Mar 2002 08:49:40 -0000 1.10 --- changelog 14 Aug 2002 07:59:49 -0000 1.11 *************** *** 1,2 **** --- 1,14 ---- + latd (1.15-1) unstable; urgency=low + + * More DS90L+ fixes (keepalive message format) + * Fix iostreams so they produce the correct output in gcc 3.0 & 2.95. + Now I know why people really hate iostreams. + * Use getloadavg() rather than /proc to get load average. + * Close all FDs before forking server processes. + * Always send an ACK for a packet with data in it. + * llogin uses lock files for device connections + + -- Patrick Caulfield <pa...@de...> Wed, 14 Aug 2002 08:56:28 +0100 + latd (1.14-1) unstable; urgency=low *************** *** 16,20 **** * Fail attempts to create /dev/lat ports twice * Delete /dev/lat ports when latcp -D -p is run ! (thanks to Denis Komissaro) for those two. * Use local name in ENQ message for DS90L servers instead of the stupid one I left in there after testing. --- 28,32 ---- * Fail attempts to create /dev/lat ports twice * Delete /dev/lat ports when latcp -D -p is run ! (thanks to Denis Komissarov) for those two. * Use local name in ENQ message for DS90L servers instead of the stupid one I left in there after testing. Index: control =================================================================== RCS file: /cvsroot/linux-decnet/latd/debian/control,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -r1.6 -r1.7 *** control 3 Jan 2002 08:46:56 -0000 1.6 --- control 14 Aug 2002 07:59:49 -0000 1.7 *************** *** 3,7 **** Priority: extra Maintainer: Patrick Caulfield <pa...@de...> ! Build-Depends: debhelper(>=2.0) Standards-Version: 3.5.0 --- 3,7 ---- Priority: extra Maintainer: Patrick Caulfield <pa...@de...> ! Build-Depends: debhelper(>=2.0), liblockfile-dev Standards-Version: 3.5.0 |
From: Patrick C. <pa...@us...> - 2002-08-14 07:59:52
|
Update of /cvsroot/linux-decnet/latd In directory usw-pr-cvs1:/tmp/cvs-serv3804 Modified Files: Makefile connection.cc llogin.cc Log Message: llogin now uses lockfiles to synchronise access to ports. Index: Makefile =================================================================== RCS file: /cvsroot/linux-decnet/latd/Makefile,v retrieving revision 1.32 retrieving revision 1.33 diff -C2 -r1.32 -r1.33 *** Makefile 21 Mar 2002 13:34:40 -0000 1.32 --- Makefile 14 Aug 2002 07:59:48 -0000 1.33 *************** *** 21,25 **** DEFS=-DVERSION=\"$(VERSION)\" -DLATCP_SOCKNAME=\"$(LATCPSOCK)\" -DLLOGIN_SOCKNAME=\"$(LLOGINSOCK)\" ! DEFS+=-DUSE_OPENPTY #-DSETLOGIN_HOST # These are debugging options, know what you are doing before setting these. --- 21,25 ---- DEFS=-DVERSION=\"$(VERSION)\" -DLATCP_SOCKNAME=\"$(LATCPSOCK)\" -DLLOGIN_SOCKNAME=\"$(LLOGINSOCK)\" ! DEFS+=-DUSE_OPENPTY # These are debugging options, know what you are doing before setting these. *************** *** 65,69 **** $(PROG3): depend $(PROG3OBJS) ! $(CXX) -o $@ $(PROG3OBJS) $(PROG4): depend $(PROG4OBJS) --- 65,69 ---- $(PROG3): depend $(PROG3OBJS) ! $(CXX) -o $@ $(PROG3OBJS) -llockfile $(PROG4): depend $(PROG4OBJS) Index: connection.cc =================================================================== RCS file: /cvsroot/linux-decnet/latd/connection.cc,v retrieving revision 1.46 retrieving revision 1.47 diff -C2 -r1.46 -r1.47 *** connection.cc 21 Mar 2002 13:33:26 -0000 1.46 --- connection.cc 14 Aug 2002 07:59:49 -0000 1.47 *************** *** 140,148 **** bool replyhere = false; - memset(replybuf, 0, sizeof(replybuf)); // PJC - debuglog(("process_session_cmd: %d slots, %d bytes\n", msg->header.num_slots, len)); for (int ri=0; ri<4; ri++) reply[ri] = (LAT_SlotCmd *)replybuf[ri]; --- 140,148 ---- bool replyhere = false; debuglog(("process_session_cmd: %d slots, %d bytes\n", msg->header.num_slots, len)); + /* Clear out the reply slots and initialise pointers */ + memset(replybuf, 0, sizeof(replybuf)); for (int ri=0; ri<4; ri++) reply[ri] = (LAT_SlotCmd *)replybuf[ri]; *************** *** 232,235 **** --- 232,236 ---- else { + replyhere = true; for (i=0; i<msg->header.num_slots && ptr<len; i++) { *************** *** 467,471 **** debuglog(("Sending %d slots in reply\n", num_replies)); unsigned char replybuf[1600]; ! memset(replybuf, 0, sizeof(replybuf)); // PJC LAT_Header *header = (LAT_Header *)replybuf; ptr = sizeof(LAT_Header); --- 468,473 ---- debuglog(("Sending %d slots in reply\n", num_replies)); unsigned char replybuf[1600]; ! ! memset(replybuf, 0, sizeof(replybuf)); LAT_Header *header = (LAT_Header *)replybuf; ptr = sizeof(LAT_Header); Index: llogin.cc =================================================================== RCS file: /cvsroot/linux-decnet/latd/llogin.cc,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -r1.14 -r1.15 *** llogin.cc 15 Feb 2002 13:24:13 -0000 1.14 --- llogin.cc 14 Aug 2002 07:59:49 -0000 1.15 *************** *** 39,42 **** --- 39,43 ---- #include <assert.h> #include <termios.h> + #include <lockfile.h> #include <list> *************** *** 427,430 **** --- 428,446 ---- } + + static void lockfilename(char *devname, char *lockname, int maxlen) + { + unsigned int i; + + snprintf(lockname, maxlen, "/var/lock/LCK..%s", devname+5); + + // Replace / with _ (but on after LCK..) + for (i=14; i<strlen(lockname); i++) + { + if (lockname[i] == '/') + lockname[i] = '_'; + } + } + static int do_use_port(char *portname, int quit_char, int crlf, int bsdel, int lfvt) { *************** *** 432,435 **** --- 448,460 ---- struct termios old_term; struct termios new_term; + char lockname[PATH_MAX]; + + lockfilename(portname, lockname, sizeof(lockname)); + + if (lockfile_create(lockname, 1, L_PID)) + { + fprintf(stderr, "Device %s is locked\n", portname); + return -1; + } termfd = open(portname, O_RDWR); *************** *** 437,440 **** --- 462,466 ---- { fprintf(stderr, "Cannot open device %s: %s\n", portname, strerror(errno)); + lockfile_remove(lockname); return -1; } *************** *** 461,466 **** close(termfd); return 0; - - } --- 487,491 ---- close(termfd); + lockfile_remove(lockname); return 0; } |
From: Patrick C. <pa...@us...> - 2002-08-09 14:28:02
|
Update of /cvsroot/linux-decnet/dnprogs/fal In directory usw-pr-cvs1:/tmp/cvs-serv14523 Modified Files: open.cc Log Message: Don't try to send DATA records bigger than the block size. I've put an arbitrary decrement of 10 bytes off the block size which should be enough to cope with the header and RFA if present. Index: open.cc =================================================================== RCS file: /cvsroot/linux-decnet/dnprogs/fal/open.cc,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -r1.14 -r1.15 *** open.cc 17 Jul 2002 15:37:57 -0000 1.14 --- open.cc 9 Aug 2002 14:27:58 -0000 1.15 *************** *** 428,432 **** buf[buflen++] = (char) newchar; } ! } while (newchar != EOF && newchar != '\n' && buflen < conn.get_blocksize()); } } --- 428,432 ---- buf[buflen++] = (char) newchar; } ! } while (newchar != EOF && newchar != '\n' && buflen < conn.get_blocksize()-10); } } |
From: Patrick C. <pa...@us...> - 2002-08-09 13:55:14
|
Update of /cvsroot/linux-decnet/dnprogs/Documentation In directory usw-pr-cvs1:/tmp/cvs-serv32164 Modified Files: fal.README Log Message: Mention regex anchors and -r Index: fal.README =================================================================== RCS file: /cvsroot/linux-decnet/dnprogs/Documentation/fal.README,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -r1.1.1.1 -r1.2 *** fal.README 26 Apr 2000 08:22:03 -0000 1.1.1.1 --- fal.README 9 Aug 2002 13:55:10 -0000 1.2 *************** *** 25,33 **** should be used for thos remote accesses. eg: ! tramp::patrick patrick The line above says that if I connect from my VMS machine tramp to the Linux ! machine without providing a username and password then I will be given ! access to my files on the Linux machine. If you want to make this the case for all users on your network (ie. all VMS --- 25,42 ---- should be used for thos remote accesses. eg: ! ^tramp$::^patrick$ patrick The line above says that if I connect from my VMS machine tramp to the Linux ! machine without providing a username and password then I will be given access ! to my files on the Linux machine. Not the regex anchors ^ and $ on the remote ! node name and username, that's because those two fields are actually POSIX ! regular expressions. This may look odd at first but gives you a lot of ! flexibility in specifying proxies. eg: ! ! ^cls00[0-4]$::^b.* * ! ! This allow access from any user name starting with b when logged into machine ! cls000 cls001 cls002 cls003 or cls004 to access local files. Note that all user ! names and node names are converted to lower case before comparison. If you want to make this the case for all users on your network (ie. all VMS *************** *** 37,49 **** .*::.* * - Note that the wildcards are actually Unix regular expressions rather than VMS - wildcards. This may look odd at first but gives you a lot of flexibility in - specifying proxies. eg: - - cls00[0-4]::b.* * - - This allow access from any user name starting with b when logged into machine - cls000 cls001 cls002 cls003 or cls004 to access local files. Note that all user - names and node names are converted to lower case before comparison. The last * on the line is not a wildcard, it is just a special character --- 46,49 ---- *************** *** 53,58 **** You can use this last feature to deny access to specific groups of users. eg. ! .*::guest none ! www::.* none Will deny access to all guest users and also to all users on the machine www. --- 53,58 ---- You can use this last feature to deny access to specific groups of users. eg. ! .*::^guest$ none ! ^www$::.* none Will deny access to all guest users and also to all users on the machine www. *************** *** 165,168 **** --- 165,184 ---- (eg /bin/ls becomes SYSDISK:[BIN]LS;1) FAL understands these filenames when they are passed back to it so don't worry. + + If you start FAL with the -r<dir> flag then all filenames will be relative to + the directory following the flag. This effectively disables users home + directories so think about this before doing it. so (eg) if FAL is started as + + fal -r /vmsroot + + and a VMS users tries to access file + + LINUX::[MYDIR]file.txt + + then Linux will send the file + + /vmsroot/mydir/file.txt + + With -r any attempt to go up a directory using .. will fail the file access. |
From: Patrick C. <pa...@us...> - 2002-08-09 09:46:33
|
Update of /cvsroot/linux-decnet/dnprogs/fal In directory usw-pr-cvs1:/tmp/cvs-serv364 Modified Files: task.cc Log Message: Fix vroot not NUL-terminating names correctly. Index: task.cc =================================================================== RCS file: /cvsroot/linux-decnet/dnprogs/fal/task.cc,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -r1.11 -r1.12 *** task.cc 17 Jul 2002 07:34:23 -0000 1.11 --- task.cc 9 Aug 2002 09:46:28 -0000 1.12 *************** *** 95,98 **** --- 95,100 ---- if (params.vroot_len) { + int oldlen = strlen(name); + /* Security measure...if the name has ".." in it then blank the whole lot out and confuse the user. *************** *** 103,109 **** if (verbose > 3) DAPLOG((LOG_DEBUG, "add_vroot: name is %s, vroot='%s' (len=%d)\n", name, params.vroot, params.vroot_len)); ! memmove(name + params.vroot_len, name, strlen(name)); memmove(name, params.vroot, params.vroot_len); if (verbose > 3) DAPLOG((LOG_DEBUG, "add_vroot: name is now %s\n", name)); } --- 105,114 ---- if (verbose > 3) DAPLOG((LOG_DEBUG, "add_vroot: name is %s, vroot='%s' (len=%d)\n", name, params.vroot, params.vroot_len)); ! memmove(name + params.vroot_len, name, oldlen); memmove(name, params.vroot, params.vroot_len); + /* Make sure it's NUL-terminated */ + name[oldlen+params.vroot_len] = '\0'; + if (verbose > 3) DAPLOG((LOG_DEBUG, "add_vroot: name is now %s\n", name)); } *************** *** 117,121 **** if (verbose > 3) DAPLOG((LOG_INFO, "remove_vroot: name is %s\n", name)); ! memmove(name, name + params.vroot_len-1, strlen(name)); if (verbose > 3) DAPLOG((LOG_INFO, "remove_vroot: name is now %s\n", name)); --- 122,126 ---- if (verbose > 3) DAPLOG((LOG_INFO, "remove_vroot: name is %s\n", name)); ! memmove(name, name + params.vroot_len-1, strlen(name)+1); if (verbose > 3) DAPLOG((LOG_INFO, "remove_vroot: name is now %s\n", name)); |
From: Patrick C. <pa...@us...> - 2002-08-09 08:20:11
|
Update of /cvsroot/linux-decnet/dnprogs/apps In directory usw-pr-cvs1:/tmp/cvs-serv2020 Modified Files: sethost.c Log Message: Make reads non-blocking. Index: sethost.c =================================================================== RCS file: /cvsroot/linux-decnet/dnprogs/apps/sethost.c,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -r1.5 -r1.6 *** sethost.c 13 Feb 2002 19:41:59 -0000 1.5 --- sethost.c 9 Aug 2002 08:20:08 -0000 1.6 *************** *** 687,690 **** --- 687,691 ---- exit(-1); } + fcntl(ttyfd, F_SETFL, fcntl(ttyfd, F_GETFL, 0) | O_NONBLOCK); memcpy(&raw,&cooked,sizeof(struct termio)); |
From: Patrick C. <pa...@us...> - 2002-08-08 12:44:14
|
Update of /cvsroot/linux-decnet/dnprogs/fal In directory usw-pr-cvs1:/tmp/cvs-serv1474 Modified Files: decnet.proxy decnet.proxy.5 Log Message: Document the true nature of the proxy database entries. Index: decnet.proxy =================================================================== RCS file: /cvsroot/linux-decnet/dnprogs/fal/decnet.proxy,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -r1.1.1.1 -r1.2 *** decnet.proxy 26 Apr 2000 08:22:02 -0000 1.1.1.1 --- decnet.proxy 8 Aug 2002 12:44:04 -0000 1.2 *************** *** 3,10 **** # DECnet proxy database. # The format of this file is (one entry per line) ! # node::remoteuser localuser # # Regular expressions are allowed for node and remote user. Remember these are # POSIX regular expressions so use .* where you would use just * on VMS. # The entries are checked in the order they appear in this file. # * as a local user will be replaced by the remote username. --- 3,12 ---- # DECnet proxy database. # The format of this file is (one entry per line) ! # node::remoteuser localuser # # Regular expressions are allowed for node and remote user. Remember these are # POSIX regular expressions so use .* where you would use just * on VMS. + # Also it is IMPORTANT that whole names (node and user) are enclosed + # in anchors as below. # The entries are checked in the order they appear in this file. # * as a local user will be replaced by the remote username. *************** *** 12,20 **** # # Here are some examples (commented out of course): ! # ! # tramp::test patrick # Explicitly convert 'test' on tramp to 'patrick' ! # zaphod::.* none # Disable proxies from zaphod (assuming you don't have ! # # a user called 'none') ! # .*::.* decnet # Like a default DECnet account ! # .*::.* * # Equivalent to VMS *::* * proxy (make this last ! # # if you use it) --- 14,22 ---- # # Here are some examples (commented out of course): ! # ! # ^tramp$::^test$ patrick # Explicitly convert 'test' on tramp to 'patrick' ! # ^zaphod$::.* none # Disable proxies from zaphod (assuming you don't have ! # # a user called 'none') ! # .*::.* decnet # Like a default DECnet account ! # .*::.* * # Equivalent to VMS *::* * proxy (make this last ! # # if you use it) Index: decnet.proxy.5 =================================================================== RCS file: /cvsroot/linux-decnet/dnprogs/fal/decnet.proxy.5,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -r1.2 -r1.3 *** decnet.proxy.5 23 Jan 2001 11:48:24 -0000 1.2 --- decnet.proxy.5 8 Aug 2002 12:44:04 -0000 1.3 *************** *** 1,3 **** ! .TH DECNET.CONF 5 "4 September 1998" "DECnet for Linux" .SH NAME /etc/decnet.proxy \- DECnet proxy file --- 1,3 ---- ! .TH DECNET.CONF 5 "8 August 2002" "DECnet for Linux" .SH NAME /etc/decnet.proxy \- DECnet proxy file *************** *** 5,10 **** .B /etc/decnet.proxy is an ASCII file which contains mappings of remote DECnet users to local ! users. It is used by ! .B fal(8) when no username and password have been explicitly given to determine whether a user is allowed to access files and --- 5,10 ---- .B /etc/decnet.proxy is an ASCII file which contains mappings of remote DECnet users to local ! users. It is used by ! .B fal(8) when no username and password have been explicitly given to determine whether a user is allowed to access files and *************** *** 23,33 **** .I node The name or number of the remote node. If this is a name it must appear in ! .B decnet.conf(5) ! otherwise a DECnet node address should be used. This field may ! contain a regular expression. .TP .I remoteuser ! the name of a remote user or a regular expression that may match one or more ! remote user names .TP .I localuser --- 23,35 ---- .I node The name or number of the remote node. If this is a name it must appear in ! .B decnet.conf(5) ! otherwise a DECnet node address should be used. This field is a regular expression: ! If you want to match a single nodename then you must use the anchors ^ and $ either side ! of the name. .TP .I remoteuser ! a regular expression that may match one or more remote user names. If you want ! to match a single user then you must use the anchors ^ and $ either side of ! the name. .TP .I localuser *************** *** 36,40 **** .BR .PP ! Comments start with a hash mark and continue to the end of that line. They may be on a dedicated line or following an entry. --- 38,42 ---- .BR .PP ! Comments start with a hash mark and continue to the end of that line. They may be on a dedicated line or following an entry. *************** *** 46,55 **** # proxy configuration for fal. # ! tramp::test patrick # Explicitly convert 'test' on tramp to 'patrick' ! zaphod::.* none # Disable proxies from zaphod (assuming you don't ! # have a user called 'none') ! .*::.* decnet # Like a default DECnet account ! .*::.* * # Equivalent to VMS *::* * proxy (make this last ! # if you use it) .br .SH SEE ALSO --- 48,57 ---- # proxy configuration for fal. # ! ^tramp$::^test$ patrick # Explicitly convert 'test' on tramp to 'patrick' ! ^zaphod$::.* none # Disable proxies from zaphod (assuming you don't ! # have a user called 'none') ! .*::.* decnet # Like a default DECnet account ! .*::.* * # Equivalent to VMS *::* * proxy (make this last ! # if you use it) .br .SH SEE ALSO |
From: Patrick C. <pa...@us...> - 2002-07-25 08:08:13
|
Update of /cvsroot/linux-decnet/dnprogs/debian In directory usw-pr-cvs1:/tmp/cvs-serv11290 Modified Files: dnet-common.templates Log Message: s/startnet/setether/ Index: dnet-common.templates =================================================================== RCS file: /cvsroot/linux-decnet/dnprogs/debian/dnet-common.templates,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -r1.4 -r1.5 *** dnet-common.templates 22 Jun 2001 08:28:23 -0000 1.4 --- dnet-common.templates 25 Jul 2002 08:08:09 -0000 1.5 *************** *** 40,44 **** Type: note Description: DECnet startup changes your ethernet hardware address ! The startnet program in this package will change the hardware (MAC) address of all ethernet cards in your system (by default) to match the DECnet node address. This is essential for the operation of DECnet and so --- 40,44 ---- Type: note Description: DECnet startup changes your ethernet hardware address ! The "setether" program in this package will change the hardware (MAC) address of all ethernet cards in your system (by default) to match the DECnet node address. This is essential for the operation of DECnet and so *************** *** 57,61 **** DECnet nodes you want to communicate with. Description-de: Starten des DECnet verändert die MAC-Adresse Ihrer Netzwerkkarten. ! Das startnet-Programm in diesem Paket wird standardmäßig die Hardware- Adresse aller im Rechner installierten Netzwerkkarten ändern, um diese an die Knotenadresse anzupassen. Dies ist wichtig für den Betrieb des --- 57,61 ---- DECnet nodes you want to communicate with. Description-de: Starten des DECnet verändert die MAC-Adresse Ihrer Netzwerkkarten. ! Das setether-Programm in diesem Paket wird standardmäßig die Hardware- Adresse aller im Rechner installierten Netzwerkkarten ändern, um diese an die Knotenadresse anzupassen. Dies ist wichtig für den Betrieb des |
From: Patrick C. <pa...@us...> - 2002-07-23 07:14:12
|
Update of /cvsroot/linux-decnet/dnprogs In directory usw-pr-cvs1:/tmp/cvs-serv28829 Modified Files: NEWS Log Message: Update from Debian changelog Index: NEWS =================================================================== RCS file: /cvsroot/linux-decnet/dnprogs/NEWS,v retrieving revision 1.15 retrieving revision 1.16 diff -C2 -r1.15 -r1.16 *** NEWS 16 Oct 2001 15:01:52 -0000 1.15 --- NEWS 23 Jul 2002 07:14:10 -0000 1.16 *************** *** 1,2 **** --- 1,49 ---- + dnprogs (2.19-1) unstable; urgency=low + + * Suggests: iproute + * dnet-progs.init.d doesn't give errors when stopping on a + system with no DECnet in the kernel + * Remove node_address setting from modutils into init.d so + it works when DECnet is compiled into the kernel + * Makefile fixes + * startnet fixes to arg parsing + * phone uses pixmap directory properly + * ctermd now responds to DEL, ^X etc (hooray!) + * dnetd task_server now won't run arbitrary programs. + * dntask prints error messages if the connection fails. + * setether uses "ip" command if available rather than ifconfig + * Added timeout switch to dnping + * FAL no longer eats directories starting with '0' + Thanks to Matjaz Godec + * Add virtual-root feature to FAL + * Change to libdnet_daemon to allow RSX to connect + * Fixed truncate option in FAL + * Fixed wildard fetching in FAL so it works with dncopy + * Changes to FAL to allow RSX file transfers + + -- Patrick Caulfield <pa...@de...> Wed, 17 Jul 2002 16:38:52 +0100 + + dnprogs (2.18-1) unstable; urgency=low + + * Fix dependancies in dnet-progs so libdnet gets pulled in too even when + built by the autobuilders. Closes: bug#122893 + * Fix sending of binary files by FAL by block. + * Add .html, .tgz & .bz2 file types to FAL types list + + -- Patrick Caulfield <pa...@de...> Mon, 10 Dec 2001 10:15:12 +0000 + + dnprogs (2.17-1) unstable; urgency=low + + * Don't print "done" when stopping daemons in dnet-progs.init.d + * Use cuserid() rather than getlogin() to determine username so that + commands run under su and sudo work as expected + * include <stdarg> in rms/getreply.cc so it compiles on hppa + * Use -fsigned-char when building uulib to make it more portable + * Fixed message "Error opening file for input: Success" when attempting + to fetch a locked file using dncopy + * Fix some lintian warnings + + -- Patrick Caulfield <pa...@de...> Wed, 7 Nov 2001 15:15:28 +0000 + dnprogs (2.16-1) unstable; urgency=low *************** *** 6,10 **** * fal's directory output now correctly sends the new directory information if a double wildcard is used: eg [*]* ! * Fix bug in fal where binary files got corrupted if copied in "record" mode * setether now also sets the default interface for 2.4 kernels --- 53,57 ---- * fal's directory output now correctly sends the new directory information if a double wildcard is used: eg [*]* ! * Fix bug in fal where binary files got corrupted if copied in "record" mode * setether now also sets the default interface for 2.4 kernels *************** *** 14,20 **** dnprogs (2.15-1) unstable; urgency=low ! * in librms/parse.cc pass va_list in a wrapper struct so that it works on ! powerpc systems. Closes: bug#111680 ! * add set -e to Makefile so it gives up on error. I never was any good at writing Makefiles. * Minor manpage changes. --- 61,67 ---- dnprogs (2.15-1) unstable; urgency=low ! * in librms/parse.cc pass va_list in a wrapper struct so that it works on ! powerpc systems. Closes: bug#111680 ! * add set -e to Makefile so it gives up on error. I never was any good at writing Makefiles. * Minor manpage changes. *************** *** 63,67 **** * Fix crash in libdap if the first byte of a message is the last byte of a packet. ! * Add man page symlinks for dnet_accet/dnet_reject and dnet_endnode/dnet_nextnode. Closes: bug#99611 --- 110,114 ---- * Fix crash in libdap if the first byte of a message is the last byte of a packet. ! * Add man page symlinks for dnet_accet/dnet_reject and dnet_endnode/dnet_nextnode. Closes: bug#99611 *************** *** 82,86 **** * First Debian upload. Closes: bug#83642 * Split into 4 packages. ! * FAL now correctly uses metadata for block-structured files. -- Patrick Caulfield <pa...@de...> Sun, 4 Feb 2001 14:23:07 +0000 --- 129,133 ---- * First Debian upload. Closes: bug#83642 * Split into 4 packages. ! * FAL now correctly uses metadata for block-structured files. -- Patrick Caulfield <pa...@de...> Sun, 4 Feb 2001 14:23:07 +0000 *************** *** 104,110 **** about with it. * This file is now a Debian changelog ! -- Patrick Caulfield <pa...@de...> Sat, 28 Jan 2000 15:13:09 +0000 ! dnprogs (2.06-1) stable; urgency=low --- 151,157 ---- about with it. * This file is now a Debian changelog ! -- Patrick Caulfield <pa...@de...> Sat, 28 Jan 2000 15:13:09 +0000 ! dnprogs (2.06-1) stable; urgency=low *************** *** 114,118 **** * Fixed & tidied RPM building * Fixed phone bug so you can dial users by node number now ! * A small number of potential buffer overflows removed from dnetd & libdnet_daemon * Fixed compilation of phone on SuSE 6.4 & RedHat 6.2 systems --- 161,165 ---- * Fixed & tidied RPM building * Fixed phone bug so you can dial users by node number now ! * A small number of potential buffer overflows removed from dnetd & libdnet_daemon * Fixed compilation of phone on SuSE 6.4 & RedHat 6.2 systems *************** *** 122,126 **** * ctermd no longer goes into a tight loop if you ^Y^Y the session * Updated my email address ! -- Patrick Caulfield <pa...@ty...> Sat, 28 Oct 2000 19:33:06 +0000 --- 169,173 ---- * ctermd no longer goes into a tight loop if you ^Y^Y the session * Updated my email address ! -- Patrick Caulfield <pa...@ty...> Sat, 28 Oct 2000 19:33:06 +0000 *************** *** 132,138 **** -- Patrick Caulfield <pa...@pa...> Mon, 3 Apr 2000 19:33:06 +0000 ! dnprogs (2.04-1) stable; urgency=low ! * Fixed random crash in FAL when creating multiple files * Fixed a memory leak in dncopy sending multiple files --- 179,185 ---- -- Patrick Caulfield <pa...@pa...> Mon, 3 Apr 2000 19:33:06 +0000 ! dnprogs (2.04-1) stable; urgency=low ! * Fixed random crash in FAL when creating multiple files * Fixed a memory leak in dncopy sending multiple files *************** *** 147,162 **** most obvious when editting a large file via EDT and quitting near the top. * Removed dncopy.README as it didn't say anything anyway ! * Include a modified dnping with all sorts of new features, submitted by Rob Davies. man page by me. * Sethost now supports RSTS and TOPS-20. Thanks to Paul Koning for the patch. ! * Include rmtermd from Paul Koning so you can connect your PDP machines to Linux too. ! ! -- Patrick Caulfield <pa...@pa...> Sat, 5 Feb 2000 19:33:06 +0000 dnprogs (2.03-1) stable; urgency=low * RPMs now include the decnetconf script. ! * RPMs now include some previously missing man pages * Corrected dndir so that it works with DECnet/E. Thanks to Paul Koning <pk...@xe...> for the patch. I've reworked it --- 194,209 ---- most obvious when editting a large file via EDT and quitting near the top. * Removed dncopy.README as it didn't say anything anyway ! * Include a modified dnping with all sorts of new features, submitted by Rob Davies. man page by me. * Sethost now supports RSTS and TOPS-20. Thanks to Paul Koning for the patch. ! * Include rmtermd from Paul Koning so you can connect your PDP machines to Linux too. ! ! -- Patrick Caulfield <pa...@pa...> Sat, 5 Feb 2000 19:33:06 +0000 dnprogs (2.03-1) stable; urgency=low * RPMs now include the decnetconf script. ! * RPMs now include some previously missing man pages * Corrected dndir so that it works with DECnet/E. Thanks to Paul Koning <pk...@xe...> for the patch. I've reworked it *************** *** 175,179 **** * ctermd no longer uses 'login -p' * Fixed the DAP client buffer size from 65536 to 65535. D'oh! Only my FAL ! barfed on this piece of (probably alcohol induced) stupidity; and it shouldn't have. * In FAL dir node::"/dir" now adds a "/*" to the end of the name so you get --- 222,226 ---- * ctermd no longer uses 'login -p' * Fixed the DAP client buffer size from 65536 to 65535. D'oh! Only my FAL ! barfed on this piece of (probably alcohol induced) stupidity; and it shouldn't have. * In FAL dir node::"/dir" now adds a "/*" to the end of the name so you get *************** *** 199,204 **** system on-the-fly. ! -- Patrick Caulfield <pa...@pa...> Thu, 9 Dec 1999 19:33:06 +0000 ! dnprogs (2.02-1) stable; urgency=low --- 246,251 ---- system on-the-fly. ! -- Patrick Caulfield <pa...@pa...> Thu, 9 Dec 1999 19:33:06 +0000 ! dnprogs (2.02-1) stable; urgency=low *************** *** 208,213 **** * Added new functions to librms for easier programming ! -- Patrick Caulfield <pa...@pa...> Thu, 21 Oct 1999 19:33:06 +0000 ! dnprogs (2.01-1) stable; urgency=low --- 255,260 ---- * Added new functions to librms for easier programming ! -- Patrick Caulfield <pa...@pa...> Thu, 21 Oct 1999 19:33:06 +0000 ! dnprogs (2.01-1) stable; urgency=low *************** *** 218,226 **** * Fixed blocking(!) * New function in libdnet: dnet_recv(). This function is designed to hide ! the differences between recv() in the 'Eduardo' and 'Steve' kernels in that it will always read a full record before returning. ! -- Patrick Caulfield <pa...@pa...> Fri, 15 Jul 1999 19:33:06 +0000 ! dnprogs (2.00-1) stable; urgency=medium --- 265,273 ---- * Fixed blocking(!) * New function in libdnet: dnet_recv(). This function is designed to hide ! the differences between recv() in the 'Eduardo' and 'Steve' kernels in that it will always read a full record before returning. ! -- Patrick Caulfield <pa...@pa...> Fri, 15 Jul 1999 19:33:06 +0000 ! dnprogs (2.00-1) stable; urgency=medium *************** *** 238,246 **** * Added Steve's dnet_ntop and dnet_pton functions to libdnet ! -- Patrick Caulfield <pa...@pa...> Sun, 11 Jul 1999 19:33:06 +0000 ! ! dnprogs (1.94-1) stable; urgency=low ! * Tidied error messages from dndel * Fixed Makefile for librms --- 285,293 ---- * Added Steve's dnet_ntop and dnet_pton functions to libdnet ! -- Patrick Caulfield <pa...@pa...> Sun, 11 Jul 1999 19:33:06 +0000 ! ! dnprogs (1.94-1) stable; urgency=low ! * Tidied error messages from dndel * Fixed Makefile for librms *************** *** 255,259 **** dnprogs (1.93-1) stable; urgency=low ! * All libraries are now release under the LGPL. Thanks to Eduardo and Steve for allowing me to change the licence on their parts of this software --- 302,306 ---- dnprogs (1.93-1) stable; urgency=low ! * All libraries are now release under the LGPL. Thanks to Eduardo and Steve for allowing me to change the licence on their parts of this software *************** *** 271,276 **** * NEW! librms library to help people write Linux applications that read VMS files (including indexed ones) ! ! -- Patrick Caulfield <pa...@pa...> Fri, 23 May 1999 19:33:06 +0000 dnprogs (1.92-1) stable; urgency=low --- 318,323 ---- * NEW! librms library to help people write Linux applications that read VMS files (including indexed ones) ! ! -- Patrick Caulfield <pa...@pa...> Fri, 23 May 1999 19:33:06 +0000 dnprogs (1.92-1) stable; urgency=low *************** *** 285,291 **** * First stab at FAL file type guessing. Opinions please!! ! -- Patrick Caulfield <pa...@pa...> Fri, 9 May 1999 19:33:06 +0000 ! dnprogs (1.91-1) stable; urgency=low * This is a pre-release of dnprogs 2.0 --- 332,338 ---- * First stab at FAL file type guessing. Opinions please!! ! -- Patrick Caulfield <pa...@pa...> Fri, 9 May 1999 19:33:06 +0000 ! dnprogs (1.91-1) stable; urgency=low * This is a pre-release of dnprogs 2.0 *************** *** 310,314 **** that (can be) forked by dnetd or run standalone. * Re-worked all daemon programs to use libdnet_daemon ! ! -- Patrick Caulfield <pa...@pa...> Fri, 3 May 1999 19:33:06 +0000 --- 357,361 ---- that (can be) forked by dnetd or run standalone. * Re-worked all daemon programs to use libdnet_daemon ! ! -- Patrick Caulfield <pa...@pa...> Fri, 3 May 1999 19:33:06 +0000 |
From: Patrick C. <pa...@us...> - 2002-07-23 07:12:14
|
Update of /cvsroot/linux-decnet/dnprogs In directory usw-pr-cvs1:/tmp/cvs-serv28319 Modified Files: Makefile Log Message: Update RPM command for rpm 4.x Index: Makefile =================================================================== RCS file: /cvsroot/linux-decnet/dnprogs/Makefile,v retrieving revision 1.16 retrieving revision 1.17 diff -C2 -r1.16 -r1.17 *** Makefile 18 Jan 2002 19:15:44 -0000 1.16 --- Makefile 23 Jul 2002 07:12:10 -0000 1.17 *************** *** 12,16 **** all: ! @. scripts/check_kernel.sh; if [ $$? = 1 ]; then exit 1; fi @set -e; for i in $(SUBDIRS); do make -C $$i $@ ; done --- 12,16 ---- all: ! # @. scripts/check_kernel.sh; if [ $$? = 1 ]; then exit 1; fi @set -e; for i in $(SUBDIRS); do make -C $$i $@ ; done *************** *** 91,95 **** mkdir -p BUILD RPMS/$(ARCH) cp README NEWS Documentation/*.README BUILD ! rpm -bb --target=$(ARCH) --buildroot `pwd`/rpmbuild -v --rcfile .rpmrc $(PKGNAME).spec rm -f $(PKGNAME).spec .rpmrc .rpmmacros --- 91,95 ---- mkdir -p BUILD RPMS/$(ARCH) cp README NEWS Documentation/*.README BUILD ! rpmbuild -bb --target $(ARCH) --buildroot `pwd`/rpmbuild -v --rcfile .rpmrc $(PKGNAME).spec rm -f $(PKGNAME).spec .rpmrc .rpmmacros |
From: Patrick C. <pa...@us...> - 2002-07-22 16:14:56
|
Update of /cvsroot/linux-decnet/dnprogs/debian In directory usw-pr-cvs1:/tmp/cvs-serv1062/debian Modified Files: rules Log Message: Get rid of the other dh_testversion too Index: rules =================================================================== RCS file: /cvsroot/linux-decnet/dnprogs/debian/rules,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -r1.13 -r1.14 *** rules 16 Jul 2002 10:11:59 -0000 1.13 --- rules 22 Jul 2002 16:14:53 -0000 1.14 *************** *** 73,77 **** mv debian/tmp/usr/man debian/tmp/usr/share mv debian/tmp/usr/sbin/startnet debian/tmp/sbin - dh_testversion 2 dh_installdirs -Ndnet-common dh_installchangelogs -Ndnet-common --- 73,76 ---- |
From: Patrick C. <pa...@us...> - 2002-07-22 16:08:58
|
Update of /cvsroot/linux-decnet/dnprogs/dnlogin In directory usw-pr-cvs1:/tmp/cvs-serv31186 Modified Files: cterm.c dnlogin.c dnlogin.h found.c tty.c Log Message: Bits of stuff for OOB messages. Index: cterm.c =================================================================== RCS file: /cvsroot/linux-decnet/dnprogs/dnlogin/cterm.c,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -r1.7 -r1.8 *** cterm.c 20 Jul 2002 19:27:10 -0000 1.7 --- cterm.c 22 Jul 2002 16:08:54 -0000 1.8 *************** *** 153,162 **** int ptr = 0; ! flags = buf[1] | buf[2] << 8; ! ptr = 3; ! if (flags & 0x8000) ! { ! flags |= buf[ptr++] << 16; ! } maxlength = buf[ptr] | buf[ptr+1]<<8; ptr += 2; --- 153,158 ---- int ptr = 0; ! flags = buf[1] | buf[2] << 8 | buf[3] << 16; ! ptr = 4; maxlength = buf[ptr] | buf[ptr+1]<<8; ptr += 2; *************** *** 171,175 **** if (debug & 2) fprintf(stderr, "CTERM: flags = %x\n",flags); if (flags & 4) tty_clear_typeahead(); - // if (flags & 8) tty_write("\n", 1); if (flags & 0x800) tty_set_noecho(); --- 167,170 ---- *************** *** 177,181 **** tty_set_terminators(buf+ptr, term_len); ! tty_start_read(buf+ptr+term_len+1, len-term_len-ptr-1, eoprompt-1); tty_set_timeout(timeout); tty_set_maxlen(maxlength); --- 172,176 ---- tty_set_terminators(buf+ptr, term_len); ! tty_start_read(buf+ptr+term_len, len-term_len-ptr-1, eoprompt); tty_set_timeout(timeout); tty_set_maxlen(maxlength); *************** *** 191,195 **** static int cterm_process_unread(char *buf, int len) ! {return len;} static int cterm_process_clear_input(char *buf, int len) --- 186,193 ---- static int cterm_process_unread(char *buf, int len) ! { ! tty_send_unread(); ! return len; ! } static int cterm_process_clear_input(char *buf, int len) *************** *** 516,519 **** --- 514,530 ---- } + + int cterm_send_oob(char oobchar, int discard) + { + char newbuf[3]; + if (debug & 2) fprintf(stderr, "CTERM: sending OOB char %d\n", oobchar); + + newbuf[0] = CTERM_MSG_OOB; + newbuf[1] = discard; + newbuf[2] = oobchar; + + return found_common_write(newbuf, 3); + + } int cterm_send_input(char *buf, int len, int flags) Index: dnlogin.c =================================================================== RCS file: /cvsroot/linux-decnet/dnprogs/dnlogin/dnlogin.c,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -r1.6 -r1.7 *** dnlogin.c 17 Jul 2002 18:36:25 -0000 1.6 --- dnlogin.c 22 Jul 2002 16:08:55 -0000 1.7 *************** *** 71,74 **** --- 71,75 ---- break; } + write(termfd, "\n", 1); return 0; } *************** *** 149,152 **** --- 150,154 ---- send_input = cterm_send_input; + send_oob = cterm_send_oob; if (found_setup_link(argv[optind], DNOBJECT_CTERM, cterm_process_network) == 0) { Index: dnlogin.h =================================================================== RCS file: /cvsroot/linux-decnet/dnprogs/dnlogin/dnlogin.h,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -r1.7 -r1.8 *** dnlogin.h 20 Jul 2002 19:27:10 -0000 1.7 --- dnlogin.h 22 Jul 2002 16:08:55 -0000 1.8 *************** *** 25,36 **** /* cterm/dterm routines */ extern int cterm_send_input(char *buf, int len, int flags); extern int cterm_process_network(char *buf, int len); /* TTY routines */ ! extern int tty_write(char *buf, int len); extern void tty_set_terminators(char *buf, int len); extern void tty_start_read(char *prompt, int len, int promptlen); extern void tty_set_timeout(unsigned short to); extern void tty_set_maxlen(unsigned short len); extern int tty_process_terminal(unsigned char *inbuf, int len); extern int tty_setup(char *name, int setup); --- 25,38 ---- /* cterm/dterm routines */ extern int cterm_send_input(char *buf, int len, int flags); + extern int cterm_send_oob(char, int); extern int cterm_process_network(char *buf, int len); /* TTY routines */ ! extern int tty_write(char *buf, int len); extern void tty_set_terminators(char *buf, int len); extern void tty_start_read(char *prompt, int len, int promptlen); extern void tty_set_timeout(unsigned short to); extern void tty_set_maxlen(unsigned short len); + extern void tty_send_unread(void); extern int tty_process_terminal(unsigned char *inbuf, int len); extern int tty_setup(char *name, int setup); *************** *** 39,42 **** --- 41,45 ---- extern int (*send_input)(char *buf, int len, int flags); + extern int (*send_oob)(char, int); /* Global variables */ Index: found.c =================================================================== RCS file: /cvsroot/linux-decnet/dnprogs/dnlogin/found.c,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -r1.6 -r1.7 *** found.c 20 Jul 2002 19:27:10 -0000 1.6 --- found.c 22 Jul 2002 16:08:55 -0000 1.7 *************** *** 35,39 **** /* Foundation services messages */ #define FOUND_MSG_BIND 1 ! #define FOUND_MSG_UNBIND 2 #define FOUND_MSG_BINDACCEPT 4 #define FOUND_MSG_ENTERMODE 5 --- 35,39 ---- /* Foundation services messages */ #define FOUND_MSG_BIND 1 ! #define FOUND_MSG_UNBIND 3 #define FOUND_MSG_BINDACCEPT 4 #define FOUND_MSG_ENTERMODE 5 *************** *** 127,131 **** struct common_header header; ! if (debug) fprintf(stderr, "FOUND: snding %d bytes\n", len); if (debug & 8) { --- 127,131 ---- struct common_header header; ! if (debug) fprintf(stderr, "FOUND: sending %d bytes\n", len); if (debug & 8) { *************** *** 137,141 **** } ! memset(&msg, 0, sizeof(msg)); vectors[0].iov_base = (void *)&header; --- 137,141 ---- } ! memset(&msg, 0, sizeof(msg)); vectors[0].iov_base = (void *)&header; *************** *** 201,204 **** --- 201,213 ---- return -1; + case FOUND_MSG_ENTERMODE: + { + char nomode_msg[] = {0x8}; + if (debug) + fprintf(stderr, "FOUND: Request to enter node = %d\n", inbuf[1]); + write(sockfd, nomode_msg, sizeof(nomode_msg)); + return 0; + } + /* Common data goes straight to the terminal processor */ case FOUND_MSG_COMMONDATA: *************** *** 210,214 **** if (debug) ! printf("FOUND: commondata: %d bytes\n",msglen); ptr += 2; --- 219,223 ---- if (debug) ! fprintf(stderr, "FOUND: commondata: %d bytes\n",msglen); ptr += 2; Index: tty.c =================================================================== RCS file: /cvsroot/linux-decnet/dnprogs/dnlogin/tty.c,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -r1.5 -r1.6 *** tty.c 20 Jul 2002 19:27:10 -0000 1.5 --- tty.c 22 Jul 2002 16:08:55 -0000 1.6 *************** *** 54,59 **** static int insert_mode = 0; ! /* Output processor */ int (*send_input)(char *buf, int len, int flags); /* Raw write to terminal */ --- 54,60 ---- static int insert_mode = 0; ! /* Output processors */ int (*send_input)(char *buf, int len, int flags); + int (*send_oob)(char oobchar, int discard); /* Raw write to terminal */ *************** *** 90,93 **** --- 91,95 ---- promptlen, len); if (promptlen) write(termfd, prompt, promptlen); + if (len < 0) len = sizeof(input_buf); /* Save the actual prompt in one buffer and the prefilled *************** *** 206,209 **** --- 208,216 ---- } + void tty_send_unread() + { + send_input_buffer(0); + } + /* Input from keyboard */ int tty_process_terminal(unsigned char *buf, int len) *************** *** 226,229 **** --- 233,251 ---- reading = 0; return 0; + } + + + /* Check for OOB - these discard input*/ + if (buf[i] == CTRL_C || buf[i] == CTRL_Y) + { + send_oob(buf[i], 1); + continue; + } + + /* Check for OOB - these don't */ + if (buf[i] == CTRL_Z || buf[i] == CTRL_T) + { + send_oob(buf[i], 0); + continue; } |
From: Patrick C. <pa...@us...> - 2002-07-20 19:27:16
|
Update of /cvsroot/linux-decnet/dnprogs/dnlogin In directory usw-pr-cvs1:/tmp/cvs-serv504 Modified Files: cterm.c dnlogin.h found.c tty.c Log Message: Bit more work. Can now log in to VMS and issue commands. still needs the OOB stuff to go in. Index: cterm.c =================================================================== RCS file: /cvsroot/linux-decnet/dnprogs/dnlogin/cterm.c,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -r1.6 -r1.7 *** cterm.c 18 Jul 2002 15:55:44 -0000 1.6 --- cterm.c 20 Jul 2002 19:27:10 -0000 1.7 *************** *** 143,161 **** static int cterm_process_start_read(char *buf, int len) { ! unsigned short flags = buf[1] | buf[2]<<8; ! unsigned short maxlength = buf[3] | buf[4]<<8; ! unsigned short eodata = buf[5] | buf[6]<<8; ! unsigned short timeout = buf[7] | buf[8]<<8; ! unsigned short eoprompt = buf[9] | buf[10]<<8; ! unsigned short sodisplay = buf[11]| buf[12]<<8; ! unsigned short lowwater = buf[13]| buf[14]<<8; ! unsigned char term_len = buf[15]; ! // TODO flags if (debug & 2) fprintf(stderr, "term_len = %d\n", term_len); ! tty_set_terminators(buf+16, term_len); ! tty_start_read(buf+16+term_len, len-term_len-16, eoprompt); tty_set_timeout(timeout); tty_set_maxlen(maxlength); --- 143,181 ---- static int cterm_process_start_read(char *buf, int len) { ! unsigned int flags; ! unsigned short maxlength; ! unsigned short eodata; ! unsigned short timeout; ! unsigned short eoprompt; ! unsigned short sodisplay; ! unsigned short lowwater; ! unsigned char term_len; ! int ptr = 0; ! ! flags = buf[1] | buf[2] << 8; ! ptr = 3; ! if (flags & 0x8000) ! { ! flags |= buf[ptr++] << 16; ! } ! maxlength = buf[ptr] | buf[ptr+1]<<8; ptr += 2; ! eodata = buf[ptr] | buf[ptr+1]<<8; ptr += 2; ! timeout = buf[ptr] | buf[ptr+1]<<8; ptr += 2; ! eoprompt = buf[ptr] | buf[ptr+1]<<8; ptr += 2; ! sodisplay = buf[ptr] | buf[ptr+1]<<8; ptr += 2; ! lowwater = buf[ptr] | buf[ptr+1]<<8; ptr += 2; ! term_len = buf[ptr++]; ! ! // TODO more flags ! if (debug & 2) fprintf(stderr, "CTERM: flags = %x\n",flags); ! if (flags & 4) tty_clear_typeahead(); ! // if (flags & 8) tty_write("\n", 1); ! if (flags & 0x800) tty_set_noecho(); if (debug & 2) fprintf(stderr, "term_len = %d\n", term_len); ! tty_set_terminators(buf+ptr, term_len); ! tty_start_read(buf+ptr+term_len+1, len-term_len-ptr-1, eoprompt-1); tty_set_timeout(timeout); tty_set_maxlen(maxlength); *************** *** 183,187 **** // TODO: flags... ! tty_write(buf+5, len-5); return len; } --- 203,207 ---- // TODO: flags... ! tty_write(buf+4, len-4); return len; } *************** *** 448,452 **** break; case CTERM_MSG_START_READ: ! offset += cterm_process_start_read(buf+offset+1, len-offset); break; case CTERM_MSG_READ_DATA: --- 468,472 ---- break; case CTERM_MSG_START_READ: ! offset += cterm_process_start_read(buf+offset, len-offset); break; case CTERM_MSG_READ_DATA: *************** *** 509,514 **** newbuf[4] = 0; // vert pos newbuf[5] = 0; // horiz pos ! newbuf[6] = 0; // term pos 1 ! newbuf[7] = 0; // term pos 2 memcpy(newbuf+8, buf, len); --- 529,534 ---- newbuf[4] = 0; // vert pos newbuf[5] = 0; // horiz pos ! newbuf[6] = len-1; // term pos 1 ! newbuf[7] = (len-1) << 8; // term pos 2 memcpy(newbuf+8, buf, len); Index: dnlogin.h =================================================================== RCS file: /cvsroot/linux-decnet/dnprogs/dnlogin/dnlogin.h,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -r1.6 -r1.7 *** dnlogin.h 18 Jul 2002 15:55:44 -0000 1.6 --- dnlogin.h 20 Jul 2002 19:27:10 -0000 1.7 *************** *** 35,38 **** --- 35,40 ---- extern int tty_process_terminal(unsigned char *inbuf, int len); extern int tty_setup(char *name, int setup); + extern void tty_clear_typeahead(void); + extern void tty_set_noecho(void); extern int (*send_input)(char *buf, int len, int flags); Index: found.c =================================================================== RCS file: /cvsroot/linux-decnet/dnprogs/dnlogin/found.c,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -r1.5 -r1.6 *** found.c 19 Jul 2002 15:10:26 -0000 1.5 --- found.c 20 Jul 2002 19:27:10 -0000 1.6 *************** *** 127,130 **** --- 127,141 ---- struct common_header header; + if (debug) fprintf(stderr, "FOUND: snding %d bytes\n", len); + if (debug & 8) + { + int i; + + for (i=0; i<len; i++) + fprintf(stderr, "%02x ", (unsigned char)buf[i]); + fprintf(stderr, "\n\n"); + } + + memset(&msg, 0, sizeof(msg)); vectors[0].iov_base = (void *)&header; Index: tty.c =================================================================== RCS file: /cvsroot/linux-decnet/dnprogs/dnlogin/tty.c,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -r1.4 -r1.5 *** tty.c 18 Jul 2002 15:55:44 -0000 1.4 --- tty.c 20 Jul 2002 19:27:10 -0000 1.5 *************** *** 60,66 **** int tty_write(char *buf, int len) { ! return (write(termfd, buf, len) == len); } void tty_set_terminators(char *buf, int len) { --- 60,81 ---- int tty_write(char *buf, int len) { ! int i; ! ! for (i=0; i<len; i++) ! { ! if (buf[i] == '\r') ! write(termfd, "\r\n", 2); ! else ! write(termfd, &buf[i], 1); ! } ! return len; ! } ! ! void tty_set_noecho() ! { ! echo = 0; } + void tty_set_terminators(char *buf, int len) { *************** *** 108,111 **** --- 123,131 ---- } + void tty_clear_typeahead() + { + rahead_len = 0; + } + void tty_set_maxlen(unsigned short len) { *************** *** 174,177 **** --- 194,209 ---- } + static void send_input_buffer(int flags) + { + char buf[1024]; + + memcpy(buf, input_buf, input_len); + + send_input(buf, input_len, flags); + input_len = input_pos = 0; + reading = 0; + echo = 1; + } + /* Input from keyboard */ int tty_process_terminal(unsigned char *buf, int len) *************** *** 191,195 **** if (is_terminator(buf[i])) { ! send_input(&buf[i], 1, 0); reading = 0; return 0; --- 223,227 ---- if (is_terminator(buf[i])) { ! send_input(&buf[i], 1, 1); /* last "1" is "terminator" */ reading = 0; return 0; *************** *** 209,214 **** } - fprintf(stderr, "input_pos=%d, input_len = %d\n", input_pos, input_len); - /* Still processing escape sequence */ if (esc_len) --- 241,244 ---- *************** *** 223,227 **** { input_pos++; ! write(termfd, esc_buf, esc_len); } } --- 253,257 ---- { input_pos++; ! if (echo) write(termfd, esc_buf, esc_len); } } *************** *** 231,235 **** { input_pos--; ! write(termfd, esc_buf, esc_len); } } --- 261,265 ---- { input_pos--; ! if (echo) write(termfd, esc_buf, esc_len); } } *************** *** 249,257 **** case CTRL_U: // delete input line move_cursor_abs(prompt_len); ! erase_eol(); input_pos = input_len = 0; break; case CTRL_H: // back to start of line ! move_cursor_abs(prompt_len); input_pos = 0; break; --- 279,287 ---- case CTRL_U: // delete input line move_cursor_abs(prompt_len); ! if (echo) erase_eol(); input_pos = input_len = 0; break; case CTRL_H: // back to start of line ! if (echo) move_cursor_abs(prompt_len); input_pos = 0; break; *************** *** 260,264 **** break; case CTRL_M: ! send_input(input_buf, input_len, 0); input_len = input_pos = 0; reading = 0; --- 290,295 ---- break; case CTRL_M: ! input_buf[input_len++] = buf[i]; ! send_input_buffer(1); input_len = input_pos = 0; reading = 0; *************** *** 269,273 **** input_pos--; input_len = input_pos; ! write(termfd, "\033[D \033[D", 7); } break; --- 300,304 ---- input_pos--; input_len = input_pos; ! if (echo) write(termfd, "\033[D \033[D", 7); } break; *************** *** 276,280 **** } - /* Read not active, store in the read ahead buffer */ if (!reading) --- 307,310 ---- *************** *** 285,297 **** } ! if (echo) - { write(termfd, &buf[i], 1); - } - - if (debug & 4) fprintf(stderr, "TTY: input_len=%d, pos=%d\n", - input_len, input_pos); input_buf[input_pos++] = buf[i]; if (input_len < input_pos) --- 315,323 ---- } ! /* echo if req'd */ if (echo) write(termfd, &buf[i], 1); + /* Check for buffer overflow */ input_buf[input_pos++] = buf[i]; if (input_len < input_pos) *************** *** 300,310 **** if (input_len >= max_read_len) { ! char buf[1024]; ! memcpy(buf, prompt_buf, prompt_len); ! memcpy(buf+prompt_len, input_buf, input_len); ! ! send_input(buf, input_len+prompt_len, 0); ! input_len = input_pos = 0; ! reading = 0; } } --- 326,330 ---- if (input_len >= max_read_len) { ! send_input_buffer(4); } } |