Sun Aug 4 03:25:18 1996 Per Cederqvist * Release 1.9.0. * dbck.c: Include if it exists. * getopt.c: Likewise. * server-config.c: Likewise. * ram-smalloc.c (srealloc): Fixed printf-style modifiers in calls to restart_kom. * connections.c (mux_handle_packet): Fixed printf-style modifiers in VBUG calls. (login_request): Likewise. (logout_request): Likewise. * Makefile.src (KOMLIBS): Link with libregex before libansi, since libregex may need memcmp from libansi. Sat Aug 3 01:46:52 1996 Per Cederqvist * fncdef.txt (who_is_on_dynamic): One more numeric argument. * session.c (who_is_on_dynamic): New argument: active_last. * simple-cache.c (get_version): Removed an unused variable. * prot-a-output.c (prot_a_output_extended_conf_type): anarchy is now named allow_anon. * prot-a-parse.c (prot_a_parse_conf_type): Likewise. * ram-output.c (foutput_conf_type): Likewise. * ram-parse.c (fparse_conf_type): Likewise. * text.c (check_anonymous_subm): Likewise. * fncdef.txt: Renamed "pepsi" to "change_conference". * session.c (change_conference): New name for former pepsi. * manipulate.h: Changed "pepsi" to "change_conference" in comments. * membership.c: Likewise. * prot-a.c (prot_a_is_legal_fnc): Changed "call_fnc_pepsi" to "call_fnc_change_conference". Fri Aug 2 01:44:11 1996 Per Cederqvist * dbck.c (delete_misc): restart_kom requires a terminating newline. (main): Likewise. * Additional idle-time refinements. * session.c (login_old): Use active_connection->flags.invisible instead of active_connection->invisible. (login): Likewise. (logout): Likewise. (pepsi): Likewise. (change_what_i_am_doing): Likewise. (who_is_on): Likewise. (who_is_on_ident): Likewise. (who_is_on_old): Likewise. (who_is_on_dynamic): Likewise. Sessions with no user are always invisible. (user_active): Set active_connection->flags.user_active_used. * connections.h (Connection): Replaced field "invisible" with "flags". * memory.c (init_dynamic_session_info): Initialize flags. * internal-connections.c (init_connection): Initialize flags. (new_client): Initialize flags. * ramkomd.c (server_init): Fixed typo introduced Jul 30: ignore SIGPIPE, not SIGHUP. * Handle idle-time. * fncdef.txt (user_active): New function. (who_is_on_dynamic): New function. (get_static_session_info): New function. * connections.h (Connection): Removed field last_request. Added field active_time. (Res_type): New values: rt_dynamic_session_info_list, rt_static_session_info. (Result_holder): New fields: dynamic_session_info_list, static_session_info. * session.c (who_is_on_dynamic): New function. (get_session_info): The idle-time is calculated using active_time instead of last_request. (get_session_info_ident): Likewise. (get_static_session_info): New function. (user_active): New function. * prot-a.c (prot_a_reply): Handle rt_dynamic_session_info_list and rt_static_session_info. (prot_a_is_legal_fnc): Added user_active, who_is_on_dynamic and get_static_session_info. * prot-a-output.c (prot_a_output_dynamic_session_info, prot_a_output_session_flags): New static functions. * prot-a-output.h, prot-a-output.c: (prot_a_output_static_session_info): New function. (prot_a_output_dynamic_session_info_list): New function. * kom-memory.h, memory.c (init_dynamic_session_info): New function. (init_static_session_info): New function. * internal-connections.c (init_connection): Set active_time to now. Don't set last_request. (new_client): Likewise. * connections.c (parse_unparsed): Don't set client->last_request. Thu Aug 1 20:23:04 1996 Per Cederqvist * Improved handling of unknown calls: the server now assumes the incoming message is terminated by a newline, and responds with error code KOM_NOT_IMPL instead of with a protocol error. * prot-a.c (prot_a_parse_packet): Set client->function to illegal_fnc if the requested function is not supported instead of raising an ISC_PROTOCOL_ERR. * prot-a-parse.h, prot-a-parse.c (prot_a_hunt_nl): New function. * fnc-def-init.awk: Output a trailing entry which uses prot_a_hunt_nl to parse when client->function is illegal_fnc. * connections.c: Include prot-a-parse.h and kom-errno.h. (call_function): Treat illegal_fnc specially: set kom_errno to KOM_NOT_IMPL and return FAILURE. * com-h.awk (enum call_header): New value: illegal_fnc (which is always one greater than the highest supported call number). * call-switch.awk: Output code that calls restart_kom if illegal_fnc is ever attempted to be called. Wed Jul 31 21:43:19 1996 Per Cederqvist * server-config.c (WHITESPACE): According to prot-A.txt, form-feed is not a valid whitespace character, so remove it. Tue Jul 30 16:31:03 1996 Per Cederqvist * ramkomd.c (server_init): Use sigaction instead of signal if available. (go_daemon): Likewise. (main): Likewise. (sighandler_hup): Don't reinstall the signal if sigaction is available. (sighandler_usr1): Likewise. (sighandler_usr2): Likewise. Mon Jul 29 10:41:41 1996 David Byers * simple-cache.c (init_cache): Call get_version with the right file name. Previously get_version was always called with the datafile name. Initialize data file version before using it. Mon Jul 29 01:30:17 1996 Per Cederqvist * Handle sysv signal semantics: * ramkomd.c (sighandler_hup): Reinstall the SIGHUP handler. (sighandler_usr2): Reinstall the SIGHUSR2 handler. * simple-cache.c (init_cache): The local loop variable 'i' must be a long, so that a Text_no fits. The local variables done, read_text_no and read_conf_no are now of type Bool (not int). The local variable c is an int, so that it can safely be compared against EOF. Call restart_kom if an unknown deletion block is found in the data file. * prot-a.c (prot_a_reply): Fixed long/int mismatch in call to mux_printf. * prot-a-output.c (prot_a_output_num_list): Removed erronous argument in call to mux_printf. * log.h (log): Tell GCC that an argument is a printf-style format string if HAVE_ATTRIBUTE_FORMAT_PRINTF is set. (logv): Likewise. * lyskomd.h (restart_kom): Likewise. * mux.h (mux_printf): Likewise. * admin.c: Fixed bogus printf-style modifiers in calls to log and/or restart_kom. * cache-node.c: Likewise. * conference.c: Likewise. * connections.c: Likewise. * dbck-cache.c: Likewise. * dbck.c: Likewise. * internal-connections.c: Likewise. * person.c: Likewise. * ram-output.c: Likewise. * ram-parse.c: Likewise. * ramkomd.c: Likewise. * simple-cache.c: Likewise. * text.c: Likewise. Sun Jul 28 14:41:13 1996 Per Cederqvist * tmp-limits.h (MAX_TEXT): Increased to 2000000. * text.c (create_text_check_misc): Return KOM_ANON_REJECTED instead of KOM_ACCESS if the conference does not accept anonymous texts. (create_text): Use FALSE instead of 0 as Bool constant. (create_anonymous_text): Use TRUE instead of 1 as Bool constant. * send-async.c, send-async.h (async_send_group_message): The force_message argument is a Bool, not a char. (async_send_message): Likewise. * connections.h (Connection::username_valid): Mention that this field is used to determine if async messages are sent. * send-async.c (async_new_text): Don't send any message unless username_valid is set. (async_i_am_on): Likewise. (async_logout): Likewise. (async_new_name): Likewise. (async_sync_db): Likewise. (async_forced_leave_conf): Likewise. (async_login): Likewise. (async_rejected_connection): Likewise. (async_send_group_message): Likewise. * prot-a.c (prot_a_parse_packet): FIXME-comment regarding this removed. * Removed an unnecessary field in Connection: * prot-a-parse.c (prot_a_parse_info): Use struct_parse_pos instead of info_parse_pos. * connections.h (Connection::info_parse_pos): Removed. * connections.c (free_parsed): Don't set info_parse_pos. * internal-connections.c (init_connection): Likewise. * Use Bool instead of int for truth values and flags: * connections.h (Connection::want_async): Now an array of Bool instead of an array of int. * internal-connections.c (init_connection): Adjust for the above. * send-async.c (async_send_group_message): Likewise. * session.c (query_async): Likewise. (accept_async): Likewise. * prot-a-send-async.h (ASYNC_CHECK_ACCEPT): Likewise. Sat Jul 27 17:26:19 1996 Per Cederqvist * text.c (check_anonymous_subm): Removed two unused arguments. All callers updated. * New rules for adding and subtracting comment links: * text.c (create_text_check_misc): Check that the author can read the text he is commenting. (add_comment): Check that the adder can read the text he is adding a comment link to. (sub_comment): The user does not have to be able to read either of the texts to remove the comment link. On the other hand, it doesn't help if he is supervisor of the author of the parent. (sub_footnote): The user does not have to be able to read either of the texts to remove the footnote link. He must be supervisor of the author of the footnote, but not necessarily the author. Sat Jul 27 13:17:05 1996 David Byers * simple-cache.c (save_one_text): Removed code that printed dollar sign at end of data file. Fri Jul 26 02:11:38 1996 Per Cederqvist * simple-cache.c (init_cache): Added a missing parameter in a log statement. Fri Jul 26 10:40:12 1996 David Byers * simple-cache.c (init_cache): Data file is now terminated by EOF, not a dollar sign. * ram-output.h: Declare foutput_conf_type_0 and foutput_conference_0. * ram-output.c (foutput_conf_type_0): New function. Outputs an old four-bit conf_type. (foutput_conference_0): New function. Outputs conference with a four_bit conf type. * dbck-cache.c (cache_sync): Fix bug that crashed the program on nonexistent texts, persons and conferences. Rewrote format-dependent code as switches rather than ifs. Output passwords to the database. Output old-type conference records in version zero files. Data file is no longer terminated by a dollar sign. (init_cache): Rewrote format-dependent code as switches rather than ifs. Data file is terminated by EOF rather than dollar. Fri Jul 26 02:11:38 1996 Per Cederqvist * Protect against too large arrays sent to accept_async: * prot-a-parse.c, prot-a-parse.h (prot_a_parse_num_list): New argument: maxlen. Rewritten. * session.c (accept_async): prot_a_parse_num_list sets data to NULL and length to a non-zero value if the client sent a too big array. Check for that condition instead of checking if the length was greater than ay_dummy_last. Set kom_errno to KOM_LONG_ARRAY instead of KOM_INDEX_OUT_OF_RANGE if the array was too big. * server-config.c (parameters): New config: "Max accept_async len". * fncdef.txt (mark_as_read): Make param.mark_as_read_chunk visible here. (create_text, create_anonymous_text): Make param.max_crea_misc visible here. (accept_async): Added param.accept_async_len. * param.h (kom_par): New field: accept_async_len. * prot-a.c (prot_a_init): Set array_parse_index. * prot-a-parse-arg-c.awk: Make prot-a-parse-arg.c include async.h. c_local_text_no_p, c_misc_info_p and num_list should be followed by a maximum array length in fncdef.txt. Use array_parse_index instead of array_parse_pos to count the array index. Added a missing newline in the generated code. * internal-connections.c (init_connection): Initialize array_parse_index. * connections.h (Connection): New field: array_parse_index. * connections.c (free_parsed): Set array_parse_index. * cache.h (match_table): Added a missing "extern". * dbck.c (kom_info): Added a missing "extern". * connections.h: Don't include async.h -- no .h file in lyskomd should include another .h file. Why? Well, mostly because that is the way it is in the rest of lyskomd. * admin.c, conference.c, connections.c, internal-connections.c, isc-parse.c, membership.c, mux-parse.c, mux.c, person.c, prot-a-output.c, prot-a-parse.c, prot-a-send-async.c, prot-a.c, ramkomd.c, regex-match.c, send-async.c, session.c, simple-cache.c, text.c: Include async.h before connections.h. Thu Jul 25 01:30:53 1996 Per Cederqvist * simple-cache.c: Include string.h. (TIMESTAMP_FORMAT): Unused define removed. (pre_sync): Removed a call to time() whose return value was never used. Wed Jul 24 18:36:17 1996 David Byers * simple-cache.c (save_one_text): Don't output an extra space after the text number. foutput_long will place the necessary space there anyway. (Top level): Include string.h for strerror, test for unistd.h. Wed Jul 24 03:05:48 1996 Per Cederqvist * dbck.c (main): Die with an error message if an unsupported output format version is requested. * dbck-cache.c (cache_sync): Don't write 'I' records in version 0 files. Ignore 'I' records in version 0 files, but warn about them. Mon Jul 22 11:38:08 1996 David Byers * ram-output.c (foutput_conf_type): Output anarchy, rsv1, rsv2 and rsv3 bits of conference type to the database file. Sun Jul 14 23:01:37 1996 Per Cederqvist * ChangeLog: Added several details in entries below that David Byers forgot to talk about. Sat Jul 13 15:55:43 1996 Per Cederqvist (ceder@lysator.liu.se) * membership.c (set_last_read): The second argument is a Local_text_no, not a Text_no. Mon Jun 10 13:38:12 1996 David Byers * prot-a.c (prot_a_reply): Handle rt_num_list. (prot_a_is_legal_fnc): Added accept_async and query_async. * prot-a-parse.c, prot-a-parse.h (prot_a_parse_num_list): New function to parse num_list data. * prot-a-parse-arg-c.awk: Handle num_list data type * admin.c (send_message): Force message to user if it has an explicit letterbox recipient or if the sender is the administrator. * send-async.c (async_new_name): Check that the connection is allowed to know about the conference that changed name. * send-async.h, send-async.c: (async_send_group_message): Allow override of preference not to receive message. (async_send_message) Option to force message to be sent to user. * fncdef.txt: Added accept_async and query_async calls. * connections.h: Added num_list to Result_holder and Res_type. * prot-a-output.c, prot-a-output.h (prot_a_output_num_list): New function. * session.c (accept_async): Added this function. * async.h: I-will-include-zis-only-vonce code added. * internal-connections.c (init_connection): Handle num_list field. Sensible initialization of the want_async field. * connections.c (free_parsed): Handle num_list field. * call-switch.awk: Handle num_list input type. * prot-a-send-async.c: Check if client wants async messages before sending them; just about all functions have been modified. * prot-a-send-async.h (ASYNC_CHECK_ACCEPT): New macro to check if connection wants the async message at all. * connections.h: (Connection): Added fields want_async and num_list. (Res_type): Added rt_num_list. (Result_holder): Added num_list. * async.h (enum Async): Added ay_dummy_last. (ASYNC_DEFAULT_MESSAGES): New define. Sun Jun 9 10:36:29 1996 David Byers * server-config.c: Added "Permissive sync" option. * param.h: Added permissive_sync. * admin.c (sync_kom): Checks that the calling session is logged in and an administrator unless the configuration file has permissive_sync on. * admin.c (set_info): New function. * fncdef.txt: Added set_info. * prot-a.c: (prot_a_is_legal_fnc): call_fnc_set_info is now a valid value. * prot-a-parse-arg-c.awk: Handle info data type. * prot-a-parse.c, prot-a-parse.h (prot_a_parse_info): New function. * dbck-cache.c (init_cache): Override database kom_info with command-line kom_info. (cache_sync): Output kom_info structure. * call-switch.awk: Handle info input type. * connections.c (free_parsed): Set info_parse_pos. * internal-connections.c (init_connection): Initialize info_parse_pos and info. * connections.h (Connection): New fields: info_parse_pos, info. * dbck.c: Initialize oformat to -1 (no explicit output format). (main): Added options to set kom-info fields (give_help): Added help for the new options. * dbck-cache.c (init_cache): If no explicit output format is given, select output format to be the same as the input format. * dbck-cache.c (init_cache): Initialize read_text_num and read_conf_num to avoid compiler warnings. * dbck.c (locate_membership): Declared non-static to avoid conflict with membership.h (locate_member): Declared non-static to avoid conflict with membership.h (top level): Include crypt.h * person.c: Guard inclusion of and with HAVE_UNISTD_H and HAVE_CRYPT_H. * tmp-limits.h (MAX_TEXT): Set to 150000. Tue Mar 12 22:40:52 1996 Per Cederqvist (ceder@lysator.liu.se) * membership.c (add_member): Log a message if somebody adds somebody else to a conference. Sun Feb 25 21:37:09 1996 Per Cederqvist (ceder@lysator.liu.se) * Makefile.src (GETOPT): New variable. (DBCK): Needs GETOPT and version-info.o. Sun Feb 25 20:53:33 1996 Per Cederqvist (ceder@lysator.liu.se) * Use GNU getopt in dbck. * dbck.c (longopts): New variable. (main): Rewrote the option-parsing loop to use GNU getopt. * Help in dbck. * dbck.c (give_help): New function. (main): Call it if -h (or --help) is given. * Reset passwords in dbck. * dbck.c (reset_pwd): New variable. (main): Set it if -P (or --clear-password) is given. (check_persons): Reset the password if the person number equals reset_pwd. * Grant permission in dbck. * dbck.c (grant_all): New variable. (main): Set it if -G (or --grant-all) is given. (check_persons): Give the person all privileges if the person number equals grant_all. * getopt.h, getopt.c, getopt1.c: New files, taken from GNU hello 1.3. Fri Feb 23 21:37:09 1996 David Byers * dbck.c (oformat, force_output): New global variables. (main): New options: 'F' (to force output) and 'o' (to select output format). Fri Feb 23 12:41:46 1996 David Byers * dbck.c, simple-cache.c: Added support for remove records. THIS SUPPORT HAS NOT BEEN TESTED AT ALL SO DON'T USE IT! Fri Dec 15 12:48:54 1995 David Byers * dbck.c, simple-cache.c: #C and #T records in database for next-free-num and next-text-num. Sun Nov 12 16:34:34 1995 David Byers * dbck.c: Option -o to select output db format * dbck-cache.c: Read/write version 0 and version 1 files * simple-cache.c: Saves and reads version one files * text.c: Anarchy bit checked for anonymous texts: (check_anonymous_subm): New static function. (create_text_check_misc): New argument: anonymous. All callers updated. Check that the conference accepts anonymous texts if the new argument is true. Wed Nov 8 21:59:22 1995 Per Cederqvist (ceder@lysator.liu.se) * Release 1.8.0. * ram-output.c (foutput_conf_type): Disable output of the new bits until the database has a version number. * dbck.c (check_misc_infos): Fixed misleading error messages. Thu Nov 2 20:58:40 1995 Per Cederqvist (ceder@lysator.liu.se) * send-async.c (async_rejected_connection): Send this message at most once per minute. * log.c (log): A pid is sometimes larger than an int, so use %ld and proper casts when printing the pid. * dbck.c (dump_text_numbers): New variable. (check_texts): Print a line for each checked text if dump_text_numbers is set. (main): Set dump_text_numbers if -t was given. Changed usage-messages to include [-t]. * cache-database.c: Include "server/smalloc.h", not "smalloc.h". * server-config.c: Likewise. * conf-file.c: Likewise. * cache.c: Likewise. * Optionally use GNU Malloc. * Makefile.src (MALLOCLIB): New variable. Use it everywhere a program is linked. (.gdbinit): Added libraries/gnumalloc. Changed libraries/libisc to libraries/libisc-new. * ram-smalloc.c: Include "malloc.h" instead of if USE_GNU_MALLOC is defined. Tue Oct 31 12:14:15 1995 David Byers * prot-a-output.c: Added UConference and extended conf-type * prot-a-parse.c: Conf-type parser accepts both extended and original conf-type * ram-parse.c: Parse extended conf-type * ram-output.c: Output extended conf-type * simple-cache.c: Access to small_conf_arr entries * Added get-uconf-stat call Let set-conf-type accept an extended conf-type. Mon Oct 23 07:52:44 1995 Per Cederqvist (ceder@lysator.liu.se) * tmp-limits.h (MAX_TEXT): Increased to 1500000. * ramkomd.c (go_daemon): Changed API. Use param.logfile_name instead of trying to calculate it from supplied parameters. All callers updated. * prot-a-parse.c (prot_a_parse_string): Check for overflow when parsing the string length. Logout the current client if the string length supplied is so large that it becomes a negative number. * mux-parse.c (mux_parse_string): Likewise, but log out the entire mux. Sat Oct 7 15:29:05 1995 Per Cederqvist (ceder@lysator.liu.se) * text-garb.c (garb_text): Don't remove any text if param.garb_enable is false. * server-config.c: (parameters): New config: "Garb". * param.h (kom_par): New field: garb_enable. Tue Sep 5 20:56:23 1995 Per Cederqvist (ceder@lysator.liu.se) * lyskomd.h (restart_kom): Tell gcc 2.7 (or newer) that restart_kom never returns. * conf-file.c (configure_line): Allow empty values. (assign_text_no, assign_conf_no, assign_int): Sanity check the argument. * updateLysKOM.c (savecore): New function. (main): Call it before starting a new lyskomd. * ramkomd.c (go_daemon): Don't go into daemon mode if in debug mode. (initialize): Fixed a printf statement. (main): chdir to param.core_dir before the action starts. * param.h (kom_par): New field: core_dir. * server-config.c (parameters): New config: "Core directory". * dbck-cache.c: Include "param.h". * server-config.c (add_prefix, param_name, check_abs_path): New static functions. (read_configuration): Check that all path names are complete paths. * Remove global file name variables, and use fields in param instead: * simple-cache.c, dbck-cache.c (datafilename): Removed. All users modified to use param.datafile_name instead. (backupfilename): Removed. All users modified to use param.backupfile_name instead. (textfilename): Removed. All users modified to use param.textfile_name instead. * dbck.c, ramkomd.c: (datafilename): Removed. All users modified to use param.datafile_name instead. (backupfilename): Removed. All users modified to use param.backupfile_name instead. (textfilename): Removed. All users modified to use param.textfile_name instead. * dbck.c (textbackupfilename): Removed. All users modified to use param.textfile_name instead. (TEXTBACKUPFILE_NAME): Removed. * ramkomd.c (statisticfile, pidfile, memusefile): Removed. All callers modified to use param.statistic_name, param.pid_name and param.memuse_name instead. * connections.c (dump_statistics): Use param.statistic_name instead of statisticfile. * text.c (find_recipient): New name for former is_recipient. New API. All callers updated. (add_recipient): Allow a recpt to be changed to a cc_recpt, and vice versa. Fri Jan 20 23:56:14 1995 Per Cederqvist (ceder@lysator.liu.se) * text.c (ok_to_create_next_text): Added a missing newline in a log message. Sun Jan 8 12:13:14 1995 Per Cederqvist (ceder@lysator.liu.se) * Release 1.7.1. Sun Jan 1 14:08:34 1995 Per Cederqvist (ceder@lysator.liu.se) * Makefile.src (KOMLIBS): New variable, holding all of the libraries included in the distribution. (LIBS): Now only holds the libraries found by Autoconf. (lyskomd, updateLysKOM, encrypt, dbck): Depend on, and link with, $(KOMLIBS). (domostlyclean): Remove $(SPECIALS). * admin.c (broadcast): The argument is a const String, not a String. * conference.c (change_name, create_conf): Likewise. * person.c (create_person): Likewise. Sat Dec 31 13:02:22 1994 Per Cederqvist (ceder@lysator.liu.se) * conference.c (lookup_z_name): New function. * fncdef.txt: Added lookup_z_name. * prot-a.c (prot_a_is_legal_fnc): call_fnc_lookup_z_name is now a valid value. * ramkomd.c (go_daemon, main): Print the full version number, not the compatibility version number, in logs. * simple-cache.c (cached_create_text): Check that writing the text do disk succeeds, and return KOM_TEMPFAIL if it doesn't. Tue Dec 27 00:35:56 1994 Per Cederqvist (ceder@lysator.liu.se) * version-info.h: New file. * version.incl: This file is now generated. It is no longer a source file, and it is no longer included in the distribution. * session.c (logout): No longer send any async_i_am_off. * send-async.h (async_send_group_message): New function. (async_i_am_off, async_broadcast): Removed. * send-async.c (async_i_am_off, async_broadcast): Removed. (async_send_group_message): New function, derived from async_send_message. (async_send_message): Now implemented in terms of async_send_group_message. * regex-match.c (lookup_regexp): Return a Conf_z_info_list instead of a Conf_no_list. New parameter: want_confs. (downgrade): New static function. (re_lookup_person, re_lookup_conf): Use downgrade to adapt to the new API of lookup_regexp. (re_z_lookup): New function. * ram-parse.h (fparse_membership): Removed from the .h-file, since it is now static. * ram-parse.c (fparse_membership): Now static. (fparse_membership, fparse_membership_list, fparse_conf_list, fparse_mark_list, fparse_text_stat, fparse_text_list, fparse_string, fparse_member_list, fparse_who_info, fparse_who_info_list, fparse_misc_info): Set kom_errno to KOM_LDB_ERR, not KOM_SERVER_IS_CRAZY. * prot-a.c (prot_a_reply): Added code for rt_conf_z_info_list and rt_version_info. (prot_a_is_legal_fnc): call_fnc_re_z_lookup and call_fnc_get_version_info are now valid values. * prot-a-send-async.c, prot-a-send-async.h (prot_a_async_i_am_off, prot_a_async_broadcast): Removed. (prot_a_async_send_message): The recipient is now a Conf_no, not necessarily a Pers_no. * prot-a-output.c (prot_a_output_conf_z_info): New static function. * prot-a-output.c, prot-a-output.h (prot_a_output_version_info, prot_a_output_conf_z_info_list): New functions. * fncdef.txt: Added re_z_lookup and get_version_info. * connections.h (Res_type): Added rt_conf_z_info_list and rt_version_info. (Result_holder): Added conf_z_info_list and version_info. * async.h (Async): Removed ay_i_am_off, ay_i_am_on_obsolete and ay_broadcast since they are no longer used. Commented out ay_conf_deleted and ay_conf_created since they are not yet used. * admin.c (get_version_info): New function. (broadcast): Rewritten in terms of send_message. (send_message): The recipient is now a Conf_no, not necessarily a Pers_no. * Makefile.src (DISKOBJS): Added version-info.o. (C_SPECIALS): Added version-info.c. (SPECIALS): Added version.incl. (version.incl): New target (version.incl is now built from ../../versions, it is no longer a source file). (version-info.c): New target (also built from ../../versions). Tue Nov 15 00:31:01 1994 Per Cederqvist (ceder@lysator.liu.se) * version.incl: Version 1.6.5. * membership.c (adjust_read): Don't follow NULL pointers. * tmp-limits.h (MAX_TEXT): Increased to 1000000. (MAX_CONF): Increased to 4765. * ramkomd.c: Include . (initialize): Fixed typo. Mon Oct 24 01:30:48 1994 Per Cederqvist (ceder@lysator.liu.se) * server-config.c (parameters): New config: "Force ISO 8859-1" and "Open files". * ramkomd.c (initialize): Use setrlimit to increase the limit on number of open file descriptors, if the config file says to do so. Moved code to calculate number of open connections here from main(). (main): Some code moved to initialize(). Sun Oct 23 16:56:30 1994 Per Cederqvist (ceder@lysator.liu.se) * ram-smalloc.c (sfree): Removed dead code. * param.h (struct kom_par): New fields: force_iso_8859_1 and no_files. * membership.c (adjust_read): Rewritten to fix an obscure bug. * conference.c (legal_name): Handle parameter "Force ISO 8859-1". Always force 8859-1 unless HAVE_LOCALE_H. * version.incl: Version 1.6.5. Sat Oct 22 13:05:54 1994 Per Cederqvist (ceder@lysator.liu.se) * membership.c (add_rec_time): Removed unused argument conf_no. The only caller updated. * simple-cache.c (cached_conf_exists): Explicitly return TRUE or FALSE, not a boolean expression, to get rid of apcc warnings. * text.c (adjust_text_list): Likewise. * ram-parse.c (fparse_misc_info): Check that the number fits in an Info_type before storing it there. * prot-a.h, prot-a.c: (prot_a_reply): Type of argument status should be Success, not Bool. * prot-a.c (prot_a_init): Initialize conn->function to call_fnc_login_old, not 0. * prot-a.c (prot_a_parse_packet): Added a cast to make apcc happy. * prot-a-parse.c (prot_a_parse_misc_info): Likewise. * connections.c (parse_forgotten, toploop): Get rid of apcc warning by not using "!" to negate a Bool. * dbck.c (adjust_text_list): Likewise. * session.c (login): Likewise. * conference.c (set_conf_type): Return FAILURE, not 0. Sat Aug 20 00:04:37 1994 Per Cederqvist (ceder@lysator.liu.se) * log.c: Include unistd.h. Thu Jun 30 01:05:09 1994 Per Cederqvist (ceder@lysator.liu.se) * version.incl: Version 1.6.4. * text.c (greater): New function. (get_last_text): Use it. Maybe it now finally works? * ramkomd.c (go_daemon): Fixed buggy call to restart_kom. * text.c (add_recipient): Check that the user is allowed to write texts in the conference, and fail with KOM_PERM otherwise. * text.c (get_last_text): Fixed a bug introduced 12 oct 1993: dates were compared backwards. Mon Jun 20 12:15:35 1994 Per Cederqvist (ceder@lysator.liu.se) * version.incl: Version 1.6.3. * simple-cache.c: Include "config.h". Sat Jun 18 20:51:32 1994 Per Cederqvist (ceder@lysator.liu.se) * version.incl: Version 1.6.2. * connections.c: Include "config.h". * dbck.c: New option: -c (Consider an unset change_name an error). (unset_change_name_is_error): New variable. (check_persons): Check change_name if unset_change_name_is_error is set. Set it if -r is given, or offer to set it if -i is given. (main): Recognize -c and set unset_change_name_is_error if given. * text.c (find_previous_text_no): Optimize the case where the requested text is larger than the highest created text. * ramkomd.c (go_daemon): Now static. * person.c (create_person): Set change_name according to param.default_change_name. Check param.anyone_can_create_new_persons and create_pers. * param.h (struct kom_par): Don't test DEBUG or DEFENSIVE_CHECKS. Always include all fields. This wastes 8 bytes, but that way there is no risk that the struct looks different in different files. * internal-connections.c, membership.c: Test NDEFENSIVE_CHECKS instead of DEFENSIVE_CHECKS. * dbck.c, connections.c, ramkomd.c, server-config.c: Test NDEBUG instead of DEBUG. * Makefile.src, Makefile.in (tags): etags no longer supports the -t flag. Use $(srcdir) for *.c and *.h. Tue Apr 5 21:14:57 1994 Per Cederqvist (ceder@lysator.liu.se) * ramkomd.c (go_daemon): Added "coming up" log message, so that the version number is written to the log file. Mon Apr 4 15:58:30 1994 Per Cederqvist (ceder@lysator.liu.se) * updateLysKOM.c (checkstatus): Don't send mail to ceder. Instead, write an error message to stderr, exit with exit status != 0, and count on cron to deliver the message to whoever should get it. * ramkomd.c (go_daemon): New function. (initialize): Call go_daemon(). * param.h (struct kom_par): Added logfile_name. * server-config.c (parameters): Added "Log file". * connections.c (dump_statistics): Use ldifftime() instead of difftime(). dbck-cache.c (cache_sync): Likewise. session.c (logout, get_session_info, get_session_info_ident): Likewise. simple-cache.c (sync_part): Likewise. text-garb.c (garb_text): Likewise. * cache-node.h (insert_mru): No longer public. Mon Mar 21 23:36:24 1994 Per Cederqvist (ceder@lysator.liu.se) * simple-cache.c (pre_sync): Destruct cache_nodes for deleted conferences, persons and texts (thus making exists_b obsolete). (throwable_p): Non-existing nodes are throwable even if they are dirty. (limit_conf, limit_pers, limit_text_stat): Throw all throwable objects, not just the first throwable object. (save_one_conf, save_one_pers, save_one_text): The fact that the node exists can be used instead of the exists_b flag. * cache-node.h (struct cache_node): Removed the now redundant exists_b flag. * cache-node.c (EMPTY_CACHE_NODE): Removed initializer for exists_b flag. Thu Mar 10 01:09:14 1994 Per Cederqvist (ceder@lysator.liu.se) * log.c (logv): New timestamp format: "YYMMDD HH:MM:SS PID" (was: "YYYY-MM-DD HH:MM:SS "). Tue Mar 8 00:30:54 1994 Per Cederqvist (ceder@lysator.liu.se) * prot-a-parse-arg-c.awk: Portability fix. * conf-file.c (read_config): Added missing newlines in format string to restart_kom. * Makefile.src (predepend): Fixed typo. * session.c (login): Set same_person before calling logout(). Mon Mar 7 22:16:05 1994 Per Cederqvist (ceder@lysator.liu.se) * server-config.c: "Text backup file" should NOT default to the same file name as "Text file". Sun Mar 6 23:05:30 1994 Per Cederqvist (ceder@lysator.liu.se) * version.incl: Version 1.6 (alpha release). * Makefile.src (LK_STD): Make `all' depend on includes and binaries. Sun Mar 6 20:53:37 1994 Per Cederqvist (ceder@lysator.liu.se) * Makefile.src (doinstall): Install $(PROGRAMS). (PROGRAMS): Added updateLysKOM. (updateLysKOM, updateLysKOM.o): New targets. * updateLysKOM.c: New file. * isc-parse.c: Use HAVE_STRINGS_H and HAVE_STRCHR. * conf-file.c: Use HAVE_STRING_H, HAVE_STRINGS_H, HAVE_STRCHR and HAVE_STDLIB_H. * cache.c: Use HAVE_STRING_H. * cache-database.c: Use HAVE_STRING_H and HAVE_STDLIB_H. Sat Mar 5 17:55:01 1994 Per Cederqvist (ceder@lysator.liu.se) * session.c (login_old, login): Added missing trailing newline in the log message added on Feb 27. (login): Don't log when a person logs in as himself. * admin.c (shutdown_kom): Log who is shutting down the server. * Makefile.src (tags, .gdbinit): User @SRCTOPDIR@, not $(TOPDIR). * conf-file.c (assign_defaults): Fixed bug in error message printing. * rfc931.c ("param.h"): Include it. * Makefile.src (SRCS, *_SRCS): Removed. No longer used. Various other fixes. * tmp-limits.h (MAX_TEXT): Increased to 750000. IÅM explosion detected. * server-config.c (DEFAULT_PREFIX): Expect that macro to be set when the file is compiled. * Makefile.src (server-config.o): Define DEFAULT_PREFIX when compiling it. Sun Feb 27 14:33:19 1994 Per Cederqvist (ceder@lysator.liu.se) * Log logins. * param.h (struct kom_par): New field: log_login. * server-config.c (parameters): Added "Log login". * session.c (login_old, login): Log successful login attempts together with username and host. * Make the use of the IDENT protocol a configurable parameter. * param.h (struct kom_par): New field: authentication_level. * server-config.c (ident_param): New function. (parameters): Added Ident-authentcation. * rfc931.c (get_real_username): Always fail, without trying to contact an IDENT server, if param.authentication_level is 0. * connections.c (login_request): Disallow connections if param.authentication_level is 2 and the IDENT lookup fails. * cache.c: Don't #define SERVER. * session.c (login): Don't update the sessions count when logging in as the same person which already is logged in. Thu Feb 24 11:31:39 1994 Per Cederqvist (ceder@lysator.liu.se) * prot-a.c: Include "kom-memory.h". * Makefile.in (doclean, dodistclean): Removed duplicate empty entries of these targets. Sun Feb 20 17:14:25 1994 Per Cederqvist (ceder@lysator.liu.se) * cache.c: Integrated into the LysKOM environment. Fixed memory handling. Still needs more work. * cache.h: Moved the comments before what they comment. * simple-cache.c (query_next_text_num): The return value is a Text_no, not an int. * membership.c, session.c, text.c: Include kom-memory.h. * cache-database.c: Include smalloc.h. Adapted to the LysKOM environment. Fold some long lines. Sun Feb 20 15:12:16 1994 Pontus Hagland (law@kajsa) * cache.h: Rewritten. (Contents should be the same) * cache.c, cache-database.c, cache-database.h: new files (cache/database) Sat Feb 19 04:36:10 1994 Per Cederqvist (ceder@lysator.liu.se) * Don't allow anybody to create jubel-texts. text.c (struct jubel): New struct. (jubel_root): New variable. (register_jubel, free_all_jubel, ok_to_create_next_text): New functions. (create_text, create_anonymous_text): Check ok_to_create_next_text(). * ramkomd.c (struct parameter, log_param): Moved to server-config.c. (init_data_base): Removed code to build an empty data base. (dump_exit_statistics): Call free_all_jubel(). * server-config.c (parameters): New file-local variable. (CONFIG_FILE): New const. (DATAFILE_NAME, BACKUPFILE_NAME, TEXTFILE_NAME, STATISTIC_NAME, PID_NAME, MEMUSE_NAME, DEFAULT_CLIENT_SERVICE, DEFAULT_MUX_SERVICE, TIMEOUT, GARBTIMEOUT, SYNCTIMEOUT, GARB_INTERVAL, SYNC_INTERVAL, SYNC_RETRY_INTERVAL, CONF_NAME_LEN, PWD_LEN, WHAT_DO_LEN, USERNAME_LEN, TEXT_LEN, BROADCAST_LEN, REGEXP_LEN, MAX_MARKS_PERSON, MAX_MARKS_TEXT, MAX_RECIPIENTS, MAX_COMM, MAX_FOOT, MAX_CREA_MISC, CACHE_CONFERENCES, CACHE_PERSONS, CACHE_TEXT_STATS, MARK_AS_READ_CHUNK, MAX_SUPER_CONF_LOOP, DEFAULT_NICE, MAXQUEUEDSIZE, MAXDEQUEUELEN): Obsoleted by parameters. Removed. (log_param, jubel, read_configuration): New file-local functions. * ram-parse.c, session.c, simple-cache.c, text.c: Use init_foo() instead fo EMPTY_FOO. * prot-a.c (prot_a_init): Use init_priv_bits() instead of DEFAULT_PRIV_BITS. Use init_conf_type() instead of NULL_CONF_TYPE. * param.h: Added lots of configuration. * membership.c (do_add_member): Use init_membership() instead of EMPTY_MEMBERSHIP. * manipulate.h (register_jubel, free_all_jubel): New functions. * lyskomd.h (num_ip_client_port, num_ip_mux_port): Removed. * kom-types.c: Removed crap. This file is now empty. * kom-memory.h, memory.c: Cleanup. Added init_* functions. * internal-connections.c (init_connection): New function. (alloc_connection): Use it, instead of the (now deleted) const EMPTY_CONNECTION. * dbck.c (main): Read configuration file, the same way that lyskomd does. * conf-file.h: (struct parameter): default_val is a char*, not void*. * conf-file.c (assign_bool, configure_line): Use strcmp, not strcasecmp (which is not portable). * admin.c, conference.c, dbck.c, disk-end-of-atomic.c, fncdef.txt, person.c, prot-a-parse-arg-c.awk, prot-a.c, session.c, simple-cache.c, text-garb.c, text.c: Use param."foo" (from param.h) instead of "FOO". * Makefile.in (DBCK): Added conf-file.o. (DBCK_SRCS): Added conf-file.c. Fri Jan 14 20:06:14 1994 Per Cederqvist (ceder@lysator.liu.se) * server-config.h: New file. Wed Jan 12 02:26:36 1994 Per Cederqvist (ceder@lysator.liu.se) * server-config.c (CONFIG_FILE): New constant. * ramkomd.c: Read configuration from a config file. (initialize): New function. (param): New variable, holding (almost) all configuration. (send_async_messages): Superseeded by param.send_async_messages. * send-async.c: Track change * ramkomd.c (parameters): New variable. (main): Only accept -d and name of config file as arguments. (num_ip_client_port, num_ip_mux_port): Superseeded by param.num_ip_client_port and param.num_ip_mux_port. * connections.c (login_request): Track change. * connections.c, dbck-cache.c, person.c, prot-a.c, text-garb.c, simple-cache.c : Fixed format strings in BUG/VBUG/TRACE2 macros. * param.h, conf-file.h, conf-file.c: New files. * Makefile.in (HDRS): Added conf-file.h and param.h. (GENOBJS): Added conf-file.o. (GEN_SRCS): Added conf-file.c. Mon Nov 22 20:03:37 1993 Per Cederqvist (ceder@lysator.liu.se) * tmp-limits.h (MAX_TEXT): Increased to 550000. (MAX_CONF): Increased to 3765. * ramkomd.c (sighandler_usr1): Re-install the signal handler when it catches a signal. * prot-a-parse-arg-c.awk: Include , and in the generated file (prot-a-parse-arg.c). Thu Oct 14 10:15:27 1993 Per Cederqvist (ceder@lysator.liu.se) * admin.c, conference.c, dbck-cache.c, internal-connections.c, membership.c, memory.c, person.c, prot-a-parse.c, ram-output.c, ram-parse.c, regex-match.c, send-async.c, session.c, simple-cache.c, text-garb.c, text.c: Include if HAVE_STDARG_H. Wed Oct 13 00:03:53 1993 Per Cederqvist (ceder@lysator.liu.se) * mux.c (mux_printf): Track the name change in isc, and call UCB_printf instead of _printf. (_printf clashed with _printf from libc on HPUX machines). * dbck-cache.c, simple-cache.c (SEEK_SET, SEEK_END): Define them, if we cannot find them in , or . * ramkomd.c (main): New option: "-llocale". Default is now to never call setlocale(). * Makefile.in (LIBS): Not all systems support the -L flag to ld, so avoid it. Give "$(LIBDIR)/libfoo.a" to ld instead of "-L$(LIBDIR) -lfoo". * log.{h,c} (log): Test HAVE_VFPRINTF, and use a substitute log function if no vfprintf is available. The substitute might even work on some architectures! * ramkomd.c (restart_kom): Likewize. * dbck.c (log, restart_kom): Ditto. Tue Oct 12 19:36:41 1993 Per Cederqvist (ceder@lysator.liu.se) * getopt.h: Removed, since it was unused. * ramkomd.c: Test HAVE_LOCALE_H. * dbck-cache.c, dbck.c, person.c, ramkomd.c: Test HAVE_STDLIB_H. * connections.c, isc-parse.c, membership.c, memory.h, mux.c, person.c, ram-parse.c, ramkomd.c: Test HAVE_STRING_H. * text.c (get_last_text): Now takes a (struct tm *) as argument, not a time_t. That way we can use localtime() (which is POSIX) instead of timelocal() (which appears to exist only on SunOS 4.x). * call-switch.awk: Don't call timelocal when creating code for a time_date. (The called function should expect a (struct tm *), not a time_t as before). Sun Oct 10 12:25:47 1993 Per Cederqvist (ceder@lysator.liu.se) * fncdef.txt: sync renamed to sync_kom, to avoid name clashes with libc. * admin.c (sync_kom): Was formerly named sync. * prot-a.c (prot_a_is_legal_fnc): call_fnc_sync is renamed to call_fnc_sync_kom. * ramkomd.c (sighandler_usr2): Removed buggy declaration of fork(). * rfc931.c (get_real_username): Test HAVE_LIBAUTHUSER instead of RFC_931. * ramkomd.c (restart_kom): Use getcwd() (which is POSIX) to get the current working directory. Fall back on getwd() if getcwd() is not available. * ramkomd.c (main): Use sysconf(_SC_OPEN_MAX) instead of getdtablesize(), if available. * server-config.c (MAX_NO_OF_CONNECTIONS): Now initialized by main() if HAVE_SYSCONF or HAVE_GETDTABLESIZE is defined. * kom-memory.h: Renamed memory.h to kom-memory.h, to avoid conflicts with . * fncdef.txt: shutdown renamed to shutdown_kom, to avoid name clashes with libc. * admin.c (shutdown_kom): Was formerly named shutdown. * prot-a.c (prot_a_is_legal_fnc): call_fnc_shutdown is renamed to call_fnc_shutdown_kom. * *.h, *.c: Replace u_ with unsigned. * *.c: POSIXized include files. * connections.h (parse_env): Always declare it, even if _JBLEN is undefined. (Not all versions of defines _JBLEN). * mux-parse.h (mux_arse_env): Likewise. * Makefile.in: Hacked to work with --srcdir. Fri Oct 8 18:41:58 1993 Per Cederqvist (ceder@lysator.liu.se) * Makefile.in (LIBS): Added -L$(LIBDIR). Thu Oct 7 22:26:52 1993 Per Cederqvist (ceder@lysator.liu.se) * missing-ansi.c, tmp-difftime.h: Removed. The contents of the files can now be found inside libraries/libansi. Tue Sep 28 00:59:41 1993 Per Cederqvist (ceder@lysator.liu.se) * rfc931.c: Don't include unless RFC_931 is defined (thanks to Bo Kullmar). Fri Aug 13 16:17:42 1993 Per Cederqvist (ceder@lysator.liu.se) * version.incl: Version 1.4.1 (not released). * simple-cache.c (sync_part): Fixed bug, introduced on 5 Aug (causing nothing to be saved automatically). * simple-cache.c (sync_state): New state: sync_idle. Documented the state machine. Thu Aug 5 01:01:44 1993 Per Cederqvist (ceder@lysator.liu.se) * version.incl: Version 1.4 (not released). * tmp-limits.h: Allow 450000 texts. * simple-cache.c (init_cache): Don't print false error messages when the -L option is not given. * simple-cache.c (sync_part): Prevent lyskomd from looping endlessly when the server is shut down, by always returning TRUE when a save cycle is finished (even if a new cycle should be initiated immediately). * conference.c (legal_name): Set kom_errno to KOM_LONG_STR or KOM_BAD_NAME if it fails. Updated all callers of legal_name to not set kom_errno. * tmp-difftime.h: New includefile, which should be removed as soon as possible (when configuration is improved). * missing-ansi.c, connections.c, text-garb.c, simple-cache.c, session.c: Include it. * fncdef.txt: Added lookup_person and lookup_conf. * conference.c (do_lookup, lookup_person, lookup_conf): New functions. * fncdef.txt: Added set_client_version, get_client_name and get_client_version. * session.c (set_client_version, get_client_name, get_client_version): New functions. * connections.h (struct connection): Added new fields named client_name and client_version. * internal-connections.c (EMPTY_CONNECTION, new_client, kill_client): Initialize/destruct the fields as appropriate. * cache.h, simple-cache.c (cached_create_text): The string is a const. * text.c (create_text, create_anonymous_text): Likewize. * It is now possible to mark texts with mark_type 0. * fncdef.txt: Renamed mark_text to mark_text_old. * fncdef.txt: Added mark_text and unmark_text. * person.c: (do_unmark_text): New function: delete a mark. * person.c: (do_mark_mark_text): Never delete a mark. All callers changed to use do_unmark_text instead where appropriate. * person.c: (mark_text, unmark_text): New functions. * person.c: (mark_text_old): Compatibility function that calls mark_text or unmark_text depending on mark_type. This will now return an error if you unmark at text that you had not marked. * prot-a.c (is_legal_fnc): Track the above changes. Mon Mar 15 02:32:16 1993 Per Cederqvist (ceder@lysator.liu.se) * version.incl: Version 1.3.3 (not released). * tmp-limits.h: Allow 399999 texts and 2965 conferences. Sun Feb 21 17:34:30 1993 Per Cederqvist (ceder@lysator.liu.se) * version.incl: Version 1.3.2 (not released). * connections.c (add_to_kill_list): Fixed a bug that caused some false warnings in the log file. * rfc931.c (get_real_username): A fake version when RFC_931 is undefined. Sun Jan 17 04:38:34 1993 Per Cederqvist (ceder@konrad) * version.incl: Version 1.3.1 (not released). Sat Jan 16 23:25:44 1993 Per Cederqvist (ceder@konrad) * *.c: Use the USE macro. * ramkomd.c (dbase_dir): This variable was only used in main, and was thus moved into main(). Sat Dec 19 01:17:41 1992 Per Cederqvist (ceder@mauritz) * version.incl: Version 1.3. * rfc931.c (get_real_username): Don't log as much as previously. * Implement regexp matching, using GNU regex 0.11. * cache.h, simple-cache.c (cached_no_of_existing_conferences, cached_get_name): New functions. * fncdef.txt (re_lookup_person, re_lookup_conf): New functions. * prot-a.c (prot_a_is_legal_fnc): They are legal. * regex-match.c: New file. * server-config.c (REGEXP_LEN): Allow 1024 bytes of regexps. * Makefile (ATOMS, ATOMS_SRCS): Include regex-match.{c,o}. Tue Dec 1 00:17:23 1992 Linus Tolke Y (linus@mauritz) * version.incl: Version 1.2.8. * simple-cache.c (cache_delete_text): Simple bug in the logging of deleting texts. Sun Nov 22 16:06:36 1992 Per Cederqvist (ceder@mauritz) * version.incl: Version 1.2.7. * Support for logging of all db accesses: * ramkomd.c (main): Added -L option. * cache.h (tell_cache_garb_text): New function. * simple-cache.c: Do the logging. * text-garb.c (garb_text): Inhibit the logging while garbing. * cache.h: Removed unused stuff. Mon Nov 2 19:18:08 1992 Per Cederqvist (ceder@mauritz) * simple-cache.c (LOGFILE): Deleted the changes from Tue Oct 27. * cache.h (MAX_CACHED_PERSONS, MAX_CACHED_WHATEVER, cached_load_names, cached_add_name): was unused, is deleted. Tue Oct 27 05:27:55 1992 Per Cederqvist (ceder@ruben) * version.incl: Version 1.2.6. * simple-cache.c (LOGFILE): If #define'd, log every usage of the database to the file whose filename LOGFILE is set to. Thu Oct 8 08:51:23 1992 Per Cederqvist (ceder@mauritz) * tmp-limits.h: Allow 333333 texts. * dbck.c (main): Fixed usage message. Wed Oct 7 00:43:03 1992 Per Cederqvist (ceder@mauritz) * text-garb.c: Added a comment that describes a design for a better way to implement garbage collection of texts. Sun Sep 6 20:30:01 1992 Per Cederqvist (ceder@robert) * version.incl: Version 1.2.5. * connections.c (toploop): Optimization: don't flush stdout unless buglevel > 0. * tmp-limits.h: Allow 33333 texts and 1999 confs. Wed Aug 12 01:38:22 1992 Per Cederqvist (ceder@robin) * version.incl: Version 1.2.4. * rfc931.c (get_real_username): Introduce 20-second timeout. Log any ident queries that takes more than 3 seconds. New argument: hostname (only used for the log). * connections.c (login_request): Send the new argument. * log.c (logv): Print the log message on a single line, with the time in the first 20 columns. (Facilitate log browsing). Wed Aug 12 00:33:55 1992 Inge Wallin (inge@lysator) * simple-cache.c (save_one_text): Write texts to file as long as they are removed. Thu Jun 11 16:28:39 1992 Per Cederqvist (ceder@lysator) * vercion.incl: Version 1.2.3. * server-config.c: Timeout set to two minutes. Cache size increased to 20 elements. * simple-cache.c (dump_cache_stats): Also report the cache sizes. * missing-ansi.c (strerror): Return a const char *,not a char *. * connections.c (login_request): Don't dump core when we can't get the name of the originating host. Wed Jun 10 03:36:30 1992 Per Cederqvist (ceder@robin) * ramkomd.c (main): Log version number and pid when starting a new server. Sun May 31 03:08:31 1992 Per Cederqvist (ceder@lysator) * version.incl: Version 1.2.2 (not released). (Note: a bug in isc-0.97 has been fixed since 1.2.1: malloc() was used instead of isc_malloc_wrapper to allocate the kom_server_mcb). * lyskomd.h (kom_server_mcb): Removed duplicate declaration (it was (and still is) also declared in connections.h). * handle-malloc-dump.el: Added (require 'elib-dll). Mon May 25 22:56:38 1992 Per Cederqvist (ceder@lysator) * ram-smalloc.c (tmp_alloc): Don't log the size of the internal table anymore. * version.incl: Version 1.2.1 (not released). * server-config.c (TIMEOUT): Increased from 100 ms to 5 seconds. With isc 0.97 that should be no problem! * connections.c (toploop): The timeout is initially zero, so that the garbing starts right away. * connections.c (login_request): Fix so that the server can tell the difference between a mux and a client (using num_ip_*_port) (The bug was introduced with the isc upgrade). * lyskomd.h (listen_client, listen_mux): No longer exported. * ramkomd.c (listen_client, listen_mux): Now static. * ramkomd.c, lyskomd.h (num_ip_client_port, num_ip_mux_port): New variables. * ramkomd.c (server_init): Really use the IscConfig struct. * ramkomd.c (server_init): Log which ports lyskomd listens to for clients and servers, and set num_ip_*_port. Sat May 23 19:57:17 1992 Per Cederqvist (ceder@robin) * text.c (add_comment, add_footnote): Disallow texts to be comments/footnotes to themselves, since that would trigger a bug (the misc-list that is created would be erronous. A proper misc-info-list handling package should be written instead. Tue May 19 01:06:50 1992 Per Cederqvist (ceder@lysator) * Makefile (tags): Search libraries/libisc-new. Mon May 18 23:27:04 1992 Per Cederqvist (ceder@lysator) * connections.h (Connection): Added the boolean field username_valid. * internal-connections.c (new_client, EMPTY_CONNECTION): Initialize it. * prot-a.c (prot_a_parse_packet): Use it to test if username is set or not (instead of just assuming that an empty username is unset). Thu Apr 16 00:46:50 1992 Per Cederqvist (ceder@lysator) * Use isc-0.97: * Makefile (LIBS): -lisc-new instead of -lold-isc. * Makefile (GENOBJS, GEN_SRCS): Include isc-malloc.[oc]. * isc-malloc.[hc]: New files. (Compare string-malloc.[hc]). * Various namechanges: ISCMCB -> IscMaster ISCECB -> IscEvent ISCSCB -> IscSession * Use isc_destroy() instead of isc_close(). * isc-interfacs.h: Include instead of . * lyskomd.h (listen_client, listen_mux): Now (IscSession *). Updated all references. * lyskomd.h (kom_server_mcb): Now declared here. * ramkomd.c ("isc-malloc.h"): Include instead of . * ramkomd.c (server_init): Use the new configuration scheme. (Needs som further investigation). * ramkomd.c (dump_exit_statistics): Don't dump_isc_message_counts() since it doesn't exist. Wed Apr 15 19:52:20 1992 Per Cederqvist (ceder@lysator) * connections.c (add_to_kill_list): Check if the connection already was on the kill-list. If so, print a diagnostic and return. Tue Apr 14 17:21:26 1992 Per Cederqvist (ceder@lysator) * Version 1.1.2 (not released). * session.c (create_oldstyle_username): New function. * session.c (pepsi, change_what_am_i_doing, who_is_on, get_session_info): Use it. (pepsi and change_what_am_i_doing used to got the username wrong in 1.1.1). Sat Apr 11 22:00:27 1992 Per Cederqvist (ceder@robin) * connections.c (check_kill_flag): Small optimization: don't call sfree when the kill_list is empty. Fri Apr 10 13:46:41 1992 Per Cederqvist (ceder@lysator) * Since lyskomd spended 25% of the time in check_kill_flag it was rewritten. Instead of having a flag in the Connection that is checked once after every atomic call a linked list of connections that shall be killed is created. * connections.h (Connection): The field kill_me deleted. * connections.[hc] (add_to_kill_list): New function. * connections.c (kill_list_size): New variables. * connections.c (check_kill_flg): Rewritten to use the kill_list. * internal-connections.c (EMPTY_CONNECTION, new_client): Don't try to initialize kill_me. * session.c (disconnect): Use add_to_kill_list() instead of kill_me. Thu Apr 9 00:15:33 1992 Per Cederqvist (ceder@lysator) * Version 1.1.1 (not released). * Lyskom used to spend 60% of the time in limit_text_stat. With the changes of today it has dropped to 0.1%. * disk-end-of-atomic.c (end_of_atomic): Call limit_cache_size only every 100 rounds. * conference.c (unique_name): Fixed bug. It was previously possible to create a conference with the same name as an already existing conference. * simple-cache.c (throwable_p): New function. * simple-cache.c (limit_pers, limit_conf, limit_text_stat): Use throwable_p, and get the condition right. Tue Apr 7 16:48:54 1992 Per Cederqvist (ceder@robin) * session.c (login_old, login): Handle visibility flag correctly when an implicit logout is performed. * prot-a-output.c (prot_a_output_who_info): Removed erroneous bugfix. Mon Apr 6 23:11:29 1992 Per Cederqvist (ceder@ruben) * session.c (who_is_on_ident): Fix malloc bug. * session.c (who_is_on, who_is_on_ident, who_is_on_old): Don't return invisible sessions. Sat Apr 4 19:24:27 1992 Per Cederqvist (ceder@lysator) * person.c (get_person_stat): It is allowed to get the person status before logging in so that it is possible to print a "last login from:" message. * ramkomd.c: Include "getopt.h", not . * person.c (create_person): The newly created person always logs in visibly. * kom-types.c (EMPTY_SESSION_INFO_IDENT, EMPTY_WHO_INFO_IDENT): New constants. * Makefile (LIBS): Use LIBRESOLV and LIBIDENT. Wed Apr 1 22:02:55 1992 Per Cederqvist (ceder@lysator) * Code to allow invisible sessions: * connections.h (Connection): New field: invisible. * session.c, fncdef.txt (login_old): New name for the function login(). * fncdef.txt (login): New function with a parameter for invisible use. * session.c, fncdef.txt (login): New function with invisibility support. * session.c (logout, pepsi, change_what_i_am_doing): Don't send asynchronous messages if the session is invisible. * Code to allow user identification using the Ident protocol (as defined in RFC 931): * connections.h (Connection): New field: ident_user. * connections.h (Res_type): New types: rt_session_info_ident and rt_who_info_ident_list. * connections.c (login_request): Set ident_user. * fncdef.txt (who_is_on_ident, get_session_info_ident): New functions that behaves like who_is_on and get_session_info, but also returns the ident name. * internal_conections.c (EMPTY_CONNECTION, new_client, kill_client): Set/free ident_user and invisible. * prot_a_output.c (prot_a_output_who_info_ident, prot_a_output_who_info_ident_list, prot_a_output_session_info_ident): New functions. * prot-a.c (reply): rt_who_info_ident_list and rt_session_info_ident: New reply types. * session.c (login_old): Generate the a proper (but not 1.1.0-compatible) string in username. * session.c (who_is_on, get_session_info): Generate username. * session.c (who_is_on_ident, get_session_info_ident): New functions. * prot-a.c (prot_a_reply): Free username when returning a session_info. It is allocated in get_session_info() in session.c. * prot-a-output.c (prot_a_output_who_info_list): Free username when returning a who_info_list. It is allocated in who_is_on() in session.c. Tue Mar 31 23:48:47 1992 Per Cederqvist (ceder@robert) * rfc931.[hc]: New file. * Makefile: (GEN_OBJS, GEN_SRCS): Use it. Tue Mar 24 18:05:18 1992 Per Cederqvist (ceder@robert) * simple-cache.c (save_one_text): Check that the entire file made it to the disk (compare wath ftell() says after fclose() and fopen()). Mon Mar 23 08:51:13 1992 Per Cederqvist (ceder@robin) * dbck.c (truncated_texts): New variable. * dbck.c (main): Increase modifications if truncated_texts is set. * dbck-cache.c (init_cache): If the database is truncated or severely damaged in the text-status part, just ignore the remaining texts (and don't fail miserably). Thu Mar 12 04:30:17 1992 Per Cederqvist (ceder@lysator) * membership.c (get_unread_confs): You must be logged in to use this call. Mon Mar 9 16:33:45 1992 Per Cederqvist (ceder@robin) * DATAFILE_NAME (server-config.c): Added a comment. Wed Feb 26 19:49:21 1992 Per Cederqvist (ceder@lysator) * various: Lint from gcc 2.0 deleted. Fri Feb 21 01:45:35 1992 Per Cederqvist (ceder@robin) * server-config.c (SYNC_TIMEOUT): Decreased from 10 millisec to 0. It takes some 2 hours for the server at Lysator to save the entire data base, and that is a bit too long... * dbck.c (main): New flag: -s. Prints some extra statistics. * dbck.c (print_statistics): New function that prints statistics about the lengths of texts. * prot-a-parse-arg-c.awk: Fixed a syntax error. (gawk could handle the file, but awk could not). Sun Jan 12 02:30:34 1992 Per Cederqvist (ceder at lysator) * prot-a-parse.[ch] (prot_a_get_token): Then function is now static. Sun Jan 5 19:10:20 1992 Per Cederqvist (ceder at lysator) * dbck.c (main): Tell the user why no compression was done if he specifies -g and there is an error in the files. * dbck.c, ramkomd.c (main): Better usage messages. * simple-cache.c (init_cache): Slightly better log error message when the text file can not be found. Wed Dec 18 00:05:43 1991 Per Cederqvist (ceder at lysator) * Version 1.0.4 was never used. Version is now 1.1.0. * fncdef.txt, prot-a.c, text.c (find_next_text_no, find_previous_text_no): New functions. Tue Dec 17 00:52:11 1991 Per Cederqvist (ceder at lysator) * prot-a-parse-arg-c.awk: Fixed bogus parsing of argument to get_last_text. * prot-a-parse.h, prot-a-parse.c (prot_a_parse_time_date): New function for get_last_text. * text.c (get_last_text): Rewrote it. Mon Dec 16 15:32:57 1991 Per Cederqvist (ceder at ruben) * conference.c (is_supervisor): New arguments: viewer and viewer_p. * membership.c (access_perm): New parameters: viewer and viewer_p. * admin.c (broadcast, send_message): Don't forget to check the length of the message. * text.c (create_text, create_anonymous_text): Fixed error in max length comparison. * All the changes below fixes one single bug. When a text is created that has both a secret and a public conference as recipient the asynchronous messages that were sent out did not filter away the secret conference. This has how been fixed. * membership.c manipulate.h (fast_access_perm): New arguments: viewer and viewer_p. * send-async.c, text.c (is_member_in_recpt): Moved from send-async.c to text.c. * send-async.h, send-async.c (async_new_text): Sends to a specified connection. * text.c (create_text, create_anonymous_text): Use send_async_new_text. * text.c (send_async_new_text): New function. * text.c (get_text_stat): Use filter_secret_info. * text.c (filter_secret_info): New function that given a text-stat and a person number yields a new text-stat that only contains tha recipients that the viewer is allowed to know about. Mon Nov 11 01:08:09 1991 Per Cederqvist (ceder at ruben) * fncdef.txt, prot-a.c, text.c: Added create_anonymous_text. Mon Nov 10 20:00:00 1991 Linus Tolke T (linus at ruben) * fncdef.txt, prot-a.c, text.c, call-switch.awk, cache.h, connections.h : Added get_last_text. Tue Oct 29 15:48:15 1991 Linus Tolke Y (linus at ruben) * prot-a-output.c, prot-a-parse.c, ram-output.c, ram-parse.c (Priv_bits): The flg7 field has change name to extern_gw. Tue Oct 29 03:52:34 1991 Per Cederqvist (ceder at robert) * Makefile (tags): tags does not depend on anything now. * Makefile (HDRS): isc.h should be isc-interface.h. See note from Sat Sep 21. * Version is now 1.0.4. * internal-connections.c (no_of_connection_attempts): Now a global variable, so that dump_allocated_connections can write it to the log files. * ramkomd.c (dump_exit_statistics): This function, which is only run when the server is brought down nicely, writes some statistics to a log file. The log file is now open in append mode (and not overwrite mode...) Mon Oct 21 23:14:22 1991 Per Cederqvist (ceder at robin) * text.c (create_text): Check that the length of the text is no greater than TEXT_LEN. Wed Sep 25 11:44:17 1991 Per Cederqvist (ceder at lysator) * person.c (do_set_passwd, chk_passwd), ram-parse.c (fparse_conference): Use string_free and not sfree to free strings that was created with s_crea_c_string. * person.c (do_set_passwd): Fixed serious bug in salt generation. Mon Sep 23 19:39:55 1991 Per Cederqvist (ceder at lysator) * text.c (sender): handle a sent_at correctly. Sat Sep 21 02:12:24 1991 Per Cederqvist (ceder at lysator) * "isc.h" is now known as "isc-interface.h" to avoid confusion with . * version.incl: Go 1.0.2. * ram-smalloc.c: Added support for memory leak finding. * trace-mem.gdb, handle-malloc-dump.el: Useful for finding memory leaks in the server. Compile ram-smalloc.c with DEBUG_MALLOC defined. * mux.c (mux_close): Fixed memory leak. * ramkomd.c (main): Print how many blocks isc allocates. * ramkomd.c: ip_client_port and ip_mux_port are local to ramkomd.c. Tue Sep 17 23:04:39 1991 Per Cederqvist (ceder at lysator) * .gdbinit: Now created by "make .gdbinit". * Removed smalloc.c that is never used. Mon Sep 16 19:27:04 1991 Per Cederqvist (ceder at lysator) * version.incl: Version 1.0! Fri Sep 13 22:20:59 1991 Per Cederqvist (ceder at lysator) * server-config.c: Det heter lyskomd-data, inte ramkomd-data (osv). F|rb{ttrade n}gra kommentarer. Thu Sep 12 01:00:13 1991 Per Cederqvist (ceder at lysator) * ramkomd.c (main): Anropa srand() om ENCRYPT_PASSWORDS {r satt, s} att vi f}r ett slumpm{ssigt fr|. * person.c (do_set_passwd, chk_passwd) Kryptera l|senord om ENCRYPT_PASSWORDS {r satt. (Inkompatibelt med gamla databasformatet). Tue Sep 10 21:58:18 1991 Per Cederqvist (ceder at robert) * conference.c (delete_conf): Om det {r en brevl}da som tas bort s} ska personen som tas bort loggas ut f|rst (inte n|dv{ndigtvis personen som tar bort en person...) Thu Sep 5 10:14:40 1991 Per Cederqvist (ceder at lysator) * cache.h, simple-cache.c, dbck-cache.c (cached_set_conf_type): borttagen. * conference.c, person.c: alla anrop till cached_set_conf_type borttagna. (Funktionen anropades bara precis efter mark_conference_as_changed. * simple-cache.c: Fixade lite stavfel. La till lite nya defensiva kontroller. * simple-cache.c (mark_conference_as_changed): Uppdatera inte bara first_local_no, utan {ven nice och type i small_conf_array varje g}ng som mark_conference_as_changed anropas. Namnet uppdateras dock inte. Det kostar nog mer {n det smakar (man m}ste reallokera en str{ng n{r man {ndrar namnet). * simple-cache.c (get_text_node, get_pers_node, get_conf_node): Returnera NULL om det s|kta numret {r st|rre {n next_free_num eller next_text_num. Defensivt ska det vara! Wed Sep 4 22:03:47 1991 Per Cederqvist (ceder at lysator) * text-garb.c (garb_text): Nollst{ll deleted_texts n{r garbningen {r klar. Sat Aug 31 22:14:30 1991 Per Cederqvist (ceder at lysator) * ramkomd.c: Inkludera alltid - gcc -M f|rs|ker inkludera den {ven om HAVE_LOCALE inte {r satt. Skicka med en tom locale.h i include/ansi f|r de som inte har locale. Fri Aug 30 05:32:13 1991 Per Cederqvist (ceder at lysator) * config.c ramkomd.c (MAX_NO_OF_CONNECTIONS): S{tt fr}n getdtablesize om det anropet finns. * limits.h heter numera tmp-limits.h (f|r att inte f|rv{xla den med ANSI-filen . Wed Aug 28 03:21:27 1991 Per Cederqvist (ceder at lysator) * dbck.c (post_check_persons): Uppdatera modifications {ven n{r man reparerar antalet skapade m|ten f|r en person. * La till RCS-Id i alla k{llkodsfiler. * prot-a-parse-arc-c.awk: "smalloc.h" heter . * dbck-cache2.c heter nu dbck-cache.c. * cache.c, end-of-atomic.c, lyskomd.c, ram-cache.c: Borttagna. Mon Aug 26 04:13:34 1991 Per Cederqvist (ceder at lysator) * simple-cache.c: Anv{nde BUFSIZ i st{llet f|r FILENAME_MAX. * #include "smalloc.h" heter nu #include Sat Aug 24 17:36:43 1991 Per Cederqvist (ceder at lysator) * simple-cache.c: Anv{nde FILENAME_MAX i st{llet f|r 1024. * limits.h (MAX_TEXT) |kade till 200003. Wed Aug 14 02:11:17 1991 Per Cederqvist (ceder at lysator) * Makefile(LIBS): La till -lresolv. * config.c(WHITESPACE): La till \r. Det g}r inte att koppla upp en telnet till server version 0.31.6. Sat May 18 04:22:06 1991 Per Cederqvist (ceder at nanny) * Installerade och startade diskomd 0.29.1. * Div. bugfixar i diskomd och simple-cache.c. Fri May 17 06:00:00 1991 Per Cederqvist (ceder at nanny) * Installerade diskomd 0.29 som ramkomd. Wed May 8 04:43:50 1991 Thomas Bellman (Bellman@nanny) * conference.c (set_super_conf): Fixed bug that made it impossible to set the super-conf to zero. Mon May 6 09:34:00 1991 Per Cederqvist (ceder at nanny) * Anv{nder funktionerna i memory.h s} l}ng m|jligt i st{llet f|r smalloc/sfree. * Nu har servern tv} kopior av namnet p} varje m|te. Dels en som alltid ligger i minnet (name_list i ramkomd, small_conf_arr i diskomd), dels en som bara {r inladdad ibland (i diskomd), conf_arr. Fri May 3 14:49:19 1991 Per Cederqvist (ceder at nanny) * 0.28 installerad. * Anv{nder traverse_connections |verallt d{r man g}r igenom alla uppkopplingar. * Ny fil: internal-connections.[hc] (i brist p} b{ttre namn). Inneh}ller new_client(), kill_client(), get_conn_by_number() och traverse_connections(). I forts{ttningen skall man inte anv{nda sig av f{ltet (Connection *)->next, utan i st{llet anv{nda traverse_connections() och get_conn_by_number(). * Nytt anrop: who_am_i som ger en Session_no. Thu May 2 17:24:50 1991 Per Cederqvist (ceder at nanny) * St{ngde av TIME_SYNC i ram-cache.c. Nu kanske n}gon orkar l{sa log-filerna igen... * Nu kollas flaggan kill_me i Connection i _alla_ uppkopplingar efter varje anrop, s} nu b|r disconnect fungera. Mon Apr 29 19:02:12 1991 Per Cederqvist (ceder at nanny) * Namnbyte i Who_info och Connection: session resp. client_no heter numera session_no. * Ett nytt asynkront meddelande: logout. (Pers_no & Session_no). * Tv} nya anrop: get_session_info och disconnect. Mon Apr 22 14:32:19 1991 Per Cederqvist (ceder at nanny) * version 0.27.2 installerad. * Nu skickas sessionsnummer med n{r man g|r 'pepsi' och 'change_what_i_am_doing'. Sat Apr 6 11:47:47 1991 Per Cederqvist (ceder at nanny) * version 0.27.1 installerad. Sun Mar 24 18:49:56 1991 Per Cederqvist (ceder at nanny) * parser.c: lookup_name(): Nu tas alla '-' bort - |kad QZ-kom-kompatibilitet! F|r tillf{llet g|rs det bara om SERVER {r definierad (f|r att inte riskera att f|rst|ra kod i klienten). Tue Mar 19 20:27:45 1991 Peter Eriksson (pen at nanny) * connections.c: logout_client() om CONN_MAGIC_FREE, skriver nu i logfilen, och g|r return omeddelbart - snabbfix f|r att servern inte ska krascha s} ofta.. * version 0.26 installerad Mon Mar 18 11:28:46 1991 Peter Eriksson (pen at nanny) * config.c: DEFAULT_CLIENT_SERVICE_NAME = lyskom-client IN_CLIENT_PORT = 4896 * version 0.24 installerad Mon Mar 18 09:12:59 1991 Peter Eriksson (pen at nanny) * connections.c: mux_handle_packet(): mux->parse.string nollst{lls nu efter att den har tilldelats till cp->hostname... * version 0.23 installerad Mon Mar 18 01:56:50 1991 Per Cederqvist (ceder at nanny) * send_message: ny funktion och asynkront meddelande. Ers{tter broadcast. Broadcast finns kvar f|r bak}tkompatibilitet. Sun Mar 17 23:49:28 1991 Per Cederqvist (ceder at nanny) * mux.c: mux_flush(): om uppkopplingen var av typ MUX_TYPE_CLIENT s} gjordes inte isc_flush. Sun Mar 17 03:50:23 1991 Peter Eriksson (pen at nanny) * connections.c: logout_client(), snabb fix f|r ett problem som medf|rde att mux_close() anropas tv} g}nger n}nstans (tror jag), och cp->mux var d} NULL andra g}ngen... * Version 0.21 installerad Sat Mar 16 00:03:29 1991 Per Cederqvist (ceder at nanny) * Simpelt mux-protokoll implementerat. * change_name(): Nu kan man byta namn fr}n "foo" till "foo". * Version 0.20 installerad Tue Mar 12 02:16:12 1991 Peter Eriksson (pen at nanny) * server version 0.19 installerad.... BUG fixad i ISCLIB som har medf|rt att en buffert vart |verskriven... * server version 0.18 installerad. (magiska nummer inf|rda {ven i Connection och Mux strukturerna) Mon Mar 11 21:23:02 1991 Peter Eriksson (pen at nanny) * ram-smalloc.c/smalloc.c: Magiskt nummer inf|rt... Mon Mar 11 19:49:10 1991 Per Cederqvist (ceder at nanny) * dbck anpassat till nya formatet. "dbck -g" garbar i text-filen. Mon Mar 11 01:48:34 1991 Peter Eriksson (pen at nanny) * 0.17 installerad och ig}ngsatt. Sun Mar 10 21:23:50 1991 Peter Eriksson (pen at nanny) * connections.c: bugfix i new_client():setup av all_conn...-listan Sat Mar 9 15:25:09 1991 Peter Eriksson (pen at nanny) * Buffring av meddelanden g|rs nu i Mux-rutinerna. Sat Mar 9 05:52:34 1991 Per Cederqvist (ceder at nanny) * 0.16 installerad och ig}ngsatt. Sat Mar 9 03:25:25 1991 Peter Eriksson (pen at nanny) * Allt f{rdigt f|r MUX-hantering. Nu fattas bara ett riktigt protokoll, samt buffring av utdata i Mux_client strukturen. Major rewrite av det mesta som hade med isc_ att g|ra. Thu Mar 7 03:16:00 1991 Peter Eriksson (pen at nanny) * Nu g}r servern genom kompilatorn, med allt fixat till ISC. Jag har dock inte provk|rt... Wed Mar 6 23:08:16 1991 Per Cederqvist (ceder at nanny) * P} grund av Isc-ombyggnaden har jag inte kunnat provk|ra. * prot-a.c: prot_a_parse_packet(): Om man skrev n}got som matchade regexpen "A[ \t\n]*\([0-9]+\)[^H].*" n{r man loggade in s} sattes username till "\1H\{\}\1". * text.c: get_text(): Nu kan man (troligtvis) h{mta en "tom" text utan att f} felet KOM_INDEX_OUT_OF_RANGE. Tue Mar 5 19:17:50 1991 Per Cederqvist (ceder at nanny) * ram-smalloc.c: rewrote tmp_alloc and free_tmp. Reason: a spurios "rm ram-smalloc.c"... Sun Mar 3 22:16:34 1991 Per Cederqvist (ceder at nanny) * isc-serverinfo.[hc]: Uppsnyggad. Anv{nder inte l{ngre n}got som {r lyskom-specifikt. F|ljd{ndringar i connections.c, dit en del saker blev flyttade. Inge hj{lpte mig v{lja vad som skulle bort. * N{r n}gon f|rs|ker logga in, men servern {r full, sker nu f|ljande: * Den som kopplar upp f}r texten "%% No connections left.\n". * Alla andra f}r det asynkrona meddelandet 11 (ay_rejected_connection) (inga argument). Sat Mar 2 18:47:37 1991 Per Cederqvist (ceder at nanny) * i_am_on_obsolete skickas inte l{ngre. * broadcast tar nu en str{ng, inte ett textnummer. Skrev broadcast och funktioner f|r det asynkrona meddelandet broadcast. Sat Mar 2 01:13:29 1991 Lars Willf|r (willfor at nanny) * Fixade en bug i set_permitted_submitters som gjorde att man inte kunde s{tta till}tna inl{ggsskrivare till 0 (vem som helst). Tue Feb 19 00:52:03 1991 Per Cederqvist (ceder at nanny) * Bytte versionsnummer till 0.13. * conference.c: set_etc_motd(): Ett |verfl|digt semikolon gjorde att det inte gick att s{tta etc_motd. Sun Feb 17 06:44:46 1991 Thomas Bellman (bellman at nanny) * isc-server.c: isc_flush(): Provar att stoppa redan n{r man n}tt upp till maxgr{nsen MAXQUEUEDSIZE, och inte v{nta tills man |verskrider den. Fri Feb 15 23:39:46 1991 Per Cederqvist (ceder at nanny) * De tv} {ndringarna nedan fungerade inte, s} jag }terst{llde allt. * Om /etc/nologin existerar skickar servern str{ngen "%% No logins allowed." vid uppkoppling. Om fildeskriptorerna {r slut skickas str{ngen "%% No connections left." * isc_getnextevent(): Nu returneras en ny uppkoppling {ven i fallet ISC_EVENT_REJECT. Anroparen m}ste nu anropa isc_logoutclient p} en s}dan uppkoppling innan isc_getnextevent anropas n{sta g}ng. Sun Feb 10 10:04:24 1991 Per Cederqvist (ceder at nanny) * convert.c och convert-cache.c konverterade databasen. Filerna f}r vara kvar ett tag till, tills vi ser att allt verkligen fungerar. * Inge och jag skrev om ram-cache.c, ram-output.c och ram-parse.c. Nu sparas textmassan i en s{rskild fil. Dessutom sparas klockslag som time_t, inte som struct tm. Dessa tv} }tg{rder ledde till _stora_ hastighetsvinster - ca en faktor 2. [ndringar i cached_delete_text(), cached_get_text(), cached_create_text(), init_cache(), fparse_text_stat(), foutput_text_stat(), foutput_time() och fparse_time(). * server/ram-output2.c heter numera server/ram-output.c * server/services.h heter numera server/internal-services.h (include/services.h {r of|r{ndrad). Fri Feb 8 20:24:59 1991 Per Cederqvist (ceder at nanny) * cache.h: Ny funktion: cached_conf_exist(Conf_no). * cache.h: cached_get_name anv{nds inte! Det {r nu borttaget. Tue Feb 5 21:17:42 1991 Per Cederqvist (ceder at nanny) * Info om hur l}ng tid de olika delarna av synkningen tog lagras om TIME_SYNC {r definierad i ram-cache.c. * Nu kan man l{sa motd_of_lyskom {ven om man inte {r inloggad. Tue Feb 5 02:58:34 1991 Peter Eriksson (pen at nanny) * isc-server.c/iscserver.h: Max queue size implementerad. Statistik / client lagras i Isc_clientinfo. Tue Feb 5 00:51:44 1991 Per Cederqvist (ceder at nanny) * db/ramkomd-logg flyttad till etc/ramkomd-logg. * etc/pid: process-id skrivs i denna fil. Fri Feb 1 23:19:04 1991 Per Cederqvist (ceder at nanny) * 0.10 installerad och startad. * get_map fungerade inte om man f|rs|kte h{mta en delmap d{r alla texter man ville ha var raderaded. 90-120 == 547689541. (unsigned). R{ttat, men fr}gan {r hur m}nga liknande buggar det finns... Tue Jan 22 10:14:28 1991 Lars Willf|r (willfor at nanny) * [ndrade lite #include-rader s} att make depend ska fungera. Kommenterade bort '#include "CloseFileDescriptors"' ur logII.c. Fri Jan 18 10:33:58 1991 Per Cederqvist (ceder at nanny) * Nytt asynkront meddelande: ay_login. S{nds n{r n}gon loggar in. Nu s{nds inte ay_i_am_on n{r man loggar in l{ngre. Thu Jan 17 14:43:14 1991 Per Cederqvist (ceder at nanny) * 0.09 installerad. * ram-cache.c: Om TIME_SYNC {r definierad loggas information om hur l}ng tid varje syncning tar. * Inge:s funktioner f|r att spara databasen n{stan dubbelt s} snabbt som vanligt testade och inlagda. Mon Jan 14 11:45:26 1991 Per Cederqvist (ceder at nanny) * forced_leave_conf(): Ny funktion som anropas n{r n}gon uttr{der ur ett m|te (av n}gon orsak). Den skickar ett asynkront meddelande till alla uppkopplingar d{r personen i fr}ga {r inloggad och ber{ttar att han inte l{ngre {r med i m|tet. Det asynkrona meddelandet heter "ay_leave_conf". Sun Jan 13 20:26:29 1991 Inge Wallin (inge at nanny) * Stoppat ner filerna ../*.h i det nyskapade directoryt ../include samt fixat samtliga h- och c-filer i serverdirectoryt att inkludera i st{llet f|r "../foo.h". Dessutom lagt till -I../include i Makefile. Sun Jan 13 11:27:31 1991 Per Cederqvist (ceder at nanny) * membership.c: get_memberhip(): Om n}gon f|rs|ker h{mta en medlemsskapslista f|r en person den {r organisat|r f|r utan att h{mta de l{sta texterna s} s{tts read_texts till NULL. Bug! Fixat. * do_delete_text(): L{nken fr}n f|rfattaren till texten (created_texts) s{tts till noll n{r texten tas bort. Fri Jan 11 13:37:00 1991 Per Cederqvist (ceder at nanny) * create_text(): Nu kan en text inte vara kommentar/fotnot till samma text mer {n en g}ng. Thu Jan 10 21:42:16 1991 Thomas Bellman (bellman at nanny) * connections.c: call_function(): Variabeln 'status' tilldelades v{rdet FALSE, fast den var av typen Success. Thu Jan 10 20:40:46 1991 Peter Eriksson (pen at nanny) * Added feature: rwhod support. (rwhod.c / connections.c) Thu Jan 10 12:40:33 1991 Per Cederqvist (ceder at nanny) * ram-output.c: foutput_membership() och ram-parse.c: fparse_membership(): Om no_of_read != 0 och read_texts == NULL s} s{tts no_of_read till 0 och ett meddelande loggas. * ram-parse.c: fparse_person(): en liten minnesl{cka tillt{ppt. L|senordet lagrades dubbelt i servern. Eftersom fparse_person bara anv{nds vid uppstart s} p}verkas inte storleken s} mycket... Wed Jan 9 16:53:56 1991 Per Cederqvist (ceder at nanny) * mark_as_read(): adjust_read anropas alltid. F|rut kunde det h{nda att read_texts blev o{ndlig om en text raderades innan man l{ste den. Nu ska det inte bli s}. (Men det finns fortfarande minst en bugg kvar n}gonstans i mark_as_read). Mon Jan 7 11:00:37 1991 Per Cederqvist (ceder at nanny) * mark_as_read(): Nu protesterar servern om man f|rs|ker markera en text med lokalt nummer 0. Mon Jan 7 09:05:24 1991 Peter Eriksson (pen at nanny) * connections.c&isc-server.c: ISC_EVENT_REJECT Sun Jan 6 16:13:49 1991 Per Cederqvist (ceder at nanny) * text-garb.c: garb_text() loggar nu hur m}nga texter den har tagit bort efter varje runda. Sun Jan 6 16:20:59 1991 Peter Eriksson (pen at nanny) * missing-ansi.c: skapade 'strerror()' connections.c: {ndrade i toploop() s} fel skrivs ut som text ist{llet f|r som siffror. isc-server.c: ditto i isc_flush(). Sat Jan 5 16:20:04 1991 Peter Eriksson (pen at nanny) * connections.c: fexists(): nollst{llning av 'errno'. skriv ut event->msg om den {r satt vid ISC_EVENT_ERROR. isc-server.c: isc_getnextevent(): s{tt isc_ei->msg till en beskrivande text vid ISC_EVENT_ERROR. Sat Jan 5 04:13:01 1991 Per Cederqvist (ceder at nanny) * La in en close i isc_logoutclient. Nu ska v{l f|rbindelserna kopplas ner ordentligt, hoppas jag. Fri Jan 4 21:14:36 1991 Per Cederqvist (ceder at nanny) * Version 0.07 tagen i drift. Fri Jan 4 20:13:40 1991 Peter Eriksson (pen at nanny) * isc-server.c: non-blocking writes och transmit queue funkar nu. Fri Jan 4 12:02:03 1991 Per Cederqvist (ceder at nanny) * create_text returnerar numera KOM_ILL_MISC om man f|rs|ker med samma mottagare mer {n en g}ng. * add_recipient klarar nu {ven av att addera en cc_recpt. Fri Jan 4 11:57:48 1991 Peter Eriksson (pen at nanny) * printf.c: Ansifikation... isc-server.c: isc_printf(), isc_putc(), isc_write() & isc_flush() anv{nder nu alla en per-klient s{ndbuffer. Dock anv{nds blocking-writes fortfarande... prot-a-*.c & ram-*.c: Anv{nder nu isc-rutinerna f|r utmatning ist{llet f|r stdio. Sun Dec 16 21:55:19 1990 Thomas Bellman (bellman at nanny) * services.c: pepsi(), change_what_i_am_doing(): Man b|r nog s{tta alla f{lt till n}got vettigt i infostrukturen som man skickar till async_i_am_on()... Speciellt str{ngar som anv{ndarnamnet. Sat Dec 15 11:04:45 1990 Per Cederqvist (ceder at nanny) * prot-a-send-async.c, async.h: i_am_on skall naturligtvis skicka en hel Who_info. Nu g|rs det. F|r att inte elisp-klienten skall sluta fungera har numera i_am_on nummer 6. Gamla i_am_on, nummer 2, finns fortfarande kvar, men kommer att tas bort om n}gon m}nad eller s} n{r alla elisp-klienter som anv{nder gamla i_am_on har f|rsvunnit. Fri Dec 14 22:15:11 1990 Per Cederqvist (ceder at nanny) * send-async.c: Nu t}l servern att det finns klienter som inte har hunnit ber{tta vilket protokoll de anv{nder. Denna bugg har orsakat ett antal omstarter... Mon Dec 10 05:32:01 1990 Thomas Bellman (bellman at nanny) * ramkomdc: chdir() till /usr/lyskom/etc innan man dumpar core. Kommer antagligen inte att funka... Mon Dec 10 05:31:33 1990 Peter Eriksson (pen at nanny) * isc-server.c: non-blocking writes. (FNDELAY). Wed Dec 5 17:44:27 1990 Per Cederqvist (ceder at nanny) * ram-cache.c: {ndrade konstanten MAX_TEXT fr}n 9999 till 15000. R{ttade en bugg i cached_create_text(). F|rut s} kollade den om next_text_num var == MAX_TEXT, och sa i s} fall ifr}n, MEN r{knade upp next_text_num. Text nummer (MAX_TEXT+1) kunde allts} skapas... Sun Dec 2 18:06:01 1990 Per Cederqvist (ceder at nanny) * ram-output.c: foutput_time() ram-parse.c: fparse_time() Tidpunkter sparas numera i GMT. P} s} s{tt slipper man ta reda p} vilken tidszon man k|r i. Thu Nov 29 14:43:27 1990 Per Cederqvist (ceder at nanny) * Jag {ndrade i typen Isc_clientinfo och tog bort en hel del som jag i st{llet la i Connection (som jag skapade). Protokoll A isolerat till typen Prot_a. Nu tror jag att allt som {r protokoll-specifikt {r isolerat, s} l}ngt det g}r. Arbetet med att implementera protokoll B b|rjar nu... Wed Nov 28 07:57:48 1990 Per Cederqvist (ceder at nanny) * [ven f|r de asynkrona meddelandena {r nu protokoll A isolerat. Tue Nov 27 14:39:12 1990 Peter Eriksson (pen at nanny) * kill -USR2 g|r fork()&abort() s} man kan f} ut en core av en exekverande server utan att d|da den. * ramkomd.c - sighandler_quit - exit(1) -> abort(). Mon Nov 26 21:15:13 1990 Per Cederqvist (ceder at nanny) * Isc_clientinfo-structuren har ett nytt f{lt: u_char protocol. * F|rberedde f|r protokoll B genom att isolera protokoll A. Nu ligger allt protkoll-A-specifikt i filerna prot-a-output.[hc], prot-a-parse-arg-[hc].awk, prot-a-parse.[hc] och prot-a.[hc]. Observera dock att jag inte {r helt klar {n: jag har inte gjort n}got }t asynkrona meddelanden. Sun Nov 25 14:17:47 1990 Peter Eriksson (pen at nanny) * isc-cache.c&prot-a-output.c: fflush()+write(fileno()) -> fwrite(). Borde snabba upp lite. Sun Nov 25 03:08:24 1990 Per Cederqvist (ceder at nanny) * services.c: mark_text(): Nu g}r det att markera texter! [ndringar i manipulate.c:text_read_access - man f}r alltid l{sa texter som man har markerat. Dessutom n}gra nya funktioner i manipulate.c f|r att hantera markeringar. * services.c: set_conf_type(): Det {r inte till}tet att ha ett m|te/en person som {r secret men inte rd_prot. Sat Nov 24 14:19:53 1990 Per Cederqvist (ceder at nanny) * kom_get_unread_confs ger vilka m|ten en viss person har ol{sta inl{gg i. Sat Nov 24 09:33:32 1990 Peter Eriksson (pen at nanny) * MAX_NO_CONNECTIONS satt till 14 om __sequent__. [14(max_no_clients)+1(portnum)+3(stdio)+1(databas)+1(reject)] * Nya kommandoradsoptioner: -D{databas-path}, -p{portnum}. * DATAFILE, BACKUPFILE -> datafile, backupfile (variabla pga support av olika databasdir). Thu Nov 22 08:06:06 1990 Peter Eriksson (pen at nanny) * Hackade in -SIGUSR1/-SIGHUP/-SIGQUIT (sync, sync&die, sync&die-fast) * MAX_NO_OF_CONNECTIONS - funktionalitet * Check av /etc/nologin f|r utesp{rr av anv{ndare Wed Nov 21 10:16:28 1990 Per Cederqvist (ceder at nanny) * end-of-atomic: Nu anropas garb-text() om servern {r idle. * ram-cache.c: traverse_text och cached_get_garb_nice skrivna. * isc-server.c: Nu anv{nds SO_DONTLINGER, SO_REUSEADDR och SO_KEEPALIVE p} socketen. * MAX_NO_OF_CONNECTIONS {r 15 om __sequent__ {r definierat, annars 32. * config.c: USERNAME_LEN {ndard fr}n 32 till 128 f|r att f} plats med ett maskinnamn ocks}. * Makefile: /bin/sed fattar inte heller \{n\}, precis som GNU-sed, s} jag skrev om Makefilen utan den. Sun Nov 11 15:36:51 1990 Per Cederqvist (ceder at nanny) * cached_set_garb_nice och cached_get_garb_nice. Fri Nov 9 14:58:54 1990 Per Cederqvist (ceder at nanny) * server/cache.c och server/flurp.c (vad {r det?): '#include "../ldb/ldb.h"' bortkommenterat f|r att kunna g|ra make depend. * Makefilen: -L bortkommenterad fr}n LIBS. Fri Nov 2 00:55:32 1990 Peter Eriksson (pen at lave) * isc_server.c: isc_gethostname() - fixade s} att den returnerade IP-nummret (som en String) som de ska enligt specen... Thu Nov 1 01:38:44 1990 Per Cederqvist (ceder at lave) * manipulate.c: do_sub_comment() och do_sub_foootnote klarade inte av att f} NULL som text-status. Det fick dom fr}n do_delete_text... * manipulate.c: do_sub_recpt(): om conf_c var NULL s} gick det }t skogen. Om conf_no inte existerade gick det }t samma h}ll. Sat Oct 20 14:35:59 1990 Per Cederqvist (ceder at lave) * Efter ett gott r}d fr}n Lars Aronsson s} har jag lagt till funktionerna get_person_stat_old, get_conf_stat_old och who_is_on_old. De har samma nummer som de gamla get_person_stat et c. P} s} s{tt {r den nya servern kompatibel med gamla klienter. * Who_info inneh}ller nu tv} nya f{lt: connection, som {r ett l|pnummer som r{knas upp med ett f|r varje ny connection till klienten, och username, som {r userid@host f|r just den h{r uppkopplingen. (Om personen samtidigt {r inloggad fr}n en annan maskin kan man inte se det med Who_info_old). * get_person_stat och get_conf_stat skall numera inte ha n}gon mask. De skickar alltid med namnet. Fri Oct 19 20:42:32 1990 Per Cederqvist (ceder at lave) * L{nkning sker nu med -lresolv, s} att servern fr}gar nameservers om namnet p} maskiner n{r den bara lyckas f} ip-nummret. Sun Oct 14 05:00:23 1990 Per Cederqvist (ceder at lave) * isc-server.c: isc_readmsg(): Det inl{sta meddelandet avslutades med ett '\0', som aldrig anv{nds i servern. Det {r ju i och f|r sig inte s} farligt, men problemet var att nollan lades utanf|r det allokerade utrymmet om det kom f|r mycket data p} en g}ng... Nu l{ggs aldrig n}gon '\0':a in. Thu Sep 13 20:38:22 1990 Per Cederqvist (ceder at laila) * isc-output.c: output_conference(): [ven conf-type |verf|rs nu. Det var aldrig meningen att ta bort den... Sat Sep 1 01:22:53 1990 Per Cederqvist (ceder at lave) * Nu fungerar {ndringarna, i alla fall delvis. Tue Aug 28 14:08:33 1990 Per Cederqvist (ceder at lave) * [ndringen av formaten f|r Text_status och tider ska vara klara nu. Sun Aug 26 16:23:40 1990 Per Cederqvist (ceder at lage) * P}b|rjade {ndring av formatet f|r |verf|ring av Text_status. I forts{ttningen kommer {ven no_of_chars att |verf|ras. * P}b|rjade {ndring av formatet f|r en time_t. I forts{ttningen kommer alla klockslag att |verf|ras som en struct tm. Serverns lokala tid kommer att |verf|ras. Just nu {r {ndringen genomf|rd p} n}gra, men inte alla st{llen. Tue Aug 21 19:46:50 1990 Per Cederqvist (ceder at lave) * get_text() tar nu h{nsyn till first_char och end_char. * get_members() testad. * Tog bort Template f|r att f|rhindra att n}gon {ndrar i den av misstag. Sun Aug 12 17:17:44 1990 Per Cederqvist (ceder at lave) * get_members() tittar ox}, men den {r inte testad. T}get g}r snart, och jag vill hinna {ta middag f|rst... Vi ses om 14 dar! * get_created_texts() tittar p} 'first' och 'len'. * En hel massa sm}buggar, bl a i mark_as_read(), r{ttade. * get_created_texts() och get_members() skrivna. Dom tittar _inte_ p} 'first' och 'no_of_*' {n. * get_membership() tittar nu p} 'first' och 'no_of_confs'. Sat Aug 11 02:13:15 1990 Per Cederqvist (ceder at lave) * services.c: create_text(): Det {r nu till}tet att ha ett loc_no som misc_item. Det ignoreras, oberoende av var det tr{ffas p}. Thu Aug 9 05:13:44 1990 Thomas Bellman (bellman at laila) * Make depend utg}r fr}n Makefile och inte fr}n Template. Man kan allts} {ndra direkt i Makefile. * get_membership() skriven, men gl|mmer titta p} parametrarna 'first' och 'no_of_confs'. Det {r inte testat heller... Sat Aug 4 01:41:41 1990 Thomas Bellman (bellman at lave) * manipulate.c: text_read_access(): Nu kan man inte l{sa texter utan att vara inloggad. ]t minstone enligt k{llkoden. Den server som k|r har fortfarande det gapande s{kerhetsh}let. Tue Jul 24 04:40:32 1990 Per Cederqvist (ceder at lave) * F|rb{ttrad felhantering n{r f|r l}nga str{ngar kommer till servern. Nu trunkerar isc-parse.c str{ngen till den maximala l{nged +1 och l}ter services.c uppt{cka att str{ngen {r f|r l}ng och protestera. F|rut skrev isc-parse.c '%% LysKOM protocol error.' och det var nog lite v{l h}rt... Mon Jul 23 23:44:49 1990 Per Cederqvist (ceder at lave) * En b{ttre version av unique_name(), som inte alltid svara TRUE, {r implementerad. * Asynkrona meddelanden {r implementerade. Fri Jul 13 00:11:48 1990 Per Cederqvist (ceder at lave) * services.h kan inte sl{ngas l{ngre. Fast nuf|rtiden s} {r den ganska liten... Wed Jun 27 07:42:59 1990 Thomas Bellman (bellman at lave) * services.h kan sl{ngas. Filen har ersatts av kom:/services.h, som numera kan anv{ndas b}de i serverdelen och klientdelen. Filerna 'services.c' och 'manipulate.c' {r {ndrade till att inkludera "../services.h" i st{llet. Flaggan SERVER definieras i Makefilen. Wed Jun 6 04:31:02 1990 Per Cederqvist (ceder at laila) * end-of-atomic.[hc]: Funktion som skall anropas efter varje atomiskt anrop. Wed May 30 18:47:42 1990 Linus Tolke (linus at lave) * cache.c rivet lite (cached_create_person, mark_conferens_as_changed.) * cache.[hc] {ndrade i definitionen av cached_lookup_name s} att den skall st{mma med -----------------------------------------\ dvs char * -> String | | Fri May 25 07:32:18 1990 Per Cederqvist (ceder at lave) | | * manipulate.[hc]: Ny fil som inneh}ller hj{lpfunktioner till | services.c. Skall endast anv{ndas av services.c. | | * log.[hc]: Funktioner f|r att skriva till log-fil. | | Wed May 23 18:30:26 1990 Per Cederqvist (ceder at lave) | | * cache.[hc], services.[hc]: Nu anv{nds String |verallt, och <--/ char * inte alls. Det {r nog mycket i cache.[hc] som inte funkar l{ngre... Tue May 22 22:01:19 1990 Per Cederqvist (ceder at laila) * 2kom/server/services.h skapad. H{r ligger saker som t ex cachen m}ste komma }t, men som klienterna inte ska komma }t. Det som bara klienterna ska komma }t ligger fortfarande i 2kom/services.h Wed May 9 21:25:13 1990 Linus Tolke (linus at laila) * Rev infinitesimalt i cache.[hc]. mark_person_as changed fungerar kanske. Tue May 8 23:19:37 1990 Per Cederqvist (ceder at lage) * Slog ihop cache.[ch] och unprot.[ch] till cache.[ch]. unprot.[ch] finns kvar ett tag till, men inneh}ller bara skr{p. Mon May 7 16:23:28 1990 Per Cederqvist (ceder at lage) * server.[hc] heter numera lyskomd.[hc] i god UNIX-anda. Sat May 5 20:53:21 1990 Per Cederqvist (ceder at lave) * unprot.[hc]: Tog bort en massa funktionsstubbar som aldrig kommer att avn{ndas. S}g till att .h och .c inneh}ller samma funktioner. unprot.c g}r nu igenom kompilatorn! Thu May 3 18:54:46 1990 Per Cederqvist (ceder at lage) * unprot.c: Jag skriver in en kommentar "/****/" f|re de funktioner som jag verkligen anv{nder. Tue Apr 24 03:34:14 1990 Per Cederqvist (ceder at lage) * smalloc.[hc]: Ny fkn srealloc. * server.h: Nytt f{lt i Connection: Person * person. Sat Apr 21 13:22:26 1990 Per Cederqvist (ceder at lave) * Ny Makefile, som regenerar sig sj{lv automagiskt. (make depend) * server.h: La till f{ltet ena_level i typen Connection. Wed Apr 18 01:35:49 1990 Per Cederqvist (ceder at lage) * services.c: get_marks har nu ingen parameter. Man kan bara titta p} sina egna markeringar. * unprot.c: Tog bort unprot_change_what_i_am_doing * Flyttade minneshanteringen till smalloc.c * cache.c: La till ett anrop: get_name. Tue Apr 17 23:54:52 1990 Per Cederqvist (ceder at lage) * services.{ch}: {ndrade anropet av create_text