1) make sendfax recognize "-h <file>" option to set page headers
  started 20.3.93, GD
  new idea: send "AT+FDT", then (optional) page header, then page data.
  (does not work)
  new idea: customized pbmtog3, without EOP.
  "first cut" done, 21.9.93, use "g3cat"
  Suggestion: use "-h <program>", g3cat output of that program with the
  data page (-> headers with real send time)

2) make external configuration possible
   mostly done (1.1.95)

3) #include <config file>
   bad idea, not really useful

6) faxmail - gatway program for mail -> fax
   (started)

7) when (before) receiving a fax, check if there's enough space left
  (amount configurably) -> clewis
  generic "get spool file name", check multiple directories

8) function for creating spool file names (->dir, prefix; <- name, fd)
  with (optional) sequence numbers

14) make mgetty (and g3cat) add an digifax header to incoming faxes (optionally).

16) tiffg3 -> raw g3 / digifax converter

17) library functions for opening / reading g3 files

18) Makefile.<system> / AutoConf?

20) tio - increase abstraction layer even more, make TIO an opaque pointer, so
        that the upper layers do not have to know *anything* about the data
        structure used by tio.c/.h
	(with old/new settings, to avoid surplus system calls)

21) additional flag: skip modem initialization and all, go directly to
    reading of login name (for callback)

24) fax_notify_mail: include "realname" (from fax phone book) in Subject:

31) VSI*FAX

34) ungetty mechanism

35) utmp writing / process arguments on SunOS

45) make fax poll server more flexible

51) faxspool.c (sgid fax) -> $LIBDIR/faxspool.sh
51a) have it start faxrunq immediately (configurably)

55) vhangup()? (->Linux)

57) SIGUSR1 *after* answering -> hangup

59) mgetty/faxrec(): valiate incoming fax data, request retransmission
    partially done, if +FP(T)S:... returns valid values.

60) faxspool - multiple targets in one fax
    call: faxspool tgt file(s)
	  faxspool -m tgt1 tgt2 tgt3 -- file(s)
	  faxspool -M tgt-file file(s)

62) session parameter mismatch (width / length / resolution) -> correct
"on-the-fly" (integrate "smart" g3cat into sendfax.c). If the page is too
long, cut after 2050 (letter) or 2156 (A4) lines.

63) ZyXEL callback (description, "hack" in mgetty.c - ZYXEL_CALLBACK)
    (integrate in state machine)

63b) real callback

66) faxcleanup

73) locks.c: only "guess" that it's a binary lock if it doesn't consist
    entirely of " 0-9\n".

75) dialcode translations in faxspool

79) g3cat: fix line width (that is, "repair" broken T.4 files on-the-fly)

90) support ct 

91) g3split

96) number of RINGs changeable without /etc/inittab change

97) BREAK -> mgetty exits (does it?)

98) fax_wait_for: accept "<junk> +FHNG:..."

105) gs 3.0 : -sDEVICE=rawg3 (joe moss, -f =joe)

107) create own fax file header, with sender ID (if known), resolution,
     and *magic byte*!

108) faxreq (re-queue, remove Status junk from JOB)

109) faxspool -> immediately send (own!) faxes

112) sendfax: return +FHNG in exit() code

114) callback: other lines (if available), random delay

116) use more detailed access privileges in faxspool (long distance, local)

118) modem auto-detect not only for voice but for modem type (e.g.
     MultiTech, ZyXEL, ...) in general

119) dynamically generate page headers in faxrunq

120) with 119, multicasting is easy

121) check disk space before spooling faxes

122) log caller ID upon "phone stopped ringing"

123) -DNO_MODEM?

124) if write/read in fax_send_page() fails, exit loop (kkeyte)

125) cleanup script that will rollover logs

126) if sendfax is killed, faxrunq assumes "ok" for some strange reason.

127) step-by-step installation guide

128) g3topbm: use same decoder as g3view (speed/space tradeoff?)

129) g3topbm: speed up decoding by reading the file as a whole

134) faxspool: fix problem with spooling of files starting with "."

135) for modems where AT+FAA=1 doesn't work: use SIGUSR2 to toggle
     fax/data (for people knowing what type of call comes in)

136) keep modem in data mode, switch to fax mode (+FAA=1 or 0, depending
     on -D/-F) if desired before sending ATA. Reason: dialout processes
     can safely assume "+FCLASS=0" with this setup.
136a) add signal to switch reception mode for dumb no-adaptive-answering
     modems

137) call "new_fax" program for each page during reception (for those
     people that have a fast machine and a slow printer and want to see
     the results immediately. Hi Harald!)

138) add configuration options for modem gotchas: class2ok, usr

139) RING during initialization -> wait for it to stop, init modem again

140) start/stop fax scheduler ("FAX_SPOOL_OUT/stop" file?)

141) make lock/log/spool paths configurable

144) if first line in logfile is written *after* setuid() in login.c,
     no opening of LOG_PATH is possible. open log sooner? mode 666?

145) include Device/Hostname in "notify mail"

146) improve faxspool security

147) make "g3cat" fix line width!

148) make config routines understand \r, \s etc.
