* NEWS, lib/getdef.c, man/login.defs.5.xml: New login.defs

variable: MAX_MEMBERS_PER_GROUP. Used for the split groups support.
* lib/commonio.c, lib/commonio.h: Add an open_hook and close_hook
  operation. They are called after the database is actually opened
  and parse, or before it is closed.
* lib/groupio.c: Add an open_hook to merge split groups, and an
  close group to split groups if MAX_MEMBERS_PER_GROUP is set.
  This fixes gpasswd and chgpasswd when split groups are used.
* lib/sgroupio.c, lib/shadowio.c, lib/pwio.c: No open or close
  hooks for these databases. (unsure about what should be the gshadow
  behavior for split groups)
This commit is contained in:
nekral-guest
2007-11-23 00:07:59 +00:00
parent a0488ccac2
commit e15fbb905c
10 changed files with 259 additions and 4 deletions

View File

@@ -52,6 +52,15 @@ struct commonio_ops {
*/
char *(*fgets) (char *, int, FILE *);
int (*fputs) (const char *, FILE *);
/*
* open_hook and close_hook.
* If non NULL, these functions will be called after the database
* is open or before it is closed.
* They return 0 on failure and 1 on success.
*/
int (*open_hook) (void);
int (*close_hook) (void);
};
/*