Activating SMTP AUTH (PLAIN) through STARTTLS in sendmail (FreeBSD)

N.B. This expects a working sendmail installation with STARTTLS Install cyrus-sasl # install cyrus-sasl2 cd /usr/ports/security/cyrus-sasl2 make install clean echo "pwcheck_method: saslauthd" > /usr/local/lib/sasl2/Sendmail.conf # install cyrus-sasl2-saslauthd cd /usr/ports/security/cyrus-sasl2-saslauthd make install clean echo 'saslauthd_enable="YES"' >> /etc/rc.conf service saslauthd start Set sendmail make flags Set the following flags in /etc/make.conf (create if it doesn’t exist) SENDMAIL_CFLAGS=-I/usr/local/include/sasl -DSASL SENDMAIL_LDFLAGS=-L/usr/local/lib SENDMAIL_LDADD=-lsasl2 Recompile sendmail Did you have the source in /usr/src? Otherwise you will need to run the following command. If you don’t use RELEASE-10, you should change that. ...

Sendmail / Postfix - Testing mailserver

Links qmail.jms1.net BSD Handbook Sendmail.org This expects you to have netcat, perl and openssl installed Hello without TLS nc mail.server.com 25 220 mail.server.com ESMTP Sendmail 8.14.7/8.14.7; Thu, 11 Sep 2014 12:01:22 +0200 (CEST) > ehlo friendly.server.com 250-mail.server.com Hello friendly [1.2.3.4], pleased to meet you 250-ENHANCEDSTATUSCODES 250-PIPELINING 250-8BITMIME 250-SIZE 250-DSN 250-ETRN 250-AUTH DIGEST-MD5 CRAM-MD5 250-STARTTLS 250-DELIVERBY 250 HELP > quit< 221 2.0.0 mail.server.com closing connection Hello with TLS openssl s_client -starttls smtp -crlf -connect mail.server.com:25 # ...Loads of text here... > ehlo friendly.server.com # ... Same as login without TLS (above) ... Test login $ perl -MMIME::Base64 -e 'print encode_base64("\000coolname\@iix.se\000my-password")' AGNvb2xuYW1lQGlpeC5zZQBteS1wYXNzd29yZA== # .. Log in to server with one of the above ... > AUTH PLAIN AGNvb2xuYW1lQGlpeC5zZQBteS1wYXNzd29yZA== 235 2.0.0 OK Authenticated > quit 221 2.0.0 mail.server.com closing connection Sending mail > mail from: <[email protected]> 250 ok > rcpt to: <[email protected]> 250 ok > data 354 go ahead > From: John <[email protected]> > To: Nobody <[email protected]> > Subject: fnord > > hail eris! > . 250 ok 1113954693 qp 29052 > quit

Ubuntu: Fix broken X11 after update

Updated my school ubuntu ws from raring to trust and X11 stopped working. Solution (2014) sudo apt-get remove --purge xserver-xorg sudo apt-get remove --purge nvidia* sudo apt-get autoremove --purge sudo reboot #..rebooting.. sudo apt-get install xserver-xorg sudo dpkg-reconfigure xserver-xorg # NB; nothing will seem to happen sudo reboot #..rebooting.. Now reinstall your favourite graphical environmnet Solution (2021) sudo apt purge nvidia* ubuntu-drivers devices # Manual option (install the one you want, start with "recommended") sudo apt install nvidia-driver-xxx # Automatic option sudo ubuntu-drivers autoinstall sudo reboot

September 5, 2014  | 

MySQL Cheatsheet

Starting mysql # Same username, no password mysql -p # Password protected mysql -u user mysql -h hostname Create user CREATE USER me GRANT ALL PRIVILEGES ON database_name.* TO 'me'@'%'; ALTER USER 'me'@'%' IDENTIFIED BY 'newPass'; Connect to databaes SHOW DATABASES; SHOW DATABASES LIKE 'ok%'; USE mysql; See database tables SHOW TABLES; SHOW TABLES LIKE 'ok%'; SELECT * FROM important_stuffs; Extend tables ALTER TABLE important_stuffs ADD description VARCHAR(100); ALTER TABLE important_stuffs ADD description VARCHAR(100) AFTER severity; ALTER TABLE important_stuffs ADD description VARCHAR(100) FIRST; Delete from tables SELECT * FROM important_stuffs WHERE severity="low"; DELETE FROM important_stuffs WHERE severity="low"; Insert into tables INSERT INTO important_stuffs VALUES("Wow, so important", "high"); INSERT INTO important_stuffs SET description="Wow, so important", severity="high"; Show access rights SHOW GRANTS; Change all email addresses to my (when mailserver is activated) UPDATE users SET email= CONCAT('me+', id, '@iix.se'); General log show variables like 'general_log%'; SET GLOBAL general_log = 'ON'; SET GLOBAL general_log = 'OFF'; Run query without cache SELECT SQL_NO_CACHE * from users where name like 'Ol%'; Indexes SHOW INDEX FROM users; ALTER TABLE users ADD INDEX index_name(firstName); CREATE INDEX index_name ON users(firstName); ALTER TABLE users DROP INDEX users; DROP INDEX index_name ON users; Explain/describe EXPLAIN users; DESCRIBE users; DESC users; DESC SELECT * FROM users; Profiling SET SESSION profiling = 1; SHOW PROFILES; SHOW PROFILE FOR QUERY 3; SHOW STATUS LIKE 'Last_Query_Cost'; Collation show variables like "collation_database"; SELECT SCHEMA_NAME 'database', default_character_set_name 'charset', DEFAULT_COLLATION_NAME 'collation' FROM information_schema.SCHEMATA;

Syscalls

64 bits 32 bits 16 bits 8 bits rax eax ax al rbx ebx bx bl rcx ecx cx cl rdx edx dx dl rsi esi si sil rdi edi di dil rbp ebp bp bpl rsp esp sp spl r8 r8d r8w r8b r9 r9d r9w r9b r10 r10d r10w r10b r11 r11d r11w r11b r12 r12d r12w r12b r13 r13d r13w r13b r14 r14d r14w r14b r15 r15d r15w r15b Links 64-bit syscalls 32-bit syscalls

August 29, 2014  | 

C Programming Cheatsheet

Links Full ncurses manual Apple Secure Coding C Gibberish (Decode C declarations) Some C #define tricks Cannot find stdio.h (or other headers) Install libc6-dev Case insensitive str(n)cpy #include <strings.h> int strcasecmp(const char *s1, const char *s2); int strncasecmp(const char *s1, const char *s2, size_t n); xmalloc void *xmalloc(size_t size) { void *ptr = malloc(size); if (ptr == NULL) { fprintf(stderr, "%s: Virtual memory exhausted\n", progname); abort(); } return ptr; } xrealloc void *xrealloc(void *ptr, size_t newsize) { ptr = realloc(ptr, newsize); if (ptr == NULL) { fprintf(stderr, "%s: Virtual memory exhausted\n", progname); abort(); } return ptr; } C Operator Precedence Operator - Description - Associativity () - Parentesis - Left-To-Right [] - Brackets . - Object member -> - Object member -- ++ - Postfix increment/decrement -- ++ - Prefix increment/decrement - Right-To-Left - + - Unary plus/minus ! ~ - Logic negation/complement (type) - Cast * - Dereference & - Address sizeof - Get typesize * / % - Multiply/Divide/Modulo - Left-To-Right + - - Addition/Subtraction << >> - Bitwise shift < <= - Relation less/less or equal > >= - Relation more/more or equal == != - Relation (not) equal & - Bitwise AND ^ - Bitwise XOR | - Bitwise OR && - Logical AND || - Logical OR ?: - Ternary - Right-To-Left = - Assignment += -= - Add/Sub assignment *= /= - Mult/Div assignment %= &= - Modulo / Bitwise AND assignment ^= |= - Bitwise (X)OR <<= >>= - BITWISE SHL / SHR ASSIGNMENT

August 28, 2014  | 

Example SSH Config (.ssh/config)

To make it easier to ssh (and enable autocomplete), create a ~/.ssh/config like this: Host * SendEnv LANG LC_* HashKnownHosts yes GSSAPIAuthentication yes PreferredAuthentications publickey,password IdentityFile ~/.ssh/id_rsa ServerAliveInterval 60 Compression yes CompressionLevel 4 Host github Hostname github.com User git and you will always use user git when you ssh to github

August 28, 2014  |  🏷️Ssh

SSH Agent

If you has a rsa-key and don’t want to write in your credentials every time you ssh, you can use ssh-agent instead. Add this to your .bash_profile (or make it a standalone script you execute once at startup) SSHAGENT=$(command -v ssh-agent) SSHAGENTARGS="-s" if ! pgrep -xu $USER ssh-agent &>/dev/null; then if [[ -z "$SSH_AUTH_SOCK" && -x "$SSHAGENT" ]]; then eval "$($SSHAGENT $SSHAGENTARGS)" trap "kill $SSH_AGENT_PID" 0 fi fi Then you add you credentials once by typing ssh-add (which will add ~/.ssh/id_rsa, you can also add others) and write in your password. Now ssh-agent will automatically provide the password for you for the duration of the session. ...

August 28, 2014  |  🏷️Ssh

Sokoban Game

A small game I made in class

Crosh / HTerm

Go to nassh_preferences_editor.html under chrome extensions Change send-encoding from utf-8 to raw