[prev in list] [next in list] [prev in thread] [next in thread] 

List:       proftpd-committers
Subject:    [ProFTPD-committers] CVS: proftpd/contrib mod_sql.c,1.69,1.70
From:       TJ Saunders <castaglia () users ! sourceforge ! net>
Date:       2004-02-27 22:42:17
Message-ID: E1AwqgT-0008DT-G7 () sc8-pr-cvs1 ! sourceforge ! net
[Download RAW message or body]

Update of /cvsroot/proftp/proftpd/contrib
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31512/contrib

Modified Files:
	mod_sql.c 
Log Message:

Add handling of the %L (local IP address) and %V (local DNS name) tags.
Fix formatting.


Index: mod_sql.c
===================================================================
RCS file: /cvsroot/proftp/proftpd/contrib/mod_sql.c,v
retrieving revision 1.69
retrieving revision 1.70
diff -u -r1.69 -r1.70
--- mod_sql.c	24 Feb 2004 19:45:47 -0000	1.69
+++ mod_sql.c	27 Feb 2004 22:42:14 -0000	1.70
@@ -1443,8 +1443,8 @@
   case 'A': {
       char *pass;
 
-      argp=arg;
-      pass=get_param_ptr(main_server->conf, C_PASS, FALSE);
+      argp = arg;
+      pass = get_param_ptr(main_server->conf, C_PASS, FALSE);
       if (!pass)
 	pass = "UNKNOWN";
       
@@ -1458,7 +1458,7 @@
     break;
 
   case 'b':
-    argp=arg;
+    argp = arg;
     if (session.xfer.p)
       snprintf(argp, sizeof(arg), "%" PR_LU, session.xfer.total_bytes);
     else
@@ -1493,12 +1493,16 @@
   case 'D':
     argp = arg;
 
-    if (!strcmp(cmd->argv[0], C_CDUP) || !strcmp(cmd->argv[0], C_MKD) ||
-        !strcmp(cmd->argv[0], C_RMD) || !strcmp(cmd->argv[0], C_XCUP) ||
-        !strcmp(cmd->argv[0], C_XMKD) || !strcmp(cmd->argv[0], C_XRMD)) {
+    if (strcmp(cmd->argv[0], C_CDUP) == 0 ||
+        strcmp(cmd->argv[0], C_MKD) == 0 ||
+        strcmp(cmd->argv[0], C_RMD) == 0 ||
+        strcmp(cmd->argv[0], C_XCUP) == 0 ||
+        strcmp(cmd->argv[0], C_XMKD) == 0 ||
+        strcmp(cmd->argv[0], C_XRMD) == 0) {
       sstrncpy(argp, dir_abs_path(cmd->tmp_pool, cmd->arg, TRUE), sizeof(arg));
 
-    } else if (!strcmp(cmd->argv[0], C_CWD) || !strcmp(cmd->argv[0], C_XCWD)) {
+    } else if (strcmp(cmd->argv[0], C_CWD) == 0 ||
+               strcmp(cmd->argv[0], C_XCWD) == 0) {
 
       /* Note: by this point in the dispatch cycle, the current working
        * directory has already been changed.  For the CWD/XCWD commands,
@@ -1536,9 +1540,11 @@
        * filenames that are not stored in the session.xfer structure; these
        * should be expanded properly as well.
        */
-      if (!strcmp(cmd->argv[0], C_DELE) || !strcmp(cmd->argv[0], C_MKD) ||
-          !strcmp(cmd->argv[0], C_RMD) || !strcmp(cmd->argv[0], C_XMKD) ||
-          !strcmp(cmd->argv[0], C_XRMD))
+      if (strcmp(cmd->argv[0], C_DELE) == 0 ||
+          strcmp(cmd->argv[0], C_MKD) == 0 ||
+          strcmp(cmd->argv[0], C_RMD) == 0 ||
+          strcmp(cmd->argv[0], C_XMKD) == 0 ||
+          strcmp(cmd->argv[0], C_XRMD) == 0)
         sstrncpy(arg, dir_abs_path(cmd->tmp_pool, cmd->arg, TRUE), sizeof(arg));
 
       else
@@ -1557,7 +1563,7 @@
        * stored in the session.xfer structure; these should be expanded
        * properly as well.
        */
-      if (!strcmp(cmd->argv[0], C_DELE))
+      if (strcmp(cmd->argv[0], C_DELE) == 0)
         sstrncpy(arg, cmd->arg, sizeof(arg));
 
       else
@@ -1575,6 +1581,11 @@
     sstrncpy(argp, session.c->remote_name, sizeof(arg));
     break;
 
+  case 'L':
+    argp = arg;
+    sstrncpy(argp, pr_netaddr_get_ipstr(session.c->local_addr), sizeof(arg));
+    break;
+
   case 'l':
     argp = arg;
     sstrncpy(argp, session.ident_user, sizeof(arg));
@@ -1603,41 +1614,44 @@
       sstrncpy(argp, get_full_cmd(cmd), sizeof(arg));
     break;
 
-  case 's':
-    argp = arg;
-    {
+  case 's': {
       pr_response_t *r;
+      argp = arg;
       
       r = (resp_list ? resp_list : resp_err_list);
       
-      for(; r && !r->num; r=r->next) ;
-      if(r && r->num)
-	sstrncpy(argp,r->num,sizeof(arg));
+      for (; r && !r->num; r=r->next);
+
+      if (r && r->num)
+        sstrncpy(argp, r->num, sizeof(arg));
       else
-	sstrncpy(argp,"-",sizeof(arg));
+        sstrncpy(argp, "-", sizeof(arg));
     }
     break;
 
   case 'T':
     argp = arg;
-    if(session.xfer.p) {
+    if (session.xfer.p) {
       struct timeval end_time;
       
-      gettimeofday(&end_time,NULL);
+      gettimeofday(&end_time, NULL);
       end_time.tv_sec -= session.xfer.start_time.tv_sec;
-      if(end_time.tv_usec >= session.xfer.start_time.tv_usec)
-	end_time.tv_usec -= session.xfer.start_time.tv_usec;
+
+      if (end_time.tv_usec >= session.xfer.start_time.tv_usec)
+        end_time.tv_usec -= session.xfer.start_time.tv_usec;
+
       else {
-	end_time.tv_usec = 1000000L - (session.xfer.start_time.tv_usec -
-				       end_time.tv_usec);
-	end_time.tv_sec--;
+        end_time.tv_usec = 1000000L - (session.xfer.start_time.tv_usec -
+          end_time.tv_usec);
+        end_time.tv_sec--;
       }
       
       snprintf(argp, sizeof(arg), "%lu.%03lu", (unsigned long) end_time.tv_sec,
-	       (unsigned long) (end_time.tv_usec / 1000));
-    } else {
-      sstrncpy(argp,"0.0",sizeof(arg));
-    }
+        (unsigned long) (end_time.tv_usec / 1000));
+
+    } else
+      sstrncpy(argp, "0.0", sizeof(arg));
+
     break;
 
   case 'U':
@@ -1655,22 +1669,28 @@
   case 'u':
     argp = arg;
 
-    if(!session.user) {
+    if (!session.user) {
       char *u;
 
-      u = get_param_ptr(main_server->conf,"UserName",FALSE);
-      if(!u)
+      u = get_param_ptr(main_server->conf, "UserName", FALSE);
+      if (!u)
         u = "root";
 
       sstrncpy(argp, u, sizeof(arg));
-    } else {
+
+    } else
       sstrncpy(argp, session.user, sizeof(arg));
-    }
+
+    break;
+
+  case 'V':
+    argp = arg;
+    sstrncpy(argp, cmd->server->ServerFQDN, sizeof(arg));
     break;
 
   case 'v':
     argp = arg;
-    sstrncpy(argp,cmd->server->ServerName,sizeof(arg));
+    sstrncpy(argp, cmd->server->ServerName, sizeof(arg));
     break;
 
   case '%':
@@ -1678,7 +1698,7 @@
     break;
 
   default:
-    argp="{UNKNOWN TAG}";
+    argp = "{UNKNOWN TAG}";
     break;
   }
 



-------------------------------------------------------
SF.Net is sponsored by: Speed Start Your Linux Apps Now.
Build and deploy apps & Web services for Linux with
a free DVD software kit from IBM. Click Now!
http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click
_______________________________________________
ProFTPD Committers Mailing List
proftpd-committers@proftpd.org
https://lists.sourceforge.net/lists/listinfo/proftp-committers
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic