/[LeafOK_CVS]/lbbs/src/login.c
ViewVC logotype

Diff of /lbbs/src/login.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 1.44 by sysadm, Mon Jun 16 09:42:28 2025 UTC Revision 1.48 by sysadm, Sat Jun 21 02:15:18 2025 UTC
# Line 14  Line 14 
14   *                                                                         *   *                                                                         *
15   ***************************************************************************/   ***************************************************************************/
16    
 #define _POSIX_C_SOURCE 200112L  
   
 #include "login.h"  
17  #include "bbs.h"  #include "bbs.h"
 #include "user_priv.h"  
18  #include "common.h"  #include "common.h"
19  #include "log.h"  #include "database.h"
20  #include "io.h"  #include "io.h"
21    #include "log.h"
22    #include "login.h"
23  #include "screen.h"  #include "screen.h"
24  #include "database.h"  #include "user_priv.h"
 #include <errno.h>  
25  #include <ctype.h>  #include <ctype.h>
26    #include <errno.h>
27    #include <stdlib.h>
28  #include <string.h>  #include <string.h>
29  #include <regex.h>  #include <regex.h>
 #include <stdlib.h>  
30  #include <unistd.h>  #include <unistd.h>
31  #include <mysql/mysql.h>  #include <mysql/mysql.h>
32    
# Line 350  int check_user(const char *username, con Line 348  int check_user(const char *username, con
348                  goto cleanup;                  goto cleanup;
349          }          }
350    
351          BBS_last_access_tm = BBS_login_tm = time(0);          BBS_last_access_tm = BBS_login_tm = time(NULL);
352    
353          // Set user tz to process env          // Set user tz to process env
354          if (BBS_user_tz[0] != '\0')          if (BBS_user_tz[0] != '\0')
# Line 422  int load_user_info(MYSQL *db, int BBS_ui Line 420  int load_user_info(MYSQL *db, int BBS_ui
420          rs = NULL;          rs = NULL;
421    
422          if (life != 333 && life != 365 && life != 666 && life != 999 && // Not immortal          if (life != 333 && life != 365 && life != 666 && life != 999 && // Not immortal
423                  time(0) - last_login_dt > 60 * 60 * 24 * life)                  time(NULL) - last_login_dt > 60 * 60 * 24 * life)
424          {          {
425                  ret = -3; // Dead                  ret = -3; // Dead
426                  goto cleanup;                  goto cleanup;
# Line 472  int load_guest_info(void) Line 470  int load_guest_info(void)
470                  goto cleanup;                  goto cleanup;
471          }          }
472    
473          BBS_last_access_tm = BBS_login_tm = time(0);          BBS_last_access_tm = BBS_login_tm = time(NULL);
474    
475  cleanup:  cleanup:
476          mysql_close(db);          mysql_close(db);
# Line 517  int user_online_del(MYSQL *db) Line 515  int user_online_del(MYSQL *db)
515    
516          return 0;          return 0;
517  }  }
518    
519    int user_online_update(const char *action)
520    {
521            MYSQL *db = NULL;
522            char sql[SQL_BUFFER_LEN];
523    
524            if (strcmp(BBS_current_action, action) == 0) // No change
525            {
526                    return 0;
527            }
528    
529            strncpy(BBS_current_action, action, sizeof(BBS_current_action) - 1);
530            BBS_current_action[sizeof(BBS_current_action) - 1] = '\0';
531    
532            db = db_open();
533            if (db == NULL)
534            {
535                    log_error("db_open() error: %s\n", mysql_error(db));
536                    return -1;
537            }
538    
539            snprintf(sql, sizeof(sql),
540                             "UPDATE user_online SET current_action = '%s', last_tm=NOW() "
541                             "WHERE SID = 'Telnet_Process_%d'",
542                             BBS_current_action, getpid());
543            if (mysql_query(db, sql) != 0)
544            {
545                    log_error("Update user_online error: %s\n", mysql_error(db));
546                    return -2;
547            }
548    
549            mysql_close(db);
550    
551            return 1;
552    }


Legend:
Removed lines/characters  
Changed lines/characters
  Added lines/characters

webmaster@leafok.com
ViewVC Help
Powered by ViewVC 1.3.0-beta1