HylaFAX The world's
most advanced open source fax server
|
|
[
Date Prev][
Date Next][
Thread Prev][
Thread Next]
[
Date Index]
[
Thread Index]
HylaFAXServer::getSequenceNumber() shouldn't use O_EXCL
- To: flexfax@sgi.com
- Subject: flexfax: HylaFAXServer::getSequenceNumber() shouldn't use O_EXCL
- From: Mark Burton <markb@ordern.com>
- Date: Thu, 16 Mar 2000 14:51:07 GMT
Hello,
I don't currently subscribe to the mailing list so I apologise if this
has been covered 50 times already.
I have installed a recent version of hylafax 4.1beta2 (from the CVS
repository) on my Linux box (2.2.14) and a problem I had to fix was
that sends were failing with messages like this:
Mar 16 13:53:00 rook HylaFAX[14565]: docq/seqf: open: File exists
It seems to me that the code in HylaFAXServer::getSequenceNumber()
can't possibly work as it combines O_EXCL and O_CREAT open modes which
will cause the open to fail if the file exists.
I have therefore removed the O_EXCL and it seems to work OK.
One other thing, the files that are created in the docq directory are
being created with a owner id of uucp (good) and a group id of 60002
(maybe not good). Is this how it should be?
In case it's relevant I include my config.site file.
Many thanks,
Mark
# $Id: config.site,v 1.5 1999/11/17 10:24:50 robert Exp $
#
# HylaFAX Facsimile Software
#
# Copyright (c) 1990-1996 Sam Leffler
# Copyright (c) 1991-1996 Silicon Graphics, Inc.
# HylaFAX is a trademark of Silicon Graphics, Inc.
#
# Permission to use, copy, modify, distribute, and sell this software and
# its documentation for any purpose is hereby granted without fee, provided
# that (i) the above copyright notices and this permission notice appear in
# all copies of the software and related documentation, and (ii) the names of
# Sam Leffler and Silicon Graphics may not be used in any advertising or
# publicity relating to the software without the specific, prior written
# permission of Sam Leffler and Silicon Graphics.
#
# THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
# EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
# WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
#
# IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
# ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
# OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
# WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
# LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
# OF THIS SOFTWARE.
#
#
# This file holds site-specific configuration parameters.
#
# Nothing is defined in here by default, the definitions
# commented out below serve as documentation for what you
# can set in this file or a config.local file.
#
# Note that you do not need to set anything here unless you
# want to override the auto-configuration behaviour and/or
# interactive prompting done by the configure script.
#
#
# Package controls.
#
#DSO="auto" # configure DSO support (auto|IRIX|no)
#GETTY="auto" # type of getty support (auto|BSD|SysV)
HTML="yes" # install HTML documentation (yes|no)
#PS="auto" # PostScript support to use (auto|gs|dps|imp)
#SGI2FAX="auto" # configure SGI image support (auto|yes|no)
#DPS="no" # install SGI DPS-based RIP (yes|no)
#GS="no" # install Ghostscript RIP (yes|no)
#IMP="no" # install SGI Impressario 2.1 support (yes|no)
#REGEX="yes" # use distributed regular expression package
#ZLIB="auto" # use distributed zlib distribution
#UTMP="utmpx" # type of utmp+wtmp handling (auto|utmp|utmpx)
#DBLIB="no" # use distributed libdb distribution
#
# Directory parameters.
#
#DIR_BIN="/usr/local/bin" # directory for client apps
#DIR_LIBDATA="/usr/lib/fax" # directory for client data
#DIR_LIBEXEC="/usr/lib/fax" # directory for libraries&hidden apps
#DIR_MAN="/usr/local/man" # directory for manual pages
#DIR_SPOOL="/var/spool/fax" # directory for spooling area
#DIR_SBIN="/var/spool/fax/bin" # directory for system apps
#DIR_LOCKS="/usr/spool/locks" # directory for UUCP lock files
#FONTMAP="/usr/share/ghostscript/3.33" # directorys containing Fontmap files
#PATH_AFM="/usr/lib/DPS/AFM" # directorys for AFM files
#
# HTML-specific parameters; only used when the
# HTML package is configured for installation.
#
# Note that ``PATH''s are the virtual pathnames used
# in forming URLs; they are not directory pathnames
# in the filesystem.
#
DIR_HTML="/usr/local/doc/hylafax" # directory for HTML documentation
DIR_CGI="/usr/local/WWW/cgi-bin" # directory for CGI scripts
#HTMLPATH="/hylafax" # virtual path to HTML materials
#CGIPATH="/cgi-bin" # virtual path to CGI scripts
#
# Miscellaneous parameters.
#
DEFVRES="196" # default vertical res for outbound fax
#FILLORDER="MS2LSB" # bit order of cpu (MSB2LSB/LSB2MSB)
#FAXGID="uucp" # group ID for fax user
#FAXUID="uucp" # user ID for fax user
PAGESIZE="A4" # default page size
#SYSGID="sys" # group ID for system installs
#SYSUID="bin" # user ID for system installs
#LOCKS="ansi" # default UUCP lockfile scheme
#
#PATH_GETTY="/etc/getty" # pathname of suitable getty program
#PATH_VGETTY="/bin/vgetty" # pathname of voice getty program
#PATH_EGETTY="/bin/egetty" # pathname of external getty program
#PATH_SENDMAIL="/usr/lib/sendmail" # pathname of suitable sendmail program
#PATH_GSRIP="/usr/local/bin/gs" # pathname of Ghostscript-based RIP
#PATH_DPSRIP="/var/spool/fax/bin/ps2fax.exe" # pathname of DPS-based RIP
#PATH_IMPRIP="/usr/lib/print/psrip" # pathname of Impressario 2.1 RIP
#MANSCHEME="sysv-source-cat-strip" # manual page installation scheme
#SYSVINIT= # location SysV init script
# SVR4 packaging stuff
#PKG_ARCH= # ARCH variable in pkginfo file
#PKG_EMAIL=someone@somehost.somedomain # EMAIL variable in pkginfo file
#PKG_VENDOR="Your Name Here" # VENDOR variable in pkginfo file
#
#
# Parameters used when building the software.
#
# Note that configure has several ENVOPTS built into it that are
# set according to the target. This is done to help naive folks.
#
# Beware of changing the INSTALL definition; you *must* have an
# install script that emulates the Silicon Graphics install program!
#
#AR="/bin/ar" # pathname of suitable ar program
#AROPTS="rc" # options to ar for creating archive
#CC="gcc" # name/pathname of C compiler
#CXX="gcc" # name/pathname of C++ compiler
#CXXFILE="-x c++" # options for proper C++ processing
#ENVOPTS="-Aa" # options for getting ANSI C
GCOPTS="-g -O2" # options to pass C compiler
GCXXOPTS="-g -O2" # options to pass C++ compiler
#GENDIST="/sbin/gendist" # pathname of SGI inst generator program
#INSTALL='${SHELL} ${PORT}/install.sh' # SGI install program/emulator
#LIBMALLOC="auto" # yes|no|auto configure -lmalloc use
#LIBPORT='${PORT}/libport.a' # library with emulation code
#LIBSUN="auto" # yes|no|auto configure -lsun use
#LLDOPTS="" # extra link line options
#MACHDEPLIBS="" # extra libraries for linking
#PORTFUNCS="" # non-standard functions to emulate
#PROTOTYPES="-prototypes" # C compiler options for checking function prototypes
#RANLIB=":" # pathname of suitable ranlib program
#SHDLIBC="-lc_s" # shared C library, if not standard
#SIGHANDLERTYPES='(void(*)(int,...))' # types to check for signal handler
#STRIP="/bin/strip" # strip program used by install.sh
#
# The source for the TIFF library is not required
# to build this software, but the library is required
# to link against. If libtiff is installed in a
# non-standard location then setup LIBTIFF accordingly.
#
#LIBTIFF="-L/usr/local/lib -ltiff" # linkage convention for libtiff
#TIFFINC="/usr/local/include" # place to find tiffio.h
#TIFFBIN="/usr/local/bin" # where TIFF tools live
#
# The source for the ZLIB library is not required
# to build this software, but the library is required
# to link against. If the copy of the software that is
# include in this distribution is not to be used then
# set ZLIB=no and supply the following definitions.
#
LIBZ="-L/usr/local/lib -lz" # linkage convention for libz
ZLIBINC="/usr/local/include" # place to find zlib.h
#
# The source for the POSIX regular expression package
# is not required to build this software, but the package
# is required to link against. If the copy of the software
# that is included in this distribution is not to be used
# then set REGEX=no and supply the following definitions.
#
#LIBREGEX=" " # linkage convention for regex package
#REGEXINC="/usr/include" # place to find regex.h
#
# The LIBDB hashed database package is (currently) used
# only by the MLA tools that are not publicly available
# but which are built from within this source tree. In
# the future the fax software may use the libdb software
# for the remote client capabilities database (so these
# hooks are included now).
#
# The source for the LIBDB hashed database package
# is not required to build this software, but the package
# is required to link against. If the copy of the software
# that is included in this distribution is not to be used
# then set DBLIB=no and supply the following definitions.
#
#LIBDB=" " # linkage convention for libdb package
#DBLIBINC="/usr/include" # place to find db.h
#
# Parameters to control various workarounds for system bugs.
#
# These parameters are normally set in configure based on
# the target system. If they are set here, then they will
# override anything done by configure.
#
#CONFIG_OPENFIFO="O_RDONLY" # mode to open FIFOs in server proc's
#CONFIG_FIFOBUG="yes" # enable workaround for FIFO select bug
#CONFIG_SELECTBUG="no" # enable workaround for select problem
#CONFIG_TIOCMBISBYREF="yes" # pass arg by reference to ioctl
#CONFIG_WINSZHACK="no" # include extra files for TIOCWINSZ use
#CONFIG_ABORTBUG="no" # enable workaround for abort problems
#CONFIG_NOREOPEN="yes" # reopen tty device after toggling DTR
#CONFIG_NOSTDINDUP="yes" # do not redirect stdout to stdin in ondelay
#CONFIG_BADEXECVPROTO="no" # system has incorrect execv func decl
#CONFIG_BADEXECVEPROTO="no" # system has incorrect execve func decl
#CONFIG_BADGETOPTPROTO="no" # system has incorrect getopt func decl
#CONFIG_SOCKARGLENTYPE="unsigned long" # call-by-ref arg type for socket funcs
#CONFIG_BADSELECTPROTO="no" # system has way old select func decl
#CONFIG_MAXGID="5999" # maximum permissable GID
#CONFIG_OSFCNH="auto" # control inclusion of <osfcn.h>
#
# Dynamic Shared Object (DSO) support.
#
# Beware that adding new support for DSOs may require some
# modifications to the */Makefile.dso files.
#
#DSOSUF="so" # DSO filename suffix
#DSODELAY="-delay_load" # DSO option for delayed loading
#DSOOPTS="-shared -rdata_shared" # options for building DSOs
#
# Makefile construction parameters.
#
# These should not normally be set; configure will
# deduce the appropriate syntax to use for includes.
#
#MAKECXXOVERRIDE="=.C" # make override stuff for SunPRO C++
#MAKEDEPINCLUDE="include" # make include for dependency files
#MAKEDSOINCLUDE="#" # make include for DSO support
#MAKEINCLUDE=".include" # make include syntax
#MAKELQUOTE="<" # make include syntax
#MAKERQUOTE=">" # make include syntax
#SETMAKE='MAKE = ${MAKE}' # define if make does not setup $MAKE
#MKDEPCOPTS="" # C compiler opts to supply w/ -M
#MKDEPCXXOPTS="" # C++ compiler opts to supply w/ -M
#
# General system stuff used by the distribution.
#
# Beware of setting these as configure selects several programs
# based on whether or not they are capable of processing scripts
# included in the distribution (e.g AWK and SCRIPT_SH, SED).
#
#AWK="/bin/awk" # pathname of suitable awk program
#CAT="/bin/cat" # pathname of suitable cat program
#CHGRP="/etc/chgrp" # pathname of suitable chgrp program
#CHMOD="/etc/chmod" # pathname of suitable chmod program
#CHOWN="/etc/chown" # pathname of suitable chown program
#CMP="/bin/cmp" # pathname of suitable cmp program
#COL="/bin/col" # pathname of suitable col program
#CP="/bin/cp" # pathname of suitable cp program
#ECHO="/bin/echo" # pathname of suitable echo program
#GREP="/bin/grep" # pathname of suitable grep program
#LN="/bin/ln" # pathname of suitable ln program
#LN_S="-s" # option to ${LN} to create symlink
#MAN="/usr/bin/man" # pathname of suitable man program
#MKDIR="/bin/mkdir" # pathname of suitable mkdir program
#MKFIFO="/bin/mkfifo" # pathname of suitable mkfifo program
#MV="/bin/mv" # pathname of suitable mv program
#MV_F="-f" # option to ${MV} to force operation
#RMCMD="/bin/rm" # pathname of suitable rm program
#SED="/bin/sed" # pathname of suitable sed program
#SCRIPT_SH="/bin/sh" # pathname of suitable shell
#SORT="/bin/sort" # pathname of suitable sort program