12014-05-23 Sergey Poznyakoff <gray@gnu.org> 2 3 Version 4.2 4 52014-05-22 Sergey Poznyakoff <gray@gnu.org> 6 7 Minor fixes. 8 * src/rcfile.c (control_parser): Fix argument to assign_string. 9 10 * src/headers.h (anubis_db_open_t, anubis_db_open): Last 11 argument is 12 const char *. 13 * src/anubisdb.c (anubis_db_open): Last argument is const char *. 14 * src/anubisadm.c: Use const char * as a last argument to 15 anubis_db_open. 16 * src/authmode.c: Likewise. 17 * src/dbtext.c: Likewise. 18 * src/gdbm.c: Likewise. 19 * src/mysql.c: Likewise. 20 * src/pgsql.c: Likewise. 21 222014-05-19 Sergey Poznyakoff <gray@gnu.org> 23 24 Improve docs. 25 * doc/anubis.texi: Update. 26 * doc/mime.texi: Update. 27 282014-05-18 Sergey Poznyakoff <gray@gnu.org> 29 30 Support for MySQL options file. 31 * NEWS: Document the use of MySQL options file. 32 * doc/anubis.texi: Document all anubisusr options. 33 Describe the use of MySQL options file. 34 * src/mysql.c (mysql_db_open): Use MySQL options file. 35 Two new URL parameters: options-file and options-group. 36 * src/usr.opt: New option --tls-priorities. 37 38 More fixes. 39 * Makefile.am (AM_DISTCHECK_CONFIGURE_FLAGS): Enable everything. 40 * src/anubisusr.c [USE_GNUTLS] (tls_cafile): Remove. 41 [USE_GNUTLS] (secure): New global. 42 (starttls): Update start_ssl_client invocation. 43 * src/usr.opt (tls-cafile option): Set secure.cafile. 44 * src/authmode.c (asmtp_ehlo): Update call to start_ssl_server. 45 * src/getopt.m4 (version_etc_copyright): Update copyright years. 46 * src/gpg.c (gpg_proc): Remove useless preprocessor checks. 47 * src/headers.h: Likewise. 48 * src/rc-gram.y (yyerror): Argument is const char *. 49 * testsuite/mta.c: Remove the use of deprecated gnutls types and 50 functions. 51 522014-05-16 Sergey Poznyakoff <gray@gnu.org> 53 54 Fix tls code. 55 * doc/anubis.texi: Document ssl-priorities. 56 * src/extern.h (secure_struct) <prio>: New member. 57 * src/headers.h (start_ssl_client, start_ssl_server): Change 58 signature. 59 * src/rcfile.c (tls_parser): Handle the ssl-priorities statement. 60 * src/tls.c: Remove the use of obsolete types and functions. 61 (start_ssl_client, start_ssl_server): Remove 62 spurious parameters. Use the "secure" global instead. 63 * src/tunnel.c: Update uses of start_ssl_client, start_ssl_server. 64 65 Update copyright years. 66 67 Compatibility fixes. 68 * build/bootstrap (gnulib_extra_files): Remove 'missing' 69 * configure.ac: Add -lgpg-error when using GPGME 70 * src/tls.c (verify_certificate): Use 71 gnutls_certificate_verify_peers2. 72 73 Update for the recent automake version 74 * gint: Upgrade. 75 * lib/.gitignore: Add new files. 76 * src/Makefile.am: Use AM_CPPFLAGS instead of the obsolete 77 INCLUDES. 78 * testsuite/Makefile.am: Likewise. 79 802013-03-08 Wojciech Polak <polak@gnu.org> 81 82 Update THANKS file. 83 842011-01-13 Sergey Poznyakoff <gray@gnu.org.ua> 85 86 Implement `elif' branches. 87 * src/rc-gram.y: Rewrite the cond_stmt rule to allow for `elif' 88 branches. 89 * src/rc-lex.l: New keyword ELSE. 90 * doc/anubis.texi: Document the elif statement. 91 * NEWS: Likewise. 92 932011-01-13 Sergey Poznyakoff <gray@gnu.org.ua> 94 95 Delayed ESMTP authentication: initial implementation. 96 Anubis can be instructed to postpone ESMTP authentication 97 until MAIL 98 command is issued by the client. This allows for changing 99 authentication 100 credentials in the SMTP section, depending on the envelope 101 information 102 supplied by the client. 103 104 * src/headers.h (T_ESMTP_AUTH_DELAYED): New flag. 105 (rcfile_call_section): Change signature. 106 * src/mda.c: Update calls to rcfile_call_section. 107 * src/rc-gram.y (rc_run_section): Take additional argument 108 specifying the class of the section to run. 109 (rc_call_section): Remove. All callers changed to use 110 rc_call_section 111 instead. 112 (rc_run_section_list): Remove unused function. 113 * src/rcfile.c (parse_esmtp_kv): New static. 114 (control_parser): Call parse_esmtp_kv as a part of the 115 default handling. 116 (control_kw): New keyword esmtp-auth-delayed. 117 (smtp_rule_parser,smtp_rule_section_init): New functions. 118 (rc_system_init): Call smtp_rule_section_init. 119 (rcfile_call_section): Take additional argument 120 specifying the class of the section to run. 121 * src/rcfile.h (rc_run_section): Change signature. 122 (rc_call_section): Remove. 123 * src/smtprepl.c (smtp_reply_free): Do nothing if argument is 124 NULL. 125 * src/tunnel.c (ehlo_reply): New static. 126 (handle_ehlo): Save reply in ehlo_reply. 127 Don't attempt authentication if T_ESMTP_AUTH_DELAYED is set... 128 (transfer_command): ... do it here instead. 129 * configure.ac: Version 4.1.92 130 * NEWS: Update. 131 * doc/anubis.texi: Document esmtp-auth-delayed and the 132 use of esmtp-* statements in SMTP sections. 133 1342010-08-03 Sergey Poznyakoff <gray@gnu.org.ua> 135 136 Fix detection of GNU TLS and the corresponding code. 137 * am/libgnutls.m4: Remove. 138 * am/gnutls.m4: New file. 139 * configure.ac: Set version number 4.1.91. 140 Remove gnutls checking, use ANUBIS_CHECK_TLS instead. 141 (TLS_COND): New condition. 142 * src/Makefile.am [TLS_COND] (TLS_C): New variable. 143 (libanubisdb_a_SOURCES): Use TLS_C. 144 (INCLUDES): Replace LIBGNUTLS_CFLAGS with LIBGNUTLS_INCLUDES. 145 * testsuite/Makefile.am (INCLUDES): Replace LIBGNUTLS_CFLAGS 146 with LIBGNUTLS_INCLUDES. 147 * testsuite/etc/Makefile.am: Add missing AM_V_GENs. 148 149 * src/anubisusr.c: Uniformly use USE_GNUTLS to protect 150 tls-specific 151 parts of code. 152 * src/anubisusr.h: Likewise. 153 * src/headers.h: Likewise. 154 * src/help.c: Likewise. 155 * src/main.c: Likewise. 156 * src/quit.c: Likewise. 157 * src/rcfile.c: Likewise. 158 * testsuite/mta.c: Likewise. 159 * src/tls.c: Likewise. 160 (print_x509_certificate_info): Use gnutls_fingerprint instead of 161 the deprecated gnutls_x509_fingerprint. 162 * src/smtprepl.c (smtp_reply_read): Fix coredump. 163 164 * NEWS: Update. 165 1662010-05-11 Sergey Poznyakoff <gray@gnu.org.ua> 167 168 Update gint to a5774356. 169 170 Fix GINT_INIT usage. 171 * gint: Update to 4e48677eee5a 172 * configure.ac (--without-guile): Remove option. Handled by 173 GINT_INIT. 174 (GINT_INIT): Don't call it within a conditional. 175 1762010-04-19 Sergey Poznyakoff <gray@gnu.org.ua> 177 178 Use GINT for integrating with Guile. 179 * gint: New module. 180 * Makefile.am, configure.ac: Use gint. 181 * bootstrap.conf: Initialize git submodules. 182 * src/Makefile.am: Include gint.mk 183 * am/guile.m4: Remove. 184 * src/guile.c (guile_safe_exec): Use scm_c_catch instead of 185 the deprecated scm_internal_lazy_catch. 186 1872010-04-01 Sergey Poznyakoff <gray@gnu.org.ua> 188 189 Prepare for Guile 2.0: fix obsolete and deprecated calls in 190 Guile code. 191 * am/guile.m4: Import from Mailutils. 192 * configure.ac: Use AC_DEFINE_UNQUOTED to define 193 a replacement for socklen_t. 194 * src/guile.c (guile_debug): Protect calls to 195 SCM_DEVAL_P &c. by #ifdef GUILE_DEBUG_MACROS 196 (guile_process_proc_handler): Use scm_apply_3 197 to avoid unwanted evaluation of parameters. 198 (guile_load_path_append_handler) 199 (guile_to_anubis, guile_process_proc): Remove the uses of 200 deprecated Guile functions. 201 * src/logport.c [!HAVE_SCM_T_OFF](scm_t_off): New typedef. 202 (scm_tc16_anubis_error_port) 203 (scm_tc16_anubis_info_port): Change type to scm_t_bits. 204 (_make_anubis_log_port): Use scm_new_port_table_entry instead 205 of the deprecated scm_add_to_port_table. 206 (_anubis_error_port_seek): Fix signature and return type. 207 2082010-01-08 Sergey Poznyakoff <gray@gnu.org.ua> 209 210 Minor fix. 211 * src/message.c (create_msgid): Do not allow seq to 212 overflow. 213 214 Improve logging. 215 * src/headers.h (MSGIDLEN, MSGIDBOUND): New defines. 216 (message_id): New proto. 217 * src/message.c (message_struct): New member id. 218 (create_msgid): New function. 219 (message_new,message_reset): Initialize message id. 220 (message_id): New function. 221 * src/smtprepl.h (smtp_reply_line_ptr): New proto. 222 * src/transmode.c (session_prologue): avoid coredump 223 if session.anubis is NULL. 224 * src/tunnel.c (transfer_command, process_data): log 225 session commands and server replies. 226 2272009-12-28 Sergey Poznyakoff <gray@gnu.org.ua> 228 229 Initial implementation of SMTP command modification. 230 The special section SMTP is processed before transferring 231 each SMTP command to the remote server. This section can 232 contain `modify command' actions which alter the command. 233 234 * src/extern.h (smtp_command_rule): New extern. 235 * src/list.c (list_head_item, list_tail_item): New functions. 236 * src/list.h (list_head_item, list_tail_item): New protos. 237 * src/main.c (smtp_command_rule): New global. 238 (main): Set smtp_command_rule. 239 * src/message.c (message_modify_command): New function. 240 * src/rc-gram.y (inst_eval): Implement command modification. 241 * src/tunnel.c (transfer_command): Remove second argument. 242 Always work on the last command stored in the assoc array. 243 Call smtp_command_rule to eventually modify the command. 244 All callers updated. 245 * src/rcfile.c: New keyword "smtp-command-rule" can be 246 used in the CONTROL section to modify the name of the 247 SMTP command section. 248 (rcfile_call_section): Issue 'No such section' warning in verbose 249 mode only. 250 * src/tunnel.c (save_command): Use case-insensitive comparison. 251 Convert command verb part to upper case. 252 (process_command): Convert buf to lowercase after saving command. 253 * NEWS, doc/anubis.texi: Update. 254 2552009-12-28 Sergey Poznyakoff <gray@gnu.org.ua> 256 257 Bugfixes. 258 * configure.ac: Initialize WITH_GSASL. 259 * src/gpg.c (passphrase_cb): Fix non-ansi C code. 260 2612009-12-03 Sergey Poznyakoff <gray@gnu.org.ua> 262 263 Bugfixes. 264 * src/net.c (swrite_n): Return immediately if nleft is 0. 265 * src/smtprepl.c (smtp_reply_replace_line): Add terminating 266 zero. 267 2682009-11-16 Sergey Poznyakoff <gray@gnu.org.ua> 269 270 Bugfix 271 * src/esmtp.c [!WITH_GSASL] (emstp_auth): Fix signature. 272 2732009-11-14 Sergey Poznyakoff <gray@gnu.org.ua> 274 275 Fix namespace, further improve mda mode. 276 * src/extern.h (struct message_struct): Remove. 277 * src/headers.h (MESSAGE): Change typedef. All uses updated. 278 (swrite_n): New proto. 279 (message_new, message_dup): New protos. 280 (assoc_list_dup, string_list_dup): New protos. 281 282 * src/map.c: In remote-mta mode, process each recipient 283 individually. 284 * src/message.c: Rewrite. 285 * src/net.c (swrite_n): New function. 286 287 * src/list.h (ANUBIS_LIST, ITERATOR): Change typedefs. All 288 uses updated. 289 290 * src/list.c: Update usage of ANUBIS_LIST, ITERATOR 291 and MESSAGE. 292 * src/anubisadm.c: Likewise. 293 * src/anubisdb.c: Likewise. 294 * src/anubisusr.c: Likewise. 295 * src/authmode.c: Likewise. 296 * src/dbtext.c: Likewise. 297 * src/esmtp.c: Likewise. 298 * src/gdbm.c: Likewise. 299 * src/gpg.c: Likewise. 300 * src/gsasl_srv.c: Likewise. 301 * src/guile.c: Likewise. 302 * src/map.c: Likewise. 303 * src/mime.c: Likewise. 304 * src/misc.c: Likewise. 305 * src/proclist.c: Likewise. 306 * src/rc-gram.y: Likewise. 307 * src/rcfile.c: Likewise. 308 * src/rcfile.h: Likewise. 309 * src/sql.c: Likewise. 310 * src/tunnel.c: Likewise. 311 312 * src/regex.c: Match functions take a const char * argument. 313 3142009-11-14 Sergey Poznyakoff <gray@gnu.org.ua> 315 316 Implement functions for reading and parsing SMTP replies. 317 * src/smtprepl.h: New file. 318 * src/smtprepl.c: New file. 319 * src/Makefile.am (libanubisdb_a_SOURCES): Add smtprepl.c 320 and smtprepl.h 321 * src/headers.h: Include smtprepl.h 322 (T_ALLOW_LOCAL_MTA): Remove. 323 (ASSERT_MTA_CONFIG): New define. 324 (swrite): Third argument is const 325 (smtp_reply_get): New proto. 326 (set_ehlo_domain): Change signature. 327 (esmtp_auth): Second argument is const. 328 (auth_method_list): Argument is const. 329 (xdatabase_capability): Change signature. 330 331 * src/mda.c: Initial implementation of mda over 332 SMTP. 333 * src/rc-lex.l (escape): Use \033 instead of non-standard 334 \e. 335 * src/rcfile.c: Remove allow-local-mta. 336 * src/net.c (swrite): Third argument is const 337 (send_eol): Fix conditional, 338 (get_response_smtp): Remove. 339 (smtp_reply_get): New function. 340 * src/transmode.c (session_prologue) 341 (anubis_proxy_mode): Call ASSERT_MTA_CONFIG. 342 * src/anubisusr.c, src/esmtp.c, 343 src/gsasl_srv.c, src/tunnel.c, 344 src/xdatabase.c: Rewrite SMTP transactions 345 using ANUBIS_SMTP_REPLY. 346 * src/authmode.c: Update calls to set_ehlo_domain 347 * src/daemon.c (stdinout): Call ASSERT_MTA_CONFIG. 348 * src/env.opt (get_options): Move mda mode checks to mda.c 349 * po/POTFILES.in: Add headers.h 350 * doc/anubis.texi: Update. 351 3522009-11-12 Sergey Poznyakoff <gray@gnu.org.ua> 353 354 Stylistic change. 355 * src/rc-gram.y: Fix indentation. 356 3572009-11-11 Sergey Poznyakoff <gray@gnu.org.ua> 358 359 Command line overrides configuration statements. 360 * src/rcfile.h (RC_ERROR_PRINTER): New argument `pfx'. 361 * src/headers.h (rc_disable_keyword): New proto. 362 * src/rc-gram.y (default_error_printer): New argument `pfx'. 363 (rc_disable_keyword, rc_keyword_is_disabled): New functions. 364 (parse_error, eval_error, eval_warning): Pass pfx parameter 365 to rc_error_printer. 366 (asgn_eval): Return if the keyword is disabled (set from the 367 command line). 368 * src/xdatabase.c: Reflect changes to RC_ERROR_PRINTER. 369 * src/rcfile.c (control_parser): Remove the now superfluous 370 condition. 371 * src/env.opt: Call rc_disable_keyword for options 372 overriding configuration statements. 373 * NEWS: Update. 374 * doc/anubis.texi, doc/pixie-dixie.texi: Update. 375 3762009-11-11 Sergey Poznyakoff <gray@gnu.org.ua> 377 378 Improve runtime diagnostics. 379 * bootstrap.conf (NLS_MARKERS): Add eval_error 380 and eval_warning. 381 * src/headers.h (EVAL_ENV): New typedef. 382 (eval_env_locus, eval_env_method) 383 (eval_env_message, eval_env_data) 384 (eval_error, eval_warning): New prototypes. 385 * src/rc-gram.y (eval_env_locus, eval_env_method) 386 (eval_env_message, eval_env_data) 387 (eval_error, eval_warning): New functions. 388 (asgn_eval): Update calls to p->parser. 389 * src/rcfile.h (RC_KW_HANDLED, RC_KW_UNKNOWN) 390 (RC_KW_ERROR): Remove. 391 (rc_kw_parser_t): Change signature. 392 393 * src/authmode.c, src/env.opt, src/gpg.c, 394 src/guile.c, src/map.c, src/rcfile.c: Reflect above changes. 395 3962009-11-11 Sergey Poznyakoff <gray@gnu.org.ua> 397 398 Pacify gcc 399 * bootstrap.conf (NLS_MARKERS): Add parse_error and tracefile. 400 * src/log.c (tracefile): Take into account T_LOCATION_COLUMN bit. 401 * src/logport.c: Shut gcc warning. 402 * src/misc.c (get_port_number): Port is unsigned. 403 Improve error checking. 404 * src/rc-lex.l: Initialize column to 1. 405 * src/rcfile.h (parse_error,tracefile): Mark as printflike. 406 * src/tls.c, src/xdatabase.c, testsuite/mta.c: Shut up gcc 407 warnings. 408 409 Improve diagnostics. 410 * src/Makefile.am (AM_LFLAGS): Add -dvp 411 (INCLUDES): Remove obsolete path. 412 * src/env.opt: New option location-column. 413 * src/headers.h (T_LOCATION_COLUMN): New define. 414 * src/rc-gram.y: Use Bison location support. Improve diagnostics. 415 * src/rc-lex.l: Likewise. 416 * src/rcfile.h (struct rc_loc): New member `column'. 417 (rc_yyltype): New struct. 418 (YYLTYPE,RC_LOCUS_FILE_EQ,RC_LOCUS_EQ): New defines. 419 (RC_ERROR_PRINTER): Change signature. 420 * src/xdatabase.c (_xdb_error_printer): Change signature. 421 4222009-11-11 Sergey Poznyakoff <gray@gnu.org.ua> 423 424 Housekeeping changes. 425 * build/ylwrap: Remove. 426 * src/rcfile.y: Remove to.. 427 * src/rc-gram.y: .. this. 428 * src/rcfile.l: Remove to.. 429 * src/rc-lex.l: .. this. 430 * po/POTFILES.in: Reflect the above changes. 431 * src/Makefile.am: Likewise. 432 (YLWRAP): Remove. 433 (EXTRA_DIST,BUILT_SOURCES): Remove rcfile.y rcfile.l and 434 the generated counterparts. 435 (rcfile-lex.c, rcfile-gram.c): Remove. 436 * src/getopt.m4 (print_help): Minor change. 437 * src/md5.c: Reindent. 438 (F1): Revert to the optimized version. 439 440 * .gitignore, build/.gitignore, src/.gitignore: Update. 441 * build/Makefile.am (EXTRA_DIST): Remove ylwrap. 442 * configure.ac (AM_INIT_AUTOMAKE): Add more options. 443 * doc/anubis.texi: Update. 444 4452009-11-10 Sergey Poznyakoff <gray@gnu.org.ua> 446 447 Minor changes. 448 * doc/anubis.texi: Cleanup the wording, check the spelling. 449 * src/rcfile.l (escape): Bugfix: \r was handled as \t. 450 4512009-11-10 Sergey Poznyakoff <gray@gnu.org.ua> 452 453 Improve docs. 454 * doc/Makefile.am (check-format, check-refs) 455 (check-fixmes, check-writeme) 456 (check-unrevised, all-check-docs) 457 (check-docs, master-menu, untabify): New rules 458 * doc/mastermenu.el: New file. 459 * doc/untabify.el: New file. 460 * doc/anubis.texi: Improve formatting. Rewrite the 461 `Mutt' chapter. 462 * doc/fdl.texi, doc/mime.texi, 463 doc/pixie-dixie.texi: Comment out the initial 464 sectioning command. 465 * doc/rendition.texi: Improved version. 466 467 * contrib/msg2smtp.pl: Remove hardcoded perl path. 468 4692009-11-10 Sergey Poznyakoff <gray@gnu.org.ua> 470 471 Proxy mode. 472 * src/headers.h (enum anubis_mode): New mode anubis_proxy. 473 (anubis_proxy_mode): New proto. 474 * src/rcfile.c (parse_log_facility): Bugfix. 475 (control_parser): Always handle the mode statement. 476 * src/transmode.c (anubis_proxy_mode): New function. 477 * src/daemon.c (anubis_child_main): Handle proxy mode. 478 * src/env.opt (anubis_set_mode): Likewise. 479 * doc/anubis.texi: Initial documentation of proxy mode. 480 4812009-10-16 Wojciech Polak <polak@gnu.org> 482 483 * THANKS: Add Jorma Karvonen. 484 485 Enable silent rules. 486 * configure.ac: Require Autoconf 2.63, Automake 1.11, 487 enable silent rules. 488 * Makefile.am: Remove AUTOMAKE_OPTIONS. 489 4902009-09-25 Sergey Poznyakoff <gray@gnu.org.ua> 491 492 Minor changes 493 * bootstrap.conf: Read list of modules from gnulib.modules. 494 * configure.ac: Remove checks for sysexits.h, strdup, daemon 495 * src/headers.h: Remove unnecesary ifndefs 496 4972009-09-25 Sergey Poznyakoff <gray@gnu.org.ua> 498 499 Redirect Scheme error and output to syslog. 500 * configure.ac: Remove checks for syslog. Raise version number 501 to 4.1.90. 502 * src/headers.h: Remove checks for syslog. 503 Include keyword.h 504 * src/log.c: Remove checks for syslog. 505 * src/quit.c: Likewise. 506 * src/rcfile.c: Handle new keywords log-facility and log-tag. 507 * src/daemon.c (log_tag, log_facility): New variables. 508 (daemonize): Remove HAVE_SYSLOG conditional. 509 Pass log_tag and log_facility to openlog. 510 * src/errs.c (anubis_verror_log): New function. 511 (anubis_verror, anubis_error): Rewrite using anubis_verror_log. 512 * src/extern.h (log_tag, log_facility): New externs. 513 * src/guile.c (eval_catch_body): Remove. 514 (init_guile): Initialize error and info output ports. 515 (guile_ports_open): Use error and info output ports unless 516 output file is given. 517 * lib/keyword.c: New file. 518 * lib/keyword.h: New file. 519 * lib/Makefile.am: Add new files. 520 * src/logport.c: New file. 521 * src/Makefile.am (anubis_SOURCES): Add new files. 522 * src/authmode.c (asmtp_kw): Use anubis_keyword functions. 523 524 * NEWS: Update. 525 * doc/anubis.texi: Document new features. 526 5272009-09-24 Sergey Poznyakoff <gray@gnu.org.ua> 528 529 Improve Guile support. 530 * src/guile.c: Rewrite using "inline" approach. 531 (anubis_boot): Removed. 532 (guile_safe_exec): New function. 533 (init_guile): New function. 534 (guile_load_path_append, guile_load_program) 535 (guile_process_proc): Rewrite using guile_safe_exec. 536 (inner_catch_body): Call guile_ports_open before, 537 and guile_ports_close after execution of the function. 538 * src/headers.h (anubis_boot): Remove. 539 (init_guile): New proto. 540 * src/main.c (anubis_core): Remove. 541 (main) [WITH_GUILE]: Call init_guile. 542 Inline anubis() function. 543 5442009-07-01 Wojciech Polak <polak@gnu.org> 545 546 Fix GSASL AUTH PLAIN. Thanks Thomas Zaech for the patch. 547 5482009-02-24 Wojciech Polak <polak@gnu.org> 549 550 Update RPM spec. 551 5522008-12-20 Wojciech Polak <polak@gnu.org> 553 554 Version 4.1.1 555 5562008-12-20 Sergey Poznyakoff <gray@gnu.org.ua> 557 558 Update docs 559 5602008-12-19 Wojciech Polak <polak@gnu.org> 561 562 Change message text. 563 5642008-12-18 Sergey Poznyakoff <gray@gnu.org.ua> 565 566 Use new SASL callback interface. 567 * src/anubisusr.c: Use new SASL callback interface. 568 * src/esmtp.c: Likewise. 569 * src/gsasl_srv.c: Likewise. 570 571 * src/authmode.c: New keywords sasl-service, sasl-hostname, 572 sasl-realm 573 * src/extern.h (anubis_sasl_service,anubis_sasl_realm) 574 (anubis_sasl_hostname): New globals. 575 576 * usr.opt, adm.opt: Bugfix. 577 5782008-12-17 Wojciech Polak <polak@gnu.org> 579 580 Fix typo. 581 582 Switched to Git repository. 583 * m4: Rename to am. 584 * README-alpha, README-hacking: Reflect the switch. 585 * */.cvsignore: Rename to .gitignore, update. 586 * ChangeLog: Rename to ChangeLog-CVS-old. 587 5882008-12-11 Wojciech Polak <polak@gnu.org> 589 590 * configure.ac: Remove -Wno-deprecated-declarations. 591 * src/anubisusr.c, src/esmtp.c, src/gsasl.c, src/gsasl_srv.c, 592 src/headers.h: Update deprecated GSASL API calls. 593 5942008-12-11 Sergey Poznyakoff <gray@gnu.org.ua> 595 596 * src/Makefile.am (anubisadm_SOURCES): Add new files. 597 (anubisusr_SOURCES): Add new files. 598 * src/anubisadm.h: New file. 599 * src/adm.opt: New file. 600 * src/anubisusr.h: New file. 601 * src/usr.opt: New file. 602 * src/anubisadm.c: Remove command line option parsing. See adm.opt. 603 * src/anubisusr.c: Remove command line option parsing. See 604 usr.opt. 605 (smtp_get_reply): Use stream_getline, this fixes buffer size 606 problems. 607 * src/env.opt: Fix argument quoting. 608 * src/errs.c (hostname_error): Argument is const. 609 * src/gdbm.c, src/gpg.c, src/guile.c, src/proclist.c, 610 src/transmode.c: Minor change. 611 * src/getopt.m4: Import from Dico. 612 * src/headers.h (stream_getline): New prototype. 613 (hostname_error): Argument is const. 614 * src/main.c (copyright): Remove. 615 (xalloc_die): Call abort to pacify gcc. 616 * src/net.c (recvline): Rewrite using stream_getline. This also fixes 617 memory leak. 618 * src/stream.c (stream_readline): Do not insert \r before \n. This 619 is impossible to do correctly without a proper buffering scheme. 620 (stream_getline): New function. 621 * src/tunnel.c: Remove CRLF after a call to recvline. 622 (transfer_command): Compensate for this. 623 6242008-12-09 Wojciech Polak <polak@gnu.org> 625 626 * configure.ac: Use default CFLAGS. 627 6282008-10-13 Sergey Poznyakoff <gray@gnu.org.ua> 629 630 * src/tunnel.c (transfer_command): Ensure outgoing mail from and 631 rcpt to commands don't have whitespace after the colon. 632 * NEWS, configure.ac: version 4.1.1 633 * doc/anubis.texi: Minor fix. 634 * guile/entire-msg.scm: Use (ice-9 rdelim) 635 636 * testsuite/mta.c (check_address_command): New function (ported 637 from mailfromd). 638 (smtp): Improve RFC compliance. 639 * testsuite/etc/add-body-file.pat: 640 * testsuite/etc/add-body.pat 641 * testsuite/etc/add1.pat 642 * testsuite/etc/add2.pat 643 * testsuite/etc/add3.pat 644 * testsuite/etc/cond.pat 645 * testsuite/etc/del1.pat 646 * testsuite/etc/del2.pat 647 * testsuite/etc/del3.pat 648 * testsuite/etc/del4.pat 649 * testsuite/etc/empty.pat 650 * testsuite/etc/gpgcrypt.pat 651 * testsuite/etc/gpgse.pat 652 * testsuite/etc/gpgsign.pat 653 * testsuite/etc/mime1.pat 654 * testsuite/etc/mime2.pat 655 * testsuite/etc/mod-body.pat 656 * testsuite/etc/mod-header.pat 657 * testsuite/etc/mult.pat 658 * testsuite/etc/no-backref.pat 659 * testsuite/etc/paolo.pat 660 * testsuite/etc/remail.pat 661 * testsuite/etc/rot-13.pat 662 * testsuite/etc/tlsoneway.pat 663 * testsuite/etc/trigger.pat 664 6652008-07-03 Sergey Poznyakoff <gray@gnu.org.ua> 666 667 Fix loop-detection code, add some minor improvements. 668 669 * README-hacking: Update. 670 * bootstrap.conf: Add sysexits. 671 * build/bootstrap: Synch with gnulib repository. 672 * build/gnulib.modules: Remove. 673 * lib/.cvsignore, m4/.cvsignore, po/.cvsignore: Update. 674 * lib/Makefile.am: Remove unnecessary initializations. 675 * src/authmode.c (anubis_authenticate_mode): Remove a block of 676 code duplicated in transmode.c and replace it with a call to 677 session_prologue. 678 * src/transmode.c (anubis_transparent_mode): Likewise. 679 (string_to_ipaddr, session_prologue): New functions. 680 * src/env.opt: Fix Emacs mode marker. 681 * src/headers.h: Include sysexits.h unconditionally. 682 (session_prologue): New prototype. 683 * src/tls.c (cipher_info): Add missing newline. 684 6852007-11-04 Wojciech Polak <polak@gnu.org> 686 687 ====================== 688 Released version 4.1 689 ====================== 690 6912007-11-04 Sergey Poznyakoff <gray@gnu.org.ua> 692 693 * src/guile.c: Switch to Guile 1.8.x 694 * m4/guile.m4: Require at least Guile 1.8.0 695 * NEWS: Update 696 6972007-11-03 Sergey Poznyakoff <gray@gnu.org.ua> 698 699 * src/authmode.c (anubis_authenticate_mode): Fix indentation. 700 * src/daemon.c (_stdio_read): Fix return value. 701 * src/headers.h (xdatabase_capability): Change signature. 702 * src/tunnel.c (handle_ehlo): Update call to xdatabase_capability. 703 * src/xdatabase.c (xdatabase_capability): Expand reply buffer as 704 needed. 705 706 * configure.ac, NEWS: version 4.1. 707 * src/exec.c (exec_argv): Fix reading program's output. 708 * src/gdbm.c (gdbm_content_to_record): zero-terminate the key. 709 * src/getopt.m4 (print_help): Override bug in GNU M4. 710 * src/gpg.c (anubis_gpg_read): New function. 711 (gpg_sign, gpg_encrypt, gpg_sign_encrypt): Fix reading GPG 712 output. 713 * src/mime.c (message_append_signature_file): Remove useless 714 MAXPATHLEN limit. 715 7162007-11-02 Wojciech Polak 717 718 * bootstrap.conf (gnulib_modules): Add xalloc. 719 * po/POTFILES.in: Remove src/mem.c. 720 7212007-11-01 Sergey Poznyakoff <gray@gnu.org.ua> 722 723 * NEWS: Update 724 * doc/anubis.texi: Update 725 7262007-10-31 Sergey Poznyakoff <gray@gnu.org.ua> 727 728 * README: Clean up formatting. 729 * README-hacking: Update. 730 * doc/Makefile.am (manual): Use texi2html to create HTML sources. 731 * doc/gendocs_template: Likewise. 732 * doc/anubis.texi: Fix sectioning commands. Use @acronym when 733 needed. 734 * lib/Makefile.am: Initialize some variables before including 735 gnulib.mk. 736 * src/mem.c, src/mem.h: Remove. 737 * src/Makefile.am (libanubisdb_a_SOURCES): Remove mem.c and mem.h. 738 * src/anubisadm.c: Do not include getline.h. 739 Define xalloc_die instead of adm_memory_error. 740 * src/anubisusr.c: Likewise. 741 * src/headers.h: Remove mem.h. 742 Include xalloc.h. 743 * src/main.c: Define xalloc_die. 744 745 * src/list.c, src/pgsql.c, src/mysql.c, src/sql.c, 746 src/stream.c: Fix memory management . 747 * src/authmode.c, src/gpg.c, src/misc.c, src/rcfile.c, 748 src/tunnel.c: Use xstrdup instead of allocbuf. 749 750 * src/anubisdb.c, src/sql.h, src/tls.c: Minor change . 751 752 * src/rcfile.h (struct rc_expr): New member `sep'. 753 * src/rcfile.l: Return != as a token. 754 (string_add): Initialize next. 755 * src/rcfile.y: Handle optional concatentation directive in expr 756 statement. Handle != opcode. 757 Disallow placing regex modifiers before opcode (= or !=). 758 (rc_node_print): Reflect concatenation separator. 759 (re_eval_list): Take new argument: concatenation separator. 760 All uses updated. 761 762 * testsuite/lib/anubis.exp: Do not display "be patient" 763 warning. Things have become faster nowadays. 764 * testsuite/etc/mod-header.in, testsuite/etc/std.in: Remove 765 obsolete usage of regex flags before the equals sign. 766 7672007-08-06 Sergey Poznyakoff <gray@gnu.org.ua> 768 769 Relicense everything under GPLv3+ 770 7712007-08-06 Sergey Poznyakoff <gray@gnu.org.ua> 772 773 * Makefile.am: Place src before po, to satisfy the dependency 774 POTFILES -> env.c 775 * configure.ac: Check for locale.h 776 * lib/argcv.c (argcv_string): Fix type mismatch in conditional 777 * src/daemon.c (anubis_child_main): Fix call to net_close_stream 778 * src/env.opt (anubis_changeowner): Argument is const 779 * src/exec.c (sig_local): Remove forward decl. 780 * src/headers.h (stream_io_t): Remove 781 (stream_read_t, stream_write_t): Introduce instead 782 All dependencies updated 783 (stream_write): Second argument is const 784 (anubis_changeowner): argument is const 785 * src/stream.c: Likewise 786 * src/gsasl.c (_gsasl_write): Fix signature 787 * src/tls.c (_tls_write) : Fix signature 788 * src/net.c (connect_directly_to): Fix error message 789 * src/rcfile.c (_anubis_hang): Fix type 790 * src/transmode.c: (anubis_transparent_mode): Fix calls to 791 service_unavailable 792 * src/tunnel.c (handle_starttls): Fix get_response_smtp invocation 793 (handle_ehlo): Fix calls to swrite 794 * src/xdatabase.c: Fix error message 795 * testsuite/findport.c: Include string.h 796 7972007-08-06 Sergey Poznyakoff <gray@gnu.org.ua> 798 799 * bootstrap.conf: New file 800 * Makefile.am (SUBDIRS): Remove intl 801 * configure.ac: Use gnulib 802 * lib/Makefile.am: Likewise 803 * src/Makefile.am (EXTRA_DIST): Add getopt.m4 and env.opt 804 * src/env.c: Removed. 805 * src/env.opt, src/getopt.m4: New files 806 * src/headers.h (ANUBIS_PRINTFLIKE): New macro 807 (anubis_error,anubis_warning): Mark with ANUBIS_PRINTFLIKE 808 (print_version,print_usage): Removed 809 * src/help.c (print_version,print_usage): Remove functions 810 811 * lib/getline.c, lib/getline.h, lib/getopt.c, lib/getopt1.c, 812 lib/getpass.c, lib/gettext.h, lib/obstack.c, lib/obstack.h, 813 lib/setenv.c, lib/getopt.h: Remove 814 815 * m4/exitfail.m4, m4/getdelim.m4, m4/getline.m4, m4/getopt.m4, 816 m4/getpass.m4, m4/gnulib.m4, m4/inttypes_h_gl.m4, 817 m4/obstack.m4, m4/onceonly_2_57.m4, m4/uintmax_t_gl.m4, 818 m4/ulonglong_gl.m4, m4/unistd_h.m4, m4/stdbool.m4, 819 m4/stdint_h_gl.m4: Remove 820 821 * po/de.po, po/fr.po, po/ms.po, po/nb.po, po/nl.po, po/pl.po, 822 po/ro.po, po/ru.po, po/tr.po, po/uk.po, po/vi.po, po/LINGUAS, 823 po/Makevars: Remove 824 825 * build/bootstrap: Modified version from gnulib 826 * NEWS, README-alpha: Update 827 * README-hacking: New file 828 8292007-07-29 Wojciech Polak 830 831 * */*: OpenSSL support has been dropped. 832 8332006-06-27 Sergey Poznyakoff <gray@gnu.org.ua> 834 835 * build/bootstrap: Auxiliary script to update anubis library from 836 gnulib. 837 * build/gnulib.modules: List of modules to use. 838 839 * configure.ac: Remove explicit checks for getopt_long, obstack, 840 snprintf, getline, getpass in favor of gnulib check. 841 * lib/Makefile.am: Rewritten for automatic updates 842 843 * lib/getline.c, lib/getline.h, lib/getopt.c, lib/getopt.h, 844 lib/getopt1.c, lib/getpass.c, lib/gettext.h, lib/obstack.c, 845 lib/obstack.h, lib/exit.h, lib/exitfail.c, lib/exitfail.h, 846 lib/getdelim.c, lib/getdelim.h, lib/getopt_.h, lib/getopt_int.h, 847 lib/getpass.h, lib/stdbool_.h: Update from gnulib 848 849 * m4/libgnutls.m4: Properly quote macro name. 850 * m4/exitfail.m4, m4/getdelim.m4, m4/getline.m4, m4/getopt.m4, 851 m4/getpass.m4, m4/gnulib.m4, m4/inttypes_h_gl.m4, m4/obstack.m4, 852 m4/onceonly_2_57.m4, m4/stdbool.m4, m4/stdint_h_gl.m4, 853 m4/uintmax_t_gl.m4, m4/ulonglong_gl.m4, m4/unistd_h.m4: Update 854 from gnulib 855 * m4/.cvsignore: Update 856 8572006-02-10 Sergey Poznyakoff <gray@gnu.org.ua> 858 859 * configure.ac (WITH_GSASL): Default to no 860 8612006-01-18 Sergey Poznyakoff <gray@gnu.org.ua> 862 863 * README-alpha: Update cvs co information. 864 865 * src/ident.c (ident_extract_username): Fix bug introduced 2005-04-18 866 8672005-08-22 Sergey Poznyakoff 868 869 * m4/gsasl.m4: Enable GSASL by default whenever possible. 870 * configure.ac: Display summary after configuring. 871 8722005-07-09 Wojciech Polak 873 874 * src/daemon.c (set_unprivileged_user): Copy an unprivileged 875 user name to session.clientname. 876 * src/rcfile.c (control_parser): Bugfix. Set T_USER_NOTPRIVIL 877 flag for KW_USER_NOTPRIVILEGED. 878 * src/authmode.c (anubis_authenticate_mode): Try to open user's 879 configuration file from default location if the CONFIG field 880 is null. 881 8822005-07-09 Sergey Poznyakoff 883 884 * src/Makefile.am (anubis.cflow): Do not process header 885 files, they will be included anyway. 886 * build/cflow.rc: New file 887 * build/Makefile.am: Add cflow.rc. 888 8892005-06-06 Sergey Poznyakoff 890 891 * src/gsasl_srv.c (auth_gsasl_capa_init): Make sure the list 892 of supported mechanisms preserves ordering of 893 sasl-allowed-mech variable. 894 * src/list.c (list_intersect): Give more detail in the comment. 895 * testsuite/etc/target.in.in (sasl-allowed-mech): Only CRAM-MD5 896 for testing purposes. 897 8982005-05-25 Sergey Poznyakoff 899 900 * TODO: Updated 901 * src/Makefile.am (flowchart,anubis.cflow): New rules 902 * src/authmode.c: Do not duplicate remote_client/remote_server as 903 parameters/autos. 904 * src/daemon.c: Likewise. 905 * src/extern.h: Likewise. 906 * src/gsasl_srv.c: Likewise. 907 * src/headers.h: Likewise. 908 * src/transmode.c: Likewise. 909 9102005-04-20 Sergey Poznyakoff 911 912 * configure.ac: Changed version number to 4.0.90. 913 * NEWS: Updated. 914 * src/proclist.c: New file. Subprocess database for Anubis. 915 * src/Makefile.am (anubis_SOURCES): Add proclist.c 916 * src/daemon.c: Rewritten using functions from proclist.c 917 * src/exec.c: Likewise 918 * src/gsasl_srv.c (anubis_name_cmp): Move to misc.c 919 * src/misc.c (anubis_name_cmp):" Moved from gsasl_srv.c 920 * src/headers.h (proclist_register,proclist_cleanup) 921 (proclist_init,proclist_count): New functions. 922 * src/list.c (_iterator_attach,_iterator_detach): New functions. 923 (iterator_create,iterator_destroy): Rewritten using the above 924 functions. 925 (list_remove): make sure to return actual data, an application 926 may well supply data==NULL. 927 (list_iterate): Do not use memory allocation functions. The 928 function is safe to be called from signal handlers. 929 * src/transmode.c (anubis_transparent_mode): Do not close pam 930 session if it was not open. 931 9322005-04-19 Sergey Poznyakoff 933 934 * src/guile.c (guile_ports_open): Make sure port name always 935 reflects actual file name. 936 (guile_parser): Bugfix. guile_ports_open() was called too early, 937 which led to coredump when processing guile-output statement. 938 Besides guile_ports_close() was not called before return. 939 9402005-04-18 Sergey Poznyakoff 941 942 * src/gpg.c (fail_if_err): Rewritten to avoid evaluating the 943 argument twice. 944 (passphrase_cb): Rewritten to work with GPGME 1.0.2. Patch 945 courtesy of Brian Dessent <brian@dessent.net>. 946 * src/ident.c (ident_extract_username): Skip any whitespace 947 after ':'. Patch courtesy of Brian Dessent <brian@dessent.net>. 948 * THANKS: Updated 949 9502005-03-02 Sergey Poznyakoff 951 952 * src/rcfile.c (control_parser): A couple of minor stylistic 953 fixes. Implemented ALLOW-HANG keyword. 954 9552005-02-26 Sergey Poznyakoff 956 957 * src/ident.c (auth_ident): Bugfix 958 * src/rcfile.c: New CONTROL statement "HANG". Instructs 959 child process to hang for a given number of seconds 960 before processing. 961 * src/guile.c (guile_load_path_append,guile_load_program): Changed 962 prototype. 963 (inner_catch_body): New function 964 (eval_catch_body): Removed 965 (guile_parser): Largely rewritten. Wherever guile internal functions 966 are called, do so by wrapping them in a lazy catch to prevent 967 guile from aborting the child process on error. 968 * src/headers.h (guile_load_path_append,guile_load_program) 969 (guile_rewrite_line): Removed. 970 * src/transmode.c (anubis_transparent_mode): Call auth_tunnel no 971 matter was the client recognized or not. Thus, even if Anubis 972 has switched to the unprivileged level, it executest appropriate 973 parts from the main configuration file. 974 * doc/anubis.texi: Document HANG statement 975 9762005-02-12 Sergey Poznyakoff 977 978 * TODO: Minor issue regarding session.execpath. 979 * lib/argcv.c: New file. 980 * lib/argcv.h: New file. 981 * lib/Makefile.am (libanubis_a_SOURCES): Add argcv.c and 982 argcv.h 983 * src/anubisusr.c: Use argcv_get/argcv_free 984 * src/message.c: Likewise. 985 * src/quit.c: Likewise. 986 * src/rcfile.c: Likewise. 987 * src/rcfile.y: Likewise. 988 * src/regex.c: Likewise. 989 * src/exec.c: Likewise. 990 (gen_execargs): Removed. 991 * src/env.c: Likewise. 992 (argcv_dup): Removed 993 * src/headers.h: Include argcv.h 994 * src/mem.c (free_pptr): Removed 995 9962005-02-07 Sergey Poznyakoff 997 998 * src/esmtp.c (get_reply): Changed declaration. All callers 999 updated 1000 * src/net.c (get_response_smtp): Minor correctrion; 1001 * src/tunnel.c (smtp_session_transparent): Bugfix 1002 (smtp_begin): Send EHLO, not HELO. 1003 10042005-02-03 Sergey Poznyakoff 1005 1006 Further cleanup as per TODO:5. Removed fixed-size 1007 buffers related to recvline calls. 1008 1009 * src/headers.h (get_response_smtp): New function 1010 (readline): Changed declaration 1011 (recvline_ptr): Removed 1012 * src/net.c (recvline): Removed 1013 (recvline_ptr): Renamed to recvline. All callers changed 1014 * src/authmode.c: Use new recvline. 1015 * src/gsasl_srv.c: Likewise. 1016 * src/ident.c: Likewise. 1017 * src/mda.c: Likewise. 1018 * src/tunnel.c: Likewise. 1019 * src/xdatabase.c: Likewise. 1020 10212005-01-21 Sergey Poznyakoff 1022 1023 * configure.ac: Raised version number to 4.1 1024 * src/env.c: New option --from 1025 * src/help.c: Document --from option 1026 * src/exec.c (make_local_connection_arg): Removed. Not needed 1027 any more. 1028 * src/extern.h (incoming_mail_rule,outgoing_mail_rule) 1029 (from_address): New variables. 1030 * src/headers.h (send_eol,mda) 1031 (anubis_set_encryption_mech_list): New prototype. 1032 (anubis_assoc_cmp): New function 1033 (collect_headers): Changed prototype 1034 (make_local_connection_arg): Removed. 1035 * src/main.c (incoming_mail_rule,outgoing_mail_rule): New 1036 variables. 1037 * src/mda.c (deliver): Expand macro notations in local mailer 1038 command line before invoking it. 1039 Use rcfile_call_section to process incoming mail rules. 1040 (mda): Ensure from_address is set. 1041 * src/misc.c (anubis_assoc_cmp): New function 1042 (assign_string, assign_string_n): Accept NULL argument. 1043 * src/rcfile.c (control_parser): Handle incoming-mail-rule 1044 and outgoing-mail-rule options. 1045 * src/tunnel.c (collect_headers): Take second argument, specifying 1046 the first header line (or NULL). 1047 (process_data): Use rcfile_call_section to process outgoing mail 1048 rules. 1049 1050 * doc/anubis.texi: Initial documentation for MDA mode 1051 * doc/Makefile.am: Rewritten to use gendocs.sh. Needs CVS 1052 version of the script. 1053 * doc/index.html.in: Removed. 1054 * doc/gendocs_template: New file. 1055 * doc/fdl.texi: Fixed sectioning. 1056 * doc/mime.texi: New file 1057 10582005-01-20 Sergey Poznyakoff 1059 1060 Initial implementation of MDA mode, allowing Anubis to 1061 process incoming mail. 1062 Some cleanup according to TODO:5 1063 1064 * configure.ac: Check for sysexits.h 1065 * src/mda.c: New file. Mail Delivery Agent mode support 1066 * src/Makefile.am: Add mda.c 1067 1068 * src/env.c (x_argc,x_argv): New globals 1069 --mode option does not depend on WITH_GSASL anymore. 1070 (get_options): Changed handling of non-optional arguments. 1071 Argument to -l option must be properly quoted. 1072 * src/exec.c (make_local_connection_arg): New function 1073 1074 * src/headers.h: Provide EX_ macros or include sysexits.h 1075 when available 1076 (enum anubis_mode.anubis_mda): New mode 1077 * src/extern.h (session_struct): Removed fixed-size strings. 1078 All referers updated. 1079 * src/anubisusr.c: Likewise 1080 * src/authmode.c: Likewise 1081 * src/daemon.c: Likewise 1082 * src/ident.c: Likewise 1083 * src/main.c: Likewise 1084 * src/map.c: Likewise 1085 * src/misc.c: Likewise 1086 * src/rcfile.c: Likewise 1087 * src/regex.c: Likewise 1088 * src/transmode.c: Likewise 1089 1090 * src/net.c (send_eol): New function. 1091 * src/tunnel.c: Use send_eol() when needed. 1092 (transfer_header,collect_header) 1093 (transfer_body, collect_body): Changed to extern 1094 10952005-01-02 Sergey Poznyakoff 1096 1097 * doc/anubis.texi: Documented read-entire-body and escape 1098 sequences. 1099 * src/rcfile.l (escape): Handle \b escape 1100 * src/rcfile.y (regex production): Bail out if regex compile 1101 failed. 1102 * src/regex.c (anubis_regex_replace): Bugfix 1103 1104 * testsuite/anubis/paolo.exp: New test 1105 * testsuite/etc/paolo.in: Likewise 1106 * testsuite/etc/paolo.pat: Likewise 1107 * testsuite/etc/Makefile.am: Updated 1108 11092004-12-18 Wojciech Polak 1110 1111 ====================== 1112 Released version 4.0 1113 ====================== 1114 1115 * NEWS: Updated. 1116 * configure.ac: Raised version number to 4.0. 1117 11182004-12-17 Wojciech Polak 1119 1120 * doc/anubis.texi: Updated. 1121 * doc/anubis.1: Likewise. 1122 * elisp/anubis-mode.el: Added new keywords. 1123 * lib/obstack.c: Provide newer version. 1124 * lib/obstack.h: Likewise. 1125 * src/esmtp.c (do_gsasl_auth): Removed trailing \n in a verbose 1126 message. 1127 11282004-12-17 Sergey Poznyakoff 1129 1130 * README: Updated 1131 * configure.ac: Use -Wno-deprecated-declarations gcc flag 1132 if GSASL support is enabled. 1133 * src/authmode.c (rc_parser): Use anubis_set_server_mech_list() 1134 * src/esmtp.c (anubis_set_client_mech_list) 1135 (anubis_set_encryption_mech_list): New function 1136 (esmtp_auth): Support the list of mechanisms that can be used 1137 only over an encrypted channel. 1138 [!WITH_GSASL] (esmtp_auth): Provide function definition 1139 * src/extern.h (struct session_struct): Removed mta_username, 1140 mta_password 1141 * src/gsasl_srv.c (anubis_set_mech_list): Changed declaration 1142 (anubis_set_server_mech_list): New function 1143 * src/headers.h: Provide new prototypes 1144 * src/quit.c: Removed session_struct.mta_username, mta_password 1145 * src/tunnel.c: Likewise 1146 * src/rcfile.c (control_parser): Handle new statements 1147 * testsuite/mta.c: Minor fix 1148 * testsuite/etc/interface.in.in: Use WITH_GNUTLS instead of 1149 WITH_SSL 1150 * testsuite/etc/target.in.in: Likewise 1151 * testsuite/lib/anubis.exp (run_in_authmode): Fix message text 1152 * doc/anubis.texi: Documented new statements 1153 11542004-12-16 Sergey Poznyakoff 1155 1156 * TODO: updated 1157 * configure.ac: set "M4_DEFS -DWITH_GSASL" 1158 * src/esmtp.c: Completely rewritten using gsasl 1159 * src/extern.h (anon_token,authorization_id,authentication_id) 1160 (auth_password,auth_service,auth_hostname,generic_service_name) 1161 (auth_passcode,auth_realm): New variables. 1162 * src/gsasl_srv.c: Updated 1163 * src/headers.h: Updated 1164 * src/stream.c (stream_readline): Minor fix 1165 * src/tunnel.c (collect_body): delete AUTH part. 1166 * testsuite/mta.c: minor indentation fix 1167 * testsuite/etc/Makefile.am: Change $(RCFILES) std.pat: 1168 * Makefile.am: dependency to $(RCFILES) std.pat: Makefile.am 1169 * testsuite/etc/target.in.in: Conditionally include -c and -k. 1170 * testsuite/lib/anubis.exp (sanubis_pat): Fix TLS/GSASL usage 1171 11722004-12-15 Sergey Poznyakoff 1173 1174 * configure.ac: Bail out if required SQL libraries are not 1175 found. Strictly control arguments to --with-postgres/--with-mysql 1176 * src/anubisusr.c (smtp_get_reply): Minor fix: clear trailing \r 1177 in buf as well. 1178 (cb_service): Fixed typo 1179 * src/gsasl.c (write_chunk,_gsasl_read): Removed old usage of 1180 gsasl_decode/gsasl_encode. 1181 * src/help.c (config_opts): Reflect WITH_PGSQL 1182 * src/net.c (recvline_ptr): Fixed buffer reallocation condition 1183 (it didn't take null terminator into account). 1184 * src/sql.c (sql_db_get,sql_db_delete,sql_db_put): Fixed eventual 1185 sql injection. 1186 * THANKS: Added Daniel S. Haischt 1187 11882004-12-09 Wojciech Polak 1189 1190 * src/socks.c: Fixed possible buffer overflow. 1191 11922004-12-03 Sergey Poznyakoff 1193 1194 * contrib/Makefile.am: Use AM_INSTALLCHECK_STD_OPTIONS_EXEMPT 1195 for msg2smtp.pl 1196 * src/daemon.c (loop): Block SIGCHLD while incrementing 1197 nchild. 1198 * src/esmtp.c (esmtp_auth): Minor fix. 1199 * src/gpg.c (create_key_array): Dynamically allocate current_key. 1200 * src/gsasl.c (install_gsasl_stream): Use xmalloc 1201 * src/gsasl_srv.c (anubis_auth_gsasl): A bit of sugar for broken 1202 printfs: print NULLs explicitely. 1203 * src/net.c (get_response_smtp): Fix eventual buffer overflow 1204 * src/tunnel.c: Fix typo in comment 1205 * src/xdatabase.c (xdatabase): Handle NULL argument. 1206 * testsuite/etc/Makefile.am: Add dependency 1207 $(RCFILES) std.pat: Makefile.am 1208 * testsuite/lib/anubis.exp (anubis_init): Do not pass -s option 1209 to anubis. 1210 12112004-11-22 Wojciech Polak 1212 1213 Potential security fixes by Ulf H�rnhammar: 1214 1215 * src/anubisadm.c (adm_memory_error): Fixed wrong format strings. 1216 (op_add_or_modify): Likewise. 1217 * src/main.c (anubis_memory_error): Likewise. 1218 * src/authmode.c (anubis_authenticate_mode): Set the last element 1219 of `session.clientname' to '\0'. 1220 12212004-10-29 Sergey Poznyakoff 1222 1223 * src/regex.c (anubis_regex_replace): Fixed coredump 1224 * testsuite/anubis/no-backref.exp: New regression test. Test for 1225 'Paolo syndrome'. 1226 * testsuite/anubis/DISTFILES: Add no-backref.exp 1227 * testsuite/etc/no-backref.in: Data for testing 'Paolo syndrome' 1228 * testsuite/etc/no-backref.pat: Likewise 1229 * testsuite/etc/Makefile.am: Add no-backref.pat and no-backref.in 1230 1231 * THANKS: Updated 1232 12332004-10-16 Wojciech Polak 1234 1235 * configure.ac: Require GPGME 1.0.0. 1236 12372004-09-24 Sergey Poznyakoff 1238 1239 Released version 3.9.96 1240 1241 * Makefile.am: Use gnits 1242 * NEWS: Updated 1243 * doc/Makefile.am ($(PROJECT).text): Explicitely pass info file 1244 from cwd (breaks builds from a separate directory but we never use 1245 them when making docs, anyway). 1246 12472004-09-22 Sergey Poznyakoff 1248 1249 * src/anubisusr.c: Got read of secure.client and secure.server 1250 globals 1251 * src/extern.h: Likewise 1252 * src/quit.c: Likewise 1253 * src/transmode.c: Likewise 1254 * src/tunnel.c: Likewise 1255 1256 * src/rcfile.c: Allow use of `logfiles' and `loglevel' in main 1257 configuration file, provided that the uid is not 0. 1258 * src/headers.h: New macro T_DISABLE_SYSLOG 1259 * src/log.c: Do not use syslog if T_DISABLE_SYSLOG is set 1260 1261 * src/daemon.c (daemonize): Use info() instead of syslog(). 1262 (sig_cld): Improved diagnostics. 1263 * src/stream.c (stream_destroy): Use xfree() for consistency 1264 1265 * src/errs.c: Minor formatting fix. 1266 * src/message.c: Likewise 1267 1268 * testsuite/etc/interface.in.in: Use logfile directive 1269 * testsuite/etc/target.in.in: Likewise 1270 12712004-09-17 Sergey Poznyakoff 1272 1273 * testsuite/lib/anubis.exp (anubis_pat): Updated to 1274 support the recent changes (2004-09-13) 1275 1276 * src/errs.c (anubis_error): Rewritten 1277 (anubis_warning): New function (for future use). 1278 1279 * src/headers.h (T_ERROR): Removed. 1280 (SOFT,HARD,SYNTAX): Removed 1281 (anubis_error,anubis_warning): New declaration 1282 1283 * src/anubisusr.c (anubis_error): Updated definition 1284 Issue QUIT command before normal exiting. 1285 1286 * src/authmode.c: Do not use T_ERROR. Updated calls to 1287 anubis_error 1288 Issue 221 response on QUIT command 1289 1290 * src/daemon.c: Do not use T_ERROR. Updated calls to anubis_error 1291 * src/env.c: Likewise 1292 * src/esmtp.c: Likewise 1293 * src/exec.c: Likewise 1294 * src/gpg.c: Likewise 1295 * src/gsasl_srv.c: Likewise 1296 * src/guile.c: Likewise 1297 * src/ident.c: Likewise 1298 * src/main.c: Likewise 1299 * src/map.c: Likewise 1300 * src/mime.c: Likewise 1301 * src/net.c: Likewise 1302 * src/rcfile.c: Likewise 1303 * src/rcfile.l: Likewise 1304 * src/rcfile.y: Likewise 1305 * src/regex.c: Likewise 1306 * src/socks.c: Likewise 1307 * src/ssl.c: Likewise 1308 * src/tls.c: Likewise 1309 * src/transmode.c: Likewise 1310 * src/tunnel.c: Likewise 1311 * src/xdatabase.c: Likewise 1312 13132004-09-13 Sergey Poznyakoff 1314 1315 * src/authmode.c (anubis_smtp): Force T_SSL_ONEWAY if `ssl yes' 1316 is requested and SSL connection between the MUA and Anubis has been 1317 successfully established. Necessary for handle_ehlo() to 1318 work. 1319 (asmtp_capa_init) [HAVE_TLS]: Changed to USE_SSL. 1320 * src/tunnel.c (handle_ehlo): Comment updated. 1321 13222004-09-03 Sergey Poznyakoff 1323 1324 * src/authmode.c: Added missing pam_retval declaration. 1325 * src/transmode.c: Likewise 1326 13272004-09-02 Sergey Poznyakoff 1328 1329 * doc/anubis.texi (Mutt): New node documenting the existing 1330 methods of interfacing mutt with anubis. 1331 13322004-08-17 Wojciech Polak 1333 1334 * doc/anubis.texi (Sample Beginning): Removed text 1335 about IDENT protocol server. 1336 * TODO: Updated. 1337 13382004-08-14 Sergey Poznyakoff 1339 1340 * testsuite/anubis.authmode/abase.exp: New file 1341 * testsuite/anubis.authmode/DISTFILES: Updated 1342 * src/authmode.c (anubis_smtp,xdb_loop): Exit if T_ERROR 1343 bit is set. 1344 1345 * testsuite/lib/anubis.exp (update_config): Return -1 if 1346 res is an empty list. Set anubisusr verbose mode only if 1347 $verbose > 2 1348 (run_in_authmode): Declare unsupported test if anubis is 1349 configured without GSASL 1350 (default_anubis_stop,anubis_exit): New procedures 1351 (anubis_test_file): Call remote_close 1352 (anubis_pat): Call default_anubis_stop 1353 13542004-08-13 Sergey Poznyakoff 1355 1356 * src/anubisusr.c: New options --file and --netrc allow 1357 to override default file names for users' .anubisrc and 1358 .netrc files 1359 (diff): Proceed with the update if the remote rcfile does 1360 not exist. 1361 (main): Bail out on unknown options 1362 * src/authmode.c (asmtp_ehlo_reply): Save ehlo domain for 1363 further use in tunnel.c 1364 (anubis_authenticate_mode): Process rc file whenever it 1365 is present in ANUBIS_USER. 1366 * src/daemon.c (daemonize): Ignore SIGHUP before call to 1367 daemon(). Write pid file. 1368 * src/dbtext.c (dbtext_open): Minor fix 1369 * src/env.c: New option --pid-file 1370 (write_pid_file): New function 1371 * src/headers.h: New declarations. 1372 * src/tunnel.c (set_ehlo_domain): New function 1373 * src/xdatabase.c (xexamine): Issue reply 300 if rc file 1374 does not exist. 1375 1376 * testsuite/findport.c: New file 1377 * testsuite/anubis.authmode: New directory 1378 * testsuite/anubis.authmode/DISTFILE: New file 1379 * testsuite/anubis.authmode/base.exp: New file 1380 * testsuite/anubis.authmode/gpg.exp: New file 1381 * testsuite/anubis.authmode/guile.exp: New file 1382 * testsuite/anubis.authmode/mime.exp: New file 1383 1384 * testsuite/Makefile.am: Added new files 1385 1386 * testsuite/anubis/abase.exp: New file. It should be 1387 called before base.exp, hence its name. 1388 * testsuite/anubis/base.exp: Moved std.pat to abase.exp 1389 * testsuite/anubis/DISTFILES: Added new files 1390 1391 * testsuite/data/users: New file 1392 * testsuite/data/Makefile.am: Added new files 1393 1394 * testsuite/etc/interface.in.in: New file 1395 * testsuite/etc/target.in.in: New file 1396 * testsuite/etc/net.rc: New file 1397 * testsuite/etc/Makefile.am: Added new files 1398 1399 * testsuite/lib/anubis.exp: Added support for authmode testing. 1400 1401 * testsuite/.cvsignore: Updated 1402 * testsuite/data/.cvsignore: Updated 1403 * testsuite/etc/.cvsignore: Updated 1404 14052004-08-12 Sergey Poznyakoff 1406 1407 * src/dbtext.c: Changed format. Fields are separated by 1408 colons. 1409 * src/anubisadm.c: Use NONE to represent empty fields. 1410 * doc/anubis.texi: Updated. 1411 14122004-08-09 Sergey Poznyakoff 1413 1414 * configure.ac: Updated 1415 * src/env.c (change_privs): New function. 1416 (anubis_changeowner): Use change_privs to correctly switch 1417 privileges. 1418 14192004-08-07 Sergey Poznyakoff 1420 1421 * configure.ac: Raised version number to 3.9.96 1422 * src/md5.c: New file. 1423 * src/Makefile.am: Added md5.c 1424 * src/anubisusr.c: Use MD5 sums instead of comparing file 1425 contents. 1426 * src/xdatabase.c: Likewise. 1427 * src/authmode.c (anubis_authenticate_mode): Bugfix 1428 * src/transmode.c (anubis_transparent_mode): Bugfix 1429 * src/headers.h (anubis_md5_file) 1430 (string_bin_to_hex,string_hex_to_bin): New declarations 1431 14322004-08-06 Sergey Poznyakoff 1433 1434 * configure.ac: Require gpgme 0.9.0. Check for 1435 AC_SYS_LARGEFILE (needed by gpgme). 1436 * src/gpg.c: Rewritten for gpgme 0.9.0 1437 14382004-08-06 Sergey Poznyakoff 1439 1440 * src/anubisusr.c: Use XELO 1441 * src/authmode.c: Implemented XELO 1442 * src/tunnel.c (process_command): Minor change. 1443 * src/xdatabase.c (xdatabase)" Minor change. 1444 14452004-07-31 Sergey Poznyakoff 1446 1447 Released version 3.9.95 1448 1449 * NEWS: Updated time and version stamps. 1450 14512004-07-22 Wojciech Polak 1452 1453 * src/authmode.c: Added initial XELO implementation (the seed). 1454 (helo_count): Added new variable; in the future report possible 1455 SMTP attack. 1456 * src/headers.h (T_XELO): New flag. 1457 14582004-07-21 Wojciech Polak 1459 1460 * src/authmode.c (anubis_smtp): Clear the T_SSL_FINISHED 1461 flag after the for loop. 1462 * src/tls.c: Print all debug messages using the same style. 1463 14642004-07-18 Wojciech Polak 1465 1466 * src/anubisusr.c: Be more user friendly. 1467 (diff): As the result print text, not numbers. 1468 14692004-07-17 Wojciech Polak 1470 1471 * src/env.c (anubis_changeowner): Print also a user name. 1472 * src/main.c (main): Likewise. 1473 14742004-07-15 Sergey Poznyakoff 1475 1476 * configure.ac: Accomodate for incompatibilities of gnults 1.0.16 1477 (and eventually newer versions) 1478 * po/POTFILES.in: Updated 1479 * src/daemon.c (daemonize): Clear T_FOREGROUND flag. 1480 * src/authmode.c (asmtp_ehlo): Return correct state if TLS 1481 failed. 1482 14832004-07-13 Wojciech Polak 1484 1485 * src/tunnel.c (handle_starttls): Improved diagnostics. 1486 * src/authmode.c (asmtp_ehlo): Likewise. 1487 * src/misc.c (make_lowercase, make_uppercase): Return NULL 1488 if needed. 1489 1490 * src/auth.c: Renamed to ident.c. 1491 (auth_tunnel): Moved to rcfile.c. 1492 * src/headers.h: Updated. 1493 * src/Makefile.am: Updated. 1494 14952004-07-13 Sergey Poznyakoff 1496 1497 * src/gsasl_srv.c (anubis_set_mech_list): Convert mechanism 1498 names to uppercase 1499 * src/headers.h (make_uppercase): New function 1500 (make_lowercase): Return char* for symmetry with make_uppercase(). 1501 * src/misc.c (make_lowercase): Rewritten in a more effective way. 1502 (make_uppercase): New function 1503 * src/rcfile.y (rc_set_debug_level): Check for valid input. 1504 1505 * doc/anubis.texi: Fixed rccol-rcfile confusion. The URL parameter 1506 name and its default value are now "rcfile". 1507 * src/mysql.c: Likewise. 1508 * src/pgsql.c: Likewise. 1509 * src/rcfile.c: Likewise. 1510 * src/sql.c: Likewise. 1511 * src/sql.h: Likewise. 1512 15132004-07-12 Sergey Poznyakoff 1514 1515 * src/authmode.c (make_help_message): Fixed mess created 1516 by the use of 'indent'. 1517 (asmtp_ehlo): Bail out on receiving second STARTTLS. Remove 1518 STARTTLS capability after successful initiation of TLS. 1519 (anubis_smtp): Clear T_SSL_FINISHED flag after successful 1520 authentication. 1521 * src/net.c (swrite): Do not try to write out zero bytes. This 1522 upsets gnutls. 1523 * src/stream.c (struct net_stream.state): New member 1524 (stream_set_io): Init ->state 1525 (stream_close): Do nothing if state != state_open 1526 * src/tunnel.c (get_ehlo_domain,save_ehlo_domain): New functions 1527 (smtp_begin): Use get_ehlo_domain() 1528 (handle_ehlo): Save user EHLO domain. Use get_ehlo_domain(). 1529 Removed FIXME indicator 1530 15312004-07-11 Wojciech Polak 1532 1533 * src/authmode.c (anubis_authenticate_mode): Fixed the bug, 1534 where a specified config file was ignored. 1535 * src/tunnel.c (smtp_begin): Send the EHLO command to MTA. 1536 * THANKS: Added Jim Cheetham. 1537 1538 * src/*.[chly]: Indent all files using the GNU coding style. 1539 * src/tls.c: Improved diagnostics. 1540 * src/rcfile.c: Likewise. 1541 * src/esmtp.c: Likewise. 1542 * src/gsasl_srv.c: Likewise. 1543 * src/main.c: Likewise. 1544 15452004-06-19 Sergey Poznyakoff 1546 1547 * lib/lbuf.c (_auth_lb_writelines): Bugfix. 1548 * src/xdatabase.c (make_temp_file): Fixed diagnostic message. 1549 15502004-06-19 Wojciech Polak 1551 1552 * src/anubisusr.c (cb_password): Use getpass(). 1553 (cb_passcode): Likewise. 1554 (parse_netrc): Be silent if .netrc doesn't exist. 1555 * configure.ac: Bump to 3.9.95. 1556 15572004-06-10 Sergey Poznyakoff 1558 1559 * TODO: Updated 1560 * src/authmode.c: Minor fixes to the diagnostic messages 1561 * src/esmtp.c: Likewise. 1562 * src/help.c: Likewise. 1563 * src/tunnel.c: Likewise. 1564 15652004-06-01 Wojciech Polak 1566 1567 Released version 3.9.94. 1568 15692004-06-01 Sergey Poznyakoff 1570 1571 * configure.ac: Install anubisusr into bindir. 1572 * src/Makefile.am: Likewise. 1573 1574 * m4/anubis.m4: Quote the defun name 1575 * m4/gpgme.m4: Likewise. 1576 * m4/gsasl.m4: Likewise. 1577 * m4/guile.m4: Likewise. 1578 15792004-05-31 Sergey Poznyakoff 1580 1581 * NEWS: Updated 1582 * doc/anubis.texi: Updated 1583 * doc/pixie-dixie.texi: Synchronised with the latest version 1584 of Pixie-Dixie. 1585 15862004-05-29 Wojciech Polak 1587 1588 * doc/Makefile.am: Changed date format to '%B %d, %Y'. 1589 15902004-05-29 Sergey Poznyakoff 1591 1592 * doc/Makefile.am: Added rules for generating web docs 1593 * doc/index.html.in: New file 1594 * doc/.cvsignore: Updated 1595 15962004-05-27 Wojciech Polak 1597 1598 * doc/anubis.texi: Updated (fixed some typos). 1599 * elisp/anubis-mode.el: Added new keywords. 1600 16012004-05-22 Wojciech Polak 1602 1603 * doc/pixie-dixie.txt: Moved to `pixie-dixie.pl.txt'. 1604 * Makefile.am: Updated. 1605 16062004-05-22 Sergey Poznyakoff 1607 1608 * doc/anubis.texi: Updated 1609 * doc/rendition.texi (macro FIXME): Rewritten 1610 16112004-05-21 Sergey Poznyakoff 1612 1613 * doc/pixie-dixie.txt: New file 1614 * doc/pixie-dixie.texi: New file 1615 * doc/rendition.texi: New file 1616 * doc/.cvsignore: Updated 1617 * doc/Makefile.am: Updated 1618 * doc/anubis.texi: Updated 1619 1620 * src/anubisadm.c: Changed LIST to ANUBIS_LIST to resolve 1621 name clash with the recent MySQL distributions 1622 * src/anubisdb.c: Likewise. 1623 * src/anubisusr.c: Likewise. 1624 * src/authmode.c: Likewise. 1625 * src/dbtext.c: Likewise. 1626 * src/extern.h: Likewise. 1627 * src/gdbm.c: Likewise. 1628 * src/gpg.c: Likewise. 1629 * src/gsasl_srv.c: Likewise. 1630 * src/guile.c: Likewise. 1631 * src/headers.h: Likewise. 1632 * src/list.c: Likewise. 1633 * src/list.h: Likewise. 1634 * src/map.c: Likewise. 1635 * src/misc.c: Likewise. 1636 * src/rcfile.c: Likewise. 1637 * src/rcfile.h: Likewise. 1638 * src/rcfile.y: Likewise. 1639 * src/sql.c: Likewise. 1640 * src/tunnel.c: Likewise. 1641 1642 * testsuite/etc/Makefile.am: Added cond.in 1643 16442004-05-20 Wojciech Polak 1645 1646 * testsuite/etc/cond.pat: New test. 1647 * testsuite/etc/cond.in: Added rules for cond.pat. 1648 * testsuite/etc/Makefile.am: Updated. 1649 * testsuite/anubis/base.exp: Added cond.pat. 1650 16512004-05-19 Sergey Poznyakoff 1652 1653 * src/tunnel.c (save_command): Fixed parsing of commands 1654 (process_command): remove CRLF from the command and flip 1655 it to lower case before parsing. 1656 (transfer_command): Reversed return code if handle_ehlo failed. 1657 16582004-05-14 Sergey Poznyakoff 1659 1660 * src/ssl.c: Rewritten to match new API. 1661 16622004-05-01 Wojciech Polak 1663 1664 * src/anubisadm.c (op_usage): Removed unused %s from error(). 1665 * configure.ac: Be more verbose. 1666 16672004-04-22 Wojciech Polak 1668 1669 * configure.ac: Let's use GNU gettext 0.14.1. 1670 * Makefile.am: Let's use GNU Automake >= 1.8.3. 1671 16722004-04-22 Sergey Poznyakoff 1673 1674 * configure.ac: Added check for Postgres libraries. 1675 * guile/entire-msg.scm: New file. 1676 * guile/Makefile.am: Added guile/entire-msg.scm 1677 * src/sql.c: New file. General purpose interface to SQL databases. 1678 * src/sql.h: New file. 1679 * src/pgsql.c: New file. Postgres DB interface. 1680 * src/mysql.c: Rewritten using new SQL interface. 1681 * src/Makefile.am: Added new files. 1682 * src/anubisadm.c (op_list): Minor improvement. 1683 (main): Init postgres db, if required. 1684 * src/authmode.c: Minor stylistic fix. Removed misguiding comment. 1685 * src/main.c (main): Init postgres db, if required. 1686 1687 * src/headers.h: Added missing prototypes. 1688 1689 * src/anubisdb.c: Use const consistently. 1690 * src/dbtext.c: Likewise 1691 * src/gdbm.c: Likewise 1692 1693 * src/gsasl.c: Moved include <gsasl.h> to headers.h 1694 * src/gsasl_srv.c: Likewise 1695 16962004-03-15 Wojciech Polak 1697 1698 * src/authmode.c: Removed RSET support (where was my mind 1699 when I added it, dammit?). 1700 17012004-03-13 Wojciech Polak 1702 1703 * src/authmode.c (anubis_authenticate_mode): Don't read the 1704 "translation" section in the "authentication" mode. 1705 Call the set_unprivileged_user() when `usr.username' is null. 1706 TO DO: search a special rc-file directory and retrieve 1707 an appropriate client's run control file when `usr.username' 1708 is null. 1709 17102004-03-13 Wojciech Polak 1711 1712 * src/*: Namespace cleanup. 1713 * src/rc.c: Renamed to rcfile.c. 1714 * src/daemon.c (anubis_child_main): Bugfix. 1715 17162004-03-13 Sergey Poznyakoff 1717 1718 * src/auth.c (auth_ident): Use streams appropriately 1719 * src/exec.c (make_local_connection_fd): When closing 1720 pipes be careful not to destroy stdin/stdout. 1721 17222004-03-12 Sergey Poznyakoff 1723 1724 * po/POTFILES.in: Updated 1725 17262004-03-11 Sergey Poznyakoff 1727 1728 * src/anubisusr.c (smtp_auth): Use error() instead of info() 1729 (main): Minor fix 1730 (argcv_free): Correctly handle argc==0. Changed return type to 1731 void. 1732 (parse_netrc): Initialize p_argv. 1733 * src/authmode.c: Provide special section AUTH for configuring 1734 auth mode. Move sasl-password-db and sasl-allowed-mech 1735 to AUTH. New keywords smtp-greeting-message and smtp-help-message 1736 allow to set the corresponding SMTP messages. 1737 * src/env.c (get_options): Use anubis_set_mode(). 1738 (anubis_set_mode): New function. 1739 * src/gsasl_srv.c: Protect inclusion of gsasl.h 1740 * src/headers.h: Added missing prototypes 1741 * src/rc.c (process_rcfile): Load AUTH section 1742 (control_parser): New keyword 'mode'. Equivalent to specifying 1743 --mode in the command line. 1744 * src/url.c: Removed debugging functions. 1745 17462004-03-08 Sergey Poznyakoff 1747 1748 * src/main.c: Fixed improper #ifdef'ing 1749 17502004-03-06 Sergey Poznyakoff 1751 1752 * src/anubisusr.c (hostcmp): Bugfix. 1753 17542004-03-06 Sergey Poznyakoff 1755 1756 * src/anubisusr.c: Consult .netrc file for the authentication 1757 credentials. 1758 Removed debugging hooks. 1759 * src/xdatabase.c (xexamine): Bugfix 1760 17612004-03-06 Sergey Poznyakoff 1762 1763 * configure.ac (ANUBISADM): Use Makefile variable dereference 1764 * src/Makefile.am: Added anubisusr.c Moved some tls.c and 1765 gsasl.c to libanubisdb.a (the name seems to be a misnomer 1766 now). Split gsasl.c to gsasl.c (library part) and gsasl_srv.c 1767 (server part) 1768 * src/.cvsignore: Updated 1769 1770 * src/anubisusr.c: New file. Synchronize local and remote copies 1771 of the user's RC file, using XDATABASE protocol. 1772 * src/authmode.c: Implemented TLS 1773 1774 * src/stream.c: New file. General-purpose streams 1775 * src/net.c: Rewritten using streams. 1776 * src/daemon.c: Likewise 1777 * src/esmtp.c: Likewise 1778 * src/exec.c: Likewise 1779 * src/extern.h: Likewise 1780 * src/headers.h: Likewise 1781 * src/main.c: Likewise 1782 * src/quit.c: Likewise 1783 * src/tls.c: Likewise 1784 * src/transmode.c: Likewise 1785 * src/tunnel.c: Likewise 1786 1787 * src/gsasl.c: Split off server-specific functions to a separate 1788 module 1789 * src/gsasl_srv.c: New file 1790 1791 * TODO: Updated 1792 17932004-02-22 Sergey Poznyakoff 1794 1795 * src/log.c: Bugfixes 1796 17972004-02-21 Wojciech Polak 1798 1799 * configure.ac: Added new option `--with-socks-proxy'. 1800 * src/files.c: Renamed to mime.c (for further MIME support). 1801 * src/proxy.c: Renamed to socks.c. 1802 18032004-02-19 Sergey Poznyakoff 1804 1805 Initial implementation of "XDATABASE" command 1806 1807 * src/xdatabase.c: New file 1808 * src/Makefile.am: Added xdatabase.c 1809 * src/authmode.c (anubis_smtp): On successful 1810 authentication add XDATABASE to the server capabilities 1811 (anubis_authenticate_mode): Save the retrieved rc file 1812 name in usr.rc_file_name. 1813 * src/extern.h (struct session_struct.rc_file_name): New 1814 member. 1815 * src/headers.h (user_rcfile_name, xdatabase) 1816 (xdatabase_capability): New functions 1817 * src/rc.c (user_rcfile_name): New function 1818 (open_rcfile): Use user_rcfile_name(). 1819 * src/rcfile.h (RC_ERROR_PRINTER): New data type 1820 (rc_parse_ep): New function 1821 * src/rcfile.y (rc_error_printer,rc_error_printer_data): New 1822 variables. 1823 (parse_error): Use rc_error_printer variable 1824 to actually print the diagnostics. 1825 (yyerror): Call parse_error() instead of calling anubis_error() 1826 directly. 1827 (rc_parse_ep): New function 1828 * src/tunnel.c (process_command): Handle XDATABASE command 1829 18302004-02-18 Sergey Poznyakoff 1831 1832 * src/auth.c (auth_ident): Do not use sscanf. 1833 * src/errs.c: Fix improper format specs in syslog 1834 invocations. 1835 * src/ssl.c: Likewise. 1836 18372004-02-14 Wojciech Polak 1838 1839 * src/url.c (url_get_mech): Bugfix. 1840 * src/anubisadm.c (print_help): Split up the messages and use puts(). 1841 (op_add_or_modify): Use getpass(). 1842 * lib/getpass.c: New file. 1843 * configure.ac (AC_REPLACE_FUNCS): Added getpass. 1844 18452004-02-14 Sergey Poznyakoff 1846 1847 * src/mysql.c (mysql_db_put): Fixed query template 1848 * src/anubisadm.c (op_create): Initialize rec. Print input line 1849 number along with the error message. 1850 18512004-02-12 Sergey Poznyakoff 1852 1853 * src/mysql.c: Trivial fixes. 1854 * src/Makefile.am: Moved mem.[ch] to libanubisdb 1855 * src/anubisadm.c: Trivial fixes. Remove xmalloc duplication and 1856 provide memory error handler hook. 1857 * src/headers.h (memory_error): New external variable. 1858 * src/main.c: Provide memory error handler hook. 1859 * src/mem.c (xmalloc, xrealloc): Rely on user-defined hook 1860 to handle memory allocation errors. 1861 18622004-02-11 Sergey Poznyakoff 1863 1864 * configure.ac: AC_REPLACE getline. Define ANUBISADM if 1865 gsasl is requested. 1866 * doc/Makefile.am (TEXINFO_TEX): Removed. It prevented automake 1867 from copying texinfo.tex to build/ 1868 * lib/getline.c: New file 1869 * lib/getline.h: New file 1870 * lib/Makefile.am: Added getline.c, getline.h 1871 * lib/lbuf.h: Removed leftover header dependency. 1872 * lib/lbuf.c: Minor changes. 1873 * src/anubisadm.c: New file. Interface for Anubis database 1874 administration. 1875 * src/Makefile.am (anubisadm, libanubisdb.a): New targets 1876 * src/.cvsignore: Updated 1877 * src/anubisdb.c: Added new operation: list 1878 * src/dbtext.c: Likewise. 1879 * src/gdbm.c: Likewise. 1880 * src/headers.h: Likewise. 1881 * src/mysql.c: Likewise. Also fixed potential coredumps in 1882 mysql_db_get. 1883 * src/url.c (anubis_url_full_path): Fixes for a case when URL does 1884 not have a host part. 1885 18862004-01-06 Wojciech Polak 1887 1888 * m4/Makefile.am: Removed. 1889 * configure.ac (AC_CONFIG_FILES): Removed m4/Makefile. 1890 (AC_PREREQ): Bump to 2.59. 1891 * Makefile.am: Removed m4. Require at least version 1.8. 1892 18932003-12-25 Sergey Poznyakoff 1894 1895 Synchronized with the backup repository on Mirddin 1896 18972003-12-22 Wojciech Polak 1898 1899 * testsuite/mta.c: Adapt to GnuTLS >= 1.0.0. 1900 19012003-12-17 Wojciech Polak 1902 1903 * src/tls.c: Adapt to GnuTLS >= 1.0.0. 1904 * src/headers.h: Include <gnutls/x509.h>. 1905 19062003-12-09 Wojciech Polak 1907 1908 * configure.ac: Set AM_GNU_GETTEXT_VERSION(0.13). 1909 Force to use GnuTLS >= 1.0.0. 1910 * m4/Makefile.am: Updated (gettext 0.13). 1911 19122003-11-30 Sergey Poznyakoff 1913 1914 * src/headers.h (N_): Define uncoditionally. 1915 (anubis_db_open_t): Extra parameter: pointer to textual error 1916 description. 1917 * src/anubisdb.c (anubis_db_open): Return textual error 1918 description. 1919 * src/mysql.c (mysql_db_open): Likewise 1920 * src/dbtext.c (dbtext_open): Likewise 1921 * src/gdbm.c (gdbm_db_open): Likewise 1922 (gdbm_db_strerror): Implemented. 1923 * src/authmode.c (anubis_get_db_record): Updated the invocation 1924 of anubis_db_open(). 1925 * po/POTFILES.in: Updated 1926 19272003-11-30 Wojciech Polak 1928 1929 * src/misc.c (change_to_lower): Renamed to make_lowercase. 1930 * src/headers.h (change_to_lower): Changed prototype. 1931 * src/tunnel.c: Use make_lowercase(). 1932 * src/help.c (config_opts): Added MYSQL. 1933 * po/POTFILES.in: Updated. 1934 19352003-11-30 Sergey Poznyakoff 1936 1937 * TODO: Updated 1938 * configure.ac: Removed useless AC_LIBOBJ. Added --with-mysql 1939 option and code to detect presence of MySQL 1940 * lib/Makefile.am: Added automake stuff 1941 * m4/anubis.m4: New file 1942 * m4/Makefile.am: Added anubis.m4 1943 * src/Makefile.am: Modified to fit the new directory layout 1944 * src/anubisdb.c: Protect the code by #ifdef 1945 * src/authmode.c: Likewise 1946 * src/dbtext.c: Likewise. 1947 * src/gdbm.c: Likewise. 1948 * src/gsasl.c: Likewise. 1949 1950 * src/url.c: New file. 1951 * src/mysql.c: New file. 1952 * src/headers.h (ANUBIS_URL): New data type. 1953 (anubis_url_destroy,anubis_url_parse,anubis_url_full_path) 1954 (anubis_url_get_arg): New functions. 1955 * src/main.c (main): Call mysql_db_init 1956 * src/rc.c (control_parser): sasl-password-db now takes 1957 only one argument: the database URL. 1958 19592003-11-29 Wojciech Polak 1960 1961 * configure.ac: Added lib 1962 * lib: added to the repository 1963 * lib/.cvsignore: New file 1964 * Makefile.am: Updated 1965 * src/Makefile.am: Updated 1966 * lib/Makefile.am: New file 1967 * src/getopt1.c,getopt.c,getopt.h,gettext.h 1968 lbuf.c,lbuf.h,obstack.c,obstack.h,setenv.c, 1969 snprintf.c: moved to ../lib 1970 19712003-11-26 Sergey Poznyakoff 1972 1973 * doc/anubis.texi: Fixed a couple of misspellings. 1974 19752003-11-22 Wojciech Polak 1976 1977 * src/net.c (_debug_printer): Invert debug arrows. 1978 (connect_directly_to): Removed poor debug message. 1979 19802003-11-22 Sergey Poznyakoff 1981 1982 * src/authmode.c (asmtp_ehlo,anubis_smtp,anubis_get_db_record) 1983 (anubis_authenticate_mode): Pass ANUBIS_USER as application- 1984 specific data. 1985 * src/gsasl.c: Use new GSASL functions instead of obsolete 1986 ones. 1987 * src/headers.h (anubis_auth_gsasl): Changed prototype 1988 19892003-11-22 Wojciech Polak 1990 1991 * src/authmode.c: Added preliminary RSET support. 1992 (asmtp_kw): Check the `name' before strcasecmp(). 1993 19942003-11-22 Sergey Poznyakoff 1995 1996 * src/gsasl.c (auth_gsasl_capa_init): Removed calls to obsolete 1997 function gsasl_server_listmech. Use gsasl_server_mechlist instead. 1998 19992003-11-22 Wojciech Polak 2000 2001 * src/help.c (config_opts): Added GSASL. 2002 20032003-11-22 Sergey Poznyakoff 2004 2005 * src/dbtext.c (dbtext_open): Minor fix. 2006 * src/gsasl.c (anubis_set_mech_list): New function. 2007 (auth_gsasl_capa_init): Allow for terminating nul in 2008 gsasl_server_listmech output. 2009 Build the resulting capability list as an intersection 2010 between the one reported by GSASL and the list of 2011 allowed mechanisms. 2012 * src/headers.h (anubis_set_mech_list): New function. 2013 * src/list.c (list_intersect): New function 2014 * src/list.h: Likewise. 2015 * src/rc.c (control_parser): Handle sasl-allowed-mech keyword. 2016 20172003-11-21 Wojciech Polak 2018 2019 * src/env.c (get_options): Added missing "m:" to getopt_long(). 2020 * src/authmode.c: Removed broken #include <anubisdb.h>. 2021 20222003-11-21 Sergey Poznyakoff 2023 2024 Initial implementation of "authentication mode". 2025 2026 * configure.ac: Check for libgsasl and gdbm 2027 * m4/gsasl.m4: New file (imported from mailutils) 2028 * m4/Makefile.am: Added gsasl.m4 2029 2030 * src/daemon.c (anubis_child_main): New function. 2031 (loop): Call anubis_child_main(). 2032 * src/extern.h (anubis_domain, anubis_mode): New externals 2033 * src/headers.h: New declarations. 2034 * src/help.c: Reflect --mode option. 2035 * src/env.c: New option --mode. 2036 * src/main.c (anubis_domain, anubis_mode): New externals 2037 (anubis_core): Initialize various database formats. 2038 * src/misc.c (get_localname, get_localdomain): New functions. 2039 * src/net.c (net_io_get,net_io_read,net_io_write,net_io_close) 2040 (recvline_ptr): New functions. 2041 * src/rc.c: New keywords local-domain and sasl-password-db 2042 * src/tunnel.c (smtp_session_transparent): New function 2043 (smtp_begin): New function 2044 2045 * src/authmode.c: New file 2046 * src/transmode.c: New file 2047 * src/gsasl.c: New file 2048 * src/lbuf.c: New file 2049 * src/lbuf.h: New file 2050 * src/anubisdb.c: New file 2051 * src/dbtext.c: New file 2052 * src/gdbm.c: New file 2053 2054 * src/Makefile.am: Added new files 2055 20562003-11-08 Wojciech Polak 2057 2058 * src/tls.c (verify_certificate): Removed GNUTLS_CERT_CORRUPTED 2059 (missing in GnuTLS >= 0.9.95 ?!). 2060 Also GNUTLS_CERT_NOT_TRUSTED = GNUTLS_CERT_INVALID. 2061 * configure.ac: Changed AM_CONFIG_HEADER to AC_CONFIG_HEADERS. 2062 20632003-10-27 Wojciech Polak 2064 2065 * src/esmtp.c: Conform to libgcrypt >= 1.1.42 (a new API). 2066 * src/help.c (show_config_options): Removed. Keep only 2067 print_config_options(). 2068 2069 * doc/anubis.1: Updated. 2070 * configure.ac: Bump to 3.9.94. Requires now GnuTLS >= 0.9.93. 2071 * src/main.c: Bump to 3.9.94. 2072 20732003-09-16 Wojciech Polak 2074 2075 * src/rcfile.y (_print_stars): Print only three stars. 2076 * testsuite/etc/std.in: Updated. 2077 * testsuite/etc/std.pat: Likewise. 2078 20792003-09-16 Sergey Poznyakoff 2080 2081 * src/rcfile.h (struct rc_kwdef.flags): New member 2082 (struct rc_asgn.flags): New member 2083 * src/rcfile.y: Take into account rc_kwdef.flags 2084 when parsing and printing. 2085 * src/rc.c (control_kw): Mark "esmtp-auth" with 2086 KWF_HIDDEN. 2087 * src/gpg.c (gpg_kw): Mark "gpg-passphrase" with 2088 KWF_HIDDEN. 2089 * testsuite/etc/std.pin: Modified to match the new debugging 2090 output style. 2091 20922003-09-09 Wojciech Polak 2093 2094 * src/rc.c (tls_parser): Removed T_SSL_CKCLIENT from 2095 KW_SSL_CERT case. 2096 20972003-09-02 Sergey Poznyakoff 2098 2099 * NEWS: Updated 2100 21012003-08-28 Wojciech Polak 2102 2103 * configure.ac: Added AM_PATH_GPGME. 2104 * m4/gpgme.m4: New file. 2105 * m4/Makefile.am: Added gpgme.m4. 2106 * src/gpg.c: Replaced puts(S) with fputs(S, stderr);. 2107 (gpg_sign, gpg_sign_encrypt): Added gpgme_key_release(key). 2108 21092003-08-28 Sergey Poznyakoff 2110 2111 * src/rcfile.h (error_sync_begin): Changed return type. 2112 * src/rcfile.l: Likewise. 2113 * src/rcfile.y (seclist production): Set yychar. Clear 2114 error state only if not at EOF, otherwise yylex will be 2115 called again and will coredump. 2116 (struct eval_env.traceable): New member. Controls whether 2117 tracing should be enabled for this section. 2118 (asgn_eval): Fixed printing of trigger rules. 2119 21202003-08-27 Wojciech Polak 2121 2122 * configure.ac: Bump to 3.9.93. 2123 Removed isatty from AC_CHECK_FUNCS. 2124 * src/main.c: Added SETVBUF(stderr, NULL, _IOLBF, 0);. 2125 21262003-08-26 Wojciech Polak 2127 2128 * examples/1anubisrc: Updated. 2129 * examples/2anubisrc: Likewise. 2130 * doc/anubis.texi: Likewise. 2131 2132 * elisp/anubis-mode.el: Added tracefile, gpg-sign-encrypt, 2133 and gpg-se. 2134 21352003-08-26 Sergey Poznyakoff 2136 2137 * src/rc.c (open_rcfile): Removed debugging hook. Thanks 2138 Dominique for reporting. 2139 21402003-08-25 Sergey Poznyakoff 2141 2142 * doc/anubis.texi: Updated 2143 21442003-08-24 Wojciech Polak 2145 2146 * testsuite/etc/gpgse.pat: Added new test 2147 (GPG signing and encryption). 2148 * testsuite/etc/gpg.in: Updated. 2149 * testsuite/etc/gpgcrypt.pat: Likewise. 2150 * testsuite/etc/gpgsign.pat: Likewise. 2151 * testsuite/etc/Makefile.am: Added gpgse.pat. 2152 * testsuite/anubis/gpg.exp: Likewise. 2153 2154 * doc/anubis.texi: Updated. Added gpg-sign-encrypt. 2155 21562003-08-24 Sergey Poznyakoff 2157 2158 * configure.ac: Determine signal handler return type. 2159 * src/headers.h (sig_exit,sig_timeout): Fixed protos. 2160 (cleanup_children): New function. 2161 (anubis_free_list_item): New function. 2162 * src/daemon.c (sig_cld): Fixed return type 2163 (loop,stdinout): Call cleanup_children() 2164 * src/exec.c (sig_local): Changed return type. Removed code. 2165 (cleanup_children): New function. 2166 * src/misc.c (_mem_free): Removed 2167 (anubis_free_list_item): New function. 2168 (destroy_string_list): Use anubis_free_list_item(). 2169 * src/quit.c (sig_exit,sig_timeout): Fixed return types. 2170 * src/rc.c (open_rcfile): Prevent the same file from 2171 being read twice (as a system-wide and per-user config). 2172 * src/rcfile.y (_free_mem): Removed 2173 (rc_asgn_destroy,asgn_eval): Use anubis_free_list_item() 2174 21752003-08-24 Wojciech Polak 2176 2177 * src/gpg.c: General fixes and improvements. 2178 21792003-08-22 Wojciech Polak 2180 2181 New configuration file option `tracefile'. 2182 2183 * src/rcfile.y: Use tracefile instead of trace. 2184 * src/rcfile.h (trace): Renamed to `tracefile'. 2185 * src/rc.c (KW_TRACEFILE): New define. 2186 * src/log.c (trace): Renamed to `tracefile'. 2187 (tracefile): Added the support for `tracefile' option. 2188 * src/quit.c (free_mem): Added `options.tracefile'. 2189 * src/headers.h (T_TRACEFILE_SYS, T_TRACEFILE_USR): New defines. 2190 * src/extern.h (options_struct): Added `tracefile'. 2191 21922003-08-21 Wojciech Polak 2193 2194 * src/log.c (info): Removed `slogfile'. 2195 * src/errs.c (anubis_error): Likewise. 2196 * src/quit.c (free_mem): Likewise. 2197 * src/rc.c: Moved `logfile' to client_kw. 2198 * src/extern.h (options_struct): Removed `slogfile'. 2199 2200 * src/errs.c (anubis_error, socks_error): Changed prototype. 2201 * src/headers.h: Likewise. 2202 22032003-08-21 Sergey Poznyakoff 2204 2205 * src/exec.c (exec_argv): Extra argument: full path 2206 to the program to be executed. 2207 * src/headers.h: Likewise. 2208 * src/message.c: Updated calls to exec_argv 2209 * THANKS: Added Dominique Bordereaux. 2210 * src/env.c (get_options): Fixed definition of 2211 'c' option (needed double-colon). 2212 22132003-08-21 Wojciech Polak 2214 2215 * src/gpg.c (gpg_sign_encrypt): New function. 2216 Added support for `gpg-sign-encrypt' action. 2217 (gpg_encrypt_to_users): Renamed to `gpg_encrypt'. 2218 2219 * configure.ac: Bump to 3.9.92. 2220 * src/main.c: Likewise. 2221 22222003-08-17 Sergey Poznyakoff 2223 2224 * doc/anubis.texi: Document the proper way of escaping 2225 the & character in modify statements. 2226 * src/headers.h (T_SMTP_ERROR_CODES): New define. 2227 * src/daemon.c (stdinout): Set T_SMTP_ERROR_CODES bit. 2228 * src/errs.c (anubis_error): Honor T_SMTP_ERROR_CODES bit. 2229 * src/log.c (mprintf): Output to stderr. 2230 * src/main.c (anubis): Removed resetting termlevel to SILENT 2231 in --stdio mode. 2232 * src/message.c (expand_ampersand): Bugfix. 2233 * testsuite/etc/del.in: Fixed emacs mode indicator 2234 * testsuite/etc/mod-header.in: Fixed escaping the & character. 2235 * testsuite/etc/mult.pat: Minor change in wording. 2236 * testsuite/etc/add.in: Use new syntax (avoid using =) 2237 * testsuite/etc/empty.in: Likewise. 2238 * testsuite/etc/entire.in: Likewise. 2239 * testsuite/etc/gpg.in: Likewise. 2240 * testsuite/etc/mod-body.in: Likewise. 2241 * testsuite/etc/remail.in: Likewise. 2242 * testsuite/etc/simple.in: Likewise. 2243 * testsuite/etc/tlsoneway.in: Likewise. 2244 * testsuite/etc/trigger.in: Likewise. 2245 22462003-08-15 Wojciech Polak 2247 2248 * src/log.c: A few minor changes. 2249 * src/headers.h (mprintf, info): Changed prototypes. 2250 2251 * testsuite/etc/mod-header.in: Added new subtest (&). 2252 * testsuite/etc/mod-header.pat: Likewise. 2253 22542003-08-14 Sergey Poznyakoff 2255 2256 Added tracing the execution of config file sections. 2257 2258 * src/log.c (trace): New function. 2259 * src/message.c (expand_ampersand): Bugfix: missed terminating 2260 zero. 2261 * src/rc.c (open_rcfile): Destroy the previous parse tree only 2262 if we really are going to re-read the system config. 2263 (rule-priority, control-priority): Moved from init_kw to 2264 init_supervisor_k to allow for redefining their values. 2265 * src/rcfile.h (trace): New function. 2266 (struct rc_loc): New data type. 2267 (struct rc_section,rc_node,rc_stmt): Added RC_LOC member 2268 for execution tracing. 2269 * src/rcfile.y: Support for RC_LOC. 2270 22712003-08-09 Sergey Poznyakoff 2272 2273 * elisp/anubis-mode.el: Compatibility fix. 2274 * README: Updated 2275 2276 * testsuite/etc/add.in: Reformatted using anubis-mode. 2277 * testsuite/etc/del.in: Likewise. 2278 * testsuite/etc/empty.in: Likewise. 2279 * testsuite/etc/entire.in: Likewise. 2280 * testsuite/etc/gpg.in: Likewise. 2281 * testsuite/etc/mod-body.in: Likewise. 2282 * testsuite/etc/mod-header.in: Likewise. 2283 * testsuite/etc/remail.in: Likewise. 2284 * testsuite/etc/simple.in: Likewise. 2285 * testsuite/etc/std.in: Likewise. 2286 * testsuite/etc/tlsoneway.in: Likewise. 2287 * testsuite/etc/trigger.in: Likewise. 2288 22892003-08-08 Sergey Poznyakoff 2290 2291 * elisp/anubis-mode.el (anubis-keyword-dict): Added font-lock 2292 support. 2293 (anubis-check-syntax): New command. 2294 * src/rcfile.y (rc_set_debug_level): Default debugging level is 0. 2295 * testsuite/etc/std.pin: Provide an explicit argument to 2296 --check-config 2297 * doc/anubis.texi (Invoking Anubis): Improved the description of 2298 --check-config option. 2299 * README: Updated 2300 23012003-08-06 Sergey Poznyakoff 2302 2303 * elisp/Makefile.am: Bugfix, the el file was not compiled 2304 * elisp/anubis-mode.el (anubis-mode-map): Changed '?' mapping 2305 to '\e?'. 2306 * elisp/.cvsignore: Updated 2307 23082003-08-05 Sergey Poznyakoff 2309 2310 * Makefile.am (SUBDIRS): Added elisp 2311 * configure.ac: Detect the emacs lisp directory. 2312 * elisp: New directory 2313 * elisp/Makefile.am: New file 2314 * elisp/anubis-mode.el: New file 2315 * README: Updated 2316 * TODO: Updated 2317 * NEWS: Updated 2318 23192003-07-30 Sergey Poznyakoff 2320 2321 * doc/anubis.texi (Remailers): Document the ways of 2322 GPG signing/encrypting the messages being remailed. 2323 23242003-07-26 Sergey Poznyakoff 2325 2326 * src/tunnel.c (get_boundary): Bugfix. Operate on the unaltered 2327 boundary line. 2328 23292003-07-21 Sergey Poznyakoff 2330 2331 * testsuite/etc/add.in (body-append): Use TOP_SRCDIR. 2332 23332003-07-21 Wojciech Polak 2334 2335 * testsuite/etc/add-body-file.pat: New test. 2336 * testsuite/etc/add.in: Added rule for add-body-file.pat. 2337 * testsuite/etc/Makefile.am: Updated. 2338 * testsuite/data/append.txt: New auxiliary file. 2339 * testsuite/data/Makefile.am: Updated. 2340 * testsuite/anubis/base.exp: Added add-body-file.pat. 2341 23422003-07-21 Wojciech Polak 2343 2344 * src/files.c (message_append_signature_file): Bugfix. 2345 * src/headers.h (message_append_signature_file): Changed prototype. 2346 * src/rc.c: Test YES-OR-NO arguments with strcasecmp(). 2347 * src/gpg.c: Likewise. 2348 2349 * configure.ac: Bump to 3.9.91. 2350 * src/main.c: Likewise. 2351 23522003-07-20 Wojciech Polak 2353 2354 * NEWS: Updated. 2355 * TODO: Likewise. 2356 * src/rc.c: Moved KW_DROP_UNKNOWN_USER to init_supervisor_kw. 2357 (KW_ALLOW_NOTPRIVILEGED): Renamed to KW_USER_NOTPRIVILEGED. 2358 * src/list.h: Clean up with prototypes. 2359 * src/gpg.c: Likewise. 2360 23612003-07-20 Sergey Poznyakoff 2362 2363 * NEWS: Updated 2364 * configure.ac: Check if u_char is defined. 2365 * src/env.c: Force the argument to ctype calls to be unsigned char. 2366 * src/exec.c: Likewise. 2367 * src/map.c: Likewise. 2368 * src/misc.c: Likewise. 2369 * src/proxy.c: Likewise. 2370 * src/rcfile.l: Likewise. 2371 * src/tunnel.c: Likewise. 2372 * testsuite/mta.c: Likewise. 2373 23742003-07-18 Wojciech Polak 2375 2376 * doc/anubis.texi: Updated. 2377 * examples/2anubisrc: Likewise. 2378 * examples/anubisrc.guile: Likewise. 2379 23802003-07-18 Sergey Poznyakoff 2381 2382 * src/message.c (message_modify_headers): Expand ampersands 2383 to the old header value. 2384 * src/rc.c: Added support for `control-priority' keyword. 2385 * src/rcfile.l: Added `trigger' keyword. 2386 2387 * TODO: Updated 2388 * doc/anubis.texi: Updated 2389 * examples/1anubisrc: Changed `rule' to `trigger'. 2390 * examples/anubisrc.guile: Likewise. 2391 * testsuite/etc/gpg.in: Likewise. 2392 * testsuite/etc/remail.in: Likewise. 2393 * testsuite/etc/std.in: Likewise. 2394 * testsuite/etc/trigger.in: Likewise. 2395 23962003-07-15 Sergey Poznyakoff 2397 2398 * src/rc.c (anubis_add_section): Initialize prio member. 2399 (open_rcfile): For CF_INIT and CF_SUPERVISOR: initialize 2400 parse_tree; 2401 (control_parser): Implementes user-only and system-only keywords. 2402 * src/rcfile.h (enum section_prio): New priorities. 2403 (rc_section_list_destroy,rc_section_destroy): Changed proto. 2404 * src/rcfile.y: Updated to new signatures of 2405 rc_section_list_destroy,rc_section_destroy 2406 (rc_section_link): Use new priorities. 2407 24082003-07-15 Wojciech Polak 2409 2410 * src/main.c: Bump to 3.9.90. 2411 * src/mem.c: Minor changes. 2412 * src/mem.h: Likewise. 2413 * doc/anubis.texi: Updated. 2414 24152003-07-15 Sergey Poznyakoff 2416 2417 * TODO: Updated 2418 * examples/1anubisrc: Updated to new syntax 2419 * examples/2anubisrc: Likewise. 2420 * src/rc.c (anubis_section_set_prio): New function. 2421 (open_rcfile): Do not destroy the saved tree before processing the 2422 new file. 2423 (control_parser): Handle new keyword rule-priority 2424 (rule_section_init): Initialize prio member 2425 (rcfile_process_section): Process all sections whose names match, 2426 not just the first of them. 2427 * src/rcfile.h (enum section_prio): New datatype 2428 (struct rc_secdef.prio): New member 2429 * src/rcfile.y (begin): Signal error if the section has already 2430 been declared. 2431 (rc_section_link): Honor section priority when linking. 2432 * src/regex.c (anubis_regex_free): May be called with NULL 2433 argument. 2434 24352003-07-13 Sergey Poznyakoff 2436 2437 * src/rcfile.h (lex_clear_state,error_sync_begin): New functions 2438 * src/rcfile.l (lex_clear_state,error_sync_begin): New functions 2439 Complain about invalid characters. 2440 * src/rcfile.y: Continue parsing after encountering errors. 2441 2442 * doc/anubis.texi: Updated 2443 * doc/Makefile.am: Added DISTCLEANFILES 2444 24452003-07-10 Wojciech Polak 2446 2447 * doc/anubis.texi: Updated 2448 24492003-07-10 Sergey Poznyakoff 2450 2451 * doc/anubis.texi: Updated 2452 24532003-07-06 Sergey Poznyakoff 2454 2455 * src/headers.h (SYNTAX): New error displaying method, 2456 used for syntax errors. 2457 * src/errs.c (anubis_error): Do not prefix the message 2458 with '>>' for SYNTAX method. 2459 * src/rc.c: Renamed ssl keywords. 2460 New command "body-clear". 2461 * src/rcfile.y: Use SYNTAX method for error messages. 2462 * testsuite/etc/tlsoneway.in: Use new ssl keywords. 2463 24642003-07-01 Sergey Poznyakoff 2465 2466 * configure.ac: Define M4_DEFS 2467 (--with-gpgme,--with-pcre,--with-pam,--with-tcp-wrappers): Bugfix: 2468 correctly handle both forms (with -- without). 2469 * src/Makefile.am: Add @LIBGNUTLS_LIBS@ and @LIBGNUTLS_CFLAGS@ 2470 * testsuite/Makefile.am: Likewise. 2471 * src/headers.h: Fixed heuristics of defining HAVE_GNUTLS. 2472 * src/rcfile.y (parse_error): New function. Used instead of 2473 yyerror() wherever appropriate. 2474 * src/tls.c: Provide typecasts for gnutls_transport_ptr data. 2475 * testsuite/mta.c: Likewise. 2476 * testsuite/anubis/base.exp (std.pat): Provide full path. 2477 * testsuite/etc/std.pat: Removed. 2478 * testsuite/etc/std.pin: New file. 2479 * testsuite/etc/Makefile.am: Remove std.pat. Add std.pin 2480 * testsuite/etc/.cvsignore: Add std.pat. 2481 * testsuite/etc/std.in: Conditionally include parts of the 2482 file depending on the compilation settings. 2483 * testsuite/lib/anubis.exp (anubis_pat): Allow for full pathname 2484 of the pat-file. 2485 * doc/anubis.texi: Minor change 2486 24872003-07-01 Sergey Poznyakoff 2488 2489 * src/rc.c: Forgotten to commit 2490 24912003-06-30 Sergey Poznyakoff 2492 2493 * configure.ac: Use AM_PATH_LIBGNUTLS 2494 * m4/libgnutls.m4: New file. 2495 * m4/Makefile.am: Added libgnutls.m4 2496 * src/headers.h (anubis_regex_free): Changed prototype. 2497 * src/map.c (translate_section): Removed. 2498 * src/rc.c (anubis_add_section): Initialize allow_prog member 2499 * src/rcfile.h (struct rc_secdef.allow_prog): New 2500 member. 2501 * src/rcfile.y: Improved diagnostics. 2502 * src/regex.c (ASSERT_RE): New macro 2503 (anubis_regex_match,anubis_regex_replace) 2504 (anubis_regex_refcnt,anubis_regex_compile): Use ASSERT_RE 2505 (anubis_regex_free): Changed proto 2506 * testsuite/etc/std.in: Updated 2507 * testsuite/etc/std.pat: Updated 2508 25092003-06-29 Wojciech Polak 2510 2511 * src/daemon.c (loop): Added support for DROP-UNKNOWN-USER. 2512 * src/rc.c (control_parser): Likewise. 2513 * src/headers.h: Added T_DROP_UNKNOWN_USER. 2514 * TODO: Updated. 2515 25162003-06-29 Sergey Poznyakoff 2517 2518 * src/rcfile.y: Force R_EXACT on r_msgpart production. 2519 (rc_node_print,rc_inst_print): Use anubis_regex_print. 2520 * src/headers.h: Fixed two typos. 2521 (anubis_regex_print): New function. 2522 * src/regex.c (anubis_regex_print): New function. 2523 * testsuite/etc/std.pat: Updated 2524 25252003-06-29 Sergey Poznyakoff 2526 2527 * src/headers.h: Altered regexp modifiers. 2528 (re_set_type,re_typeof,re_set_flag,re_clear_flag): New macros 2529 (message_remove_headers,message_modify_headers): Changed 2530 declarations. 2531 * src/message.c (message_remove_headers) 2532 (message_modify_headers): Changed declarations. 2533 * src/rcfile.h (struct rc_inst.type): Changed type 2534 * src/rcfile.l: New keyword "regex" 2535 * src/rcfile.y: Lots of changes to allow for more 2536 flexible handling of regular expressions. Improved 2537 diagnostics. 2538 * src/regex.c: New pattern matching type R_EXACT. 2539 2540 * testsuite/etc/del.in: Use new syntax. 2541 * testsuite/etc/mod-body.in: Likewise. 2542 * testsuite/etc/mod-header.in: Likewise. 2543 25442003-06-27 Sergey Poznyakoff 2545 2546 * src/headers.h (message_modify_body): Added prototype. 2547 * src/mem.h (xfree,xfree_pptr): Made safer. 2548 * src/list.c: Standartize usage of xfree() and xfree_pptr(). 2549 * src/message.c: Likewise. 2550 * src/rcfile.y: Likewise. 2551 * src/regex.c: Likewise. 2552 * src/tunnel.c: Likewise. 2553 25542003-06-27 Sergey Poznyakoff 2555 2556 * src/daemon.c: Get rid of the unneeded locals 2557 * src/headers.h (smtp_session): Changed proto. 2558 * src/rcfile.l: Allow the use of '\' to escape newlines 2559 * src/tunnel.c (process_command,transfer_command): Rewritten 2560 (rest of functions): Get rid of the unneded locals. 2561 2562 * TODO: Updated 2563 * doc/anubis.texi: Updated. 2564 25652003-06-22 Sergey Poznyakoff 2566 2567 * src/message.c (message_init): Create header and command 2568 lists. 2569 * src/tunnel.c: Fixed memory leaks. 2570 25712003-06-21 Sergey Poznyakoff 2572 2573 * src/daemon.c (_stdio_read): Minor fix. 2574 (set_nonblocking): Not needed anymore. 2575 (stdinout): Removed calls to set_nonbloking. 2576 * src/net.c (struct io_data): Use separate buffers for client 2577 and server. 2578 (mread): Likewise. 2579 25802003-06-20 Sergey Poznyakoff 2581 2582 * src/message.c (message_modify_body): Allow the NULL value 2583 (message_modify_headers): Allow regexp keys 2584 * src/rcfile.y: Likewise 2585 * src/regex.c (anubis_regex_replace): Replace all occurrences 2586 in the string. 2587 * testsuite/mta.c: Bugfix 2588 * testsuite/etc/mod-body.in: Test unenclosed patterns. 2589 * testsuite/etc/mod-header.in: Test new modify features. 2590 * testsuite/etc/mod-header.pat: Likewise. 2591 25922003-06-19 Wojciech Polak 2593 2594 * testsuite/etc/mod-header.pat: New file. 2595 Testing the modify header mechanism. 2596 * testsuite/etc/mod-header.in: New file. 2597 * testsuite/etc/Makefile.am: Updated. 2598 * testsuite/anubis/base.exp: Added mod-header.pat. 2599 * TODO: Updated. 2600 26012003-06-19 Sergey Poznyakoff 2602 2603 * TODO: Updated 2604 * configure.ac: Add AC_PROG_YACC, AM_PROG_LEX 2605 * src/guile.c: use non-destructive eval 2606 * src/headers.h (anubis_regex_replace): New function 2607 * src/regex.c: Likewise. 2608 * src/message.c (message_modify_body): New function. 2609 Implements "modify body [key] text" statement. 2610 * src/rcfile.y: Minor cleanup 2611 (inst_eval): Call message_modify_body(). 2612 * testsuite/anubis/base.exp: Run mod-body test 2613 * testsuite/anubis/gpg.exp: Add final newline 2614 * testsuite/etc/mod-body.pat: New file 2615 * testsuite/etc/mod-body.in: New file 2616 * testsuite/etc/Makefile.am: Added new files 2617 26182003-06-17 Wojciech Polak 2619 2620 * doc/anubis.texi: Updated. Reorganized a bit. 2621 26222003-06-11 Wojciech Polak 2623 2624 * configure.ac: Bump to 3.9.90 (pretest version). 2625 * NEWS: Added entry for 4.0. 2626 * Makefile.am (AUTOMAKE_OPTIONS): Added readme-alpha. 2627 * README-alpha: New file. 2628 26292003-06-07 Wojciech Polak 2630 2631 * examples/pam/anubis.allow: Added default unprivileged 2632 user `nobody'. 2633 * po/POTFILES.in: Updated. 2634 * README: Likewise. 2635 26362003-06-07 Wojciech Polak 2637 2638 * src/Makefile.am: Bugfix. Added missing -I$(top_srcdir)/intl. 2639 26402003-06-07 Wojciech Polak 2641 2642 * src/gettext.h: New file. 2643 * src/headers.h: Include "gettext.h" instead of <libintl.h>. 2644 * src/Makefile.am (EXTRA_DIST): Added gettext.h. 2645 26462003-06-06 Wojciech Polak 2647 2648 * src/obstack.c: Provide newer version. 2649 * src/obstack.h: Likewise. 2650 * src/getopt1.c: Likewise. 2651 * src/getopt.c: Likewise. 2652 * src/getopt.h: Likewise. 2653 26542003-06-06 Wojciech Polak 2655 2656 * src/errs.c (anubis_error): Removed unneeded HAVE_VSNPRINTF. 2657 * src/log.c (mprintf): Likewise. 2658 * testsuite/mta.c: Clean up with prototypes. 2659 26602003-06-02 Sergey Poznyakoff 2661 2662 * src/net.c (_debug_printer): Avoid splitting debug transcript 2663 lines. 2664 26652003-05-30 Wojciech Polak 2666 2667 * configure.ac: Added new option --with-unprivileged-user. 2668 Use the AC_HELP_STRING where appropriate. 2669 * src/daemon.c (set_unprivileged_user): Support the new 2670 DEFAULT_UNPRIVILEGED_USER. 2671 26722003-05-29 Wojciech Polak 2673 2674 * configure.ac: Set AM_GNU_GETTEXT_VERSION(0.12.1). 2675 * m4/Makefile.am: Added nls.m4 and po.m4. 2676 * po/Makevars: Added MSGID_BUGS_ADDRESS. 2677 * Makefile.am: Bumped to GNU Automake 1.7.5. 2678 26792003-05-28 Sergey Poznyakoff 2680 2681 * src/tls.c (start_ssl_server): Bugfix 2682 * testsuite/etc/tlsoneway.in: Use TOP_SRCDIR to access 2683 PEM file. 2684 26852003-05-27 Sergey Poznyakoff 2686 2687 * TODO: Updated 2688 * src/auth.c: Removed superfluous return 2689 * src/log.c: Removed unneeded HAVE_VSNPRINTF 2690 * src/tls.c: Provide push/pull functions to work with local 2691 mailers. 2692 * src/tunnel.c (transfer_command): TLS can be used with 2693 local mailers. 2694 * testsuite/mta.c: Added TLS support (only with GnuTLS). 2695 2696 * testsuite/etc/tlsoneway.pat: New file. 2697 * testsuite/etc/tlsoneway.in: New file. 2698 * testsuite/etc/Makefile.am: Added new files. 2699 * testsuite/anubis/tls.exp: New file. 2700 * testsuite/anubis/DISTFILES: Added new files. 2701 2702 * testsuite/data/anubis.pem: New file 2703 * testsuite/data/Makefile.am: Added new file. 2704 27052003-05-11 Wojciech Polak 2706 2707 * src/help.c (print_usage): Added missing command line options. 2708 * scripts/redhat.init: Small fix. 2709 27102003-05-10 Sergey Poznyakoff 2711 2712 * src/tls.c: More diagnostics. 2713 * src/tunnel.c (process_command): Bugfix. Inform the client 2714 that we are willing to handle TLS. 2715 27162003-05-10 Sergey Poznyakoff 2717 2718 Implemented iterators instead of non-reentrant 2719 list_first/list_next calls. 2720 2721 * src/list.h (list_first,list_next,list_remove_current) 2722 (list_append_list): Removed. 2723 (ITERATOR): New datatype. 2724 (iterator_create,iterator_destroy,iterator_current) 2725 (iterator_first,iterator_next): New functions. 2726 * src/list.c: Likewise. 2727 2728 * src/extern.h: Use iterator functions. 2729 * src/headers.h: Likewise. 2730 * src/daemon.c: Likewise. 2731 * src/gpg.c: Likewise. 2732 * src/guile.c: Likewise. 2733 2734 * src/map.c: Likewise. 2735 * src/message.c: Likewise. 2736 * src/misc.c: Likewise. 2737 * src/quit.c: Likewise. 2738 * src/rc.c: Likewise. 2739 * src/rcfile.h: Likewise. 2740 * src/rcfile.y: Likewise. 2741 * src/tunnel.c: Likewise. 2742 2743 * src/tls.c: More diagnostics. 2744 27452003-05-08 Wojciech Polak 2746 2747 * configure.ac: Fixed OpenSSL compilation (broken with_gnutls=no). 2748 * src/ssl.c (start_ssl_server): Added missing SESS *sd. 2749 (_ssl_strerror): Changed return type to static const char *. 2750 27512003-05-02 Wojciech Polak 2752 2753 * headers.h: Clean up with prototypes. Moved some stuff 2754 to extern.h and vice versa. 2755 * extern.h: Likewise. 2756 * list.h: Clean up with prototypes. 2757 * rcfile.h: Likewise. 2758 * rcfile.l: Likewise. 2759 * rcfile.y: Likewise. 2760 * rc.c: Likewise. 2761 * regex.c: Likewise 2762 * main.c: Likewise. 2763 * map.c: Likewise. 2764 * net.c: Likewise. 2765 * guile.c: Likewise. 2766 (list_to_args): Put parentheses around assignment. 2767 * tunnel.c: (write_header_line): Put parentheses 2768 around assignment. 2769 * misc.c (insert): Convert to a static function. 2770 * env.c (get_options): Added missing option `c' 2771 to getopt_long(). 2772 27732003-04-26 Wojciech Polak 2774 2775 * doc/anubis.texi: Changed @dircategory to Email. 2776 * TODO: Updated. 2777 27782003-04-08 Wojciech Polak 2779 2780 * doc/anubis.texi: Clean up. Removed some old stuff. 2781 27822003-04-06 Sergey Poznyakoff 2783 2784 * src/tunnel.c: Use new encryption wrappers. 2785 * src/daemon.c: Likewise. 2786 * src/net.c: Likewise. 2787 * src/errs.c (socket_error): Changed declaration. 2788 * src/extern.h (secure_struct): Removed implementation-dependent 2789 members. 2790 * src/headers.h (T_SSL_CLIENT,T_SSL_SERVER): Not needed anymore. 2791 (net_io_t,net_close_t,strerror_t): New data types. 2792 (socket_error): Changed proto. 2793 (net_set_io,net_close): New function. 2794 * src/main.c (main): Call init_ssl_libs. 2795 2796 * src/proxy.c: Reflect changes to the declaration of 2797 socket_error(). 2798 * src/quit.c (quit): Removed implementation-dependent calls. 2799 * src/ssl.c: Rewritten to make more modular. 2800 * src/tls.c: Likewise. 2801 28022003-03-10 Wojciech Polak 2803 2804 * testsuite/etc/trigger.pat: New file. Testing 2805 the Trigger mechanism. 2806 * testsuite/etc/trigger.in: New file. 2807 * testsuite/etc/Makefile.am: Updated. 2808 * testsuite/anubis/base.exp: Added trigger.pat. 2809 * TODO: Updated. 2810 28112003-03-07 Wojciech Polak 2812 2813 * src/quit.c (free_mem): Removed unused variables. 2814 * src/main.c (struct rm_struct): Removed. 2815 * src/extern.h: Likewise. 2816 2817 * src/esmtp.c: Fixed preprocessor directives. 2818 * src/proxy.c: Likewise. 2819 * src/exec.c: Likewise. 2820 * src/net.c: Likewise. 2821 * src/ssl.c: Likewise. 2822 28232003-03-07 Sergey Poznyakoff 2824 2825 * po/POTFILES.in: Added missing files. 2826 * src/map.c (translate_parser): Synchronized with the 2827 yesterday's changes. 2828 28292003-03-07 Sergey Poznyakoff 2830 2831 * TODO: Updated 2832 * examples/anubis.scm: Major changes. 2833 * guile/rot-13.scm (rot-13): A universal function for rotating 2834 the message body, its subject, or both. 2835 * src/gpg.c: Removed obsolete kewords. 2836 * src/rc.c: Likewise. 2837 * testsuite/anubis/guile.exp: Added rot-13 test 2838 * testsuite/etc/rot-13.pat: New file. 2839 * testsuite/etc/Makefile.am: Added rot-13.pat 2840 * testsuite/etc/remail.in: Modified to support rot-13 test as 2841 well. 2842 * testsuite/etc/remail.pat: Fixed remailer header. 2843 28442003-03-06 Sergey Poznyakoff 2845 2846 * guile: New subdirectory 2847 * guile/Makefile.am: New file. 2848 * guile/remailer.scm: New file. 2849 * guile/rot-13.scm: Moved from ... 2850 * examples/rot-13.scm: ... here 2851 * examples/Makefile.am: Updated. 2852 * Makefile.am: Added new subdir (guile) 2853 * configure.ac: Likewise. 2854 Minor fix for handling --with-gnutls and --with-openssl options. 2855 * examples/anubis.scm: Added extra arguments to interface 2856 functions. 2857 * src/daemon.c: Use ngettext wherever appropriate. 2858 * src/ssl.c: Likewise. 2859 * src/tls.c: Likewise. 2860 2861 * src/exec.c (exec_argv): new function. 2862 * src/guile.c (guile_process_proc): Pass any number of additional 2863 parameters to the procedure. 2864 (guile_parser): Reflect changes to the prototype. 2865 2866 * src/gpg.c (gpg_parser): Reflect changes to the prototype. 2867 * src/headers.h (message_external_proc): Changed proto 2868 (exec_argv): New function. 2869 * src/list.c (list_iterate): Bugfix 2870 (list_item): New function. 2871 * src/list.h: (list_item): New function. 2872 * src/message.c (message_external_proc): Changed proto 2873 * src/rc.c (control_parser,tls_parser,rule_parser): Reflect 2874 changes to the prototype. 2875 * src/rcfile.h (struct rc_asgn): Changed type of 'rhs' 2876 (rc_kw_parser_t): Changed third argument type. 2877 * src/rcfile.l: Lots of changes to make LIT state more 2878 intellectual. 2879 * src/rcfile.y (asgn_stmt) production modified to collect 2880 whitespace-separated arguments at the right of the keyword, 2881 instead of just one line. 2882 2883 * testsuite/data/Makefile.am: Fixed creation gpg keyrings. 2884 * testsuite/etc/remail.pat: New file 2885 * testsuite/etc/remail.in: New file 2886 * testsuite/etc/Makefile.am: Added new files 2887 * testsuite/lib/anubis.exp (anubis_expect_list,anubis_test): Be 2888 more stringent in testing. 2889 * testsuite/etc/gpgcrypt.pat: Modified to reflect recent changes 2890 to anubis.exp. 2891 * testsuite/etc/gpgsign.pat: Likewise. 2892 * testsuite/anubis/guile.exp: New file 2893 * testsuite/anubis/DISTFILES: Updated 2894 28952003-03-03 Wojciech Polak 2896 2897 * examples/1anubisrc: Updated to the new syntax. 2898 * testsuite/etc/std.in: Updated. 2899 * testsuite/etc/std.pat: Likewise. 2900 29012003-03-03 Sergey Poznyakoff 2902 2903 * TODO: Updated 2904 * src/headers.h (rcfile_call_section): New function 2905 * src/rc.c: Likewise. 2906 * src/rcfile.h (inst_stop, inst_call): New instruction types. 2907 (rc_call_section): New function. 2908 * src/rcfile.y: Allow regexp options to appear on both sides of 2909 the equal sign. 2910 Implemented "call" and "stop" statements. 2911 * testsuite/etc/std.in: Test for regexp option on the left from 2912 the '='. 2913 29142003-03-03 Wojciech Polak 2915 2916 * src/gpg.c (gpg_free): New function. Free unused memory. 2917 * src/headers.h (gpg_free): Added prototype. 2918 * src/quit.c (free_mem): Call gpg_free(). 2919 29202003-02-28 Wojciech Polak 2921 2922 * configure.ac: Bumped to 3.9.0 (unreleased, internal version). 2923 * src/main.h: Moved all the stuff to main.c. Removed main.h. 2924 * src/files.c (message_append_signature_file): Fixed prefix. 2925 * src/main.c: Removed unused ropt variable. 2926 * src/extern.h: Likewise. 2927 * src/list.h: Added missing copyright. 2928 * src/errs.c: Fixed preprocessor directives. 2929 * src/log.c: Likewise. 2930 * src/headers.h (message_append_text_file): Added prototype. 2931 (message_append_signature_file): Likewise. 2932 * src/Makefile.am: Removed main.h. 2933 29342003-02-28 Sergey Poznyakoff 2935 2936 User-visible changes: 2937 New syntactical entities: 2938 2939 add header[KEY] VALUE 2940 add body VALUE 2941 remove header[KEY] 2942 modify header[KEY] [NEW-KEY] VALUE 2943 2944 ("header" may be omitted). KEY is (currently) the header name. It 2945 may be a regular expression matching a set of header names 2946 for "remove". [NEW-KEY] in "modify" statement is optional. 2947 2948 Added support for "here document" (see testsuite/etc/add.in 2949 for a sample). 2950 2951 Allow to select signer id with gpg-sign. 2952 2953 * configure.ac: Use -ggdb instead of -g if gcc is being used. 2954 * src/message.c: New file. 2955 * src/Makefile.am: Added message.c 2956 * src/extern.h (message): Removed. 2957 * src/main.h: Likewise. 2958 * src/headers.h (T_BOUNDARY): Removed macro. 2959 (message_modify_headers): Changed declaration 2960 (message_add_body,message_init,message_free): New functions. 2961 * src/gpg.c (struct gpg_struct): New member "inited". 2962 (gpg_sign): Allow to select the signers IDs 2963 (gpg_parser): Call gpgme_init whenever necessary. 2964 * src/misc.c: (header_assoc): Remove any leading whitespace from 2965 the header field value. 2966 * src/quit.c (free_mem): Removed references to message. 2967 * src/rc.c (rule_parser et al.): Removed "add", "remove" and 2968 "modify". These are reserved keywords and are handled by the 2969 main parser code. 2970 * src/rcfile.h (RC_INST,enum rc_inst_opcode): New datatypes. 2971 (struct rc_stmt): New member v.inst. 2972 * src/rcfile.l: Added new keywords: BODY, ADD, REMOVE, MODIFY, 2973 STOP, CALL. The latter two are reserved for future use. 2974 Removed support for unquoted regular expressions. 2975 Do not try to interpret backslashes in front of numbers 2976 (regexp backreferences). 2977 Added shell-like "here document" construction. 2978 * src/rcfile.y: Support for ADD, REMOVE, and MODIFY instructions. 2979 Removed support for unquoted regular expressions. 2980 * src/tunnel.c: Removed global variable "message". 2981 Moved all message-specific functions to message.c 2982 * testsuite/anubis/base.exp: Added new test (append to the body). 2983 * testsuite/anubis/gpg.exp: Added new test (GPG signing) 2984 * testsuite/etc/add-body.pat: New file. 2985 * testsuite/etc/gpgsign.pat: New file. 2986 * testsuite/etc/add.in: New file. 2987 * testsuite/etc/Makefile.am: Added add-body.pat, gpgsign.pat and 2988 add.in. 2989 * testsuite/etc/del.in: Use the new syntax. 2990 * testsuite/etc/simple.in: Likewise 2991 * testsuite/etc/std.in: Likewise. 2992 * testsuite/etc/std.pat: Likewise. 2993 * testsuite/etc/gpg.in: Likewise. Added new rule 2994 * testsuite/lib/anubis.exp (anubis_pat): Allow use of -re and 2995 -- prefixes within the :PATTERN block 2996 2997 * TODO: Updated 2998 29992003-02-26 Sergey Poznyakoff 3000 3001 Changed the message processing algorithm to process a 3002 message as a whole. The rcfile grammar is changed 3003 accordingly. The previous sources (with linie-by-line 3004 message processing) are tagged 'ver-3-with-per-line-proc'. 3005 TODO: remailer support. 3006 3007 * src/list.c: New files. 3008 * src/list.h: New files. 3009 * src/Makefile.am: Added new files 3010 * src/extern.h (struct line, struct message_struct) 3011 (struct gpg_struct): Removed. 3012 (struct session_struct): Removed unused members. 3013 (gpg, mopt): Removed 3014 * src/headers.h (BODY,X_ANUBIS_RULE_HEADER): New define. 3015 Removed M_.* defines 3016 (ASSOC, MESSAGE): New aggregate types. 3017 (new_element,destroy_list): Removed. 3018 (rcfile_process_cond): Removed. 3019 (destroy_assoc_list, destroy_string_list): New functions. 3020 (rcfile_process_section): Changed declaration. 3021 * src/main.h (gpg, mopt): Removed. 3022 * src/map.c (parse_transmap): Updated call to 3023 rcfile_process_section. 3024 (translate_parser): Changed declaration 3025 * src/files.c (check_all_files): Removed. 3026 (message_append_text_file) 3027 (message_append_signature_file): New functions. 3028 * src/gpg.c (gpg_encrypt_to_remailer, check_gpg): Removed. 3029 (gpg_proc): New function. 3030 (gpg_parser): Rewritten. 3031 * src/guile.c (guile_rewrite_line): Temporarly removed. 3032 (guile_to_anubis,anubis_to_guile): Rewritten. 3033 (guile_process_proc): Rewritten. 3034 (guile_process_list,guile_postprocess_list) 3035 (guile_postprocess_list,guile_proclist_empty): Removed. 3036 (guile_parser): Rewritten. 3037 * src/misc.c (new_element): Removed. 3038 (destroy_string_list, destroy_assoc_list): New functions. 3039 (header_assoc, assoc_to_header): New functions. 3040 * src/quit.c (free_mem): Updated. 3041 * src/rc.c (control_parser,tls_parser,rule_parser): Rewritten. 3042 (all_parser): Removed. 3043 (rule_section_init,rc_system_init): Removed ALL section. 3044 (rcfile_process_cond): Removed. 3045 (rcfile_process_section): Changed declaration. 3046 * src/rcfile.h (RC_EXPR): New data type. 3047 (enum rc_node_type): Replaced rc_node_re with rc_node_expr. 3048 (struct rc_node): Likewise. 3049 (struct rc_expr): New data type. 3050 (struct rc_cond): Removed method member. 3051 (rc_kw_parser_t): Changed declaration. 3052 (rc_run_section): Likewise. 3053 * src/rcfile.l: Added "NOT" token. 3054 * src/rcfile.y: Grammar rewritten. The support for old compatibility 3055 syntax (if header =^Subject) has been removed. The new syntax 3056 is 3057 if header[Subject] "regexp" 3058 Multiple conditions are allowed: 3059 3060 if header[Subject] "Re: .*" and body ".*found.*" 3061 * src/tunnel.c: Rewritten. 3062 3063 * testsuite/etc/gpg.in: Updated to new syntax. 3064 * testsuite/etc/std.in: Likewise. 3065 * testsuite/etc/simple.in: Likewise. 3066 * testsuite/etc/std.pat: Likewise. 3067 30682003-02-20 Wojciech Polak 3069 3070 * configure.ac: Removed unused variables. 3071 30722003-02-20 Sergey Poznyakoff 3073 3074 * testsuite/Makefile.am: Removed erroneous distclean-local 3075 * testsuite/data/Makefile.am: Fixed rules for generating 3076 *.gpg files. 3077 * testsuite/data/pubring.asc: Updated 3078 * testsuite/data/secring.asc: New file 3079 30802003-02-20 Sergey Poznyakoff 3081 3082 * configure.ac: Define ANUBIS_GPGFILES if GPG is enabled. 3083 * contrib/Makefile.am: Added msg2smtp.pl to EXTRA_DIST. 3084 * src/gpg.c: Moved configuration handler from rc.c. Added 3085 new configuration keyword gpg-home for setting the GPG 3086 home directory. 3087 * src/headers.h (gpg_section_init): New function. 3088 * src/rc.c: Moved gpg-specific functions to gpg.c 3089 * testsuite/data: New directory. 3090 * testsuite/data/Makefile.am: 3091 * testsuite/data/.cvsignore: 3092 * testsuite/data/pubring.asc: 3093 * testsuite/anubis/gpg.exp: New file. Tests GPG encryption 3094 * testsuite/anubis/DISTFILES: Added gpg.exp 3095 * testsuite/Makefile.am: Added data to SUBDIRS 3096 * testsuite/etc/gpgcrypt.pat: New file 3097 * testsuite/etc/gpg.in: New file. 3098 * testsuite/etc/Makefile.am: Added new files 3099 * testsuite/lib/anubis.exp (anubis_version): Renamed to 3100 default_anubis_version to avoid name clashes. 3101 (anubis_exec,anubis_expect_list,anubis_test): Improved handling 3102 of pattern modifiers (-re and --). 3103 (anubis_check_capability): New function. 3104 (anubis_test_file): New option -catprog. 3105 (anubis_pat): Improved handling of :OPTIONS keyword, 3106 Added new mode "CAT" for testing GPG encryption. 3107 31082003-02-19 Wojciech Polak 3109 3110 * src/main.h: Removed no longer used variable `submatch'. 3111 * src/extern.h: Likewise. 3112 * src/quit.c (free_mem): Likewise. 3113 * src/help.c (print_version): Minor change. 3114 3115 * testsuite/mta.c (smtp_reply): Added prototype. 3116 31172003-02-19 Wojciech Polak 3118 3119 * src/env.c (argv_dup): New static function. 3120 * src/headers.h (T_RCEXECARGS): Removed flag. 3121 * src/rc.c: Likewise. 3122 * src/quit.c: Likewise. 3123 31242003-02-18 Sergey Poznyakoff 3125 3126 * src/net.c: Fixed debugging diagnostics. 3127 31282003-02-17 Sergey Poznyakoff 3129 3130 * src/extern.h (struct message_struct): New member mime_hdr. 3131 * src/headers.h (T_ENTIRE_BODY): New flag. 3132 (regex_match): Removed. 3133 * src/mem.c (free_pptr): Correctly handle null pointer. 3134 * src/rc.c (control_parser): New boolean flag `read-entire-body'. 3135 When set to true causes the entire mime-encoded body to 3136 be read in core. Otherwise, only the first mime part is 3137 read, all the rest is passed to the server verbatim (default). 3138 * src/regex.c (regex_match,posixre_match): Removed 3139 * src/tunnel.c: Implemented new scheme of message processing. 3140 3141 Added new tests: 3142 * testsuite/lib/anubis.exp (anubis_pat): Handle :DEL keyword. 3143 * testsuite/anubis/base.exp: Test removal of headers. 3144 * testsuite/anubis/mime.exp: New file. 3145 * testsuite/anubis/DISTFILES: Added mime.exp 3146 * testsuite/etc/del1.pat: New file. 3147 * testsuite/etc/del2.pat: New file. 3148 * testsuite/etc/del3.pat: New file. 3149 * testsuite/etc/del4.pat: New file. 3150 * testsuite/etc/del.in: New file. 3151 * testsuite/etc/entire.in: New file. 3152 * testsuite/etc/mime1.pat: New file. 3153 * testsuite/etc/mime2.pat: New file. 3154 * testsuite/etc/Makefile.am: Added new files. 3155 * testsuite/etc/add1.pat: Minor change. 3156 * testsuite/etc/add2.pat: Likewise. 3157 * testsuite/etc/add3.pat: Likewise. 3158 31592003-02-15 Wojciech Polak 3160 3161 * configure.ac: Check apple-darwin by config.guess, not uname. 3162 Added message info if disabling Guile support. 3163 31642003-02-11 Sergey Poznyakoff 3165 3166 * testsuite/mta.c: Prevent race condition on closing the diagnostic 3167 file. 3168 31692003-02-11 Wojciech Polak 3170 3171 Removed ROT-13 support from main engine. 3172 3173 * src/misc.c (check_rot13): Removed function. 3174 * src/tunnel.c (transfer_header): Removed rot13 subject encoding. 3175 (transform_body): Removed check_rot13() call. 3176 * src/headers.h: Removed check_rot13 prototype. 3177 3178 * examples/anubisrc.guile: Updated. 3179 31802003-02-11 Sergey Poznyakoff 3181 3182 * Makefile.am: Added testsuite 3183 * configure.ac: Check for obstack, provide replacement 3184 if necessary. 3185 Check for reversed arguments to setvbuf. 3186 Generate Makefiles under testsuite/ 3187 3188 * examples/anubis.scm: Split msg-process into two procedures: 3189 one for rotating the subject header and another for rotating 3190 the message body. 3191 * examples/anubisrc.guile: Updated. 3192 3193 * src/obstack.c: New file. Obstack replacement for systems 3194 without it. 3195 * src/obstack.h: Likewise. 3196 * src/Makefile.am: Added obstack 3197 * src/env.c: New options: --show-config-options displays 3198 configuration options for anubis, --relax-perm-check 3199 relaxes permission check on user rc file. Both are useful 3200 for testsuite. 3201 * src/guile.c (guile_process_proc): Removed call to remcrlf. 3202 (guile_postprocess_list): New function. 3203 3204 * src/headers.h (T_RELAX_PERM_CHECK): New define. This bit 3205 is set in topts when --relax-perm-check is given in the 3206 command line. 3207 (print_config_options): New function. 3208 3209 * src/help.c (show_config_options, print_config_options): New 3210 functions. 3211 (print_version): Use show_config_options. 3212 * src/rc.c (open_rcfile): Open only altrc if both --norc 3213 and --altrc are given. 3214 * src/tunnel.c: Started implementing new approach for collecting 3215 message header and body. Both are collected, processed and 3216 only then fed to the MTA. 3217 TODO: split off attachments to diminish memory consumption. 3218 3219 * testsuite/: New directory 3220 * testsuite/Makefile.am: New file 3221 * testsuite/mta.c: New file 3222 * testsuite/.cvsignore: New file 3223 * testsuite/lib/: New directory 3224 * testsuite/lib/anubis.exp: New file 3225 * testsuite/lib/DISTFILES: New file 3226 * testsuite/anubis/: New directory 3227 * testsuite/anubis/base.exp: New file 3228 * testsuite/anubis/DISTFILES: New file 3229 * testsuite/etc/: New directory 3230 * testsuite/etc/Makefile.am: New file 3231 * testsuite/etc/.cvsignore: New file 3232 * testsuite/etc/add1.pat: New file 3233 * testsuite/etc/add2.pat: New file 3234 * testsuite/etc/add3.pat: New file 3235 * testsuite/etc/empty.in: New file 3236 * testsuite/etc/empty.pat: New file 3237 * testsuite/etc/mult.pat: New file 3238 * testsuite/etc/simple.in: New file 3239 * testsuite/etc/std.in: New file 3240 * testsuite/etc/std.pat: New file 3241 32422003-02-08 Sergey Poznyakoff 3243 3244 * src/regex.c: Rewritten using "control table" approach. 3245 32462003-02-08 Wojciech Polak 3247 3248 * src/rc.c (gpg_parser): Fixed KW_GPG_SIGN case. 3249 3250 * configure.ac: Clean up. 3251 * README: Updated. 3252 32532003-02-08 Sergey Poznyakoff 3254 3255 * src/regex.c (_perl_match): Fixed allocation of ovector. 3256 32572003-02-07 Sergey Poznyakoff 3258 3259 * src/env.c (check_filename): Take an additional 3260 argument: a pointer to the file modification time. 3261 * src/headers.h: Likewise. 3262 * src/exec.c: Updated calls to check_filename(). 3263 * src/tunnel.c: Likewise. 3264 * src/net.c: Restored checking the modification time 3265 of the global rcfile. 3266 * src/rc.c: Likewise. 3267 * src/rcfile.y: Improved readability of the diagnostic 3268 output. 3269 3270 * src/map.c: Minor changes. 3271 32722003-02-07 Wojciech Polak 3273 3274 * src/map.c (translate_parser): Fixed a bug in `user name after into' 3275 parser. 3276 32772003-02-07 Sergey Poznyakoff 3278 3279 * src/map.c: Fixed section name. 3280 * src/rcfile.y (rc_stmt_print): Display IFFALSE branch 3281 only if it is non-null. 3282 (rc_run_section): Check for sec==NULL. 3283 32842003-02-07 Sergey Poznyakoff 3285 3286 * src/guile.c (guile_parser): Removed kludge. 3287 * src/headers.h (anubis_regex_refcnt): New function. 3288 * src/regex.c: Likewise. 3289 * src/rcfile.l: A couple of bugfixes/improvements in 3290 RX/RXM states. 3291 * src/rcfile.y (rc_parse): Fixed return value. 3292 (node_eval): Check the number of backreferences in 3293 regexp. 3294 32952003-02-06 Sergey Poznyakoff 3296 3297 * configure.ac: Provide a replacement for snprintf 3298 * examples/anubis.scm: Renamed postprocess to msg-process. 3299 * examples/anubisrc.guile: Likewise. 3300 * src/snprintf.c: New file. A replacement for snprintf function. 3301 * src/Makefile.am: Added snprintf.c 3302 * src/auth.c: Remove HAVE_SNPRINTF conditional 3303 * src/esmtp.c: Likewise. 3304 * src/exec.c: Likewise. 3305 * src/files.c: Likewise. 3306 * src/misc.c: Likewise. 3307 * src/ssl.c: Likewise. 3308 * src/tunnel.c: Likewise. 3309 * src/daemon.c: Likewise. 3310 (stdinout): Removed call to process_rcfile(). 3311 3312 * src/extern.h (struct options_struct): Removed guile_postprocess 3313 member. 3314 * src/guile.c: Provide a placeholder for guile-postprocess 3315 functions. 3316 3317 * src/headers.h: Removed inclusion of <regex.h> and <pcre.h> 3318 (anubis_regex_match,anubis_regex_free,anubis_regex_source): 3319 Added new prototypes. 3320 * src/rcfile.h (struct rc_regex,RC_REGEX): Removed. It is defined 3321 elsewhere. 3322 (struct rc_node): Changed type of 'v.re' member. 3323 3324 * src/rcfile.l: Fixed support for traditional syntax. 3325 * src/rcfile.y: Fixed support for traditional syntax. 3326 Changed regular expression handling. 3327 3328 * src/regex.c: Modularized regular expressions. All implementation 3329 dependent parts (regex,pcre) live in this file. The rest of 3330 sources uses anubis_regex_.* interface. 3331 33322003-02-05 Sergey Poznyakoff 3333 3334 Rewritten RC file support using yacc and lex. 3335 3336 * configure.ac: Turn on guile support unless --without-guile 3337 has been given. 3338 3339 * build/ylwrap: New file. A customized wrapper for yacc/lex 3340 invocations. 3341 * build/Makefile.am: Added ylwrap 3342 * m4/guile.m4: Raised Guile version requirement to 1.6 3343 3344 * src/rcfile.l: New file. Lexical analizer for configuration 3345 files. 3346 * src/rcfile.y: New file. Syntax analizer for configuration 3347 files. 3348 * src/rcfile.h: New file. 3349 * src/Makefile.am: Added rcfile.[ylh] 3350 * src/map.c: Rewritten. 3351 * src/rc.c: Rewritten. 3352 * src/regex.c (anubis_regexp_match): New function. 3353 3354 * src/auth.c: Use new rc_ calls. 3355 * src/daemon.c: Likewise. 3356 * src/guile.c: Likewise. 3357 * src/main.c: Likewise. 3358 * src/quit.c: Likewise. 3359 * src/tunnel.c: Likewise. 3360 3361 * src/env.c: New option --check-config (-c). 3362 * src/extern.h: Removed obsolete declarations. 3363 * src/headers.h: Likewise. 3364 * src/main.h: Likewise. 3365 3366 * TODO: Updated. 3367 33682003-02-02 Wojciech Polak 3369 3370 * README: Updated. 3371 * TODO: Likewise. 3372 3373 * src/headers.h: Added conditional WITH_GUILE. 3374 * src/tunnel.c: Likewise. 3375 (memory_reader): Removed compiler warning about `i'. 3376 * src/rc.c (match_action_guile): Added missing returns. 3377 * src/guile.c: Fixed copyright comment at top of the file. 3378 33792003-02-01 Sergey Poznyakoff 3380 3381 * examples/anubis.scm (postprocess): Escape quotes inside the 3382 comment string 3383 33842003-02-01 Wojciech Polak 3385 3386 * AUTHORS: Added Sergey Poznyakoff. 3387 3388 * configure.ac: Don't use `uname' for SunOS. 3389 Check -lsocket and -lnsl directly with AC_CHECK_LIB. 3390 3391 * src/headers.h: Fixed `guile_load_path_append' prototype. 3392 * src/help.c (print_version): Added info about GUILE. 3393 * src/tunnel.c (process_command): Removed file permissions 3394 check for SSL certificate. 3395 * src/rc.c: Commented extra tokens at end of #endif directive. 3396 33972003-02-01 Sergey Poznyakoff 3398 3399 Added support for Guile 3400 3401 * configure.ac: Added --with-guile switch. 3402 Determine if socklen_t is defined, define it if it is not. 3403 * m4/guile.m4: New file 3404 * m4/Makefile.am: Added guile.m4 3405 * build/guile-1.6: New directory. 3406 * build/guile-1.6/guile-doc-snarf: New file 3407 * build/guile-1.6/guile-doc-snarf.awk: New file 3408 * build/guile-1.6/Makefile.am: New file. 3409 * build/Makefile.am: Added subdirs. 3410 * src/daemon.c (loop): Removed `#ifdef __socklen_t_defined' 3411 conditional'. 3412 3413 * src/guile.c: New file 3414 * src/Makefile.am: Added guile.c 3415 * src/auth.c [WITH_GUILE](auth_tunnel): Call read_rcfile_guile(). 3416 * src/extern.h [WITH_GUILE](struct options_struct): New members 3417 guile_logfile, guile_postprocess. 3418 (guile_position): New global. 3419 * src/headers.h [WITH_GUILE]: Include libguile.h 3420 [WITH_GUILE] (read_rcfile_guile): New function. 3421 (read_action_block): Take an argument. 3422 (BEGIN_GUILE): New define 3423 (anubis,anubis_boot,guile_load_path,guile_load_program) 3424 (guile_rewrite_line): New functions. 3425 * src/main.c [WITH_GUILE] (anubis_core): New 3426 function. Bootstrapper for guile support. 3427 (anubis_core): New define 3428 (anubis): New function. Runs main anubis loop. 3429 (main): Call anubis_core() 3430 * src/main.h (guile_position): New global 3431 * src/rc.c (read_action_block,match_action): Take additional 3432 argument: the source line (command or header) that triggered 3433 its invocation. 3434 [WITH_GUILE] (match_action): Handle guile-rewrite-line keyword 3435 [WITH_GUILE] (match_action_guile,read_rcfile_guile): New functions 3436 * src/tunnel.c: Updated invocations of read_action_block() 3437 3438 * examples/anubisrc.guile: New file 3439 * examples/anubis.scm: New file 3440 * examples/rot-13.scm: 3441 * examples/Makefile.am: Added new files. 3442 34432003-01-30 Wojciech Polak 3444 3445 * m4/Makefile.am: Added gettext m4 macros to EXTRA_DIST. 3446 * src/Makefile.am: Removed DEFAULT_INCLUDES. 3447 34482003-01-30 Wojciech Polak 3449 3450 * Initial CVS import, starting GNU Anubis 3.6.3. 3451 3452 3453Local Variables: 3454mode: change-log 3455version-control: never 3456buffer-read-only: t 3457End: 3458