In diesem File werden neue Feature beschrieben, die noch nicht im (veralteten) doku.ps enthalten sind. Irgendwann demnaechst wird die ganze Doku ueberarbeitet, dann verschwindet auch dieses File wieder. Die Behebung von Bugs wird in ChangeLog beschrieben. - Neue Option -m LIMIT fuer sendfile um den maximalen Durchsatz auf LIMIT KB/s zu beschraenken. - Neue sendfile.cf Option lanspeed: damit kann festgelegt werden, bis zu welchem Durchsatz in KB/s andere Hosts als lokal definiert werden, was zur Folge hat, dass an diese Hosts nicht komprimiert verschickt wird. - Unterstuetzte regular expressions: ? matches any single character * matches any string [abc] matches 'a' or 'b' or 'c' within [] the characters '?', '*' and '[' are no wildcards [^abc] matches every character but not 'a' or 'b' or 'c' [a-d] matches 'a' or 'b' or 'c' or 'd' (range) this is equal to [abcd] [^a-d] matches every character but not 'a' or 'b' or 'c' or 'd' (range) this is equal to [^abcd] \? test for "true" '?' alternative: [?] \* test for "true" '*' alternative: [*] \[ test for "true" '[' alternative: [[] \a Bell \b BackSpace \f FormFeed \n NewLine \r Return \t Tab \v FormFeed \\ Backslash - sendfile-2.1 hat jetzt bzip2 Support. bzip2 ist ein neues lizenzfreies Komprimierungsprogramm und ist etwa 10-30% effizienter als gzip (http://www.muraroa.demon.co.uk/) - Neue Hilfsprogramme zum Konfigurieren: fuer den User: sfconf fuer den Admin: sfdconf - Protokoll-Erweiterung O-SAFT mit neuem Client fetchfile: siehe LIESMICH.fetchfile - Die Syntax der sendfile Option "-a archive-name" wurde geaendert zu "-a=archive-name" um eine Fehlbedienung zu minimieren. Aus Orthogonalitaetsgruenden ist jetzt auch "-c='comment'" neben "-c 'comment'" zulaessig. - Neue receive Option "-S keyring" erzwingt einen Signaturcheck. Nur wenn dieser positiv ist, wird das File empfangen. Wichtig fuer Batch-Betrieb. - Wird ein File erkannt, das nicht komprimierbar erscheint (typische File- Extension oder Erkenntnis durch file(1)-Programm), dann wird unkomprimiert verschickt. Mit der Option -C kann Komprimierung erzwungen werden. - Messages koennen in /var/spool/sendfile/$USER/msglog geloggt werden, wenn die Option msglog = on im /var/spool/sendfile/$USER/config/config oder sendfile.cf gesetzt ist. - Das Verhalten des tty Tests von sendmsg wurde geaendert. Jetzt gilt: Die erste message, die ankommt wird vom sendfiled auf allen ttys ausgegeben, die fuer group schreibberechtigt sind. Dasselbe wird erreicht durch: sendmsg -M Wird eine message abgeschickt und ist kein tty als aktiv markiert, so wird das aktuelle tty als aktiv markiert. Das bedeutet dass ab sofort einkommende messages nur noch auf dieses tty ausgegeben werden. Wird versucht auf einem tty eine message zu verschicken, das schreibgeschuetzt ist oder waerend ein anderes tty als aktiv markiert ist, so kommt es zu einer Fehlermeldung. Um trotzdem messages abschicken zu koennen gibt es die Option: sendmsg -f Mit sendmsg -m markiert man das aktuelle tty als aktiv. Das bedeutet, dass messages nur noch hier ausgegeben werden. - Fuer Benchmarktests stehen 2 neue Moeglichkeiten zur Verfuegung: sendfile test /dev/null # testet die Lesegeschwindigkeit sendfile test /dev/null@host # testet zusaetzlich die Uebertragungsgeschwindigkeit In keinem Fall wird das (test) File auf Platte geschrieben. - Protokollaenderung: das TYPE-Kommando erlaubt jetzt auch das Attribut MIME - Protokollaenderung: das CHARSET-Kommando wurde in das TYPE-Kommando integriert: CHARSET charset --> TYPE TEXT=charset (Dies hat keine Kompatibilitaetsauswirkungen, da sendfile bisher die einzige SAFT-Implementierung ist und das TEXT bzw CHARSET Attribut vorerst ignoriert werden koennen.) - Mit der Option -P gibt receive ein File auf stdout aus (kann dann via Pipe weiterverarbeitet werden). Beispiel: receive -kP readme | more (Die Option -k verhindert, dass das File aus dem spool geloescht wird) - Mit der Option -P kann sendfile von stdin (bzw aus einer Pipe) lesen. Beispiel: ls -l | sendfile -P my_dir framstag@bofh.belwue.de Dabei handelt es sich nicht um synchrones Piping im klassischen (Unix-) Sinn, sondern der data stream von stdin wird in ein tmp-File geschrieben (transparent fuer den User) und erst wenn ein EOF von stdin kommt, wird dieses Zwischenfile abgeschickt. Dasselbe Prinzip verwendet zB der lpd bzw lpschedul. - sendfiled hat die runtime option "-c " bekommen, welches anstelle dem eincompilierten CONFIG Wert auf das sendfile-config- file zeigt. Beispieleintrag in /etc/inetd.conf : saft stream tcp nowait root /usr/local/sbin/sendfiled sendfiled -c /local/etc/sendfile.cf - Existiert /var/spool/sendfile/.nosendfile, so werden vom sendfiled keine Files mehr angenommen und auch laufende Transfers werden abgebrochen. - In config.h kam das neue Macro ALIASES hinzu. Existiert das dazugehoerende File (wird von root verwaltet), dann setzt der sendfiled die Adressen entsprechend um. Beispiel fuer so ein sendfile.aliases: frams framstag # lokaler Username Umsetzung delta zrzs0111 # lokaler Username Umsetzung blubb bla@gaga.banane.net # forward Adresse auf anderen Host - forwards koennen jetzt geschachtel werden, maximaler hopcount ist 10 - sendfile 1.5 hat jetzt pgp Support eingebaut: Files koennen verschluesselt und/oder mit digitaler Signatur uebertragen werden, vorausgesetzt, sowohl auf Empfaenger-, als auch auf Sendersystem ist pgp installiert. Neue Optionen fuer sendfile (Argumente in [] sind optional): -pe[=to_user] pgp Verschluesselung -pc pgp IDEA Verschluesselung (symmetrisch) -ps[=my_ID] pgp Signierung Beispiel fuer das Verschicken eines verschluesselten Archivs: sendfile -pe -a geheim *.gif hoppel@juhu.lake.de Der pgp public key fuer hoppel muss latuernich vorhanden sein. - Die neue Option "-f from_user" erlaubt es bei receive anzugeben auf welche Files von welchem Sender die Aktion gilt, zB: receive -L -f framstag # listet nur die Files von mir receive -daf microsoft.com # loescht alle files, die von Winzigweich gekommen sind. - Die neue Option "-s" bei receive gibt eine "short file list" aus (ohne Kommentare, Signaturen, etc). - Die neue Option "-o" (overwrite) erlaubt es, bei sendfile ein File zu schicken und ein File gleichen Namens zuvor zu loeschen (falls es sich noch im Empfaengerspool befindet). sendfile -o blubb heiko ist gleichbedeutend mit: sendfile -d blubb heiko sendfile blubb heiko - Bei receive kann jetzt nicht nur zwischen Ueberschreiben oder Uebergehen ausgewaehlt werden, wenn ein File gleichen Namens schon existiert, sondern es kann gleich ein neuer Name angegeben werden. - Ein neues Fileattribute COMMENT wurde eingefuehrt. Damit kann zu einem File ein kurzer Kommentar angegeben werden, der dann in der receive- Liste erscheint. Automatisch wird ein Kommentar beim bouncing und forwarding erzeugt. Beim Versenden kann ein Kommentar zB angegeben werden mit: sendfile -c "ein ganz niedlicher Hase!" rabbit.gif beate@juhu.lake.de - Um das Logfile, das ja UTF-7 codiert ist, korrekt lesen zu koennen, wurden die Programme utf7decode bzw utf7encode erstellt, mit denen man Textfiles von bzw nach UTF-7 wandeln kann. - Die Supportprogramme gzip, tar, pgp und recode koennen nun mit Pfad in config.h definiert werden. Durch Setzen der Environment-Variablen SF_TAR, SF_GZIP, SF_PGP und SF_RECODE koennen diese Werte wiederum geaendert werden. - Ist eine forward-Adresse (vom User oder vom Admin) gesetzt, dann folgt sendfile diesem Hinweis und sendet seine Files dorthin. Eine Verschachtelung von forwards ist nicht erlaubt. - Ein User kann sich in /var/spool/sendfile/$USER/config/config mit der Option "forward = user@host" eine forward Adresse fuer sich setzen. Der Admin kann Userforwarding global unterbinden, indem er in sendfile.cf die Option "forwarding = off" setzt. - Mit receive kann ein File aus dem Spool gleich weitergeschickt werden ("bouncing") mit: receive -b file_name other_user@other.host - sendmsg, sendfile und receive haben die Option -q bzw -Q hinzubekommen fuer einen "quiet" Modus: es werden keine Meldungen mehr ausgegeben oder Fragen gestellt. - receive faengt jetzt gefaehrliche Filenamen ab; dies sind Files, die mit "." beginnen oder relative oder absolute Pfade in tar-Files. - Bei nicht komprimierbaren Files (Erkennung ueber /etc/magic) erfolgt keine automatische Komprimierung mehr. - Ein besseres Transaktions Ausgabeformat wurde eingefuehrt. - Das Attribute "ATTR EXE" wurde fuer Unix und VMS eingefuehrt. Bei ausfuehrbaren Files (Programmen) wird das execute-Flag im Filesystem entsprechend gesetzt nach dem receive. - User der ksh oder bash koennen sich folgende Variablen setzen (am besten in ~/.profile), um von der Shell ueber neue Files im Spool informiert zu werden: $ export MAILPATH=/var/spool/mail/$LOGNAME:\ /var/spool/sendfile/$LOGNAME/log%'new file in spool!' $ export MAILCHECK=0 Dazu empfiehlt es sich in /var/spool/sendfile/$LOGNAME/config/config die Option: notification = none zu setzen.