Commit Graph

4 Commits

Author SHA1 Message Date
will
7c6cb741cf Make the PAM password strength checking module WARNS=2 safe.
lib/libpam/modules/pam_passwdqc/Makefile:
	Bump WARNS to 2.

contrib/pam_modules/pam_passwdqc/pam_passwdqc.c:
	Bump  _XOPEN_SOURCE and _XOPEN_VERSION from 500 to 600
	so that vsnprint() is declared.

	Use the two new union types (pam_conv_item_t and
	pam_text_item_t) to resolve strict aliasing violations
	caused by casts to comply with the pam_get_item() API taking
	a "const void **" for all item types.  Warnings are
	generated for casts that create "type puns" (pointers of
	conflicting sized types that are set to access the same
	memory location) since these pointers may be used in ways
	that violate C's strict aliasing rules.  Casts to a new
	type must be performed through a union in order to be
	compliant, and access must be performed through only one
	of the union's data types during the lifetime of the union
	instance.  Handle strict-aliasing warnings through pointer
	assignments, which drastically simplifies this change.

	Correct a CLANG "printf-like function with more arguments
	than format" error.

Submitted by:	gibbs
Sponsored by:	Spectra Logic
2013-08-27 15:50:26 +00:00
des
8c0e4ba23b Vendor import of pam_passwdqc v0.5. 2002-04-16 22:25:21 +00:00
des
6b6956a9f0 Bug & warning fixes; pretty much what will become 0.5 later this week.
Submitted by:	Solar Designer <solar@openwall.com>
2002-04-14 22:30:54 +00:00
des
4532f219fa Vendor import of Solar Designer's pam_passwdqc module. 2002-04-04 15:50:47 +00:00