Commit graph

1112 commits

Author SHA1 Message Date
Jeremy Sowden e330aaee46 wmix: call XSetCommand().
Signed-off-by: Jeremy Sowden <jeremy@azazel.net>
2019-07-10 09:43:45 +01:00
Jeremy Sowden 4feb6bd3d1 wmix: added autogen and .gitignore.
Signed-off-by: Jeremy Sowden <jeremy@azazel.net>
2019-07-10 09:43:45 +01:00
Jeremy Sowden 5c213e9e77 wmbiff: use size_t for password-lengths.
Signed-off-by: Jeremy Sowden <jeremy@azazel.net>
2019-06-28 16:26:47 +01:00
Jeremy Sowden 897886a68c wmbiff: fixed endianness problems parsing server-ports.
`regulo_atoi` expects a pointer-to-int and `PCU.serverPort` is a
`uint16_t`, so `&PCU.serverPort` is not compatible and we need to use an
`int` temporary variable to avoid endianness problems.

Signed-off-by: Jeremy Sowden <jeremy@azazel.net>
2019-06-28 16:26:47 +01:00
Jeremy Sowden d0345f1059 wmbiff: fixed endianness problems connecting to POP and IMAP servers.
`addr.sin_addr.s_addr` is a `uint32_t` in NBO, so assigning a
`struct in_addr` cast to `unsigned long` will break on 64-bit big-endian
architectures.

Signed-off-by: Jeremy Sowden <jeremy@azazel.net>
2019-06-28 16:26:47 +01:00
Jeremy Sowden dfa571a21b wmbiff: addr.sin_port is in NBO, so we should use ntohs(3), not htons(3).
Signed-off-by: Jeremy Sowden <jeremy@azazel.net>
2019-06-28 16:26:47 +01:00
Jeremy Sowden 5d9eb1eb11 wmbiff: tidy up socket connexions.
Signed-off-by: Jeremy Sowden <jeremy@azazel.net>
2019-06-28 16:26:47 +01:00
Jeremy Sowden 1d9d06f152 wmbiff: correct the address size passed to connect(2).
`addr` is a `struct sockaddr_in`, not a `struct sockaddr`; using `sizeof
var` instead of `sizeof (type)` ensures that the right size is used.

Signed-off-by: Jeremy Sowden <jeremy@azazel.net>
2019-06-28 16:26:47 +01:00
Jeremy Sowden 3c0016eb79 wmbiff: regulo_match modifies instructions[i].destination, so remove const.
Signed-off-by: Jeremy Sowden <jeremy@azazel.net>
2019-06-28 16:26:47 +01:00
Jeremy Sowden 759e9a363a wmbiff: use temporary variables and remove casts.
Signed-off-by: Jeremy Sowden <jeremy@azazel.net>
2019-06-28 16:26:47 +01:00
Jeremy Sowden 0e0dd78437 wmail: updated change-log and bumped to 2.3. 2019-06-21 12:28:08 +01:00
Jeremy Sowden d77e013060 wmail: fixed use-after-free.
The CleanupNames() function removed the sender-addresses for deleted
mails, but did not set the namesChanged flag to true.  This meant that
if the ticker was displaying the address of a mail which had been
deleted it would continue doing so after the address had been freed.
2019-06-21 12:28:08 +01:00
Jeremy Sowden c4eb6d91d2 wmail: handle allocation failures.
Check the return values of some invocations of malloc and strdup and
ensure that any NULL's are handled correctly.
2019-06-21 12:28:08 +01:00
Jeremy Sowden dbc178ec3f wmail: fixed possible NULL-pointer dereference in config-parser.
The code calling Tokenize assumed that if it returned true, value would
not be NULL.  However, in the case of a line containing no equals sign:

  blah

that would not be the case.  Changed Tokenize to return false unless id
and value are both defined.
2019-06-21 12:28:08 +01:00
Jeremy Sowden 40d7eb504c wmail: fixed NULL-pointer dereference if opendir(3) fails.
Code was:

  if (( dir = opendir( ... )))
  {
    // ...
  }
  closedir( dir ); // dir may be NULL

Moved closedir(3) inside if-block.
2019-06-21 12:28:08 +01:00
Jeremy Sowden 2ae0c7cba4 wmail: use continue instead of goto. 2019-06-21 12:28:08 +01:00
Jeremy Sowden 68baa67992 wmail: formatting improvements. 2019-06-21 12:28:08 +01:00
Jeremy Sowden 1b6f872f07 wmail: debug macro fixes. 2019-06-21 12:28:08 +01:00
Jeremy Sowden 98872a4c14 wmail: fixed config typo.
The old spelling is still supported.
2019-06-21 12:28:08 +01:00
Jeremy Sowden 5b50ebaefb libdockapp: removed assertion that short-form options have length 2.
The mixed-option parsing code includes an assertion that short-form
options have a length of two.  However, there is no other validation of
this requirement and some dock-apps do not comply with it, which means
that if one exec's them with an unrecognized option or a mix of short
options, the assertion fails and the app aborts.

For example:

  $ /usr/bin/wmail --help | grep '\<display\>'
    -display <string>            display to use
  $ /usr/bin/wmail --blah
  wmail: daargs.c:126: contains: Assertion `strlen(needle) == 2' failed.
  Aborted

Since there is no explicit statement of this requirement, let's replace
the assertion with a conditional.
2019-06-13 22:35:56 +01:00
Jeremy Sowden 00630c75c7 wmail: updated change-log and bumped to 2.2. 2019-06-12 23:48:04 +01:00
Jeremy Sowden 7c4664d55c wmail: removed superfluous continue. 2019-06-12 23:48:04 +01:00
Jeremy Sowden 1b049207fa wmail: fixed error in build instructions. 2019-06-12 23:48:04 +01:00
Jeremy Sowden 9205d51d68 wmail: removed commented-out variable. 2019-06-12 23:48:04 +01:00
Jeremy Sowden 97a82c5e14 wmail: POSIX doesn't have a "t" mode flag for fopen(3). 2019-06-12 23:48:04 +01:00
Jeremy Sowden 73897dff25 wmail: formatting fixes. 2019-06-12 23:48:04 +01:00
Jeremy Sowden b25ef198e3 wmail: strip leading white-space when doing skip-name comparisons. 2019-06-12 23:48:04 +01:00
Jeremy Sowden 116d47e6e1 wmail: dropped unused enum values. 2019-06-12 23:48:04 +01:00
Jeremy Sowden 0360aff8e8 wmail: use realloc(3) and handle allocation failures. 2019-06-12 23:48:04 +01:00
Jeremy Sowden 0fb61f1e49 wmail: fixed memory leaks in skip-names. 2019-06-12 23:48:04 +01:00
Jeremy Sowden 6e48b4a431 wmail: added command-line option to specify a different config-file. 2019-06-12 23:48:04 +01:00
Jeremy Sowden 7590c32f82 wmail: parse command-line arguments before reading config-file.
Fixes warnings about config and check-sum files when using --help and --version.
2019-06-12 23:48:04 +01:00
Jeremy Sowden 8f7f9881a0 wmail: removed hard-coded string lengths. 2019-06-12 23:48:04 +01:00
Jeremy Sowden d969ee2ca6 wmail: use continues rather than if-else chain to improve readability. 2019-06-12 23:48:04 +01:00
Jeremy Sowden e27a0f4001 wmail: added option index enum and used designated initializers for options. 2019-06-12 23:48:04 +01:00
Jeremy Sowden 7e3cb9cbe4 wmail: removed hard-coded buffer size. 2019-06-12 23:48:04 +01:00
Jeremy Sowden dff64f3b71 wmail: use stdbool.h if available. 2019-06-12 23:48:04 +01:00
Jeremy Sowden 24ce08f47c wmail: more version and copyright updates. 2019-06-12 23:48:04 +01:00
Jeremy Sowden 85d207d4af wmail: fixed some typo's. 2019-06-12 23:48:04 +01:00
Jeremy Sowden bd70588098 wmail: only include one set of XPM's among wmail's sources. 2019-06-12 23:48:04 +01:00
Jeremy Sowden ea206ef933 wmail: bumped to 2.1. 2019-06-07 11:43:39 +01:00
Jeremy Sowden bc982a37f6 wmail: added new ChangeLog. 2019-06-07 10:53:48 +01:00
Jeremy Sowden ee0f742a1b wmail: updated the copyright notices. 2019-06-07 10:53:48 +01:00
Jeremy Sowden 0d1f1ed6aa wmail: updated contact details in README. 2019-06-07 10:53:48 +01:00
Jeremy Sowden cbc7dc2fb7 wmail: moved old change-log to a separate file. 2019-06-07 10:53:48 +01:00
Jeremy Sowden 2fbac189e8 wmail: define debug macros as empty if debug is not enabled. 2019-06-07 10:53:48 +01:00
Jeremy Sowden 107922018b wmail: only one DEBUG macro is ever defined. 2019-06-07 10:53:48 +01:00
Jeremy Sowden 07f158ad7e wmail: change "!stat(...) == 0" to "stat(...) == -1" 2019-06-07 10:53:48 +01:00
Jeremy Sowden 51fc232cdb wmail: refactored MakePathName: one malloc; one snprintf instead of two memcpys. 2019-06-07 10:53:48 +01:00
Jeremy Sowden 7740071745 wmail: use automake. 2019-06-07 10:53:48 +01:00