Basic Android8 question

I’m working on an embedded system that uses/will use Android8. To date, development has happened on Android 7.1.1 — the vendor of the reference board supports only those two.

In Android 7.1.1, we copied .apk files from our repository to the running system like so:

PRODUCT_COPY_FILES += foo.apk:root/foo.apk 

(or the like.) This is completely disallowed by Android 8.

So, from the few google hits that got me info on the AOSP and not user info about Android phones, we are trying this (in external/foo/Android.mk):

LOCAL_PATH := $  (call my-dir)  include $  (CLEAR_VARS)  LOCAL_MODULE := foo  LOCAL_SRC_FILES := foo.apk  LOCAL_MODULE_CLASS := APPS LOCAL_CERTIFICATE := PRESIGNED  LOCAL_MODULE_SUFFIX := $  (COMMON_ANDROID_PACKAGE_SUFFIIX)  include $  (BUILD_PREBUILT) 

…no trace of any artifacts in the builds!

So, three questions:

  1. Am I doing it right?
  2. How can I turn on $ (info foo) messages? They were on by default in our 7.1.1 environment but not in 8.
  3. Our guide is Embedded Android by Karim Yaghmour. Is there a more up to date guide?

Thanks!

Reviewing the Dockerfile and docker-compose.yml files for a basic nodejs mysql project

I’m new to docker and after much research and stufy I’ve created a sample application and would like it to be reviewed in case if I’m missing any corner or if there’s redundant information that can be simplified.

Dockerfile

FROM node  WORKDIR /src COPY . . RUN npm install  CMD ["npm", "start"] 

docker-compose.yml

MySQL is getting initialized through schema.sql

version: '3'  services:   database:     image: "mysql:5.7"     container_name: "mysql"     ports:       - "6603:3306"     volumes:       - ./schema.sql:/docker-entrypoint-initdb.d/init.sql     environment:       DATABASE_HOST: database       MYSQL_ROOT_PASSWORD: rootpass       MYSQL_DATABASE: test       MYSQL_USER: mysql       MYSQL_PASSWORD: password    service:     build: .     image: "node"     container_name: "nodejs"     ports:       - "8080:8080"     depends_on:       - database     links:       - database     environment:       DATABASE_HOST: database       MYSQL_PORT: 3306       MYSQL_DATABASE: test       MYSQL_USER: mysql       MYSQL_PASSWORD: password     restart: on-failure 

index.js

It has some delay, that basically waits for the mysql to become fully alive.

setTimeout(function(){     var mysql = require('mysql');      var con = mysql.createConnection({         host: process.env.DATABASE_HOST,         user: process.env.MYSQL_USER,         password: process.env.MYSQL_PASSWORD,         database: process.env.MYSQL_DATABASE     });      con.connect(function(err) {         if (err) throw err;         console.log("Database Connected!");          var http = require('http');          //create a server object:         http.createServer(function (req, res) {             res.write('Hello World!'); //write a response to the client             res.end(); //end the response         }).listen(8080); //the server object listens on port 8080          console.log("Listening at 8080");     }); }, 10 * 1000); 

I had one file in docker-compose.yml which I removed assuming it’s not required.

#    volumes: #      - .:/src 

Visual Basic – criar cliente

Estou a fazer um trabalho em que tenho de criar uma função que procurando um nif numa caixa texto vai confirmar se aquela pessoa já existe e abrir uma nova form com os dados preenchidos da pessoa.Caso não exista vai abrir a mesma form com o campo do nif já preenchido mas os outros campos em branco para preencher os dados da pessoa e gravar. Já está criada a classe pessoa sendo que o nif e os outros dados já são propriedades da classe. Conseguem ajudar? Obrigada

¿ Como Hago para no perder el texto seleccionado en Visual Basic Acces cuando acaba la ejecucción?

Buenos días y gracias de antemano. Trabajo con Visual Basic Acces y selecciono el texto de un textBox en el EVENTO LOST_FOCUS y con el metodo setfocus, selStart y selLenght pero al acabar la ejecuccion se deja de seleccionar y necessito que se mantenga, probe creando un textBox “fantasma” y le daba el focus tambien pero no me sirve porque a la hora de cambiar de foco no me deja si no borro el texto del Texbox primero entonces quiero es no perder el texto seleccionado sin ningun TextBox oculto( fantasma)

Os dejo el codigo:

“Visual Basic Acces

Private Sub txtNRef_LostFocus()         If Len(Form!txtNRef) > 0 Then             Form!txtNRef.SelStart = 0             Form!txtNRef.SelLength = Len(Form!txtNRef.Text)             Form!txtNRef.SetFocus        EndIF  End Sub 

Is there a way to add custom fields before the “Add to cart” option with the “Basic Cart” plugin?

I’m using the Basic Cart plugin to create orders in Drupal 8, but I have a problem. Before I add some products to the cart, I have only the Quantity option which the default plugin option.

enter image description here

Is there a way to add another field the user can fill before adding the product to the cart?

Got hacked via basic auth what to do now

I have a vps where I run an express/mongodb API with a angular 7 client (transpiled in production mode) for a school project. There is a staging (preprod) environment and a production environment.

Both environment have one docker-compose.yml file which pull the app image from a private gitlab container registry and have some other images :

  • mongo:4.0
  • mongo-express (sort of like phpmyadmin but for mongodb)
  • docker.elastic.co/elasticsearch/elasticsearch:7.0.0
  • docker.elastic.co/kibana/kibana:7.0.0
  • docker.elastic.co/logstash/logstash:7.0.0
  • docker.elastic.co/apm/apm-server:7.0.0

The accessible urls of the webserver related to this app (meaning service in the docker-compose.yml with the app image) are :

  • The express API :
    • api.example.com
    • preprod-api.example.com
  • The angular client :
    • front.example.com
    • preprod-front.example.com
  • The mongo express
    • mongoadmin.example.com (protected via basic auth)
    • preprod-mongoadmin.example.com (protected via basic auth)
  • Kibana :
    • kibana.example.com (protected via basic auth)
    • preprod-kibana.example.com (protected via basic auth)

I also have these urls publicly accessible but running in other docker-compose.yml files :

  • git.example.com (gitlab instance)
  • sonar.example.com (sonarqube instance)

All the urls I mentionned are served through HTTPS with a nginx reverse proxy and are registered on cloudflare (so AFAIK not reveling the real IP of my webserver)

Today, I logged in the mongoadmin.example.com and saw this : enter image description here

Sadly I did not take a screenshot of the hacked_by_unistellar collection, but basically it was a collection like

{   "collectionName": name   "restote": "To restore this collection send an email to unistellar@yandex.com" } 

So I did docker-compose down -v (no big deal since anyways there was no data to restore). And changed the basic auth password from a strong 32 characters to 100 characters one (both generated via lastpass where lowercase, uppercase, number and special chars are accepted)

However I am still wondering about a few things :

  • I doubt he owns the domain yandex.com, so why would he want me to email him at this address ?
  • How could he get in knowing the basic auth password was “strong” at least I guess, it was something like (&5M/%b*2ZkQCfvNYU&HMjgNQ5Yz#FnF9)
  • What measures should I take to prevent this for happening in the future ? I changed all other basic auth password since he could have get in and not modifying anything.
  • In the worst case, if the attacker found a way to get logged on the server, he would only be able to do stuff in the docker container he entered in, right ?

PS : I myself find this question a bit clumsy, if you guys have clues on how I should narrow it down I would gladly do it.

And let me know if I should add my nginx config, docker-compose.yml files or some other informations.

Also, I did not know which tags use for this questions

Visual Basic Download File method on MSI file type ERROR

I am using Visual Basic to download an MSI file on Github, therefore I am using the Download File method. When I go to open the MSI file using the Process Start method I get an error, “The installation package could not be opened. Contact the application vendor to verify that this a valid Windows Installer package.”

My.Computer.Network.DownloadFile("https://github.com/user/repo/raw/master/file.msi", "C:\Users\Users\user\Desktop\test\file.msi") Process.Start("C:\Users\user\Desktop\test\file.msi") 

The expected result is for Visual Basic to download the MSI file from Github, and then run the MSI file. The actual result is an error saying, “The installation package could not be opened. Contact the application vendor to verify that this a valid Windows Installer package.”

Missing Visual Basic tab Microsoft Excel

Brand new install of 365 Excel/Word/Etc. I’m trying to open the Visual Basic editor that is supposed to be on the Developers tab; however, the option isn’t there.

Enable Developer Tab

This is how my developer tab looks, and it looks like there should be some more options to the left of the “Add-Ins” button. Any idea where it went? Missing Visual Basic

This is how it should be…