History log of /freebsd-10-stable/lib/libcam/scsi_cmdparse.c
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
# 315122 12-Mar-2017 ngie

MFC r314189,r314190,r314191:

r314189:

Fix up NULL/'\0' uses and fix 2 derefs after NULL

CID: 1018898, 1018899

r314190:

Fix some minor style nits: put parentheses around return values

r314191:

Fix up r314189

The conditional in do_buff_decode(..) after the while loop was accidentally
inverted. Only increment the pointer for fmt if it's not NUL.


# 312565 21-Jan-2017 mav

MFC r311623: Make do_buff_decode() not read past the end of the buffer.

Abort format processing as soon as we have no enough data.


# 299024 03-May-2016 ngie

MFC r298753:

Fix va_list handling

- Add missing va_end's after corresponding va_start's to cleanup state
- Eliminate questionable bzero'ing of va_list passed in to
do_buff_decode(..) and do_encode(..) from buff_{de,en}code_visit(..)
and csio_{de,en}code_visit(..). Make va_list a pointer instead and
pass NULL into the underlying functions to handler this in a portable
way.
- Do some minor style(9) clean up in affected functions.

CID: 1018500-1018503


# 256281 10-Oct-2013 gjb

Copy head (r256279) to stable/10 as part of the 10.0-RELEASE cycle.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation

# 103382 16-Sep-2002 mike

Don't depend on <sys/types.h> pollution in <fcntl.h>.


# 88090 17-Dec-2001 kbyanc

Const'ify the CDB format string passed to the CDB parsing routines
(csio_decode_visit() and family).

Reviewed by: ken


# 84199 30-Sep-2001 dillon

Add __FBSDID()s to libcam


# 64382 08-Aug-2000 kbyanc

This is an overhaul of the mode page handling in camcontrol as well as
related patches. These include:
* Mode page editting can be scripted. This involves two
things: first, if stdin is not a tty, changes are read from
stdin rather than invoking $EDITOR. Second, and more
importantly, not all modepage entries must be included in the
change set. This means that camcontrol can now gracefully handle
more intrusive editting from the $EDITOR, including removal or
rearrangement of lines. It also means that you can do stuff
like:
# echo "WCE: 1" | camcontrol modepage da3 -m 8 -e
# newfs /dev/da3
# echo "WCE: 0" | camcontrol modepage da3 -m 8 -e
* Range-checking on user-supplied input values. modeedit.c now
uses the field width specifiers to determine the maximum
allowable value for a field. If the user enters a value larger
than the maximum, it clips the value to the max and warns the
user. This also involved patching cam_cmdparse.c to be more
consistent with regards to the "count" parameter to arg_put
(previously is was the length of strings and 1 for all integral
types). The cam_cdbparse(3) man page was also updated to reflect
the revised semantics.
* In the process, I removed the 64 entry limit on mode pages (not
that we were even close to hitting that limit). This was a nice
side-effect of the other changes.
* Technically, the new mode editting functionality allows editting
of character array entries in mode pages (type 'c' or 'z'),
however since buff_encode doesn't grok them it is currently
useless.
* Camcontrol gained two new options related to mode pages: -l and
-b. The former lists all available mode pages for a given
device. The latter forces mode page display in binary format
(the default when no mode page definition was found in
scsi_modes).
* Added support for mode page names to scsi_modes. Allows names to
be displayed alongside mode numbers in the mode page
listing. Updated scsi_modes to use the new functionality. This
also adds the semicolon into the scsi_modes syntax as an
optional mode page definition terminator. This is needed to name
pages without providing a page format definition.
* Updated scsi_all.h to include a structure describing mode page
headers.
* Added $FreeBSD$ line to scsi_modes.

Inspired by: dwhite
Reviewed by: ken


# 50476 27-Aug-1999 peter

$Id$ -> $FreeBSD$


# 39381 16-Sep-1998 ken

Fix some Alpha portability problems, and add some belt-and-suspenders
checking in some functions.

Submitted by: dfr
Modified by: ken


# 39209 15-Sep-1998 gibbs

CAM userland utility library, a replacement for libscsi.

Submitted by: "Kenneth D. Merry" <ken@FreeBSD.org>