1. Rn Now rn net will post the article to one of the groups mentioned in Newsgroups: line if one of them exist in the system. Previously it checked only the first group mentioned in the list and posted to junk if it didn't exist. (I still have to add cross-posting.) Active-file is now optional (used with vn) and the default is "none". This means that it is not updated at all. If the rc-entry is anything else, the active file is updated 1) when exiting rn and a post was made 2) after rn net host unpack 3) after rn tidy. The handling of the active file is very inefficient, and I still have to make a use of it. WARNING! active file is only generated, not read! Do not use active file if your news system already generates it ! Adding groups in rn didn't work so well, because add_group() didn't remember to close the newsgroups-file. I think it worked all right if you didn't add more than one group at a time. Also the remove routine was equally good. Actually, all it did was "return 0;". In the %postnews: configuration entry you can use some variable strings: %f = name of the article file %u = user login name %r = user full name Some people have complained that rn first adds a bunch of newsgroups and then removes them and this happens every time rn is started. The reason for this behaviour was that the groups were mentioned in the newsgroups file, but otherwise they didn't exist. A newsgroup exists if it has a news directory with the .next file. A new group is now added to the user's newsrc if the group name is in the newsgroups file AND it exists. However, it is still possible that rn first adds a new group and then removes it. This happens if the newsgroup does not have a .next file. The sys file usage has changed slightly. Now positive and negative patterns are considered equal: the whole pattern line is checked. It is now possible to use a line like: huuhaa:*,-alt*,alt.hackers,alt*amiga Date: now confirms to RFC822, /etc/rc has a %timezone: entry, default is GMT. 9 chars maximum. Local flag ("l") in the newsgroups file is not used anymore. Configure sys file entries instead to restrict distribution. "r" flag implemented, (read-only-groups). e.g. junk 10 r (expire-time 10 days, read-only) Article display is now faster. More routine will NOT count ansi-sequences to the line length, so you could use colourful .signatures. When rn collects a net packet, it will add a Path:-line if it does not already exist in a article. When rn unpacks a packet, it will use the sending host as a pathname, if no Path: is found, and so will not send the article back. 2. Mail Now you can use UUCP sendmail with mail and ami. You of course should have both UUMAIL: and %mail: (in /etc/rc) pointing to the same place. Another thing you have to change is the %sendmail: entry in the /etc/rc.mail to UUCP:c/sendmail <%f -f %u -R "%r" -t %t -c "%c". /etc/rc.mail is optional and the default setting for the %sendmail: is "internal", which uses AXsh's own routing. The variable strings that can be used in the %sendmail: entry are: %f = name of the letter file %u = user login name %r = user full name %t = receiver %c = carbon copies You can also move the AXsh Routetable file out of the mail directory by using the corresponding %routetable: entry. First version of mail aliases. %aliasfile: defines which file to use. Aliases are expanded before .forward. "\" can be used to escape further alias and .forward expansions. Messages can't be piped to a command. Some examples, aliases must start from the first column: pasi.ojala: root Pasi.Ojala: \albert axsh: root root@hub root@host1 root@host2 Date: now confirms to RFC822, /etc/rc has a %timezone: entry, default is GMT. 9 chars maximum. 3. AXsh AXsh has now eight user-levels and four superuser-levels named as: daemon,system,wizard,superuser and assistant,privileged,trusted, friend,qualified,normal,guest,visitor. Hardcoded privileges are in this order, all superuser levels are currently equal and other levels are only used in rn (over or equal to "privileged" will allow group creation and article cancellation). Because this change was already on it's way when the AXshDemo1.25 was released, the privileged level did not work correctly and AXsh used settings for "normal" instead. Of course you can change the order of the levels in the rc file if you think that some level should be more privileged than some other. If the definition for a user level does not exist in the /etc/rc, definitions for "normal" are used and a warning is displayed. Remeber that the level names are case-sensitive like all other identifiers in the rc files. No more /.. For example lha has a nice feature: "lha a packet directory" will recursively collect all files.. AXsh has now an internal protect-command, which also understands the new C=-defined group and world protection bits. Currently it does not understand wildcards and the new bits are not yet used anywhere. (However, "ls" shows them.) Resizing the window now automagically sets the variables rows and columns if you are in the AXsh getline routine. When you log in, the window size report is requested and the variables are set accordingly. If there is no response, default values are set to the variables, usually 25 and 80. The window can also be resized from serial with a string like ESC[1;1;;r , where rows should be between 0 and 99 (only two digits are supported). ESC[ can be replaced with CSI (0x9b). -user can be used to log in a specified user. However, no password is asked and no other login name can be used in that session ("login" will work, but it will not ask login name nor password). This option is in a gray area, because you can do "axsh -user root" and you instantly have superuser privileges. Of course this is only possible on console, where anything is possible for an experienced user, but with this even less experienced users can bring down the system. I only made this to satisfy some UUCP users.. Any other way to do this ? When run under ks2.0, AXsh (and other programs that launch other program) does not open arp.library anymore. AXsh can also use ks2.0 residents and shell internals now. Couple of more internal commands in AXsh itself: internal - lists all internal commands quit - a 'null-command', to prevent execution of the shell-internal quit, which would freeze the process completely. uptime - the first line of who-command which - first searches AXsh aliases, internals and then uses an external which-command, which is hopefully accessible.. who - displays uptime and users logged in etc. exit and login can now be called from scripts and which also shows them. When checking quota, AXsh will not go through links or count files that are links to other files. 4. AXAUX-handler A new option to the filename part: /speed/.. This is needed if you want to use a speed that is not available in preferences. e.g. axaux:serial.device/0/shared/speed38400/checkcd The checkcd-option is not fully tested and it may not work as expected in all situations. However, when carrier drops and axaux: gets Read or WaitForChar packets, it will see if the carrier has dropped and send SIGBREAKF_CTRL_C to the reading process. This is very usable with non-AXsh programs. Btw, when doing the speed change I noticed that System() considers '=' to be equal to space.. For example, try to say ls=Axsh: in AmigaShell and be suprised! AXsh will escape any arguments that has equal signs by enclosing them in double-quotes. 5. AX-sysghost AX-sysghost does not write uptime/user reports to env: anymore. This reduces memory fragmentation and increases system speed. Two programs are provided to be used in AmigaShell windows to get the information straight from the sysghost itself: "who" and "uptime". 6. Misc sx and rx are no longer included, as you can use xprxmodem.library or xprymodem.library with XPR. More now has a Back-one-page command (b) and the output is significantly faster. It also has a screenclear-option (^L used): more [-s] file1 [file2 ..] The display can be restarted (r), restarted in rot-13 mode (x) and other special commands are also available. The first character in "ls" long listing has changed a bit : "d" for directory \_ like in the old version "-" for file / "l" for (hard) link to a file "D" for (hard) link to a directory "s" for a soft-link