ESP8266 : WPA ENTERPRISE LOGIN WITHOUT CA CERTIFICATE - arduino

Thanks a lot for giving your time and reading this,
I have gone though the WPA enterprise question posted in the ESP8266 forum and the related links, but it's not able to help me so I'm starting another topic.
I am trying to connect my ESP to my office network.
To connect through mobile this is usually is the setting:
SSID:PanLAN
EAP methode : PEAP
Phase 2 authentication: None
Ca Certificate: None
Identity: Asia-Pacific\SLAIK
password: Badonkadong
I took the edurom.ino from joostd's github and tried to run it.
https://github.com/genomics-admin/esp8266-eduroam/tree/master/Arduino
I got the following error.
error: 'wifi_station_set_username' was not declared in this scope
wifi_station_set_username(identity, sizeof(identity));
^
ESP8266_PEAPAuth:323: error: 'wifi_station_set_cert_key' was not declared in this scope
if( wifi_station_set_cert_key(testuser_cert_pem, testuser_cert_pem_len, testuser_key_pem, testuser_key_pem_len, NULL, 0) == 0 ) {
^
ESP8266_PEAPAuth:337: error: 'wifi_station_clear_cert_key' was not declared in this scope
wifi_station_clear_cert_key();
^
ESP8266_PEAPAuth:338: error: 'wifi_station_clear_username' was not declared in this scope
wifi_station_clear_username();
^
exit status 1
'wifi_station_set_username' was not declared in this scope.
I'm new to ESP/Arduino however to my eyes it looks like i'm missing the user_interface.h and c_type.h file.
The github account don't have them, so where can I get
them from?
I know user_interface.h is available on github
from other projects, but can I use them?
If yes, then
where shall I put the user_interface.h after downloading?
I found ctype.h in my computer # "C:\Program Files
(x86)\Arduino\hardware\tools\avr\avr\include" is it the same as
c_type.h mentioned in the code? can I rename and use ctype.h?
Is there any other/better example available for me to
follow and get my ESP connected to the network?

Related

snmptrapd unknown snmp version 193

I'm trying to capture SNMP traps using snmptrapd but don't seem to be receiving anything.
I installed snmptrapd and then modified the /etc/snmp/snmptrapd.conf file to have authCommunity log public and started the service with systemctl start snmptrapd.
Upon start my syslog has "unknown snmp version 193" printed to it but nothing else and when I send traps it doesn't seem to output anything or throw an error.
Have I missed something?
Couldn't find a reason for "unknown snmp version 193" but it seems you need to specify an output file as it won't do it by default.
My snmptrapd.conf now looks like:
authCommunity log public
[snmp] logOption f /var/log/snmp

Unable to Connect to Database using Custom Connection String with ODBC.jl

I'm having trouble connecting to a database with the ODBC.jl package. I can't tell if the problem is with my setup (more likely) or the package. The problem is that ODBC.jl can't seem to locate the correct ODBC driver.
> using ODBC
> ODBC.listdrivers()
/path/to/generic/odbc/
But I need to use a different driver than the one picked up from above.
I'm trying to use a custom connection string as follows:
>ODBC.DSN("DRIVER=path/to/driver/i/want;SERVER=myserver;USER=myuser;PASSWORD=mypass;DATABASE=somedb;")
which returns this:
[ODBC] IM002: [unixODBC][Driver Manager]Data source name not found, and no default driver specified
ERROR: ODBC.ODBCError("ODBC.API.SQLDriverConnect(dbc,window_handle,conn_string,out_conn.ptr,BUFLEN,out_buff,driver_prompt) failed; return code: -1 => SQL_ERROR ")
My understanding is that I should be able to specify the driver as done above, but this does not give the desired connection.
I have .odbc.ini and .odbcinist.ini files set-up in my home directory, which I believe are working correctly. I'm on a Suse enterprise distro. When connecting via isql i have no problems.
Any help is appreciated.

"svn: E175012: Connection timed out" when I compile my first Shogun program

I am new Shogun user,besides, this is my first time to use SVN.(I think the problem is SVN not Shogun)
those are the environment what I use:
Windows 10
Shogun 4.0.0
TortoiseSVN-1.9.3.27038-x64-svn-1.9.3;
VisualSVN-5.1.3;
VisualSVN-Server-3.5.1-x64;
VS 2013
Now I am in trouble when I want to get started an simple example of Shogun(copy in Documentation) as follow:
#include <shogun/base/init.h>
using namespace shogun;
int main(int argc, char** argv)
{
init_shogun();
exit_shogun();
return 0;
}
then, I try to compile it in Vs 2013, it tell me:
1> Generating version header
3> Building Custom Rule E:/shogun/CMakeLists.txt
3> CMake does not need to re-run because E:\shogun-configure\CMakeFiles\generate.stamp is up-to-date.
3> Creating directories for 'MSIntTypes'
3> Performing download step (SVN checkout) for 'MSIntTypes'
3> svn: E170013: Unable to connect to a repository at URL ' http://msinttypes.googlecode.com/svn/trunk '
3> svn: E175012: Connection timed out
3> C:\ProgramFiles(x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppCommon.targets(170,5): error MSB6006:
"cmd.exe" has exited. code is 1.
Then, I considerd that maybe some problems with SVN, I try to checkout some respositories:
At first, I try to checkout an respositories what I create myself:'_http://burningbear:8443/!/#new_rep', it can be checkout normally.
Then I try to chekout the respository:'_http ://msinttypes.googlecode.com/svn/trunk', but the Tortoise just not responding for a long time, then it reply me that:
Command: Checkout from _http://msinttypes.googlecode.com/svn/trunk, revision HEAD, Fully recursive, Externals included
Error: Unable to connect to a repository at URL
Error: '_http://msinttypes.googlecode.com/svn/trunk'
Error: Error running context: 你的主机中的软件中止了一个已建立的连接。(what I use is Chinese,it means "the software in your host stop an connected connection")
In China, We can not access googlecode unless we use VPN, so I change the server, to enable Proxy Server, the following is my setting:
Server address: 127.0.0.1
Port: 8087
Then I try to checkout again as:
When I check out _http://msinttypes.googlecode.com/svn/trunk
Checkout from _http://msinttypes.googlecode.com/svn/trunk, revision HEAD, Fully recursive, Externals included
Unable to connect to a repository at URL'_http://msinttypes.googlecode.com/svn/trunk'
The HTTP method 'OPTIONS' is not allowed on '/svn/trunk'
When I update the repositories what I have checkout before(URL is :_http://burningbear:8443/!/#new_rep). It move slowly, I spend about half hour, SVN tell me: "2 kBytes transferred in 20 minutes and 2 seconds"
Command: Update
Updating: E:\test2
Error: Unable to connect to a repository at URL 'https://burningbear:8443/svn/new_rep'
Error: Connection timed out
Completed!:
Now, I don't know what's the problem. It take me several days and I still can not solve it. Please help me! Thank you in advanced!
(I can not post more than 2 links now, so all of URL above I add an '_' mark before 'http')
Currently there's no way to compile natively shogun on Windows unfortunately. Although your problem seems to be unrelated, and it fails with svn, which is weird because the official repo of the shogun is using git: http://github.com/shogun-toolbox/shogun/
worked on the weekend on the native Windows support of shogun, you can find it in the feature/windows branch of the official repository: https://github.com/shogun-toolbox/shogun/tree/feature/windows
UPDATE: the feature branch has been merged into develop branch. from now on shogun can be compiled on windows natively.
Google Code is not available anymore: http://msinttypes.googlecode.com/svn/trunk. That's why the tool fails to access googlecode.com.

Rmpi, OpenCPU, and Apparmor: DENIED request for "/"

I have an R package that sends out a job to the OpenMPI cluster I have running by means of the Rmpi package. All works as expected within an R session run from the console. However, when I try to execute the relevant function with from my OpenCPU server like this (details changed to protect the innocent):
curl -XPOST http://99.999.999.99/ocpu/library/MyPackage/R/my_cluster_function
I get this error:
R call failed: process died.
(Other, non-cluster calling functions within the package work as expected via OpenCPU). I noticed in /var/log/kern.log a variety of requests being DENIED by apparmor, and I have been able to resolve most of them by adding entries into /etc/apparmor.d/opencpu.d/custom to allow OpenMPI to access the files it needs. However, I cannot resolve these two issues (again, IP address changed) related to "open" requests for location "/":
Oct 26 03:49:58 99.999.999.99 kernel: [142952.551234] type=1400 audit(1414295398.849:957): apparmor="DENIED" operation="open" profile="opencpu-main" name="/" pid=22486 comm="orted" requested_mask="r" denied_mask="r" fsuid=33 ouid=0
Oct 26 03:49:58 99.999.999.99 kernel: [142952.556422] type=1400 audit(1414295398.857:958): apparmor="DENIED" operation="open" profile="opencpu-main" name="/" pid=22485 comm="apache2" requested_mask="r" denied_mask="r" fsuid=33 ouid=0
Adding this to my apparmor rules did not help:
/* r,
Two questions:
Why is opencpu trying to read from my root level directory (or does this mean something else)?
More urgently, how can I resolve this apparmor issue?
Thanks.
You might need to add both apparmor rules
/ r,
/* r,
The first rule allows directory listing of / and the second rule allows read access to any file under /.
I don't understand why Rmpi wants to read / or why were you getting process died error instead of access denied. Are you sure the problem is completely resolved?

QT QSslError being signaled with the error code set to NoError

My Problem
I compiled OpenSSL into QT to enable OpenSSL support. Everything appeared to go correctly in the compile.
However, when I try to use the official HTTP example application that can be found here, everytime I try to download an https page, it will signal two QSslError, each with contents NoError.
The types of QSslErrors, including NoError, are documented here, poorly. There is no explanation on why they even included an error type called NoError, or what it means.
Bizarrely, the NoError error code seems to be true, as it downloads the remote https document perfectly even while signaling the error.
Does anyone have any idea what this means and what could possibly be causing it?
Optional Background Reading
Here is the relevant part of the code from the example app (this is connected to the network connection's sslErrors signal by the constructor):
void HttpWindow::sslErrors(QNetworkReply*,const QList<QSslError> &errors)
{
QString errorString;
foreach (const QSslError &error, errors) {
if (!errorString.isEmpty())
errorString += ", ";
errorString += error.errorString();
}
if (QMessageBox::warning(this, tr("HTTP"),
tr("One or more SSL errors has occurred: %1").arg(errorString),
QMessageBox::Ignore | QMessageBox::Abort) == QMessageBox::Ignore) {
reply->ignoreSslErrors();
}
}
I have tried the old version of this example, and it produced the same result.
I have tried OpenSSL 1.0.0a and 0.9.8o. I have tried tried compiling OpenSSL myself, I have tried using pre-compiled versions of OpenSSL from the net. All produce the same result.
If this were my first time using QT with SSL, I would almost think this is the intended result (even though their example application is popping up error warning message windows), if not for the fact that last time I played with QT, using what would now be an old version of QT with an old version of SSL, I distinctly remember everything working fine with no error windows.
My system is running Windows 7 x64.
The only path where a QSslError can be constructed with a NoError code is during conversion from OpenSSL error codes to QSslError::SslError values, when the error code is X509_V_OK. There is an interesting note about this error code in the OpenSSL docs:
If no peer certificate was presented, the returned result code is X509_V_OK. This is because no verification error occurred, it does however not indicate success.
Can you check with Wireshark or something similar if the certificate is being transmitted?
I get 4 errors, 3 times over.
The 4 (expected) errors are:
1.The host name did not match any of the valid hosts for this certificate
2.The issuer certificate of a locally looked up certificate could not be found
3.The root CA certificate is not trusted for this purpose
4.No certificates could be verified
I suspect your "NoError" refers to the last (#4)...
The reason I got 3 repeats appears to be because there are 3 threads running - each fires the same sslErrors signal.
I suspect your 2 repeats were due to 2 threads running in the WebView widget.

Resources