s3-registry: Check return code of push_reg_sz().
[kai/samba.git] / source3 / winbindd / nss_info_template.c
index aaf02e4abe9ff134b4b65c07559349d9479e9591..5fdfd9bba33f49d789552fd1060481ce8a0c26bc 100644 (file)
@@ -8,17 +8,18 @@
    modify it under the terms of the GNU Lesser General Public
    License as published by the Free Software Foundation; either
    version 3 of the License, or (at your option) 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
    Library General Public License for more details.
-   
+
    You should have received a copy of the GNU Lesser General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
 
 #include "includes.h"
+#include "ads.h"
 #include "nss_info.h"
 
 /************************************************************************
@@ -33,18 +34,18 @@ static NTSTATUS nss_template_init( struct nss_domain_entry *e )
  ***********************************************************************/
 
 static NTSTATUS nss_template_get_info( struct nss_domain_entry *e,
-                                      const DOM_SID *sid, 
+                                      const struct dom_sid *sid,
                                       TALLOC_CTX *ctx,
-                                      ADS_STRUCT *ads,
-                                      LDAPMessage *msg,
-                                      char **homedir,
-                                      char **shell, 
-                                      char **gecos,
+                                      const char **homedir,
+                                      const char **shell,
+                                      const char **gecos,
                                       gid_t *gid )
 {     
        if ( !homedir || !shell || !gecos )
                return NT_STATUS_INVALID_PARAMETER;
-       
+
+       /* protect against home directories using whitespace in the
+         username */
        *homedir = talloc_strdup( ctx, lp_template_homedir() );
        *shell   = talloc_strdup( ctx, lp_template_shell() );
        *gecos   = NULL;
@@ -52,10 +53,32 @@ static NTSTATUS nss_template_get_info( struct nss_domain_entry *e,
        if ( !*homedir || !*shell ) {
                return NT_STATUS_NO_MEMORY;
        }
-       
+
        return NT_STATUS_OK;
 }
 
+/**********************************************************************
+ *********************************************************************/
+
+static NTSTATUS nss_template_map_to_alias( TALLOC_CTX *mem_ctx,
+                                          struct nss_domain_entry *e,
+                                          const char *name,
+                                          char **alias )
+{
+       return NT_STATUS_NOT_IMPLEMENTED;
+}
+
+/**********************************************************************
+ *********************************************************************/
+
+static NTSTATUS nss_template_map_from_alias( TALLOC_CTX *mem_ctx,
+                                            struct nss_domain_entry *e,
+                                            const char *alias,
+                                            char **name )
+{
+       return NT_STATUS_NOT_IMPLEMENTED;
+}
+
 /************************************************************************
  ***********************************************************************/
 
@@ -69,11 +92,13 @@ static NTSTATUS nss_template_close( void )
  ***********************************************************************/
 
 static struct nss_info_methods nss_template_methods = {
-       .init         = nss_template_init,
-       .get_nss_info = nss_template_get_info,
-       .close_fn     = nss_template_close
+       .init           = nss_template_init,
+       .get_nss_info   = nss_template_get_info,
+       .map_to_alias   = nss_template_map_to_alias,
+       .map_from_alias = nss_template_map_from_alias,
+       .close_fn       = nss_template_close
 };
-               
+
 NTSTATUS nss_info_template_init( void )
 {
        return smb_register_idmap_nss(SMB_NSS_INFO_INTERFACE_VERSION,