1. 01 Feb, 2006 3 commits
    • Per Cederqvist's avatar
      Configuration cleanup: use constructor/destructor semantics. · 7a036fc7
      Per Cederqvist authored
      * src/server/conf-file.h (struct datatype): Replaced the freer
      attribute with ctor and dtor attributes.  All users updated.
      Added some documentation.
      (free_config): New function.
      * src/server/conf-file.c (init_init): Call the constructors for
      all parameters.
      (free_config): New function, that calls the destructors for all
      (ctor_string): New static function. 
      (dtor_string): New static function, which replaces
      (assign_string): Expect the object to already be constructed.
      (unassign_string): Removed.
      (cf_string): Use ctor_string and dtor_string.
      * src/server/server-config.c (cf_log_param): Updated for new
      struct datatype.
      (cf_jubel): Ditto.
      (cf_ident_param): Ditto.
      (free_configuration): Use free_config to do the work.
    • Per Cederqvist's avatar
      Namespace cleanup. · 2c7bc938
      Per Cederqvist authored
      * src/server/conf-file.c: Moved all struct datatype objects to the
      end of the file, to avoid having to forward-declare all of the
      static functions mentioned below.
      (assign_text_no): Now static.
      (assign_conf_no): Ditto.
      (assign_int): Ditto.
      (assign_ulong): Ditto.
      (assign_uint): Ditto.
      (assign_string): Ditto.
      (assign_bool): Ditto.
      (assign_double): Ditto.
      (assign_timeval): Ditto.
      (unassign_string): Ditto.
      * src/server/conf-file.h: Don't declare the above functions, which
      are now static.
    • Per Cederqvist's avatar
      Configuration file definitions: use a datatype struct, instead of · 5adef99d
      Per Cederqvist authored
      having separate "assigner" and "freer" fields in the parameter
      definition table.
      * src/server/conf-file.h (struct datatype): New struct.
      (struct parameter): Move the assigner and freer fields to struct
      datatype, and include a pointer to a const struct datatype.
      * src/server/conf-file.c, src/server/conf-file.h
      (cf_text_no): New constant struct.
      (cf_conf_no): Ditto.
      (cf_int): Ditto.
      (cf_ulong): Ditto.
      (cf_uint): Ditto.
      (cf_string): Ditto.
      (cf_bool): Ditto.
      (cf_double): Ditto.
      (cf_timeval): Ditto.
      * src/server/conf-file.c (assign_defaults): Handle configuration
      (configure_line): Ditto.
      * src/server/server-config.c (assign_path): Removed.
      (unassign_path): Removed.
      (cf_path): New. Replaces assign_path and unassign_path.
      (cf_log_param): New const struct.
      (cf_jubel): New const struct.
      (cf_ident_param): New const struct.
      (parameters): Replaced all assigners and freers with the pointers
      to the proper datatype structs.
      (free_configuration): Handle configuration datatypes.
  2. 03 Jan, 2006 1 commit
    • Per Cederqvist's avatar
      Fixed various harmless memory and file descriptor leaks found by · afb8f103
      Per Cederqvist authored
      * src/server/testsuite/lyskomd.supp: Added aid_lexer_2.
      * src/server/testsuite/lyskomd.0/regexp-match-cov.exp (shutdown):
      Don't expect any suppressed leaked blocks.
      * src/server/testsuite/lyskomd.0/aux-items-cov.exp: Expect less
      suppressed leaked blocks.
      * src/server/testsuite/lyskomd.0/37.exp: Adjusted to new report
      format when configuration errors are found.
      * src/server/testsuite/lyskomd.0/conf-file-cov.exp: Ditto.
      * src/server/simple-cache.c (free_all_cache): Close text_file and
      * src/server/testsuite/lyskomd.supp: Removed i_fopen-2.3.1 and
      i_fopen-2.3.5, which were actually caused by the above problem.
      * src/server/server-config.c (read_configuration): Check the
      return value of read_config().  Free the configuration before
      calling restart_kom if there are any problems with the
      configuration.  Report the name of the configuation file if
      problems are found.
      * src/server/ramkomd.c (dump_exit_statistics): Call clear_info()
      instead of free_kom_info.
      (free_kom_info): Removed.  The new clear_info() function contains
      a better implementation, with less code duplication.
      * src/server/memory.c, src/server/kom-memory.h (clear_info): New
      * src/server/dbck.c (free_person_scratchpad): New static function.
      (free_person_scratch): Ditto.
      (main): Call free_person_scratch(), clear_info(),
      free_configuration() and free_all_dbck_cache() when terminating to
      make it possible to check for leaks with valgrind.
      * src/server/dbck-cache.c, src/server/dbck-cache.h
      (free_all_dbck_cache): New function.
      * src/server/conf-file.c, src/server/conf-file.h (read_config):
      Changed return type from void to Success.  Return FAILURE instead
      of calling restart_kom when configuration errors are found.
  3. 23 Aug, 2003 1 commit
  4. 16 Aug, 2003 1 commit
  5. 12 Jul, 2003 2 commits
  6. 17 Aug, 2002 1 commit
  7. 11 Aug, 2002 1 commit
  8. 24 May, 1999 1 commit
  9. 21 May, 1999 1 commit
    • David Byers's avatar
      Memory management · 53acf950
      David Byers authored
              Free everything on exit
              The server should now exit with zero allocated strings and
              zero allocated blocks.
      Test cases
              Added a few test cases for improved coverage and recently
              fixed bugs.
  10. 12 May, 1999 1 commit
    • David Byers's avatar
      New RPC calls: · e6dca4a9
      David Byers authored
      Modified RPC calls
              create-person (new parameter pers-flags)
      Removed several hard-coded constants and paths.
              Max texts
              Max conferences
              Nologin file
      Support for aux-item validation functions (not just regexps.)
      Support for aux-items that can only be created by the server
      Support for linking pairs of aux items
      Added test cases to improve code coverage
      Renamed log to kom_log to avoid conflicts with math function log.
      Several bug fixes (code and documentation)
  11. 08 Jul, 1998 1 commit
  12. 19 Feb, 1994 1 commit
  13. 12 Jan, 1994 1 commit