Changeset 8b0d793


Ignore:
Timestamp:
Nov 17, 2013, 4:00:27 AM (8 years ago)
Author:
Anders Kaseorg <andersk@mit.edu>
Parents:
489df88 (diff), b783311 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:
Merge b783311d7c91e45c1cf9690a3390f33d624dd567 into 489df88d718a4254481227e1f039326a6081b1d7
Files:
14 edited

Legend:

Unmodified
Added
Removed
  • .gitignore

    r81691e8 r935eb10  
    44.deps
    55META.yml
     6MYMETA.yml
    67Makefile
    78Makefile.in
  • AUTHORS

    r1d2c4c3 ra634103  
    33
    44The following people have provided patches or other contributions:
     5  Alex Vandiver
     6  Kevin Chen
     7  Arun Tharuvai
    58  Sam Hartman
    6   Alex Vandiver
    7   Geoffrey Thomas
    89  Derrick Brashear
    910  David Glasser
     11  Eric Price
    1012  Matthew Goldstein
    11   Arun Tharuvai
    12   Kevin Chen
    13   Eric Price
     13  Geoffrey Thomas
     14  Anders Kaseorg
     15  Greg Price
     16  Chris Lesniewski-Laas
     17  Alex Dehnert
     18  Edward Z. Yang
     19  Karl Ramm
     20  Evan Broder
     21  David Benjamin
     22  Cathy Zhang
     23  Joshua Oreman
     24  Leonid Grinberg
     25  Kevin Riggle
     26  Brian Sniffen
     27  William Throwe
     28  Jason Gross
     29  Adam Glasgall
     30  Tim Hill
     31  DD Liu
     32  Betsy Riley
     33  Robert Jacobs
    1434
    15 BarnOwl is based on code from Owl, which was originally primarly
     35BarnOwl is based on code from Owl, which was originally primarily
    1636written by James Kretchmar.  Erik Nygren also made substantial
    17 contributions and improvemnts to the program.
     37contributions and improvements to the program.
    1838
    19 The following people provided patches and other techincal support for
     39The following people provided patches and other technical support for
    2040Owl:
    2141
     
    3050  Mark Eichin
    3151
    32 Mark Eichin is also maintaining the debian package of Owl.
     52Mark Eichin is also maintaining the Debian package of Owl.
    3353
    3454The following people helped with beta testing the earliest versions of
  • ChangeLog

    r489df88 rb783311  
    111.9
     2 * Update Jabber module for Net::DNS changes -james2vegas@aim.com
     3 * Update and make configurable the Zephyr default format -adehnert@mit.edu
     4 * Fix a crash when zcrypt fails -andersk@mit.edu
     5 * Fix building with OpenSSL before 0.9.8 -andersk@mit.edu
     6 * Make :loadsubs reload instanced personals too -davidben@mit.edu
     7 * Make Perl zephyr_zwrite call die() when it fails -jgross@mit.edu
     8 * Tell gpg calls from zcrypt to ignore ~/.gnupg -andersk@mit.edu
     9 * Replace outgoing zephyr default format with a small URL -geofft@mit.edu
    210 * Add getnumlines() to perl interface -asedeno@mit.edu
    311 * Include names of invalid filters on filter errors -adehnert@mit.edu
  • configure.ac

    r489df88 rb783311  
    11dnl Process this file with autoconf to produce a configure script.
    2 AC_INIT([BarnOwl],[1.9rc1],[bug-barnowl@mit.edu])
     2AC_INIT([BarnOwl],[1.9rc2],[bug-barnowl@mit.edu])
    33AM_INIT_AUTOMAKE([1.7.0 -Wall -Wno-portability foreign])
    44m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])])
     
    99AC_PROG_CC
    1010AC_PROG_CC_C99
     11
     12AC_ARG_WITH([zephyr-default-format],
     13    [AS_HELP_STRING([--with-zephyr-default-format],
     14                    [value for the default format zephyrgram field])],
     15    [
     16        case $withval in
     17            yes) withval='Config error: see http://mit.edu/df';;
     18            no) withval='';;
     19        esac
     20        zephyr_default_format=$withval
     21    ],
     22    [zephyr_default_format='Config error: see http://mit.edu/df'])
     23AC_DEFINE_UNQUOTED(
     24    [ZEPHYR_DEFAULT_FORMAT], ["$zephyr_default_format"],
     25    [Value for the default format zephyrgram field]
     26)
    1127
    1228AC_ARG_WITH([stack-protector],
     
    4157
    4258AS_IF([test "x$with_zephyr" != xno],
    43   [AS_IF([test "x$with_krb4" != "xno"],
     59  [have_krb4=no
     60
     61   AS_IF([test "x$with_krb4" != "xno"],
    4462   [AC_MSG_CHECKING([for Kerberos IV])
    4563    AS_IF([krb5-config krb4 --libs >/dev/null 2>&1],
    4664      [AC_MSG_RESULT([yes])
     65       have_krb4=yes
    4766       AC_DEFINE([HAVE_KERBEROS_IV], [1], [Define if you have kerberos IV])
    4867       AM_CFLAGS="${AM_CFLAGS} `krb5-config krb4 --cflags`"
     
    5170      [AC_MSG_RESULT([no])
    5271       AS_IF([test "x$with_krb4" = "xyes"],
    53              [AC_MSG_ERROR([Kerberos IV requested but not found])])
    54        PKG_CHECK_MODULES([LIBCRYPTO], [libcrypto])
    55        AM_CFLAGS="${AM_CFLAGS} ${LIBCRYPTO_CFLAGS}"
    56        LIBS="${LIBS} ${LIBCRYPTO_LIBS}"
    57      ])])
     72             [AC_MSG_ERROR([Kerberos IV requested but not found])])])])
     73
     74   AS_IF([test "x$have_krb4" != xyes],
     75     [PKG_CHECK_MODULES([LIBCRYPTO], [libcrypto],
     76        [AM_CFLAGS="${AM_CFLAGS} ${LIBCRYPTO_CFLAGS}"
     77         LIBS="${LIBS} ${LIBCRYPTO_LIBS}"
     78        ],
     79        [PKG_CHECK_MODULES([OPENSSL], [openssl],
     80           [AM_CFLAGS="${AM_CFLAGS} ${OPENSSL_CFLAGS}"
     81            LIBS="${LIBS} ${OPENSSL_LIBS}"
     82           ])])])
     83
    5884   AC_CHECK_LIB([zephyr], [ZGetSender],
    5985   [LIBS="$LIBS -lzephyr"
     
    150176dnl Define __EXTENSIONS__ for strcasecmp on Solaris.
    151177AM_CFLAGS="$AM_CFLAGS -D__EXTENSIONS__"
     178dnl Define _XOPEN_SOURCE_EXTENDED for some features in ncurses,
     179dnl including cchar_t.  This should not be necessary with
     180dnl _XOPEN_SOURCE=600, but some versions of ncurses
     181dnl apparently still need it.
     182AM_CFLAGS="$AM_CFLAGS -D_XOPEN_SOURCE_EXTENDED"
    152183
    153184AC_SUBST([AM_CFLAGS])
  • filter.c

    r30781f6 r1cefe5f  
    124124
    125125  op1 = owl_filter_parse_primitive_expression(argc-i, argv+i, &skip);
     126  if(!op1) goto err;
    126127  i += skip;
    127   if(!op1) goto err;
    128128
    129129  while(i < argc) {
  • filterproc.c

    r97cdbaf5 rb70556f  
    8181                                &child_pid, &child_stdin, &child_stdout, NULL,
    8282                                NULL)) {
     83    *out = NULL;
    8384    return 1;
    8485  }
  • functions.c

    r06470d7 r990772c  
    871871void owl_function_loadsubs(const char *file)
    872872{
    873   int ret, ret2;
    874   const char *foo;
     873  int ret, ret2, ret3;
    875874  char *path;
    876875
     
    884883
    885884  /* for backwards compatibility for now */
    886   ret2=owl_zephyr_loaddefaultsubs();
     885  ret2 = owl_zephyr_loaddefaultsubs();
     886  ret3 = owl_zephyr_loadbarnowldefaultsubs();
    887887
    888888  if (!owl_context_is_interactive(owl_global_get_context(&g))) return;
    889889
    890   foo=file?file:"file";
    891   if (ret==0 && ret2==0) {
     890  if (ret == 0 && ret2 == 0 && ret3 == 0) {
    892891    if (!file) {
    893892      owl_function_makemsg("Subscribed to messages.");
     
    895894      owl_function_makemsg("Subscribed to messages from %s", file);
    896895    }
    897   } else if (ret==-1) {
    898     owl_function_error("Could not read %s", foo);
    899   } else {
     896  } else if (ret == -1) {
     897    owl_function_error("Could not read %s", file ? file : "file");
     898  } else if (ret2 == -1) {
    900899    owl_function_error("Error subscribing to messages");
     900  } else {
     901    owl_function_error("Error subscribing to instanced personals");
    901902  }
    902903}
  • perl/lib/BarnOwl.pm

    rb303ba2 r7975229  
    9393command line, and C<MESSAGE> is the zephyr body to send.
    9494
     95=cut
     96
     97sub zephyr_zwrite {
     98    my ($command, $message) = @_;
     99    my $ret = BarnOwl::Internal::zephyr_zwrite($command, $message);
     100    die "Error sending zephyr" unless $ret == 0;
     101}
     102
    95103=head2 ztext_stylestrip STRING
    96104
  • perl/lib/BarnOwl/Message/Zephyr.pm

    rbf70350 r1e2fab5  
    5151    my ($m) = @_;
    5252    return undef if (!$m->is_loginout);
     53    return undef if (!defined($m->fields));
    5354    return $m->fields->[2];
    5455}
     
    5758    my ($m) = @_;
    5859    return undef if (!$m->is_loginout);
     60    return undef if (!defined($m->fields));
    5961    return $m->fields->[0];
    6062}
  • perl/modules/Jabber/lib/BarnOwl/Module/Jabber.pm

    r678f607 r384b2fa  
    13131313    {
    13141314        my @answer = $packet->answer;
    1315         return $answer[0]{target}, $answer[0]{port};
     1315        return $answer[0]->target, $answer[0]->port if @answer;
    13161316    }
    13171317
  • perlconfig.c

    rd199207 r1e2fab5  
    9292                                      owl_new_sv(owl_message_get_##field(m)), 0)
    9393
    94   if (owl_message_get_notice(m)) {
     94  if (owl_message_is_type_zephyr(m) && owl_message_is_direction_in(m)) {
    9595    /* Handle zephyr-specific fields... */
    96     AV *av_zfields;
    97 
    98     av_zfields = newAV();
    99     for (f = owl_zephyr_first_raw_field(owl_message_get_notice(m)); f != NULL;
    100          f = owl_zephyr_next_raw_field(owl_message_get_notice(m), f)) {
    101       ptr=owl_zephyr_field_as_utf8(owl_message_get_notice(m), f);
    102       av_push(av_zfields, owl_new_sv(ptr));
    103       g_free(ptr);
     96    AV *av_zfields = newAV();
     97    if (owl_message_get_notice(m)) {
     98      for (f = owl_zephyr_first_raw_field(owl_message_get_notice(m)); f != NULL;
     99           f = owl_zephyr_next_raw_field(owl_message_get_notice(m), f)) {
     100        ptr = owl_zephyr_field_as_utf8(owl_message_get_notice(m), f);
     101        av_push(av_zfields, owl_new_sv(ptr));
     102        g_free(ptr);
     103      }
     104      (void)hv_store(h, "auth", strlen("auth"),
     105                     owl_new_sv(owl_zephyr_get_authstr(owl_message_get_notice(m))), 0);
     106    } else {
     107      /* Incoming zephyrs without a ZNotice_t are pseudo-logins. To appease
     108       * existing styles, put in bogus 'auth' and 'fields' keys. */
     109      (void)hv_store(h, "auth", strlen("auth"), owl_new_sv("NO"), 0);
    104110    }
    105111    (void)hv_store(h, "fields", strlen("fields"), newRV_noinc((SV*)av_zfields), 0);
    106 
    107     (void)hv_store(h, "auth", strlen("auth"),
    108                    owl_new_sv(owl_zephyr_get_authstr(owl_message_get_notice(m))),0);
    109112  }
    110113
  • perlglue.xs

    rb303ba2 r7975229  
    9696                RETVAL
    9797
    98 void
    99 zephyr_zwrite(cmd,msg)
    100         const char *cmd
    101         const char *msg
    102         PREINIT:
    103                 int i;
    104         CODE:
    105                 i = owl_zwrite_create_and_send_from_line(cmd, msg);
    106 
    10798const utf8 *
    10899ztext_stylestrip(ztext)
     
    475466        }
    476467
     468int
     469zephyr_zwrite(cmd,msg)
     470        const char *cmd
     471        const char *msg
     472        CODE:
     473                RETVAL = owl_zwrite_create_and_send_from_line(cmd, msg);
     474        OUTPUT:
     475                RETVAL
     476
    477477MODULE = BarnOwl                PACKAGE = BarnOwl::Editwin
    478478
  • zcrypt.c

    r97cdbaf5 r017bf98  
    766766    "gpg",
    767767    "--symmetric",
     768    "--no-options",
     769    "--no-default-keyring",
     770    "--keyring", "/dev/null",
     771    "--secret-keyring", "/dev/null",
    768772    "--batch",
    769773    "--quiet",
     
    846850    "gpg",
    847851    "--decrypt",
     852    "--no-options",
     853    "--no-default-keyring",
     854    "--keyring", "/dev/null",
     855    "--secret-keyring", "/dev/null",
    848856    "--batch",
    849857    "--no-use-agent",
     
    858866
    859867  err = call_filter(argv, in, &out, &status);
     868  free(in);
    860869  if(err || status) {
    861870    g_free(out);
  • zephyr.c

    r80bea5b rff25de6  
    2929#define HM_SVC_FALLBACK         htons((unsigned short) 2104)
    3030
    31 static char *owl_zephyr_dotfile(const char *name, const char *input)
     31static CALLER_OWN char *owl_zephyr_dotfile(const char *name, const char *input)
    3232{
    3333  if (input != NULL)
     
    291291  struct stat statbuff;
    292292
    293   subs = g_new(ZSubscription_t, subSize);
    294293  subsfile = owl_zephyr_dotfile(".zephyr.subs", filename);
    295294
     
    307306  if (!file)
    308307    return -1;
     308
     309  subs = g_new(ZSubscription_t, subSize);
    309310  while (owl_getline(&buffer, file)) {
    310311    if (buffer[0] == '#' || buffer[0] == '\n')
     
    728729  if (!owl_zwrite_recip_is_personal(recipient) && *owl_global_get_zsender(&g))
    729730    notice.z_sender = zsender = long_zuser(owl_global_get_zsender(&g));
    730   notice.z_default_format=zstr("Class $class, Instance $instance:\nTo: @bold($recipient) at $time $date\nFrom: @bold{$1 <$sender>}\n\n$2");
     731  notice.z_default_format=zstr(ZEPHYR_DEFAULT_FORMAT);
    731732  if (opcode) notice.z_opcode=zstr(opcode);
    732733
     
    10231024  }
    10241025
     1026  g_free(subsfile);
    10251027  g_free(line);
    10261028#endif
Note: See TracChangeset for help on using the changeset viewer.