• Nathaniel Wesley Filardo's avatar
    Networking rampage and accumulated fixes (#3060) · af426d03
    Nathaniel Wesley Filardo authored
    * espconn: remove unused espconn code, take 1
    
    This is the easiest part of https://github.com/nodemcu/nodemcu-firmware/issues/3004 .
    It removes a bunch of functions that were never called in our tree.
    
    * espconn: De-orbit espconn_gethostbyname
    
    Further work on https://github.com/nodemcu/nodemcu-firmware/issues/3004
    
    While here, remove `mqtt`'s charming DNS-retry logic (which is neither
    shared with nor duplicated in other modules) and update its :connect()
    return value behavior and documentation.
    
    * espconn: remove scary global pktinfo
    
    A write-only global!  How about that.
    
    * net: remove deprecated methods
    
    All the TLS stuff moved over there a long time ago, and
    net_createUDPSocket should just do what it says on the tin.
    
    * espconn_secure: remove ESPCONN_SERVER support
    
    We can barely function as a TLS client; being a TLS server seems like a
    real stretch.  This code was never called from Lua anyway.
    
    * espconn_secure: more code removal
    
    * espconn_secure: simplify ssl options structure
    
    There is nothing "ssl_packet" about this structure.  Get rid of the
    terrifying "pbuffer" pointer.
    
    Squash two structure types together and eliminate an unused field.
    
    * espconn_secure: refactor mbedtls_msg_info_load
    
    Split out espconn_mbedtls_parse, which we can use as part of our effort
    towards addressing https://github.com/nodemcu/nodemcu-firmware/issues/3032
    
    * espconn_secure: introduce TLS cert/key callbacks
    
    The new feature part of https://github.com/nodemcu/nodemcu-firmware/issues/3032
    Subsequent work will remove the old mechanism.
    
    * tls: add deprecation warnings
    
    * luacheck: net.ifinfo is a thing now
    
    * tls: remove use of espconn->reverse
    
    * mqtt: stop using espconn->reverse
    
    Instead, just place the espconn structure itself at the top of the user
    data.  This enlarges the structure somewhat but removes one more layer
    of dynamic heap usage and NULL checks.
    
    While here, simplify the code a bit.
    
    * mqtt: remove redundant pointer to connect_info
    
    Everywhere we have the mqtt_state_t we also have the lmqtt_userdata.
    
    * mqtt: doc fixes
    
    * mqtt: note bug
    
    * tls: allow :on(...,nil) to unregister a callback
    af426d03
mqtt.c 56.8 KB