Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Mongoose 6.9 #855

Merged
merged 137 commits into from Sep 13, 2017
Merged

Mongoose 6.9 #855

merged 137 commits into from Sep 13, 2017

Conversation

rojer
Copy link
Collaborator

@rojer rojer commented Sep 13, 2017

API changes:

  • MG_ENABLE_CALLBACK_USERDATA - if set, changes signature of event handler function to include user_data argument. Disabled by default for now, in the future this will become the default.
  • mg_set_nameserver() - specify DNS server to use
  • mg_assemble_uri() - assemble a URI from parts
  • mg_connect_ws() now accepts http:// URLs

Bug fixes:

  • Fix parsing of MQTT QoS > 0 PUBLISH messages
  • Fix MQTT PUB{ACK,REC,REL,COMP} and UNSUBACK flags
  • Properly shut down the SSL connection (send "close notify" TLS message)
  • Fix mg_get_http_var() return value
  • Fix MQTT handshake; change client protocol to version 3.1.1
  • Fix Handling of multiple MQTT messages per RECV event
  • Update to make lwip_net_if thread-safe
  • Use DhcpNameServer on Windows
  • Fix MQTT message parsing issues
  • Fix DNS name uncompression that could lead to infinite loop
  • Fix WS frame reassembly issues

cpq and others added 30 commits February 23, 2017 17:50
PUBLISHED_FROM=94f830a5fa4b806fb2cf60c93a9e8744022ff8d7
PUBLISHED_FROM=91016ab1629a65976d2cc2f00aec4e1667cb4a8f
`mg_mqtt_match_topic_expression()` and friends are public now.

So far, only `#` is supported.

PUBLISHED_FROM=20c031bcf34be84771c4a9c456318634eb9a517c
E.g. given the expression `foo/#`:

- `foo/bar` matches
- `foo/` should not match
- `foo` should not match

PUBLISHED_FROM=40f3290cb9a478b22d9f1ab6382884b5de70e266
PUBLISHED_FROM=f415ddbac47e3069d3ab29467a23f6b8dab0066f
PUBLISHED_FROM=35e8f18aa611b45c271d0178d9197291bfa9726d
PUBLISHED_FROM=dfbfeaae983daa0412964ac0402759f632bf7aeb
PUBLISHED_FROM=1bdacf793b35ebe70d0a3a9d64260dd2bd135c73
PUBLISHED_FROM=71b40189bcedbe9338915c1aad939835125dad26
PUBLISHED_FROM=0e8de208b553b63c8367f66893389587bd17359f
PUBLISHED_FROM=b5b12cdf4273f21dbcdac9bfb6a06063152914c9
PUBLISHED_FROM=34c3e49d523b0f5c7056f91e4b422f21f5694df9
PUBLISHED_FROM=72d80f8ed2c10866b44d56d8133c76b22bc105b0
Release pbuf sooner: after copying data from, before invoking user code

PUBLISHED_FROM=b877c96ef602bbca26762b18b9dde17eb880d1f9
Message ID comes after topic, not before.

PUBLISHED_FROM=1ec2a56e290b67061b18c745671dc7f089b9cc0d
Flags should be 0 for all of these, except PUBREL (flags = 2).

PUBLISHED_FROM=46bf63fe12020d4cb493e52ceb3bae0291484b40
Frees up a bit of ram on ESP

PUBLISHED_FROM=0ea046cc63704481bca138b3096937669b94733d
PUBLISHED_FROM=8e07541e7a3b951dcfd08381b46f6143773eae45
PUBLISHED_FROM=93fe1cc2c5e2513509511a81e5919cbd37056b10
PUBLISHED_FROM=29a204c2c7f35724b6f1e8435edb94869da2362c
By sending close_notify

PUBLISHED_FROM=028a001cb9470a16cc7a6544805bfb042a435779
PUBLISHED_FROM=51d68829414739b04fafc9198d86b817c38d71d2
PUBLISHED_FROM=10772301ef115c31ada3521ff4235c33a421b782
PUBLISHED_FROM=c5691d4321fff2e03f689b0195abd1ec6a188418
PUBLISHED_FROM=7c919ba3a2afa74cec9947e78299b4bb7a64b4bc
PUBLISHED_FROM=a28c1da3f0dd597792439246313ca39984ab7536
PUBLISHED_FROM=599ccd99e7bf422cac5e8b1f5ccebe3cac2780e8
PUBLISHED_FROM=56fdeaf4965ef26c398267c8656735bb52e45085
PUBLISHED_FROM=2babde0d0c6add14aa500f4bf1c833715d979c6c
PUBLISHED_FROM=bb03593fb2abfb79daa3118b786428ee3e693e3d
Deomid Ryabkov and others added 23 commits August 21, 2017 07:52
Ignore all the mess, this is just the beginning...

PUBLISHED_FROM=41ab3c5af0b1d07204619dd4d8dc2e84b6a54f32
PUBLISHED_FROM=f97569ae2f31ab94ce4875eae4d0a198f719c388
Fixed bug in websocket handshake:
now adding Sec-WebSocket-Protocol header in handshake response.

PUBLISHED_FROM=e4a71ff9dc4aeec63db40cb7f356dc5b25c1215a
Achievement unlocked: CC3220 port prints a boot banner.
Then locks up.

Included in this PR is refactoring to pull out common parts to be shared with CC3200.

PUBLISHED_FROM=5fb9d9a00bb9ce7f63dde20bc1876076b76d5257
And mgos_conf_check_access_n()

PUBLISHED_FROM=c7de937b4f5463ca463d604183a4ee831617bd6d
Also make CC3200 use newer ARM compiler, generates slightly smaller code.

PUBLISHED_FROM=a0be49d7ea864a95886f7110887a59f6f11802d7
Also, do not accept PUBLISH and SUBSCRIBE before a sucessful CONNECT.

PUBLISHED_FROM=b5096cdc2ec5da1358244c428efbbb2e20be1a05
PUBLISHED_FROM=5e7fcc7bf145aa8e1045e8d627b1c0731bb4341b
For now, we only support SPIFFS-in-a-box, same as CC3200.
On CC3200SF it should be possible to have SPIFFS on built-in flash, but that is left for later.

PUBLISHED_FROM=dee337c8cd8ed288c22abe9960eef81e6e90cc4a
```
Using port /dev/ttyACM0
[Aug 30 19:33:02.105]
[Aug 30 19:33:02.114] cc32xx_init          c_no_libs 1.0 (20170830-163205/mos8@6587ffd6+)
[Aug 30 19:33:02.123] cc32xx_init          Mongoose OS 2017083016 (20170830-163205/mos8@6587ffd6+)
[Aug 30 19:33:02.130] cc32xx_init          RAM: 253588 total, 240044 free
[Aug 30 19:33:04.430] cc32xx_start_nwp     NWP v3.4.0.0 started, host driver v2.0.1.19
[Aug 30 19:33:04.437] mgos_vfs_dev_open    slfs_container ({"prefix": "spiffs.img.0"}) -> 20005a64
[Aug 30 19:33:04.450] cc32xx_vfs_dev_slfs_ 20005a64 spiffs.img.0.0 262144 0xfffffffffffffffe
[Aug 30 19:33:04.457] mgos_vfs_mount       Mount SPIFFS @ / (dev 20005a64, opts ) -> 20005a74
[Aug 30 19:33:06.102] mgos_vfs_mount       /: size 233681, used: 4016, free: 229665
[Aug 30 19:33:06.108] mgos_vfs_mount       Mount SLFS @ /slfs (dev 0, opts ) -> 20005ed4
[Aug 30 19:33:06.114] mgos_vfs_mount       /slfs: size 0, used: 0, free: 0
[Aug 30 19:33:06.718] mgos_sys_config_init MAC: 04A316459442
[Aug 30 19:33:06.720] mgos_sys_config_init WDT: 30 seconds
[Aug 30 19:33:06.724] Hello, world!
[Aug 30 19:33:06.728] mgos_init            Init done, RAM: 253588 total, 236544 free, 235864 min free
```

PUBLISHED_FROM=7e83c9ddcc642bd324a40e125d6636ece824fb18
PUBLISHED_FROM=db89a45a536f0234d6d5cf740354c0dbeeff1f26
PUBLISHED_FROM=5831462c5be0b79afff32130a1f45784f32bc524
PUBLISHED_FROM=263553121b992ec0f66b0275b4e10f4176281812
PUBLISHED_FROM=e16ee57bc30277e5b5684e53da78e69baaf9f779
Add checks on the number of subscribe requests per packet and overall per-session subscription limit.

PUBLISHED_FROM=faaf5c50af31a0694c9308a664f2e418dbb0eb18
PUBLISHED_FROM=6f2d9849d75ca1ec2b6dade11ccad8d0c5d4b3bd
PUBLISHED_FROM=b7325b38e881455df703b0b628c41931565ccb33
PUBLISHED_FROM=07e820f539fa5feca2ad1cf81faca8404b773a65
PUBLISHED_FROM=7bbe7dd20dca8435c786dca30200a4973ae0827d
PUBLISHED_FROM=4ddfc25af77247fac7e7d04cc0e56d6f3800f87b
Which is a slightly modified version from
https://stackoverflow.com/questions/283166/easy-way-to-convert-a-struct-tm-expressed-in-utc-to-time-t-type

PUBLISHED_FROM=b73f920ca42c45473c23337782e815306bdf69f1
PUBLISHED_FROM=082d0bf5e9b06b850382ce502c7f5b4d68a6a328
@rojer rojer requested a review from cpq September 13, 2017 10:32
@cpq cpq merged commit 34eb3f1 into master Sep 13, 2017
@cpq cpq deleted the dev branch September 13, 2017 10:48
@rojer rojer restored the dev branch September 13, 2017 11:31
@rojer rojer deleted the dev branch September 13, 2017 11:34
@rojer rojer changed the title Mongoose 6.8 Mongoose 6.9 Sep 13, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

7 participants