FreePBX 13: failed to open stream: File name too long File:/var/www/html/admin/modules/firewall/Firewall.class.php:226

Hello,

Just enabled Firewall on my FreePBX installation and trying to change Traffic Zones for interfaces. No matter which zones I’ll set I can’t save any changes. Once I press “Update Interfaces” button red splash window apperas with following error message “Whoops\Exception\ErrorException
fopen(/var/spool/asterisk/incron/firewall.updateinterfaces.eJyVkL0OwyAMhN_Fc5D6u+RZWKxgElQwEZC2apR3r5UuSduFxTr57r7hZuhiCMgGWphGg4UcF0oWO8rQQIhm8iSedYke6L38JJDlM2ugMhw0tKJekUmUhrXN6DU0GgzlLrmxuMiryViUY5JjNSzNCjh+AUqaciHztx+oRxtZSYZvW8ipAlLIO_xFnCsQ4yAp5ZG3gEsFgJ6flVToA+_muFZQ7rTfYoHlDQRzoIw=): failed to open stream: File name too long
File:/var/www/html/admin/modules/firewall/Firewall.class.php:226”

Any ideas how to solve this? Anyone having the same issue?

Regards,
Artello

All modeles updated:

+----------------------+-------------+----------+------------+
| Module               | Version     | Status   | License    |
+----------------------+-------------+----------+------------+
| accountcodepreserve  | 13.0.2      | Enabled  | GPLv2      |
| announcement         | 13.0.7.1    | Enabled  | GPLv3+     |
| areminder            | 13.0.10.6   | Enabled  | Commercial |
| arimanager           | 13.0.4      | Enabled  | GPLv3+     |
| asterisk-cli         | 13.0.4      | Enabled  | GPLv3+     |
| asteriskinfo         | 13.0.7.1    | Enabled  | GPLv3+     |
| backup               | 13.0.27.17  | Enabled  | GPLv3+     |
| blacklist            | 13.0.14.8   | Enabled  | GPLv3+     |
| bria                 | 13.0.16     | Enabled  | Commercial |
| broadcast            | 13.0.12.10  | Enabled  | Commercial |
| builtin              |             | Enabled  |            |
| bulkdids             | 13.0.2      | Enabled  | GPLv3+     |
| bulkextensions       | 13.0.3      | Enabled  | GPLv3+     |
| bulkhandler          | 13.0.14.4   | Enabled  | GPLv3+     |
| callback             | 13.0.5.2    | Enabled  | GPLv3+     |
| callerid             | 13.0.8.9    | Enabled  | Commercial |
| callforward          | 13.0.4.2    | Enabled  | AGPLv3+    |
| calllimit            | 13.0.5.5    | Enabled  | Commercial |
| callrecording        | 13.0.11.5   | Enabled  | AGPLv3+    |
| callwaiting          | 13.0.4.1    | Enabled  | GPLv3+     |
| campon               | 13.0.4.1    | Enabled  | GPLv3+     |
| cdr                  | 13.0.32     | Enabled  | GPLv3+     |
| cel                  | 13.0.26.2   | Enabled  | GPLv3+     |
| certman              | 13.0.37     | Enabled  | AGPLv3+    |
| cidlookup            | 13.0.12.2   | Enabled  | GPLv3+     |
| conferences          | 13.0.23.9   | Enabled  | GPLv3+     |
| conferencespro       | 13.0.27.7   | Enabled  | Commercial |
| configedit           | 13.0.7.1    | Enabled  | AGPLv3+    |
| contactmanager       | 13.0.42.12  | Enabled  | GPLv3+     |
| core                 | 13.0.122.13 | Enabled  | GPLv3+     |
| cos                  | 13.0.12.1   | Enabled  | Commercial |
| customappsreg        | 13.0.5.4    | Enabled  | GPLv3+     |
| cxpanel              | 13.0.5.1    | Enabled  | GPLv3      |
| dahdiconfig          | 13.0.33.13  | Enabled  | GPLv3+     |
| dashboard            | 13.0.25.3   | Enabled  | AGPLv3+    |
| daynight             | 13.0.15     | Enabled  | GPLv3+     |
| dictate              | 13.0.5      | Enabled  | GPLv3+     |
| digium_phones        | 13.0.7.3    | Enabled  | GPLv2      |
| digiumaddoninstaller | 2.11.0.14   | Enabled  | GPLv2      |
| directory            | 13.0.19.5   | Enabled  | GPLv3+     |
| disa                 | 13.0.6.1    | Enabled  | AGPLv3+    |
| donotdisturb         | 13.0.3.1    | Enabled  | GPLv3+     |
| endpoint             | 13.0.118.6  | Enabled  | Commercial |
| extensionroutes      | 13.0.10.5   | Enabled  | Commercial |
| fax                  | 13.0.40.5   | Enabled  | GPLv3+     |
| faxpro               | 13.0.38.9   | Enabled  | Commercial |
| featurecodeadmin     | 13.0.6.4    | Enabled  | GPLv3+     |
| findmefollow         | 13.0.38.11  | Enabled  | GPLv3+     |
| firewall             | 13.0.50     | Enabled  | AGPLv3+    |
| framework            | 13.0.194.5  | Enabled  | GPLv2+     |
| freepbx_ha           | 13.0.11     | Enabled  | Commercial |
| fw_langpacks         | 12.0.7      | Enabled  | GPLv3+     |
| hotelwakeup          | 13.0.17.1   | Enabled  | GPLv2      |
| iaxsettings          | 13.0.6.6    | Enabled  | AGPLv3     |
| infoservices         | 13.0.1.2    | Enabled  | GPLv2+     |
| irc                  | 2.11.0.7    | Enabled  | GPLv3+     |
| ivr                  | 13.0.27.6   | Enabled  | GPLv3+     |
| languages            | 13.0.6      | Enabled  | GPLv3+     |
| logfiles             | 13.0.10.4   | Enabled  | GPLv3+     |
| manager              | 13.0.2.5    | Enabled  | GPLv2+     |
| miscapps             | 13.0.3.1    | Enabled  | GPLv3+     |
| miscdests            | 13.0.5      | Enabled  | GPLv3+     |
| music                | 13.0.22.3   | Enabled  | GPLv3+     |
| outroutemsg          | 13.0.2.1    | Enabled  | GPLv3+     |
| paging               | 13.0.26.5   | Enabled  | GPLv3+     |
| pagingpro            | 13.0.19.7   | Enabled  | Commercial |
| parking              | 13.0.19.8   | Enabled  | GPLv3+     |
| parkpro              | 13.0.30.13  | Enabled  | Commercial |
| pbdirectory          | 2.11.0.6    | Enabled  | GPLv3+     |
| phonebook            | 13.0.6.1    | Enabled  | GPLv3+     |
| phpinfo              | 13.0.2      | Enabled  | GPLv2+     |
| pinsets              | 13.0.8      | Enabled  | GPLv3+     |
| pinsetspro           | 13.0.9.5    | Enabled  | Commercial |
| pm2                  | 13.0.4.2    | Enabled  | AGPLv3+    |
| presencestate        | 13.0.8      | Enabled  | GPLv3+     |
| printextensions      | 13.0.3.1    | Enabled  | GPLv3+     |
| queueprio            | 13.0.2      | Enabled  | GPLv3+     |
| queues               | 13.0.34.9   | Enabled  | GPLv2+     |
| qxact_reports        | 13.0.15.6   | Enabled  | Commercial |
| recording_report     | 13.0.24.6   | Enabled  | Commercial |
| recordings           | 13.0.30.12  | Enabled  | GPLv3+     |
| restapi              | 13.0.21.1   | Enabled  | AGPLv3     |
| restapps             | 13.0.92     | Enabled  | Commercial |
| ringgroups           | 13.0.23.2   | Enabled  | GPLv3+     |
| rmsadmin             | 13.0.14.1   | Enabled  | Commercial |
| sangomacrm           | 13.0.4.25   | Enabled  | Commercial |
| setcid               | 13.0.6.2    | Enabled  | GPLv3+     |
| sipsettings          | 13.0.27.1   | Enabled  | AGPLv3+    |
| sipstation           | 13.0.14.8   | Enabled  | Commercial |
| sms                  | 13.0.12.3   | Enabled  | Commercial |
| sng_mcu              | 13.0.5      | Enabled  | Commercial |
| soundlang            | 13.0.24.5   | Enabled  | GPLv3+     |
| speeddial            | 2.11.0.4    | Enabled  | GPLv3+     |
| superfecta           | 13.0.4.5    | Enabled  | GPLv2+     |
| sysadmin             | 13.0.76.1   | Enabled  | Commercial |
| timeconditions       | 13.0.34.9   | Enabled  | GPLv3+     |
| tts                  | 13.0.10     | Enabled  | GPLv3+     |
| ttsengines           | 13.0.7.3    | Enabled  | AGPLv3     |
| ucp                  | 13.0.42.5   | Enabled  | AGPLv3+    |
| ucpnode              | 13.0.34.9   | Enabled  | Commercial |
| userman              | 13.0.76.37  | Enabled  | AGPLv3+    |
| versionupgrade       | 13.0.1.2    | Enabled  | Commercial |
| vmblast              | 13.0.8      | Enabled  | GPLv3+     |
| vmnotify             | 13.0.22     | Enabled  | Commercial |
| voicemail            | 13.0.54.20  | Enabled  | GPLv3+     |
| voicemail_report     | 13.0.13.3   | Enabled  | Commercial |
| vqplus               | 13.0.38     | Enabled  | Commercial |
| weakpasswords        | 13.0.2      | Enabled  | GPLv3+     |
| webcallback          | 13.0.11.2   | Enabled  | Commercial |
| webrtc               | 13.0.32.8   | Enabled  | GPLv3+     |
| xmpp                 | 13.0.17.5   | Disabled | AGPLv3     |
| zulu                 | 13.0.53.4   | Enabled  | Commercial |
+----------------------+-------------+----------+------------+

I vaguely remember this error from about a year (maybe 18 months) ago. It was early in the Firewall implementation, but I don’t remember what the cure was. Perhaps a quick scan through the archives would benefit you?

Searched, but haven’t found anything similar.
Actually, I looked over source code and got an idea about the root cause.
Once the “Update Interfaces” button pressed form content being packed into JSON array, gzipped and base64 encoded and passed to incron as a file name. If the FreePBX box has many interfaces and and nice informative description the file name can be extremely long. In my case I have 5 interfaces and I’ve added ~10 symbols description to each interface and as result the file name was more than 255 symbols.

Looks to me like a design flaw, sorted this out by deleting descriptions.

More like an unanticipated edge case. Open an issue with your findings at:
http://issues.freepbx.org/

1 Like

Ok, filed a bug https://issues.freepbx.org/browse/FREEPBX-17207

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.