-
naughtyfox
Hey guys! Is there any way to disable banning hosts on rpc errors? this is really annoying
-
moneromooo
Not without changing the source I think. Why is it annoying ?
-
naughtyfox
Because this is our public node (for stagenet in this case). We test api, we test wallet. It happens quiet often we get an error
-
naughtyfox
Moreover it stands behind nginx and therefore the only host is sending the request is ... nginx server!
-
naughtyfox
in this case rpc stops working at all
-
moneromooo
I think you can disable this in src/rpc/core_rpc_server.cpp, by removing: m_net_server.set_connection_filter(&m_p2p);
-
naughtyfox
of course I can modify the source code. but this will cause troubles in the future when updating public node
-
hyc
right now my public node has RPC spam from over 100 addresses being auto-banned
-
hyc
removing the ban feature would be pretty bad
-
hyc
perhaps tweaking it to exclude localhost would be OK
-
naughtyfox
what about making optional command line flag to disable rpc banning?
-
naughtyfox
excluding localhost would help only if you have your nginx on localhost
-
moneromooo
You know there's a RPC to unban an IP, right ?
-
selsta
My node shows `Transaction spends at least one output which is too young`, I guess that means someone changed the 10 block lock time in source and my node rejected it?
-
moneromooo
Guess it doesn't work if it's been banned though pu:D
-
moneromooo
I thin so.
-
naughtyfox
> You know there's a RPC to unban an IP, right ?
-
naughtyfox
no, i didn't. should i call it by timer?
-
moneromooo
If you want to. Not from the testing IP though.
-
hyc
localhost should work fine for that
-
naughtyfox
and what if your nginx proxy is on another host?
-
hyc
you don't need to issue the unban RPC from the same host as your nginx box
-
hyc
in fact you woouldn't be able to. come on, think about it.
-
naughtyfox
in fact, all of the requests are coming from nginx this way. of course i wouldn't be able to call unban
-
hyc
so once again - use localhost
-
naughtyfox
do you mean deploy monerod on the same host with nginx?
-
hyc
no
-
hyc
issue the unban request from the same box that runs monerod
-
naughtyfox
call rpc from localhost?
-
naughtyfox
I understand that. But the problem is there always be situations when some can make malicious calls to stop entire rpc working
-
hyc
entire rpc?
-
hyc
how can someone else make malicious RPC calls from your nginx host?
-
naughtyfox
because users are working with it through nginx interface and the only client to monerod rpc interface is nginx's host in the particular setup
-
omartijn
Sounds like we should support PROXY protocol for RPC
-
moneromooo
I have a feeling all remote users are being proxied through a single host, and moenrod only sees that proxy host.
-
hyc
ah
-
naughtyfox
yes, exactly
-
moneromooo
So, self inflicted wound :)
-
hyc
indeed
-
naughtyfox
sorry if i undestand it poorly
-
naughtyfox
*explained
-
moneromooo
omartijn: link to an explanation ? "proxy" is going to match loads of irrelevant stuff :)
-
omartijn
-
moneromooo
ty
-
omartijn
Basically it's an efficient way of forwarding connection information from a proxy to the underlying backend
-
naughtyfox
btw, what is the rpc call to unban host? :)
-
naughtyfox
i can't find it in the sources
-
moneromooo
set_bans
-
naughtyfox
thanks
-
DarkW
hey guys
-
DarkW
quick question
-
DarkW
on wallet create_address RPC call
-
DarkW
when was "address_index - unsigned int; Index of the new address under the input account." added?
-
moneromooo
2017-02-19
-
moneromooo
You can find yourself with: git blame src/wallet/wallet_rpc_server_commands_defs.h
-
DarkW
thanks!
-
DarkW
is there any security concern of showing that to the users?
-
moneromooo
If you're asking "can someone steal money from this info", then no.
-
DarkW
because monero-python library didn't return that until the latest version, and they really didn't alert of this change, so I've generated around 20 addresses and showed that to the users
-
moneromooo
If you're asking "can people glean info about my customer base", then yes.
-
DarkW
ah alright
-
DarkW
good
-
moneromooo
woodser: if you can get me scripts to build boost/openssl etc with emscripten, which you likely have already if you're building monero, I'll try to fix the monero source :)
-
moneromooo
boost is supposed to build with --toolset=emscripten, but 1.71 rejects this :/
-
hyc
does your boost source tree have tools/build/src/emscripten.jam ?
-
hyc
I have it in 1.69 tree
-
moneromooo
No, but it has tools/build/src/tools/emscripten.jam.
-
hyc
ah yes, that.
-
hyc
so that ought to work
-
moneromooo
Maybe they moved stuff and broke it...
-
moneromooo
I can try 1.69.
-
hyc
unless that's only support for compiling their b2 program
-
hyc
which would be kind of useless all by itself
-
moneromooo
Still though, I don't want to waste my time figuring out how to build random dependencies. Only monero :)
-
hyc
yeah, not much fun in that
-
kovri-slack2
<woodser> I use this process to build boost: 1. cd <emscripten_root> 2. ./emsdk install latest-upstream (their development is now focused on their upcoming upstream release) 3. ./emsdk activate latest-upstream 4. source ./emsdk_env.sh 5. export EMSCRIPTEN=<emscripten_root>/emscripten/emsdk/fastcomp/emscripten 6. Invoke this shell script:
-
kovri-slack2
-
kovri-slack2
<woodser> credits to mymonero for the script scaffolding
-
moneromooo
Docs say "latest", not "latest-upstream", you sure about this ?
-
kovri-slack2
<woodser> IIRC I was not able to get openssl building with boost, but endogenic said they were able to
-
endogenic
yes
-
endogenic
with emscripten, nothing to do with boost
-
moneromooo
(I already did steps 1234, but with latest)
-
endogenic
woodser look at mymonero-libapp-js for openssl w emscr
-
endogenic
it did take some time to make it happy
-
endogenic
but it ended up working
-
kovri-slack2
<woodser> I think you can use “latest”. I was using “latest-upstream” to access their new upstream features
-
moneromooo
Well, it's busy installing latest-upstream atm. Maybe it'll help.
-
endogenic
you're welcome..
-
moneromooo
Well, still no emscripten file/direcory in the single directory called fastcomp. Or is it supposed to be that way and it gets created later ?
-
» moneromooo tries that way
-
kovri-slack2
<woodser> hmm
-
kovri-slack2
<woodser> <emscripten_root>/emscripten/emsdk/upstream/emscripten?
-
moneromooo
Yes, I have a src/emsdk/upstream/emscripten
-
kovri-slack2
<woodser> that’s probably what you want. fastcomp must be the old one
-
moneromooo
ty
-
kovri-slack2
<woodser> sure
-
moneromooo
Well, it seems to be going now, thanks.
-
kovri-slack2
<woodser> great
-
moneromooo
Heh: First, Building Boost.Build engine with toolset gcc..., but then /bin/sh: line 1: clang++: command not found
-
kovri-slack2
<woodser> might need to change “clang” to “gcc” in the .sh and/or .jam
-
moneromooo
Maybe. It's going with clang now. I saw "cat: /home/user/configs/emscripten.jam: No such file or directory", but it was not fatal.
-
moneromooo
Finished already. Suspiciously fast.
-
hyc
got any actual .a files ?
-
kovri-slack2
<woodser> it doesn’t take very long on my machine. That script is only building these as-is: system,thread,chrono,serialization,filesystem,regex
-
moneromooo
Yes.
-
gingeropolous
so this db bug, should i use the systems libunbound to make it happen?
-
kovri-slack2
<woodser> moneromooo if it helps, this is my latest branch of monero-project which supports wallet2 refreshing and getting balances and transfers in webassembly:
github.com/woodser/monero/tree/wasm49_update_pool_state
-
moneromooo
Thanks. I'm searching the web for libzmq-with-enscriptem atm. Not there yet.
-
selsta
17:33 <gingeropolous> so this db bug, should i use the systems libunbound to make it happen? <-- we don’t know yet
-
moneromooo
Oh, but that means it's all building then, easylogging was the only problem ? So I can cut this short ? :)_
-
kovri-slack2
<woodser> I had problems with easylogging (now fixed), some wallet2 dependencies, like http client, boost::asio, and epee::net_utils, and some dependencies throughout the code like perf_timer and CRITICAL_REGION_LOCAL in contrib/epee/src/mlocker.cpp
-
kovri-slack2
<woodser> this comparison shows where I had problems and made changes:
github.com/monero-project/monero/co…wasm49_update_pool_state?diff=split
-
moneromooo
OK, so do you need me to go fix anything in the monero code anymore ?
-
moneromooo
I build all deps now, and it's failing in miniupnpc. My questoin is: am I going to waste my time if you've done this already, or not ?
-
moneromooo
Because I don't care about emscripten for the sake of it. I care about making monero build with it if many people are going to find it useful.
-
kovri-slack2
<woodser> changes are going to be needed to make monero build with it
-
moneromooo
Alright. I'm confused as to why you can be running monero if it's still going to need changes to build I guess. Unless you're talking daemon, not wallet ?
-
kovri-slack2
<woodser> I can run wallet2 refresh and get balances and transfers but only with the modifications I’ve made in my branch, so changes will need to be made upstream if we want others to be able to run it
-
moneromooo
OK, great. So I'm back to I don't need to do anything more, right ?
-
moneromooo
I guess I'm assuming you're going to PR those changes. Are you ?
-
kovri-slack2
<woodser> sure I can PR them and bring them up as I make progress
-
moneromooo
Thanks. I'll interpret that as I don't need to do anything anymore.
-
blueingress
hi, How can I enable hugepage in MacOs?
-
moneromooo
Sounds like something people in #monero-pools would know.
-
blueingress
thx +moneromooo
-
kovri-slack2
<woodser> I got around the wallet2 dependency problems by separating incompatible dependencies into another wallet2 file and passing an abstract http client as a constructor argument where needed. It would be good to get feedback on that and if there is a better way, maybe through environment-based imports (?)
-
moneromooo
Paste the changes and I'll have a look. I don't know what environment-based imports are.
-
kovri-slack2
<woodser> here is the base wallet which accepts an abstract_http_client argument:
github.com/woodser/monero/blob/c5f9…1e/src/wallet/wallet2_base.cpp#L627
-
kovri-slack2
<woodser> then wallet2 is whatever cannot run in webassembly and a http_simple_client instance:
github.com/woodser/monero/blob/c5f9…3d3b5fbb1e/src/wallet/wallet2.h#L47
-
moneromooo
Can you paste a diff with whatever you started from ?
-
SpellChecker
Hi guys! How to deal with "median offset index is too low (median is 1200799 out of total 2135177offsets)" during transaction creation ?
-
kovri-slack2
<woodser> this diff is verbose
paste.debian.net/1119250
-
kovri-slack2
<woodser> as a result of the name change to wallet2_base and commits to monero-project
-
moneromooo
spedex: what wallet are you using ?
-
SpellChecker
moneromooo: monero-wallet-rpc 0.15.0.1
-
moneromooo
Passing a http client to the ctor seems just fine to me.
-
moneromooo
Why can't some parts of wallet2 rnu with emscripten ?
-
moneromooo
SpellChecker: try: "unset_ring TXID" with the txid of the transaction that's failing. Then try sending again.
-
moneromooo
If you're using a stranger's daemon, that stranger will be able to tell the real spend since the wallet will request a new set of fake outs.
-
moneromooo
That error is to catch wallet implementations which use idiotic ways to pick fake outs, but given it's a random distribution, correct code can also rarely trigger it.
-
moneromooo
It's got to be the daemon checking it though, since you wouldn't expect a dumb wallet to add code proving it's dumb.
-
moneromooo
So false positives are going to be there, unfortunately.
-
moneromooo
wallet2 could re-roll when it knows the daemon's checks will trigger. That'll technically bias a little...
-
kovri-slack2
<woodser> there were compile errors with boost::asio, epee::net_utils::ssl_options_t, and http_simple_client
-
SpellChecker
face it reproducible on stagenet with my own daemon. didn't touch it for a long time (since 0.14.1 release)
-
moneromooo
Compile errors in monero code itself, when using the apis you mention ?
-
moneromooo
So I do have something to fix after all ?
-
moneromooo
It's reproducible since once the wallet has selected a set of fake outs for a given output, it'll always use those, for privacy reasons wrt hte daemon.
-
kovri-slack2
<woodser> I’d have to go back and check. I can try importing the original wallet2 and seeing what breaks
-
kovri-slack2
<woodser> so, I will get back to you
-
moneromooo
OK. Maybe you can just paste the errors, that might be enough.
-
kovri-slack2
<woodser> ok
-
spedex
moneromooo: I'm using monero-wallet-gui 0.15.0.1. Why? Or was the question aimed at someone else? :D
-
SpellChecker
I guess it was addressed to me, spedex :)
-
moneromooo
Yes. Sorry I did not see your question spedex, can you ask again ?
-
iDunk
Lol (Uncaught tab completion fail)
-
moneromooo
Oooh I see now. Sorry :)
-
moneromooo
luigi1111w: did those patches fix your problems ?
-
luigi1111w
I think I only saw one patch, and I didn't get around to compiling it to test
-
moneromooo
Oh.
-
moneromooo
-
moneromooo
I'll PR once you confirm.