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 adition to firma, check the following: ---------------------------------------------------- - Put all new variables in the variables list - If the new var is used via config-file, add its creation in the function 'newlist' - Put all new functions in the function list - Put all new arrays in var USED_ARRAYS - If you are using an unix command, check if its already listed in the command list, if not please add it 2 - Variables usage ------------------- - Global vars: uppercase - Local vars: lowercase, declared with "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: - via config file GPG_BINARY MAIL_AGENT MAIL_AGENT_ARGS LISTS_DIR LIST_ADDRESS LIST_ADMIN LIST_HOMEDIR PASSPHRASE - direct at firma VERSION GPG GPG_FLAGS GPG_LIST_KEYS GPG_DECRYPT GPG_ENCRYPT LISTS_DIR SENDER_ADDRESS ARRAY LIST_NAME LIST_PATH LIST_CONFIG_FILE FIRMA_CONFIG_FILE FROM DATE SUBJECT DESCRIPTION - local vars administrator email keyid element, i, j, 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