Possible bug NOT_AVAILABLE_IN_COUNTRY - android-management-api

I am trying to enable policy via Android Management API.
{
"name": "enterprises/LC03hx99sc/policies/default",
"version": "2",
"applications": [
{
"packageName": "app.caredirect.caredirecthub2",
"installType": "KIOSK"
},
{
"packageName": "com.android.settings",
"installType": "FORCE_INSTALLED",
"defaultPermissionPolicy": "GRANT"
},
{
"packageName": "com.amazon.dee.app",
"installType": "FORCE_INSTALLED",
"defaultPermissionPolicy": "GRANT"
}
],
"systemUpdate": {
"type": "WINDOWED",
"startMinutes": 10,
"endMinutes": 1439
},
"debuggingFeaturesAllowed": true
}
The store listing says for app.caredirect.caredirecthub2 that it is available in EVERY country.
Despite this I get the following error:
{
"name": "enterprises/LC03hx99sc/devices/33ddb8137f60b585",
"managementMode": "DEVICE_OWNER",
"state": "ACTIVE",
"appliedState": "ACTIVE",
"nonComplianceDetails": [{
"settingName": "applications",
"nonComplianceReason": "APP_NOT_INSTALLED",
"packageName": "app.caredirect.caredirecthub2",
"installationFailureReason": "NOT_AVAILABLE_IN_COUNTRY"
}, {
"settingName": "persistentPreferredActivities",
"nonComplianceReason": "APP_NOT_INSTALLED",
"packageName": "app.caredirect.caredirecthub2"
}],
"enrollmentTime": "2020-09-23T15:02:52.290Z",
"lastStatusReportTime": "2020-09-23T15:02:57.915Z",
"lastPolicySyncTime": "2020-09-23T15:02:53.754Z",
"appliedPolicyVersion": "1",
"apiLevel": 28,
"softwareInfo": {
"androidVersion": "9",
"androidDevicePolicyVersionCode": 1317100,
"androidDevicePolicyVersionName": "13.17.10.v32",
"androidBuildNumber": "TB-X605F_S210208_200807_ROW",
"deviceKernelVersion": "3.18.120-perf-g1d02637-dirty",
"bootloaderVersion": "unknown",
"androidBuildTime": "2020-08-07T10:08:52Z",
"securityPatchLevel": "2020-08-01",
"primaryLanguageCode": "en-US",
"deviceBuildSignature": "1c41fedecacbe89b81c242ecf74929f7d57322b64f8179c1c78a390a3494f14a",
"systemUpdateInfo": {
"updateStatus": "UP_TO_DATE"
}
},
"hardwareInfo": {
"brand": "Lenovo",
"hardware": "qcom",
"manufacturer": "LENOVO",
"serialNumber": "HA0Y8JQX",
"model": "Lenovo TB-X605F"
},
"appliedPolicyName": "enterprises/LC03hx99sc/policies/default",
"memoryInfo": {
"totalRam": "1909563392",
"totalInternalStorage": "3121049600"
},
"userName": "enterprises/LC03hx99sc/users/106404730049843005283",
"enrollmentTokenName": "enterprises/LC03hx99sc/enrollmentTokens/1019LI5YbxD4MNgIOfRKRxxKtK4ZLzRBZTGlL0Tw5Ns",
"previousDeviceNames": ["enterprises/LC03hx99sc/devices/3832aa78af19d796", "enterprises/LC03hx99sc/devices/326e9eaec5f835db", "enterprises/LC03hx99sc/devices/3f22065004da99b8", "enterprises/LC03hx99sc/devices/3027d6b05179f8ac", "enterprises/LC03hx99sc/devices/3011e18ade8e09f3", "enterprises/LC03hx99sc/devices/36ea1951ef4e088f", "enterprises/LC03hx99sc/devices/30fb71bc476a4d1d", "enterprises/LC03hx99sc/devices/3695657a941cba4a"],
"securityPosture": {
"devicePosture": "SECURE"
},
"ownership": "COMPANY_OWNED"
}
What is causing NOT_AVAILABLE_IN_COUNTRY ?
This is preventing the whole kiosk setup from working.
thanks

Related

Manifest parsing error when trying to test app in Teams

From https://dev.teams.microsoft.com/, whenever I click "Preview in Teams", it shows an error in Teams with these details copied to the clipboard: "Error while reading manifest.json". If I download the app package and "upload a custom app" I get the same error. What can I do to resolve this? If I remove the messaging extension configuration, it works but I configured that part in their app and that's what I want to build.
This is my manifest file:
{
"$schema": "https://developer.microsoft.com/en-us/json-schemas/teams/v1.11/MicrosoftTeams.schema.json",
"version": "1.0.0",
"manifestVersion": "1.11",
"id": "3fXXXX",
"packageName": "com.package.name",
"name": {
"short": "Domo Integration",
"full": ""
},
"developer": {
"name": "Domo Inc.",
"mpnId": "",
"websiteUrl": "https://www.domo.com",
"privacyUrl": "https://www.domo.com/company/privacy-policy",
"termsOfUseUrl": "https://www.domo.com/company/service-terms"
},
"description": {
"short": "short",
"full": "full"
},
"icons": {
"outline": "outline.png",
"color": "color.png"
},
"accentColor": "#FFFFFF",
"composeExtensions": [
{
"botId": "deXXXXXXXX",
"commands": [],
"canUpdateConfiguration": true,
"messageHandlers": [
{
"type": "link",
"value": {
"domains": [
"*.domo.com"
]
}
}
]
}
],
"validDomains": [
"*.domo.com"
]
}
#ccnokes In order to use messaging extension in your bot, you need to provide at least one command. commands is required property in composeExtension - see doc.
I was also getting the same error when tried with your manifest but after adding commands it worked totally fine.

Heroku: There was an issue setting up your app environment. Name is invalid

When I try to use this app.json:
{
"stack": "heroku-18",
"repository": "https://github.com/OpenHumans/oh-data-source-template",
"logo": "https://avatars.githubusercontent.com/u/3341265?s=280&v=4",
"scripts": {
"postdeploy": "python manage.py init_proj_config"
},
"env": {
"SECRET_KEY": {
"description": "This is set for you and is used to encrypt data.",
"generator": "secret"
},
"OH_CLIENT_ID": {
"description": "See http://openhumans.org/direct-sharing/projects/manage",
"value": ""
},
"OH_CLIENT_SECRET": {
"description": "See http://openhumans.org/direct-sharing/projects/manage",
"value": ""
},
"OH_ACTIVITY_PAGE": {
"description": "See http://openhumans.org/direct-sharing/projects/manage",
"value": ""
},
"APP_BASE_URL ": {
"description": "e.g. https://your-app-name.herokuapp.com - no trailing slash!",
"value": "https://your-app-name.herokuapp.com"
},
"DEBUG": {
"description": "Displays detailed error info for web requests. Set False in production.",
"value": "false"
},
"HEROKU_APP": {
"description": "If true, ALLOWED_HOSTS is set to all.",
"value": "true"
}
},
"addons": [
"coralogix:free-30mbday",
"heroku-redis:hobby-dev",
{
"plan": "heroku-postgresql",
"options": {
"version": "9.5"
}
}
]
}
to deploy from:
https://dashboard.heroku.com/new?template=https%3A%2F%2Fgithub.com%2Fmikepsinn%2Foh-quantimodo-source
I get the error no matter what I set the name to:
I've tried adding the optional name field to the app.json but that doesn't help either.

Why is one of my devices getting nonComplianceReason: MANAGEMENT_MODE?

I have a bunch of company owned devices with a few apps on them. They are all set up the same.
What is the MANAGEMENT_MODE issue and is it tied to the policyEnforcementRules?
From Google's documentation on MANAGEMENT_MODE, it means "The management mode (profile owner, device owner, etc.) doesn't support the setting."
Device listing reporting:
"nonComplianceDetails": [
{
"nonComplianceReason": "MANAGEMENT_MODE",
"settingName": "applications"
}
],
"ownership": "COMPANY_OWNED",
Relevant policy section:
"policyEnforcementRules": [{
"blockAction": {
"blockAfterDays": 15
},
"wipeAction": {
"wipeAfterDays": 30,
"preserveFrp": True
},
"settingName": "applications"
}],
Why am I getting this non-compliance?
EDIT: Adding screenshot from one of the phones today and the cryptic message the user's are getting (changed the blockAfterDays to 299)
EDIT2:
Adding applications section of policy. The only one that I think is odd is the Google Fi app (com.google.android.apps.tycho) which comes factory installed on some of the Pixel phones and can't be uninstalled. The phones have data only SIMs, some of which are from Google Fi. The app has to be disabled for these SIMs to work correctly - but on non-Pixel phones the app isn't usually installed. There unfortunately isn't a way I know of to both block install of an app and disable it when it can't be uninstalled.
"applications": [
{
"packageName": "OURPRIVATEPACKAGE",
"installType": "FORCE_INSTALLED",
"defaultPermissionPolicy": "GRANT",
"minimumVersionCode": APPVERSION,
},
{
"packageName": "com.google.android.apps.tycho",
"disabled": True
},
{
"packageName": "com.android.vending",
"installType": "FORCE_INSTALLED"
},
{
"packageName": "com.android.settings",
"installType": "FORCE_INSTALLED"
},
{
"packageName": "com.android.chrome",
"installType": "FORCE_INSTALLED",
"managed_configuration": {
"URLBlacklist": ["*"],
"URLWhitelist": ["WEBSITE1", "WEBSITE2", "WEBSITEN"],
'ForceGoogleSafeSearch': True,
'NTPContentSuggestionsEnabled': False,
},
"defaultPermissionPolicy": "GRANT"
},
{
"packageName": "com.google.enterprise.webapp.OURPRIVATEWEBAPP",
"installType": "FORCE_INSTALLED",
"defaultPermissionPolicy": "GRANT"
}
],

Guest can't submit answer Adaptative Card on Microsoft Teams

I'm having an error with a custom bot when I send an adaptative card to a meeting and a guest tries to submit an answer. It works when a logged user tries to submit it. It used to work perfectly with a Guest. It seems like the problem is something about the bot login process.
Uncaught TypeError: Cannot read property '*BotId*' of undefined
at t.recordBotMriUsage (3.2-app.min-2477809.js:4)
at _.debounce.trailing (3.2-app.min-2477809.js:3)
at e (2-vendor.min-9ae85bb.js:64)
at f (2-vendor.min-9ae85bb.js:65)
at t.e.buttonClicked (3.2-app.min-2477809.js:3)
at o (lazy-ng1-mod-adaptive-card-components.min-1b02b78.js:1)
at c (lazy-ng1-mod-adaptive-card-components.min-1b02b78.js:1)
at t.handleOnExecuteAction (lazy-ng1-mod-adaptive-card-components.min-1b02b78.js:1)
at adaptiveCard.onExecuteAction (lazy-ng1-mod-adaptive-card-components.min-1b02b78.js:1)
at p (3.2-app.min-2477809.js:3)
Failed to get app entitlement for botId 28:*BotId*
500 Invoke failed due to internal error: Invoke failed: something went wrong in ProcessInvoke
[BotCardService::onButtonClicked_messageback()] sendInvoke failed: {"statusCode":500,"headers":{"cache-control":"no-store, must-revalidate, no-cache","content-length":"119","content-type":"application/json; charset=utf-8","contextid":"tcid=******,server=*****,cv=*******/hfA.1.0","pragma":"no-cache","set-registrationtoken":"**redacted**"},"errorMessage":"Error Code: 500 ","errorCode":500,"request":{}}
error log
EDIT: Here is the manifest.json of the app
{
"$schema": "https://developer.microsoft.com/en-us/json-schemas/teams/v1.7/MicrosoftTeams.schema.json",
"manifestVersion": "1.7",
"version": "1.0.0",
"id": "redacted",
"packageName": "redacted",
"developer": {
"name": "redacted",
"websiteUrl": "redacted",
"privacyUrl": "redacted",
"termsOfUseUrl": "redacted"
},
"icons": {
"color": "color.png",
"outline": "outline.png"
},
"name": {
"short": "redacted",
"full": "redacted"
},
"description": {
"short": "redacted",
"full": "redacted"
},
"accentColor": "#FFFFFF",
"bots": [
{
"botId": "redacted",
"scopes": ["personal", "groupchat"],
"supportsFiles": false,
"isNotificationOnly": false
}
],
"composeExtensions": [
{
"botId": "redacted",
"canUpdateConfiguration": true,
"commands": [
{
"id": "getPollCM",
"type": "action",
"title": "Generar encuesta prestador",
"description": "Genera una encuesta para prestadores",
"initialRun": true,
"fetchTask": false,
"context": ["commandBox", "compose"],
"parameters": [
{
"name": "NIT",
"title": "NIT del prestador",
"description": "Solo nĂºmeros",
"inputType": "text"
}
]
}
]
}
],
"permissions": ["identity", "messageTeamMembers"],
"validDomains": ["redacted"]
}

spring-boot 2 with jolokia: how to disable authentication

ENV: springboot 2.0.5.RELEASE, jolokia 1.5.0
How to disable jokolia authentication?
Endpoint jolokia response looks like following:
{
"request": {
"type": "version"
},
"value": {
"agent": "1.5.0",
"protocol": "7.2",
"config": {
"listenForHttpService": "true",
"authIgnoreCerts": "false",
"agentId": "172.22.0.3-7-72f8afb3-servlet",
"debug": "false",
"agentType": "servlet",
"policyLocation": "classpath:/jolokia-access.xml",
"agentContext": "/jolokia",
"serializeException": "false",
"mimeType": "text/plain",
"dispatcherClasses": "org.jolokia.http.Jsr160ProxyNotEnabledByDefaultAnymoreDispatcher",
"authMode": "basic",
"streaming": "true",
"canonicalNaming": "true",
"historyMaxEntries": "10",
"allowErrorDetails": "true",
"allowDnsReverseLookup": "true",
"realm": "jolokia",
"includeStackTrace": "true",
"useRestrictorService": "false",
"debugMaxEntries": "100"
},
"info": {
"product": "tomcat",
"vendor": "Apache",
"version": "8.5.34"
}
},
"timestamp": 1538476345,
"status": 200
}
Same user application environment with springboot 1.5.9.RELEASE and jokolia 1.3.7 no authentication necessary. Endpoint jokolia responds like following:
{
"request": {
"type": "version"
},
"value": {
"agent": "1.3.7",
"protocol": "7.2",
"config": {
"agentId": "172.27.0.2-6-57fcc568-servlet",
"agentType": "servlet"
},
"info": {
"product": "tomcat",
"vendor": "Apache",
"version": "8.5.23"
}
},
"timestamp": 1538487291,
"status": 200
}
You should place the file jolokia-access.xml in src/main/resources so that it is part of the classpath.
Quote from my comment: Solved using ignoring management port altogether. I was using web.ignoring().requestMatchers(EndpointRequest.toAnyEndpoint()). It seems like it only matches requests to the level of those endpoints, but not levels deeper.

Resources