Projects Personal Contact Rss

System Utilities / SigEd

Last updated sometime in 1995/96

SigEd Information Page

Welcome to the SigEd homepage.

SigEd and this page is maintained by Paul Gregg, you can contact me via any of the following methods:

Current SigEd version is 1.3.1

Other SigEd WWW sites:

So what is SigEd?

SigEd is a shell script written in Z-Shell (zsh) which wraps around your normal unix editor (vi/pico/etc) (anyone ever used emacs with it?).
Installing SigEd on your machine is easy (well, I think so), and configuring it to your tastes is also easy. I have tried to make the installation/setup/use as idiot proof as I can, but as we all know idiots can be such geniuses ;)
Once you exit your editor, SigEd's extra functions kick in. It will allow you to append a sig file (with various options, randomising, edit before adding), it will allow you to PGP sign you message before you post it to USENET or email it to another user. Finally for all those users of the TIN newsreader (e.g. me) is the parse Cc: header facility to email a copy of your post to whoever is specified in the Cc: header (funnily enough).

OK, gimmie me the full specs

*cringe* Well since I don't have much time on my hands at the moment :) I'll paste in the specs from the program and the Changelogs:

SigEd's Abilites

  • Built in 'setup' sequence. Hopefully Idiot-proof.
    • The setup procedure will create a .sigedrc file in the users home directory containing various parameters on how the SigEd is to run. The setup procedure allows users to choose their prefs.
    • Allows users to have a random signature generator without having to write the generator program or other specialist knowledge. The program will create the files as necessary. [ Note: Users on Nyx (where I wrote this program for) can use the random .sig generator from my home directory, a future version of SigEd will have it built in. ]
    • Allows users to set up their account for PGP. <- No mean task! And will check it out before finally allowing the PGP option be set.
    • Will generate the users Public Key block (pgp) and append it to their .plan if asked for. Will chmod the .plan appropriately.
    • Fully Prompted and explained throughout.
  • Will read in a .sigedrc file containing the users preferences.
    • Will not run until it exists (i.e. the user has run 'siged -setup')
  • Acts like your normal editor until you exit.
    • Siged looks for the following environment variables in turn to decide which editor to run: SIGEDITOR, EDITOR, VISUAL finally if it doesn't find any it will run pico (lowest common denominator :)
  • All options below are fully selectable via setup or .sigedrc SigEd will ignore any option turned off.
  • Allows the PGP signing of any message, email, usenet post from any mailer/usenet reader. Will correctly separate the header of the article or message from the body and PGP sign the body, then put it back together.
      Tested on:
    • (Mailers) Elm, MH
    • (Usenet Readers) Tin
      • Will append a 'For public key block finger id@machine' to the body of the message before PGP signing, if required. SigEd will try to work out your email address for you, if it is wrong you can easily change it in .sigedrc
  • Allows you to append a signature file.
    • Filename of .sig file is settable either via .setup or .sigedrc
    • Allows you to view the signature before inclusion.
    • Alternatively not append a .sig file ;)
    • Allows you to edit the .sig file before including (or not including)
    • Allows you to change (randomize) the .sig if you enabled this feature
      • If a user has their own custom .sig randomizer they may use it.
      • Otherwize they may use a sig generator in my account, SigEd setup will make sure they have the correct files for this option.
  • Will check if the message is a USENET post, and parse the headers looking for Cc: headers if this option has been enabled (in .sigedrc)
    • If one (or more) Cc: headers exist, the names of the recipients are extracted and you are asked if you wish to email these people. Most likely yes, or you wouldn't have put them there in the first place ;) Answering 'Y' to the prompt will auto-email everyone on the list without asking again. Answering 'y' will step-by-step confirm each user before emailing. Answering 'n' will not affect recipients later in the list. (Answering 'Y' at any stage in the step-by-step will auto-email the remainder of the list without confirming)
  • Changelogs are at the end of this document. (i.e. extra features)


This program is offered on an 'as-is' basis. The author accepts no responsibility for any loss incurred by the use (or mis-use) of this program.

Warning, (for the wary)

SigEd will look for some files in your home directory when in 'setup' mode. It will also create specific files if and when required.
Firstly a $HOME/.sigedrc file which holds the users prefered resources.
Secondly any file it edits and has to separate the header and body will create temporary files in the users home directory, As with any editor ensure you have sufficient disk quota to utilize this program.
If you ask SigEd to set up PGP, it will create your $HOME/.pgp directory and the files pubring.pgp secring.pgp randseed.bin. Using SigEd to perform these functions in no way compromises the safety of your PGP codes. It has purely a helping function.
Most of the above 'warnings' are just there so you know what SigEd does,
It is not ment to be ominous
SigEd will in no way log any action of any user.
SigEd in no way compromise the security of your account or your PGP keys.

You can download the latest version of SigEd by clicking here, Remember to select save to disk before doing so.

Comments and suggestions about siged are more than welcome, bug reports and 'funky' behaviour messages are appreciated. Please email them to me at

SigEd's Changelog:
# Changelog from Version 1 -> 1.1
#       - Added a safety check for $file existing when the editor exits.
#       - Fixed the (e)dit option of .sig to get sig from $HOME and not cwd
#       - Added ability to handle the random program being 'fortune', this
#         will use a fixed part .sig if once exists and tack on a 'short'
#         cookie.               Idea by, Dan Hotopp 
#       - Increased the intelligence of the setup procedure for SIG_FILE setting
#       - Prevent the user from setting '.signature' as their SIG_FILE, since
#         other programs may use it.
#       - Setup section split into a separate script.
#          * Makes SigEd startup much faster when in normal use.

# Changelog from V1.1 -> 1.2
#       - SigEd checks to see if $EDITOR is itself, if so then it runs
#         $VISUAL instead to edit files.  This check is to enable trn users
#         to use SigEd since trn will only run $EDITOR.
#         Reported by, Garrett Fitzgerald 
#       - Added $SIGVER, and stores in .sigedrc, SigEd will now inform users
#         when there is a version update.
#       - Added 'siged -info' for 'techie's for more info, and updates.
#       - Fixed a bug when headers were not removed from a message when
#         you tried to reply to the author of a usenet post & PGP sign it.
#         Reported by, henry 
#       - Added a .sigedrc option of defining the order in which you are
#         asked about the PGP signing / adding a .sig
#         Idea by, henry 
#       - Added handling of multiple command line flags.
#       - Added -/+stripheader to force SigEd to strip [or not] the headers
#         from a file before attempting a PGP-sign. This command line flag
#         is not passed to the editor.
#       - Moved all these headers into their own file to help SigEd have
#         a faster startup. 'siged -headers' will more the header file.
#       - Added an extra option for users having random .signature files,
#         Pressing 'r' will now randomize and use the resulting .sig
#       - Added the setting of default choices vie editing .sigedrc.
#         Everyone can now specify the default for every question asked.
#         Idea by, Garrett Fitzgerald 
#       - Added extra info within .sigedrc to help users edit their .sigedrc
#       - Changed the $HOST check to hostname | grep for better checking of
#         where SigEd is running from.
#       - Switched from /bin/mail to /usr/ucb/mail

# Changelog from V1.2 -> 1.3
#       - Bumped version number to 1.3
#       - Recoded siged and siged_setup with configuration for different
#         systems. This enables anyone to take the siged source, and transfer
#         it simply to any other unix box.  Hopefully installation is as simple
#         as the setup procedure is.
#       - Added 'intelligent' default modification for sig appending.
#         i.e. SigEd checks the article for your sig at the end, if it is there
#         then it changes the default answer to 'n'
#       - Tidied up emailing Cc: by stripping the headers down and emailing
#         with the relevant 'subject' line.
#       - Added X-SigEd: header to posts, (free publicity) ;)
#       - Added in a 'error out' check if siged can't figure out where it is.
#       - Added in a keypress delay when the version upgrade warning is shown.
#       - Fixed a bug when SigEd exited from editing a file and the file didn't
#         exist.
#       - If you edit an article which, the first line is a PGP Sig start, then
#         SigEd will strip the pgp signature from the file.
#       - Added AUTO_PERFORM_* options within .sigedrc.  This will make siged
#         automatically use your default selections when asking for Adding a
#         signature or pgping a file.
#       - Added runtime command line flags [+-]sig and [+-]pgp which override
#         the PROMPT_*_DEFAULT settings in .sigedrc
#       - Fixed all the if [[ cond ]] statement to use 'then .. fi' for
#         latest zsh compatability.
#       - When Cc:ing posts to users, SigEd now uses sendmail
# Todo:
#  . Add a different .sig file for a different newsgroup, if there is a pref
#    Idea by (John Nash)
#  . Rewrite this hunk of shit in perl ;)
# Send me suggestions.  siged -help   for more info.

All content © Paul Gregg, 1994 - 2024
Page last updated: 15 July 2008 23:06:11.
This site has been online since 5th October 2000
Previous websites live at various URLs since 1994