address option ioctl-intp failed with "unimplemented type 26"

This commit is contained in:
Gerhard Rieger 2010-10-05 09:11:47 +02:00
parent 290b62c817
commit 06179edeb6
3 changed files with 13 additions and 6 deletions

View file

@ -17,6 +17,9 @@ corrections:
TCP-CONNECT with option nonblock reported successful connect even when TCP-CONNECT with option nonblock reported successful connect even when
it was still pending it was still pending
address option ioctl-intp failed with "unimplemented type 26". Thanks
to Jeremy W. Sherman for reporting and fixing that bug
####################### V 1.7.1.3: ####################### V 1.7.1.3:
security: security:

View file

@ -261,7 +261,10 @@ label(ADDRESS_CREAT)dit(bf(tt(CREATE:<filename>)))
Opens link(<filename>)(TYPE_FILENAME) with code(creat()) and uses the file Opens link(<filename>)(TYPE_FILENAME) with code(creat()) and uses the file
descriptor for writing. descriptor for writing.
This address type requires write-only context, because a file opened with This address type requires write-only context, because a file opened with
code(creat) cannot be read from. code(creat) cannot be read from. nl()
Flags like O_LARGEFILE cannot be applied. If you need them use
link(OPEN)(ADDRESS_OPEN) with options
link(create)(OPTION_O_CREAT),link(create)(OPTION_O_TRUNC). nl()
<filename> must be a valid existing or not existing path. <filename> must be a valid existing or not existing path.
If <filename> is a named pipe, code(creat()) might block; If <filename> is a named pipe, code(creat()) might block;
if <filename> refers to a socket, this is an error.nl() if <filename> refers to a socket, this is an error.nl()
@ -465,7 +468,7 @@ label(ADDRESS_OPEN)dit(bf(tt(OPEN:<filename>)))
Note: This address type is rarly useful in bidirectional mode.nl() Note: This address type is rarly useful in bidirectional mode.nl()
Option groups: link(FD)(GROUP_FD),link(REG)(GROUP_REG),link(NAMED)(GROUP_NAMED),link(OPEN)(GROUP_OPEN) nl() Option groups: link(FD)(GROUP_FD),link(REG)(GROUP_REG),link(NAMED)(GROUP_NAMED),link(OPEN)(GROUP_OPEN) nl()
Useful options: Useful options:
link(creat)(OPTION_CREAT), link(creat)(OPTION_O_CREAT),
link(excl)(OPTION_EXCL), link(excl)(OPTION_EXCL),
link(noatime)(OPTION_O_NOATIME), link(noatime)(OPTION_O_NOATIME),
link(nofollow)(OPTION_NOFOLLOW), link(nofollow)(OPTION_NOFOLLOW),
@ -1573,7 +1576,7 @@ E.g., option `creat' sets the code(O_CREAT) flag.nl()
See also options link(append)(OPTION_APPEND) and See also options link(append)(OPTION_APPEND) and
link(nonblock)(OPTION_NONBLOCK). link(nonblock)(OPTION_NONBLOCK).
startdit() startdit()
label(OPTION_CREAT)dit(bf(tt(creat=<bool>))) label(OPTION_O_CREAT)dit(bf(tt(creat=<bool>)))
Creates the file if it does not exist (link(example)(EXAMPLE_OPTION_CREAT)). Creates the file if it does not exist (link(example)(EXAMPLE_OPTION_CREAT)).
label(OPTION_DSYNC)dit(bf(tt(dsync=<bool>))) label(OPTION_DSYNC)dit(bf(tt(dsync=<bool>)))
Blocks code(write()) calls until metainfo is physically written to media. Blocks code(write()) calls until metainfo is physically written to media.
@ -1608,7 +1611,7 @@ COMMENT(label(OPTION_RDWR)dit(bf(tt(rdwr=<bool>)))
Opens the file for reading and writing.) Opens the file for reading and writing.)
label(OPTION_WRONLY)dit(bf(tt(wronly=<bool>))) label(OPTION_WRONLY)dit(bf(tt(wronly=<bool>)))
Opens the file for writing only. Opens the file for writing only.
label(OPTION_TRUNC)dit(bf(tt(trunc))) label(OPTION_O_TRUNC)dit(bf(tt(trunc)))
Truncates the file to size 0 during opening it. Truncates the file to size 0 during opening it.
enddit() enddit()
@ -3063,7 +3066,7 @@ htmlcommand(<dt><code><strong>socat -u TCP4-LISTEN:3334,reuseaddr,fork \</strong
implements a simple network based message collector. implements a simple network based message collector.
For each client connecting to port 3334, a new child process is generated (option link(fork)(OPTION_FORK)). For each client connecting to port 3334, a new child process is generated (option link(fork)(OPTION_FORK)).
All data sent by the clients are link(append)(OPTION_APPEND)'ed to the file /tmp/in.log. All data sent by the clients are link(append)(OPTION_APPEND)'ed to the file /tmp/in.log.
If the file does not exist, socat link(creat)(OPTION_CREAT)'s it. If the file does not exist, socat link(creat)(OPTION_O_CREAT)'s it.
Option link(reuseaddr)(OPTION_REUSEADDR) allows immediate restart of the server Option link(reuseaddr)(OPTION_REUSEADDR) allows immediate restart of the server
process. process.

View file

@ -1,5 +1,5 @@
/* source: xioopts.c */ /* source: xioopts.c */
/* Copyright Gerhard Rieger 2001-2009 */ /* Copyright Gerhard Rieger 2001-2010 */
/* Published under the GNU General Public License V.2, see file COPYING */ /* Published under the GNU General Public License V.2, see file COPYING */
/* this file contains the source for address options handling */ /* this file contains the source for address options handling */
@ -2136,6 +2136,7 @@ int parseopts_table(const char **a, unsigned int groups, struct opt **opts,
#endif /* HAVE_STRUCT_LINGER */ #endif /* HAVE_STRUCT_LINGER */
case TYPE_INT_INT: case TYPE_INT_INT:
case TYPE_INT_INTP:
if (!assign) { if (!assign) {
Error1("option \"%s\": values required", a0); Error1("option \"%s\": values required", a0);
continue; continue;