Firma development policy ------------------------ Abstract: this policy helps control all development steps to keep a clean and junk-free code. In the future this procedure will be automatic. 1 - After any addition to firma, check the following: ---------------------------------------------------- - Put all new variables in the variables list bellow - If a new variable has to be declared via a config-file, remember to set it to be created in the NewList function - Put all new functions in the functions list bellow - Put all new arrays in the GLOBAL_ARRAYS variable - If you are using an unix command, check if its already listed in the commands list. If it's not, please add it 2 - Variables usage ------------------- - Global vars: uppercase, with spaces replaced by underscores - Local vars: lowercase, with spaces replaced by underscores and declared using "local" - Attention to variables initialization, unset all vars after use 3 - Script listing ------------------ - used functions: DeclareGpgVars Usage Version CheckFirmaConfigFile CheckListConfigFile GetMessage GetMessageHeaders GetGpgMessage GetGpgDecryptStderr GetSubscribersList SendListMessage SendWarningMessage SendBounceMessage ProcessMessage NewList ListAdministration ChooseUid - used variables: - declared via a config file GPG_BINARY MAIL_AGENT MAIL_AGENT_ARGS LISTS_DIR USE_GPG_HIDDEN_RECIPIENT_OPTION SEND_MESSAGES_USING_BCC LIST_ADDRESS LIST_ADMIN LIST_HOMEDIR PASSPHRASE - declared directly via firma FIRMA_CONFIG_FILE VERSION GPG GPG_FLAGS GPG_LIST_KEYS GPG_DECRYPT GPG_ENCRYPT FROM DATE SUBJECT SENDER_ADDRESS DESCRIPTION ARRAY LIST_NAME LIST_PATH LIST_CONFIG_FILE - local vars administrator stdin element first_blank_line i j subscriber recipients email_address keyid uid_count chosen_uid_number - arrays see GLOBAL_ARRAYS - unix commands: bash itself $GPG_BINARY $MAIL_AGENT echo cat grep wc tr seq cut sed mkdir touch chmod basename expect fold uniq