12:50:08 Hey guys! Is there any way to disable banning hosts on rpc errors? this is really annoying 12:54:26 Not without changing the source I think. Why is it annoying ? 12:55:37 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 12:56:25 Moreover it stands behind nginx and therefore the only host is sending the request is ... nginx server! 12:56:48 in this case rpc stops working at all 12:57:26 I think you can disable this in src/rpc/core_rpc_server.cpp, by removing: m_net_server.set_connection_filter(&m_p2p); 12:59:12 of course I can modify the source code. but this will cause troubles in the future when updating public node 12:59:43 right now my public node has RPC spam from over 100 addresses being auto-banned 13:00:03 removing the ban feature would be pretty bad 13:00:45 perhaps tweaking it to exclude localhost would be OK 13:00:56 what about making optional command line flag to disable rpc banning? 13:02:45 excluding localhost would help only if you have your nginx on localhost 13:03:21 You know there's a RPC to unban an IP, right ? 13:03:33 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? 13:03:44 Guess it doesn't work if it's been banned though pu:D 13:04:23 I thin so. 13:05:41 > You know there's a RPC to unban an IP, right ? 13:05:42 no, i didn't. should i call it by timer? 13:06:27 If you want to. Not from the testing IP though. 13:06:39 localhost should work fine for that 13:17:30 and what if your nginx proxy is on another host? 13:23:16 you don't need to issue the unban RPC from the same host as your nginx box 13:23:35 in fact you woouldn't be able to. come on, think about it. 13:29:29 in fact, all of the requests are coming from nginx this way. of course i wouldn't be able to call unban 13:30:08 so once again - use localhost 13:30:28 do you mean deploy monerod on the same host with nginx? 13:30:35 no 13:30:44 issue the unban request from the same box that runs monerod 13:30:47 call rpc from localhost? 13:32:02 I understand that. But the problem is there always be situations when some can make malicious calls to stop entire rpc working 13:32:16 entire rpc? 13:32:38 how can someone else make malicious RPC calls from your nginx host? 13:33:54 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 13:34:22 Sounds like we should support PROXY protocol for RPC 13:34:23 I have a feeling all remote users are being proxied through a single host, and moenrod only sees that proxy host. 13:34:36 ah 13:34:39 yes, exactly 13:34:40 So, self inflicted wound :) 13:34:52 indeed 13:34:53 sorry if i undestand it poorly 13:35:01 *explained 13:36:24 omartijn: link to an explanation ? "proxy" is going to match loads of irrelevant stuff :) 13:36:42 https://www.haproxy.com/blog/haproxy/proxy-protocol/ 13:36:49 ty 13:37:18 Basically it's an efficient way of forwarding connection information from a proxy to the underlying backend 13:38:19 btw, what is the rpc call to unban host? :) 13:38:27 i can't find it in the sources 13:40:15 set_bans 13:40:48 thanks 13:41:33 hey guys 13:41:36 quick question 13:41:54 on wallet create_address RPC call 13:42:10 when was "address_index - unsigned int; Index of the new address under the input account." added? 13:43:10 2017-02-19 13:43:31 You can find yourself with: git blame src/wallet/wallet_rpc_server_commands_defs.h 13:44:19 thanks! 13:46:34 is there any security concern of showing that to the users? 13:47:44 If you're asking "can someone steal money from this info", then no. 13:47:54 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 13:48:15 If you're asking "can people glean info about my customer base", then yes. 13:48:25 ah alright 13:48:27 good 15:08:18 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 :) 15:09:00 boost is supposed to build with --toolset=emscripten, but 1.71 rejects this :/ 15:12:04 does your boost source tree have tools/build/src/emscripten.jam ? 15:12:42 I have it in 1.69 tree 15:12:43 No, but it has tools/build/src/tools/emscripten.jam. 15:12:53 ah yes, that. 15:13:05 so that ought to work 15:13:06 Maybe they moved stuff and broke it... 15:13:22 I can try 1.69. 15:13:35 unless that's only support for compiling their b2 program 15:13:45 which would be kind of useless all by itself 15:14:02 Still though, I don't want to waste my time figuring out how to build random dependencies. Only monero :) 15:14:27 yeah, not much fun in that 15:22:46 I use this process to build boost: 1. cd 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/emsdk/fastcomp/emscripten 6. Invoke this shell script: 15:22:46 https://github.com/monero-ecosystem/monero-javascript/blob/wasm53_after_send/bin/build-boost-emscripten.sh 7. Which uses this emscripten.jam: https://github.com/monero-ecosystem/monero-javascript/blob/wasm53_after_send/configs/emscripten.jam 15:27:18 credits to mymonero for the script scaffolding 15:27:35 Docs say "latest", not "latest-upstream", you sure about this ? 15:27:47 IIRC I was not able to get openssl building with boost, but endogenic said they were able to 15:28:04 yes 15:28:11 with emscripten, nothing to do with boost 15:28:12 (I already did steps 1234, but with latest) 15:29:29 woodser look at mymonero-libapp-js for openssl w emscr 15:29:57 it did take some time to make it happy 15:30:04 but it ended up working 15:30:57 I think you can use “latest”. I was using “latest-upstream” to access their new upstream features 15:31:27 Well, it's busy installing latest-upstream atm. Maybe it'll help. 15:31:50 you're welcome.. 15:34:01 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 ? 15:35:32 * moneromooo tries that way 15:36:58 hmm 15:38:00 /emscripten/emsdk/upstream/emscripten? 15:38:25 Yes, I have a src/emsdk/upstream/emscripten 15:38:53 that’s probably what you want. fastcomp must be the old one 15:39:36 ty 15:39:41 sure 15:42:38 Well, it seems to be going now, thanks. 15:43:06 great 15:43:28 Heh: First, Building Boost.Build engine with toolset gcc..., but then /bin/sh: line 1: clang++: command not found 15:49:24 might need to change “clang” to “gcc” in the .sh and/or .jam 15:51:24 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. 15:53:41 Finished already. Suspiciously fast. 15:54:32 got any actual .a files ? 15:54:36 it doesn’t take very long on my machine. That script is only building these as-is: system,thread,chrono,serialization,filesystem,regex 15:54:37 Yes. 16:33:08 so this db bug, should i use the systems libunbound to make it happen? 16:45:21 moneromooo if it helps, this is my latest branch of monero-project which supports wallet2 refreshing and getting balances and transfers in webassembly: https://github.com/woodser/monero/tree/wasm49_update_pool_state 16:46:04 Thanks. I'm searching the web for libzmq-with-enscriptem atm. Not there yet. 16:47:33 17:33 so this db bug, should i use the systems libunbound to make it happen? <-- we don’t know yet 16:48:29 Oh, but that means it's all building then, easylogging was the only problem ? So I can cut this short ? :)_ 17:11:55 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 17:16:06 this comparison shows where I had problems and made changes: https://github.com/monero-project/monero/compare/master...woodser:wasm49_update_pool_state?diff=split 17:19:39 OK, so do you need me to go fix anything in the monero code anymore ? 17:20:16 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 ? 17:20:51 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. 17:21:33 changes are going to be needed to make monero build with it 17:22:27 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 ? 17:24:16 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 17:25:20 OK, great. So I'm back to I don't need to do anything more, right ? 17:26:05 I guess I'm assuming you're going to PR those changes. Are you ? 17:27:06 sure I can PR them and bring them up as I make progress 17:27:46 Thanks. I'll interpret that as I don't need to do anything anymore. 17:32:29 hi, How can I enable hugepage in MacOs? 17:33:01 Sounds like something people in #monero-pools would know. 17:33:32 thx +moneromooo 17:37:03 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 (?) 17:37:54 Paste the changes and I'll have a look. I don't know what environment-based imports are. 17:44:37 here is the base wallet which accepts an abstract_http_client argument: https://github.com/woodser/monero/blob/c5f9235b964a50c492799c421767553d3b5fbb1e/src/wallet/wallet2_base.cpp#L627 17:46:21 then wallet2 is whatever cannot run in webassembly and a http_simple_client instance: https://github.com/woodser/monero/blob/c5f9235b964a50c492799c421767553d3b5fbb1e/src/wallet/wallet2.h#L47 17:48:08 Can you paste a diff with whatever you started from ? 18:11:47 Hi guys! How to deal with "median offset index is too low (median is 1200799 out of total 2135177offsets)" during transaction creation ? 18:13:14 this diff is verbose https://paste.debian.net/1119250/ 18:13:55 as a result of the name change to wallet2_base and commits to monero-project 18:15:56 spedex: what wallet are you using ? 18:17:35 moneromooo: monero-wallet-rpc 0.15.0.1 18:17:40 Passing a http client to the ctor seems just fine to me. 18:17:59 Why can't some parts of wallet2 rnu with emscripten ? 18:18:32 SpellChecker: try: "unset_ring TXID" with the txid of the transaction that's failing. Then try sending again. 18:18:58 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. 18:20:03 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. 18:20:52 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. 18:21:14 So false positives are going to be there, unfortunately. 18:22:04 wallet2 could re-roll when it knows the daemon's checks will trigger. That'll technically bias a little... 18:22:29 there were compile errors with boost::asio, epee::net_utils::ssl_options_t, and http_simple_client 18:22:52 face it reproducible on stagenet with my own daemon. didn't touch it for a long time (since 0.14.1 release) 18:23:04 Compile errors in monero code itself, when using the apis you mention ? 18:23:16 So I do have something to fix after all ? 18:23:47 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. 18:24:22 I’d have to go back and check. I can try importing the original wallet2 and seeing what breaks 18:24:31 so, I will get back to you 18:26:21 OK. Maybe you can just paste the errors, that might be enough. 18:26:30 ok 18:33:38 moneromooo: I'm using monero-wallet-gui 0.15.0.1. Why? Or was the question aimed at someone else? :D 18:41:11 I guess it was addressed to me, spedex :) 18:44:23 Yes. Sorry I did not see your question spedex, can you ask again ? 18:45:30 Lol (Uncaught tab completion fail) 18:46:57 Oooh I see now. Sorry :) 18:55:57 luigi1111w: did those patches fix your problems ? 18:59:32 I think I only saw one patch, and I didn't get around to compiling it to test 19:00:03 Oh. 19:00:12 https://github.com/moneromooo-monero/bitmonero/tree/samet 19:00:20 I'll PR once you confirm.