PPK

Member
  • Content count

    36
  • Joined

  • Last visited

Posts posted by PPK


  1. That problem don't have anything to do with aero. ApexDC is forcing explorer theme for treeviews and listviews on xp (yes system without aero, because it is really not aero related!) and higher. Fix is to remove SetWindowTheme for treeviews and listviews. This theming is available from XP -> 9 years and only few apps using that :P


  2. Would it be possible to support passive-to-passive connections even when no NAT is in effect?

    That is possible.. but then it will be another skype, using active users for passive->passive data transfers (and i'm sure that is something that nobody want to do).


  3. Here is bootstrap.php ^_^

    <?php
    
      // check authorization
    
      if(strncmp($_SERVER['HTTP_USER_AGENT'], "StrongDC++ ", 11) != 0)
    
      {
    
        header("HTTP/1.1 403 Forbidden");
    
        die("Sorry, but you are not authorized to view this webpage.");
    
      }
    
    
      // check arguments
    
      if(strlen($cid = $_GET['cid']) != 39)
    
      {
    
        $error = "HTTP/1.1 400 Invalid CID.";
    
        header($error);
    
        die($error);
    
      }
    
    
      // temporary to kill old clients
    
      if($_GET['u4'] < 6241)
    
      {
    
        header("HTTP/1.1 405 Invalid UDP port (old client?). Bootstrap not allowed.");
    
        die();
    
      }
    
    
      // connect to database
    
      require('config.php');
    
      $db_link = mysql_connect($db_host, $db_user, $db_pass);
    
      if(!$db_link)
    
      {
    
        $error = "HTTP/1.1 500 Could not connect to database: " . mysql_error();
    
        header($error);
    
        die($error);
    
      }
    
    
      if(!mysql_select_db($db_name, $db_link))
    
      {
    
        $error = "HTTP/1.1 500 Could not select node database: " . mysql_error();
    
      	header($error);
    
        die($error);
    
      }
    
    
      // delete all entries with node's IP
    
      $sql_delete = "DELETE FROM nodes WHERE i4=\"" . $_SERVER['HTTP_X_REMOTE_ADDR'] . "\"";
    
      mysql_query($sql_delete, $db_link);
    
    
      $sql_query = "SELECT cid, i4, u4, timestamp FROM nodes WHERE cid NOT LIKE '$cid' ORDER BY timestamp DESC LIMIT 50";
    
      $select_result = mysql_query($sql_query, $db_link);
    
      if(!$select_result)
    
      {
    
        $error = "HTTP/1.1 500 Could not query to select data from the nodes table: " . mysql_error();
    
        header($error);
    
        die($error);
    
      }
    
    
      // return data in database in XML format
    
      $output = "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"yes\"?>\n";
    
      $output .= "<Nodes>\n";
    
      while($query_result_array = mysql_fetch_row($select_result))
    
      {
    
        $output .= "  <Node CID=\"" . $query_result_array[0] . "\" I4=\"" . $query_result_array[1] . "\" U4=\"" . $query_result_array[2] . "\"/>\n";
    
      }
    
      $output .= "</Nodes>\n";
    
    
      ob_start();
    
      echo gzcompress($output, 9);
    
      header('Content-Length: ' . ob_get_length()); 
    
      ob_flush();
    
    
      // only active nodes will be saved to database
    
      if(is_numeric($udp_port = $_GET['u4']))
    
      {
    
        // save connected client to database
    
        $sql_insert = "INSERT INTO nodes(cid, i4, u4) VALUES(\"$cid\", \"" . $_SERVER['HTTP_X_REMOTE_ADDR'] . "\", $udp_port) ";
    
        $sql_insert .= "ON DUPLICATE KEY UPDATE i4 = \"" . $_SERVER['HTTP_X_REMOTE_ADDR'] . "\", u4 = $udp_port";
    
        $insert_result = mysql_query($sql_insert, $db_link);
    
        if(!$insert_result)
    
        {
    
          $error = "HTTP/1.1 500 Could not query to insert node info: " . mysql_error();
    
          header($error);
    
          die($error);
    
        }
    
    
        // keep only 50 latest entries
    
        if(mysql_num_rows($select_result) + 1 > 50)
    
        {
    
          $sql_delete = "DELETE FROM nodes ORDER BY timestamp LIMIT 1";
    
          $delete_result = mysql_query($sql_delete, $db_link);
    
          if(!$delete_result)
    
          {
    
            $error = "HTTP/1.1 500 Could not query to delete oldest node: " . mysql_error();
    
            header($error);
    
            die($error);
    
          }      
    
        }
    
      }
    
    ?>
    
    


  4. Yes using only ADC hubs will help and russian characters will show correctly without changing system settings. But only on ADC hubs, that means to have choice from 3 running russian ADC hubs with total ~1300 users :shifty:

    ohh n merry xmas from dcdev PPK we are doing just fine without ya :)

    Thx, i wish merry x-mas to adcdevs (i'm sure that you forget that a on beginning) too :)


  5. Russian chars are shown correctly when system have locale set to Russian. You can set that on windows 7 in control panel -> regional and language -> administrative -> change system locale...

    Of course that change have effect on all non-unicode programs. In your case if you are using some non-unicode german apps then is possible that you don't see correctly special german characters.


  6. 3.ptokax PPK yeah that pretty much says it all PPK (mr i hate anything thats new and scary)

    You are wrong, i hate toast because it is stupid and always must comment something that he know nothing about. And when toast like it then i hate it :)


  7. since its UTF-8

    UTF-8 is possible in nmdc too and is already used in nmdc with some clients (Valkut, LinuxDC++ etc.) :stuart:

    IPv6 out of the box

    You should known that IPv6 support is missing in most ADC clients now.

    with the ADCS spec we are working on

    ADC devs working on something.. and nmdc have it already available (thx BigMuscle :)) :D


  8. If you have read BM's posts there is really no problem regarding OpenSSL

    And do you read it ? Here is no problem when OpenSSL is part of operating system. On windows is not, and then as is in that what big muscle pasted apply this part:

    If you develop open source software that uses OpenSSL, you may find it useful to choose an other license than the GPL, or state explicitly that "This program is released under the GPL with the additional exemption that compiling, linking, and/or using OpenSSL is allowed."

    You can do that for your own code, but not for GNU GPL code that you copyed. Then you can try this:

    If you are using GPL software developed by others, you may want to ask the copyright holder for permission to use their software with OpenSSL.

  9. You know PPK, that's too bad... if that will happen then it will happen, it's not like I have any means of stopping you. Besides there are plenty of other methods to distribute files aside SourceForge.

    Of course you can distribute files from different place than sourceforge, but when project will be removed from sourceforge then users know that is something wrong with that project :P

    Don't get me wrong, i don't have anything against apexdc++. Apex devs are not alone who received similar message today. Btw removing WTL and rewritte code that you have from other mods is not hard ;)


  10. Thing that ApexDC++ developers should know, to be able to fix it.

    ApexDC++ 1.0.0 Beta 5, 1.0.1 and 1.1.0 violates license of DC++ 0.701 and higher because use his code and is compiled with WTL (licensed under license incompatible with GNU GPL). DC++ to 0.701 changed license and removed part allowing that.

    Same versions violate licenses of DC++ mods (i'm found code from CZDC++ [ex. chat control, waiting users frame, recent hubs, country flags...], oDC [ex. omenu...], PhantomDC [ex. avipreview, previewdlg, toolbarpage...], PossumMod [ex. FolderTree...], ReverseConnect [ex. sorting in TypedTreeListViewCtrl...]) because ApexDC++ is compiled with OpenSSL (licensed under license incompatible with GNU GPL) and none of these mods have that allowed in license.