view mod_register_apps/assets/logos/dino.svg @ 4651:8231774f5bfd

mod_cloud_notify_encrypted: Ensure body substring remains valid UTF-8 The `body:sub()` call risks splitting the string in the middle of a multi-byte UTF-8 sequence. This should have been caught by util.stanza validation, but that would have caused some havoc, at the very least causing the notification to not be sent. There have been no reports of this happening. Likely because this module isn't widely deployed among users with languages that use many longer UTF-8 sequences. The util.encodings.utf8.valid() function is O(n) where only the last sequence really needs to be checked, but it's in C and expected to be fast.
author Kim Alvefur <zash@zash.se>
date Sun, 22 Aug 2021 13:22:59 +0200
parents 354dc1e7977a
children 4acb48604490
line wrap: on
line source

<svg width="348.643" height="355.287" viewBox="0 0 92.246 94.004" xmlns="http://www.w3.org/2000/svg"><defs><linearGradient id="d" x1="479.79" x2="529.53" y1="233.23" y2="276.31" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#fff"/><stop offset="1" stop-color="#fff" stop-opacity="0"/></linearGradient><clipPath id="c"><path d="M503.51 222.01c-20.04 0-36.286 16.246-36.286 36.286 0 1.925.151 3.814.44 5.657 1.402 6.762 6.687 9.389 6.687 9.389 1.108.908 2.484 1.836 4.073 2.752l-.13-.004s3.331 18.563 9.444 18.41c4.622-.116 8.25-9.453 14.128-9.265 5.872.188 8.256 9.151 14.1 9.213 3.374.036 6.307-5.744 8.16-10.528.586-.12 1.17-.25 1.749-.392 5.556 5.254 18.398 10.599 23.87 12.412a.533.533 0 0 0 .177-.14c1.396-1.82-7.954-16.01-12.983-23.372a36.17 36.17 0 0 0 2.856-14.132c0-20.04-16.246-36.286-36.286-36.286z" fill-rule="evenodd" fill="#009688"/></clipPath><filter id="b" x="-.057" y="-.064" width="1.113" height="1.127" color-interpolation-filters="sRGB"><feGaussianBlur stdDeviation="7.406"/></filter><filter id="a" x="-.036" y="-.036" width="1.073" height="1.071" color-interpolation-filters="sRGB"><feGaussianBlur stdDeviation="1.279"/></filter></defs><path transform="translate(-463.58 -207.17)" d="M505.07 210.24c-2.584 0-7.363 8.69-9.387 12.604-.943.203-1.873.442-2.787.716-3.364-2.184-10.387-6.5-12.017-5.56-1.423.821-1.425 8.862-1.333 12.923-7.653 6.652-12.492 16.459-12.492 27.395 0 .048 0 .097.002.145l-.002.127c0 1.924.151 3.814.44 5.657.05.242.106.477.166.709 1.642 8.88 6.518 16.625 13.36 21.97 1.577 4.154 3.775 7.937 6.547 7.867 1.405-.035 2.717-.923 4.029-2.134a36.026 36.026 0 0 0 5.7 1.443 36.53 36.53 0 0 0 6.044.502 36.06 36.06 0 0 0 8.897-1.1c1.06.737 2.218 1.223 3.56 1.238 2.067.022 3.966-2.142 5.555-4.919.374-.214.744-.436 1.11-.663 9.543 3.143 23.481 7.454 26.688 6.928.14.048.295.103.426.146a.534.534 0 0 0 .176-.14c.116-.15.156-.387.133-.695.043-.563-.239-1.495-.744-2.671 1.157-2.273 2.989-6.227 2.326-7.376-.602-1.042-4.756-1.14-7-1.117-.259-.42-.515-.836-.78-1.26 1.135-2.282 3.259-6.915 2.498-8.232-.852-1.476-7.172-1.756-9.086-1.808l-.159-.233c1.955-1.002 10.336-5.393 10.64-7.154.27-1.572-5.236-6.234-7.977-8.444-.032-.98-.104-1.95-.212-2.91 2.74-3.67 8.98-12.269 8.376-13.724-.783-1.886-11.23-3.218-15.204-3.661a36.411 36.411 0 0 0-1.467-1.859c.365-4.318 1.196-16.086-.544-17.205-1.496-.961-11.73 4.52-15.087 6.365a35.98 35.98 0 0 0-1.651-.54c-1.454-3.362-5.99-13.33-8.744-13.33z" fill-rule="evenodd" filter="url(#a)" opacity=".2"/><path d="M84.862 87.192s4.14-7.395 3.197-9.03c-.83-1.436-8.444-1.084-8.444-1.084s4.183-7.757 3.162-9.525c-1.005-1.741-9.675-1.823-9.675-1.823s10.726-5.38 11.068-7.372c.359-2.089-9.482-9.636-9.482-9.636s10.44-13.588 9.67-15.442c-.966-2.327-16.818-3.835-16.818-3.835s1.733-17.52-.397-18.89c-1.79-1.15-16.236 6.999-16.236 6.999S44.967 3.05 41.66 3.05c-3.328 0-10.359 14.525-10.359 14.525S19.631 9.562 17.47 10.81c-1.91 1.103-1.259 15.252-1.259 15.252z" fill-rule="evenodd" fill="#455a64"/><g fill="#80cbc4" fill-rule="evenodd"><path d="M70.31 60.85s17.935 25.313 16.04 27.783c-1.84 2.398-36.52-9.785-36.52-9.785z"/><path d="M3.65 51.13c0 17.981 13.079 32.907 30.242 35.785 1.966.33 3.985.501 6.044.501 2.13 0 4.219-.184 6.25-.536C63.246 83.918 76.22 69.039 76.22 51.13c0-20.04-16.246-36.286-36.286-36.286-20.04 0-36.286 16.246-36.286 36.286z"/></g><path transform="scale(.26458)" d="M154.92 58.094c-75.742 0-137.14 61.401-137.14 137.14 0 7.274.571 14.415 1.662 21.383 5.3 25.557 25.275 35.482 25.275 35.482 4.185 3.435 9.388 6.94 15.395 10.402l-.494-.016s12.592 70.158 35.693 69.58c17.472-.438 31.183-35.725 53.398-35.016 22.195.709 31.205 34.586 53.293 34.82 12.755.135 23.838-21.709 30.84-39.789 2.216-.453 4.422-.945 6.611-1.483 21 19.858 69.537 40.06 90.221 46.912.283-.15.51-.325.668-.53 5.275-6.875-30.062-60.51-49.07-88.333 6.949-16.416 10.793-34.466 10.793-53.414 0-75.742-61.4-137.14-137.14-137.14z" fill-rule="evenodd" filter="url(#b)" opacity=".15"/><path d="M39.931 15.378c-20.04 0-36.286 16.246-36.286 36.286 0 1.925.151 3.814.44 5.658 1.402 6.762 6.687 9.388 6.687 9.388 1.108.908 2.484 1.836 4.073 2.752l-.13-.004s3.331 18.563 9.444 18.41c4.622-.116 8.25-9.452 14.128-9.265 5.872.188 8.256 9.151 14.1 9.213 3.375.036 6.308-5.744 8.16-10.528.587-.12 1.17-.25 1.75-.392 5.556 5.254 18.398 10.599 23.87 12.412a.534.534 0 0 0 .177-.14c1.396-1.82-7.954-16.01-12.983-23.372a36.171 36.171 0 0 0 2.856-14.133c0-20.04-16.246-36.285-36.286-36.285z" fill-rule="evenodd" fill="#00796b"/><path d="M39.931 14.312c-20.04 0-36.286 16.246-36.286 36.286 0 1.925.151 3.814.44 5.658 1.402 6.762 6.687 9.388 6.687 9.388 1.108.908 2.484 1.836 4.073 2.752l-.13-.004s3.331 18.563 9.444 18.41c4.622-.116 8.25-9.452 14.128-9.265 5.872.188 8.256 9.151 14.1 9.213 3.375.036 6.308-5.744 8.16-10.528.587-.12 1.17-.25 1.75-.392 5.556 5.254 18.398 10.6 23.87 12.412a.534.534 0 0 0 .177-.14c1.396-1.82-7.954-16.01-12.983-23.371a36.171 36.171 0 0 0 2.856-14.133c0-20.04-16.246-36.286-36.286-36.286z" fill-rule="evenodd" fill="#4db6ac"/><path d="M39.931 14.841c-20.04 0-36.286 16.246-36.286 36.286 0 1.925.151 3.814.44 5.658 1.402 6.762 6.687 9.388 6.687 9.388 1.108.908 2.484 1.836 4.073 2.752l-.13-.004s3.331 18.563 9.444 18.41c4.622-.116 8.25-9.452 14.128-9.265 5.872.188 8.256 9.151 14.1 9.213 3.374.036 6.307-5.743 8.16-10.528.586-.12 1.17-.25 1.749-.392 5.556 5.254 18.398 10.6 23.87 12.412a.534.534 0 0 0 .177-.14C87.74 86.81 78.39 72.62 73.36 65.26a36.171 36.171 0 0 0 2.856-14.133c0-20.04-16.246-36.286-36.286-36.286z" fill-rule="evenodd" fill="#009688"/><circle cx="21.58" cy="41.319" r="2.91" fill-rule="evenodd" fill="#eee"/><path transform="translate(-463.58 -207.17)" clip-path="url(#c)" fill-rule="evenodd" fill="url(#d)" opacity=".05" d="M461.55 203.9h101.96v98.655H461.55z"/></svg>