ZoneMinder / zmNinja

High performance, cross platform ionic app for Home/Commerical Security Surveillance using ZoneMinder
http://zmninja.zoneminder.com
Other
1.01k stars 268 forks source link

No images on iOS with zmNinja 1.4.009 #958

Closed mikeq3 closed 4 years ago

mikeq3 commented 4 years ago

Before you create an issue, please make sure you have read the FAQ. Common questions on API, no image etc are covered there. Please also read HOWTO REPORT ISSUES

The version of zmNinja you are reporting:

1.4.009 

The version and OS of ZoneMinder you are using:

1.34.16 Cento 7. iOS 13.3

Platform zmNinja is running on

iPhoneX

Did you build the package from source code yourself? Y or N N

Describe the bug A clear and concise description of what the bug is. ZmNinja no longer displays live feed and images since it upgraded to 1.4.009. My iPad running an older zmNinja works. I have not changed any configuration on zmNinja or Zoneminder. The web page also works.

Debug logs


Jul 4, 2020 08:17:49 PM DEBUG Real value of PRIVACY is:0
Jul 4, 2020 08:17:49 PM DEBUG Transitioning state to: app.help with param undefined
Jul 4, 2020 08:17:49 PM INFO EventSever: No Event Server present. Not initializing
Jul 4, 2020 08:17:49 PM INFO Got API version: 1.34.16
Jul 4, 2020 08:17:49 PM DEBUG getAPI version succeeded with 1.34.16
Jul 4, 2020 08:17:49 PM DEBUG Setting server version to:1.34.16
Jul 4, 2020 08:17:49 PM DEBUG obfuscate: original:6190 obfuscated:1757 scheme:lzs
Jul 4, 2020 08:17:49 PM DEBUG snapshot  supported in image.php
Jul 4, 2020 08:17:49 PM DEBUG CACHE: cached value for key:cached_api_version is good as 6695 <86400
Jul 4, 2020 08:17:49 PM DEBUG CACHE: found for key: cached_api_version with expiry of:86400s
Jul 4, 2020 08:17:49 PM DEBUG getAPIversion called with https://192.168.1.137:8443/zm/api/host/getVersion.json?&token=<removed>
Jul 4, 2020 08:17:49 PM DEBUG PortalLogin: auth success
Jul 4, 2020 08:17:49 PM DEBUG auth-success broadcast:Successful
Jul 4, 2020 08:17:49 PM INFO ----> Setting token re-login after 360 seconds
Jul 4, 2020 08:17:49 PM INFO Access token still has 6 minutes left, using it
Jul 4, 2020 08:17:49 PM INFO Detected token login supported
Jul 4, 2020 08:17:49 PM DEBUG Resetting zmCookie...
Jul 4, 2020 08:17:49 PM DEBUG No need for re-captcha checks with tokens
Jul 4, 2020 08:17:49 PM DEBUG Inside _doLogin()
Jul 4, 2020 08:17:49 PM INFO No need for logout!
Jul 4, 2020 08:17:49 PM INFO No need to do a reachability test, as there are no fallbacks
Jul 4, 2020 08:17:49 PM INFO reached end of chain loop
Jul 4, 2020 08:17:49 PM INFO Fallback of 192.168.1.137 is 
Jul 4, 2020 08:17:49 PM INFO Adding to chain stack: 192.168.1.137>https://192.168.1.137:8443/zm
Jul 4, 2020 08:17:49 PM DEBUG _doLogoutAndLogin: Clearing cookies
Jul 4, 2020 08:17:49 PM DEBUG auth-success broadcast:Successful
Jul 4, 2020 08:17:49 PM INFO ----> Setting token re-login after 360 seconds
Jul 4, 2020 08:17:49 PM INFO Access token still has 6 minutes left, using it
Jul 4, 2020 08:17:49 PM INFO Detected token login supported
Jul 4, 2020 08:17:49 PM DEBUG Resetting zmCookie...
Jul 4, 2020 08:17:49 PM DEBUG No need for re-captcha checks with tokens
Jul 4, 2020 08:17:49 PM DEBUG Inside _doLogin()
Jul 4, 2020 08:17:49 PM DEBUG ------> Not starting login timer for token. We will start a one time timer when we know how soon the access token will live
Jul 4, 2020 08:17:49 PM INFO Cancelling zmAutologin timer
Jul 4, 2020 08:17:49 PM DEBUG PIN code entered is correct, or there is no PIN set
Jul 4, 2020 08:17:49 PM DEBUG unlock called with check PIN=true
Jul 4, 2020 08:17:49 PM INFO not checking for touchID
Jul 4, 2020 08:17:49 PM INFO User credentials are provided
Jul 4, 2020 08:17:49 PM DEBUG Inside Portal login Enter handler
Jul 4, 2020 08:17:49 PM INFO Entering Portal Main
Jul 4, 2020 08:17:49 PM DEBUG going to portal login
Jul 4, 2020 08:17:49 PM INFO -->Re-registering online/offine
Jul 4, 2020 08:17:49 PM INFO App is resuming from background
Jul 4, 2020 08:17:49 PM INFO ******* resumeHandler device ready
Jul 4, 2020 08:12:38 PM DEBUG Montage View Cleanup was already done, skipping
Jul 4, 2020 08:12:38 PM DEBUG MontageCtrl: onpause called
Jul 4, 2020 08:12:38 PM INFO Cancelling zmAutologin timer
Jul 4, 2020 08:12:38 PM INFO EventSever: Clearing error/close cbk, disconnecting and deleting Event Server socket...
Jul 4, 2020 08:12:38 PM INFO ROOT APP:App is going into background
Jul 4, 2020 08:12:38 PM INFO -->Clearing online/offine
Jul 4, 2020 08:12:20 PM INFO --------->Setting up global key handler...
Jul 4, 2020 08:12:20 PM INFO --------->Setting up network state handlers....
Jul 4, 2020 08:12:19 PM DEBUG inside drag items:doing the jiggle and dance...
Jul 4, 2020 08:12:19 PM DEBUG All images loaded, doing image layout
Jul 4, 2020 08:12:19 PM INFO Arranging as per packery grid
Jul 4, 2020 08:12:19 PM DEBUG All images loaded, switching to snapshot...
Jul 4, 2020 08:12:19 PM INFO Monitors that are active and not DOM hidden: 3 while grid has 3
Jul 4, 2020 08:12:18 PM INFO Inside Montage Ctrl:We found 3 monitors
Jul 4, 2020 08:12:18 PM DEBUG skipping image refresh, packery is still loading
Jul 4, 2020 08:12:18 PM DEBUG Getting event count 
Jul 4, 2020 08:12:18 PM DEBUG Getting event count 
Jul 4, 2020 08:12:18 PM DEBUG Getting event count 
Jul 4, 2020 08:12:18 PM DEBUG Setting up cycle interval of:10000
Jul 4, 2020 08:12:18 PM DEBUG bandwidth: highbw montage refresh set to: 2
Jul 4, 2020 08:12:18 PM DEBUG Multiport=0
Jul 4, 2020 08:12:18 PM INFO sending stored ZM_MIN_STREAMING_PORT 0
Jul 4, 2020 08:12:18 PM DEBUG Montage beforeEnter: copying monitors to montage monitors
Jul 4, 2020 08:12:18 PM DEBUG Montage beforeEnter: got 3 monitors
Jul 4, 2020 08:12:18 PM DEBUG Setting streamQuery timer to 10000
Jul 4, 2020 08:12:18 PM DEBUG Groups Association API is marked as unsupported, not invoking
Jul 4, 2020 08:12:18 PM DEBUG Loading hidden/unhidden status for profile:
Jul 4, 2020 08:12:18 PM DEBUG Storing streaming=https://192.168.1.137:8443/cgi-bin-zm recording=https://192.168.1.137:8443/zm
Jul 4, 2020 08:12:18 PM DEBUG No servers matched, filling defaults...
Jul 4, 2020 08:12:18 PM DEBUG Storing streaming=https://192.168.1.137:8443/cgi-bin-zm recording=https://192.168.1.137:8443/zm
Jul 4, 2020 08:12:18 PM DEBUG No servers matched, filling defaults...
Jul 4, 2020 08:12:18 PM DEBUG Storing streaming=https://192.168.1.137:8443/cgi-bin-zm recording=https://192.168.1.137:8443/zm
Jul 4, 2020 08:12:18 PM DEBUG No servers matched, filling defaults...
Jul 4, 2020 08:12:18 PM DEBUG default multi-server protocol will be:https://
Jul 4, 2020 08:12:18 PM DEBUG Portal scheme is https, will use https for any multi-server without a protocol
Jul 4, 2020 08:12:18 PM INFO multi server list loaded
Jul 4, 2020 08:12:18 PM DEBUG deobfuscate: before:20 after:23 scheme:lzs
Jul 4, 2020 08:12:18 PM DEBUG CACHE: decryption requested
Jul 4, 2020 08:12:18 PM DEBUG CACHE: cached value for key:cached_multi_servers is good as 6361 <86400
Jul 4, 2020 08:12:18 PM DEBUG CACHE: found for key: cached_multi_servers with expiry of:86400s
Jul 4, 2020 08:12:18 PM INFO Monitor load was successful, loaded 3 monitors
Jul 4, 2020 08:12:18 PM DEBUG Now trying to get multi-server data, if present
Jul 4, 2020 08:12:18 PM DEBUG Inside getMonitors, will also regen connkeys
Jul 4, 2020 08:12:18 PM DEBUG Loading hidden/unhidden status for profile:
Jul 4, 2020 08:12:18 PM DEBUG After duplicate processing, we have: 3 monitors
Jul 4, 2020 08:12:18 PM DEBUG Before duplicate processing, we have: 3 monitors
Jul 4, 2020 08:12:18 PM DEBUG Real value of PRIVACY is:0
Jul 4, 2020 08:12:18 PM DEBUG deobfuscate: before:1754 after:6738 scheme:lzs
Jul 4, 2020 08:12:18 PM DEBUG CACHE: decryption requested
Jul 4, 2020 08:12:18 PM DEBUG CACHE: cached value for key:cached_monitors is good as 6361 <86400
Jul 4, 2020 08:12:18 PM DEBUG CACHE: found for key: cached_monitors with expiry of:86400s
Jul 4, 2020 08:12:18 PM DEBUG Monitor URL to fetch is:https://192.168.1.137:8443/zm/api/monitors/index/Type !=:WebSite.json?&token=<removed>
Jul 4, 2020 08:12:18 PM DEBUG ZMS Multiport reported: 0
Jul 4, 2020 08:12:18 PM INFO ZM_MIN_STREAMING_PORT not configured, disabling
Jul 4, 2020 08:12:18 PM DEBUG Setting multi-port to:false
Jul 4, 2020 08:12:18 PM DEBUG CACHE: cached value for key:cached_multi_port is good as 6364 <86400
Jul 4, 2020 08:12:18 PM DEBUG CACHE: found for key: cached_multi_port with expiry of:86400s
Jul 4, 2020 08:12:18 PM DEBUG Timezone API response is:America/New_York
Jul 4, 2020 08:12:18 PM DEBUG CACHE: cached value for key:cached_timezone is good as 6364 <86400
Jul 4, 2020 08:12:18 PM DEBUG CACHE: found for key: cached_timezone with expiry of:86400s
Jul 4, 2020 08:12:18 PM INFO Checking value of ZM_MIN_STREAMING_PORT for the first time
Jul 4, 2020 08:12:18 PM INFO getMonitors:Loading all monitors
Jul 4, 2020 08:12:18 PM DEBUG NVR: Regenerating connkeys for all monitors at 1593907938558
Jul 4, 2020 08:12:18 PM DEBUG Transitioning state to: app.montage with param {"minimal":false,"isRefresh":false}
Jul 4, 2020 08:12:18 PM INFO EventSever: No Event Server present. Not initializing
Jul 4, 2020 08:12:18 PM INFO First invocation of TimeZone, asking server
Jul 4, 2020 08:12:18 PM INFO Got API version: 1.34.16
Jul 4, 2020 08:12:18 PM DEBUG getAPI version succeeded with 1.34.16
Jul 4, 2020 08:12:18 PM DEBUG Setting server version to:1.34.16
Jul 4, 2020 08:12:18 PM DEBUG obfuscate: original:6190 obfuscated:1757 scheme:lzs
Jul 4, 2020 08:12:18 PM DEBUG snapshot  supported in image.php
Jul 4, 2020 08:12:18 PM DEBUG CACHE: cached value for key:cached_api_version is good as 6364 <86400
Jul 4, 2020 08:12:18 PM DEBUG CACHE: found for key: cached_api_version with expiry of:86400s
Jul 4, 2020 08:12:18 PM DEBUG current version: 1.4.009 & available version 1.4.009
Jul 4, 2020 08:12:18 PM DEBUG getAPIversion called with https://192.168.1.137:8443/zm/api/host/getVersion.json?&token=<removed>
Jul 4, 2020 08:12:18 PM DEBUG PortalLogin: auth success
Jul 4, 2020 08:12:18 PM DEBUG auth-success broadcast:Successful
Jul 4, 2020 08:12:18 PM INFO ----> Setting token re-login after 720 seconds
Jul 4, 2020 08:12:18 PM INFO Access token still has 12 minutes left, using it
Jul 4, 2020 08:12:18 PM INFO Detected token login supported
Jul 4, 2020 08:12:18 PM DEBUG Resetting zmCookie...
Jul 4, 2020 08:12:18 PM DEBUG No need for re-captcha checks with tokens
Jul 4, 2020 08:12:18 PM DEBUG Inside _doLogin()
Jul 4, 2020 08:12:18 PM INFO No need for logout!
Jul 4, 2020 08:12:18 PM INFO No need to do a reachability test, as there are no fallbacks
Jul 4, 2020 08:12:18 PM INFO reached end of chain loop
Jul 4, 2020 08:12:18 PM INFO Fallback of 192.168.1.137 is 
Jul 4, 2020 08:12:18 PM INFO Adding to chain stack: 192.168.1.137>https://192.168.1.137:8443/zm
Jul 4, 2020 08:12:18 PM DEBUG _doLogoutAndLogin: Clearing cookies
Jul 4, 2020 08:12:18 PM DEBUG auth-success broadcast:Successful
Jul 4, 2020 08:12:18 PM INFO ----> Setting token re-login after 720 seconds
Jul 4, 2020 08:12:18 PM INFO Access token still has 12 minutes left, using it
Jul 4, 2020 08:12:18 PM INFO Detected token login supported
Jul 4, 2020 08:12:18 PM DEBUG Resetting zmCookie...
Jul 4, 2020 08:12:18 PM DEBUG No need for re-captcha checks with tokens
Jul 4, 2020 08:12:18 PM DEBUG Inside _doLogin()
Jul 4, 2020 08:12:18 PM DEBUG ------> Not starting login timer for token. We will start a one time timer when we know how soon the access token will live
Jul 4, 2020 08:12:18 PM INFO Cancelling zmAutologin timer
Jul 4, 2020 08:12:18 PM DEBUG PIN code entered is correct, or there is no PIN set
Jul 4, 2020 08:12:18 PM DEBUG unlock called with check PIN=true
Jul 4, 2020 08:12:18 PM INFO not checking for touchID
Jul 4, 2020 08:12:18 PM INFO User credentials are provided
Jul 4, 2020 08:12:18 PM DEBUG Inside Portal login Enter handler
Jul 4, 2020 08:12:18 PM INFO Entering Portal Main
Jul 4, 2020 08:12:18 PM DEBUG --> SSL is permissive, will allow any certs. Use at your own risk.
Jul 4, 2020 08:12:18 PM INFO Inside init-complete in app.js: All init over, going to portal login
Jul 4, 2020 08:12:18 PM INFO >>>> Disabling strict SSL checking (turn off  in Dev Options if you can't connect)
Jul 4, 2020 08:12:18 PM DEBUG Setting cordova header X-ZmNinja to zmNinja_1.4.009
Jul 4, 2020 08:12:18 PM INFO NVR init retrieved store loginData, marking init as complete
Jul 4, 2020 08:12:18 PM INFO Setting NVR init bandwidth to: highbw
Jul 4, 2020 08:12:18 PM DEBUG deobfuscate: before:1757 after:6190 scheme:lzs
Jul 4, 2020 08:12:18 PM INFO user profile encrypted, decoding...
Jul 4, 2020 08:12:18 PM INFO Setting up pause and resume handler AFTER language is loaded...
Jul 4, 2020 08:12:18 PM INFO Checking for new version updates...
Jul 4, 2020 08:12:18 PM INFO ZMData init: checking for stored variables & setting up log file
Jul 4, 2020 08:12:18 PM INFO Language file loaded, continuing with rest
Jul 4, 2020 08:12:18 PM DEBUG last state=app.montage param=[object Object]
Jul 4, 2020 08:12:18 PM DEBUG isFirstUse returned: false
Jul 4, 2020 08:12:18 PM INFO >>>>Language to be used:en
Jul 4, 2020 08:12:18 PM INFO Device Language is:en
Jul 4, 2020 08:12:18 PM INFO Language stored as:en
Jul 4, 2020 08:12:18 PM INFO App Version: 1.4.009
Jul 4, 2020 08:12:18 PM INFO Retrieving language before init is called...
Jul 4, 2020 08:12:18 PM INFO Updating statusbar
Jul 4, 2020 08:12:18 PM INFO >>>>No data to import....
Jul 4, 2020 08:12:18 PM INFO Cloudsync operation complete, continuing...
Jul 4, 2020 08:12:18 PM INFO local data synced with cloud...
Jul 4, 2020 08:12:18 PM INFO Found valid local configuration, overwriting cloud settings...
Jul 4, 2020 08:12:18 PM DEBUG deobfuscate: before:1757 after:6190 scheme:lzs
Jul 4, 2020 08:12:17 PM INFO user profile encrypted, decoding...
Jul 4, 2020 08:12:17 PM INFO CloudSync: Syncing with cloud if enabled...
Jul 4, 2020 08:12:17 PM INFO localforage driver:cordovaSQLiteDriver
Jul 4, 2020 08:12:17 PM DEBUG configureStorageDB:test get/set worked, this driver is ok...
Jul 4, 2020 08:12:17 PM DEBUG configureStorageDB:Making sure this storage driver works...
Jul 4, 2020 08:12:17 PM INFO configureStorageDB:localforage driver for storage:cordovaSQLiteDriver
Jul 4, 2020 08:12:17 PM DEBUG configureStorageDB: trying order:["cordovaSQLiteDriver","asyncStorage","localStorageWrapper"]
Jul 4, 2020 08:12:17 PM DEBUG Inside configureStorageDB
Jul 4, 2020 08:12:17 PM INFO You are running on ios
Jul 4, 2020 08:12:17 PM DEBUG UA is mozilla/5.0 (iphone; cpu iphone os 13_3 like mac os x) applewebkit/605.1.15 (khtml, like gecko) mobile/15e148
Jul 4, 2020 08:12:17 PM INFO Device is ready
2020-07-05T00:12:17.925Z INFO ******* app .run device ready

Screenshots If applicable, add screenshots to help explain your problem. image image

Additional context Add any other context about the problem here.

pliablepixels commented 4 years ago

Yes, you are likely using self-signed certificates. I've pushed 1.4.010 to fix it. PS: If you can, please change to Lets Encrypt - https://medium.com/zmninja/ditch-self-signed-certs-switch-to-letsencrypt-4a734dcd6c83

mikeq3 commented 4 years ago

Thanks for the fix. I’ll check out Let’s encrypt.

mikeq3 commented 4 years ago

I only use this on my local network and through vpn. I have my own local CA and the root cert is on my phone. Will that work with zmninja.? Just to be clear. I just setup the local CA.

Mike

I just tried the reconfigured zmninja with the full server domain and it worked with my local cert. thanks for the tip.

pliablepixels commented 4 years ago

Sounds good! I'll close this when 1.4.010 is released (even though your situation is fixed)

danlsgiga commented 4 years ago

Same issue here using iPhone 8 Pro... My zoneminder is running in a docker container inside unRaid and I basically only use it in my internal lan + vpn, so I target the server using IPs only.

pliablepixels commented 4 years ago

Yup, will be fixed in the next release, as soon as Apple reviews it. Hopefully soon.

danlsgiga commented 4 years ago

Yup, thanks for that! I was looking in the App Store and didn't find the update! 🤞

pliablepixels commented 4 years ago

1.4.010 is available on the app stores. Can you confirm it fixes the issue?

danlsgiga commented 4 years ago

Confirmed! Thank you

sppatel commented 4 years ago

I am still having the issue - and I am on 1.4.010.

pliablepixels commented 4 years ago

@sppatel please post zmNinja logs and answer the following:

  1. Are you using self signed certs
  2. Does the problem only occur on iOS but works on desktop zmNinja?
sppatel commented 4 years ago
  1. The issue started after I upgraded my docker image to the latest (and I can't roll back because there are no tags). I tried both stable and the latest versions. (To answer your question - the default self signed certs it comes with.)
  2. The issue occurs with both https and http.

root@f84855f86e58:/var/log/zm# tail -f error.log 2020-07-27 19:51:55 Error: [UnauthorizedException] No identity provided Request URL: /zm/api/host/login.json Stack Trace:

0 [internal function]: HostController->login()

1 /usr/share/zoneminder/www/api/lib/Cake/Controller/Controller.php(491): ReflectionMethod->invokeArgs()

2 /usr/share/zoneminder/www/api/app/Plugin/Crud/Lib/CrudControllerTrait.php(31): Controller->invokeAction()

3 /usr/share/zoneminder/www/api/lib/Cake/Routing/Dispatcher.php(193): AppController->invokeAction()

4 /usr/share/zoneminder/www/api/lib/Cake/Routing/Dispatcher.php(167): Dispatcher->_invoke()

5 /usr/share/zoneminder/www/api/app/webroot/index.php(107): Dispatcher->dispatch()

6 {main}

2020-07-27 19:52:12 Error: [Error] Call to undefined function userLogout() Request URL: /zm/api/host/logout.json Stack Trace:

0 [internal function]: HostController->logout()

1 /usr/share/zoneminder/www/api/lib/Cake/Controller/Controller.php(491): ReflectionMethod->invokeArgs()

2 /usr/share/zoneminder/www/api/app/Plugin/Crud/Lib/CrudControllerTrait.php(31): Controller->invokeAction()

3 /usr/share/zoneminder/www/api/lib/Cake/Routing/Dispatcher.php(193): AppController->invokeAction()

4 /usr/share/zoneminder/www/api/lib/Cake/Routing/Dispatcher.php(167): Dispatcher->_invoke()

5 /usr/share/zoneminder/www/api/app/webroot/index.php(107): Dispatcher->dispatch()

6 {main}

2020-07-27 19:52:13 Error: [UnauthorizedException] No identity provided Request URL: /zm/api/host/login.json Stack Trace:

0 [internal function]: HostController->login()

1 /usr/share/zoneminder/www/api/lib/Cake/Controller/Controller.php(491): ReflectionMethod->invokeArgs()

2 /usr/share/zoneminder/www/api/app/Plugin/Crud/Lib/CrudControllerTrait.php(31): Controller->invokeAction()

3 /usr/share/zoneminder/www/api/lib/Cake/Routing/Dispatcher.php(193): AppController->invokeAction()

4 /usr/share/zoneminder/www/api/lib/Cake/Routing/Dispatcher.php(167): Dispatcher->_invoke()

5 /usr/share/zoneminder/www/api/app/webroot/index.php(107): Dispatcher->dispatch()

6 {main}

2020-07-27 19:52:13 Error: [UnauthorizedException] No identity provided Request URL: /zm/api/host/login.json Stack Trace:

0 [internal function]: HostController->login()

1 /usr/share/zoneminder/www/api/lib/Cake/Controller/Controller.php(491): ReflectionMethod->invokeArgs()

2 /usr/share/zoneminder/www/api/app/Plugin/Crud/Lib/CrudControllerTrait.php(31): Controller->invokeAction()

3 /usr/share/zoneminder/www/api/lib/Cake/Routing/Dispatcher.php(193): AppController->invokeAction()

4 /usr/share/zoneminder/www/api/lib/Cake/Routing/Dispatcher.php(167): Dispatcher->_invoke()

5 /usr/share/zoneminder/www/api/app/webroot/index.php(107): Dispatcher->dispatch()

6 {main}

image

pliablepixels commented 4 years ago

Ok this is unrelated to this issue. Your logs say no identity provided. That may mean you haven’t provided your username and password. If you have and still have the issue it maybe a ZM install issue.

Either way something you should take to the ZM forums.

sppatel commented 4 years ago

Ok Strange.. because when configuring zmNinja - i can put invalid credentials and obviously I get an error, with the correct credentials it indicates I'm successfully authenticated. Appreciate you taking a look and I'll search around some more.

dcaplopu commented 4 years ago

Ok Strange.. because when configuring zmNinja - i can put invalid credentials and obviously I get an error, with the correct credentials it indicates I'm successfully authenticated. Appreciate you taking a look and I'll search around some more.

Same problem here but I have fixed it:

I have admin user with password in ZM, but in zmNinja unchecking "use ZM authentication" and unchecking "use basic authentication" and changed "path to cgi-bin" from IP/zm/cgi-bin to IP/cgi-bin does the trick.