diff --git a/admin/templates/default/config.tpl b/admin/templates/default/config.tpl
index 08352d7f10..6ff9a7988a 100644
--- a/admin/templates/default/config.tpl
+++ b/admin/templates/default/config.tpl
@@ -23,6 +23,7 @@
+
diff --git a/phpgwapi/doc/CHANGELOG b/phpgwapi/doc/CHANGELOG
index 9321f87fb0..776a5ff5dc 100644
--- a/phpgwapi/doc/CHANGELOG
+++ b/phpgwapi/doc/CHANGELOG
@@ -17,6 +17,7 @@
set user preferences, admins can force preference, or set the defaults
for new accounts.
- Added global config option to deny users to access grants, usefull for ISPs
+ - Merged patch for NIS auth - Thanks Dylan Adams
[0.9.12]
- Note: These changelogs will only contain changes in the API (preferences, admin, etc)
diff --git a/phpgwapi/inc/class.auth_nis.inc.php b/phpgwapi/inc/class.auth_nis.inc.php
new file mode 100644
index 0000000000..2a35c14e24
--- /dev/null
+++ b/phpgwapi/inc/class.auth_nis.inc.php
@@ -0,0 +1,74 @@
+ *
+ * Copyright (C) 2001 Dylan Adams *
+ * -------------------------------------------------------------------------*
+ * This library is part of the phpGroupWare API *
+ * http://www.phpgroupware.org/api *
+ * ------------------------------------------------------------------------ *
+ * This library is free software; you can redistribute it and/or modify it *
+ * under the terms of the GNU Lesser General Public License as published by *
+ * the Free Software Foundation; either version 2.1 of the License, *
+ * or any later version. *
+ * This library 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 Lesser General Public License for more details. *
+ * You should have received a copy of the GNU Lesser General Public License *
+ * along with this library; if not, write to the Free Software Foundation, *
+ * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA *
+ \**************************************************************************/
+
+ /* $Id$ */
+
+ class auth
+ {
+ function authenticate($username, $passwd)
+ {
+ global $phpgw_info;
+
+ $domain = yp_get_default_domain();
+ if( !empty($phpgw_info['server']['nis_domain']) )
+ {
+ $domain = $phpgw_info['server']['nis_domain'];
+ }
+
+ $map = "passwd.byname";
+ if( !empty($phpgw_info['server']['nis_map']) )
+ {
+ $map = $phpgw_info['server']['nis_map']);
+ }
+ $entry = yp_match( $domain, $map, $username );
+
+ /*
+ * we assume that the map is structured in the usual
+ * unix passwd flavor
+ */
+ $entry_array = explode( ':', $entry );
+ $stored_passwd = $entry_array[1];
+
+ $encrypted_passwd = crypt( $passwd, $stored_passwd );
+
+ return( $encrypted_passwd == $stored_passwd );
+ }
+
+ function change_password($old_passwd, $new_passwd, $account_id = '')
+ {
+ // can't change passwords unless server runs as root (bad idea)
+ return( False );
+ }
+
+ function update_lastlogin($account_id, $ip)
+ {
+ global $phpgw;
+
+ $account_id = get_account_id($account_id);
+
+ $phpgw->db->query("update phpgw_accounts set account_lastloginfrom='"
+ . "$ip', account_lastlogin='" . time()
+ . "' where account_id='$account_id'",__LINE__,__FILE__);
+ }
+ }
+?>