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




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



Project hosted by iFAX Solutions