Inicio Foros Clientes y programación Fluffos 2.20-2.23

Mostrando 3 respuestas a los debates
  • Autor
    Respuestas
    • Satyr
      Superadministrador
      Número de entradas: 9026

      Pongo esto al día, porque lo teníamos un poco olvidado… he subido la 2.23 al fluven, a ver que tal va rulando.

      Añadir también que con la Versión 2.23 se repara un parche que teníamos en las versiones 2.22- y se añade otro nuevo a crypto.c, porque el servidor no tiene las librerías necesarias para la encriptación mdc2 (temas de patentes).

      Por último, este paquete (crypto) nos permite utilizar la efun hash(string tipo_encriptacion, string cadena_a_encriptar) que admite los siguientes tipos de encriptación: md2, md4, md5, RIPEMD160 y sha1.
      exec return hash(«md5», «test») returns «098f6bcd4621d373cade4e832627b4f6»

      FluffOS 2.23
      added a terminal_colour_replace apply, this will be called with every string between two %^ delimiters, and will be replaced with whatever is returned.
      fixed protocol number for GMCP
      fixed sprintf code for MSSP uptime
      added defer efun, it takes a function pointer that will be called when the current function ends (even if that was caused by a runtime)
      the old range behaviour warning for negative array indexes is now optional
      the driver can now be compiled to use either struct or class for structs, or even allow both
      fixed crasher in uniq_array
      fixed crasher in socket_status
      added missing ‘,’ in non iconv driver pcre support

      FluffOS 2.22
      fixed potential crasher in pcre_extract
      removed limit for number of matches in pcre efuns
      added classes() efun (woom)
      classes(ob) returns a list of class names available in ob
      classes(ob, 1) returns the same list, with all the fields in the class (type and name)
      you can now have more than 256 Globals ([email protected])
      added postgres support ([email protected])
      fixed zmp crash
      removed some obsolete malloc options

      FluffOS 2.21
      small cleanup in malloc32
      added gmcp support
      gmcp_enable() gets called when a user has gmcp
      gmcp() will get called with any received message
      send_gmcp(string) will send the string as a gmcp message
      has_gmcp(object) returns if the object supports gmcp
      fixed sorting when the compare function returns values that don’t fit in a 32 bit int.
      fixed memory leak in sorting
      new deep_inventory functionality (tiz)
      it can now take an array of objects, and a function pointer that can return
      0 don’t include this object or it’s contents
      1 do include
      2 include this object but not it’s contents
      3 don’t include this object but do add the contents
      the function will be called with one object from the inventory (for each object looked at)
      fixed memory leak in new deep_inventory
      added pcre support (Volothamp@Final Realms)
      string pcre_version(void);
      version of the pcre lib
      mixed pcre_match(string | string *, string, void | int);
      like the regexp efun
      mixed *pcre_assoc(string, string *, mixed *, mixed | void);
      like reg_assoc
      string *pcre_extract(string, string);
      extract matching parts
      string pcre_replace(string, string, string *);
      string replace, one entry in the array for each match
      string pcre_replace_callback(string, string, string | function, …);
      string replace uses a callback to get the replace string (called with the matched string and match number, starting with 0)
      mapping pcre_cache(void);
      returns content of the pcre cache (not all that useful)
      fixed memory leaks in pcre efuns
      fixed crashers in pcre efuns
      small optimisation in reg_assoc and pcre_assoc
      fixed memory leak in compiling files
      restore_object will no longer randomly set 0 values as undefined
      fixed crasher in asking for an unused config setting
      sprintf buffer is now big enough for max string size
      fixed crasher in async_db_exec (never seen for real, but it was possible!)
      db_fetch will no longer randomly return some 0s as undefined
      dwlib package now has a replace_dollars function which searches for patterns starting with a $ only, otherwise the same as replace() (but faster as it only scans once)

      FluffOS 2.20
      more error check in malloc64
      bigger arrays (up to 2^31 elements)
      bigger mappings (see arrays)
      more efficient clean_up()
      setting sockets to close on exec done in a more compatible way (only worked on rather new linux kernels)
      no longer sends mccp messages when already compressed (fixes older cmud vversions)
      some cleanups for compiler warnings
      new roulette_wheel() efun in the dwlib package (Woom)
      new replace_objects() efun int the dwlib package (replaces all object references in the argument with filenames recursively)
      check_valid_path apply now also used for compile paths (source files)
      32BIT fix (Kalinash)
      use less chars for string hashes (faster)
      correctly do tables in (s)printf with utf-8 strings
      use the already existing precalculated string hashes more often
      save string length for bigger strings as well instead of using strlen on strings > 64k all the time
      NetBSD IPV6 fix (Tiz)
      fixed crasher in reference_allowed() (in dwlib.c)

    • Satyr
      Superadministrador
      Número de entradas: 9026

      Ah!; añadir que ahora han implementado los structs en LPC. ¿Esto nos interesaría tenerlo?

    • Rutseg
      Participante
      Número de entradas: 709

      Ahora mismo ya estamos usando FluffOS 2.22 así que los cambios sólo son de ahí a la 23 no?
      Por cierto, que el -RL de nuestra versión es porque Dunkelheit hizo algunos añadidos, y yo también toqué el db.c para poder usar a la vez una BD en mysql y otra postgresql (almenos en fluven, no recuerdo si al final se añadió al MUD, viendo el /secure/master/valid_database.c tal vez no).

      Respecto a lo de struct, me parece una buena idea, aunque es simplemente un alias de ‘class’. Como ya estamos acostumbrados no sé si vale la pena, pero si se hace habrá que hacer los pertinentes cambios en el código y en la documentación.

    • Satyr
      Superadministrador
      Número de entradas: 9026

      Pasamos del struct entonces, got it.

      Sí, teníamos la 2.22, puse aquí el changelog porque antes no se había hecho y yo siempre agradecía ver los pequeños cambios en las efuns.

      Sobre los cambios de Dunkelheit a la mudlib:
      – No usamos postgres para nada
      – El cambio del «roll» (temas de rendimiento) ya está aplicado.
      – Había un parche con un problema de los sockets, pero ya está arreglado en la 2.23, por lo que no sería necesario aplicar más parches si no fuese porque…
      – … la librería crypto.c tiene la opción de encriptar en mdc2 y debian no tiene las patntes de esas librerías, por lo que para compilar el driver, es necesario comentar esas líneas.

Mostrando 3 respuestas a los debates
  • Debes estar registrado para responder a este debate.