Changes in trunk/src/sh_forward.c [20:27]
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/sh_forward.c
r20 r27 335 335 #endif 336 336 337 #if def SH_WITH_CLIENT337 #if defined(SH_WITH_CLIENT) || defined(SH_WITH_SERVER) 338 338 339 339 static int count_dev_server = 0; … … 345 345 } 346 346 347 int sh_forward_setlogserver (c har * address)347 int sh_forward_setlogserver (const char * address) 348 348 { 349 349 SL_ENTER(_("sh_forward_setlogserver")); … … 708 708 static long sh_forward_try (char * errmsg); 709 709 710 static unsigned int ServerPort = SH_DEFAULT_PORT; 711 712 int sh_forward_server_port (const char * str) 713 { 714 unsigned long l; 715 char * endptr; 716 717 SL_ENTER(_("sh_forward_server_port")); 718 719 l = strtoul (str, &endptr, 0); 720 if (l > 65535 || endptr == str) 721 { 722 SL_RETURN (-1, _("sh_forward_server_port")); 723 } 724 ServerPort = (unsigned int) l; 725 SL_RETURN (0, _("sh_forward_server_port")); 726 } 710 727 711 728 long sh_forward (char * errmsg) … … 880 897 881 898 sockfd = connect_port_2 (sh.srvexport.name, sh.srvexport.alt, 882 S H_DEFAULT_PORT,899 ServerPort, 883 900 error_call, &error_num, error_msg, 256); 884 901 … … 1441 1458 flag_err, 1442 1459 MSG_TCP_NOCONF); 1443 } else { 1460 } 1461 #ifdef SH_WITH_CLIENT 1462 else { 1444 1463 sh_socket_server_cmd(buffer); 1445 1464 } 1465 #endif 1446 1466 flag_err = 0; 1447 1467 … … 1911 1931 1912 1932 1913 int sh_forward_use_clt_class (c har * c)1933 int sh_forward_use_clt_class (const char * c) 1914 1934 { 1915 1935 int i; … … 1919 1939 } 1920 1940 1921 int sh_forward_use_clt_sev (c har * c)1941 int sh_forward_use_clt_sev (const char * c) 1922 1942 { 1923 1943 int i; … … 1950 1970 } 1951 1971 1952 extern int safe_logger (int signal, int method, pid_t thepid); 1953 1954 int sh_forward_register_client (char * str) 1972 1973 int sh_forward_register_client (const char * str) 1955 1974 { 1956 1975 client_t * newclt; 1957 1976 client_t * testclt; 1958 1977 1959 c har* ptr;1978 const char * ptr; 1960 1979 int sepnum = 0; 1961 1980 int sep[2]; … … 1980 1999 if (all_clients == NULL) 1981 2000 { 1982 (void) safe_logger (0, 0, getpid());2001 (void) safe_logger (0, 0, NULL); 1983 2002 aud__exit(FIL__, __LINE__, EXIT_FAILURE); 1984 2003 } … … 2012 2031 newclt->status_arr[i] = CLT_INACTIVE; 2013 2032 sl_strlcpy(newclt->timestamp[CLT_INACTIVE], sh_unix_time(0), TIM_MAX); 2033 /* truncate */ 2014 2034 sl_strlcpy(newclt->hostname, &str[0], sep[0]+1); 2035 /* truncate */ 2015 2036 sl_strlcpy(newclt->salt, &str[sep[0]+1], sep[1]-sep[0]); 2016 2037 sl_strlcpy(newclt->verifier, &str[sep[1]+1], sl_strlen(str)-sep[1]+1); … … 2386 2407 2387 2408 #if defined(WITH_EXTERNAL) 2388 sprintf(msg, _("%s %s %s"), /* known to fit */ 2389 conn->hostname, 2390 conn->timestamp[status], 2391 _(clt_stat[status])); 2409 sl_snprintf(msg, sizeof(msg), _("%s %s %s"), 2410 conn->hostname, conn->timestamp[status], _(clt_stat[status])); 2392 2411 sh_ext_execute('s', 'r', 'v', msg, 0); 2393 2412 #endif … … 2398 2417 static time_t time_client_limit = 86400; 2399 2418 2400 int sh_forward_set_time_limit (c har * c)2419 int sh_forward_set_time_limit (const char * c) 2401 2420 { 2402 2421 long val; … … 2448 2467 static int lookup_err = SH_ERR_SEVERE; 2449 2468 2450 int sh_forward_lookup_level (c har * c)2469 int sh_forward_lookup_level (const char * c) 2451 2470 { 2452 2471 int ci = sh_error_convert_level (c); … … 2603 2622 static int UseSocketPeer = S_FALSE; 2604 2623 2605 int set_socket_peer (c har * c)2624 int set_socket_peer (const char * c) 2606 2625 { 2607 2626 return sh_util_flagval(c, &UseSocketPeer); … … 2731 2750 char hash[SH_MAXMSGLEN + KEY_LEN + KEY_LEN + 1]; 2732 2751 char * buffer; 2733 long len;2734 2752 2735 2753 int clt_sev; … … 2737 2755 2738 2756 UINT32 ticks; 2757 size_t len; 2739 2758 int i; 2740 2759 char * test; … … 2821 2840 sh_error_handle((-1), FIL__, __LINE__, 0, MSG_TCP_FAUTH, 2822 2841 &(conn->buf[KEY_LEN])); 2823 strcpy(conn->buf, /* known to fit */ 2824 &(conn->buf[KEY_LEN])); 2842 len = sl_strlen(&(conn->buf[KEY_LEN])) + 1; 2843 /* &(conn->buf[KEY_LEN]) is hostname */ 2844 /* may overlap, thus only memmove is correct */ 2845 memmove(conn->buf, &(conn->buf[KEY_LEN]), len); 2825 2846 this_client->session_key[0] = '\0'; 2826 2847 this_client->session_key_timer = (time_t) 1; … … 2835 2856 conn->K = NULL; 2836 2857 } 2837 i= sl_strlen(&(conn->buf[KEY_LEN])) + KEY_LEN + 1;2838 conn->K = SH_ALLOC( i);2858 len = sl_strlen(&(conn->buf[KEY_LEN])) + KEY_LEN + 1; 2859 conn->K = SH_ALLOC(len); 2839 2860 2840 2861 sl_strlcpy (conn->K, … … 2914 2935 conn->A = SH_ALLOC(3*KEY_LEN+1); 2915 2936 sl_strlcpy (conn->A, conn->K, KEY_LEN+1); 2916 sl_strlcat(conn->A, conn->buf, /* ignore remainder*/2937 sl_strlcat(conn->A, conn->buf, /* truncate */ 2917 2938 2*KEY_LEN+1); 2918 2939 sl_strlcat(conn->A, conn->client_entry->session_key, … … 3278 3299 sh_error_handle((-1), FIL__, __LINE__, 0, MSG_TCP_FAUTH, 3279 3300 &(conn->buf[KEY_LEN])); 3280 strcpy(conn->buf, /* known to fit */ 3281 &(conn->buf[KEY_LEN])); 3301 len = sl_strlen(&(conn->buf[KEY_LEN])) + 1; 3302 /* &(conn->buf[KEY_LEN]) is hostname */ 3303 /* may overlap, thus only memmove is correct */ 3304 memmove(conn->buf, &(conn->buf[KEY_LEN]), len); 3282 3305 this_client->session_key[0] = '\0'; 3283 3306 this_client->session_key_timer = (time_t) 1; … … 3293 3316 conn->K = NULL; 3294 3317 } 3295 i= sl_strlen(&(conn->buf[KEY_LEN])) + KEY_LEN + 1;3296 conn->K = SH_ALLOC( i);3318 len = sl_strlen(&(conn->buf[KEY_LEN])) + KEY_LEN + 1; 3319 conn->K = SH_ALLOC(len); 3297 3320 3298 3321 sl_strlcpy (conn->K, … … 4600 4623 static unsigned int server_port = SH_DEFAULT_PORT; 4601 4624 4602 int sh_forward_set_port (c har * str)4625 int sh_forward_set_port (const char * str) 4603 4626 { 4604 4627 int retval = 0; 4605 4628 unsigned long i; 4606 char * endptr = str;4629 char * endptr; 4607 4630 4608 4631 SL_ENTER(_("sh_forward_set_port")); … … 4621 4644 static int use_server_interface = 0; 4622 4645 4623 int sh_forward_set_interface (c har * str)4646 int sh_forward_set_interface (const char * str) 4624 4647 { 4625 4648 if (0 == strcmp(str, _("INADDR_ANY"))) … … 4814 4837 */ 4815 4838 new_act.sa_handler = SIG_IGN; 4839 sigemptyset( &new_act.sa_mask ); /* set an empty mask */ 4840 new_act.sa_flags = 0; /* init sa_flags */ 4816 4841 retry_sigaction (FIL__, __LINE__, SIGPIPE, &new_act, &old_act); 4817 4842 … … 5571 5596 } 5572 5597 5573 int set_syslog_active(c har * c)5598 int set_syslog_active(const char * c) 5574 5599 { 5575 5600 return sh_util_flagval(c, &enable_syslog_socket);
Note:
See TracChangeset
for help on using the changeset viewer.