]> arthur.barton.de Git - ngircd-alex.git/blobdiff - src/ngircd/resolve.c
Fixed up some castings.
[ngircd-alex.git] / src / ngircd / resolve.c
index 4ed83f992fbbb6208c95ae8d3c8d9e1e1c80efc0..aeb98ba6e923fe913f06dc5e00e58a30d185a718 100644 (file)
@@ -2,21 +2,20 @@
  * ngIRCd -- The Next Generation IRC Daemon
  * Copyright (c)2001,2002 by Alexander Barton (alex@barton.de)
  *
- * Dieses Programm ist freie Software. Sie koennen es unter den Bedingungen
- * der GNU General Public License (GPL), wie von der Free Software Foundation
- * herausgegeben, weitergeben und/oder modifizieren, entweder unter Version 2
- * der Lizenz oder (wenn Sie es wuenschen) jeder spaeteren Version.
- * Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste
- * der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS.
+ * 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.
+ * Please read the file COPYING, README and AUTHORS for more information.
  *
- * $Id: resolve.c,v 1.1 2002/05/27 11:23:27 alex Exp $
- *
- * resolve.c: asyncroner Resolver
+ * Asynchronous resolver
  */
 
 
 #include "portab.h"
 
+static char UNUSED id[] = "$Id: resolve.c,v 1.6 2003/04/21 10:52:51 alex Exp $";
+
 #include "imp.h"
 #include <assert.h>
 #include <errno.h>
@@ -40,7 +39,7 @@ LOCAL VOID Do_ResolveAddr PARAMS(( struct sockaddr_in *Addr, INT w_fd ));
 LOCAL VOID Do_ResolveName PARAMS(( CHAR *Host, INT w_fd ));
 
 #ifdef h_errno
-LOCAL CHAR *Resolve_Error PARAMS(( INT H_Error ));
+LOCAL CHAR *Get_Error PARAMS(( INT H_Error ));
 #endif
 
 
@@ -67,7 +66,7 @@ Resolve_Addr( struct sockaddr_in *Addr )
        s = malloc( sizeof( RES_STAT ));
        if( ! s )
        {
-               Log( LOG_EMERG, "Resolver: Can't allocate memory!" );
+               Log( LOG_EMERG, "Resolver: Can't allocate memory! [Resolve_Addr]" );
                return NULL;
        }
 
@@ -122,7 +121,7 @@ Resolve_Name( CHAR *Host )
        s = malloc( sizeof( RES_STAT ));
        if( ! s )
        {
-               Log( LOG_EMERG, "Resolver: Can't allocate memory!" );
+               Log( LOG_EMERG, "Resolver: Can't allocate memory! [Resolve_Name]" );
                return NULL;
        }
 
@@ -175,7 +174,7 @@ Do_ResolveAddr( struct sockaddr_in *Addr, INT w_fd )
 
        /* Namen aufloesen */
        h = gethostbyaddr( (CHAR *)&Addr->sin_addr, sizeof( Addr->sin_addr ), AF_INET );
-       if( h ) strcpy( hostname, h->h_name );
+       if( h ) strlcpy( hostname, h->h_name, sizeof( hostname ));
        else
        {
 #ifdef h_errno
@@ -183,11 +182,11 @@ Do_ResolveAddr( struct sockaddr_in *Addr, INT w_fd )
 #else
                Log_Resolver( LOG_WARNING, "Can't resolve address \"%s\"!", inet_ntoa( Addr->sin_addr ));
 #endif 
-               strcpy( hostname, inet_ntoa( Addr->sin_addr ));
+               strlcpy( hostname, inet_ntoa( Addr->sin_addr ), sizeof( hostname ));
        }
 
        /* Antwort an Parent schreiben */
-       if( write( w_fd, hostname, strlen( hostname ) + 1 ) != ( strlen( hostname ) + 1 ))
+       if( (size_t)write( w_fd, hostname, strlen( hostname ) + 1 ) != (size_t)( strlen( hostname ) + 1 ))
        {
                Log_Resolver( LOG_CRIT, "Resolver: Can't write to parent: %s!", strerror( errno ));
                close( w_fd );
@@ -214,7 +213,7 @@ Do_ResolveName( CHAR *Host, INT w_fd )
        if( h )
        {
                addr = (struct in_addr *)h->h_addr;
-               strcpy( ip, inet_ntoa( *addr ));
+               strlcpy( ip, inet_ntoa( *addr ), sizeof( ip ));
        }
        else
        {
@@ -227,7 +226,7 @@ Do_ResolveName( CHAR *Host, INT w_fd )
        }
 
        /* Antwort an Parent schreiben */
-       if( write( w_fd, ip, strlen( ip ) + 1 ) != ( strlen( ip ) + 1 ))
+       if( (size_t)write( w_fd, ip, strlen( ip ) + 1 ) != (size_t)( strlen( ip ) + 1 ))
        {
                Log_Resolver( LOG_CRIT, "Resolver: Can't write to parent: %s!", strerror( errno ));
                close( w_fd );