* Minor changes to avoid host lookup for local clients
authorArt Cancro <ajc@citadel.org>
Sun, 16 Apr 2000 19:03:47 +0000 (19:03 +0000)
committerArt Cancro <ajc@citadel.org>
Sun, 16 Apr 2000 19:03:47 +0000 (19:03 +0000)
citadel/ChangeLog
citadel/citadel.c
citadel/citserver.c
citadel/locate_host.c

index 08e43305787c7d5ad99f9ee77b93a8d5102538cc..edb57b400dd06a13e548230af7bb079a87ad61cc 100644 (file)
@@ -1,4 +1,7 @@
  $Log$
+ Revision 571.2  2000/04/16 19:03:47  ajc
+ * Minor changes to avoid host lookup for local clients
+
  Revision 571.1  2000/04/15 19:55:52  ajc
  * Fixed "Unvalidated users appear even with registration disabled" bug #36
 
@@ -1855,4 +1858,3 @@ Sat Jul 11 00:20:48 EDT 1998 Nathan Bryant <bryant@cs.usm.maine.edu>
 
 Fri Jul 10 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
        * Initial CVS import 
-
index 0524ec98946d246a733c521e6545b0e39cce76ac..1f2347eff1a44e0689aa450646a639ba985a49c9 100644 (file)
@@ -834,9 +834,11 @@ int main(int argc, char **argv)
        signal(SIGTERM, dropcarr);      /* Cleanup gracefully if terminated */
        signal(SIGCONT, catch_sigcont);         /* Catch SIGCONT so we can reset terminal */
 
-       printf("Attaching to server...\r");
+       printf("Attaching to server... \r");
        fflush(stdout);
        attach_to_server(argc, argv);
+       printf("Establishing session...\r");
+       fflush(stdout);
 
        send_ansi_detect();
 
@@ -851,7 +853,7 @@ int main(int argc, char **argv)
        cls(0);
        color(7);
 
-       printf("%-22s\n%s\n%s\n", serv_info.serv_software, serv_info.serv_humannode,
+       printf("%-23s\n%s\n%s\n", serv_info.serv_software, serv_info.serv_humannode,
               serv_info.serv_bbs_city);
        screenwidth = 80;       /* default screen dimensions */
        screenheight = 24;
index 7acaa6701c02032bebdaf6cd44395fa4613b200f..2ed7016c1c04fd1354afa51c1edc5b702f65dc0e 100644 (file)
@@ -366,8 +366,10 @@ int is_public_client(char *where)
        char buf[256];
        FILE *fp;
 
-       if (hostnames_match(where,"localhost")) return(1);
-       if (hostnames_match(where,config.c_fqdn)) return(1);
+       lprintf(9, "Checking whether %s is a public client\n", where);
+
+       if (hostnames_match(where, "localhost")) return(1);
+       if (hostnames_match(where, config.c_fqdn)) return(1);
 
        fp = fopen("public_clients","r");
        if (fp == NULL) return(0);
@@ -397,6 +399,7 @@ void cmd_iden(char *argbuf)
        char desc[256];
        char from_host[256];
        struct in_addr addr;
+       int do_lookup = 0;
 
        if (num_parms(argbuf)<4) {
                cprintf("%d usage error\n",ERROR);
@@ -418,24 +421,36 @@ void cmd_iden(char *argbuf)
        safestrncpy(CC->cs_clientname, desc, sizeof CC->cs_clientname);
        CC->cs_clientname[31] = 0;
 
-       lprintf(9, "Looking up hostname '%s'\n", from_host);
-       if ((strlen(from_host)>0)
-         && ( (CC->is_local_socket) || (is_public_client(CC->cs_host)))) {
-               if ((addr.s_addr = inet_addr(from_host)) != -1)
+       if (strlen(from_host) > 0) {
+               if (CC->is_local_socket) do_lookup = 1;
+               else if (is_public_client(CC->cs_host)) do_lookup = 1;
+       }
+
+       if (do_lookup) {
+               lprintf(9, "Looking up hostname '%s'\n", from_host);
+               if ((addr.s_addr = inet_addr(from_host)) != -1) {
                        locate_host(CC->cs_host, &addr);
+               }
                else {
                        safestrncpy(CC->cs_host, from_host, sizeof CC->cs_host);
                        CC->cs_host[24] = 0;
                }
        }
 
+       lprintf(7, "client %d/%d/%01d.%02d (%s)\n",
+               dev_code,
+               cli_code,
+               (rev_level / 100),
+               (rev_level % 100),
+               desc);
+
        syslog(LOG_NOTICE,"client %d/%d/%01d.%02d (%s)\n",
                dev_code,
                cli_code,
                (rev_level / 100),
                (rev_level % 100),
                desc);
-               cprintf("%d Ok\n",OK);
+       cprintf("%d Ok\n",OK);
 }
 
 
index b4f5cdbadcbb810385a4908cc26f82219f4b1a51..a3dcd4954eee6f58ee12df54d2cb4ff7b988809f 100644 (file)
@@ -26,6 +26,8 @@ void locate_host(char *tbuf, const struct in_addr *addr)
        char *i;
        int a1, a2, a3, a4;
 
+       lprintf(9, "locate_host() called\n");
+
 #ifdef HAVE_NONREENTRANT_NETDB
        begin_critical_section(S_NETDB);
 #endif
@@ -66,4 +68,5 @@ void locate_host(char *tbuf, const struct in_addr *addr)
 #endif
 
        tbuf[25] = 0;
+       lprintf(9, "locate_host() exiting\n");
 }