const char *name;
const char *value;
const size_t size;
- size_t value_length;
} ;
/* tom@minnesota.com */
static PGconn *pgconn=0;
+/*
+* session variables can be set once for the whole session
+*/
+
+static void set_session_options(void)
+{
+ const char *character_set=read_env("PGSQL_CHARACTER_SET"), *check;
+
+ if (character_set)
+ {
+ PQsetClientEncoding(pgconn, character_set);
+ check = pg_encoding_to_char(PQclientEncoding(pgconn));
+ if (strcmp(character_set, check) != 0)
+ {
+ err("Cannot set Postgresql character set \"%s\", working with \"%s\"\n",
+ character_set, check);
+ }
+ else
+ {
+ DPRINTF("Install of a character set for Postgresql: %s", character_set);
+ }
+ }
+}
+
+
+
/*
static FILE *DEBUG=0;
*/
fflush(DEBUG);
*/
+ set_session_options();
return 0;
}
static struct authpgsqluserinfo ui={0, 0, 0, 0, 0, 0, 0, 0};
-static void append_username(char *p, const char *username,
- const char *defdomain)
+static char *get_username_escaped(const char *username,
+ const char *defdomain)
{
- for (strcpy(p, username); *p; p++)
- if (*p == '\'' || *p == '"' || *p == '\\' ||
- (int)(unsigned char)*p < ' ')
- *p=' '; /* No funny business */
- if (strchr(username, '@') == 0 && defdomain && *defdomain)
- strcat(strcpy(p, "@"), defdomain);
+ char *username_escaped;
+ int *error = NULL;
+
+ if (!defdomain)
+ defdomain="";
+
+ username_escaped=malloc(strlen(username)*2+2+strlen(defdomain));
+
+ if (!username_escaped)
+ {
+ perror("malloc");
+ return 0;
+ }
+
+ PQescapeStringConn(pgconn, username_escaped, username, strlen(username), error);
+
+ if (strchr(username, '@') == 0 && *defdomain)
+ strcat(strcat(username_escaped, "@"), defdomain);
+
+ return username_escaped;
}
/* tom@minnesota.com */
static struct var_data *get_variable (const char *begin, size_t len,
- struct var_data *vdt)
+ struct var_data *vdt)
{
struct var_data *vdp;
{
if (!vdp->value)
vdp->value = "";
- if (!vdp->value_length) /* length cache */
- vdp->value_length = strlen (vdp->value);
return vdp;
}
q = source;
while ( (p=strstr(q, SV_BEGIN_MARK)) )
{
+ char *enc;
+
e = strstr (p, SV_END_MARK);
if (!e)
{
/* work on variable */
v_ptr = get_variable (v_begin, v_size, vdt);
if (!v_ptr) return -1;
-
- if ( (outfn (v_ptr->value, v_ptr->value_length, result)) == -1 )
+
+ enc=malloc(strlen(v_ptr->value)*2+1);
+
+ if (!enc)
return -1;
-
+
+ PQescapeStringConn(pgconn, enc, v_ptr->value,
+ strlen(v_ptr->value), NULL);
+
+ if ( (outfn (enc, strlen(enc), result)) == -1 )
+ {
+ free(enc);
+ return -1;
+ }
+ free(enc);
+
q = e + 1;
}
/* tom@minnesota.com */
static char *parse_string (const char *source, struct var_data *vdt)
{
-struct var_data *vdp = NULL;
char *output_buf = NULL,
*pass_buf = NULL;
size_t buf_size = 2;
return NULL;
}
- /* zero var_data length cache - important! */
- for (vdp=vdt; vdp->name; vdp++)
- vdp->value_length = 0;
-
-
/* phase 1 - count and validate string */
if ( (parse_core (source, vdt, &ParsePlugin_counter, &buf_size)) != 0)
return NULL;
return output_buf;
}
-/* tom@minnesota.com */
-static const char *get_localpart (const char *username)
+static char *get_localpart (const char *username)
{
-size_t lbuf = 0;
-const char *l_end, *p;
-char *q;
-static char localpart_buf[130];
-
- if (!username || *username == '\0') return NULL;
-
- p = strchr(username,'@');
- if (p)
- {
- if ((p-username) > 128)
- return NULL;
- l_end = p;
- }
- else
- {
- if ((lbuf = strlen(username)) > 128)
- return NULL;
- l_end = username + lbuf;
- }
+ char *p=strdup(username);
+ char *q;
- p=username;
- q=localpart_buf;
-
- while (*p && p != l_end)
- if (*p == '\"' || *p == '\\' ||
- *p == '\'' || (int)(unsigned char)*p < ' ')
- p++;
- else
- *q++ = *p++;
+ if (!p)
+ return 0;
- *q = '\0';
- return localpart_buf;
-}
-
-/* tom@minnesota.com */
-static const char *get_domain (const char *username, const char *defdomain)
-{
-static char domain_buf[260];
-const char *p;
-char *q;
-
- if (!username || *username == '\0') return NULL;
- p = strchr(username,'@');
-
- if (!p || *(p+1) == '\0')
- {
- if (defdomain && *defdomain)
- return defdomain;
- else
- return NULL;
- }
+ q=strchr(p, '@');
- p++;
- if ((strlen(p)) > 256)
- return NULL;
-
- q = domain_buf;
- while (*p)
- if (*p == '\"' || *p == '\\' ||
- *p == '\'' || (int)(unsigned char)*p < ' ')
- p++;
- else
- *q++ = *p++;
+ if (q)
+ *q=0;
- *q = '\0';
- return domain_buf;
+ return p;
}
-/* tom@minnesota.com */
-
-static const char *validate_password (const char *password)
+static const char *get_domain (const char *username, const char *defdomain)
{
-static char pass_buf[2][540]; /* Use two buffers, see parse_chpass_clause */
-static int next_pass=0;
-const char *p;
-char *q, *endq;
-
- if (!password || *password == '\0' || (strlen(password)) > 256)
- return NULL;
-
- next_pass= 1-next_pass;
+ const char *p=strchr(username, '@');
- p = password;
- q = pass_buf[next_pass];
- endq = q + sizeof pass_buf[next_pass];
-
- while (*p && q < endq)
- {
- if (*p == '\"' || *p == '\\' || *p == '\'')
- *q++ = '\\';
- *q++ = *p++;
- }
-
- if (q >= endq)
- return NULL;
-
- *q = '\0';
- return pass_buf[next_pass];
+ if (p)
+ return p+1;
+
+ return defdomain;
}
/* tom@minnesota.com */
const char *defdomain,
const char *service)
{
-static struct var_data vd[]={
- {"local_part", NULL, sizeof("local_part"), 0},
- {"domain", NULL, sizeof("domain"), 0},
- {"service", NULL, sizeof("service"), 0},
- {NULL, NULL, 0, 0}};
+ char *localpart, *ret;
+ static struct var_data vd[]={
+ {"local_part", NULL, sizeof("local_part")},
+ {"domain", NULL, sizeof("domain")},
+ {"service", NULL, sizeof("service")},
+ {NULL, NULL, 0}};
if (clause == NULL || *clause == '\0' ||
!username || *username == '\0')
return NULL;
- vd[0].value = get_localpart (username);
+ localpart=get_localpart(username);
+ if (!localpart)
+ return NULL;
+
+ vd[0].value = localpart;
vd[1].value = get_domain (username, defdomain);
- if (!vd[0].value || !vd[1].value)
+
+ if (!vd[1].value)
+ {
+ free(localpart);
return NULL;
+ }
vd[2].value = service;
- return (parse_string (clause, vd));
+ ret=parse_string (clause, vd);
+ free(localpart);
+ return ret;
}
/* tom@minnesota.com */
const char *defdomain, const char *newpass,
const char *newpass_crypt)
{
-static struct var_data vd[]={
- {"local_part", NULL, sizeof("local_part"), 0},
- {"domain", NULL, sizeof("domain"), 0},
- {"newpass", NULL, sizeof("newpass"), 0},
- {"newpass_crypt", NULL, sizeof("newpass_crypt"), 0},
- {NULL, NULL, 0, 0}};
+ char *localpart, *ret;
+
+ static struct var_data vd[]={
+ {"local_part", NULL, sizeof("local_part")},
+ {"domain", NULL, sizeof("domain")},
+ {"newpass", NULL, sizeof("newpass")},
+ {"newpass_crypt", NULL, sizeof("newpass_crypt")},
+ {NULL, NULL, 0}};
if (clause == NULL || *clause == '\0' ||
!username || *username == '\0' ||
!newpass || *newpass == '\0' ||
!newpass_crypt || *newpass_crypt == '\0') return NULL;
- vd[0].value = get_localpart (username);
+ localpart=get_localpart(username);
+ if (!localpart)
+ return NULL;
+
+ vd[0].value = localpart;
vd[1].value = get_domain (username, defdomain);
- vd[2].value = validate_password (newpass);
- vd[3].value = validate_password (newpass_crypt);
+ vd[2].value = newpass;
+ vd[3].value = newpass_crypt;
- if (!vd[0].value || !vd[1].value ||
- !vd[2].value || !vd[3].value) return NULL;
+ if (!vd[1].value || !vd[2].value || !vd[3].value)
+ {
+ free(localpart);
+ return NULL;
+ }
- return (parse_string (clause, vd));
+ ret=parse_string (clause, vd);
+ free(localpart);
+ return ret;
}
static void initui()
struct authpgsqluserinfo *auth_pgsql_getuserinfo(const char *username,
const char *service)
{
-const char *defdomain, *select_clause;
-char *querybuf, *p;
+ const char *defdomain, *select_clause;
+ char *querybuf;
+ size_t query_size;
+ char dummy_buf[1];
+
+#define SELECT_QUERY "SELECT %s, %s, %s, %s, %s, %s, %s, %s, %s, %s FROM %s WHERE %s = '%s' %s%s%s", \
+ login_field, crypt_field, clear_field, \
+ uid_field, gid_field, home_field, maildir_field, \
+ quota_field, \
+ name_field, \
+ options_field, \
+ user_table, login_field, username_escaped, \
+ where_pfix, where_clause, where_sfix
-static const char query[]=
- "SELECT %s, %s, %s, %s, %s, %s, %s, %s, %s, %s FROM %s WHERE %s = '";
if (do_connect()) return (0);
*options_field,
*where_clause;
+ const char *where_pfix, *where_sfix;
+ char *username_escaped;
+
user_table=read_env("PGSQL_USER_TABLE");
if (!user_table)
where_clause=read_env("PGSQL_WHERE_CLAUSE");
if (!where_clause) where_clause = "";
- querybuf=malloc(sizeof(query) + 100
- + 2 * strlen(login_field)
- + strlen(crypt_field)
- + strlen(clear_field)
- + strlen(uid_field) + strlen(gid_field)
- + strlen(home_field)
- + strlen(maildir_field)
- + strlen(quota_field)
- + strlen(name_field)
- + strlen(options_field)
- + strlen(user_table)
- + strlen(username)
- + strlen(defdomain)
- + strlen(where_clause));
+ where_pfix=where_sfix="";
- if (!querybuf)
+ if (strcmp(where_clause, ""))
{
- perror("malloc");
- return (0);
+ where_pfix=" AND (";
+ where_sfix=")";
}
- sprintf(querybuf, query, login_field, crypt_field, clear_field,
- uid_field, gid_field, home_field, maildir_field,
- quota_field,
- name_field,
- options_field,
- user_table, login_field);
- p=querybuf+strlen(querybuf);
+ username_escaped=get_username_escaped(username, defdomain);
- append_username(p, username, defdomain);
- strcat(p, "'");
-
- if (strcmp(where_clause, "")) {
- strcat(p, " AND (");
- strcat(p, where_clause);
- strcat(p, ")");
+ if (!username_escaped)
+ return 0;
+
+ query_size=snprintf(dummy_buf, 1, SELECT_QUERY);
+
+ querybuf=malloc(query_size+1);
+
+ if (!querybuf)
+ {
+ free(username_escaped);
+ perror("malloc");
+ return 0;
}
+
+ snprintf(querybuf, query_size+1, SELECT_QUERY);
+ free(username_escaped);
}
else
{
const char *oldpass)
{
char *newpass_crypt;
- const char *p;
- int l;
char *sql_buf;
- const char *comma;
+ size_t sql_buf_size;
+ char dummy_buf[1];
int rc=0;
+ char *clear_escaped;
+ char *crypt_escaped;
+ int *error = NULL;
+
+ char *username_escaped;
+
const char *clear_field=NULL;
const char *crypt_field=NULL;
const char *defdomain=NULL;
if (!(newpass_crypt=authcryptpasswd(pass, oldpass)))
return (-1);
- for (l=0, p=pass; *p; p++)
- {
- if ((int)(unsigned char)*p < ' ')
- {
- free(newpass_crypt);
- return (-1);
- }
- if (*p == '"' || *p == '\\')
- ++l;
- ++l;
- }
+ clear_escaped=malloc(strlen(pass)*2+1);
+
+ if (!clear_escaped)
+ {
+ perror("malloc");
+ free(newpass_crypt);
+ return -1;
+ }
+
+ crypt_escaped=malloc(strlen(newpass_crypt)*2+1);
+
+ if (!crypt_escaped)
+ {
+ perror("malloc");
+ free(clear_escaped);
+ free(newpass_crypt);
+ return -1;
+ }
+
+ PQescapeStringConn(pgconn, clear_escaped, pass, strlen(pass), error);
+ PQescapeStringConn(pgconn, crypt_escaped,
+ newpass_crypt, strlen(newpass_crypt), error);
+
+
/* tom@minnesota.com */
chpass_clause=read_env("PGSQL_CHPASS_CLAUSE");
crypt_field=read_env("PGSQL_CRYPT_PWFIELD");
clear_field=read_env("PGSQL_CLEAR_PWFIELD");
where_clause=read_env("PGSQL_WHERE_CLAUSE");
- sql_buf=malloc(strlen(crypt_field ? crypt_field:"")
- + strlen(clear_field ? clear_field:"")
- + strlen(defdomain ? defdomain:"")
- + strlen(login_field) + l + strlen(newpass_crypt)
- + strlen(user_table)
- + strlen(where_clause ? where_clause:"")
- + 200);
+
+ username_escaped=get_username_escaped(user, defdomain);
+
+ if (!username_escaped)
+ return -1;
+
+ if (!where_clause)
+ where_clause="";
+
+ if (!crypt_field)
+ crypt_field="";
+
+ if (!clear_field)
+ clear_field="";
+
+#define DEFAULT_SETPASS_UPDATE \
+ "UPDATE %s SET %s%s%s%s %s %s%s%s%s WHERE %s='%s' %s%s%s", \
+ user_table, \
+ *clear_field ? clear_field:"", \
+ *clear_field ? "='":"", \
+ *clear_field ? clear_escaped:"", \
+ *clear_field ? "'":"", \
+ \
+ *clear_field && *crypt_field ? ",":"", \
+ \
+ *crypt_field ? crypt_field:"", \
+ *crypt_field ? "='":"", \
+ *crypt_field ? crypt_escaped:"", \
+ *crypt_field ? "'":"", \
+ \
+ login_field, username_escaped, \
+ *where_clause ? " AND (":"", where_clause, \
+ *where_clause ? ")":""
+
+
+ sql_buf_size=snprintf(dummy_buf, 1, DEFAULT_SETPASS_UPDATE);
+
+ sql_buf=malloc(sql_buf_size+1);
+
+ if (sql_buf)
+ snprintf(sql_buf, sql_buf_size+1,
+ DEFAULT_SETPASS_UPDATE);
+
+ free(username_escaped);
}
else
{
if (!sql_buf)
{
+ free(clear_escaped);
free(newpass_crypt);
return (-1);
}
-
- if (!chpass_clause) /* tom@minnesota.com */
- {
- sprintf(sql_buf, "UPDATE %s SET", user_table);
-
- comma="";
-
- if (clear_field && *clear_field)
- {
- char *q;
-
- strcat(strcat(strcat(sql_buf, " "), clear_field),
- "='");
-
- q=sql_buf+strlen(sql_buf);
- while (*pass)
- {
- if (*pass == '"' || *pass == '\\')
- *q++= '\\';
- *q++ = *pass++;
- }
- strcpy(q, "'");
- comma=", ";
- }
-
- if (crypt_field && *crypt_field)
- {
- strcat(strcat(strcat(strcat(strcat(strcat(sql_buf, comma),
- " "),
- crypt_field),
- "='"),
- newpass_crypt),
- "'");
- }
- free(newpass_crypt);
-
- strcat(strcat(strcat(sql_buf, " WHERE "),
- login_field),
- "='");
-
- append_username(sql_buf+strlen(sql_buf), user, defdomain);
-
- strcat(sql_buf, "'");
-
- if (where_clause && *where_clause)
- {
- strcat(sql_buf, " AND (");
- strcat(sql_buf, where_clause);
- strcat(sql_buf, ")");
- }
-
- } /* end of: if (!chpass_clause) */
-
if (courier_authdebug_login_level >= 2)
{
DPRINTF("setpass SQL: %s", sql_buf);
auth_pgsql_cleanup();
}
PQclear(pgresult);
+ free(clear_escaped);
+ free(crypt_escaped);
+ free(newpass_crypt);
free(sql_buf);
return (rc);
}
void *void_arg)
{
const char *select_clause, *defdomain;
- char *querybuf, *p;
+ char *querybuf;
-static const char query[]=
- "SELECT %s, %s, %s, %s, %s, %s FROM %s WHERE 1=1";
-int i,n;
+ int i,n;
if (do_connect()) return;
*maildir_field,
*options_field,
*where_clause;
+ char dummy_buf[1];
+ size_t query_len;
user_table=read_env("PGSQL_USER_TABLE");
where_clause=read_env("PGSQL_WHERE_CLAUSE");
if (!where_clause) where_clause = "";
- querybuf=malloc(sizeof(query) + 100
- + strlen(login_field)
- + strlen(uid_field) + strlen(gid_field)
- + strlen(home_field)
- + strlen(maildir_field)
- + strlen(options_field)
- + strlen(user_table)
- + strlen(where_clause));
+#define DEFAULT_ENUMERATE_QUERY \
+ "SELECT %s, %s, %s, %s, %s, %s FROM %s %s%s",\
+ login_field, uid_field, gid_field, \
+ home_field, maildir_field, \
+ options_field, user_table, \
+ *where_clause ? " WHERE ":"", \
+ where_clause
+
+
+ query_len=snprintf(dummy_buf, 1, DEFAULT_ENUMERATE_QUERY);
+
+ querybuf=malloc(query_len+1);
if (!querybuf)
{
return;
}
- sprintf(querybuf, query, login_field,
- uid_field, gid_field, home_field, maildir_field,
- options_field, user_table);
- p=querybuf+strlen(querybuf);
-
- if (strcmp(where_clause, "")) {
- strcat(p, " AND (");
- strcat(p, where_clause);
- strcat(p, ")");
- }
+ snprintf(querybuf, query_len+1, DEFAULT_ENUMERATE_QUERY);
}
else
{
-##VERSION: $Id: authpgsqlrc,v 1.12 2004/11/25 15:08:27 mrsam Exp $
+##VERSION: $Id: $
#
-# Copyright 2000-2004 Double Precision, Inc. See COPYING for
+# Copyright 2000-2008 Double Precision, Inc. See COPYING for
# distribution information.
#
# Do not alter lines that begin with ##, they are used when upgrading
PGSQL_DATABASE template1
+##NAME: PGSQL_CHARACTER_SET:0
+#
+# Optionally install a character set mapping. Restart authdaemond, send a test
+# query using authtest and check for error messages in syslog/maillog.
+#
+# PGSQL_CHARACTER_SET UTF8
+
##NAME: PGSQL_USER_TABLE:0
#
# The name of the table containing your user data. See README.authmysqlrc
#! /bin/sh
# Attempt to guess a canonical system name.
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation,
-# Inc.
+# 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
-timestamp='2007-05-17'
+timestamp='2005-08-03'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
: ${TMPDIR=/tmp} ;
- { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
+ { tmp=`(umask 077 && mktemp -d -q "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
{ test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
{ tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
{ echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
arm*) machine=arm-unknown ;;
sh3el) machine=shl-unknown ;;
sh3eb) machine=sh-unknown ;;
- sh5el) machine=sh5le-unknown ;;
*) machine=${UNAME_MACHINE_ARCH}-unknown ;;
esac
# The Operating System including object format, if it has switched
*:ekkoBSD:*:*)
echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
exit ;;
- *:SolidBSD:*:*)
- echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
- exit ;;
macppc:MirBSD:*:*)
- echo powerpc-unknown-mirbsd${UNAME_RELEASE}
+ echo powerppc-unknown-mirbsd${UNAME_RELEASE}
exit ;;
*:MirBSD:*:*)
echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
exit ;;
- i86pc:SunOS:5.*:* | ix86xen:SunOS:5.*:*)
+ i86pc:SunOS:5.*:*)
echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
exit ;;
sun4*:SunOS:6*:*)
echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
exit ;;
*:FreeBSD:*:*)
- case ${UNAME_MACHINE} in
- pc98)
- echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
- amd64)
- echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
- *)
- echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
- esac
+ echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
exit ;;
i*:CYGWIN*:*)
echo ${UNAME_MACHINE}-pc-cygwin
exit ;;
- *:MINGW*:*)
+ i*:MINGW*:*)
echo ${UNAME_MACHINE}-pc-mingw32
exit ;;
i*:windows32*:*)
i*:PW*:*)
echo ${UNAME_MACHINE}-pc-pw32
exit ;;
- *:Interix*:[3456]*)
- case ${UNAME_MACHINE} in
- x86)
- echo i586-pc-interix${UNAME_RELEASE}
- exit ;;
- EM64T | authenticamd)
- echo x86_64-unknown-interix${UNAME_RELEASE}
- exit ;;
- esac ;;
+ x86:Interix*:[34]*)
+ echo i586-pc-interix${UNAME_RELEASE}|sed -e 's/\..*//'
+ exit ;;
[345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
echo i${UNAME_MACHINE}-pc-mks
exit ;;
arm*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu
exit ;;
- avr32*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit ;;
cris:Linux:*:*)
echo cris-axis-linux-gnu
exit ;;
#endif
#endif
EOF
- eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
- /^CPU/{
- s: ::g
- p
- }'`"
+ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
;;
mips64:Linux:*:*)
#endif
#endif
EOF
- eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
- /^CPU/{
- s: ::g
- p
- }'`"
+ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
;;
or32:Linux:*:*)
sparc:Linux:*:* | sparc64:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu
exit ;;
- vax:Linux:*:*)
- echo ${UNAME_MACHINE}-dec-linux-gnu
- exit ;;
x86_64:Linux:*:*)
echo x86_64-unknown-linux-gnu
exit ;;
- xtensa:Linux:*:*)
- echo xtensa-unknown-linux-gnu
- exit ;;
i*86:Linux:*:*)
# The BFD linker knows what the default object file format is, so
# first see if it will tell us. cd to the root directory to prevent
LIBC=gnulibc1
# endif
#else
- #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC)
+ #ifdef __INTEL_COMPILER
LIBC=gnu
#else
LIBC=gnuaout
LIBC=dietlibc
#endif
EOF
- eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
- /^LIBC/{
- s: ::g
- p
- }'`"
+ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
test x"${LIBC}" != x && {
echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
exit
SX-6:SUPER-UX:*:*)
echo sx6-nec-superux${UNAME_RELEASE}
exit ;;
- SX-7:SUPER-UX:*:*)
- echo sx7-nec-superux${UNAME_RELEASE}
- exit ;;
- SX-8:SUPER-UX:*:*)
- echo sx8-nec-superux${UNAME_RELEASE}
- exit ;;
- SX-8R:SUPER-UX:*:*)
- echo sx8r-nec-superux${UNAME_RELEASE}
- exit ;;
Power*:Rhapsody:*:*)
echo powerpc-apple-rhapsody${UNAME_RELEASE}
exit ;;
*:Darwin:*:*)
UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
case $UNAME_PROCESSOR in
+ *86) UNAME_PROCESSOR=i686 ;;
unknown) UNAME_PROCESSOR=powerpc ;;
esac
echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
i*86:skyos:*:*)
echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
exit ;;
- i*86:rdos:*:*)
- echo ${UNAME_MACHINE}-pc-rdos
- exit ;;
esac
#echo '(No uname command or uname output not recognized.)' 1>&2
#! /bin/sh
# Configuration validation subroutine script.
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation,
-# Inc.
+# 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
-timestamp='2007-04-29'
+timestamp='2005-07-08'
# This file is (in principle) common to ALL GNU software.
# The presence of a machine in this file suggests that SOME GNU software
# Here we must recognize all the valid KERNEL-OS combinations.
maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
case $maybe_os in
- nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
- uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
- storm-chaos* | os2-emx* | rtmk-nova*)
+ nto-qnx* | linux-gnu* | linux-dietlibc | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | \
+ kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*)
os=-$maybe_os
basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
;;
-hiux*)
os=-hiuxwe2
;;
- -sco6)
- os=-sco5v6
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
-sco5)
os=-sco3.2v5
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
# Don't forget version if it is 3.2v4 or newer.
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
- -sco5v6*)
- # Don't forget version if it is 3.2v4 or newer.
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
-sco*)
os=-sco3.2v2
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
| am33_2.0 \
- | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
+ | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \
| bfin \
| c4x | clipper \
| d10v | d30v | dlx | dsp16xx \
- | fido | fr30 | frv \
+ | fr30 | frv \
| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
| i370 | i860 | i960 | ia64 \
| ip2k | iq2000 \
- | m32c | m32r | m32rle | m68000 | m68k | m88k \
- | maxq | mb | microblaze | mcore | mep \
+ | m32r | m32rle | m68000 | m68k | m88k | maxq | mcore \
| mips | mipsbe | mipseb | mipsel | mipsle \
| mips16 \
| mips64 | mips64el \
| mipsisa64sr71k | mipsisa64sr71kel \
| mipstx39 | mipstx39el \
| mn10200 | mn10300 \
- | mt \
+ | ms1 \
| msp430 \
- | nios | nios2 \
| ns16k | ns32k \
| or32 \
| pdp10 | pdp11 | pj | pjl \
| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
| pyramid \
- | score \
- | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
+ | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \
| sh64 | sh64le \
- | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
- | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
- | spu | strongarm \
+ | sparc | sparc64 | sparc64b | sparc86x | sparclet | sparclite \
+ | sparcv8 | sparcv9 | sparcv9b \
+ | strongarm \
| tahoe | thumb | tic4x | tic80 | tron \
| v850 | v850e \
| we32k \
- | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
+ | x86 | xscale | xscalee[bl] | xstormy16 | xtensa \
| z8k)
basic_machine=$basic_machine-unknown
;;
+ m32c)
+ basic_machine=$basic_machine-unknown
+ ;;
m6811 | m68hc11 | m6812 | m68hc12)
# Motorola 68HC11/12.
basic_machine=$basic_machine-unknown
;;
m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
;;
- ms1)
- basic_machine=mt-unknown
- ;;
# We use `pc' rather than `unknown'
# because (1) that's what they normally are, and
| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
| arm-* | armbe-* | armle-* | armeb-* | armv*-* \
- | avr-* | avr32-* \
+ | avr-* \
| bfin-* | bs2000-* \
| c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
| clipper-* | craynv-* | cydra-* \
| d10v-* | d30v-* | dlx-* \
| elxsi-* \
- | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
+ | f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \
| h8300-* | h8500-* \
| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
| i*86-* | i860-* | i960-* | ia64-* \
| ip2k-* | iq2000-* \
- | m32c-* | m32r-* | m32rle-* \
+ | m32r-* | m32rle-* \
| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
| m88110-* | m88k-* | maxq-* | mcore-* \
| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
| mipsisa64sr71k-* | mipsisa64sr71kel-* \
| mipstx39-* | mipstx39el-* \
| mmix-* \
- | mt-* \
+ | ms1-* \
| msp430-* \
- | nios-* | nios2-* \
| none-* | np1-* | ns16k-* | ns32k-* \
| orion-* \
| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
| pyramid-* \
| romp-* | rs6000-* \
- | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
+ | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | shbe-* \
| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
- | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
+ | sparc-* | sparc64-* | sparc64b-* | sparc86x-* | sparclet-* \
| sparclite-* \
- | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
+ | sparcv8-* | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \
| tahoe-* | thumb-* \
| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
| tron-* \
| v850-* | v850e-* | vax-* \
| we32k-* \
- | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
+ | x86-* | x86_64-* | xps100-* | xscale-* | xscalee[bl]-* \
| xstormy16-* | xtensa-* \
| ymp-* \
| z8k-*)
;;
+ m32c-*)
+ ;;
# Recognize the various machine names and aliases which stand
# for a CPU type and a company and sometimes even an OS.
386bsd)
basic_machine=i386-pc
os=-mingw32
;;
- mingw32ce)
- basic_machine=arm-unknown
- os=-mingw32ce
- ;;
miniframe)
basic_machine=m68000-convergent
;;
basic_machine=i386-pc
os=-msdos
;;
- ms1-*)
- basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
- ;;
mvs)
basic_machine=i370-ibm
os=-mvs
pc532 | pc532-*)
basic_machine=ns32k-pc532
;;
- pc98)
- basic_machine=i386-pc
- ;;
- pc98-*)
- basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
pentium | p5 | k5 | k6 | nexgen | viac3)
basic_machine=i586-pc
;;
basic_machine=i586-unknown
os=-pw32
;;
- rdos)
- basic_machine=i386-pc
- os=-rdos
- ;;
rom68k)
basic_machine=m68k-rom68k
os=-coff
sb1el)
basic_machine=mipsisa64sb1el-unknown
;;
- sde)
- basic_machine=mipsisa32-sde
- os=-elf
- ;;
sei)
basic_machine=mips-sei
os=-seiux
basic_machine=sh-hitachi
os=-hms
;;
- sh5el)
- basic_machine=sh5le-unknown
- ;;
sh64)
basic_machine=sh64-unknown
;;
sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele)
basic_machine=sh-unknown
;;
- sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
+ sparc | sparcv8 | sparcv9 | sparcv9b)
basic_machine=sparc-sun
;;
cydra)
| -aos* \
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
- | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
- | -openbsd* | -solidbsd* \
+ | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* | -openbsd* \
| -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
| -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
| -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
| -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
| -chorusos* | -chorusrdb* \
| -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
- | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
- | -uxpv* | -beos* | -mpeix* | -udk* \
+ | -mingw32* | -linux-gnu* | -linux-uclibc* | -uxpv* | -beos* | -mpeix* | -udk* \
| -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
| -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
| -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
| -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
| -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
| -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
- | -skyos* | -haiku* | -rdos* | -toppers* | -drops*)
+ | -skyos* | -haiku*)
# Remember, each alternative MUST END IN *, to match a version number.
;;
-qnx*)
# system, and we'll never get to this point.
case $basic_machine in
- score-*)
- os=-elf
- ;;
- spu-*)
- os=-elf
- ;;
*-acorn)
os=-riscix1.2
;;
arm*-semi)
os=-aout
;;
- c4x-* | tic4x-*)
- os=-coff
- ;;
+ c4x-* | tic4x-*)
+ os=-coff
+ ;;
# This must come before the *-dec entry.
pdp10-*)
os=-tops20
m68*-cisco)
os=-aout
;;
- mep-*)
- os=-elf
- ;;
mips*-cisco)
os=-elf
;;
--- /dev/null
+=head1 NAME
+
+authenumerate - Fetches all known users from the authentication modules
+
+=head1 SYNOPSIS
+
+authenumerate [ -m MODULE ]
+
+=head1 DESCRIPTION
+
+B<authenumerate> lists all known users from the authentication modules,
+including uid, gid and home directory. Its use is documented in
+F</usr/share/doc/courier-base/README.sharedfolders.txt.gz>.
+It may also be useful to test the authentication modules.
+
+=head1 SEE ALSO
+
+L<courierauthtest>(8)
+
+=head1 AUTHOR
+
+This manual page was written by Willi Mann <willi@wm1.at>
+for the Debian GNU/Linux system.
+
--- /dev/null
+courier-authlib (0.61.0-1+lenny1) testing-security; urgency=high
+
+ * Non-maintainer upload by the security team
+ * Fix several sql-injection vulnerabilities in authpgsqllib.c by using
+ PQsetClientEncoding() and PQescapeStringConn()
+ Fixes: CVE-2008-2380
+
+ -- Steffen Joeris <white@debian.org> Mon, 08 Dec 2008 13:48:12 +0000
+
+courier-authlib (0.61.0-1) unstable; urgency=low
+
+ * new upstream release
+ * lintian:
+ - debian/compat file
+ - don't ignore make clean errors
+
+ -- Stefan Hornburg (Racke) <racke@linuxia.de> Thu, 17 Jul 2008 12:59:36 +0200
+
+courier-authlib (0.60.1-2.1) unstable; urgency=high
+
+ * Non-maintainer upload by the security team
+ * Fix sql injection vulnerability by changing to use
+ mysql_set_character_set instead of SET NAMES
+ (Change was introduced by upstream in 0.60.6)
+ (Closes: #485424)
+
+ -- Steffen Joeris <white@debian.org> Mon, 09 Jun 2008 15:29:23 +0000
+
+courier-authlib (0.60.1-2) unstable; urgency=low
+
+ * added LSB dependency info to init scripts (Closes: #460221, thanks to
+ Petter Reinholdtsen <pere@hungry.com> for the patch)
+
+ -- Stefan Hornburg (Racke) <racke@linuxia.de> Mon, 7 Apr 2008 13:21:37 +0200
+
+courier-authlib (0.60.1-1) unstable; urgency=low
+
+ * new upstream release
+
+ -- Stefan Hornburg (Racke) <racke@linuxia.de> Mon, 15 Oct 2007 10:56:16 +0200
+
+courier-authlib (0.60.0-1) unstable; urgency=low
+
+ * new upstream release, now under GPL version 3
+
+ -- Stefan Hornburg (Racke) <racke@linuxia.de> Sun, 30 Sep 2007 21:58:35 +0200
+
+courier-authlib (0.59.3-2) unstable; urgency=low
+
+ * dropped alternative build dependency on postgresql-dev
+ (Closes: #429964, thanks to Lior Kaplan <kaplan@debian.org> for the report
+
+ -- Stefan Hornburg (Racke) <racke@linuxia.de> Thu, 21 Jun 2007 20:26:38 +0200
+
+courier-authlib (0.59.3-1) unstable; urgency=low
+
+ * new upstream release
+
+ -- Stefan Hornburg (Racke) <racke@linuxia.de> Mon, 23 Apr 2007 10:18:17 +0200
+
+courier-authlib (0.59.1-0.1) experimental; urgency=low
+
+ * new upstream release
+
+ -- Stefan Hornburg (Racke) <racke@linuxia.de> Wed, 17 Jan 2007 11:58:29 +0100
+
+courier-authlib (0.58-5) unstable; urgency=low
+
+ * added dependency and build dependency on expect (Closes: #400812,
+ thanks to Peter Troeger <peter@troeger.eu> for the report)
+
+ -- Stefan Hornburg (Racke) <racke@linuxia.de> Wed, 29 Nov 2006 11:42:45 +0100
+
+courier-authlib (0.58-4) unstable; urgency=medium
+
+ * call dh_makeshlibs during binary-arch target in order to get proper shlib
+ information for libcourierauth.so (Closes: #378249, thanks to Charles
+ Fry <cfry@debian.org> for the report and Steinar H. Gunderson
+ <sesse@debian.org> for the patch)
+ * ensure that courier-authdaemon is upgraded when switching to courier-authlib
+ * switch to lsb logging functions (Closes: #384823, thanks to David Härdeman
+ <david@2gen.com> for the patch)
+
+ -- Stefan Hornburg (Racke) <racke@linuxia.de> Sat, 9 Sep 2006 17:37:11 +0200
+
+courier-authlib (0.58-3.1) unstable; urgency=medium
+
+ * Non-Maintainer Upload to fix security bug, caused by
+ /var/run/courier/authdaemon being world executable. Thanks to Martin
+ Ferrari for the fix. (Closes: #378571)
+
+ -- Margarita Manterola <marga@debian.org> Tue, 1 Aug 2006 16:45:07 -0300
+
+courier-authlib (0.58-3) unstable; urgency=low
+
+ * remove all Courier runtime files on purge of courier-authdaemon
+
+ -- Stefan Hornburg (Racke) <racke@linuxia.de> Tue, 6 Jun 2006 04:48:20 +0200
+
+courier-authlib (0.58-2) unstable; urgency=low
+
+ * set ownership of /var/run/courier and /var/run/courier/authdaemon to
+ daemon.daemon (Closes: #368358, #368360)
+
+ -- Stefan Hornburg (Racke) <racke@linuxia.de> Tue, 23 May 2006 09:43:15 +0200
+
+courier-authlib (0.58-1.0) unstable; urgency=low
+
+ * first upload to unstable
+
+ -- Stefan Hornburg (Racke) <racke@linuxia.de> Fri, 12 May 2006 16:53:38 +0200
+
+courier-authlib (0.58-0.4) experimental; urgency=low
+
+ * changed alternative dependency for libmysqlclient-dev to
+ libmysqlclient15-dev (Closes: #356728, thanks to Stefan Huehner
+ <huehner@unix-ag.uni-kl.de> for the report)
+
+ -- Stefan Hornburg (Racke) <racke@linuxia.de> Tue, 14 Mar 2006 11:14:11 +0100
+
+courier-authlib (0.58-0.3) experimental; urgency=low
+
+ * courier-authlib-userdb conflicts with pre-authlib courier-base package
+
+ -- Stefan Hornburg (Racke) <racke@linuxia.de> Wed, 11 Jan 2006 09:33:10 +0100
+
+courier-authlib (0.58-0.2) experimental; urgency=low
+
+ * updated config.{guess,sub} to avoid FTBFS on some architectures
+ (Closes: #346105, thanks to Petr Salinger
+ <Petr.Salinger@t-systems.cz>)
+
+ -- Stefan Hornburg (Racke) <racke@linuxia.de> Fri, 6 Jan 2006 11:13:19 +0100
+
+courier-authlib (0.58-0.1) experimental; urgency=low
+
+ * new upstream release
+ * transition to new PostgreSQL architecture (Closes: #339297, thanks to
+ Martin Pitt <mpitt@debian.org> for the report and the patch)
+ * added courier-authlib-mysql/postgresql prerm/postinst scripts to
+ restart courier-authdaemon
+
+ -- Stefan Hornburg (Racke) <racke@linuxia.de> Thu, 5 Jan 2006 14:58:19 +0100
+
+courier-authlib (0.57.20051004-2) experimental; urgency=low
+
+ * ship configuration files with sane ownership/permissions
+ * restoring call to pam_acct_mgmt
+
+ -- Stefan Hornburg (Racke) <racke@linuxia.de> Fri, 11 Nov 2005 00:49:19 +0100
+
+courier-authlib (0.57.20051004-1) experimental; urgency=low
+
+ * new upstream release:
+ - contains authtest manual page and authpasswd script
+ * keep authtest name instead of renaming to courierauthtest, there are
+ currently no conflicts with other binaries
+ * separate package courier-authlib-pipe for authpipe module
+ * revive courier-authdaemon package to allow seamless upgrades from sarge
+ * changed FSF address in copyright file
+ * changed BuildDepends from libmysqlclient10-dev to libmysqlclient14-dev
+ * use DH_COMPAT=4
+
+ -- Stefan Hornburg (Racke) <racke@linuxia.de> Tue, 25 Oct 2005 11:04:45 +0200
+
+courier-authlib (0.56-0.5) experimental; urgency=low
+
+ * added build dependency on procps (Closes: #311976, thanks to Kurt
+ Roeckx <kurt@roeckx.be> for the report)
+
+ -- Stefan Hornburg (Racke) <racke@linuxia.de> Sat, 4 Jun 2005 22:03:43 +0200
+
+courier-authlib (0.56-0.4) experimental; urgency=low
+
+ * provide proper LDAP configuration file instead of an empty one (thanks
+ to Peter Mann <Peter.Mann@tuke.sk> for the report)
+
+ -- Stefan Hornburg (Racke) <racke@linuxia.de> Tue, 31 May 2005 14:48:04 +0200
+
+courier-authlib (0.56-0.3) experimental; urgency=low
+
+ * added dependency to courier-authlib-dev on courier-authlib
+ * versioned dependencies for courier-authlib-* packages
+
+ -- Stefan Hornburg (Racke) <racke@linuxia.de> Tue, 31 May 2005 11:13:01 +0200
+
+courier-authlib (0.56-0.2) experimental; urgency=low
+
+ * removed check for openssl binary (Closes: #311175, thanks to Kenshi
+ Muto <kmuto@debian.org> for the report)
+
+ -- Stefan Hornburg (Racke) <racke@linuxia.de> Mon, 30 May 2005 13:23:02 +0200
+
+courier-authlib (0.56-0.1) experimental; urgency=low
+
+ * initial release
+
+ -- Stefan Hornburg (Racke) <racke@linuxia.de> Fri, 27 May 2005 23:20:21 +0200
+
--- /dev/null
+Source: courier-authlib
+Section: mail
+Priority: optional
+Maintainer: Stefan Hornburg (Racke) <racke@linuxia.de>
+Standards-Version: 3.6.1.1
+Build-Depends: libmysqlclient-dev | libmysqlclient15-dev, libpam0g-dev, libgdbm-dev | libgdbmg1-dev, debhelper (>= 4.1.16), libldap-dev, libsasl2-dev | libsasl-dev, libpq-dev, libtool, libltdl3-dev, procps, expect
+
+Package: courier-authlib
+Architecture: any
+Depends: ${shlibs:Depends}, expect
+Conflicts: courier-base (<< 0.48), courier-authdaemon (<< 0.58), courier-authmysql, courier-authpostgresql
+Description: Courier authentication library
+ The Courier authentication library provides authentication services for
+ other Courier applications.
+
+Package: courier-authdaemon
+Architecture: any
+Depends: ${shlibs:Depends}, courier-authlib (>= ${RELUP}), lsb-base (>= 3.0-10)
+Description: Courier authentication daemon
+ This package contains the authentication daemon for the Courier applications.
+
+Package: courier-authlib-dev
+Architecture: any
+Depends: ${shlibs:Depends}, courier-authlib (>= ${RELUP})
+Conflicts: courier-base (<< 0.48)
+Description: Development libraries for the Courier authentication library
+ This package contains the development libraries and files needed to compile
+ Courier packages that use the Courier authentication library.
+
+Package: courier-authlib-userdb
+Architecture: any
+Depends: ${shlibs:Depends}, courier-authlib (>= ${RELUP})
+Conflicts: courier-base (<< 0.48)
+Description: userdb support for the Courier authentication library
+ This package contains the userdb support for the Courier authentication
+ library. Userdb is a simple way to manage virtual mail accounts using
+ a GDBM-based database file.
+
+Package: courier-authlib-mysql
+Architecture: any
+Depends: ${shlibs:Depends}, courier-authlib (>= ${RELUP})
+Conflicts: courier-authmysql
+Replaces: courier-authmysql
+Description: MySQL support for the Courier authentication library
+ This package contains the MySQL support for the Courier authentication library.
+
+Package: courier-authlib-postgresql
+Architecture: any
+Depends: ${shlibs:Depends}, courier-authlib (>= ${RELUP})
+Conflicts: courier-authpostgresql
+Replaces: courier-authpostgresql
+Description: PostgreSQL support for the Courier authentication library
+ This package contains the PostgreSQL support for the Courier authentication
+ library.
+
+Package: courier-authlib-ldap
+Architecture: any
+Depends: ${shlibs:Depends}, courier-authlib (>= ${RELUP})
+Description: LDAP support for the Courier authentication library
+ This package contains the LDAP support for the Courier authentication library.
+
+Package: courier-authlib-pipe
+Architecture: any
+Depends: ${shlibs:Depends}, courier-authlib (>= ${RELUP})
+Description: External authentication support for the Courier authentication library
+ This package contains external authentication support via pipes for the
+ Courier authentication library. The authpipe module is a generic plugin
+ that enables authentication requests to be serviced by an external
+ program, then communicates through messages on stdin and stdout.
--- /dev/null
+This package was debianized by Stefan Hornburg (Racke) <racke@linuxia.de> on
+Fri Oct 29 10:59:13 2004 CEST.
+
+It was downloaded from:
+ftp://courier.sourceforge.net/pub/courier/courier/
+
+Upstream Author:
+
+Sam Varshavchik <mrsam@courier-mta.com>
+Double Precision, Inc.
+PO Box 668
+Greenwood Lake, NY 10925
+
+Copyright:
+
+This software is released under the GPL, version 3.
+Additionally, compiling, linking, and/or using the OpenSSL toolkit in
+conjunction with this software is allowed.
+
+A copy of the GNU General Public License is available as
+/usr/share/common-licenses/GPL-3 in the Debian GNU/Linux distribution or on the
+World Wide Web at http://www.gnu.org/copyleft/gpl.html. You can also
+obtain it by writing to the Free Software Foundation, Inc., 51 Franklin St,
+Fifth Floor, Boston, MA 02110-1301, USA.
+
+
--- /dev/null
+/var/run/courier/authdaemon
--- /dev/null
+/etc/courier/authdaemonrc
+/usr/sbin/authdaemond
+/var/run/courier/authdaemon
--- /dev/null
+#! /bin/sh -e
+#
+### BEGIN INIT INFO
+# Provides: courier-authdaemon
+# Required-Start: $remote_fs $syslog
+# Required-Stop: $remote_fs $syslog
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+### END INIT INFO
+
+prefix="/usr"
+exec_prefix=${prefix}
+sysconfdir="/etc/courier"
+sbindir="${exec_prefix}/sbin"
+daemonscript="${sbindir}/authdaemond"
+
+. /lib/lsb/init-functions
+
+# Check for a leftover init script
+if [ ! -x $daemonscript ]; then
+ exit 0
+fi
+
+case "$1" in
+start)
+ # Start daemon.
+ cd /
+ log_daemon_msg "Starting Courier authentication services" "authdaemond"
+ $daemonscript start
+ log_end_msg 0
+ ;;
+stop)
+ # Stop daemon.
+ cd /
+ log_daemon_msg "Stopping Courier authentication services" "authdaemond"
+ $daemonscript stop
+ log_end_msg 0
+ ;;
+restart|reload|force-reload)
+ $0 stop
+ $0 start
+ ;;
+*)
+ echo "Usage: $0 {start|stop|restart|reload|force-reload}" >&2
+ exit 2
+ ;;
+esac
+exit 0
--- /dev/null
+#! /bin/sh -e
+#
+# Copyright 2000,2001,2006 by Stefan Hornburg (Racke) <racke@linuxia.de>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public
+# License along with this program; if not, write to the Free
+# Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+# MA 02111-1307 USA.
+
+if [ "$1" = "purge" ]; then
+ # remove runtime files
+ rm -rf /var/run/courier
+fi
+
+#DEBHELPER#
--- /dev/null
+/usr/bin/courierauthconfig
+/usr/include
+/usr/lib/courier-authlib/*.a
+/usr/lib/courier-authlib/*.la
+/usr/share/man/man3
+
--- /dev/null
+README.ldap
+authldap.schema
\ No newline at end of file
--- /dev/null
+/etc/courier/authldaprc
+/usr/lib/courier-authlib/libauthldap.so*
\ No newline at end of file
--- /dev/null
+README.authmysql.html
--- /dev/null
+/etc/courier/authmysqlrc
+/usr/lib/courier-authlib/libauthmysql.so*
\ No newline at end of file
--- /dev/null
+#! /bin/sh -e
+#
+# Copyright 2000,2001,2005 by Stefan Hornburg (Racke) <racke@linuxia.de>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public
+# License along with this program; if not, write to the Free
+# Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+# MA 02111-1307 USA.
+
+
+if [ "$1" = "configure" ]; then
+ if [ -z "$2" ]; then
+ # initial install of authmysql, we need to restart authdaemon
+ if [ -x /usr/sbin/authdaemond ]; then
+ /usr/sbin/authdaemond restart
+ fi
+ fi
+fi
+
+#DEBHELPER#
--- /dev/null
+#! /bin/sh -e
+#
+# Copyright 2000,2005 by Stefan Hornburg <racke@linuxia.de>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public
+# License along with this program; if not, write to the Free
+# Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+# MA 02111-1307 USA.
+
+# we need to restart authdaemon
+if [ -x /usr/sbin/authdaemond ]; then
+ /usr/sbin/authdaemond restart
+fi
+
+#DEBHELPER#
--- /dev/null
+/usr/lib/courier-authlib/libauthpipe*.so*
+
--- /dev/null
+README.authmysql.html
+README.authpostgres.html
\ No newline at end of file
--- /dev/null
+/etc/courier/authpgsqlrc
+/usr/lib/courier-authlib/libauthpgsql.so*
--- /dev/null
+#! /bin/sh -e
+#
+# Copyright 2001,2005 by Stefan Hornburg (Racke) <racke@linuxia.de>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public
+# License along with this program; if not, write to the Free
+# Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+# MA 02111-1307 USA.
+
+
+if [ "$1" = "configure" ]; then
+ if [ -z "$2" ]; then
+ # initial install of authpostgresql, we need to restart authdaemon
+ if [ -x /usr/sbin/authdaemond ]; then
+ /usr/sbin/authdaemond restart
+ fi
+ fi
+fi
+
+#DEBHELPER#
--- /dev/null
+#! /bin/sh -e
+#
+# Copyright 2001,2005 by Stefan Hornburg <racke@linuxia.de>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public
+# License along with this program; if not, write to the Free
+# Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+# MA 02111-1307 USA.
+
+# we need to restart authdaemon
+if [ -x /usr/sbin/authdaemond ]; then
+ /usr/sbin/authdaemond restart
+fi
+
+#DEBHELPER#
--- /dev/null
+/usr/lib/courier-authlib/libauthuserdb.so*
+/usr/sbin/makeuserdb
+/usr/sbin/pw2userdb
+/usr/sbin/userdb
+/usr/sbin/userdbpw
+/usr/sbin/userdb-test-cram-md5
+/usr/share/man/man8/makeuserdb.8
+/usr/share/man/man8/pw2userdb.8.gz
+/usr/share/man/man8/userdb.8
+/usr/share/man/man8/userdbpw.8
+
+
+
+
--- /dev/null
+README.authdebug.html
--- /dev/null
+/usr/lib/courier/courier-authlib/
+/usr/lib/courier-authlib/libcourierauth*.so*
+/usr/lib/courier-authlib/libauthcustom*.so*
+/usr/lib/courier-authlib/libauthpam*.so*
+/usr/sbin/authenumerate
+/usr/sbin/authpasswd
+/usr/sbin/authtest
+/usr/sbin/courierlogger
+/usr/share/man/man1/authpasswd.1
+/usr/share/man/man1/authtest.1
+/usr/share/man/man1/courierlogger.1
+/usr/share/man/man8/authenumerate.8
+
+
--- /dev/null
+#! /bin/sh -e
+#
+# Copyright 2000,2001 by Stefan Hornburg (Racke) <racke@linuxia.de>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public
+# License along with this program; if not, write to the Free
+# Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+# MA 02111-1307 USA.
+
+if [ "$1" = "purge" ]; then
+ # remove runtime files
+ rm -rf /var/run/courier/authdaemon
+fi
+
+#DEBHELPER#
--- /dev/null
+#!/usr/bin/perl -w
+
+=head1 NAME
+
+dh_perms - set some special permissions after dh_fixperms
+
+=cut
+
+use strict;
+use Debian::Debhelper::Dh_Lib;
+
+=head1 SYNOPSIS
+
+B<dh_perms> [S<I<debhelper options>>]
+
+=head1 DESCRIPTION
+
+dh_perms is a debhelper program that is responsible for setting the
+permissions of files and directories according to the information in
+debian/permissions. It is intended to be run after dh_fixperms.
+
+The file debian/permissions is a tab seperated file where the first column
+contains a filename, the second one the permissions in octal format, the
+third one the owner and the fourth one the group. A dash in columns 2 to 4
+means that this information will not be modified.
+
+=head1 OPTIONS
+
+=over 4
+
+None except the standard debhelper options.
+
+=back
+
+=cut
+
+init();
+
+my %perms;
+my %owners;
+my %groups;
+
+# TODO: There should be a way to change this by command-line
+my $permfile = "debian/permissions";
+
+open PERMFILE, $permfile or exit 0; #print "could not open permfile\n";
+while (my $curline = <PERMFILE>)
+{
+ #NOTE: Broken lines are not always detected. (e.g. not defining anything valid)
+
+ # remove lineend
+ chomp($curline);
+ # skip comments/empty lines
+ next if $curline =~ /^#/ || $curline !~ /\S/;
+ (my $filename, my $octmode, my $owner, my $group) = split (/\s+/, $curline);
+
+ die qq{$0: could not accept "$curline": wrong octmode $octmode\n} unless $octmode =~ /^[0-7]{3,4}$/;
+ $perms{$filename} = $octmode unless $octmode eq "-" or not defined $octmode;
+
+ $owner = getpwnam($owner) if defined getpwnam($owner);
+ $owners{$filename} = $owner unless $owner eq "-" or not defined $owner;
+
+ $group = getgrnam($group) if defined getpwnam($group);
+ $groups{$filename} = $group unless $group eq "-" or not defined $group;
+
+}
+close PERMFILE;
+
+
+foreach my $package (@{$dh{DOPACKAGES}}) {
+ my $tmp=tmpdir($package);
+ foreach my $file (keys %owners)
+ {
+ next unless -e $tmp.$file;
+ chown $owners{$file}, -1, $tmp.$file or die "failed to chown $file";
+ verbose_print "chowned file $file to $owners{$file}";
+ }
+ foreach my $file (keys %groups)
+ {
+ next unless -e $tmp.$file;
+ chown -1, $groups{$file}, $tmp.$file or die "failed to chgrp $file";
+ verbose_print "chgrped file $file to $groups{$file}";
+ }
+ foreach my $file (keys %perms)
+ {
+ next unless -e $tmp.$file;
+ my $nummod = oct("0".$perms{$file});
+ chmod $nummod, $tmp.$file or die "failed to chmod $file";
+ verbose_print "chmoded file $file to ".sprintf("0%o", $nummod);
+ }
+
+}
+
+=head1 SEE ALSO
+
+L<debhelper(7)>
+
+This program is not yet part of debhelper.
+
+=head1 AUTHOR
+
+Willi Mann <willi@wm1.at>
+
+=cut
+
--- /dev/null
+/etc/courier/authldaprc 660 daemon daemon
+/etc/courier/authpgsqlrc 660 daemon daemon
+/etc/courier/authmysqlrc 660 daemon daemon
+/etc/courier/authdaemonrc 660 daemon daemon
+/var/run/courier 755 daemon daemon
+/var/run/courier/authdaemon 750 daemon daemon
+
+
+
--- /dev/null
+#!/usr/bin/make -f
+#
+# Copyright 2004,2005,2008 by Stefan Hornburg (Racke) <racke@linuxia.de>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public
+# License along with this program; if not, write to the Free
+# Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+# MA 02111-1307 USA.
+
+BUILD=$(shell pwd)/debian/tmp
+RELUP=$(shell dpkg-parsechangelog | perl -ne 'print $$1 if /^Version: (.*?)-(.*)$$/')
+
+# Uncomment this to turn on verbose mode.
+# export DH_VERBOSE=1
+
+# This has to be exported to make some magic below work.
+export DH_OPTIONS
+
+# Common configuration options
+NONSSL_CONFOPTS=--without-certdb --without-authpgsql
+
+COMMON_CONFOPTS=--prefix=/usr --mandir=\$${prefix}/share/man \
+ --with-authdaemonvar=/var/run/courier/authdaemon \
+ --sysconfdir=/etc/courier \
+ --with-pkgconfdir=/etc/courier \
+ --libexecdir=\$${prefix}/lib/courier \
+ --datadir=\$${prefix}/lib/courier \
+ --localstatedir=/var/lib/courier \
+ --sbindir=\$${exec_prefix}/sbin \
+ --with-mailuser=daemon \
+ --with-mailgroup=daemon \
+ --without-socks \
+ --with-authpam \
+ --with-authpipe \
+ --without-authpwd \
+ --with-authmysql \
+ --with-mysql-includes=/usr/include/mysql \
+ --with-mysql-libs=/usr/lib \
+ --with-authmysqlrc=/etc/courier/authmysqlrc \
+ --with-authpgsql \
+ --with-pgsql-includes=`pg_config --includedir` \
+ --with-pgsql-libs=/usr/lib \
+ --with-authpgsqlrc=/etc/courier/authpgsqlrc \
+ --without-authshadow \
+ --with-authdaemonvar=/var/run/courier/authdaemon \
+ --with-authldap \
+ --with-authldaprc=/etc/courier/authldaprc \
+ --with-authcram \
+ --with-db=gdbm \
+ --without-fcgi \
+ --with-htmllibdir=/usr/share/sqwebmail \
+ --with-ispell=/usr/bin/ispell \
+ --enable-userdb \
+ --enable-syslog=1 \
+ --disable-root-check
+
+check:
+ dh_testdir
+
+# check umask
+ if [ `umask` != "0022" ]; then echo "You need to set umask to 022 in order to compile/build courier"; exit 1; fi
+ chmod +x debian/courier_perms
+
+build: check
+# create a list of files that currently exists
+ if [ ! -f stamp-build ]; then \
+ if [ -d /usr/include/postgresql/8.0/libpq_fe.h ]; then \
+ LDFLAGS=-lcrypt ./configure $(COMMON_CONFOPTS) \
+ --with-postgresql-includes=/usr/include/postgresql/8.0 \
+ && $(MAKE) && touch stamp-build; \
+ else \
+ LDFLAGS=-lcrypt ./configure $(COMMON_CONFOPTS) \
+ --with-postgresql-includes=/usr/include/postgresql \
+ && $(MAKE) && touch stamp-build; \
+ fi \
+ fi
+
+stamp-build: build
+
+clean: check
+ dh_testroot
+ rm -f stamp-build stamp-install
+
+# Add here commands to clean up after the build process.
+ [ ! -f Makefile ] || $(MAKE) clean
+ dh_clean
+
+install: check stamp-build
+ dh_testroot
+ dh_clean -k
+ dh_installdirs
+
+# Add here commands to install the package into debian/tmp.
+ $(MAKE) DESTDIR=$(BUILD) install
+
+# (cd $(BUILD)/usr/lib/courier/courier-authlib/changepwd; ln -fs ../../authsystem.passwd ./authsystem.passwd)
+
+# Install authentification test program
+# mv $(BUILD)/usr/sbin/authtest $(BUILD)/usr/sbin/courierauthtest
+
+# Additional manpages
+ pod2man --center='Debian GNU/Linux Documentation' --release='Debian GNU/Linux '`cat /etc/debian_version` --section=8 debian/authenumerate.pod > $(BUILD)/usr/share/man/man8/authenumerate.8
+# pod2man --center='Debian GNU/Linux Documentation' --release='Debian GNU/Linux '`cat /etc/debian_version` --section=8 debian/courierauthtest.pod > $(BUILD)/usr/share/man/man8/courierauthtest.8
+
+# Symlinks for userdb manpages
+ (cd $(BUILD)/usr/share/man/man8 && ln -s makeuserdb.8.gz pw2userdb.8.gz)
+
+ dh_installdocs
+# - change authentification default settings
+ perl -pe 's/^authmodulelist=".*?"/authmodulelist="authpam"/' $(BUILD)/etc/courier/authdaemonrc.dist > $(BUILD)/etc/courier/authdaemonrc
+# - change default LDAP server
+ perl -pe 's/^(LDAP_SERVER\s+)ldap.example.com/$$1localhost/' $(BUILD)/etc/courier/authldaprc.dist > $(BUILD)/etc/courier/authldaprc
+# - change default MySQL server
+ perl -pe 's/^(MYSQL_SERVER\s+)mysql.example.com/$$1localhost/;s%^(#?\s*MYSQL_SOCKET\s+)/.*%$$1/var/run/mysqld/mysqld.sock%' $(BUILD)/etc/courier/authmysqlrc.dist > $(BUILD)/etc/courier/authmysqlrc
+ mv $(BUILD)/etc/courier/authpgsqlrc.dist $(BUILD)/etc/courier/authpgsqlrc
+ rm $(BUILD)/etc/courier/*.dist
+
+# This seems to be necessary for building in fakeroot
+# environment (otherwise dh_strip fails)
+# set all binaries to 755, by checking if user has x-bit
+# debian/courier_perms will set the right permissions
+ find $(BUILD) -perm -u+x -type f | xargs chmod u+rwx,go+rx
+
+ dh_movefiles
+
+# Check if all files have moved out
+ if [ `find $(BUILD) -not -type d | wc -l` -ne 0 ]; then find $(BUILD) -not -type d; echo "File(s) found not belonging to any package, please contact maintainer"; exit 1; fi
+
+ touch stamp-install
+
+stamp-install: install
+
+# Build architecture-independent files here.
+binary-indep: stamp-build stamp-install
+ dh_testdir
+ dh_testroot
+# dh_installdebconf -i
+ dh_installexamples -i
+ dh_installmenu -i
+ dh_installinit -i
+ dh_installinfo -i
+ dh_installchangelogs -i
+ dh_strip -i
+ dh_link -i
+ dh_compress -i
+ dh_fixperms -i
+ debian/courier_perms -i
+ dh_installdeb -i
+ dh_perl -i
+ dh_shlibdeps -i
+ dh_gencontrol -i
+ dh_md5sums -i
+ dh_builddeb -i
+
+# Build architecture-dependent files here.
+binary-arch: stamp-build stamp-install
+ dh_testdir
+ dh_testroot
+# dh_installdebconf -a
+ dh_installexamples -a
+ dh_installmenu -a
+ dh_installinit -a
+ dh_installcron -a
+ dh_installinfo -a
+ dh_installchangelogs -a
+ dh_strip -a
+ dh_link -a
+ dh_compress -a
+ dh_fixperms -a
+ debian/courier_perms -a
+ dh_installdeb -a
+ dh_perl -a
+ dh_makeshlibs -a
+ dh_shlibdeps -a
+ dh_gencontrol -- -VRELUP="$(RELUP)"
+ dh_md5sums -a
+ dh_builddeb -a
+
+binary: binary-arch
+
+.PHONY: check build clean binary-arch binary install
#! /bin/sh
# Attempt to guess a canonical system name.
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation,
-# Inc.
+# 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
-timestamp='2007-05-17'
+timestamp='2005-08-03'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
: ${TMPDIR=/tmp} ;
- { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
+ { tmp=`(umask 077 && mktemp -d -q "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
{ test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
{ tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
{ echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
arm*) machine=arm-unknown ;;
sh3el) machine=shl-unknown ;;
sh3eb) machine=sh-unknown ;;
- sh5el) machine=sh5le-unknown ;;
*) machine=${UNAME_MACHINE_ARCH}-unknown ;;
esac
# The Operating System including object format, if it has switched
*:ekkoBSD:*:*)
echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
exit ;;
- *:SolidBSD:*:*)
- echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
- exit ;;
macppc:MirBSD:*:*)
- echo powerpc-unknown-mirbsd${UNAME_RELEASE}
+ echo powerppc-unknown-mirbsd${UNAME_RELEASE}
exit ;;
*:MirBSD:*:*)
echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
exit ;;
- i86pc:SunOS:5.*:* | ix86xen:SunOS:5.*:*)
+ i86pc:SunOS:5.*:*)
echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
exit ;;
sun4*:SunOS:6*:*)
echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
exit ;;
*:FreeBSD:*:*)
- case ${UNAME_MACHINE} in
- pc98)
- echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
- amd64)
- echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
- *)
- echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
- esac
+ echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
exit ;;
i*:CYGWIN*:*)
echo ${UNAME_MACHINE}-pc-cygwin
exit ;;
- *:MINGW*:*)
+ i*:MINGW*:*)
echo ${UNAME_MACHINE}-pc-mingw32
exit ;;
i*:windows32*:*)
i*:PW*:*)
echo ${UNAME_MACHINE}-pc-pw32
exit ;;
- *:Interix*:[3456]*)
- case ${UNAME_MACHINE} in
- x86)
- echo i586-pc-interix${UNAME_RELEASE}
- exit ;;
- EM64T | authenticamd)
- echo x86_64-unknown-interix${UNAME_RELEASE}
- exit ;;
- esac ;;
+ x86:Interix*:[34]*)
+ echo i586-pc-interix${UNAME_RELEASE}|sed -e 's/\..*//'
+ exit ;;
[345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
echo i${UNAME_MACHINE}-pc-mks
exit ;;
arm*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu
exit ;;
- avr32*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit ;;
cris:Linux:*:*)
echo cris-axis-linux-gnu
exit ;;
#endif
#endif
EOF
- eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
- /^CPU/{
- s: ::g
- p
- }'`"
+ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
;;
mips64:Linux:*:*)
#endif
#endif
EOF
- eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
- /^CPU/{
- s: ::g
- p
- }'`"
+ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
;;
or32:Linux:*:*)
sparc:Linux:*:* | sparc64:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu
exit ;;
- vax:Linux:*:*)
- echo ${UNAME_MACHINE}-dec-linux-gnu
- exit ;;
x86_64:Linux:*:*)
echo x86_64-unknown-linux-gnu
exit ;;
- xtensa:Linux:*:*)
- echo xtensa-unknown-linux-gnu
- exit ;;
i*86:Linux:*:*)
# The BFD linker knows what the default object file format is, so
# first see if it will tell us. cd to the root directory to prevent
LIBC=gnulibc1
# endif
#else
- #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC)
+ #ifdef __INTEL_COMPILER
LIBC=gnu
#else
LIBC=gnuaout
LIBC=dietlibc
#endif
EOF
- eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
- /^LIBC/{
- s: ::g
- p
- }'`"
+ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
test x"${LIBC}" != x && {
echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
exit
SX-6:SUPER-UX:*:*)
echo sx6-nec-superux${UNAME_RELEASE}
exit ;;
- SX-7:SUPER-UX:*:*)
- echo sx7-nec-superux${UNAME_RELEASE}
- exit ;;
- SX-8:SUPER-UX:*:*)
- echo sx8-nec-superux${UNAME_RELEASE}
- exit ;;
- SX-8R:SUPER-UX:*:*)
- echo sx8r-nec-superux${UNAME_RELEASE}
- exit ;;
Power*:Rhapsody:*:*)
echo powerpc-apple-rhapsody${UNAME_RELEASE}
exit ;;
*:Darwin:*:*)
UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
case $UNAME_PROCESSOR in
+ *86) UNAME_PROCESSOR=i686 ;;
unknown) UNAME_PROCESSOR=powerpc ;;
esac
echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
i*86:skyos:*:*)
echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
exit ;;
- i*86:rdos:*:*)
- echo ${UNAME_MACHINE}-pc-rdos
- exit ;;
esac
#echo '(No uname command or uname output not recognized.)' 1>&2
#! /bin/sh
# Configuration validation subroutine script.
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation,
-# Inc.
+# 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
-timestamp='2007-04-29'
+timestamp='2005-07-08'
# This file is (in principle) common to ALL GNU software.
# The presence of a machine in this file suggests that SOME GNU software
# Here we must recognize all the valid KERNEL-OS combinations.
maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
case $maybe_os in
- nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
- uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
- storm-chaos* | os2-emx* | rtmk-nova*)
+ nto-qnx* | linux-gnu* | linux-dietlibc | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | \
+ kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*)
os=-$maybe_os
basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
;;
-hiux*)
os=-hiuxwe2
;;
- -sco6)
- os=-sco5v6
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
-sco5)
os=-sco3.2v5
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
# Don't forget version if it is 3.2v4 or newer.
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
- -sco5v6*)
- # Don't forget version if it is 3.2v4 or newer.
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
-sco*)
os=-sco3.2v2
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
| am33_2.0 \
- | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
+ | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \
| bfin \
| c4x | clipper \
| d10v | d30v | dlx | dsp16xx \
- | fido | fr30 | frv \
+ | fr30 | frv \
| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
| i370 | i860 | i960 | ia64 \
| ip2k | iq2000 \
- | m32c | m32r | m32rle | m68000 | m68k | m88k \
- | maxq | mb | microblaze | mcore | mep \
+ | m32r | m32rle | m68000 | m68k | m88k | maxq | mcore \
| mips | mipsbe | mipseb | mipsel | mipsle \
| mips16 \
| mips64 | mips64el \
| mipsisa64sr71k | mipsisa64sr71kel \
| mipstx39 | mipstx39el \
| mn10200 | mn10300 \
- | mt \
+ | ms1 \
| msp430 \
- | nios | nios2 \
| ns16k | ns32k \
| or32 \
| pdp10 | pdp11 | pj | pjl \
| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
| pyramid \
- | score \
- | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
+ | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \
| sh64 | sh64le \
- | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
- | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
- | spu | strongarm \
+ | sparc | sparc64 | sparc64b | sparc86x | sparclet | sparclite \
+ | sparcv8 | sparcv9 | sparcv9b \
+ | strongarm \
| tahoe | thumb | tic4x | tic80 | tron \
| v850 | v850e \
| we32k \
- | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
+ | x86 | xscale | xscalee[bl] | xstormy16 | xtensa \
| z8k)
basic_machine=$basic_machine-unknown
;;
+ m32c)
+ basic_machine=$basic_machine-unknown
+ ;;
m6811 | m68hc11 | m6812 | m68hc12)
# Motorola 68HC11/12.
basic_machine=$basic_machine-unknown
;;
m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
;;
- ms1)
- basic_machine=mt-unknown
- ;;
# We use `pc' rather than `unknown'
# because (1) that's what they normally are, and
| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
| arm-* | armbe-* | armle-* | armeb-* | armv*-* \
- | avr-* | avr32-* \
+ | avr-* \
| bfin-* | bs2000-* \
| c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
| clipper-* | craynv-* | cydra-* \
| d10v-* | d30v-* | dlx-* \
| elxsi-* \
- | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
+ | f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \
| h8300-* | h8500-* \
| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
| i*86-* | i860-* | i960-* | ia64-* \
| ip2k-* | iq2000-* \
- | m32c-* | m32r-* | m32rle-* \
+ | m32r-* | m32rle-* \
| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
| m88110-* | m88k-* | maxq-* | mcore-* \
| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
| mipsisa64sr71k-* | mipsisa64sr71kel-* \
| mipstx39-* | mipstx39el-* \
| mmix-* \
- | mt-* \
+ | ms1-* \
| msp430-* \
- | nios-* | nios2-* \
| none-* | np1-* | ns16k-* | ns32k-* \
| orion-* \
| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
| pyramid-* \
| romp-* | rs6000-* \
- | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
+ | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | shbe-* \
| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
- | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
+ | sparc-* | sparc64-* | sparc64b-* | sparc86x-* | sparclet-* \
| sparclite-* \
- | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
+ | sparcv8-* | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \
| tahoe-* | thumb-* \
| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
| tron-* \
| v850-* | v850e-* | vax-* \
| we32k-* \
- | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
+ | x86-* | x86_64-* | xps100-* | xscale-* | xscalee[bl]-* \
| xstormy16-* | xtensa-* \
| ymp-* \
| z8k-*)
;;
+ m32c-*)
+ ;;
# Recognize the various machine names and aliases which stand
# for a CPU type and a company and sometimes even an OS.
386bsd)
basic_machine=i386-pc
os=-mingw32
;;
- mingw32ce)
- basic_machine=arm-unknown
- os=-mingw32ce
- ;;
miniframe)
basic_machine=m68000-convergent
;;
basic_machine=i386-pc
os=-msdos
;;
- ms1-*)
- basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
- ;;
mvs)
basic_machine=i370-ibm
os=-mvs
pc532 | pc532-*)
basic_machine=ns32k-pc532
;;
- pc98)
- basic_machine=i386-pc
- ;;
- pc98-*)
- basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
pentium | p5 | k5 | k6 | nexgen | viac3)
basic_machine=i586-pc
;;
basic_machine=i586-unknown
os=-pw32
;;
- rdos)
- basic_machine=i386-pc
- os=-rdos
- ;;
rom68k)
basic_machine=m68k-rom68k
os=-coff
sb1el)
basic_machine=mipsisa64sb1el-unknown
;;
- sde)
- basic_machine=mipsisa32-sde
- os=-elf
- ;;
sei)
basic_machine=mips-sei
os=-seiux
basic_machine=sh-hitachi
os=-hms
;;
- sh5el)
- basic_machine=sh5le-unknown
- ;;
sh64)
basic_machine=sh64-unknown
;;
sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele)
basic_machine=sh-unknown
;;
- sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
+ sparc | sparcv8 | sparcv9 | sparcv9b)
basic_machine=sparc-sun
;;
cydra)
| -aos* \
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
- | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
- | -openbsd* | -solidbsd* \
+ | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* | -openbsd* \
| -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
| -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
| -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
| -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
| -chorusos* | -chorusrdb* \
| -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
- | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
- | -uxpv* | -beos* | -mpeix* | -udk* \
+ | -mingw32* | -linux-gnu* | -linux-uclibc* | -uxpv* | -beos* | -mpeix* | -udk* \
| -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
| -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
| -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
| -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
| -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
| -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
- | -skyos* | -haiku* | -rdos* | -toppers* | -drops*)
+ | -skyos* | -haiku*)
# Remember, each alternative MUST END IN *, to match a version number.
;;
-qnx*)
# system, and we'll never get to this point.
case $basic_machine in
- score-*)
- os=-elf
- ;;
- spu-*)
- os=-elf
- ;;
*-acorn)
os=-riscix1.2
;;
arm*-semi)
os=-aout
;;
- c4x-* | tic4x-*)
- os=-coff
- ;;
+ c4x-* | tic4x-*)
+ os=-coff
+ ;;
# This must come before the *-dec entry.
pdp10-*)
os=-tops20
m68*-cisco)
os=-aout
;;
- mep-*)
- os=-elf
- ;;
mips*-cisco)
os=-elf
;;