mirror of
https://github.com/linux-pam/linux-pam.git
synced 2024-11-28 04:03:40 +08:00
Relevant BUGIDs: none
Purpose of commit: bugfix Commit summary: --------------- Redefining __u8 and __u32 is a bad idea (breaks PPC64), use u_int8_t and u_int32_t instead.
This commit is contained in:
parent
b0f37d0d3b
commit
fc3b13b0cc
@ -107,6 +107,7 @@ BerliOS Bugs are marked with (BerliOS #XXXX).
|
||||
as experimental. (toady)
|
||||
* configure: Add the directory where new versions of cracklib is
|
||||
installed (from Jim Gifford - toady)
|
||||
* libpamc: Use standard u_intX_t types instead of __uX (kukuk)
|
||||
|
||||
0.78: Do Nov 18 14:48:36 CET 2004
|
||||
|
||||
|
@ -16,19 +16,14 @@ extern "C" {
|
||||
#include <unistd.h>
|
||||
#include <string.h>
|
||||
#include <stdio.h>
|
||||
#include <sys/types.h>
|
||||
|
||||
/* opaque agent handling structure */
|
||||
|
||||
typedef struct pamc_handle_s *pamc_handle_t;
|
||||
|
||||
/* binary prompt structure pointer */
|
||||
#ifndef __u32
|
||||
# define __u32 unsigned int
|
||||
#endif
|
||||
#ifndef __u8
|
||||
# define __u8 unsigned char
|
||||
#endif
|
||||
typedef struct { __u32 length; __u8 control; } *pamc_bp_t;
|
||||
typedef struct { u_int32_t length; u_int8_t control; } *pamc_bp_t;
|
||||
|
||||
/*
|
||||
* functions provided by libpamc
|
||||
@ -91,10 +86,10 @@ char **pamc_list_agents(pamc_handle_t pch);
|
||||
# define PAM_BP_FREE free
|
||||
#endif /* PAM_BP_FREE */
|
||||
|
||||
#define __PAM_BP_WOCTET(x,y) (*((y) + (__u8 *)(x)))
|
||||
#define __PAM_BP_ROCTET(x,y) (*((y) + (const __u8 *)(x)))
|
||||
#define __PAM_BP_WOCTET(x,y) (*((y) + (u_int8_t *)(x)))
|
||||
#define __PAM_BP_ROCTET(x,y) (*((y) + (const u_int8_t *)(x)))
|
||||
|
||||
#define PAM_BP_MIN_SIZE (sizeof(__u32) + sizeof(__u8))
|
||||
#define PAM_BP_MIN_SIZE (sizeof(u_int32_t) + sizeof(u_int8_t))
|
||||
#define PAM_BP_MAX_LENGTH 0x20000 /* an advisory limit */
|
||||
#define PAM_BP_WCONTROL(x) (__PAM_BP_WOCTET(x,4))
|
||||
#define PAM_BP_RCONTROL(x) (__PAM_BP_ROCTET(x,4))
|
||||
@ -103,8 +98,8 @@ char **pamc_list_agents(pamc_handle_t pch);
|
||||
(__PAM_BP_ROCTET(x,2)<< 8)+ \
|
||||
(__PAM_BP_ROCTET(x,3) ))
|
||||
#define PAM_BP_LENGTH(x) (PAM_BP_SIZE(x) - PAM_BP_MIN_SIZE)
|
||||
#define PAM_BP_WDATA(x) (PAM_BP_MIN_SIZE + (__u8 *) (x))
|
||||
#define PAM_BP_RDATA(x) (PAM_BP_MIN_SIZE + (const __u8 *) (x))
|
||||
#define PAM_BP_WDATA(x) (PAM_BP_MIN_SIZE + (u_int8_t *) (x))
|
||||
#define PAM_BP_RDATA(x) (PAM_BP_MIN_SIZE + (const u_int8_t *) (x))
|
||||
|
||||
/* Note, this macro always '\0' terminates renewed packets */
|
||||
|
||||
@ -112,13 +107,13 @@ char **pamc_list_agents(pamc_handle_t pch);
|
||||
do { \
|
||||
if (old_p) { \
|
||||
if (*(old_p)) { \
|
||||
__u32 __size; \
|
||||
u_int32_t __size; \
|
||||
__size = PAM_BP_SIZE(*(old_p)); \
|
||||
memset(*(old_p), 0, __size); \
|
||||
PAM_BP_FREE(*(old_p)); \
|
||||
} \
|
||||
if (cntrl) { \
|
||||
__u32 __size; \
|
||||
u_int32_t __size; \
|
||||
\
|
||||
__size = PAM_BP_MIN_SIZE + data_length; \
|
||||
if ((*(old_p) = PAM_BP_CALLOC(1, 1+__size))) { \
|
||||
@ -141,7 +136,7 @@ do { \
|
||||
#define PAM_BP_FILL(prmpt, offset, length, data) \
|
||||
do { \
|
||||
size_t bp_length; \
|
||||
__u8 *prompt = (__u8 *) (prmpt); \
|
||||
u_int8_t *prompt = (u_int8_t *) (prmpt); \
|
||||
bp_length = PAM_BP_LENGTH(prompt); \
|
||||
if (bp_length < ((length)+(offset))) { \
|
||||
PAM_BP_ASSERT("attempt to write over end of prompt"); \
|
||||
@ -152,7 +147,7 @@ do { \
|
||||
#define PAM_BP_EXTRACT(prmpt, offset, length, data) \
|
||||
do { \
|
||||
size_t __bp_length; \
|
||||
const __u8 *__prompt = (const __u8 *) (prmpt); \
|
||||
const u_int8_t *__prompt = (const u_int8_t *) (prmpt); \
|
||||
__bp_length = PAM_BP_LENGTH(__prompt); \
|
||||
if (((offset) < 0) || (__bp_length < ((length)+(offset))) \
|
||||
|| ((length) < 0)) { \
|
||||
|
@ -34,8 +34,8 @@ static int __pamc_select_agent(pamc_handle_t pch, char *agent_id)
|
||||
|
||||
int pamc_converse(pamc_handle_t pch, pamc_bp_t *prompt_p)
|
||||
{
|
||||
__u32 size, offset=0;
|
||||
__u8 control, raw[PAM_BP_MIN_SIZE];
|
||||
u_int32_t size, offset=0;
|
||||
u_int8_t control, raw[PAM_BP_MIN_SIZE];
|
||||
|
||||
D(("called"));
|
||||
|
||||
@ -109,7 +109,7 @@ int pamc_converse(pamc_handle_t pch, pamc_bp_t *prompt_p)
|
||||
/* pump all of the prompt into the agent */
|
||||
do {
|
||||
int rval = write(pch->current->writer,
|
||||
offset + (const __u8 *) (*prompt_p),
|
||||
offset + (const u_int8_t *) (*prompt_p),
|
||||
size - offset);
|
||||
if (rval == -1) {
|
||||
switch (errno) {
|
||||
@ -171,7 +171,7 @@ int pamc_converse(pamc_handle_t pch, pamc_bp_t *prompt_p)
|
||||
value from the previous loop */
|
||||
|
||||
while (offset < size) {
|
||||
int rval = read(pch->current->reader, offset + (__u8 *) *prompt_p,
|
||||
int rval = read(pch->current->reader, offset + (u_int8_t *) *prompt_p,
|
||||
size-offset);
|
||||
|
||||
if (rval == -1) {
|
||||
|
Loading…
Reference in New Issue
Block a user