/* ** Copyright 2004 Double Precision, Inc. See COPYING for ** distribution information. */ #include "courier_auth_config.h" #include "auth.h" #include "pkglibdir.h" #include "pkgincludedir.h" #include "authdaemonrc.h" #include "authldaprc.h" #include "authmysqlrc.h" #include "authpgsqlrc.h" #include "sbindir.h" #include "mailusergroup.h" #include "packageversion.h" #include #include #include #include #include static const char rcsid[]="$Id: authinfo.c,v 1.11 2005/09/03 20:43:20 mrsam Exp $"; static int getmuid() { struct passwd *pw=getpwnam(MAILUSER); if (pw == NULL) { perror("Cannot obtain information for user " MAILUSER); exit(1); } return (pw->pw_uid); } static int getmgid() { struct group *gr=getgrnam(MAILGROUP); if (gr == NULL) { perror("Cannot obtain information for groupid " MAILGROUP); exit(1); } return (gr->gr_gid); } static unsigned getver(const char **a) { unsigned n=0; static const char dig[]="0123456789"; static const char *p; while (**a) { if (**a == '.') { ++*a; break; } if ((p=strchr(dig, **a)) != NULL) n=n*10 + p-dig; ++*a; } return n; } static int versioncmp(const char *a, const char *b) { while (*a && *b) { unsigned va=getver(&a); unsigned vb=getver(&b); if (va < vb) return -1; if (va > vb) return 1; } return 0; } int main(int argc, char **argv) { int n; for (n=1; n